![](/img/trans.png)
[英]How to split IPV6 address to get the Network ID subnet in Javascript?
[英]How to know if given IPV6 address belongs to the same subnet as local machine
目前,我有一个带有IP地址和子网掩码的ac函数,并检查给定的ipv4是否为私有/公共。
它通过以下逻辑来匹配子网:
(local ipv4 address && local subnetmask) == (given ipv4 && given subnetmask)
可以为ipv6编写什么逻辑? 我可以编写一个函数来接收ip和子网前缀。 我可以获取本地子网前缀吗?
我要确定两个主机是否在同一子网上,同时使用它们的地址和前缀长度(子网掩码)。
如果前缀长度不同,则它们不在同一网络上。
如果前缀长度相同,则取该长度(很可能为64,因此我们假设为该长度),并将两个地址的前64位相互比较。 如果它们相同,则它们都在同一网络上。
基本上,与IPv4相同,只是使比特不成为前缀。 使用128个地址,将其实现为一次循环比较一次比较4位(比较十六进制表示法)或一次比较8位(比较解析的字节)可能会更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.