IPv6
IPv6介绍
IPv6(Internet Protocol Version 6,因特网协议版本6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation,下一代因特网),它是IETF(Internet Engineering Task Force,Internet工程任务组)设计的一套规范,是IPv4 的升级版本。IPv6 和IPv4 之间最显著的区别为:IP 地址的长度从32 比特增加到128 比特。
IPv6地址
IPv6 地址被表示为以冒号(:)分隔的一连串16 比特的十六进制数。每个IPv6 地址被分为8 组,每组的16 比特用4 个十六进制数来表示, 组和组之间用冒号隔开, 比如:2001:da8:258:0000:0000:00C0:0000:1。
为了简化 IPv6 地址的表示,对于IPv6 地址中的“0”可以有下面的处理方式:
- 每组中的前导“0”可以省略,即上述地址可写为2001:da8:258:0:0:0:0:1。
- 如果地址中包含连续两个或多个均为 0 的组,则可以用双冒号“::”来代替,即上述地址可写为2001:da8:258::1。
IPv6 地址由两部分组成:地址前缀与接口标识。其中,地址前缀相当于IPv4 地址中的网络号码字段部分,接口标识相当于IPv4 地址中的主机号码部分。
地址前缀的表示方式为:IPv6 地址/前缀长度。其中,IPv6 地址是前面所列出的任一形式,而前缀长度是一个十进制数,表示IPv6 地址最左边多少位为地址前缀。
IPv6地址的分类
IPv6 主要有三种类型的地址:单播地址、组播地址和任播地址,IPv6 中没有广播地址,广播地址的功能通过组播地址来实现。
- 单播地址:用来唯一标识一个接口,类似于 IPv4 的单播地址。发送到单播地址的数据报文将被传送给此地址所标识的接口。
- 组播地址:用来标识一组接口(通常这组接口属于不同的节点),类似于 IPv4 的组播地址。发送到组播地址的数据报文被传送给此地址所标识的所有接口。
- 任播地址:用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口。
地址类型与格式前缀的对应关系
地址类型 |
格式前缀(二进制) |
IPv6 前缀标识 |
|
单播地址 |
未指定地址 |
00...0 (128 bits) |
::/128 |
环回地址 |
00...1 (128 bits) |
::1/128 |
|
链路本地地址 |
1111111010 |
FE80::/10 |
|
站点本地地址 |
1111111011 |
FEC0::/10 |
|
全球单播地址 |
其他形式 |
|
|
组播地址 |
11111111 |
FF00::/8 |
|
任播地址 |
从单播地址空间中进行分配,使用单播地址的格式 |
IPv6和IPv4组网技术
在目前 IPv6和IPv4共存的情况下,实现IPv4和IPv6互联互通的组网技术有:
- 双栈策略
双栈策略是指在网元中同时具有 IPv4和IPv6两个协议栈,它既可以接收、处理、收发IPv4的分组,也可以接收、处理、收发IPv6的分组。对于主机(终端)来讲,“双栈”是指其可以根据需要来对业务产生的数据进行IPv4封装或者IPv6封装。对于路由器来讲,“双栈”是指在一个路由器设备中维护IPv6和IPv4两套路由协议栈,使得路由器既能与IPv4主机也能与IPv6主机通信,分别支持独立的IPv6和IPv4路由协议,IPv4和IPv6路由信息按照各自的路由协议进行计算,维护不同的路由表。IPv6数据报按照IPv6路由协议得到的路由表转发,IPv4数据报按照IPv4路由协议得到的路由表转发。
- 隧道策略
隧道策略是 IPv4/v6综合组网技术中经常使用到的一种机制。所谓“隧道”,简单地讲就是利用一种协议来传输另一种协议的数据技术。隧道包括隧道入口和隧道出口(隧道终点),这些隧道端点通常都是双栈节点。在隧道入口以一种协议的形式来对另外一种协议数据进行封装,并发送。在隧道出口对接收到的协议数据解封装,并做相应的处理。在隧道的入口通常要维护一些与隧道相关的信息,如记录隧道MTU等参数。在隧道的出口通常出于安全性的考虑要对封装的数据进行过滤,以防止来自外部的恶意攻击。 隧道的配置方法分为手工配置隧道和自动配置隧道,而自动配置隧道又可以分为兼容地址自动隧道、 6to4隧道、6over4、ISATAP、MPLS隧道、GRE隧道等,这些隧道的实现原理和技术细节都不相同,相应的,其应用场景也就不同。