IP地址与子网掩码

子网掩码: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。

A类的默认子网掩码 255.0.0.0 一个子网最多可以容纳1658万多台电脑
B类的默认子网掩码 255.255.0.0 一个子网最多可以容纳6万台电脑
C类的默认 子网掩码  255.255.255.0 一个子网最多可以容纳254台电脑


子网掩码告知路由器,地址的哪一部分是网络地址,哪一部分是主机地址,使路由器正确判断任意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地址与错误的子网掩码相与,误认两台主机处于不同网络,则会将本来属于同一子网内的机器之间的通信当作是跨网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。所以,子网掩码不能任意设置,子网掩码的设置关系到子网的划分。

子网划分是通过借用IP地址的若干位主机位来充当子网地址从而将原网络划分为若干子网而实现的。划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少。以C类网络为例,原有8位主机位,2的8次方即256个主机地址,默认子网掩码255.255.255.0。借用1位主机位,产生2个子网,每个子网有126个主机地址;借用2位主机位,产生4个子网,每个子网有62个主机地址……每个网中,第一个IP地址(即主机部分全部为0的IP)和最后一个IP(即主机部分全部为1的IP)不能分配给主机使用,所以每个子网的可用IP地址数为总IP地址数量减2;根据子网ID借用的主机位数,我们可以计算出划分的子网数、掩码、每个子网主机数,列表如下:

    ① 划分子网数 ② 子网位数 ③ 子网掩码(二进制) ④ 子网掩码(十进制) ⑤ 每个子网主机数

  ① 1~2 ② 1 ③ 11111111.11111111.11111111.10000000 ④ 255.255.255.128 ⑤ 126

  ① 3~4 ② 2 ③ 11111111.11111111.11111111.11000000 ④ 255.255.255.192 ⑤ 62

  ① 5~8 ② 3 ③ 11111111.11111111.11111111.11100000 ④ 255.255.255.224 ⑤ 30

    ① 9~16 ② 4 ③ 11111111.11111111.11111111.11110000 ④ 255.255.255.240 ⑤ 14

  ① 17~32 ② 5 ③ 11111111.11111111.11111111.11111000 ④ 255.255.255.248 ⑤ 6

    ① 33~64 ② 6 ③ 11111111.11111111.11111111.11111100 ④ 255.255.255.252 ⑤ 2

如上表所示的C类网络中,若子网占用7位主机位时,主机位只剩一位,无论设为0还是1,都意味着主机位是全0或全1。由于 主机位全0表示本网络,全1留作广播地址,这时子网实际没有可用主机地址,所以主机位至少应保留2位。

例如,对B类网络135.41.0.0/16需要划分为20个能容纳200台主机的网络(即:子网)。因为16<20<32,即:2的4次方<20<2的5次方,所以,子网位只须占用5位主机位就可划分成32个子网,可以满足划分成20个子网的要求。B类网络的默认子网掩码是255.255.0.0,转换为二进制为11111111.11111111.00000000.00000000。现在子网又占用了5位主机位,根据子网掩码的定义,划分子网后的子网掩码应该为11111111.11111111.11111000.00000000,转换为十进制应该为255.255.248.0。现在我们再来看一看每个子网的主机数。子网中可用主机位还有11位,2的11次方=2048,去掉主机位全0和全1的情况,还有2046个主机ID可以分配,而子网能容纳200台主机就能满足需求,按照上述方式划分子网,每个子网能容纳的主机数目远大于需求的主机数目,造成了IP地址资源的浪费。为了更有效地利用资源,我们也可以根据子网所需主机数来划分子网。还以上例来说,128<200<256,即2^7<200<2^8,也就是说,在B类网络的16位主机位中,保留8位主机位,其它的16-8=8位当成子网位,可以将B类网络138. 96.0.0划分成256(2^8)个能容纳256-1-1=254台(去掉全0全1情况)主机的子网。此时的子网掩码为11111111.11111111.11111111.00000000,转换为十进制为255.255.255.0。

在划分子网时,不仅要考虑目前需要,还应了解将来需要多少子网和主机。对子网掩码使用比需要更多的主机位,可以得到更多的子网,节约了IP地址资源,若将来需要更多子网时,不用再重新分配IP地址,但每个子网的主机数量有限;反之,子网掩码使用较少的主机位,每个子网的主机数量允许有更大的增长,但可用子网数量有限。一般来说,一个网络中的节点数太多,网络会因为广播通信而饱和,所以,网络中的主机数量的增长是有限的,也就是说,在条件允许的情况下,会将更多的主机位用于子网位。


选一个B类IP段,这里就选188.188.x.x吧
这样,IP的前两段确定的,关键是要确定第三段,只要 网络标识相同就可以了。我们先来确定网络号。(我们把 子网掩码中的1和IP中的?对就起来,0和*对应起来,如下:)
255.255.252.0 11111111.11111111.11111100.00000000
188.188.x.x 10111100.10111100.??????**.********
网络标识 10111100.10111100.??????00.00000000
由此可知,?处随便填(只能用0和1填,不一定全是0和1),我们就用全填0吧,*处随便,这样呢,我们的IP就是
10111100.10111100.000000**.********,一共有530台电脑,IP的最后一段1~254可以分给254台计算机, 530/254=2.086,采用进1法,得整数3,这样,我们确定了IP的第三段要分成三个不同的数字,也就是说,把000000**中的**填三次数字,只能填1和0,而且每次的数字都不一样,至于填什么,就随我们便了,如00000001,00000010,00000011,转换成十进制,分别是 1,2,3,这样,第三段也确定了,这样,就可以把IP分成188.188.1.y,188.188.2.y,188.188.3.y,y处随便填,只要在1~254范围之内,并且这530台电脑每台和每台的IP不一样,就可以了。
有人也许会说,既然算法这么麻烦,干脆用A类IP和A类默认 子网掩码得了,偶要告诉你的是,由于A类IP和A类默认子网掩码的 主机数目过大,这样做无疑是大海捞针,如果同时局域网访问量过频繁、过大,会影响效率的,所以,最好设置符合自己的IP和子网掩码^_^

参考:http://jingyan.baidu.com/article/5553fa82eba0cd65a23934c6.html
http://baike.baidu.com/link?url=Ht6eqv9jOZ5k2lAHKP9f5eBfRG73grFEcZaL6VnvYIuKmnCHzuz57sGeddVrHh7p5HiT19yPNNPkujVnPve88_









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值