IPv6地址格式

阅读更多

 转自:https://tieba.baidu.com/p/3985626373

 

IPv6的地址长度是128位(bit)。
将这128位的地址按每16位划分为一个段,将每个段转换成十六进制数字,并用冒号隔开。
例如:2000:0000:0000:0000:0001:2345:6789:abcd
这个地址很长,可以用两种方法对这个地址进行压缩,
前导零压缩法:
将每一段的前导零省略,但是每一段都至少应该有一个数字
例如:2000:0:0:0:1:2345:6789:abcd
双冒号法:
如果一个以冒号十六进制数表示法表示的IPv6地址中,如果几个连续的段值都是0,那么这些0可以简记为::。每个地址中只能有一个::。
例如:2000::1:2345:6789:abcd

单播地址(Unicast IPv6Addresses)
可聚合的全球单播地址(Aggregatable Global UnicastAddresses)
可在全球范围内路由和到达的,相当于IPv4里面的globaladdresses。前三个bit是001
例如:2000::1:2345:6789:abcd

链路本地地址(Link-LocalAddresses)
用于同一个链路上的相邻节点之间通信,相当于IPv4里面的169.254.0.0/16地址。Ipv6的路由器不会转发链路本地地址的数据包。前10个bit是1111 111010,由于最后是64bit的interfaceID,所以它的前缀总是FE80::/64
例如:FE80::1

站点本地地址(Site-Local Addresses)
对于无法访问internet的本地网络,可以使用站点本地地址,这个相当于IPv4里面的privateaddress(10.0.0.0/8,172.16.0.0/12, and 192.168.0.0/16)。它的前10个bit是1111 111011,它最后是16bit的SubnetID和64bit的interfaceID,所以它的前缀是FEC0::/48。
值得注意的是,在RFC3879中,最终决定放弃单播站点本地地址。放弃的理由是,由于其固有的二义性带来的单播站点本地地址的复杂性超过了它们可能带来的好处。它在RFC4193中被ULA取代。

唯一的本地IPv6单播地址(ULA,Unique Local IPv6Unicast Address)
在RFC4193中标准化了一种用来在本地通信中取代单播站点本地地址的地址。ULA拥有固定前缀FD00::/8,后面跟一个被称为全局ID的40bit随机标识符。

未指定地址(Unspecifiedaddress)
0:0:0:0:0:0:0:0或者::
当一个有效地址还不能确定,一般用未指定地址作为源地址。未指定地址不能作为一个目标地址来使用。

回环地址(Loopbackaddress)
回环地址::1用于标识一个回环接口,可以使一个节点可以给自己发送数据包。相当于IPv4的回环地址127.0.0.1

兼容IPv4的地址(IPv4-compatibleaddress)
形如::w.x,y.z,这里的w.x.y.z是IPv4公共地址的十进制点号表示法,用于IPv6/IPv4节点们(同时支持)在使用仅支持IPv4的网络上用IPv6的协议进行通信。
但是事实证明这种技术不是个好主意,RFC4291中废弃了对这类地址的使用。

IPv4映射地址(IPv4-mappedaddress)
形如::FFFF:w.x.y.z,这里的w.x.y.z是IPv4公共地址的十进制点号表示法,用于一个仅支持IPv4的节点表现为一个IPv6的节点

6over4地址
[64bit-prefix]:0:0:WWXX:YYZZ,其中的WWXX:YYZZ是w.x.y.zIPv4公共地址的十进制点号表示法,用于一个使用6to4协议的隧道机制的节点。

6to4地址
2002:WWXX:YYZZ:[SLAID]:[Interface ID],用于表示一个使用6to4协议的隧道机制节点。

多播IPv6地址(Multicast IPv6Addresses)
前8个bit为11111111,

其中FF01::到FF0F::的多播地址是保留专用地址
FF01::1节点本地范围所有节点多播地址
FF02::1链路本地范围所有节点多播地址
FF01::2节点本地范围所有路由器多播地址
FF02::2链路本地范围所有路由器多播地址
FF05::2站点本地范围所有路由器多播地址

你可能感兴趣的:(IPV6)