如何找到给定子网的第n个IP?

时间:2018-08-01 06:31:11

标签: ipv4 subnet

例如:给定子网10.10.0.0/16,是否必须找到给定子网范围的第1000个ip?

3 个答案:

答案 0 :(得分:0)

因此,您可以获得的总可用IP地址等于2 ^ 16 = 65536(考虑16位可用)。现在,要找到1000个IP地址,可以使用10个最低有效位。这样就等于10.10.00000011.11101000 / 16等于10.10.3.232/16。

答案 1 :(得分:0)

  1. 将IP地址转换为二进制:

    00001010.00001010.00000000.00000000

  2. 将蒙版转换为二进制:

    11111111.11111111.00000000.00000000

(前16位被屏蔽。这为我们提供了地址的后16位。)

  1. 第一个地址10.10.0.0将是子网地址

  2. 前255个地址将为10.10.0.1-10.10.0.255

  3. 后256个地址将是10.0.1.0-10.10.1.255 等等。

因此具备以下知识:

  • 1000除以256(0-255个地址)= 3(第三个八位字节的数字,因此10.10.3.XXX
  • 256 * 3 = 768 (我们从前三个迭代中获得768个地址)减去1 = 767 (第一个地址10.10.3.0被用作子网地址,无法分配给主机)
  • 1000-767 = 233 (因此我们需要上一次迭代中的233)给我们 10.0.3.233

CIDR表示法的答案= 10.10.3.233/16 (可以分配主机的第1000个IP地址)

答案 2 :(得分:0)

通过查看子网本身,我们可以确定子网的第一个地址是10.10.0.1到10.10.255.255。

由于掩码为/ 16,因此最后两个八位位组可以更改,每个八位位组的值可以在0-255之间,即256种可能性。

所以如果我想找到第1000个ip,那么 第四个八位字节= 1000%256(剩余)

第三个八位字节= 100/256(商)

在我们的情况下, 第四个八位字节= 253

第三个八位字节= 3

第100个将是“ 10.10.3.232”。

如果我错了,请纠正我。谢谢