路由器的接口收到一条路由更新,查看这条路路由条目是和本接口的路由是不是属于同一个主类网络若是同一个诸主类网络,则用本地接

实验拓扑:

wKioL1QRp6DQ01umAADRRTiCeRI854.jpg


口的子网掩码作为学到的路由条目的子网掩码,如果学到的路由条目和本地接口的路由不是属于同一个主类网络的话。则判断学到的那条路由是属于哪一个主类路由A<B C 类 属于A则用A类的子网掩码作为该条路由的子网掩码


spacer.gifspacer.gifspacer.gif

实验现象分析:

spacer.gif

查看R4的路由表:

spacer.gifwKiom1QRp5HDm_bcAADkzn2ZToQ508.jpg

问题:  R4为什么没有学到172.16.2.0/24 和 172.16.1.0/24的网络呢?

原因:观察R3 的两个接口地址

spacer.gif

F0/0是/24 的网络 F0/1是/25的网络 

RIPv1不会把左边连接和学到的路由条目(这些路由条目是和F0/1的ip地址是属于同一个主类网络。本例中都是B类网络)从/25的接口通告出去,

原因是:若将这样的路由条目从F0/1通告出去的话,R4收到路由更新消息的时候,查看这些B类网络发现我自的F0/1属于同一个主类172.16.0.0 于是就把自己接口的/25作为R3通告过来的路由条目(172.16.1.0 172.16.2.0)的子网掩码,于是R4中学到的路由是 172.16.2.0/25 和172.16.1.0/25 而实际中这样的网络不存在,也就是说R4学到的路由条目是错误的,因此Ripv1为了避免这样的错误出现,就直接不把R3f0/0口的/24网络从R3的f0/1 /25通告出去,但是这里有一个前提是R3的f0/0 和f0/1是要在同一个主类网络中,172.16.0.0本例。ripv1.pkt

同样地,R3也不会把右边的/25的网络路由信息他on通告给R2 

再看R4学到了R2上的C类/24的网络,这是因为这些192.168.1.0 192.168.10.0 网络和R3d的接口所在的网络不是同一个主类网络,因此R3会把这些路由消息通告给R4,

最后看,R4学到了R3上的l0 172.16.10.0/25

这是因为R3的f0/1是/25 接口,因此会把子网掩码相同的虽然属于同一个主类网络B类网络的路由信息通告给R4 ,因为R4查看找条路由消息的时候发现是和本地接口属于同一个主类网络就会用自己的接口的/25作为 172.16.10.0网络的子网掩码,而172.16.10.0本来就是/25的网络,所以不会发生前面所说的错误。