给定子网的Sarting和结束IP地址

时间:2015-10-05 03:47:25

标签: ip-address subnet

您已使用CIDR表示法提供IP地址。 您必须从找到的子网总数计算该子网的起始和结束地址。

将输入作为有效子网编号从找到的总子网中获取,输出是该子网的起始和结束地址。

示例:

IP地址: - 192.168.1.8/28 因此,总共有16个子网,并且假设您必须找到第13个子网的起始和结束地址。

(使用Java或C / C ++编程语言)

1 个答案:

答案 0 :(得分:0)

根据您的评论,我认为您认为IPv4地址和掩码都是32位无符号整数。只需这两个值,您就可以获得有关IP地址的任何信息。您需要实际的32位无符号整数掩码来进行IP数学运算。

  • 要从掩码长度获取掩码,只需设置该高阶数即可 32位无符号整数中的位。
  • 要从地址获取网络,您只需AND地址即可 面具。
  • 在大多数情况下,对于IPv4,网络中的第一个可用地址是 network + 1。这对于/31/32来说有点复杂 网络,因为第一个可用的地址是实际的网络地址 那些角落案件。
  • 网络的广播地址是网络地址加上NOT或 反面,面具。
  • 在大多数情况下,对于IPv4,网络中最后一个可用的地址是 广播地址减去1.再次,/31/32网络 因为最后一个可用的地址是广播地址 对于网络。

此信息应足以让您开始编写代码。