CN102523312B - 一种4over6场景下的最优隧道选择方法 - Google Patents

一种4over6场景下的最优隧道选择方法 Download PDF

Info

Publication number
CN102523312B
CN102523312B CN201110396004.2A CN201110396004A CN102523312B CN 102523312 B CN102523312 B CN 102523312B CN 201110396004 A CN201110396004 A CN 201110396004A CN 102523312 B CN102523312 B CN 102523312B
Authority
CN
China
Prior art keywords
4over6
tunnel
ipv4
address
opposite end
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110396004.2A
Other languages
English (en)
Other versions
CN102523312A (zh
Inventor
崔勇
董江
吴丹
吴建平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201110396004.2A priority Critical patent/CN102523312B/zh
Publication of CN102523312A publication Critical patent/CN102523312A/zh
Application granted granted Critical
Publication of CN102523312B publication Critical patent/CN102523312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种4over6场景下的最优隧道选择方法,在IPv4孤岛中的主机或路由器设备主动发起多个探测报文,所述探测报文的IPv4源地址为主机或路由器设备IPv4接口的地址,探测报文目的IPv4地址为IPv4 Internet中某网络节点的IPv4地址,探测报文IPv6封装头的源IPv6地址为主机或路由器设备IPv6接口的地址,目的地址为从4over6隧道对端表中选择的某一4over6隧道对端的IPv6地址,主机或路由器设备根据探测报文对应的响应报文IPv4源地址查询封装表中是否有匹配表项,如果没有则将响应报文的IPv4源地址和IPv6源地址作为一个新的封装表项加入封装表,此表项即为以后通往所述目的网络节点的最优隧道表项。

Description

一种4over6场景下的最优隧道选择方法
技术领域
本发明属于互联网技术领域,涉及一种4over6场景下的最优隧道选择方法。
背景技术
随着互联网的快速发展,各种设备对IP地址的需求越来越大,但目前IANA可分配的IPv4地址空间已经耗竭。IPv6协议具有巨大的地址空间(2128),分层的编址和路由机制,更好的端到端特性,更好的安全性和移动性支持等特性,是IPv4的替代协议。但由于IPv4互联网已经具备了相当大的规模和广泛的应用,因此IPv4和IPv6的长期共存和过渡将是必然的趋势。由于IPv6设计之初并没有考虑到IPv4向IPv6的平滑过渡,过渡过程中存在路由、可扩展性、状态维护等诸多问题。
当前随着IPv6网络的逐步建设和部署,IPv4网路的规模会渐渐的缩小,最终会导致一些孤立的IPv4网络的出现。这些IPv4孤岛在没有其他过渡技术辅助的情况下,无法与外界的IPv4网络通信。在这种情况下IPv6网络将作为IPv4网络之间互通的桥梁,IPv4网络中的主机可以通过IPv4-over-IPv6隧道来与外界的其它IPv4网络进行通信。
这种以IPv4-over-IPv6隧道方式实现IPv4网络之间通信的过渡技术在现实网络中得到了大量应用。其中一类广泛部署使用的4over6隧道技术需要借助于各隧道端点上维护的封装表来进行正确的封装,此类需要维护映射状态的4over6隧道技术已经在因特网工程任务组(IETF)得到了标准化(RFC5565,RFC5747,RFC6333)。
在这种有状态的4over6隧道场景下,对一个IPv4孤岛而言,可能会有多个4over6隧道对端。当此4over6孤岛中的主机想要访问Internet中的某个站点时,会有存在选择恰当隧道对端的问题。若将某一隧道对端设为默认的隧道对端使得所有的封装分组都经过这个相同的隧道对端,会存在路径绕远的情况,并且会因隧道对端的性能有限导致出现网络的瓶颈节点。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种4over6场景下的最优隧道选择方法,主机或路由器设备利用各个已知的和4over6对端建立起的隧道,向目的节点发送探测报文,通过各探测报文主机或路由器设备可以得到通往某一目的节点的最优4over6隧道,此后去往同一目的网络节点时,则可使用此信息进行封装而无需再次探测。
为了实现上述目的,本发明采用的技术方案是:
一种4over6场景下的最优隧道选择方法,在有状态的4over6隧道场景下,一个4over6隧道端点通过发送多个探测报文以选择出到达IPv4Internet中某节点的最优隧道对端,具体包括以下步骤:
步骤1,IPv4孤岛中的主机和网络设备获取各4over6隧道对端的IPv6地址,并将这些IPv6地址存储到4over6隧道对端表中;
所述4over6隧道对端表中具有添加/删除表项接口,用于在获取到4over6隧道对端的IPv6地址时向4over6隧道对端表添加表项,或是得知某4over6隧道对端不再是一个有效对端时删除其表项;
步骤2,IPv4孤岛中的主机或路由器设备在发送/转发IPv4分组时,根据IPv4分组的目的地址在封装表中进行匹配,若匹配成功则进行步骤4,否则进行步骤3;
步骤3,对通往某网络节点的最优隧道选择过程:
步骤3.1,所述主机或路由器设备形成IPv4探测报文,报文的目的地址即步骤2所述IPv4分组的目的地址;
步骤3.2,所述主机或路由器设备根据4over6隧道对端表,将上述IPv4探测报文进行封装,封装目的地址为4over6隧道对端表中的各表项的4over6对端IPv6地址,根据4over6隧道对端表中表项的条数,需要形成对应个数的探测封装报文,每个探测封装报文的目的IPv6地址与一条4over6隧道对端表项对应;
步骤3.3,所述主机或路由器设备收到探测报文回复的信息,根据所回复的4over6报文的源IPv6地址和源IPv4地址查找封装表看是否有对应表项,若已经含有对应表项则丢弃该报文,若没有则进入步骤3.4;
步骤3.4,所述主机或路由器设备将上述探测回复4over6报文的IPv6源地址和IPv4源地址作为一个表项存入封装表,进入步骤4发送环节,发送对应的IPv4分组;
步骤4,所述主机或路由器设备根据匹配的IPv6地址作为目的地址将步骤2所述IPv4分组进行封装,并发送该分组;
步骤5,所述主机或路由器设备收到4over6分组的处理过程:
步骤5.1,所述主机或路由器设备收到返回的4over6报文,判断其是否为对已发送的探测报文的回复,若是对探测报文的回复则进入步骤3.3,否则进入步骤5.2;
步骤5.2,将所述4over6报文进行解封装后,所述主机或路由器设备根据目的IPv4地址确定是交由上层协议处理或是进行转发。
本发明使得在IPv4孤岛中的主机或路由器设备在需要访问IPv4Internet中某一网络节点时能够选择最优的隧道对端使得通信速度最快,在某一主机或一个孤岛下的路由器上,实现了最优4over6隧道选择的同时,并不会引起全网的路由膨胀。
附图说明
图1为4over6最优隧道选择方法拓扑示意图。
图2为4over6最优隧道选择方法流程图。
图3-1为4over6最优隧道选择方法实施例步骤一。
图3-2为4over6最优隧道选择方法实施例步骤二。
图3-3为4over6最优隧道选择方法实施例步骤三。
图3-4为4over6最优隧道选择方法实施例步骤四。
图3-5为4over6最优隧道选择方法实施例步骤五。
图3-6为4over6最优隧道选择方法实施例步骤六。
图3-7为4over6最优隧道选择方法实施例步骤七。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
如图1所示,一个IPv4孤岛有两个4over6隧道对端R2和R3,当此4over6孤岛中的主机或路由器设备R1想要访问Internet中的某个站点时,会有存在选择恰当隧道对端的问题。若将某一隧道对端设为默认的隧道对端使得所有的封装分组都经过这个相同的隧道对端,会存在路径绕远的情况,并且会因隧道对端的性能有限导致出现网络的瓶颈节点。
如图2所示,为本发明的方法流程图,首先IPv4孤岛中的主机和网络设备获取各4over6隧道对端的IPv6地址,并将这些IPv6地址存储到4over6隧道对端表中,然后发送IPv4分组,根据IPv4分组的目的地址在封装表中进行匹配,若匹配成功则根据匹配的IPv6地址进行封装发送,否则形成IPv4探测报文并封装发送,再根据返回的报文看封装表是否有匹配项,如果有则丢弃该探测报文,否则就将探测报文封装头源IPv6地址和源IPv4地址作为表项存入封装表。
下面结合图3-1~3-7,举例说明从获取4over6隧道对端的IPv6地址直到收到响应报文后的处理的七个步骤。
步骤一,如图3-1所示,在IPv4孤岛中有一台主机或路由器设备R1,在本实施例中以路由器为例,该设备有一个接口接入到IPv6网络中,同时有一个IPv4接口接入到IPv4孤岛;若对主机设备而言是有一个IPv4(虚)接口为上层IPv4应用提供服务。R1的IPv6地址为1000::1,IPv4地址为10.0.0.1;本实施例中有两个4over6隧道对端,分别是R2(IPv6地址为2000::1,IPv4地址为20.0.0.1)和R3(IPv6地址为3000::1,IPv4地址为30.0.0.1)。初始时R1上有一张4over6隧道对端表,表内已存有4over6隧道对端R2和R3的IPv6地址信息;同时还有一张封装表,此封装表不需配置默认隧道对端,初始时为空。
步骤二,如图3-2所示,IPv4孤岛中的某台主机向IPv4Internet中的某网络节点发送IPv4报文,其源地址为10.0.0.2,目的地址为40.0.0.1。所述IPv4分组到达IPv4孤岛的网关路由R1。R1收到所述IPv4分组后根据目的IPv4地址40.0.0.1查询封装表,发现没有匹配项。
步骤三,如图3-3所示,R1由于没有在封装表中查找到匹配项,需要开始针对该目的网络节点进行最优隧道选择过程:R1形成IPv4探测报文,源地址为R1本身的IPv4地址10.0.0.1,目的地址为目的网络节点的IPv4地址40.0.0.1,然后根据4over6隧道对端表中的所有表项将所述探测报文封装多个,每个封装的探测报文的源IPv6地址为R1的IPv6地址,目的IPv6地址为4over6隧道对端表中各表项的IPv6地址。R1然后将这些封装的探测报文发到IPv6网络。探测报文可以是但不限于PING报文。
步骤四,如图3-4所示,4over6隧道对端R2和R3收到了封装的探测报文,R2将报文解封装后,需要将源IPv4地址进行网络地址翻译(NAT)以使得探测报文的返回报文仍能回到R2进行4over6封装,本实施例将源IPv4地址修改为R2的IPv4地址20.0.0.1,R2上也可以维护一个IPv4地址池用作NAT。同样,R3也将收到的探测封装报文解封装后进行NAT,然后将报文发到IPv4Internet。在4over6隧道对端路由器R2和R3上都需维护一张映射表,用于记录IPv4孤岛中的IPv4地址与NAT转换后的地址之间的映射,以及所述孤岛IPv4地址对应的4over6隧道对端(本实施例的R1)的IPv6地址以用于报文返回时正确的封装。所述映射在RFC6333中已有明确定义。
步骤五,如图3-5所示,目的网络节点收到各探测报文后进行回复,回复的响应报文目的地址为各4over6隧道对端设备的IPv4地址。
步骤六,如图3-6所示,所述4over6隧道对端路由器R2和R3收到目的网络节点的响应报文后,根据所述映射表将目的IPv4地址(端口)转换为报文在孤岛IPv4的地址,同时根据映射表进行封装然后将响应报文发送到IPv6网络。在本实施例中,R3所封装的响应报文首先到达R1,R2封装的响应报文由于网络阻塞等原因到达R1的时间较晚(也有可能因网络原因无法返回R1)。
步骤七,如图3-7所示,R1由于首先收到来自R3的探测响应报文,其根据探测封装分组的源IPv4地址查询封装表发现没有匹配项,于是将所述源IPv4地址和IPv6地址作为一个表项加入封装表。对于后到达的来自R2的探测响应报文,R1根据其源IPv4地址查询封装表发现已有匹配项,于是将此响应报文丢弃。
在本实施例中,R1接下来为目的地址是40.0.0.1的分组按照封装表将3000::1作为4over6隧道对端地址进行封装转发。
若本实施例中的R1不是路由器设备,而是一台主机设备,即R1后面没有连接一个IPv4网络,本发明方法也同样适用,主机在收到解封装的分组后不是转发,而是交由上层协议处理。

Claims (7)

1.一种4over6场景下的最优隧道选择方法,其特征在于,在有状态的4over6隧道场景下,一个4over6隧道端点通过发送多个探测报文以选择出到达IPv4Internet中某节点的最优隧道对端,具体包括以下步骤:
步骤1,IPv4孤岛中的主机和网络设备获取各4over6隧道对端的IPv6地址,并将这些IPv6地址存储到4over6隧道对端表中;
所述4over6隧道对端表中具有添加/删除表项接口,用于在获取到4over6隧道对端的IPv6地址时向4over6隧道对端表添加表项,或是得知某4over6隧道对端不再是一个有效对端时删除其表项;
步骤2,IPv4孤岛中的主机或路由器设备在发送/转发IPv4分组时,根据IPv4分组的目的地址在封装表中进行匹配,若匹配成功则进行步骤4,否则进行步骤3;
步骤3,对通往某网络节点的最优隧道选择过程:
步骤3.1,所述主机或路由器设备形成IPv4探测报文,报文的目的地址即步骤2所述IPv4分组的目的地址;
步骤3.2,所述主机或路由器设备根据4over6隧道对端表,将上述IPv4探测报文进行封装,封装目的地址为4over6隧道对端表中的各表项的4over6对端IPv6地址,根据4over6隧道对端表中表项的条数,需要形成对应个数的探测封装报文,每个探测封装报文的目的IPv6地址与一条4over6隧道对端表项对应;
步骤3.3,所述主机或路由器设备收到探测报文回复的信息,根据所回复的4over6报文的源IPv4地址查找封装表看是否有对应表项,若已经含有对应表项则丢弃该报文,若没有则进入步骤3.4;
步骤3.4,所述主机或路由器设备将上述探测回复4over6报文的IPv6源地址和IPv4源地址作为一个表项存入封装表,进入步骤4发送环节,发送对应的IPv4分组;
步骤4,所述主机或路由器设备根据匹配的IPv6地址作为目的地址将步骤2所述IPv4分组进行封装,并发送该分组;
步骤5,所述主机或路由器设备收到4over6报文的处理过程:
步骤5.1,所述主机或路由器设备收到返回的4over6报文,判断其是否为对已发送的探测报文的回复,若是对探测报文的回复则进入步骤3.3,否则进入步骤5.2;
步骤5.2,将所述4over6报文进行解封装后,所述主机或路由器设备根据目的IPv4地址确定是交由上层协议处理或是进行转发。
2.根据权利要求1所述的4over6场景下的最优隧道选择方法,其特征在于,所述步骤1中,通过静态配置或者DHCP动态获取4over6隧道对端的IPv6地址。
3.根据权利要求1所述的4over6场景下的最优隧道选择方法,其特征在于,所述步骤3.1中,IPv4探测报文的源地址为所述主机或路由器设备本身的IPv4地址。
4.根据权利要求1或3所述的4over6场景下的最优隧道选择方法,其特征在于,所述IPv4探测报文为PING报文。
5.根据权利要求1所述的4over6场景下的最优隧道选择方法,其特征在于,所述步骤3.2中,封装的探测报文的源IPv6地址为所述主机或路由器设备本身的IPv6地址。
6.根据权利要求1所述的4over6场景下的最优隧道选择方法,其特征在于,4over6隧道对端接收到步骤3.2的封装的探测报文后进行解封,解封后将探测报文的源IPv4地址进行网络地址翻译以使得探测报文的返回报文仍能回到该4over6隧道对端进行4over6封装。
7.根据权利要求6所述的4over6场景下的最优隧道选择方法,其特征在于,所述的网络地址翻译是将探测报文的源IPv4地址修改为当前4over6隧道对端的IPv4地址。
CN201110396004.2A 2011-12-02 2011-12-02 一种4over6场景下的最优隧道选择方法 Active CN102523312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110396004.2A CN102523312B (zh) 2011-12-02 2011-12-02 一种4over6场景下的最优隧道选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110396004.2A CN102523312B (zh) 2011-12-02 2011-12-02 一种4over6场景下的最优隧道选择方法

Publications (2)

Publication Number Publication Date
CN102523312A CN102523312A (zh) 2012-06-27
CN102523312B true CN102523312B (zh) 2014-04-02

Family

ID=46294099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110396004.2A Active CN102523312B (zh) 2011-12-02 2011-12-02 一种4over6场景下的最优隧道选择方法

Country Status (1)

Country Link
CN (1) CN102523312B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932255B (zh) * 2012-09-06 2015-05-06 华为技术有限公司 隧道路径选择的方法及装置
CN103118145B (zh) * 2013-01-18 2016-03-30 清华大学 基于DNS的IPv4-over-IPv6多隧道自动建立方法
CN103825972B (zh) * 2014-02-21 2016-10-12 清华大学 一种基于ICMPv6的IPv6隧道通信方法
CN104092561B (zh) * 2014-06-12 2017-02-15 清华大学 一种4over6动态地址分配服务器失效备援方法
CN107547376B (zh) * 2017-07-21 2020-07-07 新华三技术有限公司 路由探测方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848802A (zh) * 2005-11-25 2006-10-18 清华大学 基于P2P在IPv4上实现IPv6高性能互联的方法
CN101640645A (zh) * 2009-09-09 2010-02-03 中兴通讯股份有限公司 报文传输方法和系统
CN101977250A (zh) * 2010-10-29 2011-02-16 清华大学 边缘网络双栈接入下主机间互访优化中的隧道选择方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1848802A (zh) * 2005-11-25 2006-10-18 清华大学 基于P2P在IPv4上实现IPv6高性能互联的方法
CN101640645A (zh) * 2009-09-09 2010-02-03 中兴通讯股份有限公司 报文传输方法和系统
CN101977250A (zh) * 2010-10-29 2011-02-16 清华大学 边缘网络双栈接入下主机间互访优化中的隧道选择方法

Also Published As

Publication number Publication date
CN102523312A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102413061B (zh) 一种报文传输方法及设备
EP3065358B1 (en) Method and device for message forwarding
CN102971992B (zh) 虚拟专用局域网设备、网络组件和数据帧转发方法
CN101155115B (zh) 一种自动隧道的实现方法及设备
CN101340372B (zh) 号码自动路由方法、更新方法、撤销方法、路由器及设备
EP2750329B1 (en) Method and device for sending internet protocol packets
CN102523312B (zh) 一种4over6场景下的最优隧道选择方法
CN104683210B (zh) 一种自动建立隧道的方法和装置
JPWO2006093299A1 (ja) トンネリング装置及びそれに用いるトンネルフレーム振分方法並びにそのプログラム
WO2022121466A1 (zh) 以太虚拟专用网的数据处理方法、设备及存储介质
CN102045233B (zh) 一种网络通信中控制报文转发的方法和设备
CN102932255B (zh) 隧道路径选择的方法及装置
CN102291305A (zh) 实现6to4中继路由的方法和设备以及报文转发方法
WO2014156143A1 (ja) ホームゲートウェイ装置およびパケット転送方法
CN102098189B (zh) 一种对ce进行监控的方法和路由设备
CN100563241C (zh) 一种网络过渡接入的方法
CN102377829B (zh) 基于hip的通信方法、系统及设备
CN101783775B (zh) 一种向量网和ip网的网关方式互连方法
Cisco Configuring DECnet
Cisco Configuring DECnet
Cisco Configuring DECnet
Cisco Configuring DECnet
Cisco Configuring DECnet
Cisco Configuring DECnet
Cisco Configuring DECnet

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant