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 的优势

  1. 地址空间的高效利用:传统的类地址(A、B、C类)分配方式往往导致大量地址浪费。CIDR允许根据实际需要分配不同大小的子网,减少浪费。

  2. 路由表的简化:CIDR通过聚合多个连续的IP段成一个路由条目,减少路由表的规模,提高路由效率。

  3. 灵活性:CIDR不依赖于固定的类地址边界,可以根据需要划分任意大小的子网。

5. 小结

CIDR表示法是现代 IP地址管理和路由的重要组成部分,通过灵活地定义网络前缀长度,有效地提高了 IP地址的利用率,简化了路由表的管理。作为技术人员,我们应该掌握 CIDR的使用方法,因为在很多云产品的白名单配置中,我们都会使用 CIDR表示法。

8. 学习交流

如果你觉得文章有帮助,请帮忙转发给更多的好友,或关注公众号:猿java,持续输出硬核文章。

drawing