IPv6过渡技术详解-精心原创

上传人:cl****1 文档编号:567958056 上传时间:2024-07-22 格式:PDF 页数:38 大小:2.55MB
返回 下载 相关 举报
IPv6过渡技术详解-精心原创_第1页
第1页 / 共38页
IPv6过渡技术详解-精心原创_第2页
第2页 / 共38页
IPv6过渡技术详解-精心原创_第3页
第3页 / 共38页
IPv6过渡技术详解-精心原创_第4页
第4页 / 共38页
IPv6过渡技术详解-精心原创_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《IPv6过渡技术详解-精心原创》由会员分享,可在线阅读,更多相关《IPv6过渡技术详解-精心原创(38页珍藏版)》请在金锄头文库上搜索。

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 plu

2、s P4.54rdIPv4 互联网经过多年的发展和完善,取得了巨大的成功,然而随着 Internet的快速持续发展,当前 IPv4 存在的地址空间缺乏、路由表急剧膨胀、缺乏网络层安全、 缺乏对移动和网络服务质量的支持等缺陷和不足使得它不能满足这种日渐增长的需要。IPv6 正是为解决 IPv4 中存在的问题而产生的,其优越的特性为互联网的进一步发展提供了更好的支持。 在当前 IPv4网络环境下部署 IPv6网络,IPv4/v6 过渡机制是必然和必须的,其过渡过程是复杂和困难的,因此充分研究过渡机制是非常重要的。在 IPv4/v6 过渡研究中,已经诞生了很多方案,这些方案的提出都是适应某种实际场景

3、的,但是,到目前为止,仍没有一种方案可以解决所有的通信场景问题,这是该技术报告需要解决的基本问题,通过对现有方案的技术调研和跟踪,融合各类技术的特色,为特定的网络需求指定方案做参考。IPv4/v6 过渡思想一诞生,很多组织和个人就为之不停的奋斗,涌现了大量的技术方案。总结起来,现有技术主要可以归结为三类,即双协议栈技术、隧道技术和翻译技术,在这两年中,又出现了一些融合技术,主要利用翻译技术和隧道技术解决 IPv4 地址枯竭问题,扩大 IPv4 私有地址的使用空间,节省 IPv4 公有地址的使用范围,从而暂时解决 IPv4 地址濒临枯竭的问题,但是,这类方案只是一种缓冲机制,而最根本的解决方式就

4、是部署 IPv6 网络,解决 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 地址的方法。使用 DST

5、M机制的节点必须是双栈节点,而且这种机制还必须要结合隧道技术进行应用。DSTMDSTM 目前已经过期。目前已经过期。Expires December 2002图图 2-1 DSTM2-1 DSTM 体系结构体系结构DSTM 的体系结构中包括三个主要组成部分: DSTM 服务器、 网关和 DSTM 节点。DSTM 域应在 Intranet 中。其中, DSTM 服务器负责为客户机节点分配 IPv4 地址,还可以提供一个端口范围作为地址分配功能的扩展。IPv4 地址分配的协议有多种选择比方 DHCPv6,并提供所需网关的IPv6 地址;网关作为隧道端点承担纯 IPv6 域与外部的 IPv4 Int

6、ernet 的边界路由器的角色;DSTM 节点执行封装/解封装数据包, 完成收发过程。 DSTM 节点必须是双栈节点; 网关需要直接与 IPv4连接并需要一个永久 IPv4 地址。DSTM 通信过程如下:DSTM 节点与 IPv4 通信的过程如下:DSTM 节点向 DSTM 服务器请求一个临时的 IPv4 地址。DSTM 服务器在地址池中为该 DSTM 节点保留一个 IPv4 地址, 并在应答消息中将该地址和地址的有效时间以及有关 DSTM 网关的信息发送给 DSTM节点。DSTM 节点使用申请来的地址配置其 IPv4 堆栈, 并将所有 IPv4 包都通过IPv4 over IPv6 隧道送到

7、 DSTM 网关。DSTM 网关将包拆封成 IPv4 包发送出去。DSTM 网关保留一个含有intranet 主机 IPv4 和 IPv6 地址的映射表, 并利用此映射表来执行 IPv4包的封装和拆封。 为保证双向通信,IPv4 路由必须要确保目的地的任何包都经过原来的 DSTM 网关。DSTM 适用性:DSTM 适用于 IPv6 域内的节点需要与域外 IPv4 节点通信的情况。通过使用DSTM 技术,拥有 IPv4 应用的双栈主机在纯 IPv6 网内可以到达全球 Internet 上的相应的纯 IPv4 节点。DSTM 网络只需要配置 IPv6。不需要配置 IPv4 的地址和路由。任何类型的

8、协议和应用都被透明地转发,无需采用 NAT 技术即可实现。DSTM 安全性:DSTM 在安全方面还有许多问题值得探讨。比方对 DSTM 服务器的 DOS 攻击问题和对隧道的监控问题等。由于多种因素,DSTM 技术已经过期,但 DSTM 技术的很多思想 比方服务器分配地址、上层应用被透明转发以及采用端口扩展地址范围的方法在其他方案中已经被借鉴使用。2.2.隧道技术隧道技术2.12.1 SITSITIPv6 配置隧道(也称IPv6-over-IPv4 隧道,SIT:Internet 简单过渡机制或者IPv6-in-IPv4 隧道 |SimpleSimpleInternetInternet Tran

9、sitionTransition)是一种应IPv6主机IPv6网络IPv4HeaderIPv6HeaderIPv6DataIPv6主机IPv6HeaderIPv6Data双栈路由器IPv4网络双栈路由器IPv6HeaderIPv6Data隧道IPv6网络用最早、最简单、成熟的过渡技术,通过手工配置隧道图 2-2IPv6 配置隧道的出口和入口地址,在入口节点处对IPv6 分组封装在 IPv4 分组中,在出口节点进行解封装,实现 IPv6 间通过 IPv4 网络到达互通。IPv6 配置隧道入口节点必须保存所有隧道的出口端地址,这些隧道是点到点连接并且是手工配置的如图2-2 ,因此,需要隧道数量越多

10、,管理隧道的负担就越大。IPv6 配置隧道适用于通过 IPv4 连接孤立的 IPv6 网络,是IPv4 向 IPv6 过渡的初期最易于采用的技术。 IPv6 配置隧道目前是 6Bone 所采用最多的技术。 IPv6配置隧道技术的要求是配置隧道的出口和入口至少要具有一个全球唯一的 IPv4地址,出口和入口路由器需要支持双栈,站点中每个主机都至少需要支持 IPv6,需要合法的 IPv6 地址。IPv6 配置隧道的优点在于隧道的透明性,IPv6 主机之间的通信可以忽略隧道的存在,隧道只起到物理通道的作用,甚至可以在此隧道上传输组播、设置BGP 对等端等;它不需要大量的IPv6 专用路由器设备和专用链

11、路,可以明显地减少投资。其缺点是:在IPv4 网络上配置 IPv6 隧道是一个比较麻烦的过程,而且一旦隧道端点的 IP 地址发生变化,必然影响隧道配置;无法穿越 NAT设备,因此隧道路径中不能有NAT设备;如果隧道穿越防火墙,则需要保证协议 41 IPv6 不被过滤掉; 不能实现 IPv4 主机和 IPv6 主机之间的通信。目前这种隧道已经获得了广泛的支持,已知的支持 IPv6 的平台都支持配置隧道,包括主机和路由器。在安全方面,需要同时保护隧道免受IPv4 和 IPv6 的攻击,具体的方法是一个隧道连接的两个端点和其连接的 IPv6 网络是确定的,因此对这些所有穿越隧道封装的业务使用同时使用

12、 IPv4/v6 过滤规则。 可以分别、同时实施这两种规则。此外,对于保护数据隐私的情况下,可以采用在隧道端点使用 IPv4 IPSec 来实现,也可以在 IPv6 端实现 IPv6 IPSec。由于 IPSec 对性能有负面影响,因此在性能和安全之间需要做折中的设计和处理。2.22.2 Tunner BrokerTunner Broker隧道代理Tunnel Broker不是一种隧道机制,而是一种方便构造隧道的机制或者服务。 配置隧道需要繁重的管理和配置,而网络操作管理员无法承担,连接到IPv6网络对初级用户来说不是一件容易的事情。隧道代理机制图 2-3隧道代理技术就是解决这样的问题的。基本

13、的要求就是用户必须是双栈的,并且 IPv4 地址是全球唯一的。图 2-3 显示了隧道代理的基本的工作机制1用户通过认证,向隧道代理服务器请求建立到 IPv6 网络的隧道; 2隧道代理服务器在多个隧道服务器中选择一个,为用户分配合适的 IPv6 地址、设定隧道生存时间3向DNS 注册用户端的 IPv6 地址4请求隧道服务器建立隧道。隧道代理的优点是可以简化隧道的配置过程,适用于小型 IPv6 网络或者单个主机获取 IPv6 连接的情况,可以使 IPv6 的 ISP 可以很容易对用户执行接入控制,并按照策略对网络资源进行分配;缺点是无法穿越 NAT设备,经过 NAT设施的情况下隧道代理失效。在隧道

14、代理体系中,所有功能单元之间包括客户和 TB 之间、TB 和隧道服务器之间以及 TB 和 DNS 之间都需要使用安全机制保护。隧道代理还存在以下安全问题: 1如果用户端的配置是通过 TB 提供的脚本实现的话,在执行这些脚本时就需要实现对一些接口的配置管理,所以必须给这些脚本很高的权限,这种做法存在安全漏洞。同时存在最终用户真实身份不确定的问题; 2如果用户使用不是静态 IPv4 地址的连接(如拨号), 就要谨慎地自动切断隧道以防不必要地使用资源。因为用户的连接如果非正常中断了,隧道服务器会继续发送IPv6 的隧道包到用户原来的 IPv4 地址,而这个地址可能已经被分配给另一个主机使用,这样就发

