邀请注册 登录
Bacysoft.cn 返回首页

bacy001的个人空间 http://www.bacysoft.cn/?2 [收藏] [复制] [分享] [RSS]

日志

IPv4子网划分不求人

已有 24091 次阅读2011-6-13 21:15 |系统分类:网络技术| 子网划分, 网段划分

在IP的世界里,掩码是个很重要的概念,打个不恰当的比喻:IP地址和掩码的关系就像是人和影子的关系,没有掩码的IP是无法正常工作的。

目前通行的IPv4地址是一个32 bit 的整数,在计算机中用一个长整形变量即可表示。取值范围:0~4294967295(2^32-1)。对于人脑来说,无论是使用十进制还是二进制表示这个32 bit 的整数都不是好的方法。因此,IPv4地址通常采用点分十进制表示。下面是同一个IP地址:122.70.156.25的不同表示方法:
点分十进制:122.70.156.25    
十进制:       2051447833
二进制:       01111010.01000110.10011100.00011001
显然点分十进制更加容易记忆。

IP地址分为两个部分,即网络地址(也称作“前缀”)和主机地址。这就好像我们的邮政地址,例如:长安街10号,在这个地址中,长安街就相当于IP地址中的网络地址,10号则相当于IP地址中的主机地址,两者加到一起成为明确描述一个地点的地址。

掩码与IP等长,也是32 bit的整数,主要用于区分IP地址中的网络地址和主机地址,从左至右,网络地址的部分为全1,主机地址的部分为全0,然后将IP地址与掩码逐位进行“与”运算,即:1 & 1 = 1,1 & 0 = 0。
由此得到:
公式一:网络地址 = IP地址 & 掩码
公式二:主机地址 = IP地址 – 网络地址

掩码通常使用掩码长度来描述,比如,掩码长度为24则表示掩码:255.255.255.0,原理是每个255都等于二进制的8个连续的1,即:11111111。3个255连在一起,就相当于24个连续的1。同理掩码长度为25则表示掩码:255.255.255.128,前面3个255相当于24个1,紧跟着的128换成二进制是10000000,正好和前面的24个1一起组成25个1。
由此得到:
公式三:网络包含的IP地址数 = 2 ^ (32-掩码长度)

同时IP协议规定,每个网段的最后一个IP地址为该网段的广播地址,即主机地址部分全为1的地址。网络地址与广告地址不能分配给主机使用。
由此得到:
公式四:网络包含的可用(分配)IP地址数 = 2 ^ (32-掩码长度) – 2

套用以上公式,我们得到IP地址:192.168.100.100/255.255.255.0 的网络地址为192.168.100.0,主机地址为100,该网段有2 ^ ( 32 – 24 ) = 2 ^ 8 = 256个IP地址,去掉网络地址和广播地址后,还有可用IP地址 256-2 = 254个。

以上是IP和掩码的基本概念,下面是如何通过掩码来控制和划分子网,这也是IP规划的精髓所在…

前面说过,IP地址包括网络地址与主机地址两个部分,其实通过掩码的控制,可以实现网络地址的层次化,也就是子网的概念。

请看这个IP地址:北京.西城区.长安街.10号/255.255.255.0,通过掩码我们知道该IP的网络地址是:“北京.西城区.长安街.0”。现在我们将掩码设置为:255.255.0.0,则网络地址变为:“北京.西城区.0.0”,显然前者是后者的一部分,也就是说前者是后者的一个子网。如果你愿意,完全可以通过调整掩码为:255.0.0.0,这样网络地址就变为:“北京.0.0.0”可以用来表示整个北京了。

于是我们得到这样的层次化的IP网络:
北京.0.0.0 / 8
北京.西城区.0.0 / 16
北京.西城区.长安街.0 /24
北京.西城区.府右街.0 /24
北京.东城区.0.0 /16
…….
同理,将上面的地面使用数字替代后得到:
192.0.0.0 / 8
192.168.0.0 / 16
192.168.100.0 /24
192.168.200.0 /24
192.169.0.0 /16
…….
可用看出,所谓子网的划分,无非就是通过控制掩码长度来调整网络地址的大小,下面是一个具体的子网划分的例子。

某单位省公司从总部申请到网段10.100.0.0/16,省公司在每个地市还有分公司,一个13个分公司。现在要求每个地市平均分配,省公司适当保留一部分IP。
具体做法:
13个分公司+省公司,一共14个网段,8<14<16,因此需要先均分成16份(2^4);
父网段掩码长度为16,则此网段一共包含2^(32-16)= 65536 个地址,均分成16个子网,则每个子网包含 65536 / 16 = 4096 个IP地;
4096 = 2^12,因此子网的掩码是32-12=20;同时4096使用点分十进制表示为:0.0.16.0
综上所述,得到如下子网列表:
10.100.0.0/20        10.100.16.0/20    10.100.32.0/20    10.100.48.0/20
10.100.64.0/20    10.100.80.0/20    10.100.96.0/20    10.100.112.0/20
10.100.128.0/20    10.100.144.0/20    10.100.160.0/20    10.100.176.0/20
10.100.192.0/20    10.100.208.0/20    10.100.224.0/20    10.100.240.0/20
我们可以看到,后一个子网都是在前一个子网的基础上加上了“0.0.16.0”。到此,我们可以将前三个网段分配给省公司,剩下13个网段分别分配给分公司。分公司拿到IP后,还可以继续细分。例如,某分公司拿到地址:10.100.160.0/20,可以继续细分成:10.100.160.0/22,10.100.164.0/22,10.100.168.0/22,10.100.168.0/22 四个网段。

再掌握子网划分的原理后,我们可以使用很多现成的子网划分工具以提高工作效率。这里强烈推荐使用本站出品的在线子网划分工具,具体使用说明见:http://www.bacysoft.cn/home-space-uid-2-do-blog-id-77.html。在使用过程中遇到任何问题欢迎反馈给本站管理团队,谢谢!

欢迎转载本站文章,但请保留版权信息! http://www.Bacysoft.cn
如果您觉得本站资源对您有帮助,也请您支持本站发展,谢谢!本站的发展,需要您的支持!

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 邀请注册



阿里云|腾讯云|联系方式|Bacysoft.cn ( 京ICP备08000958号-1 )

GMT+8, 2019-10-19 10:43 , Processed in 0.012447 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部