CN104348821B - 管理IPv4/IPv6业务的方法、设备和系统 - Google Patents
管理IPv4/IPv6业务的方法、设备和系统 Download PDFInfo
- Publication number
- CN104348821B CN104348821B CN201310344361.3A CN201310344361A CN104348821B CN 104348821 B CN104348821 B CN 104348821B CN 201310344361 A CN201310344361 A CN 201310344361A CN 104348821 B CN104348821 B CN 104348821B
- Authority
- CN
- China
- Prior art keywords
- network interface
- address
- data packet
- tunnel
- network
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000005538 encapsulation Methods 0.000 claims abstract description 16
- 238000004891 communication Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 13
- 101100513046 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) eth-1 gene Proteins 0.000 description 11
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005641 tunneling Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/167—Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/12—Setup of transport tunnels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
- H04W80/045—Network layer protocols, e.g. mobile IP [Internet Protocol] involving different protocol versions, e.g. MIPv4 and MIPv6
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种管理网际协议版本4/网际协议版本6(IPv4/IPv6)业务的方法、设备和系统,所述方法包括:建立移动节点(MN)的第一网络接口到家乡代理(HA)的隧道;基于用户数据报协议(UDP)头部和所述MN的第一网络接口接入网络所使用网际协议(IP)对应的头部,对接入所述MN的第二网络接口的业务的数据包进行封装;将封装后的数据包通过所述MN的第一网络接口到所述HA的隧道发送至所述HA。通过本发明的技术方案,能够充分利用MN的网络接口的带宽资源,提高了业务数据传输效率且灵活性高。
Description
技术领域
本发明涉及互联网技术,尤其涉及一种管理网际协议版本4/网际协议版本6(IPv4/IPv6,Internet Protocol version4/Internet Protocol version6)业务的方法、设备和系统。
背景技术
伴随着异构网络,即IPv4网络和IPv6网络并存的网络的迅猛发展,具备多个接口以接入异构网络的移动节点(MN,Mobile Node),例如多模终端日益普及,但是,当MN接入异构网络中时,相关技术对于如何利用MN多接口接入的能力,提高业务数据传输效率和业务数据传输的灵活性,尚无有效的解决方案。
发明内容
有鉴于此,本发明的主要目的在于提供一种管理IPv4/IPv6业务的方法、设备和系统,以提高业务数据传输效率和业务数据传输的灵活性。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种管理IPv4/IPv6业务的方法,该方法包括:
建立MN的第一网络接口到家乡代理(HA,Home Agent)的隧道;
基于用户数据报协议(UDP,User Data Protocol)头部和所述MN的第一网络接口接入网络所使用网际协议(IP,Internet Protocol)对应的头部,对接入所述MN的第二网络接口的业务的数据包进行封装;
将封装后的数据包通过所述MN的第一网络接口到所述HA的隧道发送至所述HA。
优选地,所述建立MN的第一网络接口到HA的隧道,包括:
以所述MN第一网络接口的转交地址为隧道入口、以所述HA的地址为隧道出口建立隧道,所述第一网络接口的转交地址和HA的IP地址与所述第一网络接口接入网络使用的IP版本对应。
优选地,所述基于UDP的头部和第一网络接口接入网络所使用IP对应的头部,对接入第二网络接口的业务的数据包进行封装之前,该方法还包括:
将接入所述MN的第二网络接口的业务的数据包中,数据包头部中的信息与预设的源地址、目的地址、源端口号、目的端口号、协议类型中的一种或多种匹配的数据包,确定为需要进行封装的数据包。
优选地,所述基于UDP头部和所述MN的第一网络接口接入网络所使用的IP对应的头部,对接入第二网络接口的业务的数据包进行封装,包括:
以携带目的端口为通信节点(CN,Correspondent Node)的端口的UDP头部,对接入所述MN的第二网络接口的业务的数据包进行封装,并以携带源地址为所述MN的第一网络接口的转交地址、携带目的地址为所述HA的IP地址的头部,对所述封装后的数据包进行封装,携带的所述转交地址、以及携带的所述HA的IP地址与所述MN的第一网络接口接入网络使用的IP版本对应。
优选地,该方法还包括:
所述HA将接收到的数据包解封装UDP头部和第一网络接口接入网络使用的IP对应的头部,并根据本地的路由规则,路由所述解封装后的数据包至CN。
本发明还提供了一种MN,该MN包括:隧道建立模块、封装模块和发送模块;其中,
所述隧道建立模块,用于建立MN第一网络接口到HA的隧道;
所述封装模块,用于基于UDP头部和第一网络接口接入网络所使用网际协议IP对应的头部,对接入第二网络接口的业务的数据包进行封装;
所述发送模块,用于将所述封装模块封装后的数据包通过所述隧道建立模块建立的第一网络接口到所述HA的隧道发送至所述HA。
优选地,所述隧道建立模块,还用于以第一网络接口的转交地址为隧道入口、以所述HA的地址为隧道出口建立隧道,所述第一网络接口的转交地址和HA的IP地址与所述第一网络接口接入网络使用的IP版本对应。
优选地,该MN还包括:
封装确定模块,用于将接入MN第二网络接口的业务的数据包中,数据包头部中的信息与预设的源地址、目的地址、源端口号、目的端口号、协议类型中的一种或多种匹配的数据包,确定为需要进行封装的数据包;在确定需要进行封装的数据包后,触发所述封装模块。
优选地,所述封装模块,还用于以携带目的端口为CN的端口的UDP头部,对接入所述MN的第二网络接口的业务的数据包进行封装,并以携带源地址为所述MN的第一网络接口的转交地址、携带目的地址为所述HA的IP地址的头部,对所述封装后的数据包进行封装,携带的所述转交地址、以及携带的所述HA的IP地址与所述MN的第一网络接口接入网络使用的IP版本对应。
本发明还提供了一种IPv4/IPv6业务管理系统,该系统包括:MN和HA;其中,
所述MN,用于建立第一网络接口到HA的隧道;以头部和第一网络接口接入网络所使用网际协议IP对应的Header,对接入第二网络接口的业务的数据包进行封装;
所述HA,用于将接收到的数据包解封装UDP头部和所述MN的第一网络接口接入网络使用的IP对应的头部,并根据本地的路由规则,路由所述解封装后的数据包至CN。
优选地,所述MN包括:隧道建立模块、封装模块和发送模块;进一步的,所述MN还包括封装确定模块;各模块的功能与上面所述MN各个组成模块所具备的基本功能、以及进一步增加的功能相同。
本发明所提供的管理IPv4/IPv6业务的方法、设备和系统,将接入所述第二网络接口的业务对应数据包封装后,在所述第一网络接口至所述HA的隧道传输,从而将所述第二网络接口的业务切换至第一网络接口,如此,在所述第二网络接口接入的网络故障,例如网络拥塞丢包时,通过将接入所述第二网络接口的业务切换至所述第一网络接口,保证了所述第二网络接口的业务不受影响,充分利用了MN的网络接口的带宽资源,提高了业务数据传输效率且灵活性高。
附图说明
图1为本发明实施例的管理IPv4/IPv6业务方法的实现流程示意图;
图2为本发明实施例的MN的组成结构示意图。
具体实施方式
本发明实施例中,将建立的MN的第一网络接口至HA的隧道,作为接入MN的第二网络接口的业务流的传输通道,为使接入MN的第二网络接口的业务流能够在第一网络接口至HA的隧道传输,需以UDP头部(Header)和MN的第一网络接口接入网络所使用IP对应的Header,对接入MN的第二网络接口的业务流的数据包进行封装,并将封装后的数据包通过第一网络接口与HA之间的隧道传输至所述HA。
需要说明的是,本发明实施例以MN的两个网络接口的IPv4/IPv6业务的管理为例,来对本发明进行说明,对于两个以上的网络接口的MN的IPv4/IPv6业务的管理,本发明的技术方案仍然适用。
下面结合附图和具体实施例对本发明的技术方案作进一步详细说明。
本发明实施例记载一种管理IPv4/IPv6业务的方法,图1为本发明实施例的管理IPv4/IPv6业务的方法的实现流程示意图,如图1所示,所述方法包括:
步骤101:建立MN的第一网络接口至HA的隧道;
其中,所述建立MN的第一网络接口至HA的隧道,包括:
以所述MN第一网络接口的转交地址为隧道入口、以所述HA的地址为隧道出口建立隧道,所述第一网络接口的转交地址和HA的地址与所述第一网络接口接入网络使用的IP版本对应。
所述第一网络接口的转交地址为所述MN离开家乡链路时,所述第一网络接口所使用的IP地址。
步骤102:基于UDP Header和所述MN的第一网络接口接入网络所使用IP对应的Header,对接入所述MN的第二网络接口的业务对应的数据包进行封装;
其中,以预设UDP Header对接入所述第二网络接口的业务的数据包进行封装,并以携带源地址为所述第一网络接口的转交地址、携带目的地址为所述HA的地址的Header,对所述封装后的数据包进行封装,所述转交地址、以及所述HA的地址与所述第一网络接口接入网络使用的IP版本对应。
例如,设第一网络接口接入IPv4网络,则以预设UDP Header对接入第二网络接口的业务的数据包进行封装,并以第一网络接口的IPv4转交地址作为源地址,以HA的IPv4地址作为目的地址,组成IPv4Header对封装后的数据包进行再次封装,封装后的数据包以IPv4数据包的形式在步骤103建立的隧道中传输,以穿越隧道中的网络地址转换(NAT,Network Address Translation)设备。
其中,对接入所述第二网络接口的业务对应的数据包进行封装,包括对接入第二网络接口的全部业务对应的数据包进行封装,或者对接入第二网络接口的业务中一个或多个业务流对应的数据包进行封装,对于不同的业务流,利用各业务流对应数据包头部的源地址、目的地址、源端口号、目的端口号、协议类型中的一种或多种进行区分,当需要对一个业务流对应数据包进行封装时,
利用该业务流对应数据包头部信息中的源地址、目的地址、源端口号、目的端口号、协议类型中的一种或多种,从接入第二网路接口的全部业务对应的数据包中,匹配出需要进行封装的业务流对应的数据包。
例如,设接入第二网络接口的业务包括:目的端口号为3333、目的地址为2001:cc0:2026:3::1的IPv6业务流1,以及目的端口号为1234的UDP业务流2,且需对业务流1对应数据包进行封装时,则根据预设目的端口号3333、目的地址2001:cc0:2026:3::1,对接入第二网络接口的业务对应的数据包进行匹配,将数据包头部信息与预设目的端口号和目的地址匹配的数据包确定为需要封装的数据包。
步骤103:将封装后的数据包通过所述MN的第一网络接口到所述HA的隧道发送至所述HA。
相应地,所述HA将接收到的数据包解封装UDP Header和第一网络接口接入网络使用的IP对应的Header,并根据本地的路由规则,路由所述解封装后的数据包至通信节点(CN,Correspondent Node)。
本发明实施例还记载一种MN,图2为本发明实施例的MN的组成结构示意图,如图2所示,所述MN包括:隧道建立模块21、封装模块22和发送模块23;其中,
所述隧道建立模块21,用于建立MN第一网络接口到HA的隧道;
所述封装模块22,用于基于UDP头部和第一网络接口接入网络所使用网际协议IP对应的头部,对接入第二网络接口的业务的数据包进行封装;
所述发送模块23,用于将所述封装模块22封装后的数据包通过所述隧道建立模块21建立的第一网络接口到所述HA的隧道发送至所述HA。
优选地,所述隧道建立模块21,还用于以第一网络接口的转交地址为隧道入口、以所述HA的地址为隧道出口建立隧道,所述第一网络接口的转交地址和HA的IP地址与所述第一网络接口接入网络使用的IP版本对应。
优选地,该MN还包括:
封装确定模块24,用于将接入MN第二网络接口的业务的数据包中,数据包头部中的信息与预设的源地址、目的地址、源端口号、目的端口号、协议类型中的一种或多种匹配的数据包,确定为需要进行封装的数据包;在确定需要进行封装的数据包后,触发所述封装模块22。
优选地,所述封装模块22,还用于以携带目的端口为CN的端口的UDP头部,对接入所述MN的第二网络接口的业务的数据包进行封装,并以携带源地址为所述MN的第一网络接口的转交地址、携带目的地址为所述HA的IP地址的头部,对所述封装后的数据包进行封装,携带的所述转交地址、以及携带的所述HA的IP地址与所述MN的第一网络接口接入网络使用的IP版本对应。
在实际应用中,所述隧道建立模块21、封装模块22、发送模块23和封装确定模块24均可由中央处理器(CPU,Central Processing Unit)、数字信号处理器(DSP,DigitalSingnal Processor)、或可编程逻辑阵列(FPGA,Field-Programmable Gate Array)等器件实现。
本发明实施例还记载了一种IPv4/IPv6业务管理系统,该系统包括:MN和HA;其中,
所述MN,用于建立第一网络接口到HA的隧道;以头部和第一网络接口接入网络所使用网际协议IP对应的头部,对接入第二网络接口的业务的数据包进行封装;
所述HA,用于将接收到的数据包解封装UDP头部和所述MN的第一网络接口接入网络使用的IP对应的头部,并根据本地的路由规则,路由所述解封装后的数据包至CN。
优选地,,如图2所示,所述MN包括:隧道建立模块21、封装模块22和发送模块23;其中,
所述隧道建立模块21,用于建立MN第一网络接口到HA的隧道;
所述封装模块22,用于基于UDP头部和第一网络接口接入网络所使用网际协议IP对应的头部,对接入第二网络接口的业务的数据包进行封装;
所述发送模块23,用于将所述封装模块22封装后的数据包通过所述隧道建立模块21建立的第一网络接口到所述HA的隧道发送至所述HA。
优选地,所述隧道建立模块21,还用于以第一网络接口的转交地址为隧道入口、以所述HA的地址为隧道出口建立隧道,所述第一网络接口的转交地址和HA的IP地址与所述第一网络接口接入网络使用的IP版本对应。
优选地,该MN还包括:
封装确定模块24,用于将接入MN第二网络接口的业务的数据包中,数据包头部中的信息与预设的源地址、目的地址、源端口号、目的端口号、协议类型中的一种或多种匹配的数据包,确定为需要进行封装的数据包;在确定需要进行封装的数据包后,触发所述封装模块22。
优选地,所述封装模块22,还用于以携带目的端口为CN的端口的UDP头部,对接入所述MN的第二网络接口的业务的数据包进行封装,并以携带源地址为所述MN的第一网络接口的转交地址、携带目的地址为所述HA的IP地址的头部,对所述封装后的数据包进行封装,携带的所述转交地址、以及携带的所述HA的IP地址与所述MN的第一网络接口接入网络使用的IP版本对应。
在实际应用中,所述隧道建立模块21、封装模块22、发送模块23和封装确定模块24均可由中央处理器(CPU)、数字处理器(DSP)、或可编程逻辑阵列(FPGA)等器件实现。
下面结合MN的第一网络接口和第二网络接口接入网络使用相同版本IP或不同版本IP的场景,对本发明实施例所提供的管理IPv4/IPv6业务的方法和系统做进一步详细阐述。
假设MN的第一网络接口(设为eth0)和第二网络接口(设为eth1)接入网络使用的相同IP或不同IP的场景,主要包括:
1)eth0和eth1均接入IPv6网络;
2)eth0接入IPv4网络,eth1接入IPv6网络;
3)eth0和eth1均接入IPv4网络。
在本发明实施例一优选的实施方式中,提供一个运行Linux系统的MN,该MN的eth0和eth1均接入IPv6网络,设需将目的端口号为1234的UDP业务流通过eth0发送,即将接入eth0的待发送目的端口号为1234的UDP业务流通过eth0发送,将接入eth1的待发送目的端口号为1234的UDP业务流切换至eth0发送。
上述本发明实施例一优选的实施方式具体包括以下步骤:
(1)MN建立隧道
为将目的端口号为1234的UDP业务流对应的数据包切换至eth0发送,MN建立eth0至HA的IPv6tn1隧道,具体为:
MN利用Linux内置可扩展功能框架XFRM生成对应该IPv6tn1隧道的XFRM策略(policy),利用该XFRM policy匹配进入IPv6tn1隧道的目的端口号为1234的UDP业务流对应的数据包,在该XFRM policy中的XFRM模板(template)保存对匹配到的数据包进行封装的IPv6头部的信息,该IPv6头部的源地址为IPv6tn1隧道的入口地址,即eth0的转交地址CoAv6,目的地址为IPv6tn1隧道的出口地址,即HA的IPv6地址,并生成与上述XFRM policy对应的XFRM状态(state),该XFRM state用于指定对上述XFRM policy匹配到的数据包按照上述XFRM template保存的头部信息进行封装。
(2)MN生成路由表和本地路由策略
对于经过Linux内核协议栈的数据包,MN在本地生成以eth0的绑定接口数据库(BID,Binding Interface Database)(设为100)为索引的路由表,该路由表用于指定目的端口号为1234的UDP业务流对应的数据包经IPv6tn1隧道传输;
相应地,Linux还在本地生成以下策略:
1)所有BID为100的数据包,查找编号100的路由表进行发送;
2)源地址为eth0的转交地址CoAv6的数据包通过eth0发送;
其中,策略1)优先级高于策略2)优先级,且策略2)的优先级高于32766,即策略2)优先级高于Linux中主要(main)表的路由策略的优先级,以保证数据包在发送之前能够进行封装操作。
其中,步骤(1)和(2)为初始化的处理,以将目的端口号为1234的UDP业务流切换至eth0发送,步骤(1)和(2)的执行顺序可以对调。
(3)MN根据本地路由表、路由策略,通过IPv6tn1隧道传输UDP业务流
MN利用Linux内核的网络过滤(Netfilter)模块,对经过Linux内核协议栈的目的端口号为1234的UDP业务流对应的数据包打上100标识,根据上述路由表和路由策略,确定该数据包将进入IPv6tn1隧道传输并通过eth0发送,,利用XFRM policy对进入IPv6tn1隧道的数据包进行匹配,对于匹配出的目的端口号为1234的UDP业务流对应的数据包,根据XFRMstate,以及XFRM template存储的隧道的入口(eth0的转交地址CoAv6)和出口(HA的IPv6地址),对匹配到的数据包封装UDP头部,并在将封装后的数据包再次封装IPv6头部,该IPv6头部的源地址为eth0的转交地址CoAv6,目的地址为HA的IPv6地址,该UDP头部中的端口号在0~65536之间任意取值。
HA对收到的数据包进行解封装,剥去上述封装的UDP头部和IPv6头部,根据本地路由规则转发封装后的数据包。
通过上述实施方式,可以将目的端口号为1234的UDP业务流通过eth0与HA的隧道传输,由于对应UDP业务流的数据包分别以UDP头和IPv6头部封装,因此UDP业务流在隧道传输时能够穿越NAT设备传输。
在本发明实施例又一优选的实施方式中,提供一个运行Linux系统的MN,该MN的eth0接入IPv4网络,eth1接入IPv6网络,设需将eth1的目的端口号为3333、目的地址为2001:cc0:2026:3::1的IPv6业务流通过eth0发送,即通过eth0至HA的隧道传输该业务流。
上述本发明实施例又一优选的实施方式具体包括以下步骤:
(1)MN建立隧道
为将上述IPv6业务流通过eth0发送,MN建立eth0至HA的IPv4tn1隧道,具体为:
MN利用Linux内置XFRM生成对应该IPv4tn1隧道的XFRM policy,利用该XFRMpolicy匹配进入IPv4tn1隧道的目的端口号为3333、目的地址为2001:cc0:2026:3::1的IPv6业务流对应的数据包,在该XFRM policy中的XFRM template保存对匹配到的数据包进行封装的IPv4头部的信息,该头部的源地址为IPv4tn1隧道的入口地址(eth0的转交地址CoAv4),目的地址为IPv4tn1隧道的出口地址(HA的IPv4地址),并生成与上述XFRM policy对应的XFRM状态(state),该XFRM state用于指定对上述XFRM policy匹配到的数据包按照上述XFRM template保存头部信息进行封装。
(2)MN生成路由表和本地路由策略
MN在本地生成以eth1的BID(设为200)为索引的路由表,该路由表用于指定上述IPv6业务流的对应的数据包经IPv4tn1隧道传输;
MN在本地生成以下路由策略:
1)源地址为eth0的转交地址CoAv4的数据包通过eth0发送;
2)所有数据包在发送时查找编号200的路由表进行发送;
其中,CoAv4为eth0的IPv4转交地址,策略1)优先级高于策略2)优先级,以保证数据包在发送之前进行封装头部的操作。
其中,步骤(1)和(2)为初始化的处理,以将IPv6业务流切换至eth0发送,步骤(1)和(2)的执行顺序可以对调。
(3)MN根据本地路由表、路由策略,通过IPv4tn1隧道传输封装后的IPv6业务流
MN利用Linux内核的Netfilter模块,对经过Linux内核协议栈的目的地址为2001:cc0:2026:3::1、目的端口号为3333的数据包打上200标识,根据上述路由表确定该数据包将进入IPv4tn1隧道传输,对于进入IPv6tn1隧道的数据包,利用XFRM policy匹配进入IPv6tn1隧道的目的地址为2001:cc0:2026:3::1、目的端口号为3333的业务流对应的数据包,并根据XFRM template存储的隧道的入口(eth0的转交地址CoAv4)和出口(HA的IPv4地址),对匹配到的数据包封装封装UDP头部,并将封装后的数据包再次封装IPv4头部,该IPv4头部的源地址为eth0的转交地址CoAv4,目的地址为HA的IPv4地址,该UDP头部中的端口号在0~65536之间任意取值。
封装后的数据包通过IPv4tn1隧道传输至HA,HA对收到的数据包进行接封装,剥去上述封装的UDP头部和IPv4头部,根据本地路由规则转发接封装后的数据包。
通过上述实施方式,可以将目的端口号为3333、目的地址为2001:cc0:2026:3::1的IPv6业务流通过eth0发送,即通过eth0至HA的隧道传输该IPv6业务流,由于对应该IPv6业务流对应的数据包分别以UDP头部和IPv4头部封装,因此该IPv6业务流在隧道传输时能够穿越NAT网络设备。
在本发明实施例另一优选的实施方式中,提供一个运行Linux系统的MN,该MN的eth0和eth1均接入IPv4网络,设需将目的端口号为1234的UDP业务流全部通过eth0发送,即将接入eth0的待发送目的端口号为1234的UDP业务流通过eth0发送,将接入eth1的待发送目的端口号为1234的UDP业务流切换至eth0发送。
本发明实施例另一优选的实施方式具体包括以下步骤:
(1)MN建立隧道
为将目的端口号为1234的UDP业务流对应的数据包切换至eth0发送,MN建立eth0至HA的IPv4tn1隧道,具体为:
MN利用Linux内置XFRM生成对应该IPv4tn1隧道的XFRM policy,利用该XFRMpolicy匹配进入IPv4tn1隧道的目的端口号为1234的UDP业务流对应的数据包,在该XFRMpolicy中的XFRM template保存对匹配到的数据包进行封装的IPv4头部的信息,该IPv4头部的源地址为eth0的转交地址CoAv4,目的地址为HA的IPv4地址,并生成与上述XFRMpolicy对应的XFRM state,该XFRM state用于指定对上述XFRM policy匹配到的数据包按照上述XFRM template保存的头部信息进行封装。
(2)MN生成路由表和本地路由策略
对于经过Linux内核协议栈的数据包,MN在本地生成以eth0的BID(设为100)为索引的路由表,该路由表用于指定目的端口号为1234的UDP业务流对应的数据包经IPv4tn1隧道传输;
MN在本地生成以下路由策略:
1)所有BID为100的数据包,查找编号100的路由表进行发送;
2)源地址为eth0的转交地址CoAv4的数据包通过eth0发送;
其中,CoAv4为eth0的IPv4转交地址,策略1)优先级高于策略2)优先级,且策略2)的优先级高于32766,即策略2)优先级高于Linux中main表的路由策略的优先级,以保证数据包在发送之前能够进行头部的封装操作。
其中,步骤(1)和(2)初始化的处理,以将目的端口号为1234的UDP业务流切换至eth0,步骤(1)和(2)的执行顺序可以对调。
(3)MN根据本地路由表、路由策略,通过隧道传输UDP业务流
MN利用Linux内置的Netfilter模块,对经过Linux协议栈的目的端口号为1234的UDP业务流对应的数据包打上100标识,根据上述路由表和路由策略确定该数据包将进入IPv4tn1隧道传输,MN通过XFRM policy匹配目的端口号为1234的UDP业务流对应的数据包,对匹配到的数据包封装UDP头部IPv4头部,并根据XFRM template存储的隧道的入口(eth0的转交地址CoAv4)和出口(HA的IPv4地址)对封装后的数据包封装IPv4头部,该IPv4头部的源地址为eth0的转交地址CoAv4,目的地址为HA的IPv4地址,该UDP头部中的端口号在0~65536之间任意取值。
封装后的数据包通过IPv4tn1隧道传输至HA,HA对收到的数据包进行解封装,剥去上述封装的UDP头部和IPv4头部,根据本地路由规则转发封装后的数据包。
通过上述实施方式,可以将目的端口号为1234的UDP业务流通过eth0与HA的隧道传输,由于对应UDP业务流的数据包分别以UDP头部和IPv4头部封装,因此该UDP业务流在隧道传输时能够穿越NET设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种管理网际协议版本4/网际协议版本6IPv4/IPv6业务的方法,其特征在于,移动节点MN的第一网络接口和第二网络接口对应接入的网络使用的网际协议相同或者不同;
该方法包括:
建立所述MN的第一网络接口到家乡代理HA的隧道;
在所述第二网络接口接入的网络故障时,基于用户数据报协议UDP头部和所述MN的第一网络接口接入网络所使用IP对应的头部,对接入所述MN的第二网络接口的业务的数据包进行封装;
将封装后的数据包通过所述MN的第一网络接口到所述HA的隧道发送至所述HA。
2.根据权利要求1所述的方法,其特征在于,所述建立MN的第一网络接口到HA的隧道,包括:
以所述MN第一网络接口的转交地址为隧道入口、以所述HA的地址为隧道出口建立隧道,所述第一网络接口的转交地址和HA的IP地址与所述第一网络接口接入网络使用的IP版本对应。
3.根据权利要求1所述的方法,其特征在于,所述基于UDP的头部和第一网络接口接入网络所使用IP对应的头部,对接入第二网络接口的业务的数据包进行封装之前,该方法还包括:
将接入所述MN的第二网络接口的业务的数据包中,数据包头部中的信息与预设的源地址、目的地址、源端口号、目的端口号、协议类型中的一种或多种匹配的数据包,确定为需要进行封装的数据包。
4.根据权利要求1所述的方法,其特征在于,所述基于UDP头部和所述MN的第一网络接口接入网络所使用的IP对应的头部,对接入第二网络接口的业务的数据包进行封装,包括:
以携带目的端口为通信节点CN的端口的UDP头部,对接入所述MN的第二网络接口的业务的数据包进行封装,并以携带源地址为所述MN的第一网络接口的转交地址、携带目的地址为所述HA的IP地址的头部,对所述封装后的数据包进行封装,携带的所述转交地址、以及携带的所述HA的IP地址与所述MN的第一网络接口接入网络使用的IP版本对应。
5.根据权利要求1、2、3或4所述的方法,其特征在于,该方法还包括:
所述HA将接收到的数据包解封装UDP头部和第一网络接口接入网络使用的IP对应的头部,并根据本地的路由规则,路由所述解封装后的数据包至CN。
6.一种移动节点MN,其特征在于,所述MN的第一网络接口和第二网络接口对应接入的网络使用的网际协议相同或者不同;
该MN包括:隧道建立模块、封装模块和发送模块;其中,
所述隧道建立模块,用于建立MN第一网络接口到HA的隧道;
所述封装模块,用于在所述第二网络接口接入的网络故障时,基于用户数据报协议UDP头部和第一网络接口接入网络所使用网际协议IP对应的头部,对接入第二网络接口的业务的数据包进行封装;
所述发送模块,用于将所述封装模块封装后的数据包通过所述隧道建立模块建立的第一网络接口到所述HA的隧道发送至所述HA;
所述第一网络接口的转交地址为所述MN离开家乡链路时,所述第一网络接口所使用的IP地址。
7.根据权利要求6所述的MN,其特征在于,
所述隧道建立模块,还用于以第一网络接口的转交地址为隧道入口、以所述HA的地址为隧道出口建立隧道,所述第一网络接口的转交地址和HA的IP地址与所述第一网络接口接入网络使用的IP版本对应。
8.根据权利要求6所述的MN,其特征在于,该MN还包括:
封装确定模块,用于将接入MN第二网络接口的业务的数据包中,数据包头部中的信息与预设的源地址、目的地址、源端口号、目的端口号、协议类型中的一种或多种匹配的数据包,确定为需要进行封装的数据包;在确定需要进行封装的数据包后,触发所述封装模块。
9.根据权利要求6至8任一项所述的MN,其特征在于,
所述封装模块,还用于以携带目的端口为通信节点CN的端口的UDP头部,对接入所述MN的第二网络接口的业务的数据包进行封装,并以携带源地址为所述MN的第一网络接口的转交地址、携带目的地址为所述HA的IP地址的头部,对所述封装后的数据包进行封装,携带的所述转交地址、以及携带的所述HA的IP地址与所述MN的第一网络接口接入网络使用的IP版本对应。
10.一种网际协议版本4/网际协议版本6IPv4/IPv6业务管理系统,其特征在于,该系统包括:移动节点MN和家乡代理HA;其中,
所述MN的第一网络接口和第二网络接口对应接入的网络使用的网际协议相同或者不同;
所述MN,用于建立第一网络接口到HA的隧道;以用户数据报协议UDP头部和第一网络接口接入网络所使用网际协议IP对应的头部,对接入第二网络接口的业务的数据包进行封装;
所述HA,用于在所述第二网络接口接入的网络故障时,将接收到的数据包解封装UDP头部和所述MN的第一网络接口接入网络使用的IP对应的头部,并根据本地的路由规则,路由所述解封装后的数据包至通信节点CN。
11.根据权利要求10所述的系统,其特征在于,所述MN为权利要求6至9任一项所述的MN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310344361.3A CN104348821B (zh) | 2013-08-08 | 2013-08-08 | 管理IPv4/IPv6业务的方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310344361.3A CN104348821B (zh) | 2013-08-08 | 2013-08-08 | 管理IPv4/IPv6业务的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104348821A CN104348821A (zh) | 2015-02-11 |
CN104348821B true CN104348821B (zh) | 2018-04-27 |
Family
ID=52503625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310344361.3A Active CN104348821B (zh) | 2013-08-08 | 2013-08-08 | 管理IPv4/IPv6业务的方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104348821B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107948217B (zh) * | 2016-10-12 | 2021-04-13 | 中国电信股份有限公司 | 交换机系统和通信方法 |
CN114424599B (zh) * | 2020-08-28 | 2023-12-08 | 柏思科技有限公司 | 用于传输基于会话的包的方法和系统 |
CN113194102B (zh) * | 2021-05-19 | 2023-11-21 | 苏州瑞立思科技有限公司 | 一种基于端口的icmp回送报文传输方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599370B1 (en) * | 2002-05-07 | 2009-10-06 | Cisco Technology, Inc. | Methods and apparatus for optimizing NAT traversal in Mobile IP |
CN1770727A (zh) * | 2002-08-09 | 2006-05-10 | 富士通株式会社 | 虚拟专用网络系统 |
US7453850B2 (en) * | 2002-12-20 | 2008-11-18 | Alcatel Lucent | Apparatus, and associated method, for facilitating bi-directional routing of data in a packet radio communication system |
US7602786B2 (en) * | 2005-07-07 | 2009-10-13 | Cisco Technology, Inc. | Methods and apparatus for optimizing mobile VPN communications |
CN1870633B (zh) * | 2005-09-27 | 2010-06-02 | 华为技术有限公司 | 通过双栈移动IPv6节点支持移动IPv4的方法 |
CN101043411B (zh) * | 2006-03-24 | 2012-05-23 | 华为技术有限公司 | 混合网络中实现移动vpn的方法及系统 |
CN100571214C (zh) * | 2007-03-30 | 2009-12-16 | 北京交通大学 | 层次移动IPv6协议的双栈支持扩展方法 |
-
2013
- 2013-08-08 CN CN201310344361.3A patent/CN104348821B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104348821A (zh) | 2015-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237177B2 (en) | Transfer device and transfer system | |
CN110417840B (zh) | 一种信息处理方法及装置 | |
CN105591982B (zh) | 一种报文传输的方法和装置 | |
JP6982104B2 (ja) | Brasシステムベースのパケットカプセル化方法および装置 | |
CN101427526A (zh) | 用于自动地经IPv6网络互连IPv4网络的系统和方法 | |
US20220086236A1 (en) | User Plane Connection Establishment Method And Apparatus, And System | |
JP2023523048A (ja) | パケット処理方法及び関連デバイス | |
CN107948077B (zh) | 一种数据报文的转发方法及装置 | |
CN110138618A (zh) | 一种报文处理方法、装置及系统 | |
US9445384B2 (en) | Mobile device to generate multiple maximum transfer units and data transfer method | |
EP3813318B1 (en) | Packet transmission method, communication device, and system | |
CN112492622B (zh) | 一种数据报文处理方法及设备 | |
CN109936492A (zh) | 一种通过隧道传输报文的方法、装置和系统 | |
CN104348821B (zh) | 管理IPv4/IPv6业务的方法、设备和系统 | |
CN109120526A (zh) | 点对点的传输报文的方法和网络设备 | |
WO2021180084A1 (zh) | 一种数据传输方法、节点和存储介质 | |
JP6222505B2 (ja) | 入力パラメータを生成するための方法および装置 | |
JP2023529639A (ja) | パケット処理方法、デバイス、およびシステム | |
CN108156066B (zh) | 报文转发方法和装置 | |
CN108934058B (zh) | 一种通信方法及装置 | |
CN113709016B (zh) | 通信系统以及通信方法、装置、设备和存储介质 | |
CN104871497A (zh) | 流表处理方法和装置 | |
EP4415325A1 (en) | Message processing method, apparatus and system | |
EP4319096A1 (en) | Packet transmission method and related device | |
WO2023279990A1 (zh) | 报文传输方法、装置和系统、网络设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |