书接前文,上回书咱们说道,我前两天做了个关于有类路由协议和无类路由协议的实验,链接如下:
Classful和Classless路由协议的汇总问题 昨天又遇到个新问题,拓扑依然沿用上面的,只在IP上做些改动。 R1上的IP配置如下: s1/1:172.16.1.1/24 loopback0:10.0.1.1/24 R2上的配置如下: s1/0:172.16.1.2/24 s1/1:172.16.0.2/24 R3上的IP配置如下: s1/0:172.16.0.1/24 loopback0:10.0.2.1/24 配置完每个Router每个接口的IP后,在3台Router上配置RIPv1,由于R1上loop0的10.0.1.0/24与出口网段172.16.1.0/24分属不同主类网络,所以被自动汇总成10.0.0.0/8发布给R2,而R3上loop0的10.0.2.0/24也同理被自动汇总成了10.0.0.0/8发给了R2 查看R2的路由表,如下: 172.16.0.0/24 is subnetted, 2 subnets C 172.16.0.0 is directly connected, Serial1/1 C 172.16.1.0 is directly connected, Serial1/0 R 10.0.0.0/8 [120/1] via 172.16.1.1, hh:mm:ss, Serial1/0 [120/1] via 172.16.0.1, hh:mm:ss, Serial1/1 R2血压升高了:“你大爷的,真假美猴王啊?!~你们到底谁是10.0.0.0/8?” 现在,在R2上增加一个loopback0,IP:10.0.3.1/24,再查看R2的路由表,如下: 172.16.0.0/24 is subnetted, 2 subnets C 172.16.0.0 is directly connected, Serial1/1 C 172.16.1.0 is directly connected, Serial1/0 10.0.0.0/24 is subnetted, 1 subnets C 10.0.3.0 is directly connected, Loopback0 可以得出这样一个结论:Router通过有类路由协议学习到一些网段的路由信息,如果该Router本身没有与这些网段相同主类网络的子网,那么,这些路由信息将被放入该Router的路由表中;如果该Router直连了与这些网段相同主类网络的子网,那么凡是与直连子网mask不同的网段将被丢弃,哪怕这些网段是主类网络。 因为,有类协议不发送mask,每个Router只承认本身直连子网的mask,遇到别的mask,哪怕是主类mask,都不接受。 所以,当R2上没有配置loop0:10.0.3.1/24时,R2可以把左右2边汇总来的10.0.0.0/8都放进自己的路由表;一旦R2发现自己已经直连了一个子网10.0.3.0/24,R2就认为这个拓扑中,主类网络10.0.0.0/8已经被划分子网,而且该主类网络的所有子网mask都是/24,该主类网络的子网,凡不以/24为mask的,都被丢弃。他自言自语道:“看完《色戒》,知道女人不可靠;看完《苹果》,发现男人不可靠;看完《投名状》,觉得兄弟也不可靠,看完《集结号》,原来组织更不可靠。我虽然叫R2,但我一点也不‘二’,我只相信自己,老大和老三你们想忽悠我——没门!” 接下来,把RIPv1升级到v2,再查看R2的路由表,如下: 172.16.0.0/24 is subnetted, 2 subnets C 172.16.0.0 is directly connected, Serial1/1 C 172.16.1.0 is directly connected, Serial1/0 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.0.3.0/24 is directly connected, Loopback0 R 10.0.0.0/8 [120/1] via 172.16.1.1, hh:mm:ss, Serial1/0 [120/1] via 172.16.0.1, hh:mm:ss, Serial1/1 很明显,RIPv2发送mask,支持VLSM,所以10.0.3.0/24和10.0.0.0/8都被放进了路由表。只不过默认情况下RIPv2和EIGRP都开启了自动汇总,所以R2还是被左右2边的汇总来10.0.0.0/8忽悠得晕头转向,他就像夹在本山大叔和高秀敏中间的范伟一样:“我就纳闷了~怎么升级到v2后,我还是整不清左右两边汇来的,到底是什么玩意儿呢?” 当no auto-summary之后,真相就水落石出了: 172.16.0.0/24 is subnetted, 2 subnets C 172.16.0.0 is directly connected, Serial1/1 C 172.16.1.0 is directly connected, Serial1/0 10.0.0.0/24 is subnetted, 3 subnets R 10.0.2.0 [120/1] via 172.16.0.1, hh:mm:ss, Serial1/1 C 10.0.3.0 is directly connected, Loopback0 R 10.0.1.0 [120/1] via 172.16.1.1, hh:mm:ss, Serial1/0 |