当前位置: 首页 > 网络技术 > 正文

是什么让RIPv1不支持不连续的子网和VLSM

众所周知,RIP v1是有类路由协议,不支持vlsm 和CIDR,并且RIP v1不支持不连续的子网,
首先来说的是RIP V1不支持不连续的子网,这里假设一:

  • 两个子网掩码相同的网段被另外一个主类网络分割,如图:

路由拓扑1
如图。192.168.1.129 /26 和192.168.1.65 被 12.1.1.0/24的主类网络隔断,并且12和192.168是不同的主类网络,
那么RIP v1不支持,

  • 失败原因如下 :
  • 对于RIP v1:在主类网络边界自动汇总,汇总为 192.168.1.64 但是因为RIP v1是有类路由协议,那么在发送时不带子网掩码,那么R2在接收的时候因为12和192为不同主类网络,有类路由协议当遇到没有携带子网掩码的路由时,如果接收端口主类网络和接受的路由不同的话,那么默认是设定接收路由的子网掩码为默认的主类网络的子网掩码,但是R2发现他已经有了一条同一个主类网络的直连路由,(尽管子网掩码不是主类网络的默认子网掩码,如果是主类网络的子网掩码的话,直接丢弃,因为直连的最可信)因此R2不接受学习RVP通告过来的这个主类网络,因此,R2无法学习到对方的路由
    如果将R2的环回端口禁用,R2将会学习一条192.168.1.0/24的RIP路由:
    关闭前:

         12.0.0.0/24 is subnetted, 1 subnets
    C       12.1.1.0 is directly connected, FastEthernet0/0
         192.168.1.0/26 is subnetted, 1 subnets
    C       192.168.1.128 is directly connected, Loopback0

     关闭环回端口后:

         12.0.0.0/24 is subnetted, 1 subnets
    C       12.1.1.0 is directly connected, FastEthernet0/0
    R    192.168.1.0/24 [120/1] via 12.1.1.1, 00:00:03, FastEthernet0/0
  • 对于RIP V2:

因为rip v2是无类路由协议,在更新是携带子网掩码,由于RIP V2也会在主类网络边界自动汇总的原因,192.168.1.64会被自动汇总为主类网也就是 192.168.1.0网段:

  • 在R2接收到时,由于有子网掩码,R2将 192.168.1.0/24路由安装到路由表中
R       192.168.1.0/24 [120/1] via 12.1.1.1, 00:00:10, FastEthernet0/0
  • 如果关闭RIP V2的自动汇总,那么R2将接收到的是/26的路由:
     192.168.1.0/26 is subnetted, 2 subnets
R       192.168.1.0 [120/1] via 12.1.1.1, 00:00:13, FastEthernet0/0
  • 失败的真正原因:
  • 不是RIP v1的在主类网络边界自动汇总的原因RIPV2以及其他的无类路由协议也会在主类网络边界自动汇总,但是:

RIPv1在主类网络边界的自动汇总不可关闭,RIPV2,EIGRP等无类路由协议可以关闭自动汇总
而是RIPv1在自动汇总后,却不带子网掩码,然而RIPV2和其他无类路由协议却带了,这样他们就没事,但是RIPv1不带就导致了接收方在接受端口的主类网络和接收的路由的主类网络不同时而不是知道路由的子网掩码,这样就不能安装成功

  • 那么如果被同一个主类网络隔断呢?(但是子网掩码不相同,这里其实也就是RIP V1不支持vlsm了)如图:

路由拓扑2

  • 如图所示:

如果是RIPV1:R1在发送192.168.1.64这条路由条目的时候,发现送出端口的和要发送的路由的主类网络是一样的(前面的情况就是不一样的例子),那么他不汇总了,但是当他发现送出端口所在的网络的子网掩码和要送出路由的子网掩码不一样时,RIPv1拒绝发送不一致的主类网络路由更新,也就是R1没有发出任何一条不一致的主类网络路由更新。那么R2自然就学不到了
如果是RIPV2:RIPV2也不会汇总,也就是RIPV2等无类路由协议在非主类网络的边界也不会自动汇总(RIP V1同样不会)
前面和RIPv1类似,但是RIP V2因为更新时携带子网掩码,那么R1就会发送路由条目,尽管送出端口和要送的路由的子网掩码不同,但是RipV2携带子网掩码

  • 成功原因:
  • 不是RIPV1在非主类网络边界不自动汇总RIPV2等无类路由协议在非主类网络的边界也不会自动汇总
  • 而是RIP V1不携带子网掩码,因此RIPV1拒绝不一致的主类网络路由更新,但是RIPV2携带子网掩码,那么RIPV2就不拒绝不一致的主类网络路由更新
  • 如果主类网络相同,并且子网掩码相同呢?如图:

