IPv4转IPv6

IPv4地址:192.168.0.1

转换为IPv6地址是:::c0a8:0001

全球IPv4系统总共只有40亿个IP地址,已全部分配到各个国家,数量很不够用。所以科学家发明了IPv6地址。IPv6可分配出2128个IP地址,几乎可以给地球上的每个沙子分配不同的IP,因此取之不尽,用之不竭。

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

服务器常用端口请参考TCP/UDP常见端口参考