0

    子网划分不会?瑞哥带你深入理解IP地址,手把手教你子网划分

    2023.04.13 | admin | 262次围观

    1. 什么是IP地址

    IP地址在网络中用于标识一个节点(例如一台主机,或者一个网络设备的接口)。

    在IP网络中,数据包的寻址是基于IP地址来进行的,因此IP地址就像是现实生活中的地址一样。

    IP协议定义了IP数据报文的格式,也定义了数据报文寻址的方式。目前我们在业务环境中常见的IP主要是两个版本:IPv4及IPv6,而现阶段网络主体仍然是IPv4,但是在可预见的未来,会逐渐向IPv6过渡。本文只介绍IPv4。

    一个IPv4地址有32bit。当然,我们不可能用二进制来书写IPv4地址,那是低效的,我们通常采用十进制格式来书写IP地址,但是计算机在进行IP地址的相关计算工作时,无疑是通过二进制的形式来进行。因此掌握十进制到二进制的数制转换是必备的技能。

    IPv4地址通常采用“点分十进制”表示,以适应人类的读写习惯,例如192.168.1.1。

    2. 十进制与二进制的转换

    “点分十进制”IP地址表现形式能够帮助我们更好的使用网络,但网络设备在对IP进行计算时使用的是二进制的操作方式,例如:

    以下是192这个数字,对应的二进制算法,这里就不再赘述了,这是基本技能。

    3. IP地址的分类

    IPv4地址的长度为32bit,如上图所示,IPv4地址的空间从0.0.0.0 一直到 255.255.255.255,这么庞大的空间,如果不加以区分和规划,势必不便于统筹管理。因此我们对整个IPv4地址空间进行类别上的划分,一共分为5类:

    地址的类别上的区分主要体现在第一个八位组(一个IP地址拥有4个八位组)上:

    第一个八位组首位恒定为0,那么我们就得到一个区间:0.0.0.0一直到127.255.255.255。这是A类地址,其中127.0.0.0/8作为本地回环使用,例如你ping 127.0.0.1实际上ping的是本机。所以如果看到一个IP地址,它的首个八位组掉落在1-126区间内,那么这是一个A类地址第一个八位组的最高两位恒定为二进制的10,就得到一个区间:128.0.0.0-191.255.255.255,这是B类地址。第一个八位组的最高三位恒定为110,就得到一个区间:192.0.0.0 – 223.255.255.255,这是C类地址。第一个八位组的最高四位恒定为1110,就得到一个区间:224.0.0.0 – 239.255.255.255,这是D类地址,这个类别的地址专门用于组播剩下的是E类地址,这类地址保留作为研究使用。4. 网络掩码(Network Mask)

    一个IP地址包含两部分:网络部分以及主机部分。网络部分用于表示这个IP地址所处的“空间”,对于一台路由器而言,当它在为数据包寻址时,通常只关心IP地址的网络部分。那么如何区分一个IP地址中的网络与主机部分呢——网络掩码(Network Mask,简称netmask)用于和IP地址进行对应,从而标识出IP地址中的网络与主机部分。

    为了方便书写,我们往往使用掩码长度的方式来表示一个IP地址+掩码组合,例如192.168.1.1255.255.255.0 等同于192.168.1.1/24。因为255.255.255.0写成二进制的话,从左往右数就是24个1,所以我们也说,它的掩码长度为24。

    默认情况下,A类IP地址的首个八位组为网络位,其他位为主机位,因此A类地址的默认掩码就是255.0.0.0,或者说掩码长度为/8。B类IP地址前两个八位组为网络位,后两个八位组为主机位,因此B类地址的默认掩码就是255.255.0.0或者掩码长度/16。C类地址的前三个八位组为网络位,最后一个八位组是主机位,因此C类地址的默认掩码就是255.255.255.0,或者掩码长度为/24。从这里可以看出,如果申请到一个A类地址段123.0.0.0/8,那么这是一个相当庞大的地址空间,因为这个空间有2的24次方个IP地址。相对的,一个B类的IP网络地址空间默认有2的16次方个IP地址,而每个C类地址段所拥有的主机数量则更少。

    5. IP地址类型网络地址

    用于标识一个网络,相当于一个“面”的概念。网络地址是一个IP地址中主机位为全0的地址。例如192.168.10.0/24,该地址标识了一个网络,在这个网络中,存在多个IP地址,可用于分配给各种设备,例如192.168.10.1、192.168.10.2、…、192.168.10.254,这些地址都属于192.168.10.0/24网络。网络地址不能够被分配给主机。

    广播地址

    用于向网络中的所有节点发送数据的特殊地址。广播地址即主机部分的各比特位全部为1的地址。例如192.168.10.255/24,该地址是192.168.10.0/24这个网络的广播地址。

    节点地址

    可分配给网络中的设备的地址。例如92.168.10.1/24至192.168.1.254/24。网络地址及广播地址是不能够直接被分配给某个设备(的网卡)或者网络设备(的接口)的,因为它们有特殊用途。

    例:192.168.1.0 这个C类地址对应的网络地址、广播地址及可分配IP地址分别是?

    6. 为什么要划分子网

    假设你有一个B类地址段172.16.0.0/16,由于B类地址的默认掩码是255.255.0.0,这就意味着这个网络内有2的16次方个IP地址,而可分配给设备使用的IP地址就有2的16次方-2这么多个,为什么要减去2?因为广播地址及网络地址是不能分配给设备使用的。

    设想一下,如果一个网络中真有这么多台PC,这么多个IP地址处于同一个网段中、同一个广播域中,如上图所示,那么一旦网络中发生广播,影响可就大了。再者,在实际的业务环境中,我们往往会给一个业务单元(例如一个公司内的各个部门),划分一个独立的IP网段,不同的业务单元不同的IP网段,那么如果有10个业务单元,每个业务单元才几十近百台设备,一个业务单元就耗费一个B类地址段,这就会造成IP地址的浪费。

    因此,我们提出子网划分的概念,子网划分所使用的思维是VLSM(Variable Length Subnet Mask,可变长子网掩码),事实上是拿网络掩码变戏法。在下图中有五个网段,需要五个IP地址段,如果只有一个B类地址(172.16.0.0/16)可用,那么通过子网划分,可以将这个B类地址划分成一个个小一点的子网。这样一来,一个庞大的网络就可以被分割成小的单元,另外IP地址的使用也更为科学更为合理。

    7. 如何划分子网

    现在假设我们有一个B类地址段172.16.0.0/16,默认情况下,这个B类地址的掩码为255.255.0.0,前两个八位组是网络位,后两个八位组是主机位。那么这个单一的网络中,有2的16次方个IP地址,如上图所示,非常庞大。

    现在,在原有网络位的基础上,再向主机位借一个bit作为网络位的补充,网络位就扩充到了17bit,相对的主机位就变成了15bit。那么借过来的这一位,就是子网位了,如上图所示。由于我们借了这一位,因此网络掩码就从默认的255.255.0.0变成了255.255.128.0或者说从/16变成了/17。

    于是从原来的只有172.16.0.0/16的一个大网段,变成现在拥有172.16.0.0/17及172.16..128.0/17这两个小一点的网段,这就是子网划分。务必要关注网络掩码在这个过程中发挥的作用。

    8. 子网划分例子一

    现在有一个IP地址:192.168.1.0,这是一个C类地址,默认的掩码是/24,我要对它做子网划分,向主机位借一位作为子网位,也就是掩码长度变成/25,那么我能得到几个子网?每个子网的网络地址是多少?每个子网的广播地址是多少?每个子网的可用IP地址范围是多少?

    步骤如下:

    A.判断类别,找默认掩码:

    首先这是一个C类地址,因此默认的掩码长度为/24,你可以划一条竖线帮助计算。线的左边为网络位,右边为主机位电脑查本机ip地址,如上图所示。

    B.变更掩码,找子网:

    在原有的/24掩码基础上,向主机位借一位,掩码变成/25。借出来的这一位就是子网位,如上图所示,我们只要将虚线往右移动一格就行。这个子网位的值要么为0,要么为1电脑查本机ip地址,也就是存在两种可能性,这就创造了两个子网(2的1次方),子网位为0时,得到的子网地址是192.168.1.0/25,子网位为1时,得到另一个子网的网络地址192.168.1.128/25,如下图所示:

    C.得出广播地址:

    上面分别列出了子网1及子网2的广播地址,其实很简单,就是把各个子网的主机位全部置1即可。因此子网192.168.1.0/25的广播地址为192.168.1.127;子网192.168.1.128/25的广播地址为192.168.1.255;

    D.得出每个子网的可用IP地址数量:

    经过上面的计算,得出了子网1及子网2的网络地址和广播地址,那么每个子网可用的IP地址也就出来了,因为可用IP地址实际上就是该子网的网络地址与广播地址之间夹着的那些个IP地址。所以实际上我们对192.168.1.0/24这个C类地址段,用了一个变长后的子网掩码长度:/25,也就是向主机位借1位后产生出了2个子网,每个子网有126个可用IP地址。这里有个公式:

    9. 子网划分例子二

    假设现在有一个IP地址:192.168.1.64/27,想把这个地址配置在一台PC上,是否可行?

    由于该地址的默认掩码长度为/24,而新掩码长度为/27,因此网络位向主机位借了3位,产生了8个子网,每个子网内包含的所有IP地址数量为32,也就是2的5次方(5是剩余的主机位数)。现在开始把每个子网罗列一下,结果发现192.168.1.64/27这个IP地址,其实是其中一个子网的网络地址,既然是网络地址,当然是不能分配给PC用的了。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论