路由拓扑3
如图,R1送出路由时,发现送出端口和送出路由是同一个主类网络,然后又发现子网掩码也是相同的,那么R1就发送了路由,那么R2上面安装的是什么路由呢?

     192.168.1.0/26 is subnetted, 3 subnets
R       192.168.1.0 [120/1] via 192.168.1.65, 00:00:18, FastEthernet0/0

那么为什么R2可以学习到R1的路由呢?也就是正常的学习到了对方的路由?
成功的原因:
对于RIP V1:R1送出路由时,发现送出端口和送出路由是同一个主类网络,然后又发现子网掩码也是相同的,那么R1就发送了路由,然后又发现子网掩码也是相同的,那么R1就发送了路由,对于R2,在有类路由协议中,如果从一个接口接收到同一个主类网络的子网路由,并且这个路由没有携带子网掩码,那么路由器认为这个接收的路由的子网掩码就是接收端口的子网掩码 ,R2路由器就将学到的路由条目安装到路由表,而子网掩码就是接收端口的子网掩码

对于RIPV2:因为RIP V2携带子网掩码,那么就谈不上前面的那些了

总结:要想RIPV1成功学习,那么必须满足两个条件:
1.全部的主类网络相同(传送路由的接口和要传送的路由) ,例子就是不相同的结果
2.主类网络相同的前提下,子网掩码还必须相同 (传送路由的接口和要传送的路由),例子二就是不相同的接口
两者都满足了,那么就是例子三了,RIPV1成功学习

总结下:

  • 有类路由协议:

1.如果发送的路由和发送接口主类网络不相同,主类网络边界自动汇总,相同就是非主类网络边界不会自动汇总
2.如果主类网络相同,但是子网掩码不同,不发送不一致的主类网络路由更新
3.如果主类网络相同,子网掩码相同,发送不带子网掩码的主类网络更新
4.如果接受端口的主类网络接收路由不是同一个主类网络,如果接收到没有子网掩码的路由
默认设定接受的路由的子网掩码为默认的主类网络的子网掩码
5.如果不再同一个主类网络,并且将接收到的子网掩码路由默认设定为默认的主类网络子网掩码后,发现已经有一条同样主类网络的的路由(不论子网掩码是否为主类网络的默认子网掩码,)路由器丢弃这条路由,否则安装这条默认主类网络掩码的路由
5.如果接受端口主类网络和接收路由是同一个主类网络,并且未携带子网掩码,那么就以就收端口的子网掩码来代替
伪流程图如下:

//有类路由协议的发送流程图

if(是相同主类网络){				//发送的路由和送出端口所在主类网络
	if(子网掩码相同){

	    非主类网络边界不自动汇,并总发送不带子网掩码的路由
	}
	else{						//子网掩码不相同

	不发送不一致的主类网络路由更新
	}
}
else{							//不是相同主类网络
	主类网络边界自动汇总 ,汇总为不带子网掩码的主类网络路由
}

//有类路由协议的接受过程
if(相同的主类网络){				//相同主类网络
	默认将接受端口的子网掩码作为接收路由的子网掩码
		if(是目标网络的唯一或者是最好路由){
			安装路由到路由表
	}

}
else{							//不同的主类网络
  默认以接受路由的主类网络的默认的子网掩码作为接收路由的子网掩码
	  if(存在相同的主类网络的路由){ //不论存在的路由是不是主类网络的子网掩码
			抛弃路由
	  }
	  else{						//没有相同的主类网络的路由
			以默认的主类网络的子网掩码安装接收到的路由
	  }

}
  • 无类路由协议:

1.如果发送的路由和发送接口主类网络不相同,主类网络边界自动汇总,相同就是非主类网络边界不会自动汇总
2.如果主类网络相同,不管子网掩码相不相同,照样发送,因为携带了子网掩码
3.后面的因为携带了子网掩码,路由器接收到的路由带有子网掩码,不管接收到的路由和接受端口在不在同一个主类网络,子网掩码相同,因为网络号和子网掩码不可能同时相同,所以路由器直接安装路由



本文固定链接: http://kuaile.in/archives/603 | 蒲公英的博客

该日志由 蒲公英 于2012年03月11日发表在 网络技术 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 是什么让RIPv1不支持不连续的子网和VLSM | 蒲公英的博客
关键字:

是什么让RIPv1不支持不连续的子网和VLSM:等您坐沙发呢!

发表评论


You must enable javascript to see captcha here!

快捷键:Ctrl+Enter