大型网络如何划分IP地址的,其实就这么简单!

科技   2024-10-13 08:31   陕西  

段时间有群友在里面聊子网划分,有几个不懂的网工朋友,悄悄来私聊,表示想再补充一下这方面的知识。



看了眼,公众号关于这方面的内容,确实还可以再补充点。


子网划分技术其实是计算机网络基础中的重点难点了。今天就给你来一篇,IP子网划分VLSM详解。



01

什么是IP地址


老规矩啊,先给你讲一波理论基础。


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


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


IP协议定义了数据分组的格式,也定义了数据分组寻址的方式。目前我们在业务环境中常见的IP主要是两个版本


IPv4及IPv6


而现阶段网络主体仍然是IPv4,但是在可预见的未来,会逐渐向IPv6过渡。今天只介绍IPv4哈。


一个IPv4地址有32比特位(二进制格式下)。


当然,我们不可能用二进制来书写IPv4地址,那是低效的,我们通常采用十进制格式来书写IP地址,但是计算机在进行IP地址的相关计算工作时,无疑是通过二进制的形式来进行。


因此掌握十进制到二进制的数制转换是必备的技能。


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




02

十进制与二进制的转换


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


例如:



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





03

IP地址的分类



IPv4地址的空间从0.0.0.0 一直到 255.255.255.255,这么庞大的空间,如果不加以区分和规划,势必不便于统筹管理。


因此我们对IPv4地址空间进行类别上的划分,一共有五类:



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


第一个八位组首位恒定为0,那么我们就得到一个区间:


1.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类地址,这类地址保留作为研究使用。




04

网络掩码Netmask


一个IP地址包含两部分:网络部分以及主机部分。


网络部分用于表示这个IP地址所处的“空间”,对于一台路由器而言,当它在为数据包寻址时,通常只关心IP地址的网络部分。


那么如何区分一个IP地址中的网络与主机部分?


自然是网络掩码(Network Mask,简称netmask),用于和IP地址进行对应,从而标识出IP地址中的网络与主机部分。


● 网络掩码为32bits,与IPv4地址的位数是一样的。

● 网络掩码在二进制的表示上是一堆连续的1、后面接连续的0。

● 网络掩码值为1的bit对应IP地址中的网络位;为0的bit对应IP地址中的主机位,以此来辅助我们识别一个IP地址中的网络与主机位,如下图:



为了方便书写,我们往往使用掩码长度的方式来表示一个IP地址+掩码:


192.168.1.1 255.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类地址则更少。




05

IP地址类型


这里给你说说下面这三种类型。


● 网络地址:


标识一个网络,相当于一个“面”的概念。是一个IP地址中主机位全0的地址。例如192.168.10.0/24。


● 广播地址:


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


● 主机地址:


可分配给网络中终端设备的地址。例如192.168.10.1/24至192.168.10.254/24。


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





06

为什么要划分子网


假设你有一个B类地址:172.16.0.0,由于B类地址的默认掩码是255.255.0.0,这就意味着这个网络内有2的16次方个地址。


而可分配给PC使用的IP地址就有2的16次方-2这么多个IP,为什么要减去2?


因为广播地址及网络号是不能分配给PC使用的。



设想一下,如果你真有这么多台PC,这么多个IP地址处于同一个网络中、同一个网段中、同一个广播域中,如上图所示。


那么一旦网络中发生广播,影响可就大了。


再者,实际的业务环境中,我们往往给一个业务单元,划分一个网段,不同的业务单元不同的网段。


那么如果你有10个业务单元,每个业务单元才百来号设备,一个业务单元就耗费一个B类地址,这就造成地址空间的浪费。



因此,我们提出子网划分的概念,子网划分的术语叫做VLSM(Variable Length Subnet Mask,可变长子网掩码),事实上是拿子网掩码变戏法。


在上图中,我们有五个网段,需要五个IP地址段。


而如果你只有一个B类地址(172.16.0.0/16)可用,通过子网划分,可以将这个B类地址划分成一个个小一点的子网。


这样一来,一个庞大的广播域可以被分割成小的单元,另外IP地址的使用也更为科学更为合理。




07

如何划分子网



现在假设我们有一个B类地址:172.16.0.0/16。


默认情况下,这个B类地址的掩码为255.255.0.0,前两个八位组是网络位,后两个八位组是主机位。


那么这个单一的网络中,有2的16次方个IP地址,如上图所示,非常庞大。



现在,将原有的16个位的网络位向主机位去“借”一位,这样一来网络位就扩充到了17位,相对的主机位就变成了15位。


那么借过来的这一位,就是子网位了,如上图所示。


由于我们借了这一位,因此掩码就从默认的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这两个小一点的网段。


这就是子网划分。


务必要关注网络掩码在这个过程中发挥的作用。


接下来给你说两个子网划分的案例。




08

子网划分—案例1


现在有一个IP地址:192.168.1.0,这是一个C类地址,默认的掩码是/24。


我要对它做子网划分,向主机位借一位作为子网位,也就是掩码变成/25,那么我能拿到几个子网?


每个子网网络号是多少?每个子网广播号是多少?每个子网的可用IP是多少?


步骤如下:


 01  判断类别,找默认掩码 



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


 02  变更掩码,找子网 



在原有的/24掩码基础上,向主机位借一位,掩码变成/25。


借出来的这一位就是子网位,如上图所示,我们只要将虚线往右移动一格就行。


这个子网位要么为0,要么为1,两种可能性。


这就创造了两个子网(2的1次方),子网位为0时,得到的网络号是192.168.1.0/25,子网位为1时,得到另一个子网的网络号192.168.1.128/25。


如下图所示:



 03  得出广播号 



上面分别列出了子网1及子网2的广播号,其实很简单,就是把各个子网的主机位全部置1即可。


因此子网192.168.1.0/25的广播号为192.168.1.127;子网192.168.1.128/25的广播号为192.168.1.255;


 04  得出每个子网的可用IP地址数量 


经过上面的计算,得出了子网1及子网2的网络号和广播号,那么每个子网可用的IP地址也就出来了,因为可用IP实际上就是该子网的网络号与广播号之间夹着的那些个IP。


所以实际上我们对192.168.1.0这个C类地址,用了一个变长子网:/25,也就是向主机位借1位后产生出了2个子网,每个子网有126个可用IP地址。


这里有个公式:





09

子网划分—案例2


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



默认掩码/24,新掩码/27因此网络位向主机位借了3位,产生了8个子网,每个子网可用IP地址为30;


而相应的每个子网块的大小就为32,也就是2的5次方(5是剩余的主机位数)。


现在开始把每个子网罗列一下,结果发现192.168.1.64/27这个IP地址,其实是一个子网的网络号。


既然是网络号,当然是不能分配给PC用的了。



---END---

计算科学与信息化
计算机网络与安全、区块链、人工智能、CV、VR/AR、数据分析挖掘、编程开发以及各种软硬件技术知识分享。欢迎关注计算科学与信息化!
 最新文章