CN113055268A - 隧道流量负载均衡的方法、装置、设备及介质 - Google Patents
隧道流量负载均衡的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113055268A CN113055268A CN201911368260.3A CN201911368260A CN113055268A CN 113055268 A CN113055268 A CN 113055268A CN 201911368260 A CN201911368260 A CN 201911368260A CN 113055268 A CN113055268 A CN 113055268A
- Authority
- CN
- China
- Prior art keywords
- information
- address
- tunnel
- load balancing
- flow
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000005538 encapsulation Methods 0.000 claims abstract description 50
- 230000005540 biological transmission Effects 0.000 claims abstract description 36
- 230000015654 memory Effects 0.000 claims description 11
- 230000005641 tunneling Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- 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/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
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
本发明实施例提供一种隧道流量负载均衡的方法、装置、设备及介质。该方法包括:对数据包进行隧道封装生成隧道封装包,隧道封装包包括IPv4包头,IPv4包头携带源IP地址、目的IP地址以及流信息,流信息是根据数据包的包头信息生成的;根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路;通过传输链路转发隧道封装包。通过本发明实施例中的技术方案,能够仅根据隧道流量的IPv4包头中的信息就实现隧道流量的负载均衡,提高了转发设备的处理效率。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种隧道流量负载均衡的方法、装置、设备和计算机可读存储介质。
背景技术
隧道技术是将一种类型的数据包封装到另外一种类型的数据包中的封装技术,在网络中得到广泛应用。常见的隧道技术包括第二层隧道协议(Layer Two TunnelingProtocol,L2TP)、通用路由封装协议(Generic Routing Encapsulation,GRE)、虚拟扩展局域网(Virtual eXtensible Local Area Network,VxLAN)等。
为了实现隧道技术中隧道流量的负载均衡,现有技术中提出了两种方案:使用互联网通信协议第六版(Internet Protocol Version 6,IPv6)作为隧道最外层包头实现隧道流量负载均衡的方案一、以及针对VxLAN隧道实现隧道流量负载均衡的方案二。
但现有方案存在以下缺点:方案一仅适用于IPv6作为隧道最外层包头的场景,无法用于目前更普遍使用的互联网通信协议第四版(Internet Protocol Version 4,IPv4)包头;方案二一方面仅适用于VxLAN隧道,对于网络中广泛使用的其他类型的隧道如L2TP和GRE等无法适用,另一方面会降低转发设备的处理效率,对转发设备的性能和成本有更高要求。
发明内容
本发明实施例提供了一种隧道流量负载均衡的方法、装置、设备和计算机可读存储介质,适用于IPv4作为隧道最外层包头的场景,在IPv4包头引入流信息选项,根据隧道流量的IPv4包头中的源IP地址、目的IP地址以及流信息实现了隧道流量的负载均衡,提高了转发设备的处理效率。
第一方面,本发明提供一种隧道流量负载均衡的方法,该方法包括:对数据包进行隧道封装生成隧道封装包,隧道封装包包括IPv4包头,IPv4包头携带源IP地址、目的IP地址以及流信息,流信息是根据数据包的包头信息生成的;根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路;通过传输链路转发隧道封装包。
在第一方面的一些可实现方式中,IPv4包头包括流信息选项,流信息选项包括:类型信息、长度信息和值;类型信息包括:拷贝信息、类别信息和序号信息;值包括流信息;长度信息包括流信息选项的长度值。
在第一方面的一些可实现方式中,根据数据包的包头信息生成流信息,包括:对数据包的包头信息进行哈希运算生成流信息。
在第一方面的一些可实现方式中,在根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路之前,还包括:判断是否根据流信息进行流量负载均衡。
在第一方面的一些可实现方式中,根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路,包括:对IPv4包头中的源IP地址、目的IP地址以及流信息进行哈希运算,得到运算结果;根据运算结果确定一条传输链路。
第二方面,本发明提供一种隧道流量负载均衡的装置,该装置包括:封装模块,用于对数据包进行隧道封装生成隧道封装包,隧道封装包包括IPv4包头,IPv4包头携带源IP地址、目的IP地址以及流信息,流信息是根据数据包的包头信息生成的;确定模块,用于根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路;转发模块,用于通过传输链路转发隧道封装包。
在第二方面的一些可实现方式中,IPv4包头包括流信息选项,流信息选项包括:类型信息、长度信息和值;类型信息包括:拷贝信息、类别信息和序号信息;值包括流信息;长度信息包括流信息选项的长度值。
在第二方面的一些可实现方式中,还包括生成模块,用于对数据包的包头信息进行哈希运算生成流信息。
在第二方面的一些可实现方式中,还包括判断模块,用于判断是否根据流信息进行流量负载均衡。
在第二方面的一些可实现方式中,确定模块具体用于,对IPv4包头中的源IP地址、目的IP地址以及流信息进行哈希运算,得到运算结果;根据运算结果确定一条传输链路。
第三方面,本发明提供一种隧道流量负载均衡的设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如上所述的隧道流量负载均衡的方法。
第四方面,本发明提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如上所述的隧道流量负载均衡的方法。
本发明涉及数据通信领域,尤其涉及一种隧道流量负载均衡的方法、装置、设备和计算机可读存储介质,适用于IPv4作为隧道最外层包头的场景,在IPv4包头引入流信息选项,根据隧道流量的IPv4包头中的源IP地址、目的IP地址以及流信息实现了隧道流量的负载均衡,提高了转发设备的处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的L2TP封装格式示意图;
图2是本发明实施例提供的L2TP头格式示意图;
图3是本发明实施例提供的VxLAN封装格式示意图;
图4是本发明实施例提供的VxLAN头格式示意图;
图5是本发明实施例提供的IPv4头格式示意图;
图6是本发明实施例提供的一种隧道流量负载均衡方法的流程示意图;
图7是本发明实施例提供的一种隧道流量负载均衡装置的结构示意图;
图8是本发明实施例提供的一种隧道流量负载均衡设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
隧道技术是一种将原始数据包封装在另一个数据包的数据净荷中进行传输的数据包封装技术,在创建隧道过程中,隧道的客户机和服务器双方必须使用相同的隧道协议,常见的隧道协议有L2TP、GRE、VxLAN等。
L2TP是一种工业标准的Internet隧道协议,是虚拟隧道协议,通常用于虚拟专用网。图1是本发明实施例提供的L2TP封装格式示意图,如图1所示,在L2TP隧道封装后的隧道封装包包括最外层IP头(20字节)、UDP头(8字节)、L2TP头(16字节)以及原始数据包;图2是本发明实施例提供的L2TP头格式示意图,如图2所示,L2TP隧道中隧道封装包的L2TP头具体包括T字段(信息类型)、L字段(接收数据包的总长)、X字段(为将来扩展预留使用)、S字段(表示Nr字段和Ns字段都存在)、O字段(表示在有效负载信息中存在Offct Size字段)、P(Priority)字段、版本(L2TP)、长度(信息总长)、隧道ID(识别控制信息应用的隧道)、会话ID(识别控制信息应用的隧道中的用户会话)、Nr(期望在下一个控制信息中接收到的序列号)、Ns(数据或控制信息的序列号)、偏移量大小和填充。
VxLAN是一种引入一个UDP格式的外层隧道作为数据链路层,而原有数据报文内容作为隧道净荷加以传输的隧道技术。图3是本发明实施例提供的VxLAN封装格式示意图,如图3所示,在VxLAN隧道中封装后的隧道封装包包括VxLAN封装部分和原始报文部分,VxLAN封装部分包括最外层IP头、外层UDP头以及VxLAN头,原始报文部分包括内层以太网头、内层IP头以及原始数据负荷;图4是本发明实施例提供的VxLAN头格式示意图,如图4所示,VxLAN隧道中隧道封装包的VxLAN头具体包括标识位(8比特,取值为00001000)、两个保留字段(分别为24比特和8比特)以及用来定义VxLAN网络中不同租户的虚拟网络标识(24比特)。
根据应用场景不同,经过隧道封装之后的数据包最外层IP包头可以是IPv4包头,也可以是IPv6包头,最外层IP包头中的源IP地址和目的IP地址为隧道端点的地址,当隧道端点之间存在多条等价路径或者路径中的某段链路是捆绑链路(包含多条成员链路)时,如果仅根据数据包最外层IP包头的源IP地址和目的IP地址选择路径或者成员链路,那么所有的隧道流量将会选到同一条路径或者捆绑链路的同一条成员链路,隧道流量无法在多条等价路径或者成员链路间实现负载均衡。
为了实现隧道流量的负载均衡,可以要求转发设备(比如路由器)不仅仅根据隧道最外层IP包头中的源IP地址和目的IP地址进行负载均衡,还要结合IP包头中的协议类型以及上层协议(UDP或者TCP)的源端口号和目的端口号对隧道流量进行负载均衡,甚至要求转发设备根据隧道流量被封装之前的内层信息(比如原始数据包中内部IP包头的源IP地址和目的IP地址)进行负载均衡。但这会降低转发设备对数据包的处理效率,提高转发设备对数据包的处理性能要求,特别是当转发设备采用硬件对流量进行负载均衡时,硬件需要查找隧道数据包更深的位置,对硬件提出了更高的要求。
因此,现有技术中提出了两种方案:
方案一使用IPv6作为隧道最外层包头实现隧道流量的负载均衡,将内层有助于隧道流量负载均衡的信息(源端口号和目的端口号,原始数据包中内部IP包头的源IP地址和目的IP地址等)经过哈希运算后的结果存放到IPv6包头中的flow label字段中,转发设备在进行流量负载均衡计算时将flow label字段考虑在内,从而仅根据最外层IPv6包头中的信息实现对隧道流量的负载均衡。但是,上述方案一仅适用于IPv6作为隧道最外层包头的场景,无法用于目前更普遍使用的IPv4包头。图5是本发明实施例提供的IPv4头格式示意图,如图5所示,IPv4包头具体包括协议版本号(IPv4)、定义数据报协议头长度的头部长度、服务(用于分配优先级、延迟、吞吐量以及可靠性)、定义整个IP数据报的字节长度的总长度、识别当前数据报的标识、标记、指出分段数据在源数据报中的相对位置的分段偏移、生存时间(计数器)、协议类型、帮助确保IP协议头的完整性的头部校验和、源IP地址、目的IP地址、可选项以及填充,IPv4包头中没有flow label字段,因此无法存放IPv6包头中的哈希运算结果。
方案二仅适用于VxLAN隧道,将隧道流量内层IP包中有助于负载均衡的信息进行哈希运算得到运算结果,运算结果存放在VxLAN头的保留字段中,转发设备在进行流量负载均衡计算时将VxLAN头中的运算结果考虑在内。方案二虽不要求转发设备看到隧道内层IP包中的内容,但该方案对于网络中广泛适用的其他类型的隧道如L2TP和GRE等无法适用;另一方面,相比于隧道流量最外层的IP头,VxLAN头本质上属于隧道流量的内层信息,根据VxLAN头中的信息进行负载均衡也会存在降低转发设备处理效率、对转发设备的性能和成本要求高的问题。
为了解决现有隧道流量负载均衡方案的适用范围小及转发设备处理效率低的问题,本发明实施例提供了一种隧道流量负载均衡的方法、装置、设备及介质。下面结合附图对本发明实施例的技术方案进行描述。
图6是本发明实施例提供的一种隧道流量负载均衡的方法的流程示意图。
如图6所示,该隧道流量负载均衡的方法可以包括S110至S130。
S110:对数据包进行隧道封装生成隧道封装包,隧道封装包包括IPv4包头,IPv4包头携带源IP地址、目的IP地址以及流信息,流信息是根据数据包的包头信息生成的。
在一个实施例中,根据数据包的包头信息生成流信息,包括:对数据包的包头信息进行哈希运算生成流信息。
需要说明的是,在本发明实施例中,根据数据包的包头信息生成流信息的计算方法,包括但不限于哈希运算。
可以理解的是,针对不同的隧道,用于生成流信息所用到的数据包的包头信息是不同的。
可选地,在一个实例中,对于L2TP隧道,用于生成流信息所用到的数据包的包头信息包括但不限于:L2TP头中的隧道ID和会话ID,数据包内层IP包头中的源IP地址、目的IP地址和协议类型,数据包内层的用户数据报协议(User Datagram Protocol,UDP)或者传输控制协议(Transmission Control Protocol,TCP)包头中的源端口号和目的端口号。在根据数据包的包头信息生成流信息时,可以使用以上全部信息进行计算,也可以选择使用以上信息的任意组合进行计算。
可选地,在一个实例中,对于VxLAN隧道,用于生成流信息所用到的数据包的包头信息包括但不限于:VxLAN头中的VxLAN标识(VxLAN Network Identifier,VNI),数据包内层以太网包头中的源MAC地址、目的MAC地址、类型/长度,数据包内层IP包头中的源IP地址、目的IP地址和协议类型,数据包内层UDP或者TCP包头中的源端口号和目的端口号。在根据数据包的包头信息生成流信息时,可以使用以上全部信息进行计算,也可以选择使用以上信息的任意组合进行计算。
可选地,在一个实例中,对于GRE隧道,用于生成流信息所用到的数据包的包头信息包括但不限于:GRE头中的协议类型,数据包内层IP包头中的源IP地址、目的IP地址和协议类型,数据包内层UDP或者TCP包头中的源端口号和目的端口号。在根据数据包的包头信息生成流信息时,可以使用以上全部信息进行计算,也可以选择使用以上信息的任意组合进行计算。
可选地,其他隧道类型也可以采用类似的方法对数据包的包头信息进行选择生成流信息,在此不再赘述。
具体地,IPv4包头包括流信息选项,流信息选项包括:类型信息、长度信息和值;类型信息包括:拷贝信息、类别信息和序号信息;值包括流信息;长度信息包括流信息选项的长度值。
表1示出了在IPv4包头中一种流信息选项的具体定义。
表1流信息选项定义表
在表1的示例中,流信息选项由类型(type)、长度(length)和值(Value)三部分信息组成,类型字段由拷贝(copy)、类别(class)、序号(number)三部分信息组成。其次,在类型字段中,拷贝部分一个比特,取值为1,表示流信息选项在数据包被分段时要拷贝到每一个分段的包头中;类别部分2个比特,取值为0,表示流信息选项是一种控制选项;序号部分5个比特,可以使用目前没有被占用的任何一个值,示例中取值为26。长度字段表示整个流信息选项的长度,单位为字节,示例中取值为4。值字段,在该示例中为2个字节,用于存放根据数据包包头信息计算得到有助于转发设备对隧道流量进行负载均衡的结果。需要明确的是,表1仅给出了一种可行的定义,本发明的流信息选项并不局限于上文所描述的定义方式。
S120:根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路。
具体地,在根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路之前,还包括:判断是否根据流信息进行流量负载均衡。
具体地,根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路,包括:对IPv4包头中的源IP地址、目的IP地址以及流信息进行哈希运算,得到运算结果;根据运算结果确定一条传输链路。
可以理解的是,IPv4包头是隧道封装包的最外层IP头,IPv4包头中的源IP地址和目的IP地址为隧道端点的地址,当隧道端点之间存在多条等价路径或者路径中的某段链路是捆绑链路(包含多条成员链路)时,如果仅根据IPv4包头中的源IP地址和目的IP地址选择路径或者成员链路,那么所有的隧道流量将会选到同一条路径或者捆绑链路的同一条成员链路,隧道流量无法在多条等价路径或者成员链路间实现负载均衡。
可选地,在一个实例中,为了实现隧道流量的负载均衡,可以要求转发设备(比如路由器)不仅仅根据IPv4包头中的源IP地址、目的IP地址进行负载均衡,还要将流信息考虑在内。
下面结合一个具体的实施例进行说明:
在隧道入口设备R1和隧道出口设备R2之间建立隧道,隧道路径上有转发设备M,转发设备M提供了三条成员链路m1、m2和m3来传输隧道流量。首先,隧道入口设备R1根据接收到的指令对隧道流量进行封装得到隧道封装包A、隧道封装包B,内含流信息;然后,转发设备M接收到指令,在为隧道封装包选择传输链路时,根据接收到的指令对隧道封装包中IPv4包头中的源IP地址、目的IP地址以及流信息选项字段中的流信息进行哈希运算;当转发设备M在为隧道封装包A选择传输链路时,对隧道封装包A中IPv4包头中的源IP地址、目的IP地址以及流信息选项字段中的流信息进行哈希运算,得到运算结果a,根据运算结果a将A通过成员链路m1转发;当转发设备M在为隧道封装包B选择传输链路时,对隧道封装包B中IPv4包头中的源IP地址、目的IP地址以及流信息选项字段中的流信息进行哈希运算,得到运算结果b,根据运算结果b将B通过成员链路m2转发。若后续再有隧道流量进入隧道,采取相同的方式处理,这样流量就可以均匀分布在三条成员链路上,从而达到负载均衡的目的。需要说明的是,本实施例中只应用了转发设备M,在实际应用中,R1与R2之间可以包括不止一个转发设备,在传输过程中,隧道流量每经过一个转发设备都会重新选择一条传输链路,隧道流量在经过不止一条传输链路后,到达隧道出口。
可选地,在一个实例中,转发设备可以预先判断是否要根据流信息进行流量负载均衡,确定传输链路。
S130:通过传输链路转发隧道封装包。
本发明实施例在对隧道流量进行负载均衡时,流信息选项字段中的流信息也参与运算,根据运算结果为隧道流量选择相应的传输链路,在多条等价路径或者成员链路间实现了隧道流量的负载均衡。
本发明实施例公开的隧道流量负载均衡方法,适用于IPv4作为隧道最外层包头的所有隧道,通过在IPv4包头中引入流信息选项,仅根据隧道流量的IPv4包头中的源IP地址、目的IP地址以及流信息就可以实现流量的负载均衡,提高了转发设备的处理效率,并且降低了对转发设备的性能和成本要求。
图7是本发明实施例提供的一种隧道流量负载均衡装置的结构示意图,如图7所示,该隧道流量负载均衡装置200可以包括:封装模块210、确定模块220、转发模块230。
其中,封装模块210,用于对数据包进行隧道封装生成隧道封装包,隧道封装包包括IPv4包头,IPv4包头携带源IP地址、目的IP地址以及流信息,流信息是根据数据包的包头信息生成的;确定模块220,用于根据IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路;转发模块230,用于通过传输链路转发隧道封装包。
在一些实施例中,IPv4包头包括流信息选项,流信息选项包括:类型信息、长度信息和值;类型信息包括:拷贝信息、类别信息和序号信息;值包括流信息;长度信息包括流信息选项的长度值。
在一些实施例中,还包括生成模块,用于对数据包的包头信息进行哈希运算生成流信息。
在一些实施例中,还包括判断模块,用于判断是否根据流信息进行流量负载均衡。
在一些实施例中,确定模块220具体用于,对IPv4包头中的源IP地址、目的IP地址以及流信息进行哈希运算,得到运算结果;根据运算结果确定一条传输链路。
本发明实施例的隧道流量负载均衡装置,适用于IPv4作为隧道最外层包头的所有隧道,通过在IPv4包头中引入流信息选项,仅根据隧道流量的IPv4包头中的源IP地址、目的IP地址以及流信息就可以实现流量的负载均衡,提高了转发设备的处理效率,并且降低了对转发设备的性能和成本要求。可以理解的是,本发明实施例的隧道流量负载均衡装置200,可以对应于本发明实施例图6中的隧道流量负载均衡方法的执行主体,隧道流量负载均衡装置200的各个模块/单元的操作和/或功能的具体细节可以参见上述本发明实施例图6的隧道流量负载均衡方法中的相应部分的描述,为了简洁,在此不再赘述。
图8是本发明实施例提供的一种隧道流量负载均衡设备的硬件结构示意图。
如图8所示,本实施例中的隧道流量负载均衡设备300包括输入设备301、输入接口302、中央处理器303、存储器304、输出接口305、以及输出设备306。其中,输入接口302、中央处理器303、存储器304、以及输出接口305通过总线310相互连接,输入设备301和输出设备306分别通过输入接口302和输出接口305与总线310连接,进而与隧道流量负载均衡300的其他组件连接。
具体地,输入设备301接收来自外部的输入信息,并通过输入接口302将输入信息传送到中央处理器303;中央处理器303基于存储器304中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器304中,然后通过输出接口305将输出信息传送到输出设备306;输出设备306将输出信息输出到隧道流量负载均衡设备300的外部供用户使用。
也就是说,图8所示的隧道流量负载均衡设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图6描述的隧道流量负载均衡方法。
在一个实施例中,图8所示的隧道流量负载均衡设备300包括:存储器304,用于存储程序;处理器303,用于运行存储器中存储的程序,以执行本发明实施例提供的隧道流量负载均衡方法。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的隧道流量负载均衡方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,做出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、只读存储器(Read-Only Memory,ROM)、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(Radio Frequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (12)
1.一种隧道流量负载均衡的方法,其特征在于,所述方法包括:
对数据包进行隧道封装生成隧道封装包,所述隧道封装包包括IPv4包头,所述IPv4包头携带源IP地址、目的IP地址以及流信息,所述流信息是根据所述数据包的包头信息生成的;
根据所述IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路;
通过所述传输链路转发所述隧道封装包。
2.根据权利要求1所述的方法,其特征在于,所述IPv4包头包括流信息选项,所述流信息选项包括:类型信息、长度信息和值;
所述类型信息包括:拷贝信息、类别信息和序号信息;
所述值包括所述流信息;
所述长度信息包括所述流信息选项的长度值。
3.根据权利要求1所述的方法,其特征在于,根据所述数据包的包头信息生成流信息,包括:
对所述数据包的包头信息进行哈希运算生成所述流信息。
4.根据权利要求1所述的方法,其特征在于,在所述根据所述IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路之前,所述方法还包括:
判断是否根据所述流信息进行流量负载均衡。
5.根据权利要求1或4所述的方法,其特征在于,所述根据所述IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路,包括:
对所述IPv4包头中的源IP地址、目的IP地址以及流信息进行哈希运算,得到运算结果;
根据所述运算结果确定一条传输链路。
6.一种隧道流量负载均衡的装置,其特征在于,所述装置包括:
封装模块,用于对数据包进行隧道封装生成隧道封装包,所述隧道封装包包括IPv4包头,所述IPv4包头携带源IP地址、目的IP地址以及流信息,所述流信息是根据所述数据包的包头信息生成的;
确定模块,用于根据所述IPv4包头中的源IP地址、目的IP地址以及流信息进行流量负载均衡确定传输链路;
转发模块,用于通过所述传输链路转发所述隧道封装包。
7.根据权利要求6所述的装置,其特征在于,所述IPv4包头包括流信息选项,所述流信息选项包括:类型信息、长度信息和值;
所述类型信息包括:拷贝信息、类别信息和序号信息;
所述值包括所述流信息;
所述长度信息包括所述流信息选项的长度值。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
生成模块,用于对所述数据包的包头信息进行哈希运算生成所述流信息。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
判断模块,用于判断是否根据所述流信息进行流量负载均衡。
10.根据权利要求6所述的装置,其特征在于,所述确定模块具体用于:
对IPv4包头中的源IP地址、目的IP地址以及流信息进行哈希运算,得到运算结果;
根据所述运算结果确定一条传输链路。
11.一种隧道流量负载均衡的设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机指令时实现如权利要求1-5任意一项所述的隧道流量负载均衡的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-5任意一项所述的隧道流量负载均衡的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911368260.3A CN113055268A (zh) | 2019-12-26 | 2019-12-26 | 隧道流量负载均衡的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911368260.3A CN113055268A (zh) | 2019-12-26 | 2019-12-26 | 隧道流量负载均衡的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113055268A true CN113055268A (zh) | 2021-06-29 |
Family
ID=76505409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911368260.3A Pending CN113055268A (zh) | 2019-12-26 | 2019-12-26 | 隧道流量负载均衡的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113055268A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125993A1 (zh) * | 2021-12-31 | 2023-07-06 | 苏州盛科通信股份有限公司 | 隧道加密,转发和解密方法以及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325557A (zh) * | 2008-07-25 | 2008-12-17 | 华为技术有限公司 | 一种隧道负载分担的方法、***和装置 |
CN109039919A (zh) * | 2018-10-11 | 2018-12-18 | 平安科技(深圳)有限公司 | 转发路径确定方法、装置、***、计算机设备及存储介质 |
-
2019
- 2019-12-26 CN CN201911368260.3A patent/CN113055268A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325557A (zh) * | 2008-07-25 | 2008-12-17 | 华为技术有限公司 | 一种隧道负载分担的方法、***和装置 |
CN109039919A (zh) * | 2018-10-11 | 2018-12-18 | 平安科技(深圳)有限公司 | 转发路径确定方法、装置、***、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125993A1 (zh) * | 2021-12-31 | 2023-07-06 | 苏州盛科通信股份有限公司 | 隧道加密,转发和解密方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10158568B2 (en) | Method and apparatus for service function forwarding in a service domain | |
US11374848B2 (en) | Explicit routing with network function encoding | |
US10749794B2 (en) | Enhanced error signaling and error handling in a network environment with segment routing | |
US10164838B2 (en) | Seamless segment routing | |
US10178022B2 (en) | Segment routing using a remote forwarding adjacency identifier | |
CN108702331B (zh) | Sr应用段与服务功能链(sfc)报头元数据的集成 | |
US11979322B2 (en) | Method and apparatus for providing service for traffic flow | |
US10382309B2 (en) | Method and apparatus for tracing paths in service function chains | |
US6643287B1 (en) | Apparatus and method for forwarding encapsulated data packets on a network having multiple links between nodes | |
US10110641B2 (en) | Establishing a data transfer connection | |
JP7080983B2 (ja) | 統一srラベルスタックを用いてメッセージ処理を行う方法および装置 | |
US10601610B2 (en) | Tunnel-level fragmentation and reassembly based on tunnel context | |
CN108390812B (zh) | 报文转发方法及装置 | |
CN112491706A (zh) | 数据报文的处理方法及装置、存储介质、电子装置 | |
US9762486B2 (en) | Method and system for using extension headers to support protocol stack migration | |
CN108737239B (zh) | 一种报文转发方法及装置 | |
CN112653622B (zh) | 一种SRv6 uSID转发方法及装置 | |
CN113055294A (zh) | 报文封装、解封装方法、装置、存储介质及电子装置 | |
CN113055268A (zh) | 隧道流量负载均衡的方法、装置、设备及介质 | |
CN115442286A (zh) | 用于sr路径入口保护的方法和网络节点 | |
CN106656786B (zh) | 一种流量保护方法及装置 | |
CN109714259B (zh) | 一种流量处理方法及装置 | |
WO2022237563A1 (zh) | 数据转发方法、装置、存储介质和电子装置 | |
WO2024083219A1 (zh) | 报文处理方法、装置、设备及存储介质 | |
CN117544449A (zh) | 加速vxlan报文软转发的方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210629 |