CN101304379A - 边界网关协议路由决策方法及装置 - Google Patents

边界网关协议路由决策方法及装置 Download PDF

Info

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
Application number
CNA2008101159289A
Other languages
English (en)
Inventor
程锋章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CNA2008101159289A priority Critical patent/CN101304379A/zh
Publication of CN101304379A publication Critical patent/CN101304379A/zh
Pending legal-status Critical Current

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,接收方忽略该域的信息。
Figure A20081011592800081
表1 BGP报文头格式
Figure A20081011592800082
表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决策报文的操作。
CNA2008101159289A 2008-06-30 2008-06-30 边界网关协议路由决策方法及装置 Pending CN101304379A (zh)

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)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 一种处理路由的方法及网络设备

Cited By (6)

* Cited by examiner, † Cited by third party
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