IP子网划分

TCP/IP 网络用IP地址来标识各个节点,并且根据IP地址的类别(Class)进行IP地址分
配。这种地址分配方法简单易用,但随着Internet容量及业务量的急速增长,这种方法表现出
越来越多的弊端。

为了解决分类IP地址划分带来的地址浪费,就需要使用子网划分(Subnetting)的方法对
地址进行有效利用。VLSM(Variable Length Subnet Mask,变长子网掩码)和CIDR(Classless
Inter-Domain Routing,无类域间路由)则可以进一步提高地址利用效率,而缓解地址数量不足
的问题。在这几种技术中,子网划分是理解VLSM和CIDR的重要基础。

看完本文章,您应该能够:

■ 理解IP子网划分的需求背景
■ 理解IP子网划分的概念
■掌握IP子网划分的相关计算方法
■ 制定子网划分方案满足网络建设需求
■ 了解VLSM和CIDR基础知识

1.IP子网划分的需求背景

早期的Internet是一个简单的二级网络结构。接入Internet的机构由一个物理网络构成,
该物理网络包括机构中需要接入Internet网络的全部主机。

自然分类法将IP地址划分为A、B、C、D、E类。每个32位的IP地址都被划分为由网络
号和主机号构成的二级结构。为每个机构分配一个按照自然分类法得到的Internet网络地址,
能够很好地适应满足当时的网络结构。

随着时间的推移,网络计算逐渐成熟,网络的优势被许多大型组织所认知,Internet中出
现了很多大型的接入机构。这些机构中需要接入的主机数量众多,单一物理网络容纳主机的数
量有限,因此在同一机构内部需要划分多个物理网络。

早期解决这类大型机构接入Internet的方法是为机构内的每一个物理网络划分一个逻辑网
络,即对每一个物理网络都分配一个按照自然分类法得到的Internet网络地址。

分类IP地址的低效性

● IP地址资源浪费严重
● IP网络数量不敷使用
● 业务扩展缺乏灵活性
● 无法应对Internet的爆炸式增长

综上所述,仅依靠自然分类的IP地址分配方案,对IP地址进行简单的两层划分,无法应
对Internet的爆炸式增长

2.IP子网划分基础知识

普通两级结构的IP地址由网络号(network-number)和主机号(host-number)组成。划
分子网的方法是从主机号(host-number)部分借用若干位作为子网号(subnet-number),剩
余的位作为主机号(host-number)。于是两级的IP地址就变为三级的IP地址,包括网络号
(network-number)、子网号(subnet-number)和主机号(host-number)。这样,拥有多个
物理网络的机构可以将所属的物理网络划分为若干个子网。

子网划分属于本机构的内部事务。外部网络可以不必了解机构内由多少个子网组成,因为
这个机构对外仍表现为一个没有划分子网的网络。从其他网络发送给本机构某个主机的数据,
可以仍然根据原来的选路规则发送到本机构连接外部网络的路由器上。此路由器接收到IP数据
包后再按网络号及子网号找到目的子网,将IP数据包交付给目的主机。要求路由器具备识别子
网的能力。

子网掩码:

只根据IP地址本身无法确定子网号的长度。为了把主机号与子网号区分开,就必须使用子
网掩码(subnet mask)。

子网掩码和IP地址一样都是32位长度,由一串二进制1和跟随的一串二进制0组成。子
网掩码可以用点分十进制方式表示。与子网掩码中的1对应于IP地址中的网络号和子网号,子
网掩码中的0对应于IP地址中的主机号。

将子网掩码和IP地址进行逐位逻辑与运算,就能得出该IP地址的子网地址。

将默认子网掩码和不划分子网的IP地址进行逐位逻辑与运算,就能得出该IP地址的网络
地址。

与普通掩码一样,通过子网掩码可以计算网络地址。将子网掩码和IP地址逐位进行逻辑与
(AND)运算,计算的结果就是网络地址,在划分子网的情况下也称为子网地址。将子网地址
的主机号全置位为1,即可得到该子网的广播地址。

例如在图中,IP地址134.144.1.1与子网掩码255.255.255.0进行与运算,得到其子网地
址为134.144.1.0。将主机号全置位为1,得到该子网的广播地址为134.144.1.255。

3.IP子网划分的常用计算

计算子网内可用地址数:

计算子网内的可用主机数是子网划分计算中比较简单的一类问题,与计算A、B、C三类
网络可用主机数的方法相同。

