跳转到内容
Glossary 2 分钟阅读 1430 次浏览

CIDR(无类别域间路由)

掌握 CIDR(无类别域间路由)的强大能力。GProxy 的这份指南讲解其基本原理、优势以及在现代网络中的实际应用。

CIDR(无类别域间路由)

CIDR(无类别域间路由,Classless Inter-Domain Routing)是一种分配 IP 地址并路由 Internet Protocol 数据包的方法,它使用以前缀长度表示的可变长子网掩码,比最初的有类别寻址方式高效得多。它由 Internet Engineering Task Force(IETF)于 1993 年提出,用于应对 IPv4 地址迅速枯竭和路由表不断膨胀的问题。

走向 CIDR 的演进

在 CIDR 出现之前,IPv4 地址被划分为固定的“类别”(A、B、C、D、E)。每一类都有预先规定的网络部分和主机部分,导致地址利用率低下。例如,一个 B 类网络可提供 65,534 个主机地址,往往远超单个组织的实际需求,造成 IP 空间浪费;而 C 类网络只有 254 个主机地址,又常常不够用。

有类别路由还意味着互联网骨干网上的路由表迅速膨胀,因为每个 A、B 或 C 类网络都需要单独的一条表项,无论它与其他网络之间存在怎样的层级关系。

理解 CIDR 表示法

CIDR 摒弃了固定类别的概念,允许 IP 地址的网络部分为任意长度。该长度通过附加在 IP 地址后的 /prefix_length 后缀表示。

IPv4 地址是一个 32 位数字。prefix_length 指明最左侧有多少位构成地址的网络部分,其余各位则表示主机部分。

示例: 192.168.1.0/24
* 192.168.1.0 是 IP 地址。
* /24 表示前 24 位是网络部分。

与子网掩码的对应关系

prefix_length 与传统的点分十进制子网掩码直接对应。子网掩码的构成方式是:前 prefix_length 位置为 1,其余各位置为 0

CIDR 前缀 子网掩码 二进制子网掩码(前 16 位)
/8 255.0.0.0 11111111.00000000.00000000.00000000
/16 255.255.0.0 11111111.11111111.00000000.00000000
/24 255.255.255.0 11111111.11111111.11111111.00000000
/27 255.255.255.224 11111111.11111111.11111111.11100000
/30 255.255.255.252 11111111.11111111.11111111.11111100

CIDR 的工作原理:地址计算

要确定某个 CIDR 块的网络地址、广播地址和可用主机范围,需要进行特定的计算。

网络地址

网络地址(或称网络 ID)是 CIDR 块中的第一个地址。它通过将块内任意一个 IP 地址与子网掩码做按位与(AND)运算得到。网络地址中的所有主机位均为 0

广播地址

广播地址是 CIDR 块中的最后一个地址。它通过把网络地址的所有主机位置为 1 得到。发往该地址的数据包会被送达该网段内的所有主机。

可用主机范围

可用主机范围是指介于网络地址与广播地址之间的所有 IP 地址(不含这两个地址本身)。这些地址可以分配给网络中的设备。

主机数量

CIDR 块内可用 IP 地址的数量按 2^(32 - prefix_length) 计算。可用主机地址的数量为 2^(32 - prefix_length) - 2(减去网络地址和广播地址)。

示例:192.168.10.64/27

下面来拆解 CIDR 块 192.168.10.64/27

  1. 前缀长度: /27
  2. 子网掩码: 前 27 位为 1,后 5 位为 0
    11111111.11111111.11111111.11100000(二进制)
    255.255.255.224(点分十进制)
  3. IP 地址的二进制形式:
    192.168.10.64 = 11000000.10101000.00001010.01000000
  4. 网络地址: 与子网掩码做按位与运算。
    11000000.10101000.00001010.01000000(IP)
    11111111.11111111.11111111.11100000(掩码)
    -----------------------------------
    11000000.10101000.00001010.01000000(网络 ID)
    192.168.10.64
    (注意:给定的 IP 192.168.10.64 本身就是该 /27 块的网络地址)
  5. 广播地址: 把网络地址的主机位(后 5 位)全部置为 1
    网络 ID: 11000000.10101000.00001010.01000000
    广播地址: 11000000.10101000.00001010.01011111
    192.168.10.95
  6. 可用主机范围:
    • 第一个可用 IP:192.168.10.65
    • 最后一个可用 IP:192.168.10.94
  7. 主机数量:
    32 - 27 = 5 位主机位。
    2^5 = 32 个地址总数。
    32 - 2 = 30 个可用主机地址。

