IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

灵活设置子网掩码

2008年04月26日
CCW/
阅读提示:多年来,IP协议一直在升级与完善,目的就是为了能够更加有效的使用。只要充分掌握它的规则,就能满足各种需求。IPv4已为我们服务了多年,新的IPv6又将投入使用,因此我们需要不断学习,尽量利用新技术提高工作效率。

随着信息时代的来临,越来越多的机关、企业和学校纷纷组建网络,并且接入Internet。在建设网络的过程中,必需处理IP地址的申请与IP地址在单位内部的分配问题,而子网掩码的设置是内部分配IP地址中非常重要的一个环节。许多网络管理人员在IP地址分配的问题上总会遇到这样或那样的问题。实际上,只要在子网掩码上做一些小动作,就可以做到既节约IP地址资源,又提高网络寻址效率。下面我们用实例来说明。

一、IP地址和子网掩码

---- Internet上的每台计算机以及交换机和路由器等网络设备都被称为主机,都有一个IP地址用来惟一标识自己。

---- 现在IP地址使用IPv4的格式,即长度为4字节,共32比特。一般情况下,表示IP地址时按字节分成4个部分,各部分之间用逗号隔开,每部分的数字用十进制表示。例如,一个IP地址可以是202.197.96.2。在实际应用中,往往又把IP地址分为网络地址和主机地址两部分。根据网络地址和主机地址所占位数的不同,IP地址有A、B和C等几类,分别用于大、中、小型网络。

---- 我们来分析一下,如果所有机器的IP地址都由一个机构管理,那么按照目前的IP地址格式,这就意味着该机构要管理36亿多个IP地址。实现如此巨大的管理开销,既非常困难也没有必要。实际上,国际互联网信息中心只分配网络地址,每台主机的IP地址由下一级的机构自行分配与管理。而子网掩码的引入就是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。如果是在局域网上信息包就直接送往集线器或交换机,如果是在远程网上信息包就送到网关或路由器。所以设置好子网掩码可以提高网络寻址的效率。

子网掩码的工作方法

---- IP协议标准规定子网掩码也是一个32比特的地址码,在用二进制表示的时候,位数“1”代表网络地址,位数“0”代表主机地址。把子网掩码与IP地址码做与(AND)操作,得到的就是网络地址。例如,IP地址为202.197.96.2,子网掩码为255.255.255.0,我们可以按如下方法计算该IP地址的网络地址。

 

---- 写成十进制为202.197.96.0,这就是该IP地址所在的网络地址。

---- 通常在子网掩码中,1和0连续的,即没有1和0交替的情况。下面分别是A、B和C三类网络的缺省子网掩码:A类为255.0.0.0;B类为255.255.0.0;C类为255.255.255.0。

二、使用子网掩码划分网络

---- 在实际应用中,企业可能会有多个分布在各个不同地区的网络,而每个网络的主机数量并不很多,如果申请多个网络地址,就会造成IP地址资源的浪费,并且很不经济。如果我们不使用缺省的子网掩码,而是另外设置子网掩码,便可以把网络进一步划分成子网,在只申请少量网络地址的基础上解决多个局域网的不同标识问题。请看下面的例子。

---- 某企业只有一个C类网络地址,即202.197.96,却有若干个车间和部门要求使用。如果使用缺省的子网掩码,则所有计算机都在同一个子网中,寻址效率就会很低,各部门使用起来也不方便。在不另外申请IP地址资源的情况下,我们只要巧妙地设置一下子网掩码就能解决问题。我们改设它为255.255.255.224,224的二进制为11100000,即把主机ID的高3位拿出来作为进一步划分子网的标识,这3位共有000、001、010、011、100、101、110、111等8种组合,除去000(代表本身)和111(代表广播),还有6种组合,也就是可提供6个子网,它们的IP地址的最后一个字节如表1所示(前3个字节还是202.197.96)。

 

---- 以上所有IP地址经过子网掩码屏蔽后得到的网络地址(前3个字节)都是202.197.96,但第4个字节却不一样,这样就实现了对外(Internet部分)只用一个网络地址、对内(Intranet部分)有多个局域网,且每个网络都支持30台主机。

三、进一步划分网络

---- 下面给出进一步划分网络时设置子网掩码的方法。

  1. 假设要划分的子网数目为y,求大于等于log2的最小正整数z。例如,要划分的子网数目为y=5,log25>2,向上取整得z=3。
  2. 将所确定的z值按占用主机地址高z位后转换为十进制。例如,z为3时,主机地址的后10位为11100000,转换为十进制是224,即为最终确定的子网掩码。
  3. 如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。
  4. 子网个数y与占用主机地址位数z有如下等式成立:2z=y。
四、实现可变长子网

---- 我们会经常遇到各个网络中主机数不等的情况。实际上子网中的主机数不必均分,只要掩码设置正确即可。利用上面的例子,有一个C类网络地址为202.197.96,要分为5个网段,其中4个网络要求支持少于30台主机,1个要求支持多于32台主机。

---- 解决方法:对上例中的子网掩码稍作调整,不把所有的子网掩码都设置成一样,见表2。

 

---- 子网掩码中,224的二进制为11100000,192的二进制为11000000,后者主机占位6位,可支持2的6次方, 64-2=62台主机,这样就实现了不等长网的划分。

五、无类网络的子网掩码设置

---- A、B和C这3类网络适用于不同规模的大、中、小型网络,在申请IP地址时考虑到IP地址资源的紧张以及经济性等因素,一般企业只申请C类地址。这就意味着企业网中最多只能支持254台主机,但有时需求会大大超过这一数字,那么应该如何处理这个问题呢?

---- 实际上,在填写IP申请表时,有一项为“host-bits:”,它可用无类网络技术提供更多的主机地址。在C类网络中,主机地址占用IP地址中第4个字节的8个位,使用无类网络技术,主机地址可扩张到第3个字节。下面是一个具体的实例。

---- 有一个网络主机数达到700台,而700大于2的9次方512,小于2的10次方1024,那么在填表时就应该填写:host-bits=10。假设申请到的网络地址为202.197.96到202.197.103,那么可以如表3设置子网掩码,以使一个网络支持主机数达到700台。

---- 在表3的前3行中,子网掩码252用二进制表示为11111100,网络地址96用二进制表示为01100000,97用二进制表示为01100001,98用二进制表示为01100010。它们与子网掩码做与运算后,得到的网络地址都是202.197.96,这就意味着在同一个子网中,信息包在网络内部传递而无需送往网关。此网络共支持254×3=762台主机。

 

---- 通过上面的例子,我们可以更灵活地运用子网掩码。多年来,IP协议一直在升级与完善,目的就是为了能够更加有效的使用。只要充分掌握它的规则,就能满足各种需求。IPv4已为我们服务了多年,新的IPv6又将投入使用,因此我们需要不断学习,尽量利用新技术提高工作效率。

发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

以不变应万变 网络虚拟化应对园区网新挑战
以不变应万变 网络虚拟化应对园区网新挑战Forrester Research的分析师Robert Whiteley认为: “十年以来,虚拟化技术与网络...
OpenShift加入更多新元素 友好面对开发者
OpenShift加入更多新元素 友好面对开发者通过网络进行程序提供的服务称之为SaaS(Software as a Service),而将服务器平台...

本类热点