《IPv6过渡技术详解-精心原创.pdf》由会员分享,可在线阅读,更多相关《IPv6过渡技术详解-精心原创.pdf(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、IPv6IPv6 过渡技术详解过渡技术详解一、一、双协议栈技术双协议栈技术1.1DSTM二、二、隧道技术隧道技术2.1SIT2.2Tunner Broker2.36to42.46rd2.56over42.6ISATAP2.76PE/6VPE2.8SoftWire三、三、翻译技术翻译技术3.1NAT63.2BIS 技术3.3BIA3.4PNAT(BIH)3.5IVI3.6NAT-PT和 NAT64四、四、延缓延缓 IPv4IPv4 地址枯竭的方案地址枯竭的方案4.1CGN(NAT444)4.2DUAL-STACK LITE(DS-Lite)4.3Public 4over64.4A plus P4
2、.54rdIPv4 互联网经过多年的发展和完善,取得了巨大的成功,然而随着 Internet的快速持续发展,当前 IPv4 存在的地址空间缺乏、路由表急剧膨胀、缺乏网络层安全、缺乏对移动和网络服务质量的支持等缺陷和不足使得它不能满足这种日渐增长的需要。IPv6 正是为解决 IPv4 中存在的问题而产生的,其优越的特性为互联网的进一步发展提供了更好的支持。在当前 IPv4网络环境下部署 IPv6网络,IPv4/v6 过渡机制是必然和必须的,其过渡过程是复杂和困难的,因此充分研究过渡机制是非常重要的。在 IPv4/v6 过渡研究中,已经诞生了很多方案,这些方案的提出都是适应某种实际场景的,但是,到
3、目前为止,仍没有一种方案可以解决所有的通信场景问题,这是该技术报告需要解决的基本问题,通过对现有方案的技术调研和跟踪,融合各类技术的特色,为特定的网络需求指定方案做参考。IPv4/v6 过渡思想一诞生,很多组织和个人就为之不停的奋斗,涌现了大量的技术方案。总结起来,现有技术主要可以归结为三类,即双协议栈技术、隧道技术和翻译技术,在这两年中,又出现了一些融合技术,主要利用翻译技术和隧道技术解决 IPv4 地址枯竭问题,扩大 IPv4 私有地址的使用空间,节省 IPv4 公有地址的使用范围,从而暂时解决 IPv4 地址濒临枯竭的问题,但是,这类方案只是一种缓冲机制,而最根本的解决方式就是部署 IP
4、v6 网络,解决 46 网络的平滑过渡问题。1.1.双协议栈技术双协议栈技术1.11.1 DSTMDSTMDSTMDual Stack Transition Mechanism的目标在于解决纯 IPv6 网络中的主机与其他 IPv4 主机或应用的连接问题,它的出发点是提供 IPv6 节点一个获得 IPv4 地址的方式,从而使之能够与纯 IPv4 节点或者 IPv4 应用程序通信。DSTM技术通过使用 IPv4-over-IPv6 隧道,实现了 IPv4 流量在纯 IPv6 网 上的传输,同时也提供一个为 IPv6/IPv4 双栈节点分配临时 IPv4 地址的方法。使用 DSTM机制的节点必须是
5、双栈节点,而且这种机制还必须要结合隧道技术进行应用。DSTMDSTM 目前已经过期。目前已经过期。Expires December 2002图图 2-1 DSTM2-1 DSTM 体系结构体系结构DSTM 的体系结构中包括三个主要组成部分:DSTM 服务器、网关和 DSTM 节点。DSTM 域应在 Intranet 中。其中,DSTM 服务器负责为客户机节点分配 IPv4 地址,还可以提供一个端口范围作为地址分配功能的扩展。IPv4 地址分配的协议有多种选择比方 DHCPv6,并提供所需网关的IPv6 地址;网关作为隧道端点承担纯 IPv6 域与外部的 IPv4 Internet 的边界路由器
6、的角色;DSTM 节点执行封装/解封装数据包,完成收发过程。DSTM 节点必须是双栈节点;网关需要直接与 IPv4连接并需要一个永久 IPv4 地址。DSTM 通信过程如下:DSTM 节点与 IPv4 通信的过程如下:DSTM 节点向 DSTM 服务器请求一个临时的 IPv4 地址。DSTM 服务器在地址池中为该 DSTM 节点保留一个 IPv4 地址,并在应答消息中将该地址和地址的有效时间以及有关 DSTM 网关的信息发送给 DSTM节点。DSTM 节点使用申请来的地址配置其 IPv4 堆栈,并将所有 IPv4 包都通过IPv4 over IPv6 隧道送到 DSTM 网关。DSTM 网关将
7、包拆封成 IPv4 包发送出去。DSTM 网关保留一个含有intranet 主机 IPv4 和 IPv6 地址的映射表,并利用此映射表来执行 IPv4包的封装和拆封。为保证双向通信,IPv4 路由必须要确保目的地的任何包都经过原来的 DSTM 网关。DSTM 适用性:DSTM 适用于 IPv6 域内的节点需要与域外 IPv4 节点通信的情况。通过使用DSTM 技术,拥有 IPv4 应用的双栈主机在纯 IPv6 网内可以到达全球 Internet 上的相应的纯 IPv4 节点。DSTM 网络只需要配置 IPv6。不需要配置 IPv4 的地址和路由。任何类型的协议和应用都被透明地转发,无需采用 N
8、AT 技术即可实现。DSTM 安全性:DSTM 在安全方面还有许多问题值得探讨。比方对 DSTM 服务器的 DOS 攻击问题和对隧道的监控问题等。由于多种因素,DSTM 技术已经过期,但 DSTM 技术的很多思想 比方服务器分配地址、上层应用被透明转发以及采用端口扩展地址范围的方法在其他方案中已经被借鉴使用。2.2.隧道技术隧道技术2.12.1 SITSITIPv6 配置隧道(也称IPv6-over-IPv4 隧道,SIT:Internet 简单过渡机制或者IPv6-in-IPv4 隧道|SimpleSimpleInternetInternet TransitionTransition)是一种
9、应IPv6主机IPv6网络IPv4HeaderIPv6HeaderIPv6DataIPv6主机IPv6HeaderIPv6Data双栈路由器IPv4网络双栈路由器IPv6HeaderIPv6Data隧道IPv6网络用最早、最简单、成熟的过渡技术,通过手工配置隧道图 2-2IPv6 配置隧道的出口和入口地址,在入口节点处对IPv6 分组封装在 IPv4 分组中,在出口节点进行解封装,实现 IPv6 间通过 IPv4 网络到达互通。IPv6 配置隧道入口节点必须保存所有隧道的出口端地址,这些隧道是点到点连接并且是手工配置的如图2-2,因此,需要隧道数量越多,管理隧道的负担就越大。IPv6 配置隧道
10、适用于通过 IPv4 连接孤立的 IPv6 网络,是IPv4 向 IPv6 过渡的初期最易于采用的技术。IPv6 配置隧道目前是 6Bone 所采用最多的技术。IPv6配置隧道技术的要求是配置隧道的出口和入口至少要具有一个全球唯一的 IPv4地址,出口和入口路由器需要支持双栈,站点中每个主机都至少需要支持 IPv6,需要合法的 IPv6 地址。IPv6 配置隧道的优点在于隧道的透明性,IPv6 主机之间的通信可以忽略隧道的存在,隧道只起到物理通道的作用,甚至可以在此隧道上传输组播、设置BGP 对等端等;它不需要大量的IPv6 专用路由器设备和专用链路,可以明显地减少投资。其缺点是:在IPv4
11、网络上配置 IPv6 隧道是一个比较麻烦的过程,而且一旦隧道端点的 IP 地址发生变化,必然影响隧道配置;无法穿越 NAT设备,因此隧道路径中不能有NAT设备;如果隧道穿越防火墙,则需要保证协议 41 IPv6 不被过滤掉;不能实现 IPv4 主机和 IPv6 主机之间的通信。目前这种隧道已经获得了广泛的支持,已知的支持 IPv6 的平台都支持配置隧道,包括主机和路由器。在安全方面,需要同时保护隧道免受IPv4 和 IPv6 的攻击,具体的方法是一个隧道连接的两个端点和其连接的 IPv6 网络是确定的,因此对这些所有穿越隧道封装的业务使用同时使用 IPv4/v6 过滤规则。可以分别、同时实施这
12、两种规则。此外,对于保护数据隐私的情况下,可以采用在隧道端点使用 IPv4 IPSec 来实现,也可以在 IPv6 端实现 IPv6 IPSec。由于 IPSec 对性能有负面影响,因此在性能和安全之间需要做折中的设计和处理。2.22.2 Tunner BrokerTunner Broker隧道代理Tunnel Broker不是一种隧道机制,而是一种方便构造隧道的机制或者服务。配置隧道需要繁重的管理和配置,而网络操作管理员无法承担,连接到IPv6网络对初级用户来说不是一件容易的事情。隧道代理机制图 2-3隧道代理技术就是解决这样的问题的。基本的要求就是用户必须是双栈的,并且 IPv4 地址是全
13、球唯一的。图 2-3 显示了隧道代理的基本的工作机制1用户通过认证,向隧道代理服务器请求建立到 IPv6 网络的隧道;2隧道代理服务器在多个隧道服务器中选择一个,为用户分配合适的 IPv6 地址、设定隧道生存时间3向DNS 注册用户端的 IPv6 地址4请求隧道服务器建立隧道。隧道代理的优点是可以简化隧道的配置过程,适用于小型 IPv6 网络或者单个主机获取 IPv6 连接的情况,可以使 IPv6 的 ISP 可以很容易对用户执行接入控制,并按照策略对网络资源进行分配;缺点是无法穿越 NAT设备,经过 NAT设施的情况下隧道代理失效。在隧道代理体系中,所有功能单元之间包括客户和 TB 之间、T
14、B 和隧道服务器之间以及 TB 和 DNS 之间都需要使用安全机制保护。隧道代理还存在以下安全问题:1如果用户端的配置是通过 TB 提供的脚本实现的话,在执行这些脚本时就需要实现对一些接口的配置管理,所以必须给这些脚本很高的权限,这种做法存在安全漏洞。同时存在最终用户真实身份不确定的问题;2如果用户使用不是静态 IPv4 地址的连接(如拨号),就要谨慎地自动切断隧道以防不必要地使用资源。因为用户的连接如果非正常中断了,隧道服务器会继续发送IPv6 的隧道包到用户原来的 IPv4 地址,而这个地址可能已经被分配给另一个主机使用,这样就发生了数据泄露问题。这个问题可以通过用户端发送某类Keep-a
15、live 消息来解决,但是这样可能需要在用户操作系统中安装专门的软件,用起来比较困难;(3)恶意用户可能同时申请大量的隧道连接耗尽隧道服务器的资源;(4)多宿主主机时还没有合适的过滤策略。2.32.3 6to46to46to4 隧道技术解决的问题是:孤立的 IPv6 站点如何在没有 Internet 服务提供商提供 IPv6 互连服务的条件下,与其他孤立站点以及与 IPv6 主干网内部各站点之间进行通信。它不需要像配置隧道那样以 6bone 为中介,而只是利用了现有的IPv4 路由体系,从而大大改善了路由效率。6to4 过渡技术也是一种自动构造隧道的机制,这种机制要求站点采用特殊的 IPv6
16、地址2002:IPv4ADDR:/48 ,这种地址是自动从站点的 IPv4 地址派生出来的。所以每个采用 6to4 机制的节点至少必须具有一个全球唯一的 IPv4 地址。由于这种机制下隧道端点的 IPv4 地址可以从 IPv6 地址中提取,所以隧道的建立是自动的,而对于接收端的 6to4 路由器来说,可以自动地区分隧道接收端点是否在本域内。6to4 不会在 IPv4 的路由表中引入新的条目,在 IPv6 的路由表中只增加一条表项。6to4 过渡机制技术适合于 IPv4/v6 共存的初始阶段,与防火墙、NAT共存时,要求必须具有全球唯一的 IPv4 地址,并具备 6to4 机制和路由功能,管理和
17、维护负担小。6to4 要求隧道中至少有两台路由器支持双栈和 6to4,主机要求至少支持IPv6 协议栈。6to4 技术的优点是不需要向网络运营商申请 IPv6 地址,所有 IPv6地址从公有 v4 地址产生并通过 6to4 中继路由器于全球 IPv6 网络互通;自动建立隧道,能够保证端对端的特性。其缺点是一旦 IPv4 地址发生变化,整个站点的 IP 地址需要重新分配,因此很难使用在动态IPv4 地址分配的情形下,如拨号访问、xDSL 接入、DHCP 等;存在单点失效问题,如果边界 6to4 路由器故障,则整个站点与其他 IPv6 通信中断。2002:cacc:0ec2:/48202.204.
18、12.226202.112.10.372002:ca70:0a25:/486to4路由器 B6to4IPv6网络 A6to4路由器 AIPv4网络192.88.99.16to4IPv6网络 B2002:c058:6301:16to4中继路由器 CNative IPv6Internet C图 2-46to4 实际例如图 2-4 显示了一个实际的 6to4 例如。采用 6to4 机制的 IPv6 出口 6to4 路由器A 与其它的 IPv6 孤岛6to4-B之间建立隧道连接。由于站点的 IPv4 地址包含在 IPv6 的地址前缀中,因此IPv4 隧道的末端地址202.112.10.37可从IPv6
19、 域的地址前缀2002:ca70:0a25.中自动提取。此地址前缀由一个唯一的16bit长度的 6to4 前缀2002和一个标识转换的出口路由器的 32 位 IPv4 地址域202.112.10.37:ca70:0a25构成。6to4 将 IPv4 隧道地址202.112.10.37嵌入IPv6 前缀2002:ca70:0a25中,使边界路由器可以自动为 IPv6 找到终点。6to4机制通过中继路由器(6to4 Relay Router)与纯 IPv6 站点之间进行通信,如图 2.5中的 6to4 路由器 C,中继路由器负责 6to4 和纯 V6 网络之间的路由,建议运行BGP4+。安全性方面
20、,在 6to4 隧道终点,任何从正常 IPv4 链路传来的 6to4 数据流都可以被接受和解封装。为了防止 IPv6 欺骗,可采用附加的基于源地址的包过滤技术。一种方法就是检查用于封装的 IPv4 地址是否与被封装的 IPv6 包头地址一致。这种检查要在中继路由器relay router中设置。在任何情况下,6to4 数据流中的源和目的地址嵌入的 V4 地址必须是以全球唯一单播地址格式,否则这些数据包将会在不被警告的情况被丢弃。如果 IPv4 地址被欺骗,任何人都可以向隧道内注入任意多的流量。如果已经使用了 6to4 路由器或中继,还需要防止对6to4 伪接口的攻击、本地广播攻击以及业务盗用,
21、详细安全性分析和解决方法在中有详细的阐述。2.42.4 6rd6rd目前,运营商的骨干网以 IPv4 为主,升级到 IPv6 网络需要时间和成本,需要一种技术能够在现有网络架构上快速提供 IPv6 站点之间的互通。6rd 就是这样一种方案。它由法国运营商 FREE 提出,现已成为 IETF 标准RFC5569,FREE 采用该方案在 5 周内为超过 150 万户居民提供了 IPv6 服务。思科公司进一步改进与扩展了 6rd,目前已形成提案标准RFC5969。6rd 是一种IPv6-in-IPv4 隧道技术,部署场景如图4-5 所示,6rd CE(customeredge)与 6rd BR(bo
22、rder realy)都是双栈设备,它们之间保持 IPv4 网络。通过扩展的 DHCP 选项,6rd CE 的 WAN 接口可得到运营商为其分配的 IPv6 前缀、IPv4地址公有或私有以及6rd BR 的 IPv4 地址等参数。CE 在 LAN 接口上通过将上述 6rd IPv6 前缀与 IPv4 地址相拼接构造出用户的 IPv6 前缀。当用户开始发起 IPv6 会话,IPv6 报文到达 CE 后,CE 用 IPv4 包头将其封装进隧道,被封装的 IPv6 报文通过 IPv4 包头进行路由,中间的设备对其中的 IPv6 报文不感知。BR 作为隧道对端,收到 IPv4 数据包后进行解封装,将解
23、封装后的 IPv6 报文转发到全球 IPv6 网络中,从而实现终端用户对 IPv6 业务的访问。6rd技术是基于 6to4 隧道技术,能够为有 IPv4 网络接入的用户快速部署 IPv6的单播业务。6rd 使用无状态的地址映射,将 IPv6 分组封装在 IPv4 报文中穿越IPv4 基础网络。与 6to4 机制不同的是,6rd 业务提供商使用自己已获得的实际长度可变的 IPv6 地址前缀来代替 6to4 机制特定的 2002 前缀,因此其作用域局限在运营商的管理域内。如图 4 所示,发送的 IPv6 分组在 CPE/主机进行封装,其封装源地址为从 IPv6 源地址中取出的 IPv4 地址,目的
24、地址为 6rd-relay 的 IPv4地址,分组到达 6rd-relay 后经解封装,由于是无状态映射所以可直接转发。图 2-5 6rd 图例使用 6rd 技术升级后的网络在原有提供 IPv4 传输的基础上可以支持 IPv6 的传输。为实现 46 互通,相应的 IPv4或 IPv6节点需要升级为 IPv6或 IPv4capable。6rd 使用的是无状态的地址映射,在 6rd-relay 上无需维护映射表,管理简单。升级 IPv4 接入网支持 6rd 机制需要:在 IPv4 网络与 IPv6 网络边界运行一个或者多个 6rd 的网关6rd-relay;用户本身或 CPE 路由器需能够支持 6
25、rd 的功能而接入网内部的路由器仍是 IPv4 单栈无需改动。使用 6rd 能够满足对 IPv4接入网进行升级的需求。2.52.5 6over46over46over4 过渡技术通过 IPv4 组播自动建立隧道的机制,6over4 隧道通过组播机制,将一个网络内部、位于不同子网且没有IPv6 路由器直接相连的 IPv6 主机连接到一个虚拟的链路上,形成逻辑上的同一子网。其核心思想是将 IPv6 多播地址映射成 IPv4 多播地址,通过邻居发现中的路由器请求/宣告、邻居请求/宣告过程完成其他 IPv6 主机的 IPv4 地址的发现和边界路由器 IPv4 的发现。对于 IPv6而言,整个 IPv4
26、 组播域就是一个虚拟以太网(virtual Ethernet)。6over4 过渡技术与 6to4 隧道和自动 IPv4 兼容隧道不同的是它不需要特殊格式的 IPv6 地址,IPv4组播域可以是采用全球唯一的 IPv4 地址的网络,或是一个私有的 IPv4 网络的一部分,IPv6 可以独立于底层的链路而且可以跨越 IPv4 的子网。但是采用这种机制的前提就是 IPv4 网络基础设施必须支持 IPv4 组播。这种机制适用于 IPv6 路由器没有直接连接的物理链路上的孤立的 IPv6 主机,使得它们能够将 IPv4 组播域作为它们的虚拟链路,成为功能完全的 IPv6 站点。6OVER4 隧道适用于
27、具备双协议栈的主机之间通信,是利用 IPv4 的组播机制创建虚拟链路而不是显式的隧道技术。然而由于支持组播的 IPv4 网络的缺乏,且 6over4 相对于 6to4 和 ISATAP并没有太多的优势,实际中 6over4 极少使用。在安全性方面,6over4 技术除了需要考虑可能有 IPv6 攻击之外,还应该考虑对 IPv4 攻击的安全防范。即使是有 IPv4 安全保证,仍然需要有 IPv6 安全保证。6over4 还有可能受到地址欺骗攻击,外部伪造的 6over4 包有可能侵入 6over4域内。这样,边界路由器必须要丢弃组织本地范围内的源和目的多播地址的 IPv4包如果它们到达这个范围以
28、外的物理接口的话。为了防止单播6over4 包的地址欺骗攻击,边界路由器还必须要丢弃来自于未知源的协议类型为41的IPv4包,只接受可信任来源的数据。除非是IPSec 认证可用,否则最好将边界路由器配置成只接受来自于可信任范围内的源地址的协议类型为 41 的包。2.62.6 ISATAPISATAPISATAP技术的工作机制类似 6to4过渡技术,都把 IPv4网络看作一个 NMBA非广播多点访问线路,以实现在 IPv4 网络中孤立的 IPv6 节点实现 IPv6 渐2002:cacc:0ec2:/48202.204.12.226202.112.10.37192.168.2.12002:ca7
29、0:0a25:/48fe80:5efe:c0a8:02013ffe:1:1:5efe:c0a8:0201IPv4ISATAP+6to4ISATAP+6to4路由器路由器ISATAP Client192.168.1.10 with ISATAP IF:2002:cacc:0ec2:5efe:192.168.1.10IPv4 网络ISATAP+6to4ISATAP+6to4192.88.99.1ISATAP服务器路由器路由器IPv4 网络IPv6 网络IPv4ISATAP双协议栈主机1ISATAP Client10.1.2.3 with ISATAP IF:2002:ca70:0a25:5efe:
30、10.1.2.3192.168.3.1fe80:5efe:c0a8:03013ffe:1:1:5efe:c0a8:03012002:c058:6301:16to4 中继路由器 C进部署,区别是地址格式不ISATAP双协议栈主机2图 2-6ISATAP与 6to4 过渡技术结合使用图 2-5ISATAP过渡技术192.168.1.1fe80:5efe:c0a8:01013ffe:1:1:5efe:c0a8:0101Native IPv6Internet C同。不管站点使用的是全局还是内部 IPv4 地址,均可在站点内使用 IPv6-in-IPv4自动隧道技术。新的接口标识格式既可使用本地单播 I
31、Pv6 前缀,也可使用全局单播 IPv6 前缀,从而支持局域和全局的 IPv6 路由。ISATAP技术工作机制如图 2-5 所示。ISATAP双协议栈主机 1 向服务器发送路由请求,得到一个64 位的 IPv6 地址前缀,再加上64 位的接口标识符:0:5EFE:192.168.2.1,构成一个 ISATAP地址,双栈主机配置了 ISATAP地址后,就成为一个 ISATAP客户机,可以和 IPv4 域内的其他 ISATAP客户机进行通信了。通信过程如下,ISATAP双栈主机 1 获得双栈主机 2 的 ISATAP地址后向其发送数据包,根据目的地址该数据包被交给 ISATAP 接口进行发送,IS
32、ATAP从数据包的 IPv6 源地址和目的地址从提出相应的 IPv4 源和目的地址,并对该数据包用 IPv4 头部进行封装,封装后数据包的目的地址为双栈主机 2 的 IPv4 地址,这样就建立了一条从主机 1 到主机 2 的隧道。数据包最后到达主机2,主机2 对其解封装,得到一个 IPv6 数据包。由于 ISATAP 隧道的优点是它不要求隧道端节点必须具有全球唯一的 IPv4地址,因此可用于内部私有网中各双栈主机之间进行 IPv6 通信。ISATAP过渡技术于6to4隧道技术相结合(图2-6),还可以使内部网的双栈主机接入 IPv6主干网。这种结合使用过渡技术解决目前普遍存在的使用IPv4 私
33、有地址的内部网络向IPv6 网络过渡的问题。安全性方面,由于站点内的所有 ISATAP主机都在同一个 IPv6 链接上,尽管可以像通常一样在 ISATAP路由器处监控流量,但是 ISATAP链路上主机之间的包并不经过该路由器,因此没有方法监控和排除出现内部攻击的可能性。所以,路由器需要在 ISATAP接口上启用缓解欺诈攻击的安全机制,防止发自 ISATAP站点内的源 IPv6 地址欺诈攻击,至少 ISATAP站点的边界网关必须记录欺诈源地址的来源还是有好处的。ISATAP技术使用一个内嵌 IPv4 地址的 IPv6 地址通过 IPv6-in-IPv4 自动隧道为 IPv4 站点内的双栈节点提供
34、到 IPv6 路由器的接入,它允许与 IPv6路由器不共享同一物理链路的双栈节点通过 IPv4自动隧道将数据包送达 IPv6 下一跳。IPv6 邻居发现信任模型也适用于 ISATAP。使用 ISATAP技术时必须要考虑地址过滤问题,站点边界路由器和防火墙必须执行 IPv6 入口过滤、IPv4 入口过滤和协议类型为 41 的包过滤。2.72.7 6PE/6PE/6VPE6VPE6PE 是基于 MPLS 的隧道技术,其核心思想是借助成熟的 BGP MPLS VPN技术平台实现在启用 MPLS 的 IPv4 骨干网上传输 IPv6 数据报文,为 IPv6 网络孤岛提供互联能力。6PE隧道技术的VPN
35、路由发布和报文转发原理与常见的IPv4骨干网上的 MPLS L3 VPN 类似。6PE 路由器与同处于 IPv6 网络内的 CE 路由器之间通过 IPv6 IGP 路由协议交换路由信息。6PE 路由器为 IPv6 路由加上私网标签由 MP-IBGP 协议随机自动生成,被传递到对端 6PE 并保留到转发表中,并将此路由的“Next-hop”属性更改为映射后的自身 Loopback 地址为与 CE 的路由保持相同的地址族,6PE的 IPv4 Loopback 地址被映射成 IPv6 地址,地址形式为:“:FFFF:IPv4-Address”,然后加上 MPLS 外层标签通过 MPLS LSP 隧道
36、发布给对端 6PE 设备,对端 6PE接收并保留私网标签,然后将路由的下一跳属性改变为映射后的自身 Loopback地址,再以 IPv6 普通路由的形式发布给自己一侧的 IPv6 CE 设备,两个 IPv6 网络的路由通过这种方式就完成了交互。如图 2-7 所示。图 2-76PE 网络示意图IPv6 报文转发时,CE 设备根据报文的目的地址发送给 6PE 设备,6PE 设备在 IPv6 路由表中进行查找,得到该数据报文对应IPv6 路由的下一跳地址即对端 6PE 的 Loopback 地址和私网标签,在 IPv6 报文外先封装私网标签,再根据MPLS LSP 标签转发表中与其下一跳对应的标签封
37、装外层标签,然后将 MPLS 报文通过 LSP 上各个 P 路由器逐跳转发,倒数第二跳 P 路由器弹出外层标签并继续转发给相应 6PE 路由器,在6PE 路由器上根据内层标签将 IPv6 数据包转发至目的 CE 设备。传统的 6PE 技术实质上相当于将所有通过 6PE 连接的 IPv6 网络都放在一个VPN 内,无法进行逻辑隔离,因此只能用于开放的、无保护的 IPv6 网络互联,如果需要对所连接的 IPv6 网络做逻辑隔离,即实现IPv6 VPN,就需要进一步借助于 6VPE 技术。6VPE 技术是 MPLS VPN 技术对 IPv6 所作的扩展,可以在 IPv4/IPv6 MPLS骨干网上承
38、载任意的 IPv6/IPv4 的 VPN 业务。与6PE 技术相比,6VPE 技术增加了 VPN-IPv6 地址族和 VRF-IPv6 的概念,实现了不同 VRF-IPv6 网络之间的逻辑隔离,提高了 IPv6 网络的安全性。6VPE 的路由传递和报文转发原理与传统 IPv4下的 MPLS VPN 基本一致,如图 2-8 所示。图 2-8 6VPE 网络示意图6PE/6VPE 技术比较好地解决了孤立的 IPv6 网络之间多点对多点互联的问题,6VPE 还可以进一步提供 IPv6 网络逻辑隔离和有选择互通的问题。鉴于目前MPLS 技术已经普遍应用,且采用 6PE/6VPE 技术实现 IPv6 网
39、络互联时只需对PE 设备做升级即可,IPv6 网络内的设备和节点以及 IPv4 网内的 P 设备均无须做任何改动,可见6PE/6VPE 技术是一类成本较低、应用方便、适合大规模部署的隧道技术。2.82.8 SoftWireSoftWire清华大学提出的,清华大学提出的,按照 IETF Softwire 工作组的定义,“Softwire”是一种动态隧道,这种隧道建立在隧道两端之间的共享点到点或多点到点状态的控制协议之上。软线的目标是为了标准化 IPv4 网络穿越 IPv6 网络和 IPv6 网络穿越 IPv4网络的连接的检测、控制和封装方法,以支持多种实现的互相兼容。在 Softwire 机制中
40、,需要考虑的问题和细节包括:Softwire 要同时支持单播和多播机制;Softwire 的建立者应该是双栈的;Softwire 的生存周期可能很长,但建立时间相对客户端设备(Customer Premise Equipment,CPE)/地址族边界路由器Address Family Border Router,AFBR)(两者均是 Softwire 建立者)的启动时间必须很短;要尽可能使用和扩展现有的、已经部署使用的技术。按照部署情境的不同,不同地址族网络的穿越问题可以分为两种情形:Hub&spokes 和网状网络mesh解决方案。前者针对的是单个连接和静态路由的情境,讨论的是主机或局域网的
41、连接性问题;后者针对的是多个连接和路由地址前缀的情境,讨论的是网络间的连接性问题。在 Softwire 机制中将采用不同的策略来解决这两个问题。以下首先分别就这两个问题和框架进行描述。Hub&SpokeHub&Spoke按客户端网络拓扑结构的不同和 Softwire 发起者的不同,Hub&spokes 问题分为四种情形(以下以 IPv6 穿越 IPv4 为例):1、双栈主机 CPE 作为 Softwire 发起者,客户端网络没有网关。2、客户端主机接双栈路由器 CPE,该路由器作为 Softwire 发起者。3、客户端双栈主机接仅支持 IPv4 的路由器,主机作为 Softwire 发起者。4
42、、客户网内的双栈主机接仅支持 IPv4 的路由器,客户网内部的一台 IPv6路由器作为 Softwire 发起者。图 2-9 给出了第 2 种情况下的拓扑图,从图中我们可以对这个问题有一个更清楚的认识。在这种情况下,客户端网络的主机和路由器都是双栈的,传输网仅支持 IPv4,远端的网络支持 IPv6,Softwire 建立在 IPv4 传输网上,Softwire 发起者是客户网络的双栈路由器,另一端为 v4 和 v6 网络边界的双栈的 Softwire 集中器。通过使用 Softwire,客户端的主机和路由器实现了与远端 v6 网络的连通。图 2-9Hub&spoke在这个问题中,由于传输网仅
43、支持一种地址族,客户端另一地址族下的应用受到限制,无法实现端到端的路由转发。为了支持这些应用,需要使用能够自动建立的隧道,构造虚拟的双栈底层结构。需要注意的是,Softwire 要做到能够穿越 NAT 并且对 NAT 透明;Softwire必须支持 DHCP 在其上运行,支持向客户端网络分配地址前缀的功能。Hub&spoke 的部署框架使用 L2TPv2(Layer Two Tunneling Protocol version 2)协议作为 Hub&spoke 软线解决方案。在这种应用 L2TP 的部署中,Hub&spoke 软线发起者(Softwire Initiator,SI)承担了 L2
44、TP 协议中入口集中器(L2TP Access Concentrator,LAC)client 的角色,初始化 L2TP 的隧道(L2TP Tunnel)和会话L2TP Session以及 PPP 连接;ISP端的软线集中器(Softwire Concentrator,SC)承担了 L2TP 协议中网络服务器(L2TPNetwork Server,LNS)的角色。使用 L2TPv2 的一条软线由一个 L2TPv2 控制连接、一个 L2TPv2 session 以及在这个 session 上协商的 PPP 连接组成。软线的建立过程如下:首先,SI 初始化与 SC 之间的控制通道,包括在握手阶段进
45、行的一个 SI 和 SC 相互的认证过程;然后,SI 初始化与 SC 之间的会话;最后,SI 和 SC 之间通过 L2TPv2 会话协商建立 PPP/IP 连接,这个连接就是作为 IP 流量隧道的软线。在软线生命周期内,SI 和 SC 之间通过发送 L2TPv2 keepalive Hello 消息以及 LCP ECHO 消息(可选)来保持连接。在 keepalive 超时或者主动关闭软线的情况下,SI 和 SC 双方都可以拆除 L2TPv2 控制通道和 L2TPv2 会话。具体软线建立的信令过程参见18。在建立软线的 PPP 连接上,如果是 IPv4 软线,SI 使用 IPv4CP 从 SC
46、 获取IPv4 地址;如果是 IPv6 软线,SI 使用 IPv6CP 从 SC 获取一个 64 位的接口标识符,进而获得 Link-Local 的 IPv6 地址,如果要获得全局 v6 地址,则还需使用Stateless Address Autoconfiguration或 DHCP6 的方法。同时,SI 还可以使用 DHCP获取包括 DNS 服务器和分配地址前缀等信息。图 2-10 Softwire 部署图 2-10 给出了客户端主机接双栈路由器 CPE 作为软线发起者的网络拓扑下的软线部署情况。L2TPv2 包使用 UDP 在 IPv4 网络上传输,封装过程从上层到底层为 IPv6-PP
47、P-L2TPv2-UDP-IPv4。L2TPv2 控制通道和会话以及 PPP LCP 协商成功后,SI 通过 IPv6CP 进行 IPv6 协商,并在其上运行 IPv6 Stateless AddressAutoconfiguration/Neighbor Discovery 过 程,然后通过路由传播(RouterAdvertisement)将地址前缀交给 CPE 路由器,再使用DHCPv6 分配地址前缀,获取 DNS 信息等。网状网络网状网络Mesh 研究的是在网状网络环境下,隧道过渡所面临的问题。即核心网在不支持某一协议族的情况下,仍然作为该协议族报文转发路径上的一部分时的路由转发方法。此
48、时核心网路由器中除了双栈的边界路由器外,将不维护这边缘接入网络的路由信息,也不能解析对应的报文。图 2-10 给出了 Mesh 问题的拓扑图:图 2-11 Mesh网络在图 2-11 所示的场景中,为使两个 AF1 的网络能够通过核心 AF2 的网络连通,需要解决的问题是:1、使每个 AFBR协议族边界路由器能够知道通往某个 AF1 地址前缀的路径的出口 AFBR 地址;2、提供一种方法使得 AFBR 间可以转发 AF1 的报文。如采用封装的方式在AFBR 间形成隧道也称为软线用于转发 AF1 报文。解决 Mesh 问题的目标之一是所有改动都仅限于 AFBR,而不需要客户或核心网路由器的改动。
49、Mesh 问题中对报文转发的解决方案不应局限于一种隧道机制,而应该提供多样的隧道机制,至少包括 L2TPv3、IP-in-IP、MPLS、GRE、IPsec 等。AFBR 之间必须能互相探测和交换必要的信息,包括支持的隧道种类以及参数等。网状软线的框架可以从路由、隧道转发和软线信令这几个方面来描述。1、路由核心网的内部路由器P 路由器和 AFBR 共同参与 IGP 路由过程,分发核心网地址族I-IP路由信息。AFBR 使用 IBGP 互相分发接入网地址族E-IP路由信息。AFBR 之间可以组成一个网状全连接,或者使用 BGP 路由反射器。由于 IBGP 运行在 I-IP 之上,因此 BGP 更
50、新消息中对应于 E-IP 格式 NLRI 的“下一跳”地址是 I-IP 格式,而 NLRI 则是 E-IP 格式。2、隧道转发当入口 AFBR 在其与客户网络相连的接口接收到一个 E-IP 分组时,它将查看该分组的目的地址,此时与该目的地址所匹配的最正确路由应该是由 BGP 分发的下一跳地址为 I-IP 地址的路由,该 I-IP 地址即为主干网中相应的出口 AFBR的地址。入口 AFBR 必须将该分组通过隧道即“软线”转发至出口 AFBR,即将E-IP分组封装成一个I-IP分组,然后通过核心网P路由器转发至出口AFBR,然后由出口 AFBR 将载荷即原始的E-IP 分组复原出来,根据其目的IP