CN117914780A - 一种路由管理方法、装置及相关设备 - Google Patents
一种路由管理方法、装置及相关设备 Download PDFInfo
- Publication number
- CN117914780A CN117914780A CN202410138214.9A CN202410138214A CN117914780A CN 117914780 A CN117914780 A CN 117914780A CN 202410138214 A CN202410138214 A CN 202410138214A CN 117914780 A CN117914780 A CN 117914780A
- Authority
- CN
- China
- Prior art keywords
- route
- lag
- target
- information
- equipment
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000003860 storage Methods 0.000 claims description 12
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 230000002776 aggregation Effects 0.000 description 10
- 238000004220 aggregation Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006855 networking Effects 0.000 description 4
- 230000007812 deficiency Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000002071 nanotube Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及网络通信技术领域,特别涉及一种路由管理方法、装置及相关设备。该方法包括:获取目标M‑LAG系统的各设备的路由信息;比对该目标M‑LAG系统的第一设备的第一路由信息和第二设备的第二路由信息,得到比对结果;若基于该比对结果,确定该第一路由信息中存在匹配项为目标地址的目标路由,而该第二路由信息中不存在该目标路由,则向该第一设备下发路由策略,以使得该第一设备向该路由反射设备发送第一路由更新指示,该路由反射设备基于该第一路由更新指示,将本地路由表中匹配项为该目标地址的路由表项的下一跳由该目标M‑LAG系统的虚IP修改为该第一设备的实IP。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种路由管理方法、装置及相关设备。
背景技术
M-LAG(Multichassis link aggregation,跨设备链路聚合)将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担。
M-LAG系统中,Device A与Device B形成负载分担,共同进行流量转发,当其中一台设备发生故障时,流量可以快速切换到另一台设备,保证业务的正常运行。
M-LAG设备A、B之间,对外发送的路由下一跳为相同的虚IP。如果设备A上路由丢失,通常需要设备A-B之间建立逃生链路和路由协议,备份B发送给A的路由。从而保证流量到达设备A后可以继续转发。
以M-LAG设备作为border:BD_A、BD_B对外发送的下一跳均是共同的虚IP11.3.3.3。那么,存在场景,M-LAG设备A因路由协议故障或配置缺失,导致设备A缺失路由R1,而设备B对外发送的路由R2正常,下一跳仍是VIP 11.3.3.3,这样,去往外部设备的流量查询路由,(Spine设备)发现下一跳是虚IP,而underlay的虚IP在M-LAG设备A,B上均存在,因此流量可能hash到设备A上,由于路由缺失,因此会走逃生链路,流量产生绕行(绕行至设备B)。且MLAG A、B路由相互备份的原因,导致bgp路由规格减少。
发明内容
本申请提供了一种路由管理方法、装置及相关设备,用以解决现有技术中存在的路由缺失而导致流量绕行的问题。
第一方面,本申请提供了一种路由管理方法,应用于SDN控制器,所述方法包括:
获取目标M-LAG系统的各M-LAG设备的路由信息;
比对所述目标M-LAG系统的第一M-LAG设备的第一路由信息和第二M-LAG设备的第二路由信息,得到比对结果;
若基于所述比对结果,确定所述第一路由信息中存在匹配项为目标地址的目标路由,而所述第二路由信息中不存在所述目标路由,则向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送第一路由更新指示,所述路由反射设备基于所述第一路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
可选地,获取目标M-LAG系统的各M-LAG设备发布的路由信息的步骤包括:
在纳管路由反射设备之后,通过预设协议向所述路由反射设备查询并获取所述目标M-LAG系统的各M-LAG设备发布的路由信息。
可选地,所述方法还包括:
若接收到所述路由反射设备上报的,第二M-LAG设备撤销任一路由的通知,而未接收到所述路由反射设备上报的,第一M-LAG设备撤销该路由的通知,则向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送该路由的路由更新指示,所述路由反射设备基于该路由更新指示,将本地路由表中匹配项为该路由的匹配项的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
可选地,所述路由反射设备为组网中的Spine设备,所述M-LAG系统的M-LAG设备为组网中的Border设备/Leaf设备。
可选地,所述方法还包括:
若基于所述路由反射设备上报的路由更新信息,确定所述第二路由信息中新增所述目标路由,则向所述第一M-LAG设备发送路由策略删除消息,以使得所述第一M-LAG设备向所述路由反射设备发送第二路由更新指示,以使得所述路由反射设备基于所述第二路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述第一M-LAG设备的实IP修改为所述目标M-LAG系统的虚IP。
第二方面,本申请提供了一种路由管理装置,应用于SDN控制器,所述装置包括:
获取单元,用于获取目标M-LAG系统的各M-LAG设备的路由信息;
比对单元,用于比对所述目标M-LAG系统的第一M-LAG设备的第一路由信息和第二M-LAG设备的第二路由信息,得到比对结果;
发送单元,若基于所述比对结果,确定所述第一路由信息中存在匹配项为目标地址的目标路由,而所述第二路由信息中不存在所述目标路由,则所述发送单元用于,向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送第一路由更新指示,所述路由反射设备基于所述第一路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
可选地,获取目标M-LAG系统的各M-LAG设备发布的路由信息时,所述获取单元具体用于:
在纳管路由反射设备之后,通过预设协议向所述路由反射设备查询并获取所述目标M-LAG系统的各M-LAG设备的路由信息。
可选地,所述装置还包括:
接收单元,若所述接收单元接收到所述路由反射设备上报的,第二M-LAG设备撤销任一路由的通知,而未接收到所述路由反射设备上报的,第一M-LAG设备撤销该路由的通知,则所述发送单元还用于,向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送该路由的路由更新指示,所述路由反射设备基于该路由更新指示,将本地路由表中匹配项为该路由的匹配项的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
可选地,所述路由反射设备为组网中的Spine设备,所述M-LAG系统的M-LAG设备为组网中的Border设备/Leaf设备。
可选地,所述装置还包括:
确定单元,若所述确定单元基于所述路由反射设备上报的路由更新信息,确定所述第二路由信息中新增所述目标路由,则所述发送单元还用于,向所述第一M-LAG设备发送路由策略删除消息,以使得所述第一M-LAG设备向所述路由反射设备发送第二路由更新指示,以使得所述路由反射设备基于所述第二路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述第一M-LAG设备的实IP修改为所述目标M-LAG系统的虚IP。
第三方面,本申请实施例提供一种路由管理装置,该路由管理装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的路由管理方法,应用于SDN控制器,所述方法包括:获取目标M-LAG系统的各M-LAG设备的路由信息;比对所述目标M-LAG系统的第一M-LAG设备的第一路由信息和第二M-LAG设备的第二路由信息,得到比对结果;若基于所述比对结果,确定所述第一路由信息中存在匹配项为目标地址的目标路由,而所述第二路由信息中不存在所述目标路由,则向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送第一路由更新指示,所述路由反射设备基于所述第一路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
采用本申请实施例提供的路由管理方法,SDN控制器从路由反射设备获取各M-LAG系统包括的M-LAG设备的路由信息,比对发现单边路由时,控制维护有该单边路由的M-LAG设备向路由反射设备发送路由策略,以使得路由反射设备将本地维护的,该单边路由对应的路由表项的下一跳由M-LAG系统的虚IP修改为该M-LAG设备的实IP,以避免出现流量哈希至另一M-LAG设备而导致流量不同/绕行的情况。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为一种M-LAG系统组网示意图;
图2为一种流量转发示意图;
图3本申请实施例提供的一种路由管理方法的详细流程图;
图4为本申请实施例提供的一种路由管理方法过程示意图;
图5为本申请实施例提供的流量转发过程示意图;
图6为本申请实施例提供的一种路由管理装置的结构示意图;
图7为本申请实施例提供的一种路由管理装置的硬件架构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为一种M-LAG系统组网示意图。Device A与Device B形成负载分担,共同进行流量转发,当其中一台设备发生故障时,流量可以快速切换到另一台设备,保证业务的正常运行。
M-LAG设备在M-LAG系统中互为邻居,其中Device A为主设备,Device B为从设备。M-LAG为每个M-LAG设备定义了以下几个接口角色:
M-LAG接口:与外部设备相连的二层聚合接口。与外部设备上相同聚合组相连的M-LAG接口属于同一M-LAG组。Device A上的二层聚合接口1和Device B上的二层聚合接口2属于同一M-LAG组。M-LAG组中的M-LAG接口由多条链路聚合组成,且具有相同的M-LAG组编号。
peer-link接口:连接对端M-LAG设备用于内部控制的接口。每台M-LAG设备只有一个peer-link接口。peer-link接口间的链路为peer-link链路,M-LAG设备通过peer-link链路交互协议报文及传输数据流量。一个M-LAG系统只有一条peer-link链路。
M-LAG设备间通过Keepalive链路检测邻居状态。如果一台外部设备仅接入M-LAG系统的其中一台M-LAG设备,则该设备称为单挂设备,这种接入方式称为单归接入。
目前,M-LAG设备A、B之间,对外发送的路由下一跳为相同的虚IP。如果设备A上路由丢失,通常需要A-B之间建立逃生链路和路由协议,备份B发送给A的路由。从而保证流量到达设备A后可以继续转发。
示例性的,参阅图2所示,为一种流量转发示意图。以M-LAG设备为Border设备为例进行说明,BD_A、BD_B对外发送的下一跳均是共同的虚IP 11.3.3.3。存在场景,M-LAG设备A因路由协议故障或配置缺失,导致设备A缺失路由R1,而设备B对外发送的路由R2正常,下一跳仍是VIP 11.3.3.3。去往外部设备的流量查询路由,(Spine设备)发现下一跳是虚IP,而underlay的虚IP在M-LAG设备A和B上均存在,因此流量可能hash到设备A上,由于路由缺失,因此会走逃生链路,流量产生绕行。进一步地,M-LAG设备A、B路由相互备份的原因,还会导致bgp路由规格减少。
针对以上的问题,本申请实施例提出了一种通过SDN控制器对其纳管的M-LAG设备,判断路由发送的信息,识别路由不对称的情况,然后针对核心spine设备,针对异常的路由邻居,进行路由信息修改,保证下一跳地址正确,流量直通,不绕行。
示例性的,参阅图3所示,为本申请实施例提供的一种路由管理方法的详细流程图,该方法应用于SDN控制器,该方法包括以下步骤:
步骤300:获取目标M-LAG系统的各M-LAG设备的路由信息。
本申请实施例中,获取目标M-LAG系统的各M-LAG设备的路由信息时,一种较佳地实现方式为:
在纳管路由反射设备之后,通过预设协议向所述路由反射设备查询并获取所述目标M-LAG系统的各M-LAG设备的路由信息。
本申请实施例中,所述路由反射设备为组网中的Spine设备,所述M-LAG系统的M-LAG设备为组网中的Border设备/Leaf设备。
下面,以路由反射设备为Spine设备,M-LAG设备为Border设备/Leaf设备为例进行说明。
SDN控制器在纳管Spine设备后,通过Netconf或其他南向协议向Spine设备查询路由信息(路由表)。Spine设备通常也是BGP EVPN的路由反射设备RR,由于全网设备的路由在此设备接收与发送,因此可基于Spine设备,查询每一对M-LAG设备的BGP EVPN邻居,路由接收情况。
需要说明的是,SDN控制器获取到的目标M-LAG系统的各M-LAG设备的路由信息,指的是M-LAG设备上用于转发流量的路由表信息。
例如,假设Border设备A(简称BD-A)和Border设备B(简称BD-B)组成M-LAG系统,Spine为组网中的路由反射设备(RR),那么,Spine设备就可以通过BGP协议接收到BGP邻居DB-A,DB-B的路由表信息,而RR会知道BD-A和BD-B的路由表信息,这样,SDN控制器就可以从RR获取到BD-A和BD-B的路由表信息。
在正常情况下,假设1.1.1.0/24为外网IP网段,若DB-A的路由表中有1.1.1.0/24(匹配项)的路由,则DB-B的理由表中也会有1.1.1.0/24的路由,对应的,Spin在本地也会维护匹配项为1.1.1.0/24,动作项(下一跳)为M-LAG系统的虚IP的路由表项(该路由表项是Spine设备本地用于转发流量的路由表包括的路由表项)。Spine设备上,若一条路由表项的下一跳为M-LAG系统的虚IP,则在对匹配到的流量进行转发时,会进行哈希处理,从而进行负载分担。
综上,SDN控制器可以从Spine设备获取到每一对M-LAG设备(由Border设备组成的M-LAG系统,或者由Leaf设备组成的M-LAG系统)的路由信息。如,针对目标M-LAG系统,获取到第一M-LAG设备的第一路由信息,获取到第二M-LAG设备的第二路由信息。
步骤310:比对所述目标M-LAG系统的第一M-LAG设备的第一路由信息和第二M-LAG设备的第二路由信息,得到比对结果。
具体地,可以对获取到的第一M-LAG设备的第一路由信息和第二M-LAG设备的第二路由信息进行比对,以判断是否存在单边路由的情况,单边路由的情况指的是,M-LAG系统中一个M-LAG设备中存在转发至目标地址的路由信息,而另一M-LAG设备中不存在转发至该目的地址的留有信息的情况。
步骤320:若基于所述比对结果,确定所述第一路由信息中存在匹配项为目标地址的目标路由,而所述第二路由信息中不存在所述目标路由,则向所述第一M-LAG设备下发路由策略。
这样,所述第一M-LAG设备向所述路由反射设备发送第一路由更新指示,所述路由反射设备基于所述第一路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
也就是说,SDN控制器确定M-LAG设备上用于转发至目标IP地址的目标路由,在第一M-LAG设备上未维护,只在第一M-LAG设备上维护时,指示第一M-LAG设备向路由反射设备发送更新路由反射设备维护的,与目标路由的匹配项相匹配的路由的下一跳的指示,路由反射设备在接收到该指示后,将本地维护的,匹配项为目标IP地址的路由表项的下一跳由M-LAG系统的虚IP修改为第一M-LAG设备的实IP。这样,后续匹配到目的地址为目标IP地址的流量时,即可直接将该流量转发至第一M-LAG设备,无需经过hash处理,转发至第二M-LAG设备。
例如,匹配项为目标IP的路由,在第一M-LAG上为R1,在第二M-LAG上为R2,当第二M-LAG上的R2丢失,第一M-LAG上R1未丢失时,SDN控制器指示第一M-LAG向路由反射设备发送路由更新指示,路由反射设备上也维护有匹配项为目标IP的路由,该路由用于将目的地址为目标IP的流量转发至M-LAG系统,此时,路由反射设备接收到更新指示后,将该路由的下一跳由M-LAG系统的虚IP修改为第一M-LAG系统的实IP。这样,路由反射设备在对接收到的匹配该路由的流量进行转发时,下一跳为第一M-LAG设备,不会hash至第二M-LAG设备。避免流量不通/绕流。
进一步地,本申请实施例中,若接收到所述路由反射设备上报的,第二M-LAG设备撤销任一路由的通知,而未接收到所述路由反射设备上报的,第一M-LAG设备撤销该路由的通知,则向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送该路由的路由更新指示,所述路由反射设备基于该路由更新指示,将本地路由表中匹配项为该路由的匹配项的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
也就是说,路由反射设备确定第二M-LAG的某一条路由(匹配项为指定IP地址)被撤回,而第一M-LAG上该条路由未被撤回,路由反射设备会将该信息上报给SDN控制器,这样,SDN控制器就可以向仍维护有该路由的第一M-LAG设备下发路由策略,以使得第一M-LAG设备向路由反射设备发送路由策略,路由反射设备基于该路由策略将本地维护的,匹配项为该指定IP地址的路由表项的动作项(下一跳)修改为第一M-LAG设备的实IP。
同理,若第一M-LAG上新增有一条路由,而第二M-LAG设备上未新增,形成单边路由的情况,执行过程与上述一致,在此不再赘述。
在形成单边路由的情况下,路由反射设备将本地维护的对应路由表项的下一跳修改为维护有该路由的M-LAG设备的实IP即可,这样,后续匹配的流量即可直接路由转发至维护有该路由的M-LAG设备,无需进行hash处理,避免出现流量不通/绕行。
更进一步的,若基于所述路由反射设备上报的路由更新信息,确定所述第二路由信息中新增所述目标路由,则向所述第一M-LAG设备发送路由策略删除消息,以使得所述第一M-LAG设备向所述路由反射设备发送第二路由更新指示,以使得所述路由反射设备基于所述第二路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述第一M-LAG设备的实IP修改为所述目标M-LAG系统的虚IP。
也就是说,若SDN控制器在确定某个只维护在一个M-LAG设备(如,第一M-LAG设备)的路由,恢复至两个M-LAG设备上均维护有该路由(第二M-LAG设备上恢复该路由)时,指示第一M-LAG设备撤回对应的路由策略,路由反射设备基于该指示,将该路由对应的本地维护的路由表项的下一跳恢复为M-LAG系统的虚IP。这样,路由反射设备在转发匹配该路由的流量时,即可执行负载均衡策略,将流量hash至第一M-LAG设备和第二M-LAG设备上。
下面结合具体应用场景对本申请实施例提供的路由管理方法进行详细说明。示例性的,参阅图4所示,为本申请实施例提供的一种路由管理方法过程示意图,具体包括以下步骤:
1、SDN控制器首次获取M-LAG设备对的路由信息:
SDN控制器在纳管Spine设备(路由反射设备)后,通过netconf或其他南向协议向Spine设备M-LAG对(BD1,BD2组成的M-LAG系统)查询路由信息(路由表)。Spine设备通常也是BGP EVPN的RR路由反射设备,由于全网设备的路由在此设备接收与发送,因此可基于此Spine设备,查询每一对MLAG设备的BGP EVPN邻居,路由接收情况。
2、信息上报:
如,参阅表1所示,BD1和BD2组成M-LAG系统,Spine设备通过BGP从邻居BD1、BD2均收到1.1.1.0/24路由;而对于2.2.2.0/24的路由,BD1有收到,BD2没有收到。此类路由信息学习情况全上报给控制器。Leaf1和Leaf2组成M-LAG系统,Spine设备通过BGP从邻居Leaf1、Leaf2均收到4.4.4.0/24路由;而对于3.3.3.0/24的路由,Leaf1有收到,Leaf2没有收到。控制器收到后按照步骤6预处理模块进行后续操作。
路由Spine的bgp邻居
1.1.1.0/24 | 2.2.2.0/24 | 3.3.3.0/24 | 4.4.4.0/24 | |
BD1 | y | y | ||
BD2 | y | n | ||
Leaf1 | y | y | ||
leaf2 | n | y |
表1
3、故障发生:
实际应用中,通常M-LAG设备之间各自是独立的三层路由协议学习和发送路由,跟M-LAG其自身跨设备二层链路聚合特性联动不大。如,外网静态路由丢失,外网CE路由撤销。路由协议故障发生后,BGP EVPN会发送route update/withdraw即路由撤销报文给Spine设备。
4.路由撤销更新:
故障M-LAG设备BGP会发送route update/withdraw即路由撤销报文给Spine设备。同理,也有可能仅M-LAG中的一台设备发送了路由更新,对端M-LAG未发送,造成的单边路由情况。
5、上报控制器:
Spine设备检测到路由信息变更,上报给控制器。
6、预处理:
控制器获取spine设备上报的路由变更信息。比如:
基于BD1、BD2均收到路由信息1.1.1.0/24,因此可不予处理
基于BD1收到了2.2.2.0/24的路由撤销withdraw信息,BD2未收到(BD2有路由,BD1撤销了)。结合控制器步骤1首次已保存的信息,BD2上的路由信息还在,因此可判定路由2.2.2.0/24在BD2上仍然生效。可转向处理模块1.
同理基于leaf1、leaf2的路由可按上述处理
基于路由4.4.4.0/24在leaf1、leaf2均发送了撤销。可不予处理
处理模块:
对于BD2单边存在的路由2.2.2.0/24,SDN控制器根据纳管BD2获悉到的实VTEP ip11.2.2.2地址.将虚IP替换为BD2的实IP。
控制器因此基于路由前缀2.2.2.0/24编排路由策略配置如下:
匹配路由前缀2.2.2.0/24
匹配路由RD信息或者其他mpls标签、BGP EVPNtype路由等手段来标识某一个vxlan/vpn的路由,来确保路由准确。(其他租户有地址重叠情况)
修改下一跳信息11.2.2.2来保证流量直接送往BD2
对于环境修复正常的情况,新收到路由后,使得M-LAG两边的设备路由重新对称,因此控制器可基于此路由,删除已对Spine下发的路由策略,保证流量正常hash负载分担。
7、配置下发:
SDN控制器通过南向netconf控制器协议下发,在BGP视图针对BGP peer11.2.2.2使能路由策略。或者,对于恢复情况,删除相应的路由策略。
8、下一跳更新
路由策略下发给SPINE后,BGP会发送refresh更新请求,再次收到BD2的路由2.2.2.0/24后,命中路由策略,修改下一跳信息后,作为RR角色,反射此路由给全网设备。
后续流量命中此路由后,根据下一跳是BD2的实IP,因此不会hash到BD1流量绕行,直接发送给BD2,节省带宽,优化转发时延。示例性的,参阅图5所示,为本申请实施例提供的流量转发过程示意图。
基于与上述发明实施例同样的发明构思,示例性的,参阅图6所示,为本申请实施例提供的一种路由管理装置的结构示意图,该装置应用于SDN控制器,该装置包括:
获取单元60,用于获取目标M-LAG系统的各M-LAG设备的路由信息;
比对单元61,用于比对所述目标M-LAG系统的第一M-LAG设备的第一路由信息和第二M-LAG设备的第二路由信息,得到比对结果;
发送单元62,若基于所述比对结果,确定所述第一路由信息中存在匹配项为目标地址的目标路由,而所述第二路由信息中不存在所述目标路由,则所述发送单元62用于,向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送第一路由更新指示,所述路由反射设备基于所述第一路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
可选地,获取目标M-LAG系统的各M-LAG设备发布的路由信息时,所述获取单元60具体用于:
在纳管路由反射设备之后,通过预设协议向所述路由反射设备查询并获取所述目标M-LAG系统的各M-LAG设备的路由信息。
可选地,所述装置还包括:
接收单元,若所述接收单元接收到所述路由反射设备上报的,第二M-LAG设备撤销任一路由的通知,而未接收到所述路由反射设备上报的,第一M-LAG设备撤销该路由的通知,则所述发送单元62还用于,向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送该路由的路由更新指示,所述路由反射设备基于该路由更新指示,将本地路由表中匹配项为该路由的匹配项的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
可选地,所述路由反射设备为组网中的Spine设备,所述M-LAG系统的M-LAG设备为组网中的Border设备/Leaf设备。
可选地,所述装置还包括:
确定单元,若所述确定单元基于所述路由反射设备上报的路由更新信息,确定所述第二路由信息中新增所述目标路由,则所述发送单元62还用于,向所述第一M-LAG设备发送路由策略删除消息,以使得所述第一M-LAG设备向所述路由反射设备发送第二路由更新指示,以使得所述路由反射设备基于所述第二路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述第一M-LAG设备的实IP修改为所述目标M-LAG系统的虚IP。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的路由管理装置,从硬件层面而言,所述路由管理装置的硬件架构示意图可以参见图7所示,所述路由管理装置可以包括:存储器70和处理器71,
存储器70用于存储程序指令;处理器71调用存储器70中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种SDN控制器,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种路由管理方法,其特征在于,应用于SDN控制器,所述方法包括:
获取目标M-LAG系统的各M-LAG设备的路由信息;
比对所述目标M-LAG系统的第一M-LAG设备的第一路由信息和第二M-LAG设备的第二路由信息,得到比对结果;
若基于所述比对结果,确定所述第一路由信息中存在匹配项为目标地址的目标路由,而所述第二路由信息中不存在所述目标路由,则向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送第一路由更新指示,所述路由反射设备基于所述第一路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
2.如权利要求1所述的方法,其特征在于,获取目标M-LAG系统的各M-LAG设备发布的路由信息的步骤包括:
在纳管路由反射设备之后,通过预设协议向所述路由反射设备查询并获取所述目标M-LAG系统的各M-LAG设备发布的路由信息。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到所述路由反射设备上报的,第二M-LAG设备撤销任一路由的通知,而未接收到所述路由反射设备上报的,第一M-LAG设备撤销该路由的通知,则向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送该路由的路由更新指示,所述路由反射设备基于该路由更新指示,将本地路由表中匹配项为该路由的匹配项的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
4.如权利要求1-3任一项所述的方法,其特征在于,所述路由反射设备为组网中的Spine设备,所述M-LAG系统的M-LAG设备为组网中的Border设备/Leaf设备。
5.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
若基于所述路由反射设备上报的路由更新信息,确定所述第二路由信息中新增所述目标路由,则向所述第一M-LAG设备发送路由策略删除消息,以使得所述第一M-LAG设备向所述路由反射设备发送第二路由更新指示,以使得所述路由反射设备基于所述第二路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述第一M-LAG设备的实IP修改为所述目标M-LAG系统的虚IP。
6.一种路由管理装置,其特征在于,应用于SDN控制器,所述装置包括:
获取单元,用于获取目标M-LAG系统的各M-LAG设备的路由信息;
比对单元,用于比对所述目标M-LAG系统的第一M-LAG设备的第一路由信息和第二M-LAG设备的第二路由信息,得到比对结果;
发送单元,若基于所述比对结果,确定所述第一路由信息中存在匹配项为目标地址的目标路由,而所述第二路由信息中不存在所述目标路由,则所述发送单元用于,向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送第一路由更新指示,所述路由反射设备基于所述第一路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
接收单元,若所述接收单元接收到所述路由反射设备上报的,第二M-LAG设备撤销任一路由的通知,而未接收到所述路由反射设备上报的,第一M-LAG设备撤销该路由的通知,则所述发送单元还用于,向所述第一M-LAG设备下发路由策略,以使得所述第一M-LAG设备向所述路由反射设备发送该路由的路由更新指示,所述路由反射设备基于该路由更新指示,将本地路由表中匹配项为该路由的匹配项的路由表项的下一跳由所述目标M-LAG系统的虚IP修改为所述第一M-LAG设备的实IP。
8.如权利要求6-7任一项所述的装置,其特征在于,所述装置还包括:
确定单元,若所述确定单元基于所述路由反射设备上报的路由更新信息,确定所述第二路由信息中新增所述目标路由,则所述发送单元还用于,向所述第一M-LAG设备发送路由策略删除消息,以使得所述第一M-LAG设备向所述路由反射设备发送第二路由更新指示,以使得所述路由反射设备基于所述第二路由更新指示,将本地路由表中匹配项为所述目标地址的路由表项的下一跳由所述第一M-LAG设备的实IP修改为所述目标M-LAG系统的虚IP。
9.一种路由管理装置,其特征在于,所述路由管理装置包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如权利要求1-5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410138214.9A CN117914780A (zh) | 2024-01-31 | 2024-01-31 | 一种路由管理方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410138214.9A CN117914780A (zh) | 2024-01-31 | 2024-01-31 | 一种路由管理方法、装置及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117914780A true CN117914780A (zh) | 2024-04-19 |
Family
ID=90692324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410138214.9A Pending CN117914780A (zh) | 2024-01-31 | 2024-01-31 | 一种路由管理方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117914780A (zh) |
-
2024
- 2024-01-31 CN CN202410138214.9A patent/CN117914780A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9654384B2 (en) | Asymmetrical link aggregation | |
US8654630B2 (en) | Techniques for link redundancy in layer 2 networks | |
US10764119B2 (en) | Link handover method for service in storage system, and storage device | |
KR101038364B1 (ko) | 부하 조절형 네트워크 환경에서의 지능형 장애극복을 위한 방법 및 장치 | |
EP3169024B1 (en) | Designated forwarder (df) election based on static df election procedure | |
CN111092813B (zh) | 一种等价多路径ecmp切换方法、网络设备及系统 | |
US9473360B2 (en) | System and method for primary switch election in peer groups | |
US8856581B2 (en) | Method for resource information backup operation based on peer to peer network and peer to peer network thereof | |
EP2974166B1 (en) | Method and apparatus for ip/mpls fast reroute | |
US9054974B2 (en) | Reliably transporting packet streams using packet replication | |
CN112367254B (zh) | 跨设备链路聚合方法、装置和电子设备 | |
EP3306861A1 (en) | Cluster communication | |
CN112104478B (zh) | 一种链路切换方法、装置、设备及机器可读存储介质 | |
EP3213441B1 (en) | Redundancy for port extender chains | |
US20100014416A1 (en) | Systems and methods for routing data in a communications network | |
US9762433B2 (en) | Fault tolerant folded CLOS networks | |
US20220094768A1 (en) | Processing protocol packet | |
US20220103425A1 (en) | Systems and methods for convergence of network traffic after an interruption of a network device's link | |
CN109815065B (zh) | 双机的主备切换方法、装置、电子设备 | |
CN117914780A (zh) | 一种路由管理方法、装置及相关设备 | |
CN107181678B (zh) | 一种路由收敛的方法及装置 | |
US8885462B2 (en) | Fast repair of a bundled link interface using packet replication | |
WO2022083122A1 (zh) | 网络设备系统的容错方法、装置、计算机设备和存储介质 | |
US11558281B2 (en) | Shared ethernet segment identifier label allocation for ethernet virtual private network multihoming | |
WO2017181778A1 (zh) | 一种双主控设备主控之间链路扩展方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |