192.168.1.0/24,如何理解?
大家好,我是猿java。
在互联网快速发展的过程中,传统的 IP地址分配方法(即分类地址或类 ful地址)逐渐暴露出多种不足,为了解决这些问题,1993年引入了CIDR。那么,CIDR是什么?它有什么作用?我们该如何理解?这篇文章,我们一起来聊一聊!
1 什么是CIDR?
CIDR,全称为Classless Inter-Domain Routing(无类域间路由),是一种用于IP地址分配和路由选择的新方法。与传统的类ful分类法不同,CIDR不依赖于预定义的A、B、C类,而是采用可变长度子网掩码(Variable Length Subnet Mask, VLSM),根据实际需要灵活划分IP地址块。
2. CIDR表示法
CIDR表示法通过在IP地址后添加一个斜杠(/
)和一个数字来表示网络前缀(子网掩码),格式如下:
1 | IP地址/前缀长度 |
例如:
192.168.1.0/24
(IPv4)2001:0db8::/32
(IPv6)
下面分别讲解 CIDR表示法中的两个部分:
IP 地址
IP 地址目前有两类,分别是 IPv4和 IPv6。
- IPv4 地址:IPv4(第四版互联网协议)地址由 32位 二进制数构成。为了便于理解和使用,IPv4地址通常以点分十进制格式表示,即将 32位二进制数分成四个 8位(一个字节,范围在0到255之间)部分,每部分用十进制数表示,彼此之间用点号(.)分隔,例如
192.168.1.0
。 - IPv6 地址:IPv6地址由128位二进制数构成,这相比IPv4的32位地址,提供了极其庞大的地址空间。为了简化IPv6地址的表示,通常采用8组四位十六进制数,通过冒号(:)分隔(例如
2001:0db8::
)。
前缀长度
前缀长度表示网络部分的比特数,决定了网络的大小,更通俗地说就是前 N位保持不变。例如:
/24
表示前 24位是网络部分,对应子网掩码255.255.255.0
。/16
表示前 16位是网络部分,对应子网掩码255.255.0.0
。
为了更好地理解 CIDR表示法,我们通过换算两个例子。
- 192.168.0.0/16,换算为 32位二进制地址:11000000.10101000.00000000.00000000。其中
/16
表示 16位网络ID,即 32位二进制地址中前 16位是固定不变的,对应网段为:11000000.10101000.00000000.00000000~11000000.10101000.11111111.11111111,即192.168.0.0 ~ 192.168.255.255。 - 192.168.1.2/24,换算为32位二进制地址:11000000.10101000.00000001.00000000。其中
/24
表示 24位网络ID,即 32位二进制地址中前 24位是固定不变的,对应网段为:11000000.10101000.00000001.00000000~11000000.10101000.00000001.11111111,即 192.168.1.0 ~ 192.168.1.255。
因此,如果我们在做白名单设置地时候,如果设置的 CIDR是:192.168.0.0/16,那么就可以允许 192.168.0.0~192.168.255.255这个子网的IP访问。
4. CIDR 的优势
地址空间的高效利用:传统的类地址(A、B、C类)分配方式往往导致大量地址浪费。CIDR允许根据实际需要分配不同大小的子网,减少浪费。
路由表的简化:CIDR通过聚合多个连续的IP段成一个路由条目,减少路由表的规模,提高路由效率。
灵活性:CIDR不依赖于固定的类地址边界,可以根据需要划分任意大小的子网。
5. 小结
CIDR表示法是现代 IP地址管理和路由的重要组成部分,通过灵活地定义网络前缀长度,有效地提高了 IP地址的利用率,简化了路由表的管理。作为技术人员,我们应该掌握 CIDR的使用方法,因为在很多云产品的白名单配置中,我们都会使用 CIDR表示法。
8. 学习交流
如果你觉得文章有帮助,请帮忙转发给更多的好友,或关注公众号:猿java,持续输出硬核文章。