随着网络规模的扩大,需要通过3层设备来隔离不同的广播域,一般一个广播域一个网段,因此出现了访问远程设备会经过不同的网段,可以到达的路径也多种。因此需要进行路径选择。
路由器依据路由表进行报文的转发,路由表中包含多个路由条目,每个路由条目都有6元组:
六元组中Protocol用来表示路由的学习方式:
1、直连路由:路由设备配置了IP地址之后,根据IP地址自动生成的路由条目。表示该目的网络直接连接在路由器上的。
2、静态路由:通过手工配置的路由条目,手工指定目的网络和掩码、出接口、下一跳。
3、动态路由:通过路由协议动态学习路由条目,比如OSPF(开放式最短路径优先)。
常见协议的路由优先级:直连默认0,静态默认60,OSPF域内默认10,OSPF域外路由默认150。
路由器学习到不同的目的网络的多条路由:直接加入路由表,不比较优先级
路由器学习到相同的目的网络的多条路由:
路由条目中的目的地址及掩码与数据报文中的目的IP地址进行比较,路由条目按照掩码的长度要求目的IP地址的前多个比特位与路由条目的目的网络必须要相同,如果相同,则匹配该条路由条目,如果不同,则不匹配。
例如:数据报文的目地IP地址192.168.10.1。
路由表中存在三条路由条目,均已生效:
192.168.0.0/16???? G0/0/0?? 10.0.12.1?? //该条目要求目的IP前16位与自己相同
192.168.10.0/24???? G0/0/1? 10.0.12.2?? //该条目要求目的IP前24位与自己相同
192.168.10.128/25? G0/0/2? 10.0.12.3??? //该条目要求目的IP前25要与自己相同。
只有第一条和第二条可以匹配,选择最长掩码的第二条指导报文转发。
优先级和最长掩码匹配原则的区别:
缺省路由0.0.0.0/0 又叫做默认路由,可以是静态的,也可以是动态的。主要用于园区网出口设备,匹配互联网中的所有目的地址。
路由条目的下一跳必须可达,如果不可达,在路由不会生效:
从同一个路由协议(静态,直连,动态)学习相同目的地的多条路由,优先级相同,开销相同,则多条路由同时生效,形成等价路由。
从不同的路由协议,或者是相同的路由协议学习到多条路由,最终比较优先级和开销,仅将最优的加入到路由表中,次优的路由作为备份路由,当主路由失效,备份路由就生效,用于指导报文转发。
无类域间路由:将代表小范围的多条路由汇总成一条范围更大的路由,用于指导报文转发。例如:
192.168.00000000.0/24????????? //192.168.0.0/24
192.168.00000001.0/24????????? //192.168.1.0/24
192.168.00000010.0/24????????? //192.168.2.0/24
192.168.00000011.0/24????????? //192.168.3.0/24
192.168.00000100.0/24????????? //192.168.4.0/24
192.168.00000000.0/21????????? //汇总路由
汇总时仅需要将掩码向前推三位,并将主机位修改为0,得到汇总路由192.168.0.0/21
汇总路由不仅包含以上5条路由,还包含了以下路由,访问以下目的地址将按照汇总路由转发。
192.168.00000101.0/24???????? //192.168.5.0/24
192.168.00000110.0/24 ????????//192.168.6.0/24
192.168.00000111.0/24???????? //192.168.7.0/24
路由汇总引发的问题:环路问题
解决方法:通过黑洞路由实现防环,在明细路由设备上配置与汇总路由相同的目的网络和掩码的路由条目,下一跳指向Null 0接口。
注意:路由黑洞,是指转发报文的路径上的设备缺少对应的路由,造成报文丢失的现象。