搜档网
当前位置:搜档网 › Classful和Classless路由协议的汇总问题

Classful和Classless路由协议的汇总问题

Classful和Classless路由协议的汇总问题
Classful协议,翻译过来应该是有类协议,而不是主类协议。其特点是不发送子网mask,在主类网络边界路由器上自动进行汇总——如何汇总?——后面会详细说明。
基于这个特点,Classful协议,或者说有类协议(不是主类协议),一般应用于相同子网,且相同mask的网络。
下面来详细说明Classful协议如何进行汇总。
首先,要明确一个概念——主类边界路由器。如果某个Router上配置了多个网段,其中某些网段的信息必须通过某一个特定的网段向其他Router进行通告,而这个特定的网段与其他网段分属不同的主类网络,那么这个Router就是主类边界路由器。这个特定网段,就是其他网段的出口网段。
Classful协议在主类边界路由器上自动汇总——如何汇总?——分以下几种情况:
1)对于相同主类网络的子网,如果mask与出口网段的mask相同,则把该子网通过出口网段发布出去;
2)对于相同主类网络的子网,如果mask与出口网段的mask不同,则把该子网丢弃;
3)对于不同主类网络的子网,无论mask与出口网段的mask是否相同,把该网段汇总成主类网络发布出去。
光说不练,假把势。玩个实验验证一下:
R1、R2和R3三台3620路由器,R1的s1/1与R2的s1/0相连,R2的s1/1与R3的s1/0相连,拓扑如下:
(R1)s1/1 ----- s1/0(R2)s1/1 ----- s1/0(R3)
R1上的IP配置如下:
s1/1:10.0.0.1/24
loopback0:10.0.1.1/24
loop1:10.0.2.1/25
loop2:11.0.0.1/24
loop3:11.0.1.1/25
R2上的IP配置如下:
s1/0:10.0.0.2/24
s1/1:172.16.0.2/24
R3的s1/0:172.16.0.1/24
首先,在R1和R2上配置上述IP,并配置RIPv1协议:
R1(config)#router rip
R1(config-router)#netw 10.0.0.0
R1(config-router)#netw 11.0.0.0
R2(config)#router rip
R2(config-router)#netw 10.0.0.0
然后,在R2上查看路由表,显示如下:
10.0.0.0/24 is subneted, 2 subnets
C 10.0.0.0 is 直连, s1/0
R 10.0.1.0 [120/1] via 10.0.0.1, hh:mm:ss, s1/0
R 11.0.0.0/8 [120/1] via 10.0.0.1, hh:mm:ss, s1/0
可以发现,R1上loop0的10.0.1.0/24已经通过10.0.0.0/24这个出口网段发布给R2了;而loop1的10.0.2.0/25,由于mask是/25,与出口网段的/24不同,所以被丢弃,因此R2没有学习到R1上loop1的网段。(你可以把R1的s1/1和R2的s1/0的 mask都改为/25,如此一来,出现在R2路由表里的就是10.0.2.0/25,而非10.0.1.0/24)
R1上loop2的11.0.0.0/24与loop3的11.0.1.0/25,由于与出口网段分属于不同的主类网络,所以无论是/24还是/25的mask,统统被汇总成了主类网络11.0.0.0/8发布给R2。
现在,从R2上试着ping R1的各个接口,只有10.0.2.1无法ping通,因为loop1的10.0.2.0/25被丢弃了。
接下来,配置R3

的IP,并在R2和R3上继续配置RIPv1:
R2(config)#router rip
R2(config-router)#netw 172.16.0.0
R3(config)#router rip
R3(config-router)#netw 172.16.0.0
搞定后,查看R2的路由表,发现多了一条直连的172.16.0.0/24
查看R3的路由表,显示如下:
172.16.0.0/24 is subneted, 1 subnets
C 172.16.0.0 is 直连, s1/0
R 10.0.0.0/8 [120/1] via 172.16.0.1, hh:mm:ss, s1/0
R 11.0.0.0/8 [120/2] via 172.16.0.1, hh:mm:ss, s1/0
现在,把目光重新再投向R2,回忆一下R2上应该有哪些路由信息?——对!10.0.0.0/24 10.0.1.0/24 11.0.0.0/8别忘了还有172.16.0.0/24
其中172.16.0.0/24是与R3直连的网段,R2须通过该网段把它知道的其他网段的路由信息发布给R3,所以172.16.0.0/24就是其他网段路由信息通往R3的出口网段。现在不难理解R3的路由表了吧?——R2上的10.0.0.0/24和10.0.1.0/24与出口网段 172.16.0.0/24分属不同主类网络,so它们被汇总成了10.0.0.0/8——so easy !
最后在R3上Ping R1的各个接口——一切似乎很正常——等等——ping 10.0.2.1时,显示的既不是!!!!!也不是.....而是U.U.U
Why ?
这个问题不难,至少比华南虎是真是假这个问题简单多了。
如果你回答了这个问题,关于Classful的话题就可以暂告结束了,下面该琢磨琢磨Classless路由协议了。
其实有类无类协议的区别就在于是否支持VLSM(可变长子网mask)。有类的不发送mask,不支持VLSM,无类的反之。默认情况下无类协议和有类协议一样,在边界路由器上自动进行汇总;而无类协议可以关闭这个该死的自动汇总功能,改用手工方式进行汇总。(也有例外情况,例如OSPF就不自动汇总)
理论就是这么简单几句话,现在谁能告诉我,无类协议的好处是什么呢?还是继续玩个实验吧。
拓扑还是上面的拓扑,只是改一下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
然后在3台Router上配置该死的RIPv1(IGRP已经被cisco枪毙了,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血压升高了:“你大爷的,真假美猴王啊?!~你们到底谁是10.0.0.0/8?”
这就是一个不连续的子网在有类协议中的尴尬,好在我们有无类协议,还等什么呢?赶紧把RIPv1升级成v2吧。
{
下面是广告时间,别走开,稍后更精彩
RIPv2,今天你升了没有?
}
乘着广告的间隙,大家都把RIP升级到了v2了吧?怎么样?感觉很爽

吧?——上当欺骗的感觉一定很爽!此时的R2肯定和你们一样,从失望到希望,再从希望到绝望,瞧——它又抓狂了:“靠,有没有搞错?!~不是说升级到v2就可以支持VLSM了吗?我怎么还是无法区分这该死的不连续子网?借我借我一双慧眼吧……”
如果以为敲一个version 2命令就万事大吉,那就错咧~还记得我前面说的那段话了吗?(导播~回放一下)
“……默认情况下无类协议和有类协议一样,在边界路由器上自动进行汇总;而无类协议可以关闭这个该死的自动汇总功能,改用手工方式进行汇总……”
在每台Router上RIPv2进程下发布no auto-summary的命令,just do it !
当路由器配置为ip classless时路由器收到一个数据包查看目的地址的主类地址,当路由表中有与之相匹配的主类地址时则继续查看有没有相匹配的子网地址,如果有相匹配的子网条目则转发,如果没有则通过缺省路由转发,当没有相匹配的主类地址时则直接找缺省路由,如果没有缺省路由则丢弃;当配置为no ip classless时如果有相匹配的主类地址但是没有相匹配的子网地址,则不通过缺省路由转发,如果没有匹配的主类地址则通过缺省路由转发,如果没有配置缺省路由则丢弃。

相关主题