IPv6的编码规则:
(1)IPv6地址为128位长,通常写作8组,每组四个字符(字母或数字,换算为16位长),组与组之间用半角“:”分隔。例如:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
这是一个合法的IPv6地址。
(2)如果在某个组中,四个字符都是零,就可以缩写为1个零,也可以被省略。例如:
2001:0db8:85a3:0000:1319:8a2e:0370:7344
等价于
2001:0db8:85a3:0:1319:8a2e:0370:7344
2001:0db8:85a3::1319:8a2e:0370:7344
(3)如果因为省略而出现了连续两个以上的冒号的话,可以压缩为两个冒号。例如:
2001:0DB8:0000:0000:0000:0000:1428:57ab
等价于
2001:0DB8:0:0:0:0:1428:57ab
2001:0DB8:0:0:::1428:57ab
2001:0DB8::::1428:57ab
2001:0DB8::1428:57ab
但是,零压缩在地址中只能出现一次,象“2001::25de::cade”这样的IPv6地址是非法的。因为中间出现了两个被分隔了的压缩,会让人搞不清楚每个压缩中有几个全零的分组。
(4)在每个分组中,前导的零可以省略,比如:
2001:0DB8:02de::0e13
等价于
2001:DB8:2de::e13
(5)IPv4 地址可以很容易的转化为IPv6地址格式。
举例来说,如果IPv4的一个地址为135.75.43.52(十六进制为0x874B2B34),它可以被转化成以下三种完全等价的IPv6格式:
0000:0000:0000:0000:0000:0000:874B:2B34
::874B:2B34
::135.75.43.52