IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍
推动IPv6发展的主要问题是IPv4地址空间即将耗尽。IPv6也提供了一些新的特性和和改善措施:
1、设计回归简洁、透明,提高实现效率,减少复杂性
2、为新出现的移动业务提供支持
3、重新引入端到端安全和QoS
Ipv6的优点
IPv6和IPv4相比,去除了IHL、Identification、Flags、Fragment Offset、Header Checksum、Options、Paddiing域,只增了流标签域Flow Label域,另外,IPv6为了更好支持各种选项处理,提出了扩展头的概念
(4)支持自动配置,即插即用
(5)支持端到端安全(IPSec)
(6)支持移动特性
(7)新增流标签功能,更利于支持QoS
IPv6地址包括128比特,由使用由冒号分隔的16比特的十六进制数表示。
另外,对于中间比特连续为0的情况,还提供了简易表示方法―――把连续出现的0省略掉,用::代替(注意::只能出现一次,否则不能确定到底有多少省略的0)
1080:0:0:0:8:800:200C:417A 等价于 1080::8:800:200C:417A
FF01:0:0:0:0:0:0:101 等价于 FF01::101
1080:0:0:0:8:0:0:417A 等价于1080::8:0:0:417A
不同于IPV4地址,IPV6地址需要用[]括起来才可以被浏览器访问,上面一个就要在浏览器中输入http://[2001:cdba:0000:0000:0000:0000:3257:9652]才可以被浏览器识别。另 IE6不认IPV6地址
ipv6-address/prefix-length
2001:cdba:0000:0000:0000:0000:3257:9652/64
首码 介面识别字 首码长度
ipv6-address为16进制表示的128比特地址;prefix-length为10进制表示的地址前缀长度。
RFC2373中定义了多种IPv6地址类型
IPv6地址分为单播地址、泛播地址、多播地址。和IPv4相比,取消了广播地址类型,以更丰富的多播地址代替,同时增加了泛播地址类型
3.1、IPv6单播地址
所有格式前缀不是多播格式前缀(1111 1111)的IPv6地址都是IPv6单播格式(泛播和IPv6单播格式相同)目前广泛使用的是可聚合全球单播地址、站点本地地址和链路本地地址。
IPv6单播地址由子网前缀和接口ID两部分组成,子网前缀由IANA、ISP和各组织分配。接口标识符目前定义为64比特,可以由本地链路标识生成或采用随机算法生成以保证唯一性
IPv6单播地址有以下六种类型:
1-Aggregate Global Unicast Address 2xxx:xxxxx/3 – 3FFF: :FFFF
2001::/16 IPV6因特网地址
2002::/16 6to4过渡地址
2-Link Local Address FE80::/10 (前10位以FE80开头)
3-Site Local Address (Private) FEC0::/10
4-Unspecified Address 0:0:0:0:0:0:0:0/128 => ::/128
5-Loopback Address 0:0:0:0:0:0:0:1/128 => ::1/128
6-IPv4 Compatible Address ::192.168.30.1 => ::C0A8:1E01
3.2、IPv6泛播地址
IPv6泛播地址格式和IPv6单播地址相同,用来标识一组接口的地址。一般这些接口属于不同的节点。发往泛播地址的报文被送到这组接口中与其最近的接口
3.3、IPv6多播地址(组播)
前缀:FF00::/8 占用了0.38%的IPV6地址空间
Flags域
标志位为0000表示是永久保留的组播地址,分配给各种技术使用
标志位为0001表示是用户可使用的临时组播地址
Scope域
范围段定义了组播地址的范围,其定义如下:
二进制 十六进制 范围类型
0001 1 本地接口范围
0010 2 本地链路范围
0011 3 本地子网范围
0100 4 本地管理范围
0101 5 本地站点范围 类似组播的私网地址
1000 8 组织机构范围
1110 E 全球范围 类似组播的公网地址
group ID域
标识多播组(可能是永久的,也可能是临时的,范围由scope定义)
下面是一些组播指定地址:
(1) 保留的多播地址:
FF00::~FF0F:: (共16个地址)
(2) 所有节点的地址
FF01:0:0:0:0:0:0:1 (节点本地)
FF02:0:0:0:0:0:0:1 (链路本地)
(3) 所有路由器地址
FF01:0:0:0:0:0:0:2 (节点本地)
FF02:0:0:0:0:0:0:2 (链路本地)
FF05:0:0:0:0:0:0:2 (站点本地)
(4) 被请求节点的地址
FF02:0:0:0:0:1:FFXX:XXXX
以下IPV6地址比较特殊:
■::/96 即0:0:0:0:0:d:d:d:d 兼容IPV4地址
■::/128 即0:0:0:0:0:0:0:0:0 不确定地址。它不能分配给任何节点。它的一个应用示例是初始化主机时,在主机未取得自己的地址以前,可在它发送的任何IPv6包的源地址字段放上不确定地址。不确定地址不能在IPv6包中用作目的地址,也不能用在IPv6路由头中
■::1/128 即0:0:0:0:0:0:0:0:1 回环地址。节点用它来向自身发送IPv6包。它不能分配给任何物理接口。功能很像我们熟悉的127.0.0.1
■2001:db8::/32 即2001:db8:0:0:0:d:d:d:d 可以理解为保留地址,共特殊目的使用。
■ ff01::1/128(或者只是ff01::1)。接口本地作用域的所有节点多播地址。
■ ff02::1/128(或者只是ff02::1)。链路本地作用域的所有节点多播地址,与IPv4中的广播地址类似。
■ ff02::2/128(或者只是ff02::2)。链路本地作用域的所有路由器多播地址。
■ ff05::2/128(或者只是ff05::2)。站点本地作用域的所有路由器多播地址。
■ 2002::/16。该前缀用于6to4寻址。
■ ff00::/8。用于多播地址。
■ fe80::/64。链路本地地址,它是一种自动分配的IP地址,类似于在IPv4中的自动专用IP地址(APIPA)。如果看到接口分配了一个这样的地址,表示DHCPv6服务器不可用。更多信息可参看本小节的”链路本地地址”部分。
■ fc00::/8或fd00::/8。ULA可以在Intranet上路由,不能在Internet上路由。ULA在功能上与私有IPv4网络(10.0.0.0/8,172.16.0.0/12和192.168.0.0/16)类似,因为它们允许创建复杂的内部网络,并且无需分配公共地址空间。
IPv6全球单播地址空间分配
因特网分配地址权威机构(IANA)负责IPv6地址空间的分配。目前IANA从整个可聚合全球单播地址空间(格式前缀为001)中取2001::/16进行分配。
RFC2450中描述了推荐的地址分配策略。
上图可聚合全球单播的推荐分配方式
l FP:格式前缀,对于可聚合全局单播固定为001。
l TLA ID:顶级聚合标识符。此域由IANA分配给指定的注册机构。
l Sub-TLA:次顶级聚合标识符。此域由向IANA注册的机构为满足一定条件的组织分配。这些组织一般是具有一定规模的ISP。
l NLA ID:下一级聚合标识符。此域由地址注册机构或其下分配了Sub-TLA的组织分配。
l SLA ID:站点级聚合标识符。此域一般为组织或企业内部进行子网划分使用。
IANA指定的注册机构则从地址空间2001::/16分配/23前缀,具体如下:
l 2001:0200::/23 到 2001:0C00::/23 分配给亚太地区(APNIC)
l 2001:0400::/23 分配给美国(ARIN)
l 2001:0600::/23到2001:0800::/23 分配给欧洲和中东(RIPE NCC)
这些注册机构再从IANA得到的地址空间分配/32前缀给IPv6 ISP,IPv6 ISP再从/32前缀中分配/48前缀给每个客户。/48前缀的地址空间还可以进一步分为/64前缀的子网。这样每个客户最大可以有65535个子网。
IPv6基本功能包括IPv6邻居发现协议(邻居发现、路由器发现、无状态地址自动配置、重定向)、IPv6路径MTU发现以及IPv6域名解析。其中路由器发现和无状态地址自动配置是IPv6的新增功能,邻居发现功能类似于IPv4 ARP,但做了改进和增强。
IPv6规范中对两个安全载荷的描述:身份验证头(AH)和封装安全载荷。一个扩展头提供身份验证,该过程使得分组的接收方可以相信源地址通过身份验证处理,而且分组在传输过程中没有被篡改,另外一个扩展头保证只有合法的接收方能够阅读报文内容。这两个机制都是基于安全关联的概念。
IPv6经过身份验证和加密的分组都能传达一个安全参数 (SPI),
SPI一般是作为秘钥交换过程中的一部分商定。
SPI 由这个接收方进行选定。
多播发送一组接受时,SPI对该组成员有效,成员把组地址和SPI的结合跟秘钥、算法和其他参数相关联。
IPv4向IPv6过渡技术
当前,大量的网络是IPv4网络,随着IPv6的部署,很长一段时间是IPv4与IPv6共存的过渡阶段。通常将IPv4向IPv6过渡分为3个阶段:
初始阶段 – 共存阶段 – 主导阶段
过渡阶段所采用的过渡技术主要包括:
双栈技术:双栈节点与IPv4节点通讯时使用IPv4协议栈,与IPv6节点通讯时使用IPv6协议栈。
隧道技术:提供了两个IPv6站点之间通过IPv4网络实现通讯连接,以及两个IPv4站点之间通过IPv6网络实现通讯连接的技术。
IPv4/IPv6协议转换技术:提供了IPv4网络与IPv6网络之间的互访技术。
IPv6/IPv4双协议栈
l 双栈
l DSTM
隧道(tunnel)是指一种协议封装到另外一种协议中的技术。隧道技术只要求隧道两端(也就是两种协议边界的相交点)的设备支持两种协议。IPv6穿越IPv4隧道技术提供了利用现有的IPv4网络为互相独立的IPv6网络提供连通性,IPv6报文被封装在IPv4报文中穿越IPv4网络,实现IPv6报文的透明传输。
用于IPv6穿越IPv4网络的隧道技术有:
l IPv6手工配置隧道
l IPv4兼容地址自动隧道
l 6to4自动隧道
l ISATAP自动隧道
l IPv6 over IPv4 GRE隧道
l 隧道代理技术
l 6over4隧道
l BGP隧道
l Teredo隧道
IPv6与IPv4互通技术
IPv6穿越IPv4技术是为了实现IPv6节点之间的互通,而IPv6/IPv4互通技术是为了实现不同协议之间的互通。也就是使IPv6主机可以访问IPv4主机,IPv4主机可以访问IPv6主机。相关的技术有:
l SIIT(Stateless IP/ICMP Translation)
l NAT-PT
l DSTM(Dual Stack Transition Mechanism)
l SOCKs64
l 传输层中继(TRT)
l BIS(Bump in the Stack)
l BIA(Bump in the API)
Ipv6技术白皮书https://wenku.baidu.com/view/c236cb36f111f18583d05a94.html?pn=50