法律状态公告日
法律状态信息
法律状态
2022-11-01
未缴年费专利权终止 IPC(主分类):H04L12/46 专利号:ZL2006101440131 申请日:20061124 授权公告日:20090318
专利权的终止
2009-03-18
授权
授权
2007-08-22
实质审查的生效
实质审查的生效
2007-06-27
公开
公开
技术领域
使用多点接入(multihoming)技术优化IPv4/IPv6应用互操作的方法属于互联网技术领域,尤其涉及IPv4与IPv6网络互联的隧道技术。
背景技术
基于IPv4协议的互联网在20多年的发展中取得了巨大的成功,但随着互联网的发展,IPv4协议已经不能满足需要,尤其是在地址空间方面。因特网工作部IETF(Internet EngineerTaskForce)提出了IPv6来解决上述问题。随着近年来世界各国对实验、部署IPv6网络的不断推动,人们已经认识到,IPv4向IPv6过渡是必然的。2006年7月第66届IETF会议上已经对此正式下了定论。
IPv4向IPv6过渡技术是一个覆盖面非常大的课题,涉及到既有投资保护、设备兼容、技术兼容、应用兼容等等问题。为了对这个问题进行更为深入的全面分析,IETF曾经成立过一个“下一代网络过渡工作组(Ngtrans)”,形成了不少网络过渡的思路。目前,IETF对网络过渡采用的术语是“互操作(inter-operation)”,相应的“下一代网络过渡工作组(Ngtrans)”也停止了工作,取而代之的是新成立的“IPv6网络互操作工作组(v6ops)”。IETF的这种认识的转变是建立在对IPv4向IPv6过渡过程的更为深入研究的基础上的。IETF认为“过渡是长期的、融合是必然的”,因此当前主要考虑的不是如何用IPv6网络来取代IPv4网络,而是应该把研究重点放在如何很好地实现IPv4与IPv6的融合。只有IPv4网络能够和IPv6网络很好的融合,才能实现网络的平稳过渡。因此,IPv4网络与IPv6网络的互操作方式的研究是当务之急。
尽管在很长一段时期内将会是IPv4和IPv6网络并存的情形,但随着IPv6网络的逐步部署,当应用开发商意识到IPv6的网络是未来的趋势时,他们将会转入对IPv6应用的开发,大量新的应用将没有IPv4的版本。在这种情况下,如何使IPv4网络中的主机使用IPv6应用将是一个很有意义的课题——这正是IPv4/IPv6应用互操作的一种典型情形。
一台IPv4网络中的双栈主机使用IPv6应用有以下两种场景:
(1)场景1:IPv4网络中的双栈主机访问IPv6网络。可以预见,IPv6应用将大量存在于纯IPv6网络中,IPv4网络中的双栈主机需要访问IPv6网络才能使用这些IPv6应用。
(2)场景2:IPv4网络中的两台双栈主机为了使用IPv6应用而使用IPv6协议通信。在IPv6网络广泛部署的大势所趋下,未来大量新的网络应用将不可避免的只有基于IPv6协议的版本。这种情况下,IPv4网络中两台双栈主机想要使用这些新的应用,必须得使用IPv6协议进行通信。
然而,现有的任何单独一种IPv6接入机制都不能很好地同时应用于两种场景。目前,隧道代理(Tunnel Broker)和6to4隧道是最具代表性的两种IPv6接入方法,我们分析一下它们同时应用于两种场景时存在的问题。
隧道代理并不是一种特殊的隧道技术,而是一种协助用户建立通往现有IPv6网络的隧道的模型。IPv4网络中的双栈主机可以通过隧道代理从支持IPv6的网络服务提供商ISP处获得全局持久的IPv6地址和域名,同时建立与中继网关(Tunnel Server)之间的IPv6-in-IPv4隧道,用以接入IPv6网络。作为一种成熟的IPv6大网接入技术,隧道代理机制可以很好的工作在场景1下。然而,该技术用于场景2时,由于IPv4网络中的两台双栈主机使用IPv6进行通信时也需要中继网关进行中继,这样就使得中继网关负荷太大,成为瓶颈;同时,由于需要在发送端到中继网关、中继网关到接收端之间建立两次隧道,两次隧道封装及解封装势必影响用户体验。如图1。
在图1的示意图中,所有的主机都运行IPv6应用程序,包括IPv4网络下的双栈主机A、B和IPv6网络下的主机C。双栈主机A和B从IPv6网络服务提供商获得全局的IPv6地址和接入服务。考虑双栈主机A与主机B、C进行通信。主机A与主机C必然需要IPv6网络服务提供商的中继网关才能进行通信。然而在隧道代理的机制下,双栈主机A与B通信时,也需要中继网关的支持才能通信。这样就给中继网关造成了很大的负荷压力。这种情况下主机A与主机B直接建立通道显然是一种更好的方法,也就是6to4隧道的方法。
6to4隧道用于在IPv6过渡初期连接IPv4网络边缘的IPv6站点。它的主要思想是将现有IPv4网络看作单播点对点链路层,利用已经存在的IPv4路由机制来实现报文的路由转发。IPv4网络中的双栈主机使用6to4格式的IPv6地址(2002:IPv4Address::/80)作为通信的标识,IPv6数据分组经过支持6to4技术的网关时,隧道端点的IPv4地址可以直接从分组的目的6to4地址中提取,从而自动建立IPv6站点之间的隐式隧道。在这种方法下,当两台都处于IPv4网络下的双栈主机想要使用IPv6进行通信时,可以很方便地使用6to4地址建立起直连的隧道,不需要第三方的中继网关,因此是应用于场景2的一种好方法。然而如果应用于场景1,由于6to4隧道使用了特殊格式的6to4地址,而6to4地址很难做路由聚集,从而给路由造成了很大的困难,不适合作为一种一般的访问IPv6网络的手段。
综上所述,隧道代理是实现IPv4网络访问IPv6网络的好方案,却不是一个处理IPv4中的双栈主机进行IPv6通信的好方法;而6to4隧道则擅长处理IPv4中双栈主机进行IPv6通信,却是一个实现IPv4网络访问IPv6网络的糟糕方法。本文要研究的问题就是:如何将6to4隧道和隧道代理两种机制融合起来,形成一种更好的IPv4下主机使用IPv6应用的机制。
发明内容
本发明的目的在于通过将6to4隧道和隧道代理两种机制融合起来,提供一种更好的IPv4下主机使用IPv6应用的机制。
本发明所提供的方法思路在于:使用多点接入(multihoming)技术综合隧道代理和6to4隧道两种方案,使得IPv4网络下的双栈主机同时拥有全局IPv6地址和6to4地址,当该主机访问IPv6网络时,使用全局IPv6地址和隧道代理机制;当该主机和IPv4网络中的另一台双栈主机进行IPv6通信时则采用6to4地址和6to4隧道机制。这样就使得两种方法取长补短,形成一种更优的IPv4网络中的主机使用IPv6应用的方法。
多点接入(multihoming)是指一个末端网络节点出于路径冗余或策略的考虑从多条路径接入互联网的现象。为了实现多条网络路径接入互联网,支持多点接入的站点及主机一般都拥有多个IP地址。一旦当前通信的网络路径发生了故障或者出于某种策略考虑,支持多点接入的站点及主机将切换到其他的IP地址使用新的网络路径进行通信。因此,在实现多点接入的众多技术方案中,一般都会解决IP地址切换的问题。这正是本文提出的方法需要解决的一个重要问题。我们借鉴了IETF主推的最新的IPv6下多点接入的解决方案shim6对地址切换的处理方法。
shim6在网络层中插入一个小薄层,从而将传统IP地址的用于网络寻址的定位符功能和用于标识主机的标识符两种功能切分开来。网络层中插入的子层shim6实现标识符到定位符的映射功能。我们知道,传输层及上层应用都是使用主机的标识符来标识一个通信连接。当主机切换定位符后,shim6子层会将该定位符映射到原有的标识符上,传输层及上层应用也仍然可以使用一致的标识符来进行通信,已有的通信连接也就不会被中断。
本发明的特征在于,本方法依次含有以下步骤:
步骤(1),初始化
步骤(1.1)处于IPv4网络中的双栈主机拥有全局IPv6地址和6to4地址,其中全局IPv6地址由该IPv4下的双栈主机接入的IPv6网络服务提供商分配,6to4地址则是由该双栈主机自己生成的;
步骤(1.2),在该双栈主机的IPv6协议栈中插入一个薄层,称之为MI46,该薄层与shim6的位置一样,置于IP层内,IP路由子层和IP端系统子层之间,用以实现标识主机的标识符与网络寻址的定位符的映射;
步骤(2),该双栈主机按以下步骤与通信对端通信:
步骤(2.1),当该双栈主机与另外一台可能在IPv4网络或纯IPv6网络中的主机使用IPv6协议发起初始通信时,使用全局的IPv6地址及相应的隧道代理机制;
步骤(2.2),该双栈主机将发出试探消息来检测对方是否支持MI46机制,如果对方支持,则发回响应消息,否则,转入步骤(2.7);
步骤(2.3),确认对方支持MI46后,通信双方将发送给对方各自的6to4地址。此时,通信双方确立起一种对端的全局IPv6地址到6to4地址的映射关系;
步骤(2.4),此后,发送端发出的报文,在MI46层以上的源地址、目的地址均填全局的IPv6地址,当报文通过发送端的MI46层以后,该报文的源地址、目的地址将被改写成6to4地址;
步骤(2.5),由于使用了6to4地址,通信双方建立起直连的6to4隧道进行通信;
步骤(2.6),报文到达接收端后,在MI46层以下报文的源地址、目的地址为6to4地址,当通过MI46层之后,该报文的源地址、目的地址将被改写成全局IPv6地址;
步骤(2.7),如果该双栈主机无法收到对端支持MI46的响应消息,则说明对端为一台纯IPv6网络中的主机,这样,整个通信过程将使用全局IPv6地址和隧道代理机制;步骤(3),该双栈主机与对端通信完成之后,将把通信对端的全局IPv6地址与6to4地址的映射关系保留一段时间。以便该双栈主机下次与通信对端通信时就可以查阅该映射关系直接使用6to4地址进行通信,不必再使用MI46对每个通信报文进行映射转换,提高处理效率。
本发明的优点在于:
1.IPv4下双栈主机之间使用IPv6协议通信将不再像隧道代理机制那样通过中继网关,从而有效的减轻了中继网关的压力;
2.由于在双栈主机之间建立起了直连的隧道,数据传输只需要经过一次封装解封装,比隧道代理机制中通过中继网关中继的方式少一次封装解封装,改善了用户体验;
3.由于IPv4下双栈主机访问纯IPv6网络使用的是全局IPv6地址,从而也避免了单纯使用6to4机制时6to4地址难以做路由聚集的问题;
4.上述3项优势使得本方法有着很强的激励机制激励用户部署本方法。
附图说明
图1.IPv4下两台双栈主机使用隧道代理机制通信示意图;
图2.MI46体系结构示意图;
图3.MI46四次握手过程示意图;
图4.两台双栈主机使用MI46机制通信示意图;
图5.MI46子层的具体工作流程;
图6.部署MI46后IPv4网络下的双栈主机访问IPv6应用的示意图。
具体实施方式
我们设计了以下的实施环境,如图6所示:
图中,双栈主机A和B位于IPv4网络中,都在IPv6协议栈中插入了一个薄层MI46,如图2所示。主机C位于IPv6网络中。为了使用IPv6应用,当双栈主机A使用IPv6向B发起通信时,由于A事先并不知道B也在IPv4网络中,所以初始通信使用全局的IPv6地址和响应的隧道代理机制。接着,该双栈主机A将发出试探消息来检测B是否支持MI46机制,如果B支持,则发回响应消息。A确认对方支持MI46后,通信双方A和B将通过两次握手告诉对方各自的6to4地址。整个四次握手过程如图3所示。当四次握手结束后,A和B双方确立起一种对端的从全局IPv6地址到6to4地址的映射关系。这时,通信双方将使用全局IPv6地址作为标识符,6to4地址作为定位符,MI46薄层负责标识符和定位符的映射。此后双方MI46层以下的通信都将使用6to4隧道方式建立起直连的隧道进行通信(图6中的实线)。而MI46上层仍然使用全局IPv6地址作为标识符,原有通信不被中断。通信双方A和B的通信过程如图4。MI46子层的具体工作流程如图5。图5中的发送端和接收端分别对应图6中的双栈主机A和双栈主机B。发送端发出的报文在经过MI46子层时首先根据报头中的全局IPv6地址查找对应的6to4地址,然后将报文中的源地址及目的地址改写成6to4地址;当该报文通过6to4隧道传送到接收端时,接收端的MI46子层根据报头中的6to4地址查找对应的全局IPv6地址,然后将报文中的源地址及目的地址改写成全局IPv6地址。这样,对MI46上层的应用来说,它们将一直使用全局的IPv6地址来标识对方;而对MI46下层,则一直使用6to4地址建立直连的隧道进行通信。
当双栈主机A与IPv6网络中的主机C通信时,因为纯IPv6网络中的主机没有必要支持MI46,所以MI46的四次握手过程将在第二次握手时中断,即该双栈主机无法收到对端支持MI46的响应消息。这样,整个通信过程将使用全局IPv6地址和隧道代理机制(图6中的虚线)。
由此可见,本发明通过MI46的无缝切换,IPv4下双栈主机之间使用IPv6协议通信将不再像隧道代理机制那样通过中继网关,从而有效的减轻了中继网关的压力;同时,由于在双栈主机之间建立起了直连的隧道,数据传输只需要经过一次封装解封装,比隧道代理机制中通过中继网关中继的方式少一次封装解封装,改善了用户体验。此外,由于IPv4下双栈主机访问纯IPv6网络使用的是全局IPv6地址,从而也避免了单纯使用6to4机制时6to4地址难以做路由聚集的问题。所以,本发明达到了预期目的。
机译: IPV4终端和IPV6终端之间的协议转换设备,或者使用映射表和方法的一个应用程序和另一个应用程序之间的协议转换设备,以及协议转换设备的映射表的生成方法
机译: 用于使使用互联网协议版本4(ipv4)的第一设备和分配给互联网设备版本6使用互联网协议版本6(ipv6)的第二设备可访问的ipv4专用地址的方法和网络元素
机译: 方法和网络元素,用于使用互联网协议版本4(IPv4)制作第一台设备,并使用互联网协议版本6(IPv6)将IPv4专用地址分配给第二设备