对“RIPv1有类路由的问题”的改正
在以前的blog中有篇关于“RIPv1有类路由的问题”,今天在和同学讨论的时候发现自己以前写的是片面的,并且在网上找到了正确的有关有类路由协议的文章,文章如下: 以下文章转载:思科 F5 企鹅 ![]() 接收更新时,接收接口做如下检查: 如果更新是和本接口在同一主类网络下,则用本接口的MASK作为掩码,正因为如此,RIP需要是一致的掩码,否则就套错了(如果收到的是/32的主机路由更新,则接受它). 如果更新和本接口不在同一主类下,则检查路由表是否存在这个主类下的子网: 存在,则忽略该更新. 不存在则用主类的掩码(这里需要注意下:正常情况下更新如果不是和接收接口一个主类,则发送过来的更新就应该是个汇总的主类路由,而若两个路由器之间用的是无编号接口并包含子网信息的话,接收路由器将使用/32的主机掩码匹配这个更新). ![]() 发送更新,发送接口做如下检查: 更新是否和自己是同一主类,是的话,检查该路由的掩码是否和发送接口的掩码一致: 一致则发送出去 不一致,如果更新是/32的主机路由则发送更新,否则丢弃更新. 更新如果和发送接口不在同一主类,则自动汇总为主类网络发送出去. ![]() Rtr A在发送更新包的时候,因为172.16.1.33/28与发送接口172.16.3.1/24同在一个主网络下,但是子网掩码不同,所以接口172.16.3.1/24不会向外通告172.16.1.33/28这一条路由。 ![]() Rtr A在发送更新包的时候,因为173.16.1.33/28与发送接口172.16.3.1/24不在同一个主网络下,所以接口172.16.3.1/24会通告一条173.16.0.0/16的路由。 ![]() Rtr A在发送更新包的时候,因为173.16.1.33/28与发送接口172.16.3.1/24不在同一个主网络下,所以接口172.16.3.1/24会通告一条173.16.0.0/16的路由,但Rtr B路由器在收到更新包的时候,检查自己的路由表有一条173.16.1.1/28的路由,所以Rtr B不会接收173.16.0.0/16这一条路由。 ![]() 从 上面可以看出,不连续子网下,R1先131.108.5.0/24汇总成131.108.0.0/16发送出去,接收的路由器因为接收接口和该路由条目不 是一个主类,所以查看路由器是否存在该更新的子网,由于存在,所以忽略更新,因而导致了不连续子网在RIP下无法正常更新. 解决的方法: 把路由器配置第二个IP地址,使其成为一个连继的子网。 在两边使用默认路 更多CISCO-CASE Why Don't RIPv1 and IGRP Support Variable-Length Subnet Mask?http://www.cisco.com/en/US/tech/tk364/technologies_tech_note09186a0080093f1e.shtml Don't RIPv1 and IGRP Support Variable-Length Subnet Mask? |









loveme23
博客统计信息
热门文章
最新评论
友情链接