15、生了数据泄露问题。这个问题可以通过用户端发送某类Keep-alive 消息来解决,但是这样可能需要在用户操作系统中安装专门的软件,用起来比较困难;(3)恶意用户可能同时申请大量的隧道连接耗尽隧道服务器的资源;(4)多宿主主机时还没有合适的过滤策略。2.32.3 6to46to46to4 隧道技术解决的问题是: 孤立的 IPv6 站点如何在没有 Internet 服务提供商提供 IPv6 互连服务的条件下,与其他孤立站点以及与 IPv6 主干网内部各站点之间进行通信。它不需要像配置隧道那样以 6bone 为中介,而只是利用了现有的IPv4 路由体系,从而大大改善了路由效率。6to4 过渡技术也是

16、一种自动构造隧道的机制,这种机制要求站点采用特殊的 IPv6 地址2002:IPv4ADDR:/48 ,这种地址是自动从站点的 IPv4 地址派生出来的。所以每个采用 6to4 机制的节点至少必须具有一个全球唯一的 IPv4 地址。由于这种机制下隧道端点的 IPv4 地址可以从 IPv6 地址中提取,所以隧道的建立是自动的,而对于接收端的 6to4 路由器来说,可以自动地区分隧道接收端点是否在本域内。6to4 不会在 IPv4 的路由表中引入新的条目,在 IPv6 的路由表中只增加一条表项。6to4 过渡机制技术适合于 IPv4/v6 共存的初始阶段, 与防火墙、 NAT共存时,要求必须具有全

17、球唯一的 IPv4 地址,并具备 6to4 机制和路由功能,管理和维护负担小。 6to4 要求隧道中至少有两台路由器支持双栈和 6to4, 主机要求至少支持IPv6 协议栈。6to4 技术的优点是不需要向网络运营商申请 IPv6 地址,所有 IPv6地址从公有 v4 地址产生并通过 6to4 中继路由器于全球 IPv6 网络互通;自动建立隧道,能够保证端对端的特性。其缺点是一旦 IPv4 地址发生变化,整个站点的 IP 地址需要重新分配,因此很难使用在动态IPv4 地址分配的情形下,如拨号访问、xDSL 接入、DHCP 等;存在单点失效问题,如果边界 6to4 路由器故障,则整个站点与其他 I

18、Pv6 通信中断。2002:cacc:0ec2:/48202.204.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 的地址前

19、缀中,因此IPv4 隧道的末端地址202.112.10.37可从IPv6 域的地址前缀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,中继

20、路由器负责 6to4 和纯 V6 网络之间的路由,建议运行BGP4+。安全性方面,在 6to4 隧道终点,任何从正常 IPv4 链路传来的 6to4 数据流都可以被接受和解封装。为了防止 IPv6 欺骗,可采用附加的基于源地址的包过滤技术。一种方法就是检查用于封装的 IPv4 地址是否与被封装的 IPv6 包头地址一致。这种检查要在中继路由器relay router中设置。在任何情况下,6to4 数据流中的源和目的地址嵌入的 V4 地址必须是以全球唯一单播地址格式,否则这些数据包将会在不被警告的情况被丢弃。如果 IPv4 地址被欺骗,任何人都可以向隧道内注入任意多的流量。如果已经使用了 6to

21、4 路由器或中继,还需要防止对6to4 伪接口的攻击、 本地广播攻击以及业务盗用, 详细安全性分析和解决方法在中有详细的阐述。2.42.4 6rd6rd目前,运营商的骨干网以 IPv4 为主,升级到 IPv6 网络需要时间和成本,需要一种技术能够在现有网络架构上快速提供 IPv6 站点之间的互通。6rd 就是这样一种方案。它由法国运营商 FREE 提出,现已成为 IETF 标准RFC5569,FREE 采用该方案在 5 周内为超过 150 万户居民提供了 IPv6 服务。思科公司进一步改进与扩展了 6rd,目前已形成提案标准RFC5969。6rd 是一种IPv6-in-IPv4 隧道技术, 部

22、署场景如图4-5 所示, 6rd CE(customeredge)与 6rd BR(border realy)都是双栈设备,它们之间保持 IPv4 网络。通过扩展的 DHCP 选项, 6rd CE 的 WAN 接口可得到运营商为其分配的 IPv6 前缀、 IPv4地址公有或私有以及6rd BR 的 IPv4 地址等参数。CE 在 LAN 接口上通过将上述 6rd IPv6 前缀与 IPv4 地址相拼接构造出用户的 IPv6 前缀。当用户开始发起 IPv6 会话,IPv6 报文到达 CE 后,CE 用 IPv4 包头将其封装进隧道,被封装的 IPv6 报文通过 IPv4 包头进行路由, 中间的设

23、备对其中的 IPv6 报文不感知。 BR 作为隧道对端, 收到 IPv4 数据包后进行解封装,将解封装后的 IPv6 报文转发到全球 IPv6 网络中,从而实现终端用户对 IPv6 业务的访问。6rd技术是基于 6to4 隧道技术, 能够为有 IPv4 网络接入的用户快速部署 IPv6的单播业务。6rd 使用无状态的地址映射,将 IPv6 分组封装在 IPv4 报文中穿越IPv4 基础网络。 与 6to4 机制不同的是, 6rd 业务提供商使用自己已获得的实际长度可变的 IPv6 地址前缀来代替 6to4 机制特定的 2002 前缀,因此其作用域局限在运营商的管理域内。如图 4 所示,发送的

24、IPv6 分组在 CPE/主机进行封装,其封装源地址为从 IPv6 源地址中取出的 IPv4 地址,目的地址为 6rd-relay 的 IPv4地址,分组到达 6rd-relay 后经解封装,由于是无状态映射所以可直接转发。图 2-5 6rd 图例使用 6rd 技术升级后的网络在原有提供 IPv4 传输的基础上可以支持 IPv6 的传输。为实现 46 互通,相应的 IPv4或 IPv6节点需要升级为 IPv6或 IPv4capable。6rd 使用的是无状态的地址映射,在 6rd-relay 上无需维护映射表,管理简单。 升级 IPv4 接入网支持 6rd 机制需要: 在 IPv4 网络与 I

25、Pv6 网络边界运行一个或者多个 6rd 的网关6rd-relay ;用户本身或 CPE 路由器需能够支持 6rd 的功能而接入网内部的路由器仍是 IPv4 单栈无需改动。使用 6rd 能够满足对 IPv4接入网进行升级的需求。2.52.5 6over46over46over4 过渡技术通过 IPv4 组播自动建立隧道的机制,6over4 隧道通过组播机制,将一个网络内部、位于不同子网且没有IPv6 路由器直接相连的 IPv6 主机连接到一个虚拟的链路上,形成逻辑上的同一子网。其核心思想是将 IPv6 多播地址映射成 IPv4 多播地址,通过邻居发现中的路由器请求/宣告、邻居请求/宣告过程完成

26、其他 IPv6 主机的 IPv4 地址的发现和边界路由器 IPv4 的发现。 对于 IPv6而言,整个 IPv4 组播域就是一个虚拟以太网(virtual Ethernet)。6over4 过渡技术与 6to4 隧道和自动 IPv4 兼容隧道不同的是它不需要特殊格式的 IPv6 地址, IPv4组播域可以是采用全球唯一的 IPv4 地址的网络,或是一个私有的 IPv4 网络的一部分,IPv6 可以独立于底层的链路而且可以跨越 IPv4 的子网。但是采用这种机制的前提就是 IPv4 网络基础设施必须支持 IPv4 组播。这种机制适用于 IPv6 路由器没有直接连接的物理链路上的孤立的 IPv6

27、主机,使得它们能够将 IPv4 组播域作为它们的虚拟链路,成为功能完全的 IPv6 站点。6OVER4 隧道适用于具备双协议栈的主机之间通信,是利用 IPv4 的组播机制创建虚拟链路而不是显式的隧道技术。 然而由于支持组播的 IPv4 网络的缺乏,且 6over4 相对于 6to4 和 ISATAP并没有太多的优势,实际中 6over4 极少使用。在安全性方面,6over4 技术除了需要考虑可能有 IPv6 攻击之外,还应该考虑对 IPv4 攻击的安全防范。即使是有 IPv4 安全保证,仍然需要有 IPv6 安全保证。 6over4 还有可能受到地址欺骗攻击, 外部伪造的 6over4 包有可

28、能侵入 6over4域内。 这样, 边界路由器必须要丢弃组织本地范围内的源和目的多播地址的 IPv4包如果它们到达这个范围以外的物理接口的话 。为了防止单播6over4 包的地址欺骗攻击, 边界路由器还必须要丢弃来自于未知源的协议类型为41的IPv4包,只接受可信任来源的数据。除非是IPSec 认证可用,否则最好将边界路由器配置成只接受来自于可信任范围内的源地址的协议类型为 41 的包。2.62.6 ISATAPISATAPISATAP技术的工作机制类似 6to4过渡技术, 都把 IPv4网络看作一个 NMBA非广播多点访问线路,以实现在 IPv4 网络中孤立的 IPv6 节点实现 IPv6

29、渐2002:cacc:0ec2:/48202.204.12.226202.112.10.37192.168.2.12002:ca70: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 网络IPv4ISATA

30、P双协议栈主机1ISATAP Client10.1.2.3 with ISATAP IF:2002:ca70:0a25:5efe: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同。不管站点

31、使用的是全局还是内部 IPv4 地址,均可在站点内使用 IPv6-in-IPv4自动隧道技术。新的接口标识格式既可使用本地单播 IPv6 前缀,也可使用全局单播 IPv6 前缀,从而支持局域和全局的 IPv6 路由。ISATAP技术工作机制如图 2-5 所示。ISATAP双协议栈主机 1 向服务器发送路由请求,得到一个64 位的 IPv6 地址前缀,再加上64 位的接口标识符:0:5EFE:192.168.2.1,构成一个 ISATAP地址,双栈主机配置了 ISATAP地址后, 就成为一个 ISATAP客户机,可以和 IPv4 域内的其他 ISATAP客户机进行通信了。通信过程如下,ISATA

32、P双栈主机 1 获得双栈主机 2 的 ISATAP地址后向其发送数据包,根据目的地址该数据包被交给 ISATAP 接口进行发送,ISATAP从数据包的 IPv6 源地址和目的地址从提出相应的 IPv4 源和目的地址,并对该数据包用 IPv4 头部进行封装, 封装后数据包的目的地址为双栈主机 2 的 IPv4 地址,这样就建立了一条从主机 1 到主机 2 的隧道。数据包最后到达主机2,主机2 对其解封装,得到一个 IPv6 数据包。由于 ISATAP 隧道的优点是它不要求隧道端节点必须具有全球唯一的 IPv4地址,因此可用于内部私有网中各双栈主机之间进行 IPv6 通信。ISATAP过渡技术于6

