首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IPv6零压缩

IPv6零压缩
EN

Stack Overflow用户
提问于 2014-09-29 14:00:51
回答 3查看 1.1K关注 0票数 3

对以下IPv6地址使用零压缩时

代码语言:javascript
复制
2001:0DB8:0000:CD30:0000:0000:0000:0000/60

为什么这样做不正确:

代码语言:javascript
复制
2001:DB8::CD30::/60

..。而这是:

代码语言:javascript
复制
2001:DB8:0:CD30::/60
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-29 14:03:06

零压缩只能进行一次。这样做的原因是,否则IPv6地址不再是唯一的。

以您的2001:DB8::CD30::/60为例,它会扩展到

代码语言:javascript
复制
2001:0DB8:0000:0000:0000:CD30:0000:0000/60

代码语言:javascript
复制
2001:0DB8:0000:0000:CD30:0000:0000:0000/60

代码语言:javascript
复制
2001:0DB8:0000:CD30:0000:0000:0000:0000/60

...?

如果只使用一个"::“,则结果将始终是唯一的,因为只有一个可能的固定数目的零要插入。

票数 5
EN

Stack Overflow用户

发布于 2014-09-29 22:30:10

因为它模棱两可。

地址2001:DB8::CD30::可以在下列任何一种可能性中展开:

2001:DB8:0:CD30:0:0:0:0

2001:DB8:0:0:CD30:0:0:0

2001:DB8:0:0:0:CD30:0:0

2001:DB8:0:0:0:0:CD30:0

票数 0
EN

Stack Overflow用户

发布于 2022-02-13 16:26:16

原因是::被用来缩短16位地址字段中的多个零.

在您的示例2001:0DB8:0000:CD30:0000:0000:0000:0000/60中,在后缀的16位字段中只有多个0,2001:0DB8:0000:CD30:中的0000只是一个16位字段,您只需要使用0来缩短它。

更有趣的问题:您如何缩短this**2001:0000:0000:CD30:0000:0000:0000:0000/60**?

它在标准中定义。

此外,RFC4291注释第2.2节, “'The "::”只能在地址中出现一次。“

这意味着地址可以写成:2001:0:0:CD30::/60 2001::0:CD30:0:0:0:0/60

两者都是有效的,但我更喜欢第一个表示,因为零表示的目的是缩短第一个表示较短的地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26101723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档