Маски IPv4 немного обманчивы, потому что они позволяют указывать маски, например, 255.0.0.255.IPv6 разъясняет это, определяя термин «длина префикса» как длину непрерывных битов в маске сети.
255.0.0.0 ≡ ff00:: ≡ 8-bit prefix
255.255.0.0 ≡ ffff:: ≡ 16-bit prefix
255.255.192.0 ≡ ffff:C000:: ≡ 18-bit prefix
Если у вас есть два адреса, IP # 1 и IP # 2 и маска сети NETMASK, то для проверкиесли два адреса в одной сети, то должно быть верно следующее:
IP#1 & NETMASK == IP#2 & NETMASK
Это распространяется на истину как для IPv4, так и для IPv6, поэтому все, что необходимо, - это преобразовать длины префикса IPv6 в маску сети, что прощеиспользовать в тесте.