CN114374643A - 通信方法及装置 - Google Patents
通信方法及装置 Download PDFInfo
- Publication number
- CN114374643A CN114374643A CN202111585401.4A CN202111585401A CN114374643A CN 114374643 A CN114374643 A CN 114374643A CN 202111585401 A CN202111585401 A CN 202111585401A CN 114374643 A CN114374643 A CN 114374643A
- Authority
- CN
- China
- Prior art keywords
- path
- network device
- path identifier
- bgp
- bgp routing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004891 communication Methods 0.000 title claims abstract description 29
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000006855 networking Effects 0.000 description 6
- 230000001052 transient effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- 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/24—Multipath
-
- 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/26—Route discovery packet
-
- 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/70—Routing based on monitoring results
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种通信方法及装置,该方法应用于第一网络设备,第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值,该方法包括:当进行平滑重启GR主备倒换后,再次接收第二网络设备发送的多条BGP路由报文,每条BGP路由报文包括第二网络设备分配的第二路径标识值;根据第二路径标识值,确定多条BGP路由报文包括相同前缀;分别学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由;从第二网络设备对应的路径标识取值空间内,为对应的每条转发路由分配第三路径标识值,第三路径标识值与第一路径标识值均处于相同的路径标识取值空间。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
当路由器在向某个邻居更新/撤销路由报文时,包括相同前缀的更新/撤销路由报文仅可发送一条,但是,将使得组网内缺少灵活性,尤其是在路由器发生故障的情况下,尤显突出。
如图1所示,图1为多台路由器组网示意图。在图1中,RT5处于自治域(英文:Autonomous System,简称:AS)200内,其通过RT3和RT4两条路径发布路由至AS100内。RT2接收RT3、RT4发送的相同前缀的路由报文。RT2从两条路由中优选一条路由(例如,RT4发送的路由)后,向RT1反射优选路由。RT1接收并记录该条优选路由。此后,对于目的地址为RT5的流量,RT1将通过RT4转发至RT5。
若RT4发生故障,则RT1需等待RT2感知并重新优选路由。RT2向RT1发送由RT3通告的路由。如果RT2同时将RT3、RT4通告的路由均发送至RT1,则RT4故障后RT1可快速感知,并将路径切换至RT3。
为了克服上述缺陷,边界网关协议(英文:Border Gateway Protocol,简称:BGP)协议内新增一添加路径(Addpaths)功能,该功能用于使路由器可发送多条包括相同前缀的路由报文。邻居路由器接收到多条包括相同前缀的路由报文后,通过Addpaths功能分配不同的路径标识(PathId)值对相同前缀的路由进行区分。
目前,分布式的主备环境是提高网络设备可靠性和稳定性的一种常见方式。BGP协议支持平滑重启(英文:Graceful Restart,简称:GR)能力,在主备倒换期时,BGP协议不通知转发层面(FIB)删除对应的路由信息,而FIB利用自身老化机制(大概10分钟)保证了主备倒换期间下发的来自其他邻居的路由信息不删除对应转发表项,如此实现GR主备倒换时转发不中断的效果。
由于进行主备倒换的各网络设备,在BGP邻居重新建立后,本端网络设备将重新从所有邻居处学习之前的路由。当全部的邻居路由均学习完毕后,本端网络设备重新对全部的路由进行优选并发送。此时,将引发一个问题,即倒换后重新学习到的路由的PathId值无法保证与倒换前路由分配的PathId相同。
当远端协商了GR能力但未进行主备倒换的网络设备再次接收到上述路由(相同前缀的路由)后,仍按照前缀与PathId值组合的方式更新路由,此时,将会更新至相同前缀的其他路由上去。如此,将导致出现短暂的转发路径缺少一条。
例如,原有M条相同前缀的路由,当前更新时将A路由更新为B路由,将导致出现两条B路由,实际路由变为M-1条路由,这可能会出现短暂的断流情况(没有路径A对应的路由,流量无法通过路径A转发)。当M条相同前缀的路由全部更新完毕后,才可重新恢复为M条路径,断流消失。
发明内容
有鉴于此,本申请提供了一种通信方法及装置,用以解决现有在进行GR主备倒换后,倒换前后为相同前缀的路由分配PathId值不同,导致出现短暂断流情况的问题。
第一方面,本申请提供了一种通信方法,所述方法应用于第一网络设备,所述第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值,所述方法包括:
当进行平滑重启GR主备倒换后,再次接收所述第二网络设备发送的所述多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第二路径标识值;
根据所述第二路径标识值,确定所述多条BGP路由报文包括相同前缀;
分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由;
从所述第二网络设备对应的路径标识取值空间内,为对应的每条转发由分配第三路径标识值,所述第三路径标识值与所述第一路径标识值均处于相同的路径标识取值空间。
第二方面,本申请提供了一种通信装置,所述装置应用于第一网络设备,所述第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值,所述装置包括:
接收单元,用于当进行平滑重启GR主备倒换后,再次接收所述第二网络设备发送的所述多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第二路径标识值;
确定单元,用于根据所述第二路径标识值,确定所述多条BGP路由报文包括相同前缀;
生成单元,用于分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由;
分配单元,用于从所述第二网络设备对应的路径标识取值空间内,为对应的每条转发路由分配第三路径标识值,所述第三路径标识值与所述第一路径标识值均处于相同的路径标识取值空间。
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,通过应用本申请提供的通信方法及装置,第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值。当进行平滑重启GR主备倒换后,第一网络设备再次接收第二网络设备发送的多条相同的BGP路由报文,每条BGP路由报文包括第二网络设备分配的第二路径标识值。根据第二路径标识值,第一网络设备确定多条BGP路由报文包括相同前缀。第一网络设备分别学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由。从第二网络设备对应的路径标识取值空间内,第一网络设备为对应的每条转发路由分配第三路径标识值,第三路径标识值与第一路径标识值均处于相同的路径标识取值空间。
如此,保证了网络设备在GR主备倒换前后,为邻居网络设备发送的相同前缀的路由分配固定的路径标识值,解决了现有在进行GR主备倒换后,倒换前后为相同前缀的路由分配PathId值不同,导致出现短暂断流情况的问题。
附图说明
图1为多台路由器组网示意图;
图2为本申请实施例提供的通信方法的流程图;
图3为本申请实施例提供的应用通信方法的组网示意图;
图4为本申请实施例提供的通信装置结构图;
图5为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的通信方法进行详细地说明。参见图2,图2为本申请实施例提供的通信方法的流程图。该方法应用于第一网络设备。本申请实施例提供的通信方法可包括如下所示步骤。
步骤210、当进行平滑重启GR主备倒换后,再次接收所述第二网络设备发送的多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第二路径标识值。
具体地,第一网络设备与第二网络设备建立BGP邻居,在建立BGP邻居的过程中,第一网络设备与第二网络设备相互协商是否支持Addpaths功能以及在支持Addpaths功能下,该功能所支持的发送相同前缀路由的最大数量。
第一网络设备与第二网络设备建立BGP邻居后,第一网络设备为自身预留第一路径标识取值空间,该第一路径标识取值空间内包括第一数量个连续的路径标识值。第一网络设备还为第二网络设备分配第二路径标识取值空间,该第二路径标识取值空间内包括第二数量个连续的路径标识值。第一网络设备记录为第二网络设备分配的路径标识取值空间。
需要说明的是,第一网络设备记录为第二网络设备分配的路径标识取值空间,可使得后续第一网络设备进行GR主备倒换后,再次接收到第二网络设备发送的多条BGP路由报文时,从相同的路径标识取值空间内为多条BGP路由报文对应的多路径转发路由分配固定的路径标识值。
其中,第一路径标识取值空间用于本地引入其他路由协议(例如,OSPF协议、IS-IS协议)或者也可用于从其他网络设备处学习到相同前缀的路由后,从该空间内为相同前缀的路由分配路径标识值。第二路径标识取值空间用于接收到BGP邻居发送相同前缀的路由后,从该空间内为相同前缀的路由分配路径标识值。
第一路径标识取值空间与第二路径标识取值空间不重叠;第一数量、第二数量为网络设备根据自身的内存大小,预留或者分配路径标识取值空间的最大值;或者,第一数量、第二数量为网络设备与邻居网络设备在相互协商Addpaths功能时,各自可发送相同前缀的BGP路由报文的最大数量。
可以理解的是,第二网络设备与第一网络设备建立BGP邻居后,第二网络设备也为自身预留第三路径标识取值空间,该第三路径标识取值空间内包括第三数量个连续的路径标识值。第二网络设备也为第一网络设备分配第四路径标识取值空间,该第四路径标识取值空间内包括第四数量个连续的路径标识值。第二网络设备记录为第一网络设备分配的路径标识取值空间。
例如,第一网络设备在协商Addpaths功能过程中,自身可支持发送相同前缀路由的最大数量为M条,则第一数量具体为M个,第一路径标识取值空间具体为[0,M-1];第二网络设备在协商Addpaths功能过程中,自身可支持发送相同前缀路由的最大数量为N条,则第二数量具体N个,第二路径标识取值空间具体为[M,M+N-1]。
第三路径标识取值空间、第四路径标识取值空间与前述第一路径标识取值空间、第二路径标识取值空间的功能、配置类似,在此不再复述。
可以理解的是,若接收到的BGP路由的条数超过路径表示取值空间的最大值,则对于超过最大值的BGP路由,网络设备因为其不会向其他BGP邻居同步,不再对超过最大值的BGP路由分配路径标识值。
第二网络设备预向第一网络设备同步包括相同前缀的多条BGP路由,该包括相同前缀的多条BGP路由可为第二网络设备内已配置的其他路由协议模块引入或者第二网络设备从第三网络设备处学习的。第二网络设备从第三路径标识取值空间内为每条BGP路由分配一路径标识值,即第四路径标识值。第二网络设备记录每条BGP路由与第四路径标识值的对应关系。第二网络设备生成多条BGP路由报文,每条BGP路由报文包括第二网络设备分配的第四路径标识值。
其中,第四路径标识值仅用于区分是由第二网络设备在向第一网络设备同步相同前缀的多条BGP路由时分配,该路径标识值也可称之为第一路径标识值、第二路径标识值等等,在此仅以第四路径标识值为例进行说明。
第二网络设备在BGP路由报文内携带第四路径标识值用于使接收多条BGP路由报文的第一网络设备确定多条BGP路由报文包括相同前缀。
第二网络设备向第一网络设备发送多条BGP路由报文。第一网络设备接收到多条BGP路由报文后,从每条BGP路由报文内获取第四路径标识值。
根据第四路径标识值,第一网络设备确定发送的多条BGP路由报文内包括相同前缀。第一网络设备分别学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由。第一网络设备从本地配置的第二路径标识取值空间内,为每条转发路由分配第一路径标识值。
可以理解的是,第一网络设备也可通过从多条BGP路由报文中获取多个前缀后比较,确定为相同前缀。
例如,第二网络设备发送了5条BGP路由报文。根据5条BGP路由报文包括的第四路径标识值,第一网络设备确定发送的5条BGP路由报文内包括相同前缀。第一网络设备分别学习每条BGP路由报文,并生成到达相同前缀的5条转发路由。第一网络设备从本地配置的第二路径标识取值空间内[M,M+N-1],为每条转发路由分配第一路径标识值。
需要说明的是,第一网络设备每次与一台新网络设备建立BGP邻居后,均会为该新BGP邻居分配还未占用的路径标识取值空间。
第一网络设备分配第一路径标识之后,若此时,第一网络设备出现故障,且第一网络设备为主设备,则第一网络设备进行GR主备倒换。
第一网设备进行GR主备倒换后,将重新从所有邻居处学习之前已学习过的路由。如前所述第二网络发送的多条BGP路由过程相同,第二网络设备从已记录的多条BGP路由与第四路径标识值的对应关系中,确定在先为每条BGP路由分配的第四路径标识值,并再从第三路径标识取值空间内为每条BGP路由分配一路径标识值,即第二路径标识值。第二网络设备生成多条BGP路由报文,每条BGP路由报文包括第二网络设备分配的第二路径标识值。
第一网络设备再次接收第二网络设备发送的多条BGP路由报文,并从每条BGP路由报文内获取第二路径标识值。
从本步骤的描述可知,网络设备接收到邻居发送的包括相同前缀的多条BGP路由报文后,从本地为该邻居分配的路径标识取值空间内为多条BGP路由对应生成的多路径转发路由分配路径标识值。而网络设备在向邻居发送包括相同前缀的多条BGP路由报文时,从本地预留的路径标识取值空间内为每条BGP路由分配路径标识值。
因此,在本申请实施例中,第二网络设备分配的第四路径标识值、第二路径标识值均出自第三路径标识取值空间,第四路径标识值与第二路径标识值可为相同的路径标识值。其中,第二网络设备可在分配第四路径标识值后,在本地记录为每条转发路由分配的路径标识值,以使得在后续第一网络设备GR主备倒换后再次发送BGP路由报文时,为BGP路由报文对应的转发路由分配相同的路径标识值。
步骤220、根据所述第二路径标识值,确定所述多条BGP路由报文包括相同前缀。
具体地,根据步骤210的描述,第一网络设备从每条BGP路由报文内获取到第二路径标识值后,确定该多条BGP路由报文包括相同前缀。
可以理解的是,第一网络设备也可通过从多条BGP路由报文中获取多个前缀后比较,确定为相同前缀。
步骤230、分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由。
具体地,本步骤中,第一网络设备学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由与现有学习、生成方式相同,在此不再复述。
步骤240、从所述第二网络设备对应的路径标识取值空间内,为对应的每条转发路由分配第三路径标识值,所述第三路径标识值与所述第一路径标识值均处于相同的路径标识取值空间。
具体地,根据步骤230的描述,第一网络设备生成多路径转发路由后,从已记录的多路径转发路由与第一路径标识值的对应关系中,确定在先为每条转发路由分配的第一路径标识值,并再次从第二路径标识取值空间内,为对应的每条转发路由分配与第一路径标识值相同的第三路径标识值。
可以理解的是,在本申请实施例中,第一网络设备分配的第三路径标识值、第一路径标识值均出自第二路径标识取值空间,第三路径标识值与第一路径标识值为相同的路径标识值。如此,第一网络设备在GR主备倒换前后,为第二网络设备发送的相同前缀的路由分配固定的路径标识值。
因此,通过应用本申请提供的通信方法,第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值。当进行平滑重启GR主备倒换后,第一网络设备再次接收第二网络设备发送的多条相同的BGP路由报文,每条BGP路由报文包括第二网络设备分配的第二路径标识值。根据第二路径标识值,第一网络设备确定多条BGP路由报文包括相同前缀。第一网络设备分别学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由。从第二网络设备对应的路径标识取值空间内,第一网络设备为对应的每条转发路由分配第三路径标识值,第三路径标识值与第一路径标识值均处于相同的路径标识取值空间。
如此,保证了网络设备在GR主备倒换前后,为邻居网络设备发送的相同前缀的路由分配固定的路径标识值,解决了现有在进行GR主备倒换后,倒换前后为相同前缀的路由分配PathId值不同,导致出现短暂断流情况的问题。
可选地,在本申请实施例中,还包括第一网络设备向其他BGP邻居(例如,第三网络设备)同步路由的过程。
具体地,第一网络设备预向第三网络设备同步包括相同前缀的多条BGP路由,该包括相同前缀的多条BGP路由可为第一网络设备内已配置的其他路由协议模块(除BGP模块之外的协议模块,例如,OSPF协议模块、IS-IS协议模块等)引入;或者,该包括相同前缀的多条BGP路由也可为从其他网络设备处学习到的相同前缀路由。
第一网络设备从预留的第一路径标识取值空间内为每条BGP路由分配一路径标识值,即第五路径标识值。第一网络设备生成多条BGP路由报文,每条BGP路由报文包括第一网络设备分配的第五路径标识值。
第一网络设备在BGP路由报文内携带第五路径标识值用于使接收多条BGP路由报文的第三网络设备确定多条BGP路由报文包括相同前缀。
可以理解的是,第三网络设备接收到多条BGP路由报文后,其执行前述第一网络设备接收多条BGP路由报文时的过程,在此不再复述。
可选地,在本申请实施例中,还包括当第一网络设备与第二网络设备断开已建立的BGP邻居时,第一网络设备释放为第二网络设备分配的第二路径标识取值空间。
若后续,第一网络设备再次与第二网络设备建立BGP邻居,并协商Addpaths功能时,第一网络设备可再次为第二网络设备分配路径标识取值空间。
下面通过一个具体示例详细说明本申请实施例提供的通信方法。以图3所示的组网为例进行说明。图3为本申请实施例提供的应用通信方法的组网示意图。
在图3中,包括三台网络设备,分别为路由器A、路由器B以及路由器C。路由器A与路由器B已建立BGP邻居,并协商支持Addpaths功能以及在支持Addpaths功能下,该功能所支持的发送相同前缀路由的最大数量。例如,路由器A可支持发送相同前缀路由的最大数量为10条,路由器B可支持发送相同前缀路由的最大数量为15条。
路由器A在本地为自身预留第一路径标识取值空间[0,10],为路由器B分配第二路径标识取值空间[11,25]。
同理,路由器B在本地为自身预留第三路径标识取值空间[0,15],为路由器A分配第四路径标识取值空间[16,25]。
路由器B与路由器C已建立BGP邻居,并协商支持Addpaths功能以及在支持Addpaths功能下,该功能所支持的发送相同前缀路由的最大数量。例如,路由器B可支持发送相同前缀路由的最大数量为15条,路由器C可支持发送相同前缀路由的最大数量为20条。
路由器B还为路由器C分配第五路径标识取值空间[26,45]。同理,路由器C在本地为自身预留第六路径标识取值空间[0,20],为路由器B分配第七路径标识取值空间[21,35]。
可以理解的是,在本申请实施例中,均以各路由器所支持的发送相同前缀路由的最大数量作为路径标识取值空间的最大值为例进行说明。
路由器C预向路由器B同步包括相同前缀的5条BGP路由,路由器C从第六路径标识取值空间[0,20]内分别为5条BGP路由选取5个路径标识值(统称为PathId1,每个PathId1为不同的Id)。路由器C生成5条BGP路由报文,每条BGP路由报文包括路由器C分配的PathId1。路由器C记录每条BGP路由对应的PathId1。
路由器B接收到5条BGP路由报文后,从每条BGP路由报文内获取PathId1。根据PathId1,路由器B确定发送的5条BGP路由报文内包括相同前缀。路由器B分别学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由。路由器B从本地配置的与路由器C对应的第五路径标识取值空间[26,45]内分别为5条转发路由选取5个路径标识值(统称为PathId2,每个PathId2为不同的Id)。路由器B记录每条转发路由对应的PathId2。
路由器B预向路由器A同步从路由器C处学习的5条具有相同前缀的路由。路由器B从第三路径标识取值空间[0,15]内分别为5条BGP路由选取5个路径标识值(统称为PathId3,每个PathId3为不同的Id)。路由器B生成5条BGP路由报文,每条BGP路由报文包括路由器B分配的PathId3。路由器B记录每条BGP路由对应的PathId3。
路由器A接收到5条BGP路由报文后,从每条BGP路由报文内获取PathId3。根据PathId3,路由器A确定发送的5条BGP路由报文内包括相同前缀。路由器A分别学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由。路由器A从本地配置的与路由器B对应的第二路径标识取值空间[11,25]内分别为5条转发路由选取5个路径标识值(统称为PathId4,每个PathId4为不同的Id)。路由器A记录每条转发路由对应的PathId4。
路由器A分配PathId4之后,若此时,路由器A出现故障,且路由器A为主设备,则路由器A进行GR主备倒换。
路由器A进行GR主备倒换后,将重新从所有邻居处学习之前已学习过的路由。如前所述路由器B发送的5条BGP路由过程(可以理解的是,这5条BGP路由为路由器B从路由器C处学习到的)相同,路由器B再从第三路径标识取值空间内[0,15]内分别为5条BGP路由选取5个路径标识值(统称为PathId5,该PathId5与PathId3相同)。路由器B生成5条BGP路由报文,每条BGP路由报文包括路由器B分配的PathId5。
路由器A再次接收路由器B发送的5条BGP路由报文,并从每条BGP路由报文内获取PathId5。根据PathId5,路由器A确定发送的5条BGP路由报文内包括相同前缀。路由器A分别学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由。路由器A根据在前记录的每条转发路由对应的PathId4,再次从本地配置的与路由器B对应的第二路径标识取值空间[11,25]内分别为5条转发路由选取5个路径标识值(统称为PathId6,该PathId6与PathId4相同)。
因此,在本申请实施例中,路由器A分配的PathId4、PathId6均出自第二路径标识取值空间[11,25]内且为相同的Id。如此,保证了网络设备在GR主备倒换前后,为邻居网络设备发送的相同前缀的路由分配固定的路径标识值,解决了现有在进行GR主备倒换后,倒换前后为相同前缀的路由分配PathId值不同,导致出现短暂断流情况的问题。
基于同一发明构思,本申请实施例还提供了与通信方法对应的通信装置。参见图4,图4为本申请实施例提供的通信装置结构图。所述装置应用于第一网络设备,所述第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值,所述装置包括:
接收单元410,用于当进行平滑重启GR主备倒换后,再次接收所述第二网络设备发送的所述多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第二路径标识值;
确定单元420,用于根据所述第二路径标识值,确定所述多条BGP路由报文包括相同前缀;
生成单元430,用于分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由;
分配单元440,用于从所述第二网络设备对应的路径标识取值空间内,为对应的每条转发路由分配第三路径标识值,所述第三路径标识值与所述第一路径标识值均处于相同的路径标识取值空间。
可选地,所述接收单元410还用于,接收所述第二网络设备发送的所述多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第四路径标识值,所述第四路径标识值与所述第二路径标识值均处于相同的路径标识取值空间;
所述确定单元420还用于,根据所述第四路径标识值,确定所述多条BGP路由报文包括相同前缀;
所述生成单元430还用于,分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由;
所述分配单元440还用于,从所述第二网络设备对应的路径标识取值空间内,为每条转发路由分配第一路径标识值。
可选地,所述装置还包括:
预留单元(图中未示出),用于为所述第一网络设备预留第一路径标识取值空间,所述第一路径标识取值空间内包括第一数量个连续的路径标识值;
配置单元(图中未示出),用于为所述第二网络设备分配第二路径标识取值空间,所述第二路径标识取值空间内包括第二数量个连续的路径标识值;
记录单元(图中未示出),用于记录为所述第二网络设备分配的路径标识取值空间;
其中,所述第一路径标识取值空间与所述第二路径标识取值空间不重叠。
可选地,所述装置还包括:
发送单元(图中未示出),用于向第三网络设备发送多条BGP路由报文,每条BGP路由报文包括第五路径标识,以使得所述第三网络设备根据所述第五路径标识,确定所述多条BGP路由报文包括相同前缀;
其中,每条BGP路由为所述第一网络设备中BGP模块引入的除所述BGP模块之外的其他路由协议模块学习的路由,所述第五路径标识归属于所述第一路径标识取值空间。
可选地,所述装置还包括:
释放单元(图中未示出),用于当与所述第二网络设备断开已建立的BGP邻居时,释放为所述第二网络设备分配的所述第二路径标识取值空间。
因此,通过应用本申请提供的通信装置,第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值。当进行平滑重启GR主备倒换后,第一网络设备再次接收第二网络设备发送的多条BGP路由报文,每条BGP路由报文包括第二网络设备分配的第二路径标识值。根据第二路径标识值,第一网络设备确定多条BGP路由报文包括相同前缀。第一网络设备分别学习每条BGP路由报文,并生成到达相同前缀的多路径转发路由。从第二网络设备对应的路径标识取值空间内,第一网络设备为对应的每条转发路由分配第三路径标识值,第三路径标识值与第一路径标识值均处于相同的路径标识取值空间。
如此,保证了网络设备在GR主备倒换前后,为邻居网络设备发送的相同前缀的路由分配固定的路径标识值,解决了现有在进行GR主备倒换后,倒换前后为相同前缀的路由分配PathId值不同,导致出现短暂断流情况的问题。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图5所示,包括处理器510、收发器520和机器可读存储介质530,机器可读存储介质530存储有能够被处理器510执行的机器可执行指令,处理器510被机器可执行指令促使执行本申请实施例所提供的通信方法。前述图4所示的通信装置,可采用如图5所示的网络设备硬件结构实现。
上述计算机可读存储介质530可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质530还可以是至少一个位于远离前述处理器510的存储装置。
上述处理器510可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器510通过读取机器可读存储介质530中存储的机器可执行指令,被机器可执行指令促使能够实现处理器510自身以及调用收发器520执行前述本申请实施例描述的通信方法。
另外,本申请实施例提供了一种机器可读存储介质530,机器可读存储介质530存储有机器可执行指令,在被处理器510调用和执行时,机器可执行指令促使处理器510自身以及调用收发器520执行前述本申请实施例描述的通信方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于通信装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种通信方法,其特征在于,所述方法应用于第一网络设备,所述第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值,所述方法包括:
当进行平滑重启GR主备倒换后,再次接收所述第二网络设备发送的所述多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第二路径标识值;
根据所述第二路径标识值,确定所述多条BGP路由报文包括相同前缀;
分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由;
从所述第二网络设备对应的路径标识取值空间内,为对应的每条转发路由分配第三路径标识值,所述第三路径标识值与所述第一路径标识值均处于相同的路径标识取值空间。
2.根据权利要求1所述的方法,其特征在于,所述当进行平滑重启GR后,再次接收所述第二网络设备发送的所述多条BGP路由报文之前,所述方法还包括:
接收所述第二网络设备发送的所述多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第四路径标识值,所述第四路径标识值与所述第二路径标识值均处于相同的路径标识取值空间;
根据所述第四路径标识值,确定所述多条BGP路由报文包括相同前缀;
分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由;
从所述第二网络设备对应的路径标识取值空间内,为每条转发路由分配第一路径标识值。
3.根据权利要求1所述的方法,其特征在于,所述当进行平滑重启GR后,再次接收所述第二网络设备发送的所述多条BGP路由报文之前,所述方法还包括:
为所述第一网络设备预留第一路径标识取值空间,所述第一路径标识取值空间内包括第一数量个连续的路径标识值;
为所述第二网络设备分配第二路径标识取值空间,所述第二路径标识取值空间内包括第二数量个连续的路径标识值;
记录为所述第二网络设备分配的路径标识取值空间;
其中,所述第一路径标识取值空间与所述第二路径标识取值空间不重叠。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
向第三网络设备发送多条BGP路由报文,每条BGP路由报文包括第五路径标识,以使得所述第三网络设备根据所述第五路径标识,确定所述多条BGP路由报文包括相同前缀;
其中,每条BGP路由为所述第一网络设备中BGP模块引入的除所述BGP模块之外的其他路由协议模块学习的路由,所述第五路径标识归属于所述第一路径标识取值空间。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当与所述第二网络设备断开已建立的BGP邻居时,释放为所述第二网络设备分配的所述第二路径标识取值空间。
6.一种通信装置,其特征在于,所述装置应用于第一网络设备,所述第一网络设备接收第二网络设备发送的多条包括相同前缀的BGP路由报文,且已为多条BGP路由报文对应的多路径转发路由分配第一路径标识值,所述装置包括:
接收单元,用于当进行平滑重启GR主备倒换后,再次接收所述第二网络设备发送的所述多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第二路径标识值;
确定单元,用于根据所述第二路径标识值,确定所述多条BGP路由报文包括相同前缀;
生成单元,用于分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由;
分配单元,用于从所述第二网络设备对应的路径标识取值空间内,为对应的每条转发路由分配第三路径标识值,所述第三路径标识值与所述第一路径标识值均处于相同的路径标识取值空间。
7.根据权利要求6所述的装置,其特征在于,所述接收单元还用于,接收所述第二网络设备发送的所述多条BGP路由报文,每条BGP路由报文包括所述第二网络设备分配的第四路径标识值,所述第四路径标识值与所述第二路径标识值均处于相同的路径标识取值空间;
所述确定单元还用于,根据所述第四路径标识值,确定所述多条BGP路由报文包括相同前缀;
所述生成单元,还用于分别学习每条BGP路由报文,并生成到达所述相同前缀的多路径转发路由;
所述分配单元还用于,从所述第二网络设备对应的路径标识取值空间内,为每条转发路由分配第一路径标识值。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
预留单元,用于为所述第一网络设备预留第一路径标识取值空间,所述第一路径标识取值空间内包括第一数量个连续的路径标识值;
配置单元,用于为所述第二网络设备分配第二路径标识取值空间,所述第二路径标识取值空间内包括第二数量个连续的路径标识值;
记录单元,用于记录为所述第二网络设备分配的路径标识取值空间;
其中,所述第一路径标识取值空间与所述第二路径标识取值空间不重叠。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
发送单元,用于向第三网络设备发送多条BGP路由报文,每条BGP路由报文包括第五路径标识,以使得所述第三网络设备根据所述第五路径标识,确定所述多条BGP路由报文包括相同前缀;
其中,每条BGP路由为所述第一网络设备中BGP模块引入的除所述BGP模块之外的其他路由协议模块学习的路由,所述第五路径标识归属于所述第一路径标识取值空间。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
释放单元,用于当与所述第二网络设备断开已建立的BGP邻居时,释放为所述第二网络设备分配的所述第二路径标识取值空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111585401.4A CN114374643B (zh) | 2021-12-22 | 2021-12-22 | 通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111585401.4A CN114374643B (zh) | 2021-12-22 | 2021-12-22 | 通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114374643A true CN114374643A (zh) | 2022-04-19 |
CN114374643B CN114374643B (zh) | 2024-02-09 |
Family
ID=81139316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111585401.4A Active CN114374643B (zh) | 2021-12-22 | 2021-12-22 | 通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114374643B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060171404A1 (en) * | 2004-04-28 | 2006-08-03 | Gargi Nalawade | Network routing apparatus that performs soft graceful restart |
CN101420327A (zh) * | 2008-12-02 | 2009-04-29 | 杭州华三通信技术有限公司 | 平滑重启过程中避免路由振荡的方法及平滑重启设备 |
CN102281199A (zh) * | 2011-08-16 | 2011-12-14 | 华为数字技术有限公司 | 路由设备、路由反射器、路由信息处理方法和系统 |
CN103944822A (zh) * | 2013-01-21 | 2014-07-23 | 杭州华三通信技术有限公司 | Bgp路由通告方法和装置及bgp路由维护方法和装置 |
CN106411728A (zh) * | 2016-09-29 | 2017-02-15 | 杭州华三通信技术有限公司 | 路由处理方法和装置 |
CN111726291A (zh) * | 2019-08-30 | 2020-09-29 | 新华三技术有限公司 | 一种路径切换方法及网络设备 |
-
2021
- 2021-12-22 CN CN202111585401.4A patent/CN114374643B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060171404A1 (en) * | 2004-04-28 | 2006-08-03 | Gargi Nalawade | Network routing apparatus that performs soft graceful restart |
CN101420327A (zh) * | 2008-12-02 | 2009-04-29 | 杭州华三通信技术有限公司 | 平滑重启过程中避免路由振荡的方法及平滑重启设备 |
CN102281199A (zh) * | 2011-08-16 | 2011-12-14 | 华为数字技术有限公司 | 路由设备、路由反射器、路由信息处理方法和系统 |
CN103944822A (zh) * | 2013-01-21 | 2014-07-23 | 杭州华三通信技术有限公司 | Bgp路由通告方法和装置及bgp路由维护方法和装置 |
CN106411728A (zh) * | 2016-09-29 | 2017-02-15 | 杭州华三通信技术有限公司 | 路由处理方法和装置 |
CN111726291A (zh) * | 2019-08-30 | 2020-09-29 | 新华三技术有限公司 | 一种路径切换方法及网络设备 |
Non-Patent Citations (2)
Title |
---|
M. JETHANANDANI;VMWARE;K. PATEL;ARRCUS;S. HARES;HUAWEI;: "BGP YANG Model for Service Provider Networks draft-ietf-idr-bgp-model-06", IETF * |
王婷;程友清;邓冬平;: "BGP Add-path的研究与实现", 电子设计工程, no. 13 * |
Also Published As
Publication number | Publication date |
---|---|
CN114374643B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107733793B (zh) | 一种转发表项维护方法及装置 | |
EP1093262B1 (en) | Method, computer program and apparatus to maintain timely topology data within a link state routing network | |
US9197583B2 (en) | Signaling of attachment circuit status and automatic discovery of inter-chassis communication peers | |
US8228786B2 (en) | Dynamic shared risk node group (SRNG) membership discovery | |
JP5152642B2 (ja) | パケットリングネットワークシステム、パケット転送方法、およびノード | |
CN109660442B (zh) | Overlay网络中组播复制的方法及装置 | |
CN105577502B (zh) | 业务传送方法及装置 | |
CN108964940B (zh) | 消息发送方法及装置、存储介质 | |
US20170149685A1 (en) | Address information publishing method and apparatus | |
CN115552861B (zh) | 生成转发表项的方法、发送报文的方法、网络设备及系统 | |
CN110266833B (zh) | Ip地址管理方法及边缘集群 | |
KR101457317B1 (ko) | 라우팅 정보 업데이트의 우선 순위 지정 | |
CN113285876A (zh) | 路由方法、路由装置及计算机可读存储介质 | |
KR102245989B1 (ko) | 가상사설망의 이중화 관리 방법 및 그 방법이 구현된 네트워크 스위칭장치 | |
WO2021143279A1 (zh) | 段路由业务处理方法和装置、路由设备及存储介质 | |
CN102025552A (zh) | 链路状态通告的备份方法及设备 | |
CN107682261B (zh) | 流量转发方法及装置 | |
CN113904981B (zh) | 一种路由信息处理方法、装置、电子设备和存储介质 | |
CN104160667A (zh) | 双上行相切环收敛的方法、设备和系统 | |
CN114301824A (zh) | 多接入网络中的边界网关协议的邻居发现 | |
CN112350936A (zh) | 一种内部网关协议泛洪优化方法及装置、存储介质 | |
CN114374643B (zh) | 通信方法及装置 | |
WO2022088931A1 (zh) | 信息处理方法及其装置、宽带接入服务器、存储介质 | |
WO2021189993A1 (zh) | 路由方法、路由装置及计算机可读存储介质 | |
CN109067647B (zh) | 路由信息维护方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |