目录
一、前言
IPv6技术是为缓解IPv4的资源紧张问题而出现的技术。此外,IPv6技术除缓解了IPv4的地址资源紧张的问题外,还具有地址空间巨大、精简了报文结构、实现了自动配置和重新编址、支持层次化网络编制、支持端对端安全、更好的支持Qos、支持移动特性等技术特点,由于这些新的技术特点,IPv6对新行业发展与新互联网技术的发展具有更好地适应性。
IPv6协议将分为两篇介绍,该篇为第二篇,将介绍IPv6的基础协议、IPv6的过渡技术及IPv6隧道的配置。阅读前建议先掌握"R&S,数通HCIE|IPv6协议(一)",重点介绍了IPv6报文及其地址类型。
二、IPv6的基础协议
在本篇中,将介绍IPv6的两种协议:ICMPv6协议、NDP协议和PMTU发现协议。其中NDP协议通过ICMPv6来实现,将重点介绍。
(一)ICMPv6协议
ICMPv6协议是IPv6的基础协议之一,用于向源节点传递报文转发的信息或错误,其协议类型号(Next Header)为58,在IPv6中,ICMPv6除了提供ICMPv4的基本功能外,还为NDP协议的一系列功能提供了基础。
ICMPv6的报文格式如下:
ICMPv6的部分消息的Type和Code值如下表:
(二)NDP协议
NDP指IPv6中的邻居发现协议,它以ICMPv6为基础,实现了IPv6中的众多重要功能,列表如下:
NDP使用ICMPv6的相关报文如下:
报文类型 | 报文说明 |
---|---|
RS (路由器请求报文) | 当主机刚刚接入网络并被配置为自动获取地址,主机需要自动获得前缀、前缀长度、默认网关等信息时,就会发送RS消息。 |
RA (路由器通告报文) | RA消息由路由器周期性地发送,或者在收到主机发送的RS消息后立刻发送,主要为主机提供编址信息以及其他配置信息。 |
NS (邻居请求报文) | 当节点不知道目标地址的链路层地址时,将发送NS消息。 |
NA (邻居通告报文) | 当节点接收到NS消息后,会快速响应NA消息,或者当节点需要快速传播新的信息(非请求)时,也会发送NA消息。 |
重定向报文 | 通过重定向消息,路由器可以通告更优的下一跳路由,也可以用于通知目标地址就是邻居。 |
(1)地址解析
IPv6的地址解析实现了从IP地址解析到链路层地址的功能。
与IPv4协议不同,IPv6的地址解析有了以下变化:
① 不再使用ARP协议而是使用NDP协议;
② 不再使用广播方式而是使用组播方式;
③ 地址解析在三层完成而不是2.5层。
由此,IPv6的地址解析具有如下优点:
① 由于地址解析在三层完成,不同的二层戒指可以使用相同的地址解析协议;
② 采用组播方式发送NS消息,更加高效,减少了二层网络的压力;
③ 可以使用三层的安全机制以避免地址解析攻击。
(2)邻居状态跟踪
由于通信过程中的邻居关系可能由于各种原因进行改变,因此每个节点都需要维护一张邻居表,当邻居发生变化后,NDP协议将通过ICMPv6报文实现邻居状态的迁移。
IPv6网络中的五种邻居状态包括:
邻居状态 | 邻居状态 |
INCOMPLETE 未完成 |
邻居请求已经发送到目标节点的请求组播地址,但没有收到邻居的通告。 |
REACHABLE 可达 |
收到确认,不需再发包确认。 |
STALE 陈旧 |
从收到上一次可达性确认后过了超过30s。 |
DELAY 延迟 |
在stale状态后发送过一个报文,并且5s内没有可达性确认。 |
PROBE 探查 |
每隔1s重传邻居请求来主动请求可达性确认,直到收到确认。 |
在以下例子中,节点A中没有缓存节点B的条目,当节点A需要访问节点B时,邻居状态机的变化过程如下:
(3)DAD(重复地址检测)
(4)无状态自动配置
(5)路由器发现
(6)ICMP重定向
(三)PMTU发现协议
PMTU指路径上最小接口的MTU,通过PMTU发现协议,源节点将按照路径上最小接口的PMTU对报文进行分片并发送分片保温,最终到达目的地。
PMTU发现协议的过程如下:
三、IPv6的过渡技术
IPv6的过渡技术包括以隧道、双栈为代表的共存技术和以NAT为代表的互通技术。
(一)共存技术
(1)双栈Dual Stack
双栈协议即在设备的接口上同时配置IPv4地址和IPv6地址,这就要求设备必须支持IPv4/IPv6协议栈。
(2)6over4隧道
1) 手动隧道
① GRE隧道
GRE隧道需要手工指定隧道的端点地址,并由GRE承载IPv6协议。
② 6over4手动隧道
6over手动隧道要求源地址和目的地址均需手工指定,多用于边界路由器之间或者主机与边界路由器之间。
2)自动隧道
① 6to4隧道
支持路由器到路由器、主机到路由器、路由器到主机和主机到主机之间的隧道建立,其采用6to4专用地址"2002:IPv4::/48"。同时,在该隧道中可以使用SLA ID区分不同的网络进而实现连接多个6to4网络的功能。该隧道也可以满足6to4网络和IPv6普通网络的互通。
② ISATAP隧道
支持主机到路由器、路由器到主机、主机到主机,采用ISATAP隧道专用地址。
(二)互通技术
(1)NAT64
① NAT64技术实际上是一种协议转换技术,能够将分组在V4及V6之间灵活转换。
② 该技术使IPv6数据包和IPv4数据包中的各字段建立起了一一映射的关系,从而实现分组在V4及V6之间的灵活转换。
四、IPv6隧道的配置
这里只给出IPv6隧道中GRE的基本配置命令
步骤 | 操作 | 命令 |
---|---|---|
1 |
进入系统视图 |
system-view |
2 |
创建Tunnel接口 |
interface tunnel interface-number |
3 | 指定Tunnel为GRE隧道模式 |
tunnel-protocol gre |
4 |
指定Tunnel的源接口 |
source { ipv4-address | interface-type interface-number } |
5 |
指定Tunnel的目的接口 |
destination ipv4-address |
6 |
设置对GRE报文头进行校验 |
gre checksum |
7 |
设置GRE报文头的关键字 |
gre key key-number |
8 |
设置Tunnel接口的IPv6地址 |
ipv6 address ipv6-address prefix-length |