Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从IPV6中的CIDR计算最后一个IP地址_Java_Ipv6_Apache Commons_Subnet_Apache Commons Net - Fatal编程技术网

Java 如何从IPV6中的CIDR计算最后一个IP地址

Java 如何从IPV6中的CIDR计算最后一个IP地址,java,ipv6,apache-commons,subnet,apache-commons-net,Java,Ipv6,Apache Commons,Subnet,Apache Commons Net,我正在尝试使用ApacheCommonsNet for IPV4从CIDR计算最后一个IP地址 SubnetUtils su = new SubnetUtils(cidr); SubnetInfo si = su.getInfo(); si.getHighAddress(); 它对IPV6不起作用,有人能建议一些库来解决这个问题吗?通常,IPV6子网将是/64(很少有例外,其他子网大小可能会破坏这一点)。由于IPv6甚至没有广播概念,子网中的最后一个地址将具有ffff:ffff:ffff:ff

我正在尝试使用ApacheCommonsNet for IPV4从CIDR计算最后一个IP地址

SubnetUtils su = new SubnetUtils(cidr);
SubnetInfo si = su.getInfo();
si.getHighAddress();

它对IPV6不起作用,有人能建议一些库来解决这个问题吗?

通常,IPV6子网将是
/64
(很少有例外,其他子网大小可能会破坏这一点)。由于IPv6甚至没有广播概念,子网中的最后一个地址将具有
ffff:ffff:ffff:ffff
作为最后64位。IPv6还可以使用子网中的第一个(
0000:0000:0000:0000
)地址。这比IPv4容易得多,因为子网中的每个地址都是有效地址。

可以执行此处描述的操作

对于任何给定的CIDR字符串,无论是IPv4(如1.2.3.4/16)还是IPv6(如1:2:3:4::/64),都可以执行以下操作:

IPAddressString string = new IPAddressString("1:2:3:4::/64");
IPAddress subnet = string.getAddress();
IPAddress highest = subnet.getHighest();
String highestString = highest.toCanonicalString();
System.out.println(highestString);
对于1:2:3:4::/64,上述代码的输出为1:2:3:4:ffff:ffff:ffff:ffff

“要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决问题所做的工作。”