CN118101785A - 数据报文的传输方法、交换机及存储介质 - Google Patents
数据报文的传输方法、交换机及存储介质 Download PDFInfo
- Publication number
- CN118101785A CN118101785A CN202211446889.7A CN202211446889A CN118101785A CN 118101785 A CN118101785 A CN 118101785A CN 202211446889 A CN202211446889 A CN 202211446889A CN 118101785 A CN118101785 A CN 118101785A
- Authority
- CN
- China
- Prior art keywords
- ecmp
- data message
- node
- port
- aggregation group
- 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 60
- 230000005540 biological transmission Effects 0.000 title claims abstract description 13
- 230000002776 aggregation Effects 0.000 claims abstract description 58
- 238000004220 aggregation Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000005538 encapsulation Methods 0.000 claims description 18
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 9
- 230000000694 effects Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000005641 tunneling Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101100172720 Rattus norvegicus Ces1e gene Proteins 0.000 description 1
Classifications
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/827—Aggregation of resource allocation or reservation requests
-
- 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/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据报文的传输方法、交换机及存储介质,属于通信技术领域,本申请实施例的数据报文的传输方法包括:获取与待传输的数据报文的目的地址对应的端口聚合组,其中,所述端口聚合组中包括至少一个节点,所述节点具备端口属性和转发属性,所述端口聚合组指示所述数据报文的叠加网络Overlay的出口;基于预先为所述端口聚合组配置的第一哈希规则对所述数据报文进行哈希计算,得到第一哈希值;获取所述端口聚合组中与所述第一哈希值匹配的目标节点,其中,所述目标节点的出口指向底层承载网络Underlay;基于所述目标节点的转发属性,获取下一跳信息;基于所述下一跳信息,传输所述数据报文。
Description
技术领域
本申请属于通信技术领域,具体涉及一种数据报文的传输方法、交换机及存储介质。
背景技术
在数据中心场景中,可能出现叠加网络(Overlay,也可以称为基于隧道技术构建的虚拟的网络)层和底层承载网络(Underlay)层分别形成等价多路径路由(Equal CostMulti Path,ECMP)的情况,在这种情况下,流量通过时需要对于叠加网络(Overlay,也可以称为基于隧道技术构建的虚拟的网络)层的流量进行一次ECMP哈希(hash)计算,再在底层承载网络(Underlay)层进行一次ECMP hash计算,最终形成出口流量效果。可以采用芯片对Overlay ECMP和Underlay ECMP的直接写表完成此流量模型的处理,但目前大部分芯片不支持ECMP表直接指向ECMP表的功能。
发明内容
本申请实施例提供一种数据报文的传输方法、交换机及存储介质,能够解决芯片不支持ECMP表直接指向ECMP表的问题。
第一方面,提供了一种数据报文的传输方法,应用于终端,该方法包括:获取与待传输的数据报文的目的地址对应的端口聚合组,其中,所述端口聚合组中包括至少一个节点,所述节点具备端口属性和转发属性,所述端口聚合组指示所述数据报文的叠加网络Overlay的出口;基于预先为所述端口聚合组配置的第一哈希规则对所述数据报文进行哈希计算,得到第一哈希值;获取所述端口聚合组中与所述第一哈希值匹配的目标节点,其中,所述目标节点的出口指向底层承载网络Underlay;基于所述目标节点的转发属性,获取下一跳信息;基于所述下一跳信息,传输所述数据报文。
第二方面,提供了一种交换机,该终端包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第三方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第四方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法的步骤。
第五方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤。
在本申请实施例中,通过获取与待传输的数据报文的目的地址对应的端口聚合组,其中,所述端口聚合组中包括至少一个节点,所述节点具备端口属性和转发属性,所述端口聚合组指示所述数据报文的叠加网络Overlay的出口;基于预先为所述端口聚合组配置的第一哈希规则对所述数据报文进行hash计算,得到第一哈希值;获取所述端口聚合组中与所述第一哈希值匹配的目标节点,其中,所述目标节点的出口指向底层承载网络Underlay;基于所述目标节点的转发属性,获取下一跳信息;基于所述下一跳信息,传输所述数据报文。通过本申请实施例提供的技术方案,Overlay在不使用ECMP表的情况下可以使用端口聚合组的哈希规则完成hash计算,在芯片不支持ECMP表直接指向ECMP表的情况下,也可以实现两层HASH路由。
附图说明
图1示出本申请实施例中的数据报文的传输方法的一种流程示意图;
图2示出本申请实施例中的一种路径示意图;
图3示出本申请实施例中的利用VP来实现Overlay和Underlay的ECMP迭代的一种可能实现的示意图;
图4示出本申请实施例中的利用环回端口来实现Overlay和Underlay的ECMP迭代的一种可能实现的示意图;
图5示出本申请实施例提供的一种交换机结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
针对大部分芯片不支持ECMP表直接指向ECMP表的功能的问题,相关技术中提出了一种使用扁平化的方式进行处理的ECMP,将Overlay和Underlay的层次扁平化(即只使用一次ECMP表,不是将Overlay ECMP指向Underlay ECMP),即将具体出口和隧道封装全部写入ECMP表中,使用可能的hash算法进行尽可能靠近两层ECMP hash的流量效果的运算,然后由于Overlay看到的数据报文是用户侧的报文,而Underlay看到的数据报文是网络侧报文,其报文的HASH模式不一样,因此,采用扁平化的方式进行处理的ECMP只能接近真实的两层HASH的效果,而不能达到与真实的两层HASH一致的效果。
为了解决芯片不支持ECMP表直接指向ECMP表的功能的问题,本申请实施例提供了一种数据报文的传输方案,可以解决芯片不支持ECMP表直接指向ECMP表的功能的问题,还可以达到与真实的两层HASH一致的效果。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的数据报文的传输方法进行详细地说明。
图1示出本申请实施例中的数据报文的传输方法的一种流程示意图,该方法可以由通信设备执行。换言之,所述方法可以由安装在通信设备上的软件或硬件来执行。该通信设备可以为交换机。如图1所示,该方法可以包括以下步骤。
步骤100:获取与待传输的数据报文的目的地址对应的端口聚合组,其中,所述端口聚合组中包括至少一个节点,所述节点具备端口属性和转发属性,所述端口聚合组指示所述数据报文的叠加网络Overlay的出口。
可以理解的是,由于节点具备转发的属性,同时又具备端口的属性,因此,利用其端口的属性使得节点可以被加入到一个端口聚合组(Trunk组)中,通过使用端口聚合组指示所述数据报文的叠加网络(Overlay)的出口,可以实现将Overlay ECMP的出口用一个Trunk组替代。
在本申请实施例中,可以预设设置目的地址与Trunk组的对应关系,然后根据待传输的数据报文的目的地址,可以找到对应的Trunk组。
步骤200:基于预先为所述端口聚合组配置的第一哈希规则对所述数据报文进行哈希计算,得到第一哈希值。
由步骤100可知,可以实现用一个Trunk组替代Overlay ECMP的出口,由于Trunk组和ECMP组均具备负载均衡计算的能力,且其计算方式也是使用五元组的组合进行HASH计算,因此,可以使用Trunk组替代ECMP组进行hash计算。
步骤300:获取所述端口聚合组中与所述第一哈希值匹配的目标节点,其中,所述目标节点的出口指向底层承载网络Underlay。
可以理解的是,由于Trunk组中的每个成员都是一个节点,因此在Trunk组中查找与所述第一哈希值匹配的目标节点,利用目标节点可以指向出口的属性,将underlay的出口信息写入目标节点中,即可完成所述目标节点的出口指向底层承载网络Underlay。
步骤400:基于所述目标节点的转发属性,获取下一跳信息。
在一种实现方式中,所述节点包括虚拟节点,所述转发属性包括:指向出口属性;在基于所述目标节点的转发属性,获取下一跳信息之前,所述方法还包括:将所述端口聚合组中的所述目标节点的指向出口属性设置为所述下一跳信息。
可以理解的是,由步骤300可知,目标节点的出口是指向底层承载网络Underlay,因此,通过所述虚拟节点(Virtual Private,VP)的转发属性包括的指向出口的属性就可以获取具体的出口信息。
步骤500:基于所述下一跳信息,传输所述数据报文。
可以理解的是,所述下一跳信息包括具体的出口信息,因此可以依据出口信息传输数据报文。
在本申请实施例中,首先获取与待传输的数据报文的目的地址对应的端口聚合组,其中,所述端口聚合组中包括至少一个节点,所述节点具备端口属性和转发属性,所述端口聚合组指示所述数据报文的叠加网络Overlay的出口,这样,使得Overlay ECMP的出口被一个端口聚合组替代,再基于预先为所述端口聚合组配置的第一哈希规则对所述数据报文进行哈希计算,得到第一哈希值,这样,Overlay可以使用端口聚合组的哈希规则进行哈希计算;再根据第一哈希值获取所述端口聚合组中与所述第一哈希值匹配的目标节点,其中,所述目标节点的出口指向底层承载网络Underlay;基于所述目标节点的转发属性,获取下一跳信息;基于所述下一跳信息,传输所述数据报文,这样,Overlay在不使用ECMP表的情况下可以使用端口聚合组的哈希规则完成哈希计算,而Underlay则使用ECMP的哈希规则,即可完成两层不同的哈希算法,且满足两个层次的ECMP负载均衡数据转发,实现更加方便,并且层次化更好,更有利于不同层次信息的变化处理。
在一种实现方式中,在所述目标节点的出口指向出口等价路由ECMP组的情况下,基于所述目标节点的转发属性,获取下一跳信息可以包括以下的步骤210-步骤230。
步骤210:获取所述目标节点对应的出口ECMP组。
在一个实现方式中,所述节点可以为虚拟节点,所述转发属性可以包括指向出口属性。在该实现方式中,在获取所述目标节点对应的出口ECMP组之前,所述方法还包括:将所述端口聚合组中的所述目标节点的指向出口属性设置为所述出口ECMP组。
具体的,通过利用目标节点可以指向出口的属性,将Underlay的出口信息写入目标节点中,在所述目标节点的出口指向出口等价路由ECMP组的情况下,则直接将ECMP组出口信息作为目标节点的出口信息写入目标节点中,这样就可以获取所述目标节点对应的出口ECMP组。
在另一种实现方式中,所述节点也可以为环回端口,所述转发属性可以包括环回转发属性,在该可能的实现方式中,可以利用环回端口的环回转发属性,数据报文的出口ECMP组。因此,在该可能的实现方式中,步骤210可以包括:
步骤211:获取所述目标节点对应的目标隧道封装信息。
步骤212:按照所述目标隧道封装信息对所述数据报文封装后通过所述环回端口进行转发。
步骤213:通过所述环回端口接收到环回的所述数据报文,根据环回的所述数据报文的Underlay路由,获取与所述Underlay路由对应的所述出口ECMP组。
可选地,所述目标隧道封装信息可以包括该隧道的源地址和目的地址。
在上述可能的实现方式中,由于环回端口具备二次转发的能力,所以第一次所述数据报文指向环回端口时,是隧道封装信息完成了Overlay层次的转发,而第二次数据报文被环回端口接收之后,根据环回的所述数据报文的信息可以直接查找Underlay的路由出口。
在一种实现方式中,在获取与待传输的数据报文的目的地址对应的端口聚合组之前,所述方法还包括:配置所述端口聚合组中各个环回端口对应的隧道封装信息。
可以理解的是,各个环回端口对应不同的隧道,通过这些隧道可以发送数据报文,由于隧道具有不同的网络协议,因此在对报文进行隧道封装时的隧道封装头也可能不同,所以需要根据隧道的属性信息配置所述端口聚合组中各个环回端口对应的隧道封装信息。
步骤220:基于预先为所述ECMP组配置的第二哈希规则对所述数据报文进行哈希计算,得到第二哈希值。
具体的,可以预先对通过步骤210得到的ECMP组配置第二哈希规则,根据第二哈希规则得到数据报文的第二哈希值,可选的,所述第二哈希规则可以是五元组哈希算法规则,例如,针对数据报文的五元组进行哈希计算,得到第二哈希值。
步骤230:获取所述出口ECMP组中与所述第二哈希值匹配的下一跳信息。
可以理解的是,所述下一跳信息包含具体的出口信息。
在本申请实施例中,Underlay层面可以直接使用芯片的ECMP表,通过以ECMP表来完成Underlay ECMP的相关处理,其中,ECMP表中记录了ECMP组与至少一个下一跳信息的对应关系,通过哈希计算,可以获取出口ECMP组中与第二哈希值匹配的下一跳信息。
在上述实现方式中,由于目标节点可以指向出口下一跳,而Trunk组又具备可以进行HASH算法配置的属性。因此,将目标节点指向Overlay的出口,且将Trunk组配置为与Overlay ECMP的hash算法模式一致,即可替代直接将Overlay ECMP的出口指向UnderlayECMP。这样的替代方式,既可以完成目标节点对出口下一跳的指向,又可以由Trunk组来完成对ECMP的hash算法的替代。而Underlay层面,则直接使用芯片的ECMP表,以ECMP表来完成Underlay ECMP的相关处理,这样,可以得到一个Underlay的出口ECMP信息,而此信息正好可以写入目标节点中。最终,完成了Overlay ECMP嵌套Underlay ECMP的效果,即Overlay->trunk->VP->underlay ECMP的逻辑关系。通过控制trunk组的hash模式,和ECMP组的hash模式,即可分别对Overlay和Underlay进行hash模式的不同的控制。
在一种实现方式中,在获取与待传输的数据报文的目的地址对应的端口聚合组之前,所述方法还包括:配置所述端口聚合组;配置所述端口聚合组中各个所述节点对应的overlay路径的源运营商边缘PE设备和目的PE设备。
示例性的,第一PE设备到第二PE设备的路径包括路径A和路径B,可以设置一个虚拟端口表示PE1指向PE2的Overlay路径。
在一种实现方式中,所述数据报文的传输方法还可以包括:在所述端口聚合组中的所述至少一个节点对应的overlay路径发生变化的情况下,基于所述至少一个节点变化后的信息,更新所述端口聚合组以及所述端口聚合组中的节点对应的overlay路径。
在一种实现方式中,所述数据报文的传输方法还包括:在所述出口ECMP组中的下一跳信息发生变化时,更新所述出口ECMP组的下一跳信息。
可以理解的是,在Overlay相关信息变化的时候,只需要将trunk组中的节点进行相关的变化即可,而Underlay的信息变化的时候,只需要处理ECMP组中的信息变化。这样经过层次化的处理,即可与Overlay和Underlay的层次信息变化直接一一对应。
可以理解的是,Trunk可以针对用户层报文进行HASH字段选择,而Underlay的ECMP则可以在ECMP表中可以针对隧道封装后的报文进行HASH字段的选择,因此HASH可以针对用户层报文和封装了隧道以后的报文分别进行不同的HASH字段选择,从而更多的丰富了针对不同层次报文的HASH处理。在Overlay相关信息变化的时候,只需要将trunk组中的节点进行相关的变化即可,在Underlay的信息变化的时候,只需要处理ECMP组中的信息变化。这样层次化的处理,实现更加方便,并且层次化更好,更有利于不同层次信息的变化处理。
在一个可能的实现方式中,所述节点可以为虚拟节点,而虚拟节点的转发属性可以为指向出口属性,即虚拟节点直接指向下一跳信息。在该可以的实现方式中,在基于所述目标节点的转发属性,获取下一跳信息之前,所述方法还包括:将所述端口聚合组中的所述目标节点的指向出口属性设置为所述下一跳信息。通过该实现方式,虚拟节点可以具有指向出口属性,可以直接将虚拟节点(VP)的指向出口属性设置为下一跳信息,也就是说,VP出口不是一个ECMP组,而是直接指向下一跳。
图2示出本申请实施例中的路径示意图,在图2中,CE1到CE2的Overlay等价路径可以包括路径631和路径632,PE1 VTEP到PE2 VTEP的路径包括路径611和路径612,PE1 VTEP到PE3 VTEP的路径包括路径621和路径622。
在一个可能的实现方式中,利用VP进行处理(即上述的节点为虚拟节点),则等价路径631和路径632形成第一Overlay ECMP Group 630,路径611和路径612形成第一Underlay ECMP Group 610,等价路径621和路径622形成第二Underlay ECMP Group620。可以设置VP1为PE1 VTEP指向PE2 VTEP的Overlay路径,VP2为PE1 VTEP指向PE3 VTEP的Overlay路径。进而将PE1 VTEP指向PE2 VTEP的两条路径的第一Underlay ECMP Group610写入VP1,将PE1 VTEP指向PE3 VTEP的两条路径的第二Underlay ECMP Group 620写入VP2。设置Trunk1,其中包含两个成员VP1和VP2,然后下发CE1到CE2的Overlay路径出口指向Trunk1。配置Overlay的Hash策略到Trunk1中,配置Underlay的Hash策略到第一UnderlayECMP Group 610和第二Underlay ECMP Group 620中。
图3示出了一种利用VP来实现Overlay和Underlay的ECMP迭代的可能实现的示意图,如图3所示,经过配置,可以得到交换机的路由表、Trunk表、VP表、ECMP表,在Overlay方面,路由表下发路径出口指向Trunk表的Trunk1,Trunk1包含VP表的两个成员VP1和VP2,VP1指向ECMP表的ECMPGroup 1出口,VP2指向ECMP表的ECMPGroup 2出口;而Underlay方面,则直接使用芯片的ECMP表,以ECMP表来完成Underlay ECMP的相关处理,这样,就可以得到一个Underlay的出口ECMP信息,其中,Underlay的出口ECMP信息包含具体出口信息和隧道信息等。
如图3所示,假设某个数据报文的目的地址为10.10.10.1,匹配到Trunk 1,按照Trunk组设置的HASH规则,匹配到Trunk 1中的VP 1,而VP1对应ECMP组1,然后,按照ECMP表设置的HASH规则,计算得到哈希值,该哈希值匹配到ECMP表中ECMP组1对应的下一跳信息为Nexthop 1001,其中,Nexthop 1001可以包括具体的出口信息和隧道信息等,根据Nexthop1001中的信息,转发该数据报文。
在本实施例中,Overlay可以使用Trunk组的hash规则,而Underlay使用ECMP的hash规则,即可完成两层不同的hash算法,且满足两个层次的ECMP负载均衡数据转发。完成了利用VP处理整个Overlay ECMP到Underlay的ECMP嵌套的整体网络的配置,并且可以分别在两个层次上进行HASH的配置,也可在两个层次上针对出口信息的变化分别进行相应的处理。
在另一个可能的实现方式中,利用环回端口进行处理(即上述的节点为环回端口),则等价路径631和路径632形成第二Overlay ECMP Group 630,等价路径611和路径612形成第三Underlay ECMP Group 610,路径621和路径622形成第四Underlay ECMP Group620。设置Loopback 1(环回端口1)为PE1 VTEP指向PE2 VTEP的Overlay路径,Loopback 2为PE1 VTEP指向PE3 VTEP的Overlay路径。进而将PE1 VTEP指向PE2 VTEP的两条路径的第三Underlay ECMP Group 610写入路由表,将PE1 VTEP指向PE3 VTEP的两条路径的第四Underlay ECMP Group 620写入路由表。环回端口将报文封装隧道后,直接查找Underlay的路由表即可找到第三Underlay ECMP Group 610和第四Underlay ECMP Group620的出口。设置Trunk1,其中包含两个成员Loopback1和Loopback2。下发CE1到CE2的Overlay路径出口指向Trunk1。配置Overlay的Hash策略到Trunk1中,配置Underlay的Hash策略到第三Underlay ECMP Group 610和第四Underlay ECMP Group 620中。
图4示出了一种利用环回端口来实现Overlay和Underlay的ECMP迭代的可能的示意图,如图4所示,经过配置,可以得到交换机的路由表、Trunk表、Loopback表、ECMP表,在Overlay方面,路由表下发路径出口指向Trunk表的Trunk1,Trunk1包含Loopback表的两个成员Loopback1和Loopback2,Loopback1和Loopback1将路径出口封装隧道后写入路由表的隧道封装路由1和隧道封装路由2,隧道封装路由1指向ECMP表的ECMPGroup1出口,隧道封装路由2指向ECMP表的ECMPGroup2出口;而Underlay方面,则直接使用芯片的ECMP表,以ECMP表来完成Underlay ECMP的相关处理,这样,就可以得到一个Underlay的出口ECMP信息,其中,Underlay的出口ECMP信息包含具体出口信息和隧道信息等。
如图4所示,假设某个数据报文的目的地址为10.10.10.1,匹配到Trunk 1,按照Trunk组设置的HASH规则,匹配到Trunk 1中的Loopback 1,而Loopback1对应隧道封装1,而按照隧道封装1对数据报文进行隧道封装并环回转发,接收到环回数据报文,获取到环回的数据报文的隧道封装路由为隧道封装路由1,获取到与隧道封装路由1对应的ECMP组1,然后,按照ECMP表设置的HASH规则,计算得到哈希值,该哈希值匹配到ECMP表中ECMP组1对应的下一跳信息为Nexthop 1001,其中,Nexthop 1001可以包括具体的出口信息,根据Nexthop 1001中的信息,转发该数据报文。
在本实施例中,完成了利用环回端口处理整个Overlay ECMP到Underlay的ECMP嵌套的整体网络的配置,与VP的处理不同的是,由于环回端口具备二次转发的能力,因此第一次报文指向环回端口时,是封装的隧道信息完成了Overlay层次的转发,而第二次报文被环回之后,可以直接查找Underlay路由,完成第二次转发。
可选的,如图5所示,本申请实施例还提供一种交换机,包括处理器810,存储器820,存储在存储器820上并可在所述处理器810上运行的程序或指令,该程序或指令被处理器810执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据报文的传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的终端中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据报文的传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
本申请实施例另提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现上述数据报文的传输方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (11)
1.一种数据报文的传输方法,其特征在于,包括:
获取与待传输的数据报文的目的地址对应的端口聚合组,其中,所述端口聚合组中包括至少一个节点,所述节点具备端口属性和转发属性,所述端口聚合组指示所述数据报文的叠加网络Overlay的出口;
基于预先为所述端口聚合组配置的第一哈希规则对所述数据报文进行哈希计算,得到第一哈希值;
获取所述端口聚合组中与所述第一哈希值匹配的目标节点,其中,所述目标节点的出口指向底层承载网络Underlay;
基于所述目标节点的转发属性,获取下一跳信息;
基于所述下一跳信息,传输所述数据报文。
2.根据权利要求1所述的方法,其特征在于,在所述目标节点的出口指向出口等价多路径路由ECMP组的情况下,基于所述目标节点的转发属性,获取下一跳信息,包括:
获取所述目标节点对应的出口ECMP组;
基于预先为所述ECMP组配置的第二哈希规则对所述数据报文进行哈希计算,得到第二哈希值;
获取所述出口ECMP组中与所述第二哈希值匹配的下一跳信息。
3.根据权利要求2所述的方法,其特征在于,所述节点包括虚拟节点,所述转发属性包括:指向出口属性;
在获取所述目标节点对应的出口ECMP组之前,所述方法还包括:将所述端口聚合组中的所述目标节点的指向出口属性设置为所述出口ECMP组。
4.根据权利要求1所述的方法,其特征在于,
所述节点包括虚拟节点,所述转发属性包括:指向出口属性;
在基于所述目标节点的转发属性,获取下一跳信息之前,所述方法还包括:将所述端口聚合组中的所述目标节点的指向出口属性设置为所述下一跳信息。
5.根据权利要求2所述的方法,其特征在于,所述节点包括环回端口;所述转发属性包括:环回转发属性;
获取所述目标节点对应的出口ECMP组,包括:
获取所述目标节点对应的目标隧道封装信息;
按照所述目标隧道封装信息对所述数据报文封装后通过所述环回端口进行转发;
通过所述环回端口接收到环回的所述数据报文,根据环回的所述数据报文的Underlay路由,获取与所述Underlay路由对应的所述出口ECMP组。
6.根据权利要求5所述的方法,其特征在于,在获取与待传输的数据报文的目的地址对应的端口聚合组之前,所述方法还包括:
配置所述端口聚合组中各个环回端口对应的隧道封装信息。
7.根据权利要求1至6任一项所述的方法,其特征在于,在获取与待传输的数据报文的目的地址对应的端口聚合组之前,所述方法还包括:
配置所述端口聚合组;
配置所述端口聚合组中各个所述节点对应的overlay路径的源运营商边缘PE设备和目的PE设备。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述端口聚合组中的所述至少一个节点对应的overlay路径发生变化的情况下,基于所述至少一个节点变化后的信息,更新所述端口聚合组以及所述端口聚合组中的节点对应的overlay路径。
9.根据权利要求2至3、5至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述出口ECMP组中的下一跳信息发生变化时,更新所述出口ECMP组的下一跳信息。
10.一种交换机,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至9任一项所述的数据报文的传输方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至9任一项所述的数据报文的传输方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211446889.7A CN118101785A (zh) | 2022-11-18 | 2022-11-18 | 数据报文的传输方法、交换机及存储介质 |
PCT/CN2023/108368 WO2024103817A1 (zh) | 2022-11-18 | 2023-07-20 | 数据报文的传输方法、交换机及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211446889.7A CN118101785A (zh) | 2022-11-18 | 2022-11-18 | 数据报文的传输方法、交换机及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118101785A true CN118101785A (zh) | 2024-05-28 |
Family
ID=91083741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211446889.7A Pending CN118101785A (zh) | 2022-11-18 | 2022-11-18 | 数据报文的传输方法、交换机及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118101785A (zh) |
WO (1) | WO2024103817A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572667B (zh) * | 2009-05-22 | 2011-11-30 | 中兴通讯股份有限公司 | 一种ip路由等价多路径的实现方法及装置 |
US9036476B2 (en) * | 2012-09-28 | 2015-05-19 | Juniper Networks, Inc. | Maintaining load balancing after service application with a network device |
US20160226753A1 (en) * | 2015-02-04 | 2016-08-04 | Mediatek Inc. | Scheme for performing one-pass tunnel forwarding function on two-layer network structure |
US10924385B2 (en) * | 2017-11-07 | 2021-02-16 | Nicira, Inc. | Weighted multipath routing configuration in software-defined network (SDN) environments |
CN109981455A (zh) * | 2017-12-28 | 2019-07-05 | 中兴通讯股份有限公司 | 一种隧道实现方法及装置 |
US11870677B2 (en) * | 2020-06-04 | 2024-01-09 | Juniper Networks, Inc. | Liveness detection and route convergence in software-defined networking distributed system |
-
2022
- 2022-11-18 CN CN202211446889.7A patent/CN118101785A/zh active Pending
-
2023
- 2023-07-20 WO PCT/CN2023/108368 patent/WO2024103817A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024103817A1 (zh) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9246810B2 (en) | Hash-based load balancing with per-hop seeding | |
CN113207192B (zh) | 一种报文转发方法及装置 | |
US20220200898A1 (en) | Compute-aware routing method and apparatus | |
CN111682996B (zh) | 网络中报文转发的方法、网络节点、网络系统 | |
CN102857414B (zh) | 一种转发表写入、报文转发方法及装置 | |
EP2047645B1 (en) | Technique for multiple path forwarding of label-switched data traffic | |
CN104639470B (zh) | 流标识封装方法及系统 | |
CN109861926A (zh) | 报文的发送、处理方法及装置、pe节点、节点 | |
CN104184664B (zh) | 路由转发表项生成方法及装置 | |
CN107948086A (zh) | 一种数据包发送方法、装置及混合云网络系统 | |
CN104518940A (zh) | 实现nvo3网络与mpls网络之间通信的方法和装置 | |
US20120230194A1 (en) | Hash-Based Load Balancing in Large Multi-Hop Networks with Randomized Seed Selection | |
CN106209638B (zh) | 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备 | |
CN107547391A (zh) | 一种报文传输方法和装置 | |
CN105099917A (zh) | 业务报文的转发方法和装置 | |
CN109450793B (zh) | 一种业务流量调度的方法和装置 | |
CN104009918B (zh) | 一种业务报文处理方法、装置及系统 | |
CN104243208A (zh) | 一种端口扩展及报文处理方法、装置和网络设备 | |
CN106453091B (zh) | 路由器转发平面的等价路由管理方法和装置 | |
CN106209689A (zh) | 从vxlan至vlan的组播数据报文转发方法和设备 | |
CN108206785A (zh) | 针对多播流量优化与路由和/或下一跳相关的信息 | |
CN108259293A (zh) | 一种报文转发方法及装置 | |
CN107147581A (zh) | 路由表项的维护方法和装置 | |
CN106982162A (zh) | 用于转发业务流的方法、装置和系统 | |
US20190334814A1 (en) | Path establishment method and device, and network node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |