CN101304379A - 边界网关协议路由决策方法及装置 - Google Patents
边界网关协议路由决策方法及装置 Download PDFInfo
- Publication number
- CN101304379A CN101304379A CNA2008101159289A CN200810115928A CN101304379A CN 101304379 A CN101304379 A CN 101304379A CN A2008101159289 A CNA2008101159289 A CN A2008101159289A CN 200810115928 A CN200810115928 A CN 200810115928A CN 101304379 A CN101304379 A CN 101304379A
- Authority
- CN
- China
- Prior art keywords
- bgp
- decision
- timer
- message
- receive
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种边界网关协议BGP路由决策方法,该方法包括:设置一种在BGP路由更新完毕后向邻居发送的BGP决策报文,并设置在BGP邻居建立后启动的决策等待定时器T1,设备根据邻居发送的BGP决策报文和设置的定时器T1进行BGP路由决策。另外,本发明还提供了一种BGP路由决策装置。利用本发明所提供的技术方案,能够减少BGP路由决策的资源占用。
Description
技术领域
本发明涉及通信网络中的路由技术,尤其涉及一种边界网关协议(BGP,Border Gateway Protocol)路由决策方法及装置。
背景技术
BGP是一种用于自治系统间的动态路由协议,其主要作用是在自治系统之间交换网络可达性信息。目前,常用的BGP报文主要包括以下5种:初始化(Open)报文、更新(Update)报文、通知(Notification)报文、保持激活(Keep Alive)报文和路由刷新(Route Refresh)报文。其中,BGP Update报文用于在建立BGP连接的两个相邻实体(也称为BGP对等体或邻居)之间传递路由信息,它不仅可以发布可达路由信息,也可以撤销不可达路由信息。当需要发送的路由数目较多,一个BGP Update报文装不下时,可以通过多个BGP Update报文来发送。
在现有的BGP协议中,运行BGP协议的设备在收到任何一个邻居发来的BGP Update报文后,都会触发路由管理模块(RM,Route Management)进行BGP路由决策(Route Decision)。比如,参见图1所示的网络结构,设备A和设备X、Y、Z建立BGP连接之后,X、Y、Z都会向A发送一个携带路由N的BGP Update报文,A在每收到一个BGP Update报文后,都会执行BGP路由决策。
现有的这种以收到BGP Update报文作为路由决策触发条件的做法,存在以下缺点:在BGP邻居较多或者网络拓扑不稳定或者路由数目很多需要分多个BGP Update报文发送的情况下,设备会收到很多BGP Update报文,此时如果以收到BGP Update报文作为路由决策的触发条件,则显然会导致设备频繁地进行BGP路由决策,从而占用设备大量的内存和CPU资源,影响设备的转发性能和稳定性。
发明内容
有鉴于此,本发明的目的在于提供一种BGP路由决策方法及装置,减少BGP路由决策的资源占用。
为达到上述目的,本发明提供的技术方案如下:
一种边界网关协议BGP路由决策方法,该方法包括:设置一种在BGP路由更新完毕后向邻居发送的BGP决策报文,并设置在BGP邻居建立后启动的决策等待定时器T1,设备根据邻居发送的BGP决策报文和设置的定时器T1进行BGP路由决策。
所述设备根据邻居发送的BGP决策报文和设置的定时器T1进行BGP路由决策包括:a、在定时器T1超时之前,判断是否收到所有邻居发送的BGP决策报文,如果收到所有,则立即执行BGP路由决策;如果只收到部分,则等待定时器T1超时后再执行BGP路由决策;如果未收到任何BGP决策报文,则将定时器T1清零并重启,返回执行步骤a。
所述执行BGP路由决策后进一步包括:将定时器T1清零并重启,然后返回执行步骤a。
进一步设置决策间隔定时器T2,所述执行BGP路由决策后进一步包括:将定时器T1清零,并启动定时器T2。
所述启动定时器T2后进一步包括:
b、判断在定时器T2超时之前是否收到邻居发送的BGP决策报文,如果收到,则等待定时器T2超时后再执行BGP路由决策,然后将定时器T2清零停止,并重新启动定时器T1,返回执行步骤a;如果没有收到任何BGP决策报文,则将定时器T2清零停止,并重新启动定时器T1,返回执行步骤a。
所述BGP决策报文包括报文头和报文两部分,其中,报文头包括标记符Marker、长度Length和类型Type,报文部分包括地址族标识符AFI、保留区域Res.和后继地址族标识符SAFI。
一种BGP路由决策装置,该装置包括:报文接收单元、路由决策单元以及在BGP邻居建立后启动的决策等待定时器T1,其中,
报文接收单元,用于接收BGP邻居在BGP路由更新完毕后发送的BGP决策报文,并将收到的BGP决策报文发送给路由决策单元;
路由决策单元,用于根据收到的BGP决策报文和定时器T1进行BGP路由决策。
所述路由决策单元判断在定时器T1超时前是否收到所有邻居发送的BGP决策报文,如果收到所有,则立即执行BGP路由决策;如果只收到部分,则等待定时器T1超时后再执行BGP路由决策;如果未收到任何BGP决策报文,则将定时器T1清零并重启,返回执行所述判断操作。
所述路由决策单元在执行BGP路由决策后,进一步将定时器T1清零重启,并返回执行所述判断操作。
该装置进一步包括:决策间隔定时器T2;
所述路由决策单元进一步用于,在执行BGP路由决策后将定时器T1清零,并启动定时器T2,然后判断在定时器T2超时之前是否收到邻居发送的BGP决策报文,如果收到,则等待定时器T2超时后再执行BGP路由决策,然后将定时器T2清零停止,并重新启动定时器T1,返回执行所述判断是否收到所有邻居发送的BGP决策报文的操作;如果没有收到任何BGP决策报文,则将定时器T2清零停止,并重新启动定时器T1,返回执行所述判断是否收到所有邻居发送的BGP决策报文的操作。
由此可见,在本发明所提供的技术方案中,BGP路由决策并不是以收到BGP Update报文作为触发条件的,而是根据新增的BGP决策报文和设置的决策等待定时器进行的,这样可以避免设备因不断收到BGP Update报文而频繁地进行BGP路由决策,从而减少了BGP路由决策对设备内存和CPU资源的占用,保证了设备的转发性能和稳定性。
附图说明
图1为现有技术中的网络结构示意图;
图2为本发明实施例中的BGP路由决策流程图;
图3为本发明实施例中的BGP路由决策装置结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本发明作进一步详细说明。
为了克服现有技术中的问题,本发明需要在现有的5种BGP报文基础上增加一种新的BGP报文:BGP决策报文。任何一个运行BGP协议的设备在BGP路由更新完毕后即向邻居发送完所有BGP Update报文后,都要向邻居发送BGP决策报文,以表示自身路由更新完毕。
需要说明的是,在邻居刚建立时,即使没有路由更新,也要向邻居发送一次BGP决策报文;后续过程中,只在每次完成路由更新后发送BGP决策报文,如果没有路由更新,则不发送BGP决策报文。
BGP决策报文包括报文头和报文两部分。BGP报文头格式如表1所示,包括标记符(Marker)、长度(Length)和类型(Type),其中,Marker共16个字节,一般为全F;Length表示BGP报文长度,2个字节,大小一般位于19和4096之间;Type表示BGP报文类型,1个字节,现有的5种BGP报文Open、Update、Notification、Keep Alive和Route Refresh的Type值分别为1、2、3、4、5,为与现有的BGP报文区分,新增BGP决策报文的Type只要不同于已被使用的Type值即可,比如,令BGP决策报文的Type为6。
表2示出了BGP决策报文除去BGP报文头后的报文格式,包括:地址族标识符(AFI)、保留区域(Res.)和后继地址族标识符(SAFI),其中,AFI和SAFI的长度分别为16位和8位,它们的意义和编码方式与RFC2858中定义的相同,可以扩展支持各个协议,如因特网协议4(IPv4)、因特网协议6(IPv6)、多协议扩展BGP(MBGP)等;Res.长度为8位,发送方将它置为0,接收方忽略该域的信息。
表1 BGP报文头格式
表2 BGP决策报文的报文格式
除了新增BGP决策报文之外,本发明还需要设置两个定时器:决策等待定时器T1和决策间隔定时器T2,T2的定时时长通常大于T1,在具体实现时,可以将T2的定时时长设置在分钟级,如2分钟;将T1的定时时长设置在秒级,如10秒,定时器T1在BGP邻居建立后启动。
在本发明中,BGP路由决策并不是在收到BGP Update报文便立即执行,而是根据BGP决策报文和定时器T1、T2进行。图2示出了本发明实施例中利用BGP决策报文及定时器T1、T2进行BGP路由决策的流程图,包括以下步骤:
步骤201:BGP邻居建立后,设备立即启动定时器T1。
对于有多个邻居的情况,设备只在第一个BGP邻居建立后才启动定时器T1,而不是在每个BGP邻居建立后都启动定时器T1。
步骤202:在定时器T1超时之前,设备判断是否收到所有邻居发送的BGP决策报文,如果收齐所有邻居发送的BGP决策报文,则执行步骤203;
如果在定时器T1超时之前,设备只收到部分邻居发送的BGP决策报文(这种情况可能会在以下场景出现:比如,某些邻居一直没有进行路由更新而不发送BGP决策报文,或者邻居发送了BGP决策报文但因网络堵塞导致设备接收不到),则执行步骤204;
如果在定时器T1超时之前,设备没有收到任何邻居发送的BGP决策报文,则执行步骤205。
步骤203:设备在收集齐所有邻居发送的BGP决策报文后,立即执行BGP路由决策,并将定时器T1清零停止,同时启动定时器T2,然后执行步骤206。
步骤204:设备等待定时器T1超时后,才执行BGP路由决策,并将定时器T1清零停止,同时启动定时器T2,然后执行步骤206。
步骤205:设备将定时器T1清零并重新开始计时,返回执行步骤202。
步骤206:定时器T2启动后,设备判断在T2超时之前是否收到邻居发送的BGP决策报文,如果收到,则执行步骤207;如果没有收到任何邻居发送的BGP决策报文,则执行步骤208。
步骤207:设备在T2超时之前收到邻居发送的BGP决策报文后,不立即进行BGP路由决策,而是将报文保留在本地,等T2超时之后才执行BGP路由决策,同时将T2清零停止,并重新启动定时器T1,返回执行步骤202。
步骤208:设备将定时器T2清零停止,并重新启动定时器T1,返回执行步骤202。
需要说明的是,本发明中也可以只设置一个决策等待定时器T1,在步骤203和204中执行BGP路由决策之后,直接将定时器T1清零并重启,然后返回执行步骤202。
在图2所示路由决策过程中,如果设备有新的BGP连接建立,即又有新的BGP邻居向设备发送BGP决策报文,则设备按照图2所示的流程处理收到的BGP决策报文。对于BGP软重启的情况即通过BGP Refresh报文主动请求邻居更新路由的情况,也是按照图2所示流程进行处理。
另外需要说明的是,本发明所提供的BGP路由决策方案不仅适用于BGP协议本身,还适用于各种扩展BGP协议,如MBGP、BGP4+等。
相应地,本发明还提供了一种BGP路由决策装置,该装置可位于运行BGP协议的设备中。图3示出了该装置的示例性结构,包括:报文接收单元、路由决策单元以及在BGP邻居建立后启动的决策等待定时器T1,其中,
报文接收单元,用于接收BGP邻居在BGP路由更新完毕后发送的BGP决策报文,并将收到的BGP决策报文发送给路由决策单元;
路由决策单元,用于根据收到的BGP决策报文和定时器T1进行BGP路由决策。
较佳地,所述路由决策单元判断在定时器T1超时前是否收到所有邻居发送的BGP决策报文,如果收到所有,则立即执行BGP路由决策;如果只收到部分,则等待定时器T1超时后再执行BGP路由决策;如果未收到任何BGP决策报文,则将定时器T1清零并重启,返回执行所述判断操作。
较佳地,所述路由决策单元在执行BGP路由决策后,进一步将定时器T1清零重启,并返回执行所述判断操作。
或者,在BGP路由决策装置进一步设置决策间隔定时器T2;所述路由决策单元进一步用于,在执行BGP路由决策后将定时器T1清零,并启动定时器T2,然后判断在定时器T2超时之前是否收到邻居发送的BGP决策报文,如果收到,则等待定时器T2超时后再执行BGP路由决策,然后将定时器T2清零停止,并重新启动定时器T1,返回执行所述判断是否收到所有邻居发送的BGP决策报文的操作;如果没有收到任何BGP决策报文,则将定时器T2清零停止,并重新启动定时器T1,返回执行所述判断是否收到所有邻居发送的BGP决策报文的操作。
以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1、一种边界网关协议BGP路由决策方法,其特征在于,该方法包括:
设置一种在BGP路由更新完毕后向邻居发送的BGP决策报文,并设置在BGP邻居建立后启动的决策等待定时器T1,设备根据邻居发送的BGP决策报文和设置的定时器T1进行BGP路由决策。
2、根据权利要求1所述的方法,其特征在于,所述设备根据邻居发送的BGP决策报文和设置的定时器T1进行BGP路由决策包括:
a、在定时器T1超时之前,判断是否收到所有邻居发送的BGP决策报文,如果收到所有,则立即执行BGP路由决策;如果只收到部分,则等待定时器T1超时后再执行BGP路由决策;如果未收到任何BGP决策报文,则将定时器T1清零并重启,返回执行步骤a。
3、根据权利要求2所述的方法,其特征在于,所述执行BGP路由决策后进一步包括:将定时器T1清零并重启,然后返回执行步骤a。
4、根据权利要求2所述的方法,其特征在于,进一步设置决策间隔定时器T2,所述执行BGP路由决策后进一步包括:将定时器T1清零,并启动定时器T2。
5、根据权利要求4所述的方法,其特征在于,所述启动定时器T2后进一步包括:
b、判断在定时器T2超时之前是否收到邻居发送的BGP决策报文,如果收到,则等待定时器T2超时后再执行BGP路由决策,然后将定时器T2清零停止,并重新启动定时器T1,返回执行步骤a;如果没有收到任何BGP决策报文,则将定时器T2清零停止,并重新启动定时器T1,返回执行步骤a。
6、根据权利1至5任一项所述的方法,其特征在于,所述BGP决策报文包括报文头和报文两部分,其中,报文头包括标记符Marker、长度Length和类型Type,报文部分包括地址族标识符AFI、保留区域Res.和后继地址族标识符SAFI。
7、一种BGP路由决策装置,其特征在于,该装置包括:报文接收单元、路由决策单元以及在BGP邻居建立后启动的决策等待定时器T1,其中,
报文接收单元,用于接收BGP邻居在BGP路由更新完毕后发送的BGP决策报文,并将收到的BGP决策报文发送给路由决策单元;
路由决策单元,用于根据收到的BGP决策报文和定时器T1进行BGP路由决策。
8、根据权利要求7所述的装置,其特征在于,所述路由决策单元判断在定时器T1超时前是否收到所有邻居发送的BGP决策报文,如果收到所有,则立即执行BGP路由决策;如果只收到部分,则等待定时器T1超时后再执行BGP路由决策;如果未收到任何BGP决策报文,则将定时器T1清零并重启,返回执行所述判断操作。
9、根据权利要求8所述的装置,其特征在于,所述路由决策单元在执行BGP路由决策后,进一步将定时器T1清零重启,并返回执行所述判断操作。
10、根据权利要求8所述的装置,其特征在于,该装置进一步包括:决策间隔定时器T2;
所述路由决策单元进一步用于,在执行BGP路由决策后将定时器T1清零,并启动定时器T2,然后判断在定时器T2超时之前是否收到邻居发送的BGP决策报文,如果收到,则等待定时器T2超时后再执行BGP路由决策,然后将定时器T2清零停止,并重新启动定时器T1,返回执行所述判断是否收到所有邻居发送的BGP决策报文的操作;如果没有收到任何BGP决策报文,则将定时器T2清零停止,并重新启动定时器T1,返回执行所述判断是否收到所有邻居发送的BGP决策报文的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101159289A CN101304379A (zh) | 2008-06-30 | 2008-06-30 | 边界网关协议路由决策方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101159289A CN101304379A (zh) | 2008-06-30 | 2008-06-30 | 边界网关协议路由决策方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101304379A true CN101304379A (zh) | 2008-11-12 |
Family
ID=40114092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101159289A Pending CN101304379A (zh) | 2008-06-30 | 2008-06-30 | 边界网关协议路由决策方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101304379A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010069261A1 (zh) * | 2008-12-19 | 2010-06-24 | 华为技术有限公司 | 边界网关协议路由处理方法、装置和系统 |
CN102957623A (zh) * | 2012-11-28 | 2013-03-06 | 杭州华三通信技术有限公司 | 一种边界网关协议邻居的维护方法和设备 |
CN106789638A (zh) * | 2016-12-28 | 2017-05-31 | 华为技术有限公司 | 一种处理路由的方法及网络设备 |
-
2008
- 2008-06-30 CN CNA2008101159289A patent/CN101304379A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010069261A1 (zh) * | 2008-12-19 | 2010-06-24 | 华为技术有限公司 | 边界网关协议路由处理方法、装置和系统 |
US8953461B2 (en) | 2008-12-19 | 2015-02-10 | Huawei Technologies Co., Ltd. | Method, device, and system for processing border gateway protocol route |
CN102957623A (zh) * | 2012-11-28 | 2013-03-06 | 杭州华三通信技术有限公司 | 一种边界网关协议邻居的维护方法和设备 |
CN102957623B (zh) * | 2012-11-28 | 2015-11-25 | 杭州华三通信技术有限公司 | 一种边界网关协议邻居的维护方法和设备 |
CN106789638A (zh) * | 2016-12-28 | 2017-05-31 | 华为技术有限公司 | 一种处理路由的方法及网络设备 |
CN106789638B (zh) * | 2016-12-28 | 2020-08-07 | 华为技术有限公司 | 一种处理路由的方法及网络设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7940649B2 (en) | Techniques for graceful restart in a multi-process operating system | |
US8270317B2 (en) | Method and apparatus for advertising border connection information of autonomous system | |
CN101179488B (zh) | 通告自治系统边界连接信息的方法和装置 | |
CN102045248B (zh) | 虚链路发现控制方法和以太网承载光纤通道协议系统 | |
CN102624635B (zh) | 一种平滑重启实现方法及设备 | |
CN101340369B (zh) | 实现虚连接支持优雅重启的方法和路由器 | |
CN101517998B (zh) | 一种通告自治系统边界连接信息的方法和边界节点 | |
US9705782B2 (en) | Method and system for efficient graceful restart in an open shortest path first (OSPF) network | |
CN111510379A (zh) | Evpn报文处理方法、设备及系统 | |
EP2642691A1 (en) | Method and device for link fault detecting and recovering based on arp interaction | |
CN101515891B (zh) | 一种边界网关协议路由处理方法和路由器 | |
CN100442767C (zh) | 一种实现快速路由收敛的路由器平稳重启的方法 | |
US20140022911A1 (en) | Method and Apparatus for the Fast Detection of Connectivity Loss Between Devices in a Network | |
CN103916277A (zh) | 实现重启时不中断转发业务的方法和装置 | |
CN100579076C (zh) | 一种邻居关系建立方法和路由器 | |
WO2014090083A1 (zh) | 分布式弹性网络互连的业务承载方法及装置 | |
CN112039769A (zh) | 一种处理路由的方法及网络设备 | |
CN101222486B (zh) | 自动交换光网络中节点故障后路由重启恢复的控制方法 | |
CN104038427A (zh) | 路由更新方法和路由更新装置 | |
US20220094572A1 (en) | Gateway selection method, device, and system | |
CN105591892B (zh) | 一种平滑重启流程的启动方法和装置 | |
CN101304379A (zh) | 边界网关协议路由决策方法及装置 | |
CN102769911B (zh) | 一种路由通告消息发送方法及装置 | |
WO2014029079A1 (zh) | FCoE网络链接管理方法、设备和系统 | |
CN102769571B (zh) | 一种平滑重启实现方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20081112 |