首先我画出如下的拓扑图。 此时给各接口配的地址为: RT1 G0/0/0 172.16.1.1/24 G0/0/3
172.17.1.1/24 G0/0/1 172.17.2.1/24 ; RT2 G0/0/1 172.17.2.2/24 .
然后在两个路由器的g0/0/1接口上分别启rip,在RT1上敲入net 172.16.1.0 24和net 172.17.1.0 24 后 查看RT2的路由表,会出现rip的怎样的路由,会不会是172.16.1.0/24 rip和172.17.1.0/24这两条呢 我们看看。
我们看到表中有的确有两条rip路由,但第一条和我预期的172.16.1.0/24并不一样,变成了172.16.0.0/16 ,这就涉及rip的收发准则:当此接口地址的主网地址与发送端主网地址不相同时,则子网要汇聚成主网地址再发送。 172.16.1.0/24所在主网地址为172.16.0.0/16,而发送端主网地址为172.17.0.0/16,172.16.1.0/24要汇聚成172.16.0.0/16再发送。
这时我试着讲RT1的g0/0/1地址改为172.17.2.1/25 ,与之前相比 ,只是把掩码改成了25,那么这样路由表又会是怎样的。
好的,我看到路由表里只剩下了172.16.0.0/16这一条rip路由,那么之前那条去哪里了? rip收发准则里,有此接口主网地址与发送端主网地址相同,但是子网掩码长度不同,则不予发送,长度相同,则给予发送。 我之前将RT1的个g0/0/1地址掩码改为25,RT1g0/0/3的地址主网与发送端g0/0/1相同,但掩码为24,掩码长度不同,则不予发送,所以RT2路由表中就只有那一条rip路由。
现在将刚才修改的掩码恢复为24,同时把RT2的g0/0/1地址掩码改为28,我们再看看RT2路由表。
明显的看到与之前相比多了一条172.17.1.0/28的rip路由,因为当与接收接口同主网地址的路由条目发送来时,若与接收口掩码长度不同,则改为接收口相同的掩码长度,再接收。 由RT1发送来的172.17.1.0的24位掩码与接收口地址28位掩码长度不同,则要改为28位再接收,所以路由表上出现的是掩码为28位。
在此基础上,我将RT2的g0/0/0接口配上地址172.16.2.1/24,同样的我再来查看路由表:
这次又只剩下了一条rip路由,不过这次消失的是172.16.0.0/16,原因是如果收到的路由条目和接收接口IP地址不在同一个主网并且自己的路由表中没有同一主网的子网,那么RIP协议就接收这条路由,如果自己的路由表里有同一主网的子网,那么就不接收。可以看到表中有172.16.2.1/32的路由,所以当对方172.16.0.0/16的路由条目发送来时,不予接收,路由表中就不会出现这条目。
rip的收发机制总结:
发:1当此接口地址的主网地址与发送端主网地址不相同时,则子网要汇聚成主网地址再发送。
2.此接口主网地址与发送端主网地址相同,但是子网掩码长度不同,则不予发送,长度相同,则给予发送。
收:1.当与接收接口同主网地址的路由条目发送来时,若与接收口掩码长度不同,则改为接收口相同的掩码长度,再接收。
2.如果收到的路由条目和接收接口IP地址不在同一个主网并且自己的路由表中没有同一主网的子网,那么RIP协议就接收这条路由,如果自己的路由表里有同一主网的子网,那么就不接收。
原文地址:http://9465686.blog.51cto.com/9455686/1561196