什么是子网掩码( 三 )


我们知道当主机ID为全0时表示网络ID,全1时表示广播地址 。在RFC950标准中,不建议使用全0和全1的子网ID 。
例如把最后一个字节的前3位借给网络ID,用后面的5位来表示主机ID,这样就会产生2^3=8个子网,子网ID就分别为000、001、010、011、100、101、110、111这样8个,在RFC950标准中只能使用中间的6个子网ID 。
这么做的原因是:
设我们有一个网络:192.168.0.0/24(即子网掩码的前24位为1,255.255.255.0),我们需要两个子网,那么按照RFC950,应该使用/26而不是/25,得到两个可以使用的子网192.168.0.64和192.168.0.128
对于192.168.0.0/24,网络地址是192.168.0.0,广播地址是192.168.0.255
对于192.168.0.0/26,网络地址是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,网络地址是192.168.0.192,广播地址是192.168.0.255
你可以看出来,对于第一个子网,网络地址和主网络的网络地址是重叠的,对于最后一个子网,广播地址和主网络的广播地址也是重叠的 。在CIDR流行以前,这样的重叠将导致极大的混乱 。比如,一个发往192.168.0.255的广播是发给主网络的还是子网的这就是为什么在当时不建议使用全0和全1子网 。在今天,CIDR已经非常普及了,所以一般不需要再考虑这个问题 。
子网掩码是一个32位地址,是与IP地址结合使用的一种技术 。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上 。二是用于将一个大的IP网络划分为若干小的子网络 。
使用子网是为了减少IP的浪费 。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网 。使用子网可以提高网络应用的效率 。
通过IP 地址的二进制与子网掩码的二进制进行与运算,确定某个设备的网络地址和主机号,也就是说通过子网掩码分辨一个网络的网络部分和主机部分 。子网掩码一旦设置,网络地址和主机地址就固定了 。子网一个最显著的特征就是具有子网掩码 。与IP地址相同,子网掩码的长度也是32位,也可以使用十进制的形式 。例如,为二进制形式的子网掩码:1111 1111.1111 1111.1111 1111.0000 0000,采用十进制的形式为:255.255.255.0 。
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制”与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段 。
无子网的标注法
对无子网的IP地址,可写成主机号为0的掩码 。如IP地址210.73.140.5,掩码为255.255.255.255,也可以缺省掩码,只写IP地址 。
有子网的标注法
有子网时,一定要二者配对出现 。以C类地址为例 。
以下一段指定掩码为27位(1111 1111, 1111 1111, 1111 1111, 1110 0000=>255.255.255.224
1.IP地址中的前3个字节表示网络号,后一个字节既表明子网号,又说明主机号,还说明两个IP地址是否属于同一个网段 。如果属于同一网络区间,这两个地址间的信息交换就不通过路由器 。如果不属同一网络区间,也就是子网号不同,两个地址的信息交换就要通过路由器进行 。
例如:
对于IP地址为210.73.140.5的主机来说,其主机标识为5=>00000101,
对于IP地址为210.73.140.16的主机来说它的主机标识为16=>00010000,
以上两个主机标识的前面三位全是000,说明这两个IP地址在同一个网络区域中,这两台主机在交换信息时不需要通过路由器进行 。