IPv6协议
IPv6协议
2011年---IANA组织分配给全球的五个RIP(区域互联网注册管理机构)
亚太地区 --- 亚太互联网信息中心 ---APNIC
IPv6协议(下一代互联网协议)发展
IPv4 地址的局限性1 、公网地址枯竭2 、报文头部设计不合理3 、路由表过大,查表效率过低4 、对 ARP 依赖过大,导致广播报文过多
IPv6优势
- 几乎无限地址空间 --- 128bit
- 地址层次化分配 --- 缩减IPv6路由表的特性
- 即插即用--- 除了手工和DHCP以外,支持SLAAC无状态地址自动配置。
- 简洁的报文头部
- 具备安全特效 --- 所有基于IPv6的协议,都可以实现端到端的加密业务。
- 保证端到端的通讯的完整性 --- 不需要NAT技术
- 对移动性支持
- 增强了QoS特性
IPv6过渡技术
- 双栈技术 --- 在一台设备上,同时启动IPv4和IPv6协议。
- 隧道技术 --- 封装
- 转换技术 --- 将IPv4和IPv6地址进行转换
IPv6协议也需要路由协议,并且支持动态和静态两种配置路由表的方式 。
RIPng 、 OSPFv3 、 ISIS for IPv6 、 BGPv4+ 、 PIM
IPv6地址
概述
IPv6也被称为 IPng --- 网络层的无连接的数据传输服务。
IPv6也用 IPv6 地址 / 掩码长度 的方式来标识。

IPv6地址由网络前缀和接口标识两部分组成 。
- 网络前缀有N位,相当于IPv4地址中的网络ID
- 接口标识有(128-N)位,相当于IPv4中的主机ID
IPv6地址表示形式
X:X:X:X:X:X:X:X --- 每个 X 代表 4 个十六进制字符,用冒号分隔,通常为 8 组。
FC00:0000:130F:0000:0000:0000:0909:876A
上述的地址格式,被称为IPv6地址的首选格式。
提供了地址压缩规则 :
- 每组中的前导“0”可以被省略
FC00:0:130F:0:0:0:909:876A
- 地址中包含的连续两个或多个均为“0000”的组,可以用双冒号来替代。
- 在一个 IPv6 地址中,只能使用一次双冒号 。否则计算机进行地址恢复时,无法确定每个 “::” 代表的0 的个数
-
FC00:0:130F::909:876A
IPv6内嵌 IPv4 地址格式 --- 将 IPv4 地址转变为一种特殊的 IPv6 地址。 规则:前 96bit 为 IPv6 地址格 式,后 32bit 为 IPv4 地址格式 。
例如:0:0:0:0:0:0:192.168.1.2/64
IPv6地址分类
IPv6分为单播地址、组播地址、任播地址三种 。

任播地址 --- 标识一组网络接口;目的地址为任播地址的数据包,会被发送给其路由意义上最近的一 个网络接口。 --- 一到最近 。
单播地址 --- unicast address
仅仅标识一个接口,目的地为单播地址的报文会被送到被标识的接口。

- 网络前缀 --- 一般由运营商进行分配
- IPv6 Internet网络 --- 必须使用2001::/16地址,类似于IPv4中的公网地址。
- 接口标识
- 手工配置
- 系统自动生成 --- windows就使用该方式
- 通过IEEE EUI-64规范生成 --- 最常用的。
IEEE EUI-64 规范
接口ID 典型长度为 64 位。 该规范给出了一个由 48bit 的 MAC 地址自动生成 64bit 的接口 ID 方式 。
转换方式:将MAC 地址的第 7bit 转换为 1 ,然后再 24bit 中间插入两个字节 (FFFE) 。
MAC 地址中,第 8bit 为 0 代表单播, 1 代表组播。MAC 地址中,第 7bit 标识地址范围, 0 标识广域地址, 1 标识区域地址。MAC 地址中,前 24 位代表厂商识别码,后 24 位代表产品 ID 。
MAC地址是唯一的,所以该方式产生的 IPv6 地址也是唯一的。
IPv6规定:对于单播 IPv6 地址而言,前 3bit 如果不是 000 ,则接口标识必须为 64bit ,即掩码 64 。
常见单播地址
GUA 地址 --- 2000::/3
也被称为可聚合全球单播地址

该类地址一般可以向运营商或者当地的IPv6管理机构申请。
ULA 地址 --- FC00::/7
唯一本地地址--- 是 IPv6 网络中的私网地址 。在企业内网中使用, 不能在公网中出现; IPv6 公网环境 中,不存在该路由信息 。

该类地址中,目前只有FD00::/8 地址段在使用。
LLA 地址 --- FE80::/10
链路本地地址 ,IPv6 中另一种应用范围受限的地址类型。有效范围本地链路。
- 每一个IPv6接口都必须具有一个链路本地地址。
- 用于一条单一链路层面的通信。
- 即源或目的IPv6地址为链路本地地址的数据包,不会被转发到始发的链路之外。
- 可以理解为IPv4中的224.0.0.X地址,该地址只能在一个广播域中传输。
组播地址 --- FF::/8
标记 --- 标识是否是永久组播地址0000---永久0001---临时Scope --- 组播组的范围0预留1节点本地链路,理解为 loopback 接口,只有该接口有效2链路本地范围( FF02::1 )E全球范围
IPv6 组播 MAC 地址
组播MAC 的 前 16bit 为 “33:33” ;专门为 IPv6 组播预留的 MAC 地址前缀。而后 32bit 是从组播 IPv6 中的后32bit 直接映射而来的。
用途举例
需要一种非广播形式的行为,来获取MAC 地址 。
当网络中的某一个节点,被配置了单播地址或任播地址后,就会自动生成一个 被请求节点组播地 址 ,并加入这个地址族 。
- 邻居发现机制
- 地址重复检测机制
该组播地址是根据 IPv6 单播或任播地址转换而来的,意味着,该地址在本地链路范围是唯一的 ( 在一个广播域中唯一) 。
1-23 位:注册位, IANA 分配给各个国家的24-32 位: ISP 位,国家分配给网络提供商33-48 位:站点位, ISP 分配给企业49-64 位:子网位,网络管理员进行子网划分
无状态地址自动配置 --SLAAC
无需DHCP 这类辅助协议,主机可自动获取 IPv6 前缀并生成接口 ID 。
- RA报文 --- 定期以组播方式向二层网络中发送,并携带网络配置参数。
- RS报文 --- 主机接入网络后,主动发送的报文。
- 收到该报文的路由器,会立即回复一个单播的RA报文,告知主机此时网络中的前缀信息。
在IPv6 中,通过无状态地址自动配置方式获取的地址信息,主机也需要进行一次检测,被称为 DAD 检测 。
- 会向该IPv6单播地址所在的节点组播地址发送一个请求信息。如果存在回复,则认为网络中存在地址冲突。不能使用该IP地址。
IPv6头部
IPv6头部 = 基本报文 + 扩展头部组成

- 基本头部
- 每一个IPv6报文都必须包含该头部信息,长度为40字节。
- 仅提供报文转发的基本信息,并且,该头部可以被转发路径上所有的路由器解析 。

Flow Label--- 流标签新增字段,用于区分实时流量。源地址+ 流标签,唯一确定一条数据流。
- 扩展头部 --- 属于可选项
- IPv6数据包可以包含多个扩展头部。每一个扩展头部长度不同。
- 扩展头部代替了IPv4报文中的可选项字段。--- 可以不被路由器解析。
- 用于一些特殊场景时使用,特点:必须是8字节的整数倍。
- 当存在多种扩展头部时,扩展头部是存在顺序的。
逐跳选项报头 --- 每个路由器都要处理目的选项报头 --- 只有目的设备才会处理的路由报头 --- 强制数据包经过那些特定的设备分段报头 --- 只由目的地处理认证报头 --- IPSec封装安全载荷报头 ---IPSec
ICMPv6报文
ICMP---向源节点报告关于目的地传输报文过程中的错误和信息。目的是诊断。
在IPv6 中的 next header 字段中数值为 58 则对应 ICMPv6 协议。


ICMPv6信息报文分类
[r1]ipv6 --- 全局激活[r1-GigabitEthernet0/0/0]ipv6 enable --- 接口激活[r1-GigabitEthernet0/0/0]ipv6 address 2000::1/64 --- 配置 IPv6 地址

NDP 协议 --- 邻居发现协议
NDP协议替代了 ARP 和 ICMP 路由器发现功能 。


NS和 NA 报文主要用于地址解析, RA 和 RS 主要用于无状态地址自动配置 。
地址解析 ---NS/NA--- IPv6 的邻居发现
ARP---直接封装在以太网报文中,以太网协议类型字段为 0x0806 。
NDP协议本身基于 ICMPv6 实现,以太网协议类型字段为 0x86DD(IPV6) ;而 IPv6 中的下一报头字段数值为58 代表 ICMPv6 。
一般将NDP 协议看做是 3 层协议。 ---> 优势: 1. 二层协议无关; 2. 避免 ARP 欺骗; 3. 使用组播方式发送请求报文。
- NS---邻居请求报文 --- ARP请求
- NA---邻居通告报文 --- ARP应答
因为IPv6 网络中不存在广播行为,也就没有办法使用 ARP 协议。但是设备在配置 IPv6 单播地址时, 设备会根据接口配置自动生成一个组播地址 (FF02::1:FFxx:xxxx) ;而只要配置的单播地址在该广播域内 唯一,那么该组播组地址也会唯一,从而根据组播组生成的组播 MAC 地址也是唯一的。就可以保证数据 一定会被发送到被请求的节点身上,并且被处理且回复,从而获取到对端的 MAC 地址信息 。
虽然不存在广播行为,但是在IPv6 网络中,每个设备都必然会监听一个 MAC 地址,即 3333+ 被请求节点组播地址后32bit 。而只要被请求节点组播地址唯一,则该 MAC 地址唯一。
IPv4 over IPv6(IPSec 方式 )
