IPv6,共 128 位,分 8 段,每段 4 字符(HEX),通过冒号(:)分隔 —— 冒号分十六进制;
地址表示
书写方法如下:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 2001:0DB8:0000:0023:0008:0800:200C:417A # 前导零可省略 2001:0DB8:0000:0023:0008:0800:200C:417A 2001:DB8:0:23:8:800:200C:417A # 连续零可压缩 2001:DB8::23:8:800:200C:417A # 注意 :: 仅能出现一次,以保证地址解析唯一性 # 内嵌 IPv4 地址 0:0:0:0:0:0:166.168.1.2/64 # 地址的前 96bit 为 IPv6 地址格式,后 32bit 为 IPv4 地址格式; # IPv6 部分可采用首选或压缩格式;IPv4 部分采用点分十进制格式; # 在隧道技术中使用这种表示法
网络表示
亦采用 IPv6-Address/Mask 形式,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 # 地址 ABCD:EF01:2345:6789::/64 # 子网号
常见问题
Q:为什么 IPv6 地址长度为 128bit?
A:CPU 处理字长发展至今分别经历 4bit、8bit、16bit、32bit、64bit 等,当数据能用 2 的指数幂字长的二进制数表示时,CPU 对数值的处理效率最高。IPv4 地址长度为 32bit,原因之一就是当时互联网上的主机 CPU 字长为 32bit。从处理效率和未来网络扩展性上考虑,将 IPv6 的地址长度定为 128bit 是十分合适的;
Q:IPv6 的 128bit 地址到底有多少?
A:IPv4 有(232)= 4,294,967,296 个地址。IPv6 有(2128 = 296×232)= 340,282,366,920,938,463,463,374,607,431,768,211,456 个地址(340 万亿万亿万亿个地址),相当于地球表面每平方米可以分配到 67 万亿个地址。夸张的说,地球上每一粒沙子都可以分配到一个 IPv6 地址(提及 IPv6 多半对说这句话来感叹 IPv6 地址很多);
Q:IPv6 为什么不使用点分十进制来表示?
A:IPv4 地址使用点隔开的 4 段十进制数加上掩码来表示,例如 192.168.1.1/24。IPv6 的地址有 128 位,沿用 IPv4 的十进制表示方法就过于笨拙,所以在 RFC2373 中定义不同于 IPv4 的格式;