1. 缘起
在《计算机网络》谢希仁版中对IPv6-零压缩法的介绍得不好,遂查阅老外的文章,将其翻译过来。
原文地址:https://ccieme.wordpress.com/2013/08/14/ipv6-introduction-zero-compression-technique/
2. 零压缩(Zero Compression)
如果在一个IPv6地址存在连续多个字段的0时,其可用两个冒号::
来代替。
注意:这类零压缩最多出现一次,即在每个IPv6地址中只能出现一个::
。
示例:
源格式:1234 : 1234 : 0000 : 0000 : 0000 : 0000 : 3456 : 3434
压缩后:1234 : 1234 :: 3456 : 3434
3. 前导零压缩(Leading Zero Compression)
在任意的16-bit的字段中,前导的0(leading zeros)可以被丢弃(dropped),但每个字段至少要保留有一位数(at least one number remaining)。因此,如果一个字段全为0,那么你必须留一个0来表示该字段。
示例:
原格式:1234 : 0000 : 1234 : 0000 : 1234 : 0000 : 0123 : 1234
压缩后:1234 : 0 : 1234 : 0 : 1234 : 0 : 123 : 1234
4. 总结
两个法则:
- 零压缩:每个IPv6地址中只允许出现一次。
- 前导零压缩:可出现任意次数。