服务时间:8:30-18:00

首页 >华为认证网

IP子网划分详解

发布时间:2023-02-27 09:40 字数:2366字 阅读:196

IP子网划分详解,要阐述子网划分,首先需要明确如下问题:

●子网划分的依据是什么?

●每个子网应该包含多少个有效节点地址?

1.子网掩码

首先,需要了解什么是子网掩码(Subnet Mask)。与IP地址类似,子网掩码由32 bit(4字节)组成,以点分十进制表示。

然而它本身并不是一个IP地址,子网掩码的使用规则是,子网掩码由前面连续的1和后面连续的0组成。例如,255.255.255.0=11111111.11111111.11111111.00000000。

通常,将前面连续的1的数量称为一个子网掩码的长度,在上面这个例子中我们称它为24位掩码。

子网掩码一般与IP地址结合使用,掩码长度表示该IP地址的网络部分的长度。将一个IP地址与它的子网掩码进行与运算,得到的结果便是该IP地址的网络地址。

2.与运算

将IP地址与子网掩码逐位进行与运算,同为1时得1,其他情况均为0。与运算结果如表1所示。

表1 与运算结果

与运算结果

3.有类网络

根据前面探讨的A类、B类、C类等网络分类,以及定义好的网络部分长度,将符合这一标准的网络规划及地址分配方式称为有类网络。

也就是说,A类网络使用固定的子网掩码255.0.0.0,B类网络使用固定的子网掩码255.255.0.0,C类网络则使用固定的子网掩码255.255.255.0。

设备只需要读取IP地址前面几个bit就能知道如何区分该IP地址的网络部分和节点地址部分,这样的网络被称为有类网络。

4.无类网络

现在,了解子网掩码之后可以研究下面这个问题。

设想这样一种情况,假设一个企业有500台终端需要接入网络,使用一个C类网络显然并不能够满足需求,而使用一个B类网络又会浪费大量的IP地址资源。

●一个 C类网络可容纳的有效节点数量为28=256,减去两个特殊地址则等于254;

●一个 B类网络可容纳的有效节点数量为216=65536,减去两个特殊地址等于65534。

于是聪明的前辈们想到了一个办法,那就是子网划分,经过子网划分之后的子网被称为无类网络。

进行子网划分的计算方法可能并不止一种,读者可以自行选择适合自己的方法,本节仅展示其基本原理。

继续探讨一个企业有500台终端需要接入网络的案例,为了满足一个使用一个C类网络容量不够,而使用一个B类网络又浪费大量IP地址空间的客户需求,可以采用子网划分技术。

首先我们需要了解下面的内容。

我们已经知道了,节点地址的容量取决于节点部分的bit数量,总之,网络部分和子网以及节点地址部分的bit数量加起来必须等于32 bit。

也就是说,节点地址部分,1 bit可以表示两个节点地址,即2^1 对吗?

那么,2 bit呢?2^2=4,3 bit呢?2^3=8,…,2^8=256,以此类推,换算表如表2所示。

表2 换算表

换算表

根据表1的规律,一个网络中节点地址的bit数量,决定了该网络相应的所能够容纳的节点数量。

我们这个案例中需要500台设备接入网络,显然使用29=512个节点地址,也就是9 bit的节点地址长度就可以满足客户需求了。

现在,轮到子网掩码出场了,使用子网掩码来向设备标明,一个IP地址究竟哪些位是网络部分,哪些位是节点地址部分。

例如,我们使用172.16.0.0这个B类网络来为该客户提供服务,那么管理员就需要将这个B类网络进行子网划分,将其分割成正好可以满足客户需求大小的网络。

我们需要9 bit的节点地址位,32-9=23,也就是说,需要将网络地址部分定义为23 bit长。前面说过,子网掩码由前面连续的1来表示网络部分,后面连续的0表示节点地址部分,采用二进制表示:

11111111.11111111.11111110.00000000=255.255.254.0。

分配给该客户的网络地址范围为172.16.0.0/23,这个“/23”是一种让人好理解的书写方式,不是吗?同时也很清晰地表示出该网络的网络部分究竟是多长。

问题来了,该B类网络经过这样的子网划分后,究竟划分出了哪些个子网呢?

首先,前面两个八位组,也就是前16 bit必须是一致的,这样才同属一个B类网络。在本案例中,从第17~23位,相同则属于同一B类网络的同一子网,不同则属于同一B类网络的不同子网,这样讲你理解了吗?如果不理解,那也没关系,我们来看下面的例子:

网络部分相同,才能被认为是在同一子网中,也就是说,我们所划分出的子网,前面16 bit必须等于172.16 这样才算是在172.16.0.0 这个B类网络中。

我们继续往下看:

如上所述,为了满足客户的要求,完成子网划分后,子网IP地址采用二进制表示;如果其网络部分一致,则被认为划分的子网在同一网络;如果其网络部分不一致,则被认为划分的子网不在同一网络。很明显,上面两个IP地址的网络部分是相同的,因此我们认为它们在同一个子网中。

再往下看:

这两个IP地址的网络部分的最后一位是不同的,所以它们被认为不在同一子网中。如果读者还存在疑惑,那么我们再举一例:

这两个IP地址的网络部分是相同的,因此它们在同一个子网当中。总结一下上面的这些例子:

这些IP地址分别在相同或者不同的子网当中,但是作为B类网络,它们都属于172.16.0.0这个B类的主网络,依据就是,按照B类网络的定义,它们的前16 bit都为172.16,是一致的。

也就是说,这些IP地址同属于一个B类网络,但是因为进行了子网划分,它们分别属于同一个B类网络的不同子网。

现在,我们可以回答本节最开始提出的问题了:

●子网划分的依据是子网掩码的长度;

●划分出的子网应该包含网络需求的最少需要的有效节点地址数量。

当然,设计一个可支持后续业务发展的子网规划是很必要的。