CIDR和IP地址数量

时间:2019-08-22 23:44:10

标签: cidr

我读到create policy filter_scan on data.scan using (department_id = user_get_department_id(current_user)); 最多可以托管254个ip地址。怎么样?
我如何直观地了解10.240.0.0/24在做什么,以帮助提供254个唯一的IP地址?

1 个答案:

答案 0 :(得分:1)

TL; DR;

一种计算主机数量的简单方法是

2 ^ ( 32 - 24 ) - 2 = 256

因为:

  1. 我们正在执行位操作(01,两个可能的值)
  2. 当一个八位位组是8位(4 * 8 = 32)时,IP是一个4个八位位组的集合
  3. 24是您的CIDR
  4. 每个子网中都有两个保留IP,即广播地址和子网0,不应将其用于主机

CIDR是在按位运算的帮助下计算的。

IP是一组4个八位字节,每个八位字节之间用一个点分隔。

255.255.255.255
=
11111111.11111111.11111111.11111111

当您将CIDR指定为/24时,您是在为您的IP要求一个子网,该子网掩码将被填充为 1 24 位填充

11111111.11111111.11111111.00000000
=
255.255.255.0

您的IP是

10.240.0.0
=
00001010.11110000.00000000.00000000

现在,我们可以在您的IP和子网之间应用按位与

11111111.11111111.11111111.00000000
&
00001010.11110000.00000000.00000000
=
00001010.11110000.00000000.00000000

因此,您最终以10.240.0.0作为IP前缀。
相同的子网可以应用于后续IP

10.240.0.1

11111111.11111111.11111111.00000000
&
00001010.11110000.00000000.00000001
=
00001010.11110000.00000000.00000000

提供相同的10.240.0.0 IP前缀

10.240.0.2

11111111.11111111.11111111.00000000
&
00001010.11110000.00000000.00000010
=
00001010.11110000.00000000.00000000

提供相同的10.240.0.0 IP前缀
等等,等等

总而言之,按位操作非常简单:

  • 每次您拥有0 & x时,它将等于0
  • 每次您拥有1 & x时,它将等于x

因此,这意味着使用10.240.0.0/24时,您拥有一个255.255.255.0子网,因此IP范围从10.240.0.010.240.0.255

那您还能说出256个可能的地址吗?

是的,但是您必须记住,在IPv4中,您有两个不可用的地址:

  • 子网零(您范围的第一个地址)
  • 和广播地址(范围的最后一个地址)
  

特殊地址:

     

摘自“分配的数字”备忘录[Reynolds,J.和J. Postel,“分配的数字”,RFC-943,USC /信息科学研究所,1985年4月。]

     

“在某些情况下,具有固定地址非常有用     具有功能意义,而不是作为     特定主机。当需要这种用法时,地址     零将被解释为“ this”的含义,例如“ this”     网络”。所有地址都应解释为     意思是“所有”,例如“所有主机”。例如地址     128.9.255.255可以解释为意味着所有主机在     网络128.9。或者,地址0.0.0.37可能是     解释为该网络上的主机37。”

     

保留并扩展这些解释会很有用    子网网络中的特殊地址。这意味着价值观    子网字段中的所有零和所有1的总和    分配给实际(物理)子网。

来源: https://www.ietf.org/rfc/rfc950.txt

现在,如果您进行256 - 2,则拥有254个可用主机。

总结:

  • CIDR:10.240.0.0/24
  • 子网掩码:255.255.255.0(当IP显示为八位组时,1的24倍)
  • IP范围:10.240.0.0-10.240.0.255
  • 子网零:10.240.0.0
  • 广播地址:10.240.0.255
  • 主机IP范围:10.240.0.1-10.240.0.254