如果子网的主机号位数为N bits,那么该子网中可用的主机数目为2N-2个。减2是因为有
两个主机地址不可用,即主机号为全为0和全1。当主机号为全0时,表示该子网的网络地址;
当主机号全为1时,表示该子网的广播地址。

要完成相关子网划分问题的计算,需要熟记2的n次幂的结果。因为计算过程中经常会进
行二进制数与十进制数的相互转换,如果熟记这些结果的话将大大提高计算的速度。一般来讲
熟记2的1到10次幂的结果在大多数的计算问题中就足够用了。

已知一个C类网络划分成子网后为192.168.3.192,子网掩码为255.255.255.224,计算
该子网内可供分配的主机地址数量。

要计算可供分配的主机数量,就必须要知道主机号的位数。计算过程如下:

1) 计算掩码的位数。将十进制掩码 255.255.255.224 换算为二进制掩码
11111111.11111111.11111111.11100000,掩码的位数为27
2) 计算主机号位数。主机号位数N=32-27=5
3) 该子网可用的主机地址数量为2N-2=25-2=30个
这30个可用主机地址分别是:192.168.3.193、192.168.3.194、192.168.3.195 ……
192.168.3.222。地址192.168.3.192为整个子网的地址,而192.168.3.223为这个子网的广播
地址,都不能分配给主机使用。

3.2根据主机地址数划分子网

在子网划分计算中,有时需要在已知每个子网内需要容纳的主机数量的前提下,来划分子
网。要想知道如何划分子网,就必须知道划分子网后的子网掩码,那么该问题就变成了求子网
奄码。此类问题的计算方法总结如下:

1) 计算网络主机号的位数:假设每个子网需要划分出Y个IP地址,那么当Y满足公式
2N≥Y+2 ≥2N-1时,N就是主机号的位数。其中Y+2是因为需要考虑主机号为全0
和全1的情况

(2)计算子网掩码的位数:计算出主机号位数N后,可得出子网掩码位数为32-N
(3)根据子网掩码的位数计算出子网号的位数M。该子网就有2M种划分法,具体的子网地
址也可以很容易地算出

在本例中,需要将B类网络168.195.0.0划分成若干子网,要求每个子网内的主机数为700
台。计算过程如下:

(1)按照例子中的子网划分要求,每个子网的主机地址数为Y=700

(2)计算网络主机号。根据公式2N≥Y+2 ≥2N-1计算出N=10
(3) 计算子网掩码的位数。子网掩码位数为32-10=22,子网掩码为255.255.252.0,二进
制表示为 11111111.11111111.11111100.00000000

根据子网掩码位数可知子网号位数为6。那么,该网络能划分成26个子网,这些子网分别
是 168.195.0.0、168.195.4.0、168.195.8.0、168.195.12.0 …… 168.195.252.0,子网掩码为
255.255.252.0.

3.3根据子网掩码计算子网数

如果希望在一个网络中建立子网,就要在这个网络的默认掩码上增加若干位,形成子网掩
码,这样就减少了用于主机地址的位数。加入到掩码中的位数决定了我们可以配置的子网数。

假设子网号的二进制位数(即子网掩码比默认掩码的位数增加的位数)为M,那么可分配
的子网数量为2M个。

由此可见,对于特定网络来说,若使用位数较少的子网号,则获得的子网较少,而每个子
网中可容纳的主机较多;反之,若使用位数较多的子网号,则获得的子网较多,而子网中可容
纳的主机较少。因此可以根据网络中需要划分的子网数、每个子网中需要配置的主机数来选择
合适的子网掩码。
还应注意到,划分子网增加了灵活性,但却降低了IP地址的利用率,因为划分子网后主机
号为全0或全1的IP地址不能分配给主机使用。

4.VLSM和CIDR

VLSM:

虽然对网络进行子网划分的方法可以对IP地址结构进行有价值的扩充,但是仍然要受到一
个基本的限制 -- 整个网络只能有一个子网掩码。不论用户选择哪个子网掩码,都意味着各个
子网内的主机数完全相等。不幸的是,在现实世界中,不同的组织对子网的要求是不一样的,
希望一个组织把网络分成相同大小的子网是很不现实的。当在整个网络中一致地使用同一掩码
时,在许多情况下会浪费大量主机地址。

