子网划分和子网掩码的计算方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Internet组织机构定义了五种IP地址,用于主机的有A、B、C三类地址。其中A类网络有126个,每个A类网络可能有16,777,214台主机,它们处于同一广播域。而在同一广播域中有这么多结点是不可能的,网络会因为广播通信而饱和,结果造成16,777,214个地址大部分没有分配出去,形成了浪费。而另一方面,随着互连网应用的不断扩大,IP地址资源越来越少。为了实现更小的广播域并更好地利用主机地址中的每一位,可以把基于类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。
1.子网掩码
RFC 950定义了子网掩码的使用,子网掩码是一个32位的2进制数,其对应网络地址的所有位都置为1,对应于主机地址的所有位都置为0。由此可知,A类网络的缺省的子网掩码是255.0.0.0,B类网络的缺省的子网掩码是255.255.0.0,C类网络的缺省的子网掩码是
255.255.255.0。将子网掩码和IP地址按位进行逻辑“与”运算,得到IP 地址的网络地址,剩下的部分就是主机地址,从而区分出任意IP地址中的网络地址和主机地址。子网掩码常用点分十进制表示,我们还可以用网络前缀法表示子网掩码,即“/<网络地址位数>”。如
138.96.0.0/16表示B类网络138.96.0.0的子网掩码为255.255.0.0。子网掩码告知路由器,地址的哪一部分是网络地址,哪一部分是主机地
址,使路由器正确判断任意IP地址是否是本网段的,从而正确地进行路由。例如,有两台主机,主机一的IP地址为222.21.160.6,子网掩码为255.255.255.192,主机二的IP地址为222.21.160.73,子网掩码为255.255.255.192。现在主机一要给主机二发送数据,先要判断两个主机是否在同一网段。
主机一
222.21.160.6即:11011110.00010101.10100000.00000110
255.255.255.192即:11111111.11111111.11111111.11000000
按位逻辑与运算结果为:11011110.00010101.10100000.00000000
主机二
222.21.160.73即:11011110.00010101.10100000.01001001
255.255.255.192即:11111111.11111111.11111111.11000000
按位逻辑与运算结果为:11011110.00010101.10100000.01000000
两个结果不同,也就是说,两台主机不在同一网络,数据需先发送给默认网关,
然后再发送给主机二所在网络。那么,假如主机二的
子网掩码误设为255.255.255.128,会发生什么情况呢?
让我们将主机二的IP地址与错误的子网掩码相“与”:
222.21.160.73即:11011110.00010101.10100000.01001001
255.255.255.128即:11111111.11111111.11111111.10000000
结果为11011110.00010101.10100000.00000000
这个结果与主机的网络地址相同,主机与主机二将被认为处于同一网络中,数据不再发送给默认网关,而是直接在本网内传送。由于两台主机实际并不在同一网络中,数据包将在本子网内循环,直到超时并抛弃。数据不能正确到达目的机,导致网络传输错误。反过来,如果两台主机的子网掩码原来都是255.255.255.128,误将主机二的设为255.255.255.192,主机一向主机二发送数据时,由于IP地址与错误的子网掩码相与,误认两台主机处于不同网络,则会将本来属于同一子网内的机器之间的通信当作是跨网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。所以,子网掩码不能任意设置,子网掩码的设置关系到
子网的划分。
2.子网划分与掩码的设置
子网划分是通过借用IP地址的若干位主机位来充当子网地址从而将原网络划分为若干子网而实现的。划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少。以C类网络为例,原有8位主机位,2^8即256个主机地址,默认子网掩码255.255.255.0。借用1位主机位,产生2^1个子网,每个子网有2^7个主机地址;借用2位主机位,产生2^2个子网,每个子网有2^6个主机地址……根据子网ID借用的主机位数,我们可以计算出划分的子网数、掩码、每个子网主机数,列表如下:
划分子网数
子网位数
子网掩码(二进制)
子网掩码(十进制)
每个子网主机数
1~2
1
11111111.11111111.11111111.10000000 255.255.255.128
128
3~4
2
11111111.11111111.11111111.11000000 255.255.255.192
64
5~8
3
11111111.11111111.11111111.11100000 255.255.255.224
32
9~16
4
11111111.11111111.11111111.11110000
255.255.255.240
16
17~32
5
11111111.11111111.11111111.11111000
255.255.255.248
8
33~64
6
11111111.11111111.11111111.11111100
255.255.255.252
4
如上表所示的C类网络中,若子网占用7位主机位时,主机位只剩一位,无论设为0还是1,都意味着主机位是全0或全1。由于主机位全0表示本网络,全1留作广播地址,这时子网实际没有可用主机地址,所以主机位至少应保留2位。从上表可总结出子网划分的步骤或者说子网掩码的计算步骤:
2.1确定要划分的子网数目以及每个子网的主机数目。
2.2求出子网数目对应二进制数的位数N及主机数目对应二进制数的位数M。