33、to4隧道技术相结合(图2-6), 还可以使内部网的双栈主机接入 IPv6主干网。这种结合使用过渡技术解决目前普遍存在的使用IPv4 私有地址的内部网络向IPv6 网络过渡的问题。安全性方面, ,由于站点内的所有 ISATAP主机都在同一个 IPv6 链接上,尽管可以像通常一样在 ISATAP路由器处监控流量,但是 ISATAP链路上主机之间的包并不经过该路由器, 因此没有方法监控和排除出现内部攻击的可能性。 所以,路由器需要在 ISATAP接口上启用缓解欺诈攻击的安全机制,防止发自 ISATAP站点内的源 IPv6 地址欺诈攻击,至少 ISATAP站点的边界网关必须记录欺诈源地址的来源还是有

34、好处的。ISATAP技术使用一个内嵌 IPv4 地址的 IPv6 地址通过 IPv6-in-IPv4 自动隧道为 IPv4 站点内的双栈节点提供到 IPv6 路由器的接入,它允许与 IPv6路由器不共享同一物理链路的双栈节点通过 IPv4自动隧道将数据包送达 IPv6 下一跳。IPv6 邻居发现信任模型也适用于 ISATAP 。使用 ISATAP技术时必须要考虑地址过滤问题,站点边界路由器和防火墙必须执行 IPv6 入口过滤、IPv4 入口过滤和协议类型为 41 的包过滤。2.72.7 6PE/6PE/6VPE6VPE6PE 是基于 MPLS 的隧道技术,其核心思想是借助成熟的 BGP MPL

35、S VPN技术平台实现在启用 MPLS 的 IPv4 骨干网上传输 IPv6 数据报文,为 IPv6 网络孤岛提供互联能力。 6PE隧道技术的VPN路由发布和报文转发原理与常见的IPv4骨干网上的 MPLS L3 VPN 类似。6PE 路由器与同处于 IPv6 网络内的 CE 路由器之间通过 IPv6 IGP 路由协议交换路由信息。6PE 路由器为 IPv6 路由加上私网标签由 MP-IBGP 协议随机自动生成,被传递到对端 6PE 并保留到转发表中 ,并将此路由的“Next-hop”属性更改为映射后的自身 Loopback 地址为与 CE 的路由保持相同的地址族,6PE的 IPv4 Loop

36、back 地址被映射成 IPv6 地址, 地址形式为: “:FFFF:IPv4-Address” ,然后加上 MPLS 外层标签通过 MPLS LSP 隧道发布给对端 6PE 设备,对端 6PE接收并保留私网标签,然后将路由的下一跳属性改变为映射后的自身 Loopback地址,再以 IPv6 普通路由的形式发布给自己一侧的 IPv6 CE 设备,两个 IPv6 网络的路由通过这种方式就完成了交互。如图 2-7 所示。图 2-76PE 网络示意图IPv6 报文转发时,CE 设备根据报文的目的地址发送给 6PE 设备,6PE 设备在 IPv6 路由表中进行查找,得到该数据报文对应IPv6 路由的下

37、一跳地址即对端 6PE 的 Loopback 地址和私网标签,在 IPv6 报文外先封装私网标签,再根据MPLS LSP 标签转发表中与其下一跳对应的标签封装外层标签, 然后将 MPLS 报文通过 LSP 上各个 P 路由器逐跳转发,倒数第二跳 P 路由器弹出外层标签并继续转发给相应 6PE 路由器,在6PE 路由器上根据内层标签将 IPv6 数据包转发至目的 CE 设备。传统的 6PE 技术实质上相当于将所有通过 6PE 连接的 IPv6 网络都放在一个VPN 内,无法进行逻辑隔离,因此只能用于开放的、无保护的 IPv6 网络互联,如果需要对所连接的 IPv6 网络做逻辑隔离,即实现IPv6

38、 VPN,就需要进一步借助于 6VPE 技术。6VPE 技术是 MPLS VPN 技术对 IPv6 所作的扩展,可以在 IPv4/IPv6 MPLS骨干网上承载任意的 IPv6/IPv4 的 VPN 业务。与6PE 技术相比,6VPE 技术增加了 VPN-IPv6 地址族和 VRF-IPv6 的概念, 实现了不同 VRF-IPv6 网络之间的逻辑隔离, 提高了 IPv6 网络的安全性。 6VPE 的路由传递和报文转发原理与传统 IPv4下的 MPLS VPN 基本一致,如图 2-8 所示。图 2-8 6VPE 网络示意图6PE/6VPE 技术比较好地解决了孤立的 IPv6 网络之间多点对多点互

39、联的问题, 6VPE 还可以进一步提供 IPv6 网络逻辑隔离和有选择互通的问题。 鉴于目前MPLS 技术已经普遍应用,且采用 6PE/6VPE 技术实现 IPv6 网络互联时只需对PE 设备做升级即可, IPv6 网络内的设备和节点以及 IPv4 网内的 P 设备均无须做任何改动,可见6PE/6VPE 技术是一类成本较低、应用方便、适合大规模部署的隧道技术。2.82.8 SoftWireSoftWire清华大学提出的,清华大学提出的,按照 IETF Softwire 工作组的定义, “Softwire”是一种动态隧道, 这种隧道建立在隧道两端之间的共享点到点或多点到点状态的控制协议之上。软线

40、的目标是为了标准化 IPv4 网络穿越 IPv6 网络和 IPv6 网络穿越 IPv4网络的连接的检测、控制和封装方法,以支持多种实现的互相兼容。在 Softwire 机制中,需要考虑的问题和细节包括:Softwire 要同时支持单播和多播机制;Softwire 的建立者应该是双栈的;Softwire 的生存周期可能很长,但建立时间相对客户端设备(Customer Premise Equipment, CPE)/ 地址族边界路由器Address Family Border Router,AFBR)(两者均是 Softwire 建立者)的启动时间必须很短;要尽可能使用和扩展现有的、已经部署使用的

41、技术。按照部署情境的不同,不同地址族网络的穿越问题可以分为两种情形:Hub& spokes 和网状网络mesh解决方案。前者针对的是单个连接和静态路由的情境, 讨论的是主机或局域网的连接性问题;后者针对的是多个连接和路由地址前缀的情境,讨论的是网络间的连接性问题。在 Softwire 机制中将采用不同的策略来解决这两个问题。以下首先分别就这两个问题和框架进行描述。Hub&SpokeHub&Spoke按客户端网络拓扑结构的不同和 Softwire 发起者的不同, Hub & spokes 问题分为四种情形(以下以 IPv6 穿越 IPv4 为例):1、双栈主机 CPE 作为 Softwire 发

42、起者,客户端网络没有网关。2、客户端主机接双栈路由器 CPE,该路由器作为 Softwire 发起者。3、客户端双栈主机接仅支持 IPv4 的路由器,主机作为 Softwire 发起者。4、客户网内的双栈主机接仅支持 IPv4 的路由器,客户网内部的一台 IPv6路由器作为 Softwire 发起者。图 2-9 给出了第 2 种情况下的拓扑图, 从图中我们可以对这个问题有一个更清楚的认识。在这种情况下,客户端网络的主机和路由器都是双栈的,传输网仅支持 IPv4,远端的网络支持 IPv6,Softwire 建立在 IPv4 传输网上,Softwire 发起者是客户网络的双栈路由器, 另一端为 v

43、4 和 v6 网络边界的双栈的 Softwire 集中器。通过使用 Softwire,客户端的主机和路由器实现了与远端 v6 网络的连通。图 2-9Hub & spoke在这个问题中, 由于传输网仅支持一种地址族,客户端另一地址族下的应用受到限制,无法实现端到端的路由转发。为了支持这些应用,需要使用能够自动建立的隧道,构造虚拟的双栈底层结构。需要注意的是,Softwire 要做到能够穿越 NAT 并且对 NAT 透明;Softwire必须支持 DHCP 在其上运行,支持向客户端网络分配地址前缀的功能。Hub & spoke 的部署框架使用 L2TPv2(Layer Two Tunneling

44、Protocol version 2)协议作为 Hub & spoke 软线解决方案。在这种应用 L2TP 的部署中,Hub & spoke 软线发起者(Softwire Initiator, SI)承担了 L2TP 协议中入口集中器(L2TP Access Concentrator, LAC) client 的角色,初始化 L2TP 的隧道(L2TP Tunnel)和会话L2TP Session以及 PPP 连接;ISP端的软线集中器(Softwire Concentrator, SC)承担了 L2TP 协议中网络服务器(L2TPNetwork Server, LNS)的角色。使用 L2TP

45、v2 的一条软线由一个 L2TPv2 控制连接、一个 L2TPv2 session 以及在这个 session 上协商的 PPP 连接组成。软线的建立过程如下:首先,SI 初始化与 SC 之间的控制通道, 包括在握手阶段进行的一个 SI 和 SC 相互的认证过程;然后,SI 初始化与 SC 之间的会话;最后,SI 和 SC 之间通过 L2TPv2 会话协商建立 PPP/IP 连接,这个连接就是作为 IP 流量隧道的软线。在软线生命周期内,SI 和 SC 之间通过发送 L2TPv2 keepalive Hello 消息以及 LCP ECHO 消息(可选)来保持连接。在 keepalive 超时或

46、者主动关闭软线的情况下,SI 和 SC 双方都可以拆除 L2TPv2 控制通道和 L2TPv2 会话。具体软线建立的信令过程参见18。在建立软线的 PPP 连接上,如果是 IPv4 软线,SI 使用 IPv4CP 从 SC 获取IPv4 地址;如果是 IPv6 软线,SI 使用 IPv6CP 从 SC 获取一个 64 位的接口标识符,进而获得 Link-Local 的 IPv6 地址,如果要获得全局 v6 地址,则还需使用Stateless Address Autoconfiguration或 DHCP6 的方法。 同时, SI 还可以使用 DHCP获取包括 DNS 服务器和分配地址前缀等信息

47、。图 2-10 Softwire 部署图 2-10 给出了客户端主机接双栈路由器 CPE 作为软线发起者的网络拓扑下的软线部署情况。L2TPv2 包使用 UDP 在 IPv4 网络上传输,封装过程从上层到底层为 IPv6-PPP-L2TPv2-UDP-IPv4。 L2TPv2 控制通道和会话以及 PPP LCP 协商成功后,SI 通过 IPv6CP 进行 IPv6 协商,并在其上运行 IPv6 Stateless AddressAutoconfiguration / Neighbor Discovery 过 程,然后通过路由传播 (RouterAdvertisement)将地址前缀交给 CPE

48、 路由器,再使用DHCPv6 分配地址前缀,获取 DNS 信息等。网状网络网状网络Mesh 研究的是在网状网络环境下,隧道过渡所面临的问题。即核心网在不支持某一协议族的情况下, 仍然作为该协议族报文转发路径上的一部分时的路由转发方法。 此时核心网路由器中除了双栈的边界路由器外,将不维护这边缘接入网络的路由信息,也不能解析对应的报文。图 2-10 给出了 Mesh 问题的拓扑图:图 2-11 Mesh网络在图 2-11 所示的场景中, 为使两个 AF1 的网络能够通过核心 AF2 的网络连通,需要解决的问题是:1、使每个 AFBR协议族边界路由器能够知道通往某个 AF1 地址前缀的路径的出口 A

49、FBR 地址;2、提供一种方法使得 AFBR 间可以转发 AF1 的报文。如采用封装的方式在AFBR 间形成隧道也称为软线用于转发 AF1 报文。解决 Mesh 问题的目标之一是所有改动都仅限于 AFBR,而不需要客户或核心网路由器的改动。Mesh 问题中对报文转发的解决方案不应局限于一种隧道机制,而应该提供多样的隧道机制,至少包括 L2TPv3、IP-in-IP、MPLS、GRE、IPsec 等。AFBR 之间必须能互相探测和交换必要的信息,包括支持的隧道种类以及参数等。网状软线的框架可以从路由、隧道转发和软线信令这几个方面来描述。1、路由核心网的内部路由器P 路由器和 AFBR 共同参与

50、IGP 路由过程,分发核心网地址族I-IP路由信息。AFBR 使用 IBGP 互相分发接入网地址族E-IP路由信息。AFBR 之间可以组成一个网状全连接,或者使用 BGP 路由反射器。由于 IBGP 运行在 I-IP 之上, 因此 BGP 更新消息中对应于 E-IP 格式 NLRI 的 “下一跳”地址是 I-IP 格式,而 NLRI 则是 E-IP 格式。2、隧道转发当入口 AFBR 在其与客户网络相连的接口接收到一个 E-IP 分组时,它将查看该分组的目的地址,此时与该目的地址所匹配的最正确路由应该是由 BGP 分发的下一跳地址为 I-IP 地址的路由, 该 I-IP 地址即为主干网中相应的

51、出口 AFBR的地址。入口 AFBR 必须将该分组通过隧道即“软线” 转发至出口 AFBR,即将E-IP分组封装成一个I-IP分组, 然后通过核心网P路由器转发至出口AFBR,然后由出口 AFBR 将载荷即原始的E-IP 分组复原出来,根据其目的IP 地址继续向客户网转发。3、软线信令在网状网络中,使用手动方法来设置 AFBR 之间的隧道关系将是一件不太可行的事情。因此,在软线的网状框架中,使用自动隧道建立机制。在网状软线框架中,通过定义使用 BGP 扩展消息来进行隧道信令。首先,不同的 AFBR 所支持的隧道类型可能会各不相同,因此需要使用扩展的 BGP 消息来互相通告。另外,部分类型的隧道

52、可能需要一定的信令过程才能够建立,比方 L2TP 或带选项的 GRE 等。如果软线使用的隧道机制有自身的信令方法,则直接使用。如基于 MPLS 的软线可使用 LDP 或 RSVP-TE,基于 IPsec 的软线将使用标准 IKE和 IPsec 信令的方法。 而如果使用 IP-IP隧道或无选项的 GRE 隧道,则就不需要有信令过程。组播方案组播方案以上讨论的都是 Softwire 对单播路由的解决方案,为了真正实现过渡,还需要解决相应的组播过渡问题。对 Hub & spokes 软线来说,它所建立的 PPP/IP 连接对上层是透明的,因此组播协议与其他 IP 流量一样,可直接在 L2TPv2 软

53、线上运行。而对 Mesh 软线来说,需要采用额外的过程来转发接入网的组播数据。根据网状软线框架的描述,实现跨传输网的组播有多种方式,可分为“一对一映射”方案和 MVPN 类似方案。在“一对一映射”方案中,每一棵客户网的组播树都会在核心网中有一个扩展,也就是说,对于客户网中的每一棵组播树,在核心网中都会建立与之对应的组播树, 并使用该组播树转发客户网相应组播组的数据。采用这种方案可以很好的利用核心网的组播服务,降低网络数据流量, 但是其缺点是在核心网路由器中要记录大量的状态,与客户网的组播树数量成比例。与之相比,MVPN 类似方案指的是与 L3VPN 组播草案中所描述方案类似的组播解决方案,其基

54、本想法是将所有 AFBR 看成是连接到同一局域网的 PE路由器,组播的控制消息和数据分组均通过该“局域网”进行转发。该方案不要求客户网和传输网形成一对一的映射关系。与上一个方案相比,这种方案不需要核心网路由器维护大量状态, 减轻了路由器负担, 但是却导致了网络流量的增加。3.3.翻译技术翻译技术3.13.1 NAT6NAT6NAT6是一种翻译的方案, 其主要思想就是通过修改 IPv6 主机的应用来实现IPv6 主机访问 IPv4 服务器,该方案主要支持 IPv6 主机发起的通信,对于 IPv4主机发起的通信,需要一些特殊服务的支持才能实现。首先,介绍一下 v6 发起的通信过程。NAT from

55、 6 to 4DNSInternalClient(IPv6)Dst :FFFF:59.66.110.174/21Src2001:da8:abcd/123459.66.110.174NAT6ExternalServer(IPv4)Dst59.66.110.174/21Src166.111.68.238/2008图 2-14 NAT6原理示意图IPv6 主机发起的通信如图 2-14 所示,由 IPv6 主机发起访问 IPv4 网络的服务器,v6 主机首先查询目的主机对应的 IP 地址,由 DNS 返回给 IPv6 主机一个 IPv4 地址,在图中目的地址是 59.66.110.174,IPv6 主

56、机得到 IPv4 地址后,通过应用增加前缀,使v4地址嵌入到 v6 地址中,如图中 FFFF:59.66.110.174/21,IPv6 主机利用自己的地址为源地址,目的地址为嵌入后的地址发送数据包,数据包被路由到 NAT6盒子上,在 NAT6 盒子内,从 IPv4 地址池中随机找到一个地址如图中166.111.68.238/2008 ,并且保存源地址和该地址的映射关系,同时将目的地址中的 IPv4 地址抽取出来, 那么, 以 166.111.68.238/2008为源地址, 59.66.110.174/21为目的 地址转 发 IPv4 数据 包,应 答包 则以 59.66.110.174/2

57、1 为源地 址、166.111.68.238/2008为目的地址发送 IPv4 包,路由到 NAT6上, 根据保存过地映射关系,将 v4 数据包转换为 v6 数据包,并将 v6 数据包送回 v6 源主机,实现了IPv6 主机访问 IPv4 服务器的通信。然后,再介绍由 IPv4 主机发起的通信,如图 2-15 所示。NAT from 4 to 6URLInternalServer(IPv6)2001:da8:abcd/21NAT6ExternalClientSTUN(IPv4)166.111.68.238/2008src 59.66.110.174/1234src 0:FFFF:59.66.1

58、10.174/1234dst2001:da8:abcd/21dst 166.111.68.238/2008图 2-15 NAT6原理示意图IPv4 主机发起的通信由 4 发起的通信,必须有 STUN 服务的支持,假设 59.66.110.174/1234 主机访问 IPv6 服务,首先 IPv6 主机在 STUN 上注册,在 STUN 上保存主机地址和NAT后地址的映射关系,并且 IPv6 主机将 NAT后的地址通过 URL 等方式通知IPv4 主机,IPv4 获得 NAT 地址后,就以 NAT 后的地址为目的地址进行通信,在 NAT6盒子上,根据映射关系和加前缀的方式将 v4 数据包转换为

59、v6 数据包,并将数据包发送给目的服务器,回应包流程正好相反。优点:1、基本上可以实现所有 IPv4 地址和 IPv6 地址的通信;2、只需要修改 v6 主机的应用,修改较少。缺点:1、具有状态保存,这必然会带来一些开销,另外,发送包和回应包必须选择同一个 NAT6盒子作为转换网络设备,假设选择不同的 NAT盒子,会造成无法通信的问题;2、将部署的开销由网络设备转化到主机上,可能会带来部署困难的问题。3.23.2 BISBIS 技术技术BIS(RFC2767)技术的提出是为了解决已有的 IPv4应用和IPv6主机应用之间的通信问题,让 BIS 主机能使用 IPv4 应用同时和 IPv4/6 的

60、主机通信。BIS 需要在主机上添加模块,通过截获IPv4 模块和网卡之间的数据流,实现IPv4 报文和IPv6 报文的转换,即自翻译的功能。在 BIS 主机上 IPv6 目的地址需要映射到一个局部私有的 IPv4 地址上, 所以数据包可以基于映射信息进行类似 SIIT 的翻译。由于这个映射是通过扩展的域名解析模块来生成, 所以用户和应用程序并不需要知道是在和 IPv4 或者 IPv6 对端通信。由于 BIS 翻译过程采用 SIIT 的方式,所以也难以防止 SIIT 所存在的问题。图 2-15BIS 双栈主机结构图1)BIS1)BIS 几个比较重要的部件:几个比较重要的部件: 转换器转换器Tra

