拓扑结构:
实验步骤:
①划分网段
②配置接口ip
③启动rip进程:
rip的配置(以R1为例):
rip 1 //启动rip进程1
version 1 //选择rip版本v1
network 192.168.1.0 //宣告网段,必须按照主类宣告
network 10.0.0.0
④ping测试连通性
PC>ping 192.168.2.254
Ping 192.168.2.254: 32 data bytes, Press Ctrl_C to break
From 192.168.2.254: bytes=32 seq=1 ttl=125 time=94 ms
From 192.168.2.254: bytes=32 seq=2 ttl=125 time=78 ms
From 192.168.2.254: bytes=32 seq=3 ttl=125 time=94 ms
From 192.168.2.254: bytes=32 seq=4 ttl=125 time=78 ms
From 192.168.2.254: bytes=32 seq=5 ttl=125 time=94 ms
--- 192.168.2.254 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 78/87/94 ms
验证触发更新 :
触发更新的原理:当网络拓扑结构发生变化时,第一时间将变化信息发送出去。
正常情况下,R2的路由表:
<r2>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.13.0/24 RIP 100 1 D 10.0.23.3 GigabitEthernet
0/0/2
10.0.23.0/24 Direct 0 0 D 10.0.23.2 GigabitEthernet
0/0/2
10.0.23.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/2
10.0.23.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/2
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 RIP 100 2 D 10.0.23.3 GigabitEthernet
0/0/2
192.168.2.0/24 Direct 0 0 D 192.168.2.2 GigabitEthernet
0/0/0
192.168.2.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.2.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
将R3的0/0/1口断掉后R2的路由表:
<r2>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.23.0/24 Direct 0 0 D 10.0.23.2 GigabitEthernet
0/0/2
10.0.23.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/2
10.0.23.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/2
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.2.0/24 Direct 0 0 D 192.168.2.2 GigabitEthernet
0/0/0
192.168.2.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
192.168.2.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
10.0.13.0和192.168.1.0网段直接消失 ,已经触发更新。
那如果断开的是R1的0/0/1口呢?
我们会发现,如果断开的是R1的0/0/1口,R2中的两条RIP路由并不会立刻消失,而是在180s的无效计时器生效后,192.168.1.0网段消失,因为R1和R3之间有一台交换机,两个端口并不是直连的,所以10.0.13.0网段也不会消失。
验证水平分割:
水平分割的原理:从某个接口得到的信息,不会从这个接口发出去。
华为设备默认是开启水平分割的
在R1上输入(<>模式下):
debugging rip 1 send g 0/0/1
terminal monitor
terminal debugging
监听R1的0/0/1端口可以看到:
<r1>
Jun 13 2022 17:47:35.878.1-08:00 r1 RIP/7/DBG: 6: 13456: RIP 1: Sending response
on interface GigabitEthernet0/0/1 from 10.0.13.1 to 255.255.255.255
<r1>
Jun 13 2022 17:47:35.878.2-08:00 r1 RIP/7/DBG: 6: 13476: Packet: Version 1, Cmd
response, Length 24
<r1>
Jun 13 2022 17:47:35.878.3-08:00 r1 RIP/7/DBG: 6: 13527: Dest 192.168.1.0, Cost
1
它只会把192.168.1.0发送出去,因为其他的网段都是它从这个接口学到的,它不会把学到的东西再发出去。
关闭监听的命令:
undo debugging all
验证毒性逆转:
毒性逆转的原理:从某个接口得到的信息,从这个接口发出去时带毒(cost = 16)
华为设备在水平分割和毒性逆转都开启的情况下会执行毒性逆转。
那我们直接在R1和R3的0/0/1口开启毒性逆转
int g 0/0/1
rip poison-reverse
然后再次监听0/0/1端口
<r1>
Jun 13 2022 19:21:12.48.1-08:00 r1 RIP/7/DBG: 6: 13456: RIP 1: Sending response
on interface GigabitEthernet0/0/1 from 10.0.13.1 to 255.255.255.255
<r1>
Jun 13 2022 19:21:12.48.2-08:00 r1 RIP/7/DBG: 6: 13476: Packet: Version 1, Cmd r
esponse, Length 64
<r1>
Jun 13 2022 19:21:12.48.3-08:00 r1 RIP/7/DBG: 6: 13527: Dest 10.0.23.0, Cost 16
<r1>
Jun 13 2022 19:21:12.48.4-08:00 r1 RIP/7/DBG: 6: 13527: Dest 192.168.1.0, Cost 1
<r1>
Jun 13 2022 19:21:12.48.5-08:00 r1 RIP/7/DBG: 6: 13527: Dest 192.168.2.0, Cost 1
6
我们会发现10.0.23.0和192.168.2.0网段它也会转发出去,但是这两个网段的cost值都为16