5.2 子网划分
5.2.1为什么要划分子网
如果你的单位申请获得一个B类网络地址172.50.0.0,你们单位的所有主机的IP地址就将在这个网络地址里分配。如172.50.0.1、172.50.0.2、172.50.0.3…。那么这个B类地址能为多少台主机分配IP地址呢?我们看到,一个B类IP地址有两个字节用作主机地址编码,因此可以编出216-2个,即六万多个IP地址码。(计算IP地址数量的时候减2,是因为网络地址本身172.50.0.0和这个网络内的广播IP地址172.50.255.255不能分配给主机。)
能想象六万多台主机在同一个网络内的情景吗?它们在同一个网段内的共享介质冲突和它们发出的类似ARP这样那样的广播会让网络根本就工作不起来。
因此,需要把172.50.0.0网络进一步划分成更小的子网,以在子网之间隔离介质访问冲突和广播报。
将一个大的网络进一步划分成一个个小的子网的另外一个目的是网络管理和网络安全的需要。我们总是把财务部、档案部的网络与其它网络分割开来,外部进入财务部、档案部的数据通讯应该受到限制才对。
我们来假设172.50.0.0这个网络地址分配给了铁道部,铁道部网络中的主机IP地址的前两个字节都将是172.50。铁道部计算中心会将自己的网络划分成郑州机务段、济南机务段、长沙机务段…等铁道部的各个子网。这样的网络层次体系是任何一个大型网络需要的。
下面是,郑州机务段、济南机务段、长沙机务段…等各个子网的地址是什么呢?怎么样能让主机和路由器分清目标主机在哪个子网中呢?这就需要给每个子网分配子网的网络IP地址。
通行的解决方法是将IP地址的主机编码分出一些位来挪用为子网编码。
我们可以在172.50.0.0地址中,将第3个字节挪用出来表示各个子网,而不再分配给主机地址。这样,我们可以用172.50.1.0表示郑州机务段的子网,172.50.2.0分配给济南机务段作为该子网的网络地址,172.50.3.0分配给长沙机务段作为长沙机务段子网的网络地址。于是,172.50.0.0网络中有172.50.1.0、172.50.2.0、172.50.3.0…等子网。
事实上,为了解决介质访问冲突和广播风暴的技术问题,一个网段超过200台主机的情况是很少的。一个好的网络规划中,每个网段的主机数都不超过80个。
因此,划分子网是网络设计与规划中非常重要的一个工作。 5.2.2子网掩码
为了给子网编址,就需要挪用主机编码的编码位。在4.2.1的例子中,我们挪用了一个字节8位。
我们来看下面的例子:
一小型企业分得了一个C类地址202.33.150.0,准备根据市场部、生产部、车间、财务部分成4个子网。现在需要从最后一个主机地址码字节中借用2位(22=4)来为这4个子网编址。子网编址的结果是:
市场部子网地址:202.33.150.00000000==202.33.150.0
生产部子网地址:202.33.150.01000000==202.33.150.64
车间子网地址: 202.33.150.10000000==202.33.150.128
财务部子网地址:202.33.150.11000000==202.33.150.192
在上面的表示中,我们用下划线来表示我们从主机位挪用的位。下划线明确地表现出我们所挪用的两位。
现在,根据上面的设计,我们把202.33.150.0、202.33.150.64、202.33.150.128和202.33.150.192定为4个部门的子网地址,而不是主机IP地址。可是,别人怎么知道它们不是普通的主机地址呢?
我们需要设计一种辅助编码,用这个编码来告诉别人子网地址是什么。这个编码就是掩码。一个子网的掩码是这样编排的:用4个字节的点分二进制数来表示时,其网络地址部分全置为1,它的主机地址部分全置为0。如上例的子网掩码为:
11111111.11111111.11111111.11000000
通过子网掩码,我们就可以知道网络地址位是26位,而主机地址的位数是6位。
子网掩码在发布时并不是用点分二进制数来表示的,而是将点分二进制数表示的子网掩码翻译成与IP地址一样的用4个点分十进制数来表示。上面的子网掩码在发布时记作:
255.255.255.192
(11000000转换为十进制数为192。二进制数转换为十进制数的简便方法是把二进制数分为高4位和低4位两部分。用高4位乘以16,然后加上低4位。
下面是转换的步骤:
11000000拆成高4位和低4位两部分:1100和0000
记住:1000对应十进制数8
0100对应十进制数4
0010对应十进制数2
0001对应十进制数1
高4位1100转换为十进制数为8+4=12,低4位转换为十进制数为0。最后,11000000转换为十进制数为12x16+0=192)
子网掩码通常和IP地址一起使用,用来说明IP地址所在的子网的网络地址。
图5.10显示Windows 2000主机的IP地址配置情况。图中的主机配置的IP地址和子网掩码是211.68.38.155、255.255.255.128。子网掩码255.255.255.128说明211.68.38.155这台主机所属的子网的网络地址。
一眼是无法通过子网掩码255.255.255.128看出211.68.38.155该在哪个子网上的,需要通过逻辑与计算来获得211.68.38.155所属子网的网络地址:
因此,我们计算出211.68.38.155这台主机在211.68.38.0网络的211.68.38.128子网上。
(十进制数转换为二进制数的简便方法:
用十进制除以16,商是二进制数的高4位,余数是低4位。
211转换为二进制数,先用211除16,商是13,余数是3。
二进制数的高4位是1101(13),低4位是0011(3)。
211转换为二进制数的结果就是:11010011。)
如果我们不知道子网掩码,只看IP地址211.68.38.155,我们就只能知道它在211.68.38.0网络上,而不知道在哪个子网上。
(在计算子网掩码的时候,经常要进行二进制数与十进制数之间的转换。可以借助Windows的计算器来轻松完成,但是要用“查看”菜单把计算器设置为“科学型”。Windows的计算器默认设置是“标准型”。在十进制数转二进制数的时候,先选择“十进制”数值系统前面的小圆点,输入十进制数,然后点“二进制”数值系统前面的小圆点就得到转换的二进制数结果了。反之亦然。参见图5.11。)
子网掩码在下一章要讨论的路由器设备上非常重要。路由器要从数据报的IP报头中取出目标IP地址,用子网掩码和目标IP地址进行与操作,进而得到目标IP地址所在的网络的网络地址。路由器是根据目标网络地址来工作的。 5.2.3子网中的地址分配
我们回顾一下4.2.2中例子,以展开本节的讨论。4.2.2中例子的各个部门子网的编址的是:
市场部子网地址: 202.33.150.0
生产部子网地址: 202.33.150.64
车间子网地址: 202.33.150.128
财务部子网地址: 202.33.150.192
下面,我们为市场部的主机分配IP地址。
市场部的网络地址是202.33.150.0,第一台主机的IP地址就可以分配为202.33.150.1,第二台主机分配202.33.150.2,依此类推。最后一个IP地址是202.33.150.62,而不是202.33.150.63。原因是202.33.150.63是202.33.150.0子网的广播地址。
根据广播地址的定义:IP地址主机位全置为1的地址是这个IP地址在所在网络上的广播地址。202.33.150.0子网内的广播地址就该是其主机位全置为1的地址。计算202.33.150.0子网内广播地址的方法是:把202.33.150.0转换为二进制数:202.33.150.00000000,再将后6位主机编码位全置为1:202.33.150.00111111,最后再转换回十进制数202.33.150.63。因此得知202.33.150.63是202.33.150.0子网内的广播地址。
同样方法可以计算出各个子网中主机的地址分配方案:
每个子网的IP地址分配数量是26-2=62个。IP地址数量减2的原因是需要减去网络地址和广播地址。这两个地址是不能分配给主机的。
所有子网的掩码是255.255.255.192。各个主机在配置自己的IP地址的时候,要连同子网掩码255.255.255.192一起配置。 5.2.4IP地址设计
企业或者机关从连接服务商ISP那里申请的IP地址是网络地址,如179.130.0.0,企业或机关的网络管理员需要将在这个网络地址上为本单位的主机分配IP地址。在分配IP地址之前,首先需要根据本单位的行政关系、网络拓朴结构划分网,为各个子网分配子网地址。然后才能在子网地址的基础上为各个子网中的主机分配IP地址。
我们从ISP那里申请得到的网络地址也称为主网地址,这是一个没有挪用主机位的网络地址。单位自己划分出的子网地址需要挪用主网地址中的主机位来为各个子网编址。网络地址或主网地址不用掩码也可以计算出来,只需要看出它是哪一类IP地址。A类主网地址是255.0.0.0,B类主网地址是255.255.0.0,C类主网地址是255.255.255.0。
下面我们从一个例子来学习完整的IP地址设计。
设某单位申请得到一个C类地址200.210.95.0,需要划分出6个子网。我们需要为这6个子网分配子网地址,然后计算出本单位子网的子网掩码、各个子网中IP地址的分配范围、可用IP地址数量和广播地址。
步骤1:计算机需要挪用的主机位数的位数。
需要多少主机位需要试算。借1位主机位可以分配出21=2个子网地址;借2位主机位可以分配出22=4个子网地址;借3位主机位可以分配出23=8个子网地址。因此我们决定挪用3位主机位作为子网地址的编码。
步骤2:用二进制数为各个子网编码。
子网1的地址编码:200.210.95.00000000
子网2的地址编码:200.210.95.00100000
子网3的地址编码:200.210.95.01000000
子网4的地址编码:200.210.95.01100000
子网5的地址编码:200.210.95.10000000
子网6的地址编码:200.210.95.10100000
步骤3:将二进制数的子网地址编码转换为十进制数表示,成为能发布的子网地址。
子网1的子网地址:200.210.95.0
子网2的子网地址:200.210.95.32
子网3的子网地址:200.210.95.64
子网4的子网地址:200.210.95.96
子网5的子网地址:200.210.95.128
子网6的子网地址:200.210.95.160
步骤4:计算出子网掩码
先计算出二进制的子网掩码:11111111.11111111.11111111.11100000
(下划线的位是挪用的主机位)
转换为十进制表示,成为对外发布的子网掩码:255.255.255.224
步骤5:计算出各个子网的广播IP地址
先计算出二进制的子网广播地址,然后转换为十进制:200.210.95.00011111
子网1的广播IP地址:200.210.95. 00011111 / 200.210.95.31
子网2的广播IP地址:200.210.95. 00111111 / 200.210.95.63
子网3的广播IP地址:200.210.95. 01011111 / 200.210.95.95
子网4的广播IP地址:200.210.95. 01111111 / 200.210.95.127
子网5的广播IP地址:200.210.95. 10011111 / 200.210.95.159
子网6的广播IP地址:200.210.95. 10111111 / 200.210.95.191
实际上,简单地用下一个子网地址减1,就得到本子网的广播地址。我们列出二进制的计算过程是为了让读者更好地理解广播地址是如何被编码的。
步骤6:列出各个子网的IP地址范围
子网1的IP地址分配范围:200.210.95.1至200.210.95.30
子网2的IP地址分配范围:200.210.95.33至200.210.95.62
子网3的IP地址分配范围:200.210.95.65至200.210.95.94
子网4的IP地址分配范围:200.210.95.97至200.210.95.126
子网5的IP地址分配范围:200.210.95.129至200.210.95.158
子网6的IP地址分配范围:200.210.95.161至200.210.95.190
步骤7:计算出每个子网中的IP地址数量
被挪用后主机位的位数为5,能够为主机编址的数量为25-2=30。
减2的目的是去掉子网地址和子网广播地址。
划分子网会损失主机IP地址的数量。这是因为我们需要拿出一部分地址来表示子网地址、子网广播地址。另外,连接各个子网的路由器的每个接口也需要额外的IP地址开销。但是,为了网络的性能和管理的需要,我们不得不损失这些IP地址。
前一段时间,子网地址编码中是不允许使用全0和全1的。如上例中的第一个子网不能使用200.210.95.0这个地址,因为担心分不清这是主网地址还是子网地址。但是近年来,为了节省IP地址,允许全0和全1的子网地址编址。(注意,主机地址编码仍然无法使用全0和全1的编址,全0和全1的编址被用于本子网的子网地址和广播地址了。)
读者在实际工作中可以建立下面相同的表格,以便快速进行IP地址设计。
B类地址的子网划分:
在有网段划分的企业、单位的网络中,就会遇到对网络IP地址的设计。设计的核心是从IP地址的主机编码位处借位来为子网进行编码。学会并理解本节介绍的方法,就会很容易对任何网络类型进行子网划分并创建子网。
各省软考办 | ||||||||||