61、nslator)Translator):采用 SIIT 中定义的方法实现 IPv4 和 IPv6 报文的相互翻译转化。当收到一个来自 IPv4 应用的数据包,它会将 IPv4 头转换成 IPv6 头再,如果有必要还需要对此 IPv6 数据包进行分段,然后再发送到 IPv6 网络中。如果收到一个 IPv6 报文也做类似的转换,把 IPv6 报文翻译成 IPv4 报文再交给上层应用。 扩展名字解析器扩展名字解析器:该模块负责返回一个合适的“答案”给IPv4 应用的域名请求。 扩展名字解析器截获上层应用向名字服务器发起的 A 类记录的域名查询起请求,然后生成另一个请求报文包含 A 和 AAAA 类记

62、录查询。如果有 A 类记录IPv4 ,那么转换器就不需要做数据包的翻译转换工作,如果只有 AAAA 类记录IPv6返回那么解析器要求映射器分配一个 IPv4 地址与之构成映射。然后生成一个包含该 IPv4 地址的 A 类域名应答给上层应用程序。 地址映射器:地址映射器:地址映射器维护一个私有地址 IPv4 的地址池,同时还维护一张 IPv4 和 IPv6 地址的一一映射的表。当解析器和转换器要求映射器为一个IPv6地址分配一个IPv4地址的时候, 它从地址池中选择一个IPv4地址,并且在映射表中注册该 IPv4/6 地址的映射。这个注册过程有两种情况触发:1)解析器获得一个 AAAA 类记录的

63、域名应答,但是映射表中没有域名应答中 IPv6 地址的记录;2当转换器收到一个 IPv6 数据包,但是映射表中没有 IPv6 源地址对应表项。2)BIS2)BIS 主机发起一次通信:主机发起一次通信:1.BIS 主机和一个 IPv6 主机 Host6 通信,BIS 主机上的应用程序先向名字服务器发送 A 类型记录的域名请求;2.解析器截获这个查询,生成一个新的包含 A 和 AAAA 类型的域名查询发送给名字服务器,在这种情况下只有 AAAA 类型记录查询会被响应。解析器要求映射器为之分配一个 IPv4 地址;3.映射器从地址池中选择一个 IPv4 地址返回给解析器,解析器收到该地址就生成一个

64、A 类型记录的域名回应给上层应用程序;4.应用程序发送 IPv4 报文给 Host6 所对应的 IPv6 主机;5.当这个报文到达转换器,转换器请求映射器返回相应的映射信息; 注:BIS主机的 IPv4 地址和 IPv6 地址在初始化过程中就已经注册在映射器中6.基于这些映射信息转换器就能顺利将 IPv4 报文翻译转换为 IPv6 报文。如果需要分段就做分段操作,然后直接发送到 IPv6 网络了。7.Host6 的应答数据包到达 BIS 双栈的转换器,转换器不知道如何翻译转换该数据报文,因此转换器根据 IPv6 源和目的地址向映射器询问所对应的 IPv4地址;8.获得映射信息后,转换器就将 I

65、Pv6 数据包转换为 IPv4 数据包发送给相应的上层应用程序。3)Host63)Host6 发起和发起和 BISBIS 主机的通信:主机的通信:1.Host6 从它的名字服务器上解析 BIS 主机的 AAAA 类型记录的域名,获得BIS 主机的 IPv6 地址后直接发送 IPv6 数据包;2.IPv6 数据包到达 BIS 主机的转换器,转换器不知道如何翻译该数据报文,因此要求地址映射器提供一个映射信息;3.由于之前没有建立 Host6 地址的映射信息,所以映射器从地址池中选择一个IPv4 地址构成一个新的映射条目,并将该映射信息发送给转换器。4.然后转换器基于映射信息将 IPv6 数据包翻译

66、转换为 IPv4 数据包,发给相应的上层应用;5.上层应用收到该数据包再回应一个 IPv4 数据包。4)4)协议分析:协议分析:BIS 的适用性:BIS 适合在 IPv6 还未广泛应用尤其是大量的 IPv4 的应用还未升级到 IPv6 的情况。用户可以在没有 IPv6 应用的前提下不用升级应用程序就能够和 IPv6 和IPv4 用户进行通信。同时 BIS 也支持单栈通信的情况。它不光光支持 IPv4 的固有应用,即使当应用程序升级到 IPv6 了 BIS 也同样适用支持与 IPv4 和 IPv6 主机的通信。BIS 的局限性只能支持单播不支持组播; 由于 SIIT 翻译方式的的局限, 难以处理

67、上层应用携带 IPv4 选项的数据包;对上层应用中携带 IP 信息的报文支持不好,需要ALG 或者 STUN 等方式来支持;不支持 IPSec 和安全 DNS3.33.3 BIABIABIA 技术在双栈主机的 SocketAPI 模块与 TCP/IP 模块之间加入一个 API 翻译器(如图 2-16 所示)。API 翻译器包含三个模块:域名解析器,地址映射器和函数映射器。 其中,域名解析器负责对 IPv4 应用程序的请求域名返回一 个正确的应答,地址映射器在主机内部维护一张 IPv4 与 IPv6 地址对的表格分配的IPv4 地址来自IPv4 地址池中,采用未使用的IPv4 地址,如 0.0.

68、0.10.0.0.255,函数映射器负责在IPv4 的 Socket API 函数与 IPv6 的 Socket API函数间相互翻译。图 2-16 采用 BIA 机制的双栈主机的结构模型RFC3338 中描述了采用 BIA 机制的双栈主机与 IPv6 主机之间相互通信的过程。其中双栈主机 DualStack 向 IPv6 主机 Host6 发起通信的过程如下:当双栈主机 DualStack 上的 IPv4 应用向它的域名服务器DNS发送查询目的主机的地址请求时,域名解析器拦截了这个请求,并产生一个新的查询请求转发给 DNS 来解析 A 和 AAAA 两种记录。DNS 解析出 Host6 的

69、AAAA 记录后,将它返回给域名解析器。域名解析器要求地址映射器为 IPv6 地址分配一个 IPv4 地址。地址映射器在 IPv4 地址池中选择一个未用的保留地址,在映射表中注册后返回给域名解析器。域名解析器为分配的 IPv4 地址产生一条 A 记录,返回给 IPv4 应用程序。IPv4 应用程序调用 IPv4 的 SocketAPI 函数,函数映射器对调用命令进行拦截,判断其是否来自于 IPv6 的应用。假设不是,跳过翻译程序;否则,函数映射器向地址映射器请求该 IPv4 地址对应的 IPv6 地址, 地址映射器从映射表中查找后将结果返回。 函 数映射器使用收到的这个 AAAA 型地址调用

70、Host6 上相应的 IPv6socketAPI 函数。当函数映射器接收到 Host6 上 IPv6socketAPI 函数的应答后,向地址映射器请求与 Host6 对应的 IPv4 地址。然后, 函数映射器利用此 IPv4 地址继续完成socketAPI 函数的调用。由 IPv6 主机 Host6 发起到双栈主机 DualStack 的通信过程相对简单一些。Host6 通过它的 DNS 解析 DualStack 的 AAAA 记录,然后向 DualStack 发送一个IPv6 的数据包。为了通过调用IPv4 的 API 函数 和 IPv4 应用通信,函数映射器检测到 IPv6 数据包到达 D

71、ual Stack 后,向地址映射器发送一个 IPv4 地址请求,并用返回的 IPv4 地址发起一个 IPv4 的 Socket API 调用。然后,函数映射器再向地址映射器请求与该 IPv4 地址对应的原来的 IPv6 地址,按照这个地址对Host6 答复。3.43.4 PNAT(BIH)PNAT(BIH)在向 IPv6 网络的过渡过程中, 大量已成熟的 IPv4 应用程序还不能很快地支持 IPv6,如何能够保证 IPv4 应用的兼容性是向 IPv6 平滑过渡的一个核心要求。 正是基于这一点, 中国移动提出了 PNAT 翻译技术。 该技术实现了在纯 IPv6或双栈承载网环境下,老的 IPv4

72、 应用仍能正常通信,对底层网络环境可以不感知。它可以支持 IPv4 应用程序通过 IPv6 网络访问 IPv4 业务,IPv4 应用访问IPv6 业务,IPv6 应用访问 IPv4 业务等多种通信场景。主机侧进行 IPv4 包到IPv6 包的翻译,网络侧进行 IPv6 包到 IPv4 包的翻译,基本场景如图 2-17 所示。PNAT 采用 BIH(bump-in-the-host)的设计方式实现了 IPv4 应用透明运行在IPv6 网络中, 到达了 IPv4 业务流量向 IPv6 网络迁移的效果, 并能够联合NAT64 功能提升用户 IPv6 的业务体验, 从而为 IPv6 过渡开辟了一条创新

73、之路。BIH继 承 和 融 合 了BIS bump-in-the-stack , RFC2767 与BIAbump-in-the-API,RFC3338 ,前者基于网络层 IPv4 数据包与 IPv6 数据包之间的转换, 后者基于应用层 Socket API 函数之间的转换。 主机的 PNAT 包括三个模块:扩展的域名解析器(extension name resolver/ENR),地址映射器(addressmapper),对应于 BIA 的函数映射器function mapper和对应于 BIS 的翻译器(translator)。ENR 用于处理 DNS 查询,实现 AAAA 记录与 A 记

74、录之间的转换,类似于 DNS64 实现的功能。 地址映射器用于维护 IPv4 地址池, 记录 IPv6地址与 IPv4 地址之间的映射表。 函数映射器是在主机使用 BIA 扩展技术时负责在 IPv4 Socket API 函数与 IPv6 的 Socket API 函数之间转换,翻译器是在主机使用 BIS 扩展技术时使用 SIIT 技术负责 IPv4 数据包与 IPv6 数据包之间的转换。图 2 17 PNAT基本场景假设采用主机包头翻译方式, 接入纯 IPv6 网络的双栈主机的 IPv4 应用访问 IPv4 业务的过程如下:双栈主机通过 DHCPv6 向接入路由器进行地址请求,网络侧分配 I

