静态路由
路由器不像交换机,新的路由器必须配好IP和路由才能使用,先如下图配好路由器各端口和环回口IP:
提供一下R1的配置命令(R2和R3同样配置即可)
配好IP地址后,来试试ping:
可见路由器光配置好IP地址是不够的,还需要配置路由,否则只能ping通直连的端口:
上面讲到路由条目的基本信息是:前缀,掩码,下一跳,AD,度量。先暂时忽略AD和度量,R1要ping通R2的环回口的话需要设置:22.1.1.0(前缀) 255.255.255.0(掩码)12.1.1.2(下一跳),全部配置如下:
(类似地配置R2和R3路由器的IP和路由)现在可以两两ping通了。
静态汇总路由
上面静态路由的配置例子中,要实现两两ping通,需要设8条路由(R1和R3各三条,R2两条),现在为R2增加两个环回口:loopback1:22.1.0.1/24,loopback2:22.1.2.3/24,均和原先的loopback0:22.1.1.1/24处于不同网段:
要让R1和R3 ping通R2上新增的两个环回口需要各自增加2条指向环回口的新路由,很麻烦,可以配一条汇总路由:
负载均衡:
(基本配置请参照上面,不再赘述)为R2配置两条通往R1环回口的路由,分别从R2的f0/0口和f1/0口出去
配完之后,如图中红色箭头所示,R2有两条路径可以访问R1,两条路径有相同的前缀(均为11.1.1.0),相同的掩码(255.255.255.0),相同的AD值(静态路由均为1),区别仅仅是下一跳不同(从R2的f0/0口出去的下一跳是12.1.1.1/24,从R2的f1/0口出的下一跳是23.1.1.3/24)。路由器无法通过最长匹配原则选择出最优路径,以路由器的视角来看,两条路径是等优的,因此通过负载均衡来平衡带宽:在R2上ping 11.1.1.1:
浮动静态路由:
路由图仍旧参照上图,除IP地址外,可以将无关的路由去掉
在前缀和掩码相同时,AD值小的才会加入路由表。如上例仅AD值不同时,AD值小的那条路由才被加入路由表供路由器使用。但AD值大的那条路由并非被丢弃了,而是沉入水中,等待时机,一旦路由表中的那条路由出问题不能用了,才浮出水面被加入进路由表。因此叫浮动静态路由很形象。
黑洞路由:
主要是指指向null接口的路由,null接口是一个虚拟的接口无法被配置ip地址,转发到该接口上的数据包都会被丢掉,所以对于所有可能因为中断故障产生路由回路的路由都加上一条黑洞路由。例如在配置有默认路由的环境中如果该路由器中的某一个路由项因为故障中断,那么很可能在两个路由器中造成路由环路。
路由黑洞:
路由黑洞一般是在网络边界做汇总回程路由的时候产生的一种不太愿意出现的现象,就是汇总的时候有时会有一些网段并不在内网中存在,但是又包含在汇总后的网段中,如果在这个汇总的边界设备上同时还配置了缺省路由,就可能出现一些问题。这时,如果有数据包发向那些不在内网出现的网段(但是又包含在汇总网段)所在的路由器,根据最长匹配原则,并没有找到对应的路由,只能根据默认路由又回到原来的路由器,这就形成了环路,直到TTL值超时,丢弃。
一、实验目的:
1.通过制造断路来实现路由传输中的环路现象
2.通过正确应用黑洞路由可以消除环路
二、拓扑结构:
三、实验步骤:
①配置R1,R2,R3,R4及loopback口
R1:
interface Ethernet0/0/0 ip address 13.1.1.1 255.255.255.0
interface LoopBack0 ip address 10.1.1.1 255.255.255.0
ip route-static 10.1.0.0 255.255.0.0 13.1.1.3 ip route-static 34.1.1.0 255.255.255.0 13.1.1.3
R2:
interface Ethernet0/0/0 ip address 23.1.1.2 255.255.255.0 interface LoopBack0 ip address 10.1.2.1 255.255.255.0
ip route-static 10.1.0.0 255.255.0.0 23.1.1.1 ip route-static 34.1.1.0 255.255.255.0 23.1.1.1
R3:
interface Ethernet0/0/1 ip address 34.1.1.3 255.255.255.0
interface GigabitEthernet0/0/0 ip address 23.1.1.3 255.255.255.0
ip route-static 0.0.0.0 0.0.0.0 34.1.1.4 ip route-static 10.1.0.0 255.255.255.0 34.1.1.4 ip route-static 10.1.1.0 255.255.255.0 13.1.1.1 ip route-static 10.1.2.0 255.255.255.0 23.1.1.2
R4:
interface Ethernet0/0/0 ip address 34.1.1.4 255.255.255.0 interface LoopBack0 ip address 10.1.0.1 255.255.0.0
②断开R2和R3之间的连接线,用R4 路由跟踪R2
[r3-GigabitEthernet0/0/0]shutdown
<r4>tracert -a 10.1.0.1 10.1.2.1
traceroute to 10.1.2.1(10.1.2.1), max hops: 30 ,packet length: 40,press CTRL_C to break
1 34.1.1.3 30 ms 30 ms 50 ms
2 34.1.1.4 30 ms 20 ms 40 ms
3 34.1.1.3 50 ms 60 ms 80 ms
4 34.1.1.4 80 ms 60 ms 60 ms
5 34.1.1.3 100 ms 80 ms 90 ms
R3断之前的路由表:
R3断之后的路由器表:
R4路由表:
在R3的接口断开之后,当R4上ping 10.1.2.1,R4上会根据第四条路由去R3,到R3后查询第二条路由表之后是到R4的,如此循环往复就出现了环路
wireshark抓包结果:
tracert结果
ping的结果:
ping 5个包,但是wireshark抓包抓取了1280个包。
③构建静态黑洞路由后结果:
[r3]ip route-static 10.1.0.0 16 NULL 0
<r4>tracert -a 10.1.0.1 10.1.2.1
traceroute to 10.1.2.1(10.1.2.1), max hops: 30 ,packet length: 40,press CTRL_C to break
1 * * *
2 * * *
添加路由黑洞后wireshark抓包:
ping 5个包,抓包也只能抓5个包
但是要注意:黑洞路由相当于是出现故障情况下的备用路由,所以可以把该条静态黑洞路由的优先级设置低一点(值大一点)
但是有同学担心一旦R2和R3的断了的接口恢复了,发往10.1.0.0/16的报文再匹配黑洞路由,那么报文会被丢弃,其实不用担心,因为黑洞路由的掩码比R2上的网段的路由掩码要短(直连路由,更优)。