为何主机位全0的地址不能配置到设备上 - Kirin博客

为何主机位全0的地址不能配置到设备上

作者: Bee

全网最全的网络资源分享网站

标签:

特别声明:部分文章为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系站长!请勿违法!本站文章仅供学习了解!技术无罪!

流量卡广告 Kirin影视 联系站长QQ
有人可能会回答说因为RFC950标准的标准不允许,但是我想问的就是为什么这个标准不允许,是什么原因,主机位全0在这个标准下的用途是什么?
把192.168.1.0255.255.255.0配置在网卡上会报错,
不能配置主机位为全1的地址到设备上我可以理解,因为主机位全为1表示广播地址,表示发送广播数据到该网段所有的设备。
但是主机位为全0有啥用途呢?为什么不能配置在设备上呢?
书本上看到的解释是:192.168.1.0/24 表示网段地址,包含192.168.1.1~192.168.1.254和一个广播地址192.168.1.255,但是为什么不能把192.168.1.0也分配给PC用,这个地址在数据包的传输上有其他用途吗?还是说使用了会造成什么冲突吗?

之所以有这样的限制,是由于早期的操作系统OS X, Linux, Solaris往往将网段地址192.168.1.0,当成广播地址来处理。所以当试图在这些主机上Ping 192.168.1.0 时,操作系统允许Ping,主机收到之后以为Ping的自己(广播),所以也会回复Ping。那么源主机上就会收到多个Ping的回复,很显然这会早成歧义。
为了避免把网段的第一个IP地址错误当成一个广播地址。RFC规定,每个网段的第一个地址保留,不能被主机使用。那么192.168.1.0正好是网段192.168.1.0/24第一个地址,所以不能使用。
 
例子一:192.168.1.128/25这个地址主机可以使用吗?
192.168.1.128是这个网段的第一个IP地址,所以不能使用。
 
例子二:192.168.1.0 /23这个地址主机可以使用吗?
网段ID =192.168.0.0,IP = 192.168.1.0很显然≠网段ID,所以可以使用。
 
例子三:192.168.0.255 /23这个地址主机可以使用吗?
192.168.0.255不是这个网段的最后一个地址,所以可以使用。这个网段的最后一个地址 =  192.168.1.255 为广播地址。
 
互联网链路上有很多P2P链路,那么依据该标准,最长的网络掩码只能是30位掩码,这样就会浪费的50% IP地址资源。比如现在有一条P2P互联链路,每端需要配置一个全局IP:
 
1.1.1.1/30用在本地端,1.1.1.2/30用在远程端。1.1.1.0/30保留不用,1.1.1.3/30用于广播地址。这后两个IP就是一种浪费。都P2P链路了,还要啥广播地址? 1.1.1.0/30也是由于历史的原因才保留的,怕引起歧义。
 
为了减少IP地址的浪费,RFC又出了一个新的规定,P2P链路使用31位掩码,可以没有保留地址及广播地址,该网段的两个地址分别用于P2P链路的两端。
 
1.1.1.0/31用在本地端,1.1.1.1/31用在远程端。
 
看1.1.1.0/31,不是被主机所使用了吗?
 
当然并不是所有的主机都支持这些新的规定,很多legacy的设备支持最长的掩码长度依然为30。所以配置之前需要做必要的测试工作。
分享到:
加入交流群
未经允许不得转载:

作者: Bee, 转载或复制请以 超链接形式 并注明出处 Kirin博客
原文地址: 《为何主机位全0的地址不能配置到设备上》 发布于2021-4-9

切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册

觉得文章有用就加入交流群吧

QQ扫一扫