75、Pv6 前缀、WKPwell known prefix,64:FF9B:/96和 DNS 服务器地址给主机。 在 IPv6-only 网络下, 主机为自己配置私有 IPv4 地址或者 IANA规定的特殊 IPv4 地址( 类似于 DS-lite)。当 IPv4 应用开始发起访问时,首先进行域名解析, ENR 发挥 DNS 代理功能,同时发送 A 和 AAAA 请求给 DNS 服务器。在该场景下,DNS 服务器将回应 A 记录给 ENR,ENR 将其转发给 IPv4应用程序。 同时, ENR 通知地址映射器记录 v4 与 v6 地址之间的映射项目, 源IPv4 地址通过拼接 IPv6 前缀映射为

76、源 IPv6 地址,目的 IPv4 地址通过拼接熟知IPv6 前缀映射为目的 IPv6 地址。 接着, IPv4 数据包就可以被翻译为IPv6 包,被发送到网络侧 PNAT64 网关设备上。PNAT64 按照 NAT64 的方式将 IPv6 数据包翻译为 IPv4 数据包, 最终数据包到达目的 IPv4 站点,实现 IPv4 业务的访问,原有 IPv4 业务提供方式保持不变。该场景下 PNAT64 的信令流程如图2-18 所示。图 2-18 PNAT 信令流程PNAT 可以实现在部署 IPv6 的同时,保证传统 IPv4 应用能照常通信,做到了对应用程序的透明无感知。它满足多种通信场景, 大大

77、降低了 IPv6 网络的升级带来的对业务的影响和冲击。作为一个开放的新型 IPv6 过渡技术,它已在 IETF、3GPP 等国际标准化组织中做了积极推进,目前在 Behave charter 层面上已经被接受。3.53.5 IVIIVIIVI 机制针对 IPv4/6 互通的需求,提供一套可路由无状态的映射机制实现IPv4 与 IPv6 网络互访。IVI 类似与 SIIT 方案,对特定的 IPv4 和 IPv6 地址提供了双向的单一的映射,还提出了详细的路由解决方案。IVI 提出的场景是要解决 IPv4 主机和 IPv6 主机互通的情况。如图 2-19 所示IVI 实现了 IVI 功能的 IVI

78、 路由器连接 IPv4 与 IPv6 网络, 并在 IVI 路由器上进行IPv4 与 IPv6 数据包的对译,以实现互访,同时又不对原 IPv4 和 IPv6 网络造成影响。在IVI 路由器上实现的 IVI 功能主要有两个:一个是地址映射,即通过统一的规则实现 IPv4 地址与 IPv6 地址的一一映射,以进行地址的翻译;另一个是协议翻译,即根据标准规定,实现 IPv4/ICMPv4 协议和 IPv6/ICMPv6 协议各字段的对译,同时更新 TCP/UDP 协议的相关字段,完成完整的数据包翻译操作。通过 IVI 路由器的地址映射和协议翻译过程,IPv4 节点和 IPv6 节点不需要任何自身的

79、改动而实现互访。图 2-19 1 IVI 应用场景图 2-20 地址翻译规则IVI 提供了一套 IPv4 到 IPv6 的映射机制,能够提供很好的路由聚集和固定的长度如图 2-20 所示。该地址映射机制有以下特点:(1) 为便于将 IPv6 地址去掉前缀以翻译回 IPv4 地址,各个前缀的长度是固定的。 根据IPv6地址的分配方法, 绝大部分服务提供商均有大于或等于/32的IPv6地址前缀,IVI 机制即以该/32 地址前缀作为翻译过程中的地址前缀。(2) 为了标识纯IPv6地址和由IPv4地址经过IVI机制映射过来的IPv6地址,同时保证位对齐,IPv6 地址前缀后面加入 8 位长的标识字段

80、“FF”。这同时要求,该/32 地址块的 1/256 的地址将被用于 IPv4 地址映射,该/32 地址块的所有者需要根据此规则保留该块地址用于 IVI 机制。(3) 为确保路由的效率, 对映射后得到的 IPv6 地址进行路由时, 其中的 IPv4地址信息应该是可用的,因此,IPv4 地址直接紧随其后的嵌入在标识“FF”后,以便于路由器使用该信息。对于具有两套地址的 IVI 主机,可以采用最长前缀匹配原则来选择适合通信场景的地址。网络层的数据包头的 IP 地址可以根据以上映射机制进行转换,而其他字段根据 SIIT 的翻译规则。如 UDP 和 TCP 报头内的校验和字段需要根据新的 IP 报头进

81、行重新计算并更新。而分片数据包的处理规则,MTU 检测以及 ICMP 的处理参考 SIITRFC 2765 。IVI 利用上述地址映射规则建立了一种 IPv4 网络和 IPv6 网络的映射关系,逻辑上在 IPv6 网络上建立了一部分 IVI IPv6 网络,如图 2-21 所示,IVI IPv6 网络中主机既可以与 IPv4 网络中所有的主机通信,也可以与 Non-IVI IPv6 网络中主机的通信,但是对于Non-IVI IPv6 网络与 IPv4 网络之间的通信只能采用NAT-PT方式。图 2-21 IVI 三种网络的关系IVI 方案包括 1:1 和 1:N 两种方式,1:1 方案实现了

82、IPv6 地址和 IPv4 地址的一一映射关系,而1:N 方案则引入了端口映射机制,实现了IPv6 地址与 IPv4 地址+端口的映射关系,这种机制由于需要保存映射关系,因此需要保留状态来完成通信,在 IPv4 地址渐渐枯竭时,这种方式应该是一种较好的解决方式。优点:1、IVI 方案实现简单,在 1:1 方式时是一种无状态的机制;2、不改变主机配置和路由表项。缺点:1、1:N 时引入状态,会造成不稳定问题;没有完全解决46 全部地址之间的通信,v6 地址中仍有大部分不能和 v4 通信。3.63.6 NAT-PTNAT-PT和和 NAT64NAT64NAT-PTNAT-PTNAT-PT 与 NA

83、T64 方案作为一小节共同来介绍是因为这两种方案其工作原理比较相似,NAT-PT 由于一些固有的缺陷已经建议被废弃(虽然已经被废弃,但是由于该方案很典型,很多翻译的方案都是源自于 NAT-PT思想),NAT64则是在尽力杜绝这些缺陷而进化的方案,那么比照介绍则能更深层次的理解这两种方案。首先介绍一下 NAT-PT方案。NAT-PT的工作机制可以分成两种情况进行介绍,一种是 IPv6 发起到 IPv4 的连接。工作原理如图 2-22 所示。2001:e10:c00:B:3ipv6DNS.ndhu.edu.twIPv6DNS(1)IPv6host(7)NAT-PT(8)IPv4 addresspo

84、ol(2)A6DNS-ALG(6)A6134.208.10.11ipv4DNS.ndhu.edu.tw(3)AIPv4DNS(4)AAddress allocation(5)(get IPv6 prefix)(9)IPv4host134.208.9.108ipv4.ndhu.edu.tw2001:e10:c00:B:2ipv6.ndhu.edu.twIPv4 address pool134.208.9.101134.208.9.102134.208.9.103134.208.9.104134.208.9.105:IPv6 IPv4 Address Mapping Table2001:e10:c

85、00:B:2 134.208.9.101:Final ResultIPv6 Host認為他在跟2001:e10:c00:B:134.208.9.108 作溝通IPv4 Host 認為他在跟134.208.9.101作溝通图 2-22IPv6 到 IPv4 原理示意图工作流程如图 2-23 所示: 1IPv6 主机首先会向 IPv6 DNS 查询目的地址;2IPv6 DNS 没有相关的域名信息,IPv6 DNS 将查询请求转发给 NAT-PT中的 DNS-ALG 处理; 3DNS-ALG 则将请求信息转发给 IPv4 域中的 DNS; 4IPv4 DNS 查询到 IPv4 地址,并将地址信息转发

86、给 DNS-ALG; 5DNS-ALG 根据地址信息从 NAT-PT处得到 IPv6 前缀, 并将 IPv4 地址嵌入到 IPv6 前缀后;6DNS-ALG 返回给 IPv6-DNS 一个 IPv6 前缀+IPv4 地址的 IPv6 地址,IPv6-DNS将该地址返回给IPv6 主机; 7IPv6 主机发送一个以自己为源地址、以prefix:IPv4 为目的地址的 IPv6 数据包,该数据包被路由到NAT-PT盒子上; 8NAT-PT首先在IPv4地址池中随机选取一个IPv4地址对应数据包的源IPv6地址,并在映射表中保存该映射关系, 这个 IPv4 地址作为 IPv4 数据包的源地址, 同时

87、,NAT-PT会从数据包中的目的地址抽出 32 位的 IPv4地址作为 IPv4 数据包的目的地址,并且进行相应的协议转换工作,产生 IPv4 数据包; 9IPv4 数据包被路由到目的地址 IPv4 主机上。回应包则利用映射表中的对应关系和相应的前缀可以完成数据包的翻译, 实现 IPv6 与 IPv4 通信。另一种情况为从 IPv4 发起到 IPv6 的通信,工作原理如图 2-23 所示。2001:e10:c00:B:3ipv6DNS.ndhu.edu.tw(3)A6IPv6DNS(4)A6IPv6host(8)DNS-ALG(5)Address allocation andAddress a

88、llocation andcreate address mappingcreate address mapping134.208.10.11ipv4DNS.ndhu.edu.tw(2) AIPv4DNS(6)A(1)IPv4host134.208.9.108ipv4.ndhu.edu.tw(7)NAT-PT2001:e10:c00:B:2ipv6.ndhu.edu.twIPv4 addresspoolIPv4 address pool134.208.9.101134.208.9.102134.208.9.103134.208.9.104134.208.9.105:IPv6 IPv4 Addre

89、ss Mapping Table2001:e10:c00:B:2 134.208.9.101:Final ResultIPv4 Host認為他在跟134.208.9.101作溝通IPv6 Host認為他在跟2001:e10:c00:B:134.208.9.108作溝通图 2-23 IPv4 到 IPv6 原理示意图工作流程如图 2-23 所示: 1IPv4 主机首先会向 IPv4 DNS 查询目的地址;2IPv4 DNS 没有相关的域名信息,IPv4 DNS 将查询请求转发给 NAT-PT中的 DNS-ALG 处理; 3DNS-ALG 则将请求信息转发给 IPv6 域中的 DNS; 4IPv6

