如果给出了两个IPv6地址ip1 (abc::1/64),ip2 (abc::2/64),那么确定它们是否属于同一子网的算法是什么?
对于IPv4,一个地址中的每个八进制都被子网八进制屏蔽,并将结果与第二个地址的类似练习结果进行比较。我们能对IPv6地址中的每个六位进行类似的操作吗?
此外,在IPv6中,前缀长度/64是否等同于“ffff::”?如何用IPv6地址格式表示网络掩码?
谢谢!
发布于 2011-10-10 12:42:33
假设两个IPv6地址ip1 (abc::1/64),ip2 (abc::2/64),那么确定它们是否属于同一子网的算法是什么?
如果前64位相等,则它们位于同一子网上。这些是地址中的前四个“街区”。如果你写完整的地址,它们会变成0abc:0000:0000:0000:0000:0000:0001和0abc:0000:0000:0000:0000:0000:0000:0002。前64位( 0abc:0000:0000:0000: part)相等,因此它们位于同一个子网上。
表示IPv4,一个地址中的每个八进制都被子网八进制屏蔽,并将结果与第二个地址的类似练习结果进行比较。我们能对IPv6地址中的每个六位进行类似的操作吗?
实际上,你掩盖了细节,而不是八重奏。但你还是可以用同样的技术。将地址转换为位,并使用与前缀长度相对应的位序列掩码。因此,一个/64将是值1的64位,然后是值0的64位。对于一个/48,它将是48位,值1,后面是80位,值为0。
,在IPv6中,前缀长度/64是否等效于‘ffff::’?如何用IPv6地址格式表示网络掩码?
通常不是,而是“ffff::”对应于/64网络掩码。
发布于 2011-10-10 15:54:38
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,以及一个Net掩码netmask,那么测试这两个地址在同一个网络中是否是正确的,那么以下内容必须是正确的:
IP#1 & NETMASK == IP#2 & NETMASK这对IPv4和IPv6都是有效的,所以只需将IPv6前缀长度转换为更容易在测试中使用的网络掩码。
发布于 2011-10-10 10:09:34
路由查找的标准根树(Trie) (Patricia )实现可用于IPv6。
Net掩码表示如下:
在描述IPv4 IP和网络时,使用网络掩码来定义网络。IPv6决定,与其使用旧的255.255.255.0符号,不如只使用/#表示法。因此,我们的网络掩码应该是128,用来描述类似于/32 (255.255.255.255)或一个主机的东西。请注意,
expr 16 \* 8给了我们128个。
1
2
https://stackoverflow.com/questions/7711063
复制相似问题