CIDR 的优势

高效的 IP 地址分配

CIDR 支持灵活的子网划分,管理员可以选择与某个网段所需主机数量精确匹配的前缀长度。相比有类别寻址,这能把 IP 地址的浪费降到最低。

路由聚合(超网划分)

CIDR 允许把多个较小的网络合并为一个更大的网络块用于路由。例如,某个 ISP 可能被分配到 203.0.113.0/20,随后再把它细分为 /24/27 等更小的块分配给客户。从整个互联网的视角看,只需通告一条 /20 路由,从而显著缩减全球路由表的规模。这一过程称为路由聚合或超网划分。

缩减路由表规模

通过实现路由聚合,CIDR 减少了骨干路由器路由表中的条目数量。这提升了路由效率,也降低了路由器对内存和处理能力的要求。

分层路由

CIDR 促成了分层的路由结构:较大的 CIDR 块分配给大型 ISP 或区域互联网注册机构,它们再把这些块细分为更小的块分配给客户。由此形成更有条理、更具扩展性的互联网路由架构。

代理服务中的 CIDR

代理服务在诸多功能上都高度依赖 CIDR:

访问控制列表(ACL)

代理在 ACL 中使用 CIDR 块,来定义哪些客户端 IP 地址或地址段被允许或拒绝访问代理,以及通过代理访问特定资源。

# 允许特定 CIDR 段的 Nginx 代理示例
http {
    server {
        listen 80;
        server_name example.com;

        location / {
            # 默认拒绝
            deny all;

            # 允许特定 IP 地址
            allow 192.168.1.10;
            allow 10.0.0.0/8; # 允许整个 A 类私有地址段
            allow 172.16.0.0/12; # 允许整个 B 类私有地址段
            allow 192.168.0.0/16; # 允许整个 C 类私有地址段

            # 允许特定的公网 IP 段
            allow 203.0.113.0/24;

            proxy_pass http://backend_server;
        }
    }
}

地理定位与区域路由

代理服务常用 CIDR 块来判断客户端 IP 地址的地理来源。该信息可用于:
* 内容本地化: 投放符合特定地区的内容。
* 地域封锁: 根据客户端所在国家或地区限制内容访问。
* 优化路由: 把流量导向离客户端更近的代理服务器,以降低延迟。

负载均衡

在负载均衡场景中,可以用 CIDR 把来自特定 IP 段的客户端流量导向特定的后端服务器池或代理实例,从而实现资源的最优利用,或满足区域数据驻留方面的合规要求。

IP 白名单/黑名单

代理防火墙及其安全功能利用 CIDR 将可信网络加入白名单、把已知的恶意 IP 段列入黑名单,通过在代理层过滤流量来增强安全性。

私有网络访问

对于运行在企业网络内的代理而言,CIDR 是定义可经代理访问的内部网络地址段、或区分内部与外部客户端的关键。

CIDR 与 IPv6

CIDR 的原理同样是 IPv6 寻址的基础,只不过地址长度为 128 位。IPv6 地址始终以 CIDR 表示法书写,例如 2001:0db8::/32。IPv6 中前缀长度的作用与 IPv4 完全一致:界定地址的网络部分与主机部分,实现高效的分配与路由。

结论

CIDR 是现代互联网基础设施中不可或缺的组成部分,对于高效的 IP 地址管理和可扩展的路由至关重要。对代理服务来说,透彻理解 CIDR 是配置健壮访问控制、优化流量走向以及落实安全策略的关键。

已更新: 03.03.2026
返回分类

试用我们的代理

遍布 100+ 国家的 20,000+ 代理

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.