90、 DNS 查询到相应的 IPv6 地址,并将地址信息转发给DNS-ALG; 5DNS-ALG 根据地址信息从地址池中随机获取一个 IPv4 地址, 并将查询到的 IPv6地址与该 IPv4 地址的映射关系保存在映射表中;6 DNS-ALG 返回给 IPv4-DNS这个随机获取的 IPv4 地址,IPv4-DNS 将该地址返回给 IPv4 主机; 7IPv4 主机发送一个以自己为源地址、以返回的IPv4 地址为目的地址的 IPv4 数据包,该数据包被路由到 NAT-PT盒子上; 8NAT-PT在映射表中查询目的 IPv4 地址对应得映射关系,得到对应的实际的目的IPv6 地址,并将源IPv4 地

91、址加对应的前缀变成 IPv6 地址,做一些相应的协议转换工作,产生IPv6 数据包,并将该数据包发送给目的 IPv6 主机。在 NAT-PT方案中,DNS-ALG 主要具有两项功能,一是在 4 到 6 通信中,利用 namelookup 告知 IPv4 主机分配给 IPv6 目的主机对应的 IPv4 地址,这在 4到 6 的通信中起到决定性作用;二是对于一些需要适用 IP 地址的应用协议,如FTP、SIP、BT 等,这些协议在应用层数据中含有 IP 地址信息,在做 46 地址映射时,应用层数据中的 IP 地址也必须做相应的改动,这需要 DNS-ALG 协助完成。NAT-PT的方案具有代表意义,

92、其翻译思想具有典型性,虽然 NAT-PT方案已经建议被废弃,但是作为一种翻译技术的典型思想 NAT-PT方案是无法替代的,中提出了 NAT-PT方案关于 DNS-ALG 的一些固有缺陷,其中大部分缺点是翻译技术所共有的, 介绍完 NAT64方案后会总结这些缺陷并在这些方面比较 NAT-PT与 NAT64两种方案。Modified NAT-PTModified NAT-PT由于 RFC4966 阐述了 NAT-PT的缺陷, 致使 NAT-PT建议被废弃, 为了改进RFC4966 中阐述的问题,提出了 Modified NAT-PT方案,其主要思想就是增加一些选项来杜绝“4A”假冒问题,为了防止由

93、于 DNS-ALG 在网关处的问题,将DNS-ALG 尽量放置在主机端或者靠近主机端,或者直接不用 DNS-ALG,采用IPv4 应用+SIIT 的方式,通过这样来尽力解决 RFC4966 中提出的问题。NAT64NAT64NAT64方案是在融合了 NAT-PT思想并尽力杜绝 NAT-PT缺陷的基础上产生的。但是 NAT64 并没有很好的解决 NAT-PT一些固有的缺陷,这类缺陷也是翻译技术所共存的,NAT64 方案只支持从 6 发起到 4 的通信,工作原理如图 3-X所示图 2-24 NAT64原理图如图 2-24 所示,该图显示了 NAT64 的工作原理,由于 NAT64 只支持从 6发起

94、的通信,因此在 NAT64盒子中只需要支持 6 到 4 的映射关系,所以图中显示了 NAT64盒子中只需要保留 IPv4 地址池即可,其工作过程类似于NAT-PT工作过程,这里不再赘述。4.4.延缓延缓 IPv4IPv4 地址枯竭的方案地址枯竭的方案4.14.1 CGN(NAT444)CGN(NAT444)Carrier-Grade NAT CGN技术提出了 ISP 网络设备使用共享地址的网络模型, 解决了 ISP 在 IPv4 地址耗尽时无法为新用户提供服务的问题。ISP 网络设备采用电信级的共享地址空间, 不更改现有的 Customer Premises Equipment (CPE)。C

95、GN 技术的局限在于限制 CPE 的会话数, 诸如 AJAX 和 RSS 等应用不能很好工作,而且纯 IPv6 主机无法访问 Ipv4 主机。所以 CGN 技术是为 v4/v6 共存阶段设计的,它只是为了向 IPv6 过渡的一个辅助性方案。IPv4 Global AddressCGNCGNISP AIPv4 Private Address(New Defined)CPE NATISP BCPE NATIPv4 HostIPv4 Private Address图 2-25CGN 结构图CGN 模型中,CPE 内侧的用户使用私有地址RFC1918,CGN NAT设备的ISP网络采用电信级IPv4共

96、享地址, 互联网内的IPv4服务器继续使用Global IPv4Address。CGN 也称作 NAT444模型。CGN 方案有两级 NAPT 设备:CPE 和 CGN NAT。CPE 和 CGN 将整个网络分为三层,CPE Private Address、CGN Private Address 和 IPv4 Global Address。CPE:CPE 是第一级 NAPT 设备,具有用户侧私有IPv4 地址和 CGN 的私有 IPv4 地址。它负责用户侧私有 IPv4 地址与 CGN 的 IPv4 共享地址之间的翻译。CGN NAT:CGN NAT盒子被安装在 ISP 内部网络设备上。CPE

97、 Private Address: 用户侧私有 IPv4 地址采用 RFC1918 的私有地址空间。CGN Share Address: CGN 的 IPv4 共享地址尽量采用一种新的 ISP 协商地址。 这种地址从 IANA 申请得来, 在 ISP 之间建立一个全局地址空间,以保证地址不会被复用。ISP 协商地址可以实现 CPE、CGN 与互联网的正常通信,但消耗掉一部分 IPv4 地址。总体来看,这是一种得大于失的方案。IPv4 Global Address:IPv4 Global Address是指位于 CGN 网络之外直接与 IPv4 互联网相连的地址空间。CGN 通信流程如下:DNS

98、166.111.8.8IPv4Internet202.1.2.3CGN X203.91.1.1DNS in CGNCGN YISP166.111.8.112/512.10.10.1HW1CPE A12.1.1.1CPE B12.1.2.1HW2CPE C12.3.1.1HW3hostA192.168.1.108图 2-26 通信流程hostB192.168.1.108Host AHost A访问访问 the server in CGNthe server in CGNHost A私有地址为 192.168.1.108,CGN 内部服务器地址为 12.10.10.1。Host A的 DNS 请求

99、发送到 CGN 的 DNS Server, 得到目的地址为 12.10.10.1。Host A发送的注册报文经过 CPE A翻译,进程的标示为 12.1.1.1+Port 1000,到达 CGN Server。CGN Server 返回应答报文,经过 CPE A翻译,转发到 Host A。Host AHost A访问访问 host Bhost B经过向 CGN 服务器注册,host A 的一个进程的标示为 12.1.1.1+Port 1000,host B 的服务进程为 12.3.1.1 + Port 2000通过 CGN 内部服务器 。Host A 的 DNS 请求发送到 CGN 的 DNS

100、 Server,得到目的标示为 12.3.1.1 +Port 2000。经过 CPE A和 CPE C 的两次翻译,Host A的报文到达 Host B。Host AHost A访问访问 Internet serverInternet serverDNS 查询过程:Host A发出 DNS request 报文,报文源地址为 192.168.1.108目的地址为 166.111.8.8。查询报文在 CPE A 被翻译为源地址 12.1.1.1 并继续转发至 CGN X。CGN X 将 DNS 查询报文的源地址翻译为 203.91.1.1,并转发至166.111.8.8。DNS 服务器收到 re

101、quest 报文后查询域名信息,并返回 reply 地址为202.1.2.3,目的地址为203.91.1.1。DNS reply 报文将上述路径逆向返回,地址逆向翻译。Host A 访问 server:Host A 获得 server 地址为 202.1.2.3,生成访问 server的数据报文, 报文源地址为 192.168.1.108 目的地址为 202.1.2.3。 报文在 CPE A 被翻译为源地址 12.1.1.1 目的地址不变,并在 mapping table 里记录 192.168.1.108与继续转发至 CGN X。 CGN X 将报文的源地址翻译为 203.91.1.1 目的

102、地址不变,并转发至 202.1.2.3。Server 收到报文后处理报文请求,并返回相应报文内容,生成相应报文源地址为 202.1.2.3 目的地址为 203.91.1.1。DNS reply 报文将上述路径逆向返回,地址逆向翻译。CGN 的适用性:CGN 不需要升级用户的 CPE 设备,在现有技术条件下解决 IPv4/v6 共存场景中 IPv4 地址耗尽的问题。NAT444模型不需要 IPv4/地址与 Ipv6 地址翻译,也不要求对 DNS 报文重写。采用 CGN 技术,ISP 可以用较小的代价缓解 IPv4 地址不足带来的运营网络可扩展问题。CGN 技术适用于 IPv4 地址耗尽而 IPv

103、6 网络部署不足、ISP 升级 IPv6 网络时机不成熟的网络过渡初期。CGN 的局限性CGN 技术也存在一定的局限性。首先,CGN 为了满足全体用户通信需求,限制每个用户的会话数,使得诸如P2P、RSS 等应用不能很好工作,也无法满足某些网络服务器的需求;由于 SIP、FTP 等应用层协议使用 IP 地址,NAT 设备需要对报文特殊处理,改写位于应用层的 IP 地址;ISP 部署 CGN 私有地址可能会消耗一部分 IPv4 全局前缀,占有IPv4 地址资源;UPnP 不支持在双层 NAT下工作。 CGN 主要解决 IPv4/v6 共存场景中 IPv4 地址耗尽的问题。 它不能取代 IPv6而

104、只是一个 IPv4/v6 过渡中的暂时方案。4.24.2 DUAL-STACK LITE(DS-Lite)DUAL-STACK LITE(DS-Lite)DUAL-STACK LITE技术使得 ISP 通过使用两种广为人知的技术: 封装技术IP in IP和 NAT技术来实现用户间对 IPv4 地址的共享。DUAL-STACK LITE在两个协议间提供必要的桥梁,实现IPv4 耗尽的演进之路,展示了IPv4 耗尽后IP 的部署和部署所须的技术。主要适用于 ISP 想要在 IPv4 耗尽而只能提供 Ipv6传输网的情况下,保持传统IPv4 设备与 IPv4 网络的互联。传统的系统和上层应用以及很

105、多家用电子设备只支持 IPv4,同时 IPv4 网络还有大量的应用和服务无法放弃。在这种需求下,DUAL-STACK LITE为提供了一种解决方案。图 2-27DUAL-STACK LITE结构图DUAL-STACK LITE模型中,主要将网络分为三个层次。IPv4 Internet,ISPnetworkIPv6network和用户接入网IPv4 采用 RFC1918 。DUAL-STACK LITE模型主要考虑访问通过 ISP 网络访问 IPv4 Internet 的需求,主要基于三者场景:Home gateway 场景:用户接入到一个本地网络,由本地网络网关Homegateway 与 IS

106、P 传输网相连。网关设备为 IPv4/v6 双栈设备。从Home gateway 到Dual-stack CGN 可配置静态路由,也可以通过各种方式比方DHCP发现Dual-stack CGN。基于直连网络场景(设备直连网络 :直接连接ISP 网络的设备是双栈的,对外是 IPv6 接口, 对内可能有 IPv4 接口, 但 ISP 不分配公有 IPV4 地址给设备。直连网络设备应支持 Dual-stack lite 功能,至少支持 4in6 隧道。基于无线 IP 网络场景:与基于连接网络场景类似。Dual-stack lite 接口被设计为 4in6 隧道的端点,它需要IPv6 地址,但不需要I

107、Pv4 的公有地址。home router 不翻译 v4 报文,可以支持 A+P 机制。DUAL-STACK LITE通信流程:Host BNET BCPE IPv6DS-Lite CGNServer图 2-28 DUAL-STACK LITE通信流程图Host ADual-stack CGN 为双栈 NAT,Ipv4 地址为,Ipv6 地址为 2001:1。Server 为Ipv4 服务器,地址为 128.0.0.1。Host A访问 Server:Host A是 IPv4/v6 双栈主机,IPv4 地址为 127.0.0.1,ipv6 地址为 2001:3。Host A获得Server的i

108、pv4地址后生成IPv4报文, src: 127.0.0.1,dest: 128.0.0.1。Host A 的 softwire intiator 模块封装为 Ipv6 报文,发送到 Dual-stack CGN。Dual-stack CGN 解封装,转发到 NAT模块,做 Ipv4-Ipv4 的转换生成新的 Ipv4报文,src: 128.0.0.3,dest: 128.0.0.1。不同主机的 NAT进程靠 Ipv6 地址区分。Host B 访问 Server:CPE 是双栈的 home router,支持 A+P 机制。表 2-2 通信地址和端口情况表源地址源端口目的地址目的端口Host

109、B地址10.0.0.28000128.0.0.180CPEv4 地址12.0.0.3100128.0.0.180CPEv6 地址2001:21002001:180Ds-liteCGNDs-liteCGNServerv6 地址v4 地址地址2001:21002001:18012.0.0.3100128.0.0.18012.0.0.3100128.0.0.180DUAL-STACK LITE的适用性:DUAL-STACK LITE的 IP 配置模式由一个公有 IP 地址归一个或几个用户使用变为一个公有 IP 地址归许多个用户使用。 用户通过 Ipv6 传输网得到 Ipv4 的网络流量。 DUAL-

110、STACK LITE取代了多级 NAT, 通过 4in6 隧道穿越网络到达 CGN设备。简化了 ISPv6 的管理,给用户提供了仅一层 NAT的便利。DUAL-STACKLITE 另外一个好处是,将 Ipv6 逐步引入互联网,并向后兼容 Ipv4。DUAL-STACK LITE的局限性DUAL-STACK LITE技术的局限性在于,基于 CGN 容易出现单点故障,扩展性也不好 只解决了 44 通信没有解决 46 通信的问题4.34.3 Public 4over6Public 4over6区别于 DS-lite 的方案,考虑到 AFTR 上的负载,Public 4over6 技术78被提出,用以

111、解决IPv6 接入环境下架设服务器的需求,和类似DS-lite 多用户接入的需求。他的基本思路是将 AFTR 上带来主要负载和性能瓶颈的 NAT功能去掉,而是直接分配给服务器或者 B4 设备,让他们获得全局 IPv4 地址,如图 2-29 所示。与DS-lite 和传统 CPE NAT相比,Public 4over6 做了折中的方案,将地址的分配和管理仍然由集中的服务器来负责,譬如 DHCP46。这是和 CPE NAT不同。而与 DS-lite 不同点在于端设备还是会获得全局 IPv4 地址。只不过这个 IPv4 地址不是稳定的,需要动态申请和维护。当端系统没有了接入需求, IPv4 地址还会

112、被 DHCP46 服务器收回给其他用户使用。图 2-29 Public 4over6DS-lite 和 Public 4over6 都需要一个集中的设备管理和分配地址。如 Ds-lite的 AFTR 上需要保持地址映射信息,而 Public 4over6 则需要 DHCP46 的设备来记录地址的使用状况。为了减少状态维护的开销,一些基于A+P 的方案被提出,进一步提高的地址利用率和无状态的特性。4.44.4 A plus PA plus PA+P 用来解决 IPv4 地址耗尽,无法满足用户上网地址需求的问题。为满足端到端的特性,A+P 采用从端口地址比特位“借位”到 IP 地址范围的方法来扩大

113、上网设备的地址空间, 它还通过隧道技术逐步的 IPv6 技术引入现有 ISP 网络。但 A+P 限制了每个用户的网络连接数,并且根本不能解决 IP 地址缺乏的问题。A+P 只是一个替代性的过渡方案。Port-restrictedAddressGatewayTunnelGatewayExternalAddress图 2-30 A+P框架图A+P 模型包括三部分:外部地址域、限制端口的内部地址域、Tunnel 所在的传输域。 在三个域之间通过 gateway 设备连接。 Gateway 上具有三个功能模块:封装/解封装模块、NAT模块、信令模块。封装/解封装模块:用来将 A+P 模型的报文封装在隧

114、道里,传输到隧道目的端。NAT 模块:用来将内部地址和端口与外部地址和端口的映射。它与普通的NAT 模块的区别在于一个外部地址映射多个内部地址,每个内部地址对应外部地址的一段限定的端口域。信令模块:用来告知隧道各端点设备的 NAT 信息,动态增减被借用的端口位信息以及封装方式和隧道端点的其他信息。 比方通过协议或者配置确定在隧道的哪一端做 NAT翻译。A plus P通信流程如下:IPv4 PrivateAddressGateway BTunnelIPv6Gateway AIPv4 PublicAddressHost AServer图 2-30 A+P通信流程图系统初始化时 Gateway B

115、 发起对 Gateway A 的 A+P 请求,Gateway A 通过DHCP或 NAT-PMP等其他方式将公有 IPv4 地址告知 Gateway B,并与 B 协商分配给 B 的端口段、相关隧道信息以及在哪一端做翻译。如图 2-30 所示,Host A 的主机地址为 10.0.0.2。Gateway B 的私有地址为10.0.0.1, IPv4 公有地址为 12.0.0.3 端口 100-200 , IPv6 地址为 2001:2。 GatewayA 的 IPv4 公有地址为 12.0.0.1/16,IPv6 地址为 2001:1/64。IPv4 服务器的地址为128.0.0.1。 根据

116、协议, 确定在 Gateway B 做私有地址与限制端口的公有地址翻译。Host A访问 Server 的通信流程:表 2-3 通信地址及端口情况表源地址源端口目的地址目的端口Host A地址10.0.0.28000128.0.0.180Gateway BGateway BGateway AGateway AServerv4 地址v6 地址v6 地址v4 地址地址12.0.0.3100128.0.0.1802001:21002001:1802001:21002001:18012.0.0.3100128.0.0.18012.0.0.3100128.0.0.180Host A请求报文到达 Gate

117、way B 后, 在 NAT模块翻译成限制端口的 IPv4 公有地址报文, 并进入封装模块封装为 IPv6 隧道报文。 隧道报文发送到 Gateway A被解封装,得到 IPv4 报文,被转发至 Server。Server 应答 Host A 的通信流程与上述流程逆向进行,不再赘述。A+P 的适用性:ISP 面临 IPv4 地址无法满足不断增多的用户需求时,A+P 技术是一种较好的应对地址短缺的替代方案。它在满足更多用户上网需求的同时,还保持了用户与目的端的端到端特性,并防止了多重 NAT。A+P 技术还支持多重 Gateway 部署和动态分配端口技术,进一步提高了 IPv4 公有地址的利用效

118、率。另外A+P 技术节省了大量的网络设备的 IPv4 地址,逐步的引入 IPv6 网络。A+P 的局限性:A+P 是通过借用端口地址比特位实现扩大用户地址空间的。 这种方案牺牲了每个用户的上网连接数。A+P 方案中在 Gateway 上使用了 NAT功能,也无法防止 NAT-PT的一些问题。A+P 最终只是一个替代性的过渡方案,并不能完全替代IPv6。4.54.5 4rd4rd4rd IPv4 Residual Deployment 是基于 A+P 思想的一个典型例子, 如图 2-31所示单栈用户需要通过 4rd 的方式接入到 4rd Border Relay 上再访问 IPv4 网络。每个

119、CE 会自动分配到一个 IPv6 地址。 这个 IPv6 地址里面包含了 IPv6 前缀, IPv4地址前缀以及端口 ID。CE 通过不同的端口 ID 能够确定不同的端口段。从而让CE 下面的用户能够通过 CE 的 NAT功能,将会话端口映射到端口 ID 所指定的端口段,从而实现地址的共用。数据包通过CE 的地址翻译获得全局 IPv4 地址,再被隧道传输到 4rd Border Relay 上,接入到 IPv4 互联网。图 2-31 4rd 通信场景4rd 的通过给 CE 设备分配特殊的 IPv6 地址,到达分配 IPv4 地址和端口范围的功能。而且在 4rd 的配置中端口 ID 长度相同,意味着每个 CE 都是分配到同样大小的端口集合。这类似于平均分配的原则,将指定 IP 地址和端口范围平均的分配给 CE或者有 CE 功能的双栈用户 。从维护状态的开销来说,4rd 不用保持地址映射状态和每流信息, 只需要基于基本的配置信息比方端口 ID 长度,IPv6 前缀,IPv4 前缀等信息。从公平性和地址利用率两方面来说,4rd 平均分配地址端口的方案有很好的公平性。而 DS-lite 是基于地址竞争模型,地址利用率比 4rd 更甚一筹。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号