|
发表于 2018-7-23 14:08:56
|
显示全部楼层
[IPV6]整理IPV6地址格式及分类
IPv4共4字节,表示方式为 192.168.10.1
注意:10不能写成010,不然被当成8进制处理了。
IPv6是16字节共128bit,而不是6字节。
使用16进制表示,每2字节1段(Big Endian),使用冒号做分隔符。
示例 2001:200:dff:fff1:216:3eff:feb1:44d7 (http://www.kame.net)
不过一般地址中都有好多0,且表示网段时有更多的0,一般都是去掉前导0。
也可以使用两个冒号表示连续的0,因为IPv6地址长度是已知的,展开即可。
当然,这种缩写只能使用一次。
如下3种写法是同一个地址
2000:0000:0000:0000:0001:2345:6789:abcd
2000:0:0:0:1:2345:6789:abcd
2000::1:2345:6789:abcd
同IPv4一样,IPv6同样分单播地址和多播地址。
单播地址(Unicast IPv6 Addresses)
1. 可聚合的全球单播地址(Aggregatable Global Unicast Addresses)
可在全球范围内路由和到达的,前三个bit是001
例如 2000::1:2345:6789:abcd
相当于IPv4里面的global addresses。 (8.8.8.8)
0010 ==> 2xxx::
0011 ==> 3xxx::
所以只有2和3开头的地址才是公网地址,因IPv6地址总量庞大,所以短期内应该不会看到3开头的地址了。
2. 链路本地地址(Link-Local Addresses)
用于同一个链路上的相邻节点之间通信,Ipv6的路由器不会转发链路本地地址的数据包。
前10个bit是1111 1110 10,由于最后是64bit的interface ID,所以它的前缀总是 FE80::/64
例如 FE80::1
相当于IPv4里面的169.254.0.0/16地址。
3. 站点本地地址(Site-Local Addresses)
对于无法访问internet的本地网络,可以使用站点本地地址,它的前10个bit是1111 1110 11,它最后是16bit的Subnet ID和64bit的interface ID,所以它的前缀是 FEC0::/48。
相当于IPv4里面的private address(10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16)
在RFC3879中已放弃,它在RFC4193中被ULA取代。
4. 唯一的本地IPv6单播地址(ULA,Unique Local IPv6 Unicast Address)
在RFC4193中标准化了一种用来在本地通信中取代单播站点本地地址的地址。
ULA拥有固定前缀 FD00::/8 ,后面跟一个被称为全局ID的40bit随机标识符。
5. 未指定地址(Unspecified address)
0:0:0:0:0:0:0:0 或者 ::
当一个有效地址还不能确定,一般用未指定地址作为源地址。
未指定地址不能作为一个目标地址来使用,一般在程序中用来监听所有地址 。
6. 回环地址(Loopback address)
回环地址 ::1 用于标识一个回环接口,可以使一个节点可以给自己发送数据包。
相当于IPv4的回环地址127.0.0.1。
多播IPv6地址(Multicast IPv6 Addresses)
前8个bit为1111 1111,
其中 FF01:: 到 FF0F:: 的多播地址是保留专用地址
FF01::1 节点本地范围所有节点多播地址
FF02::1 链路本地范围所有节点多播地址
FF01::2 节点本地范围所有路由器多播地址
FF02::2 链路本地范围所有路由器多播地址
FF05::2 站点本地范围所有路由器多播地址 |
|