针对这个问题,IETF发布了标准文档RFC1009。该文档规范了如何使用多个子网掩码划
分子网。该标准规定,同一IP网络可以划分为多个子网并且每个子网可以有不同的大小。相对
于原来的固定长度子网掩码技术,该技术称为VLSM(Variable Length Subnet Mask,可变长
子网掩码)。
VLSM使网络管理员能够按子网的具体需要定制子网掩码,从而使一个组织的IP地址空间
能够被更有效地利用。
例如,假设某组织拥有一个B类网络,网络地址为172.16.0.0,它使用16位的网络号。
按照定长子网掩码的划分方法,该网络如果使用6位子网号,将会得到一个22位的子网掩码。
整个网络可以划分为64个可用的子网,每个子网内有1022个可用的主机地址。

这种定长子网化策略对需要超过30个子网和每个子网内超过500台主机的组织是合适的。
但是,如果这个组织由一个超过500台主机的大分支以及许多只有40至50台主机的小分支组
成,则大部分地址就被浪费了。每个分支即使只有40台主机,也将消耗一个有1022个主机地
址的子网。显而易见,针对这样的组织,地址浪费现象是非常严重的。

解决这个矛盾的方法是允许对一个网络可以使用不同大小的子网掩码,对IP地址空间进行
灵活的子网划分。考虑前面的例子,通过VLSM技术,网络管理员可以通过不同的子网掩码将网络切分为不同大小的部分。大的分支可以继续使用22位的子网掩码,然而小的分支可以使
用25位或26位的子网掩码(126个主机或62个主机)。这样,利用VLSM可以更好地避免
IP地址的浪费。

4.2CIDR

通过定长子网划分或可变长度子网划分的方法,在一定程度上解决了Internet在发展中遇
到的困难。然而到1992年,Internet仍然面临三个必须尽早解决的问题:

●B类地址在1992年已经分配了将近一半,预计到1994年3月将全部分配完毕。

● Internet主干网路由表中的路由条目数急剧增长,从几千个增加到几万个。
● IPv4地址即将耗尽。
当时预计前两个问题将在1994年变得非常严重,因此IETF很快就研究出无分类编址的方
法来解决前两个问题;而第三个问题由IETF的IPV6工作组负责研究。无分类编址是在VLSM
基础上研究出来的,它的正式名字是无类域间路由CIDR(Classless Inter-Domain Routing)。
CIDR在RFC1517、RFC1518、RFC1519及RFC1520中进行定义,现在CIDR已经成为Internet
的标准协议。
CIDR 消除了传统的自然分类地址和子网划分的界限,可以更加有效地分配IPV4的地址空
间,在IPv6使用之前应对Internet的规模增长。

CIDR不再使用“子网地址”或“网络地址”的概念,转而使用“网络前缀(network-prefix)”
这个概念。与只能使用8位、16位、24位长度的自然分类网络号不同,网络前缀可以有各种
长度,前缀长度由其相应的掩码标识。

CIDR前缀既可以是一个自然分类网络地址,也可以是一个子网地址,也可以是由多个自
然分类网络聚合而成的“超网”地址。所谓超网就是利用较短的网络前缀将多个使用较长网络

前缀的小网络聚合为一个或多个较大的网络。例如,某机构拥有2个C类网络200.1.2.0和
200.1.3.0,而其需要在一个网络内部署500台主机,那么可以通过CIDR的超网化将这2个C
类网络聚合为一个更大的超网200.1.2.0,掩码为255.255.254.0。

CIDR可以将具有相同网络前缀的连续的IP地址组成CIDR地址块。一个CIDR地址块使
用地址块的起始地址(前缀)和起始地址的长度(掩码)来定义。例如,某机构拥有256个C
类网络 200.1.0.0、200.1.1.0 …… 200.1.255.0,那么可以将这些地址合并为一个B类大小的
CIDR地址块,其前缀为200.1.0.0,掩码为255.255.0.0。

因为一个CIDR地址块可以表示很多个网络地址,所以支持CIDR的路由器可以利用CIDR
地址块来查找目的网络,这种地址的聚合称为强化地址汇聚,它使得Internet的路由条目数大
量减少。路由聚合减少了路由器之间路由选择信息的交互,从而提高了整个Internet的性能。

CIDR 使用“斜线表示法(slash notation)”表示一个网络,又称为CIDR记法。即在IP地
止后面加上一个斜线“/”,然后写上网络前缀所占的位数,这个数值也就是子网掩码中为1的
立数。这种表示方法也应用于子网掩码的表示。

例如,192.168.1.1/27表示在32位的IP地址中,前27位表示网络前缀,而后面的5位
表示主机号。

文章总结:

■ 子网划分缓解了IP地址资源耗尽

■ 进行子网规划时涉及多种计算

■ 定长子网划分要求网络使用同一子网掩码

■ VLSM和CIDR可以更加有效地利用IP地址空间

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值