概述

CIDR(Classless Inter Domain Routing,无类别域间路由) 是在路由表中增加了子网掩码 (Subnet Masking),从而可以灵活的将某个范围的 IP 地址分配给某个网络。

对象存储的防盗链设置中,使用 CIDR 格式的 IP 地址。现对该格式的地址填写方式,加以说明。

CIDR 格式说明

CIDR 格式为:IP 地址/网络 ID 的位数。例如 IP 地址:202.194.20.138/19,其中 202.194.20.138 为 IP 地址,19 为网络 ID 的位数,表示 IP 地址 202.194.20.138 的前 19 位为网络前缀,后 13 位为主机号。

整个计算过程如下:

  1. 首先,我们将该 IP 地址 202.194.20.138 用二进制表示,内容如下:

    11001010  11000010  00010100  10001010
  2. 此 IP 地址中 /19,表示前 19 位为网络前缀,其余为主机号。则该地址 202.194.20.138 所在 CIDR 地址块中最小的地址为,网络地址:

    二进制为:

    11001010  11000010  00000000 00000000

    十进制为:

    202.194.0.0
  3. 该地址 202.194.20.138 所在 CIDR 地址块中最大的地址为,即为广播地址:

    二进制为:

    11001010  11000010  00011111 11111111

    十进制为:

    202.194.31.255
  4. 综上,该地址块 202.194.20.138/19 中,合计有 2^13=8192 个地址。

黑白名单设置

如用户需要屏蔽或开放某个 IP 地址 192.168.3.2,使用 CIDR 格式,则表示为:192.168.3.2/32

如 IP 地址 192.168.3.2,子网掩码为 255.255.248.0,若用户需屏蔽这个网段,用 CIDR 格式如何表示?

  1. 将其子网掩码使用二进制表示如下:

    11111111 11111111 11111000 00000000
  2. 由于子网掩码的二进制格式中,网络位全为1,根据前文,我们可以得出,网络 ID 的个数为 21。

  3. 所以该 IP 地址 192.168.3.2 的 CIDR 表示法为:192.168.3.2/21。合计包含有 2048 个 IP 地址。计算过程如下:

    1. 将该 IP 地址使用二进制表示如下:

      11000000  10101000  00000011 00000010
    2. 最小 IP 为:192.168.0.0,使用二进制表示如下:

      11000000  10101000  00000000 00000000
    3. 最大 IP 为:192.168.7.255,使用二进制表示如下:

      11000000  10101000  00000111 11111111
    4. 根据最大 IP 与 最小 IP 之间的范围来计算总 IP 数为:2^11 = 2048。