IPv6地址结构的详细探究( 二 )


工作原理:自动将48bit的以太网MAC地址扩展成64bit,再挂在一个64bit的前缀后面,组成一个IPV6地址
步骤一、将48位的MAC地址从中间分开,插入一个固定数值FFFE
0050:3EE4:4C00-->0050:3EFF:FEE4:4C00
步骤二、将第7个比特位反转,如果原来是0,就变为1,如果原来是1,就变为0
0050:3EFF:FEE4:4C00-->0250:3EFF:FEE4:4C00
步骤三、加上前缀:比如加上链路本地地址前缀FE80,FE80::0250:3EFF:FEE4:4C00 这就是一个完整的IPV6地址 。
反转的原因:在MAC地址中,第7比特为1表示本地管理,为0表示全球管理;在EUI-64格式中,第7位为1表示全球惟一,为0表示本地惟一
3、 IPv6地址分类

IPv6地址结构的详细探究

文章插图
 
1) IPv6地址分为单播地址、任播地址、多播地址 。和IPv4相比,取消了广播地址类型,以更丰富的多播地址代替,同时增加了任播地址类型 。任播地址取自(具有任何范围的)单播地址空间,在句法上任播地址与单播地址难以区分 。
2)“未指定的地址”(全0)、环回地址(::1)和嵌入IPv4地址的IPv6地址从0000 0000格式前缀中分配 。
3) 除多播地址(格式前缀1111 1111)外,格式前缀从001到111的地址都必须有64比特的EUI-64格式的接口标识符 。
4) 所有格式前缀不是多播格式前缀(1111 1111)的IPv6地址都是IPv6单播格式(任播和IPv6单播格式相同) 。IPv6单播地址和IPv4单播地址一样可聚合 。
4、IPv6单播地址单一接口的标识符,用于一对一的连接 。
IPv6地址结构的详细探究

文章插图
 
IPv6单播地址由子网前缀和接口ID两部分组成 。子网前缀由IANA、ISP和各组织分配 。接口标识符目前定义为64比特,可以由本地链路标识MAC生成或采用EUI-64格式随机算法生成以保证唯一性 。
有以下六种类型:
1)可聚合全球单播地址
IPv6地址结构的详细探究

文章插图
 
目前已分配的地址前缀:2001::/3, 2000::
~3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
目前实际用于IPV6 因特网运作的前缀:2001::/16;
2002::/16为使用6to4过渡机制节点保留;
3ffe::/16由于6bone测试目的前缀 。
2)本地链路地址
IPv6地址结构的详细探究

文章插图
 
节点启用ipv6,每个接口自动会生成一个本地链路地址 。其前缀64bit是固定的,其后64bit的接口ID根据EUI-64格式来构造 。
链路本地地址只能在本地链路通信,不能过路由 。
3)站点本地地址
IPV6私网地址,就像IPV4的私网地址一样 。只能在站点内使用,不能用于公网 。
IPv6地址结构的详细探究

文章插图
 
最初设计站点本地地址是用于不需要全球前缀的站点内部寻址 。现在,站点本地地址已经过时了,在新的实现中,必须不再支持由[RFC3513]定义的这个前缀的特殊性质(即,新的实现必须将此前缀看作是全球单播) 。
已有的实现和部署可以继续使用这个前缀 。
4)不确定地址
单播地址0:0:0:0:0:0:0:0称为不确定地址 。它不能分配给任何节点 。它的一个应用示例是初始化主机时,在主机未取得自己的地址以前,可在它发送的任何IPv6包的源地址字段放上不确定地址 。不确定地址不能在IPv6包中用作目的地址,也不能用在IPv6路由头中;
5)回环地址
单播地址0:0:0:0:0:0:0:1称为回环地址 。节点用它来向自身发送IPv6包 。它不能分配给任何物理接口 。
6)带有嵌入ipv4地址的ipv6地址
分两类:Ipv4兼容的ipv6地址 和 Ipv4映射的ipv6地址 。
IPv6地址结构的详细探究

文章插图
 
Ipv4兼容的ipv6地址:ipv4地址必须全球唯一 。像::13.1.68.3这种前96比特全0的地址,主要用在一种自动隧道技术,目的地址为这种地址的报文会被自动IPv4隧道封装,由于这种技术不能解决地址耗尽问题,已经逐渐被废弃 。
IPv6地址结构的详细探究

文章插图
 
Ipv4映射的ipv6地址:像::FFFF.129.144.52.38这种最前80比特为全0,中间16比特为全1,最后32比特为IPv4地址,这种地址用来把只支持IPv4的节点用IPv6地址表示 。在支持双栈的IPv6节点上,IPv6应用发送目的报文是这种地址时,实际上发出的报文为IPv4报文(目的地址是“IPv4映射的IPv6地址”中的IPv4地址) 。


推荐阅读