CN115914069A - 数据转发方法、系统、电子设备和存储介质 - Google Patents
数据转发方法、系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115914069A CN115914069A CN202111155660.3A CN202111155660A CN115914069A CN 115914069 A CN115914069 A CN 115914069A CN 202111155660 A CN202111155660 A CN 202111155660A CN 115914069 A CN115914069 A CN 115914069A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- packet
- strategy
- data
- ecmp
- 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 53
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 239000002699 waste material Substances 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
-
- 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
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及通信领域,公开了一种数据转发方法、系统、电子设备和存储介质。本发明中,数据转发方法,应用于overlay网络中的转发设备,转发设备与管理设备通信连接,管理设备用于管理至少一个转发设备,每个转发设备包含多个虚拟成员,方法包括:接收管理设备分发的转发策略;其中,转发策略包括:在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,第一分组包含转发设备的等价多路径路由ECMP分组所有虚拟成员,第二分组仅包含ECMP分组的本地虚拟成员;根据转发策略,进行数据转发。本发明的数据转发方法,可以实现提高网络数据转发性能。
Description
技术领域
本申请实施例涉及通信领域,特别涉及一种数据转发方法、系统、电子设备和存储介质。
背景技术
随着互联网技术的发展,5G用户爆炸式增长,因此必须提供比上一代技术更大的设备连接和网络容量,对于5G来说,一个重大的改变是如今的虚拟化趋势。5G网络会使用网络切片技术将一个物理基础设施分割成多个虚拟网络,以便每个片在相同的基础设施下提供不同的且唯一的连接。虚拟网络大多使用overlay技术,以便快速提供不同要求。对于大型组网场景中,来自相同节点的不同流量能选择不同路径流向目的地,防止单路径负荷超限,同时提供高可靠,为各类应用提供高性能可靠的网络服务,所以overlay场景同样需要等价多路径路由(Equal Cost Multi-path,简称“ECMP”)技术。
然而,当前路由策略为了实现各节点独立选择ECMP成员时不造成环路,启用本地优先策略,即,优先选择ECMP分组的本地虚拟成员进行数据转发,从而造成当报文源地址和目的地址位于相同节点上时,无法负荷分担到其他节点的ECMP成员,网络数据转发性能较低。
发明内容
本申请实施例的主要目的在于提出一种数据转发方法、系统、电子设备和存储介质,以实现提高网络数据转发性能。
为实现上述目的,本申请实施例提供了一种数据转发方法,应用于overlay网络中的转发设备,转发设备与管理设备通信连接,管理设备用于管理至少一个转发设备,每个转发设备包含多个虚拟成员,方法包括:接收管理设备分发的转发策略;其中,转发策略包括:在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,第一分组包含转发设备的等价多路径路由ECMP分组所有虚拟成员,第二分组仅包含ECMP分组的本地虚拟成员;根据转发策略,进行数据转发。
为实现上述目的,本申请实施例还提供了一种数据转发方法,应用于overlay网络中的管理设备,管理设备与至少一个转发设备通信连接,管理设备用于管理至少一个转发设备,每个转发设备包含多个虚拟成员,方法包括:获取各转发设备的路由信息;根据路由信息,生成各转发设备的转发策略;将各转发设备的转发策略,分发给各转发设备,供各转发设备接收管理设备分发的转发策略,并根据转发策略,进行数据转发;其中,转发策略包括:在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,第一分组包含转发设备的等价多路径路由ECMP分组所有虚拟成员,第二分组仅包含ECMP分组的本地虚拟成员。
为实现上述目的,本申请实施例还提供了一种数据转发系统,包括应用于overlay网络中的转发设备和管理设备;管理设备与至少一个转发设备通信连接,管理设备用于管理至少一个转发设备,每个转发设备包含多个虚拟成员;其中,管理设备,用于获取各转发设备的路由信息;根据路由信息,生成各转发设备的转发策略;将各转发设备的转发策略,分发给各转发设备,供各转发设备接收管理设备分发的转发策略,并根据转发策略,进行数据转发;转发策略包括:在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,第一分组包含转发设备的等价多路径路由ECMP分组所有虚拟成员,第二分组仅包含ECMP分组的本地虚拟成员;转发设备,用于接收管理设备分发的转发策略;根据转发策略,进行数据转发。
为实现上述目的,本申请的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述数据转发方法。
为实现上述目的,本申请的实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述数据转发方法。
本申请提出的数据转发方法,通过在ECMP分组的本地虚拟成员中选择下一跳,可以避免节点独立选路而导致数据转发过程中形成环路,提高网络的数据转发效率,在转发设备为首跳设备时,在ECMP分组所有虚拟成员中选择下一跳,即使在报文源地址和目的地址位于相同节点上时,也可以将数据转发流量分担至其他节点,从而均衡数据转发流量,提高了网络的反应速度与总体性能,使得网络可以实现弹性业务伸缩。因此,在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,以此策略进行数据转发可以实现提高网络数据转发性能。
附图说明
图1是本发明一个实施例提供的应用于转发设备的数据转发方法流程示意图;
图2是本发明一个实施例提供的转发路径示意图一;
图3是本发明一个实施例提供的转发路径示意图二;
图4是本发明一个实施例提供的转发路径示意图三;
图5是本发明一个实施例提供的转发路径示意图四;
图6是本发明一个实施例提供的数据转发方法流程示意图;
图7是本发明一个实施例提供的路由信息采集示意图;
图8是本发明一个实施例提供的路由策略示意图;
图9是本发明一个实施例提供的应用于管理设备的数据转发方法流程示意图;
图10是本发明一个实施例提供的数据转发系统示意图;
图11是本发明一个实施例提供的电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的实施例涉及一种数据转发方法,如图1所示,包括以下步骤:
步骤101,接收管理设备分发的转发策略;其中,转发策略包括:在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,第一分组包含转发设备的等价多路径路由ECMP分组所有虚拟成员,第二分组仅包含ECMP分组的本地虚拟成员;
步骤102,根据转发策略,进行数据转发。
本实施例的数据转发方法,应用于overlay网络中的转发设备,转发设备与管理设备通信连接,管理设备用于管理至少一个转发设备,每个转发设备包含多个虚拟成员。Overlay网络,又叫叠加网络、覆盖网络)简单理解就是把一个逻辑网络建立在一个实体网络之上。虚拟扩展局域网(Virtual eXtensible Local Area Network,简称“VXLAN”),是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,采用L2 overL4(MAC-in-UDP)的报文封装模式,将二层报文用三层协议进行封装,可实现二层网络在三层范围内进行扩展,同时满足数据中心大二层虚拟迁移和多租户的需求。NVO3是基于三层IP overlay网络构建虚拟网络的技术的统称,VXLAN只是NVO3技术之一。其中,本实施例的转发设备可以是VXLAN隧道端点(VXLAN Tunnel Endpoints,简称“VTEP”)设备,VTEP设备可以是交换机,也可以是虚拟机所在的服务器,管理设备可以是网络中的管理设备,和VTEP设备或者云管理系统,如OPENSTACK的neutron组件,或者虚拟网络控制器,例如软件定义网络(Software Defined Network,简称“SDN”)。
随着5G用户爆炸式增长,必须提供比上一代技术更大的设备连接和网络容量,对于5G来说,一个重大的改变是如今的虚拟化趋势。5G网络会使用网络切片技术将一个物理基础设施分割成多个虚拟网络,以便每个片在相同的基础设施下提供不同的且唯一的连接。为了实现这种灵活性,每个分片都要能够访问不同类型的资源,无论是物理资源还是虚拟资源,例如,虚拟网络功能(Virtualized Network Function,简称“VNF”),因此5G通过SDN,用网络控制可编程来彻底改变网络的架构。网络控制用于开放的软件系统,将实际的物理网络虚拟化,从实现来说,虚拟网络大多使用overlay技术,以便快速提供不同要求。对于大型组网场景中,来自相同节点的不同流量能选择不同路径流向目的地,防止单路径负荷超限,同时提供高可靠,为各类应用提供高性能可靠的网络服务,所以overlay场景同样需要ECMP技术。
大规模场景,若使用非对称路由,每个VTEP设备要维护所有虚拟网络标识(virtualized network identifier,简称“vni”)的介质访问控制层(Media AccessControl,简称“MAC”)和地址解析协议(Address Resolution Protocol,简称“ARP”)表,这就需要涉及超大容量的ARP和MAC表,造成资源浪费,如图2。
为了减小MAC/ARP表项,一般采用对称式路由技术,如图3所示,对称路由在处理ECMP路由时,由于每个节点独立选路,不同ECMP组成员连接在不同VTEP设备上,可能会存在环路,如图4所示,ECMP组成员分别落在vtep1设备和vtep2设备上,虚拟网络功能VNF发出的报文,在VTEP1设备上可能选择VTEP2设备上的ECMP组成员做下一跳,在VTEP2设备上可能选择vtep1上的组成员做下一跳,从而造成循环。
为了避免各节点独立选路造成环路,一般是选择本地优先的策略,即若本VTEP设备上有直连的ECMP组,则优先发往本设备的ECMP组。启用本地优先策略,会造成当源和目的位于相同节点上时,无法负荷分担到其他节点的ECMP成员,造成流量不均,如图5所示。
本实施例的数据转发方法,通过在ECMP分组的本地虚拟成员中选择下一跳,可以避免节点独立选路而导致数据转发过程中形成环路,提高网络的数据转发效率,在转发设备为首跳设备时,在ECMP分组所有虚拟成员中选择下一跳,即使在报文源地址和目的地址位于相同节点上时,也可以将数据转发流量分担至其他节点,从而均衡数据转发流量,提高了网络的反应速度与总体性能,使得网络可以实现弹性业务伸缩。因此,在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,以此策略进行数据转发可以实现提高网络数据转发性能。
下面对本实施例的数据转发方法实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
在步骤101中,转发设备接收管理设备分发的转发策略,转发策略包括:在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,第一分组包含转发设备的等价多路径路由ECMP分组所有虚拟成员,第二分组仅包含ECMP分组的本地虚拟成员。
具体地,转发策略由管理设备配置得到,管理设备通过获取各转发设备的路由信息,根据路由信息,生成各转发设备的转发策略。其中,转发设备可以在第一分组或者第二分组中选择一个或多个设备作为下一跳设备。
在一个例子中,转发设备选择下一跳,具体为:选择组中所有虚拟成员作为下一跳设备,并在所有虚拟成员之间进行负荷分担。
本实施例中,通过选择组中所有虚拟成员作为下一跳设备,并在所有虚拟成员之间进行负荷分担,从而在整个组的所有虚拟成员间进行流量分担,进一步实现提高网络数据转发性能。
在步骤102中,转发设备根据转发策略,进行数据转发。
具体地,转发设备根据转发策略,在接收到待转发报文后,判断本设备是否为首跳设备,若本设备为首跳设备,则从ECMP分组中的所有虚拟成员中选择下一跳,若本设备不是首跳设备,则从第二分组,即ECMP分组的本地虚拟成员中选择下一跳。
进一步地,转发设备根据转发策略,和转发设备的类型,生成转发规则,根据转发规则,进行数据转发。
本实施例中,通过根据转发策略,和转发设备的类型,生成转发规则,根据转发规则,进行数据转发,可以实现提高网络数据转发性能。
在一个例子中,转发规则包括通用虚拟路由表和本地虚拟路由表,以及流表。转发设备通过以下方式实现根据转发策略,生成转发规则:在转发设备为openflow设备的情况下,根据转发策略,生成流表;在转发设备为EVPN设备的情况下,根据转发策略,设置通用虚拟路由表和本地虚拟路由表。
本实施例中,通过在转发设备为openflow设备的情况下,根据转发策略,生成流表,在转发设备为EVPN(以太网VPN)设备的情况下,根据转发策略,设置通用虚拟路由表和本地虚拟路由表,可以实现对openflow设备和EVPN设备转发规则的更改,实现提高网络数据转发性能。
在一个例子中,在接收管理设备分发的转发策略后,转发设备还接收管理设备分发的更新后的转发策略,根据更新后的转发策略,进行数据转发。
本实施例中,通过接收管理设备分发的更新后的转发策略,根据更新后的转发策略,进行数据转发,可以用新的转发策略进行数据转发,实现提高网络数据转发性能。
在一个例子中,管理设备中有ECMP管理模块、ECMP转发策略模块,转发设备中有ECMP转发执行模块,如图6所示,其中,ECMP管理模块,用于搜集各VTEP转发设备的路由信息,形成全局的ECMP组,及各组成员的属性,位置,拓扑关系等信息,用于指导后续ECMP转发策略模块完成策略生成,并同步到对应设备。ECMP转发策略模块,用于将从ECMP管理模块获取到的信息转化为设备的ECMP转发策略,根据ECMP组成员未知计算个VTEP设备的ECMP转发策略。ECMP转发执行模块,用于将ECMP转发策略在各VTEP设备上生成转发规则。VTEP设备可能是openflow类型的设备,也可能是EVPN类型设备。
如图7所示,数据转发包括以下流程:
1)ECMP管理模块通过和VTEP设备或云管理系统(如OPENSTACK的neutron组件)或虚拟网络控制器(如SDN)交互,搜集网络内路由信息,形成并维护ECMP组及成员信息表。
ECMP管理模块搜集到的路由信息及下一跳过程如下:ECMP管理模块获取到每个逻辑路由实例(vrouter)的所有路由条目,每个路由条目关键信息包括:vrouter标识(RD或L3VNI),路由目的网段(网络前缀),下一跳(在路由型网元的场景下,该下一跳可能是虚机地址或端口);ECMP管理模块根据上述信息,提取出ECMP组成员信息表(具有相同vrouter标识(RD或L3VNI),路由目的网段(网络前缀)的一组路由),关键信息包括:ECMP组标识,归属vrouter标识(RD或L3VNI),下一跳成员(具体可包括下一跳的地址或端口信息),成员所在VTEP设备。
2)ECMP转发策略模块从管理模块获取ECMP信息,转化为设备的转发策略,如图8所示。
3)转发执行模块将ECMP转发策略转为VTEP设备的转发规则。若VTEP设备是openflow转发设备,则转发规则转为openflow流表。若VTEP设备是EVPN转发设备,则转发规则转为边界网关协议(Boarder Gateway Protocol,简称“BGP”)报文。下面分别说明转发规则的实现方法。
对于openflow设备,通过openflow协议接收流表条目,ECMP一般是使用openflow协议中定义的group表实现的。协议中group表定义如下:
GroupIdentifier | GroupType | Counters | Action Bucket |
我们这里扩展group表类型,增加一个新类型,值为16,取名字为conditional,表示可根据定义的条件选择不同bucket。定义如下:
enum ofp_group_type{
OFPGT_ALL=0,/*All(multicast/broadcast)group.*/
OFPGT_SELECT=1,/*Select group.*/
OFPGT_INDIRECT=2,/*Indirect group.*/
OFPGT_FF=3,/*Fast failover group.*/
OFPGT_CONDITION=16,/*conditional group.*/
};
Openflow协议的bucket表也要新增一个和conditional类型的group表对应的新类型,这里取值也为16,定义如下
新bucket类型的结构如下:
各字段说明如下:
condition_key可扩展定义,当前定义为:
0:保留;
1:metadata
2:in_port
condition_type可扩展定义,当前定义为:
0:保留;
1:等于;
2:不等于;
3:包含;
conditional_val为匹配的具体值,当前仅支持数值。
如果设置了conditional_key,则仅当conditional_key和conditional_val满足condition_type的定义才参与负荷分担;默认不设置,表示参加负荷分担计算。
Openflow的group feature字段新增一个如下值,用来通知管理模块本VTEP设备支持conditional的组,定义如下:
举例说明如下:
转发策略模块根据VTEP设备上报的组类型,确定按conditional生成转发规则。
转发执行模块跟踪转发规则vtep1下发的openflow流表group组信息为:
转发执行模块跟踪转发规则vtep2下发的openflow流表group组信息为:
报文转发过程说明如下:VTEP1收到VNF13发出的报文后,按照报文流表动作,先将当前报文的vni保存到metadata字段,因为VNF13发送的报文非vxlan报文,无vni信息,则metadata为0。执行group动作时,先查看metadata是否等于L3 vni 1,如果相等,则只有bucket2的动作可执行;如果不相等,则bucket1和bucket2均可执行,按照原有bucket进行选择其一。因此VNF13发出的报文仍然可在2个下一跳间均衡选路,可以在VTEP1上选择VNF11作为下一跳;也可以在VTEP1上选择VNF21作为下一跳,因为VNF21跨节点,因此封装vxlan报文,vni=L3 vni 1,发送到VTEP2。
VTEP2节点收到报文后,因为是vxlan报文,保存metadata为vni号,即L3 vni 1,执行group动作时,因为metadata等于L3 vni1,只有bucket2可选,因此只能执行选择bucket2的动作,将报文发送到VNF21这个下一跳。
对于EVPN设备,EVPN的VTEP设备BGP协议交换转发规则,VTEP设备需要实现如下功能:VTEP设备将IP-VRF表分组,形成local IP-VRF表(即本地虚拟路由表)和通用IP-VRF表(即通用虚拟路由表)。VTEP设备通过BGP协议维护local IP-VRF表和通用IP-VRF表。VTEP设备L3报文转发时,根据目的mac确定查local IP-VRF表还是通用IP-VRF表。
对于表维护和报文转发流程分别说明如下:VTEP设备给每个router-id创建localIP-VRF表和通用IP-VRF两个表。VTEP router的L2转发表新增匹配字段是router-mac的表,动作是进入local IP-VRF表查L3转发规则。转发策略模块给VTEP设备发送BGP邻居的RT-5路由新增通告,VTEP设备取出路由条目,合成路由以后,查询下一跳地址是在本地学到的arp表中还是RT-2通告的arp表中,若都不在,该路由仅保存到本地RT-5路由表中,不加入local IP-VRF表和通用IP-VRF;若下一跳地址在RT-2通告的arp表中,则将该路由保存到本地RT-5路由表以后再将其加入通用IP-VRF;若下一跳地址在本地学到的arp表中,则将该路由保存到本地RT-5路由表以后同时将该路由加入通用IP-VRF和local IP-VRF表中。VTEP设备收到远端BGP邻居的RT-2路由通告,若通告的ip地址是某个RT-5路由合成路由的下一跳,则正常保存到arp表以后,检查该路由是否在通用IP-VRF表中,若不在,则将该路由加入通用IP-VRF。VTEP设备本地学到ARP,若ip地址是RT-5路由表中某个合成路由的下一跳,则正常保存到arp表以后,检查该路由是否在通用IP-VRF,若不在,则将该路由加入通用IP-VRF,检查该路由是否在local IP-VRF,若不在,则将该路由加入local IP-VRF。RT-5路由删除通告和ARP老化事件处理为从上述表中删除对应的下一跳记录。
EVPN设备的报文转发流量如下,VTEP设备收到业务报文以后,首先是查L2转发表,若目的mac是网关mac,则进入通用IP-VRF表,在通用IP-VRF表中应用ECMP规则;若目的mac是router-mac,则进入local IP-VRF表,在local IP-VRF表中应用ECMP规则。
本实施例中,通过管理设备搜集并维护各ECMP组成员的物理位置及拓扑关系,根据拓扑关系管理每个VTEP设备的ECMP组,同一个ECMP组在每个VTEP设备上拆分成如下两个组:包含所有组成员的组,以及组成员和本VTEP设备直连的组,结合每个VTEP设备拆分出来的两个ECMP组计算个VTEP设备的转发策略。各VTEP设备将本设备的ECMP转发策略转成转发规则进行流量转发。流量在首跳设备的所有ECMP组成员之间进行负荷分担,均匀选路;流量在非首跳设备上的和本VTEP设备直连的组成员间负荷分担;从而避免非首跳设备将报文发往其他VTEP设备引发环路,同时也能避免上述本地优先策略下的负荷分担不均问题。
本实施例的数据转发方法,应用于overlay网络中的管理设备,管理设备与至少一个转发设备通信连接,管理设备用于管理至少一个转发设备,每个转发设备包含多个虚拟成员,如图9所示,包括:
步骤901,获取各转发设备的路由信息;
步骤902,根据路由信息,生成各转发设备的转发策略;
步骤903,将各转发设备的转发策略,分发给各转发设备,供各转发设备接收管理设备分发的转发策略,并根据转发策略,进行数据转发;
其中,转发策略包括:在转发设备为首跳设备的情况下,在第一分组中选择下一跳,在转发设备为非首跳设备的情况下,在第二分组中选择下一跳,第一分组包含转发设备的等价多路径路由ECMP分组所有虚拟成员,第二分组仅包含ECMP分组的本地虚拟成员。
在一个例子中,在将各转发设备的转发策略,分发给各转发设备后,管理设备还在网络拓扑发生变化后,更新路由信息;根据更新后的路由信息,更新各转发设备的转发策略;将更新后的各转发设备的转发策略,分发给各转发设备。
由于本实施例与上述实施例相互对应,因此本实施例可与上述实施例互相配合实施。上述实施例中提到的相关技术细节在本实施例中依然有效,在上述实施例中所能达到的技术效果在本实施例中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述实施例中。
本发明的实施例涉及一种数据转发系统,如图10所示,包括:overlay网络中的转发设备1001和管理设备1002;管理设备1002与至少一个转发设备1001通信连接,管理设备1002用于管理至少一个转发设备1001,每个转发设备1001包含多个虚拟成员;
其中,管理设备1002,用于获取各转发设备1001的路由信息;根据路由信息,生成各转发设备1001的转发策略;将各转发设备1001的转发策略,分发给各转发设备1001,供各转发设备1001接收管理设备1002分发的转发策略,并根据转发策略,进行数据转发;转发策略包括:在转发设备1001为首跳设备的情况下,在第一分组中选择下一跳,在转发设备1001为非首跳设备的情况下,在第二分组中选择下一跳,第一分组包含转发设备1001的等价多路径路由ECMP分组所有虚拟成员,第二分组仅包含ECMP分组的本地虚拟成员;
转发设备1001,用于接收管理设备1002分发的转发策略;根据转发策略,进行数据转发。
在一个例子中,根据转发策略,进行数据转发,包括:根据转发策略,和转发设备1001的类型,生成转发规则;根据转发规则,进行数据转发。
在一个例子中,转发规则包括通用虚拟路由表和本地虚拟路由表,以及流表;根据转发策略,生成转发规则,包括:在转发设备1001为openflow设备的情况下,根据转发策略,生成流表;在转发设备1001为EVPN设备的情况下,根据转发策略,设置通用虚拟路由表和本地虚拟路由表。
在一个例子中,在接收管理设备1002分发的转发策略后,方法还包括:接收管理设备1002分发的更新后的转发策略;根据更新后的转发策略,进行数据转发。
在一个例子中,选择下一跳,包括:选择组中所有虚拟成员作为下一跳设备,并在所有虚拟成员之间进行负荷分担。
在一个例子中,在将各转发设备1001的转发策略,分发给各转发设备1001后,管理设备1002还在网络拓扑发生变化后,更新路由信息;根据更新后的路由信息,更新各转发设备1001的转发策略;将更新后的各转发设备1001的转发策略,分发给各转发设备1001。
不难发现,本实施例为与上述实施例相对应的系统实施例,本实施例可与上述实施例互相配合实施。上述实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述实施例中。
本发明的实施例还涉及一种电子设备,如图11所示,包括:至少一个处理器1101;与至少一个处理器通信连接的存储器1102;其中,存储器1102存储有可被至少一个处理器1101执行的指令,指令被至少一个处理器1101执行上述的任一实施例的数据转发方法。
其中,存储器1102和处理器1101采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器1101和存储器1102的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器1101处理的信息通过天线在无线介质上进行传输,进一步,天线还接收信息并将信息传送给处理器1101。
处理器1101负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器1102可以被用于存储处理器在执行操作时所使用的信息。
本发明的实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种数据转发方法,其特征在于,应用于overlay网络中的转发设备,所述转发设备与管理设备通信连接,所述管理设备用于管理至少一个所述转发设备,每个所述转发设备包含多个虚拟成员,所述方法包括:
接收所述管理设备分发的转发策略;其中,所述转发策略包括:在所述转发设备为首跳设备的情况下,在第一分组中选择下一跳,在所述转发设备为非首跳设备的情况下,在第二分组中选择下一跳,所述第一分组包含所述转发设备的等价多路径路由ECMP分组所有虚拟成员,所述第二分组仅包含所述ECMP分组的本地虚拟成员;
根据所述转发策略,进行数据转发。
2.根据权利要求1所述的数据转发方法,其特征在于,所述根据所述转发策略,进行数据转发,包括:
根据所述转发策略,和所述转发设备的类型,生成转发规则;
根据所述转发规则,进行数据转发。
3.根据权利要求2所述的数据转发方法,其特征在于,所述转发规则包括通用虚拟路由表和本地虚拟路由表,以及流表;
所述根据所述转发策略,生成转发规则,包括:
在所述转发设备为openflow设备的情况下,根据所述转发策略,生成流表;
在所述转发设备为EVPN设备的情况下,根据所述转发策略,设置通用虚拟路由表和本地虚拟路由表。
4.根据权利要求1所述的数据转发方法,其特征在于,在所述接收所述管理设备分发的转发策略后,所述方法还包括:
接收所述管理设备分发的更新后的转发策略;
根据更新后的转发策略,进行数据转发。
5.根据权利要求2至4中任一项所述的数据转发方法,其特征在于,所述选择下一跳,包括:
选择组中所有虚拟成员作为下一跳设备,并在所有虚拟成员之间进行负荷分担。
6.一种数据转发方法,其特征在于,应用于overlay网络中的管理设备,所述管理设备与至少一个转发设备通信连接,所述管理设备用于管理至少一个所述转发设备,每个所述转发设备包含多个虚拟成员,所述方法包括:
获取各所述转发设备的路由信息;
根据所述路由信息,生成各所述转发设备的转发策略;
将各所述转发设备的转发策略,分发给各所述转发设备,供各所述转发设备接收所述管理设备分发的转发策略,并根据所述转发策略,进行数据转发;
其中,所述转发策略包括:在所述转发设备为首跳设备的情况下,在第一分组中选择下一跳,在所述转发设备为非首跳设备的情况下,在第二分组中选择下一跳,所述第一分组包含所述转发设备的等价多路径路由ECMP分组所有虚拟成员,所述第二分组仅包含所述ECMP分组的本地虚拟成员。
7.根据权利要求6所述的数据转发方法,其特征在于,在所述将各所述转发设备的转发策略,分发给各所述转发设备后,所述方法还包括:
在网络拓扑发生变化后,更新所述路由信息;
根据更新后的路由信息,更新各所述转发设备的转发策略;
将更新后的各所述转发设备的转发策略,分发给各所述转发设备。
8.一种数据转发系统,其特征在于,包括应用于overlay网络中的转发设备和管理设备;所述管理设备与至少一个所述转发设备通信连接,所述管理设备用于管理至少一个所述转发设备,每个所述转发设备包含多个虚拟成员;
其中,管理设备,用于获取各所述转发设备的路由信息;根据所述路由信息,生成各所述转发设备的转发策略;将各所述转发设备的转发策略,分发给各所述转发设备,供各所述转发设备接收所述管理设备分发的转发策略,并根据所述转发策略,进行数据转发;所述转发策略包括:在所述转发设备为首跳设备的情况下,在第一分组中选择下一跳,在所述转发设备为非首跳设备的情况下,在第二分组中选择下一跳,所述第一分组包含所述转发设备的等价多路径路由ECMP分组所有虚拟成员,所述第二分组仅包含所述ECMP分组的本地虚拟成员;
转发设备,用于接收所述管理设备分发的所述转发策略;根据所述转发策略,进行数据转发。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5中任一项所述的应用于转发设备的数据转发方法,或者,如权利要求6至7中任一项所述的应用于管理设备的数据转发方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的应用于转发设备的数据转发方法,或者,如权利要求6至7中任一项所述的应用于管理设备的数据转发方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111155660.3A CN115914069A (zh) | 2021-09-30 | 2021-09-30 | 数据转发方法、系统、电子设备和存储介质 |
EP22874216.9A EP4395246A1 (en) | 2021-09-30 | 2022-05-07 | Data forwarding method and system, electronic device, and storage medium |
PCT/CN2022/091545 WO2023050818A1 (zh) | 2021-09-30 | 2022-05-07 | 数据转发方法、系统、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111155660.3A CN115914069A (zh) | 2021-09-30 | 2021-09-30 | 数据转发方法、系统、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115914069A true CN115914069A (zh) | 2023-04-04 |
Family
ID=85739403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111155660.3A Pending CN115914069A (zh) | 2021-09-30 | 2021-09-30 | 数据转发方法、系统、电子设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4395246A1 (zh) |
CN (1) | CN115914069A (zh) |
WO (1) | WO2023050818A1 (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572667B (zh) * | 2009-05-22 | 2011-11-30 | 中兴通讯股份有限公司 | 一种ip路由等价多路径的实现方法及装置 |
US8989189B2 (en) * | 2012-06-07 | 2015-03-24 | Cisco Technology, Inc. | Scaling IPv4 in data center networks employing ECMP to reach hosts in a directly connected subnet |
CN107634905A (zh) * | 2016-07-19 | 2018-01-26 | 南京中兴新软件有限责任公司 | 堆叠系统中数据转发方法及装置 |
CN107547348B (zh) * | 2017-07-25 | 2020-07-07 | 新华三技术有限公司 | 防止数据流中断方法和装置 |
CN109981455A (zh) * | 2017-12-28 | 2019-07-05 | 中兴通讯股份有限公司 | 一种隧道实现方法及装置 |
CN109995654B (zh) * | 2017-12-29 | 2022-05-20 | 中兴通讯股份有限公司 | 一种基于隧道传输数据的方法及装置 |
CN109246017B (zh) * | 2018-11-28 | 2021-03-23 | 新华三技术有限公司 | 一种查询组播转发路径的方法及装置 |
CN112565045B (zh) * | 2019-09-26 | 2024-05-07 | 中兴通讯股份有限公司 | Evpn中报文转发方法、装置、设备及存储介质 |
CN111756830A (zh) * | 2020-06-22 | 2020-10-09 | 浪潮云信息技术股份公司 | 公有云网络的内网负载均衡实现方法 |
-
2021
- 2021-09-30 CN CN202111155660.3A patent/CN115914069A/zh active Pending
-
2022
- 2022-05-07 EP EP22874216.9A patent/EP4395246A1/en active Pending
- 2022-05-07 WO PCT/CN2022/091545 patent/WO2023050818A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023050818A1 (zh) | 2023-04-06 |
EP4395246A1 (en) | 2024-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106789667B (zh) | 一种数据转发方法、相关设备及系统 | |
EP3474502B1 (en) | Reduced configuration for multi-stage network fabrics | |
CA3109935A1 (en) | Asynchronous object manager in a network routing environment | |
WO2022166691A1 (zh) | 一种业务处理方法、装置、存储介质及电子装置 | |
CN109660441B (zh) | Overlay网络中组播复制的方法及装置 | |
JP2017028698A (ja) | トラフィック切り替え方法、デバイス、およびシステム | |
US11546254B2 (en) | Method, node, and medium for establishing connection between a source and endpoint via one or more border nodes | |
CN113872845B (zh) | 建立vxlan隧道的方法及相关设备 | |
US11362954B2 (en) | Tunneling inter-domain stateless internet protocol multicast packets | |
EP3979709A1 (en) | Dynamic multi-destination traffic management in a distributed tunnel endpoint | |
WO2023045871A1 (zh) | 报文处理方法、网络设备及系统 | |
EP3429139B1 (en) | Ingress gateway selection for a shortest path bridging network to support inter domain multicast routing | |
CN108259205B (zh) | 一种路由发布方法及网络设备 | |
US20220321461A1 (en) | Interior gateway protocol flooding optimization method and device, and storage medium | |
CN112751766A (zh) | 报文转发方法、装置及计算机存储介质 | |
WO2022166465A1 (zh) | 一种报文处理方法及相关装置 | |
CN115914069A (zh) | 数据转发方法、系统、电子设备和存储介质 | |
CN114520752A (zh) | 基于智能网卡的vxlan协议控制平面卸载方法及装置 | |
CN115473812A (zh) | 流量报文转发方法、客户端、控制器及存储介质 | |
US11025536B1 (en) | Support for flooding in encapsulation and inter-VLAN communication via proxy-ARP | |
CN110912823A (zh) | 一种面向异构有线无线融合网络的SDN与IPv6可靠路由机制 | |
WO2024007762A1 (zh) | 一种路由发布方法、通信方法及装置 | |
WO2012155351A1 (zh) | 一种生成隧道转发表项的方法和网络设备 | |
WO2023138351A1 (zh) | 一种流量转发方法、报文发送方法、消息发送方法及装置 | |
US20120011235A1 (en) | Systems and Methods for Implementing Multiple ISIS Routing Instances on a Network Element |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |