子网划分为什么全0全1子网号不能使用?CIDR为什么能使用全0全1子网号?

1.子网划分为什么全0全1子网号不能使用?

看看RFC950提到的原因:
假设我们有一个网络:192.168.0.0/24,我们现在需要两个子网,那么按照RFC950,应该使用使用两位子网号,即/26,得到两个可以使用的子网192.168.0.64/26和192.168.0.128/26
对于主网络192.168.0.0/24,网络地址是192.168.0.0,广播地址是192.168.0.255
对于子网192.168.0.0/26(子网号全0),网络地址是192.168.0.0,广播地址是192.168.0.63
对于子网192.168.0.64/26,网络地址是192.168.0.64,广播地址是192.168.0.127
对于子网192.168.0.128/26,网络地址是192.168.0.128,广播地址是192.168.0.191
对于子网192.168.0.192/26(子网号全1),网络地址是192.168.0.192,广播地址是192.168.0.255

  可以看出,对于第一个子网,网络地址和主网络的网络地址是重叠的,对于最后一个子网,广播地址和主网络的广播地址也是重叠的。这样的重叠将导致极大的混乱。比如,一个发往192.168.0.255的广播是发给主网络的还是子网的?这就是为什么在当时不建议使用全0和全1子网。

2.CIDR为什么能使用全0全1子网号?

  在严格按照TCP/IP A.B.C.D给IP地址分类的环境下,为了避免二意性,全0和全1网段都不能使用。这种环境叫作Classful。在这种环境下,子网掩码只在所定义的路由器内有效,掩码信息到不了其它路由器。例如RIP-1在做路由广播时便不带掩码信息,收到路由广播的路由器因为无从知道这个网络的掩码,只能按照标准TCP/IP的定义赋予它一个掩码。
  但在Classless的环境下,掩码任何时候都和IP地址成对地出现,这样,前面谈到的二意性就不会存在。是Classful还是Classless取决于路由器运行的路由协议,一个路由器可同时运行Classful和Classless路由协议。RIP是Classful,OSPF、EIGRP、BGP4是Classless,它们可以同时运行在同一台路由器上。
  以上面的情况为例。在子网划分下,一个发往192.168.0.255的广播不能确认是发给主网络的还是子网;然而采用CIDR后,由于CIDR在路由时采取最长前缀匹配,目的地址192.168.0.255和地址块192.168.0.192/26的前缀匹配长度最长,所以广播发送到192.168.0.192/26地址块。

  • 59
    点赞
  • 122
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值