网络基础之IP地址和子网掩码( 二 )


2. 子网掩码是“255.255.0.0”的网络:
后面两个数字可以在0~255范围内任意变化 , 可以提供65536个IP地址 。 但是实际可用的IP地址数量减2 , 即65534个 。
IP地址的子网掩码设置不是任意的 。 如果将子网掩码设置过大 , 也就是说子网范围扩大 , 那么 , 根据子网寻径规则 , 很可能发往和本地机不在同一子网内的目的机的数据 , 会因为错误的判断而认为目的机是在同一子网内 。
四、子网掩码的算法
对于无须再划分成子网的IP地址来说 , 其子网掩码非常简单 , 即按照其定义即可写出:如某B类IP地址为 10.14.3.0 , 无须再分割子网 , 则该IP地址的子网掩码为255.255.0.0 。 如果它是一个C类地址 , 则其子网掩码为 255.255.255.0 。 其它类推 , 不再详述 。 下面我们关键要介绍的是一个IP地址 , 还需要将其高位主机位再作为划分出的子网网络号 , 剩下的是每个子网的主机号 , 这时该如何进行每个子网的掩码计算 。
一、利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目 , 以及每个子网内的所需主机数目 。
1)将子网数目转化为二进制来表示
2)取得该二进制的位数 , 为 N
3)取得该IP地址的类子网掩码 , 将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码 。
如欲将B类IP地址168.195.0.0划分成27个子网:
1)27=11011
2)该二进制为五位数 , N = 5
3)将B类地址的子网掩码255.255.0.0的主机地址前5位置 1 , 得到 255.255.248.0
即为划分成 27个子网的B类IP地址 168.195.0.0的子网掩码 。
二、利用主机数来计算
1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址) , 则取得该主机的二进制位数 , 为 N , 这里肯定 N<8 。 如果大于254 , 则 N>8 , 这就是说主机地址将占据不止8位 。
3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1 , 然后从后向前的将N位全部置为 0 , 即为子网掩码值 。
如欲将B类IP地址168.195.0.0划分成若干子网 , 每个子网内有主机700台:
1) 700=1010111100
【网络基础之IP地址和子网掩码】2)该二进制为十位数 , N = 10
3)将该B类地址的子网掩码255.255.0.0的主机地址全部置 1 , 得到255.255.255.255
然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000
即255.255.252.0 。 这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码 。
下面列出各类IP地址所能划分出的所有子网 , 其划分后的主机和子网占位数 , 以及主机和子网的(最大)数目 , 注意要去掉保留的IP地址(即划分后有主机位或子网位全为“0”或全为“1”的):
网络基础之IP地址和子网掩码文章插图
网络基础之IP地址和子网掩码文章插图
五、举例
1、一个主机的IP地址是211.112.18.137 , 掩码是255.255.255.224 , 要求计算这个主机所在网络的网络地址和广播地址 。
常规办法是:
把这个主机地址和子网掩码都换算成二进制数 , 两者进行逻辑与运算后即可得到网络地址 。
另一种方法:
255.255.255.224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址) , 那么具有这种掩码的网络地址一定是32的倍数 。 而网络地址是子网IP地址的开始 , 广播地址是结束 , 可使用的主机地址在这个范围内 , 因此略小于137而又是32的倍数的只有128 , 所以得出网络地址是211.112.18.128 。 而广播地址就是下一个网络的网络地址减1 。 而下一个32的倍数是160 , 因此可以得到广播地址为211.112.18.159 。