CN100387036C - 边界网关协议中失效路由的快速清除方法 - Google Patents
边界网关协议中失效路由的快速清除方法 Download PDFInfo
- Publication number
- CN100387036C CN100387036C CNB2006100897296A CN200610089729A CN100387036C CN 100387036 C CN100387036 C CN 100387036C CN B2006100897296 A CNB2006100897296 A CN B2006100897296A CN 200610089729 A CN200610089729 A CN 200610089729A CN 100387036 C CN100387036 C CN 100387036C
- Authority
- CN
- China
- Prior art keywords
- route
- routing
- information table
- route information
- broadcast
- 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.)
- Expired - Fee Related
Links
Images
Abstract
互联网IP路由器路由协议设计研究领域,其具体特征在于依次含有以下步骤:当BPG实体对于到达某个目的节点的路由进行了重新决策,并且这种决策由于BGP路由更新时钟的抑制而无法通过得到及时发送的时候,如果发现该新路由中,含有比上次广播出去的路由更长的路径。那么,该路由器将向被抑制路由中自己所选择的下一跳所在的邻居单独的发送一个路由撤消消息,来进行路由信息的验证。与此同时,如果有一条被BGP最小路由通告时间抑制的路由信息正在被其他邻居的撤消消息删除,则拥有该条路由的BGP路由器将向所有的邻居发送路由清除消息,来清除网络中的有害信息。本发明实现了IP路由器中BGP协议对失效路由的快速发现与清除。
Description
技术领域
BGP协议中失效路由的快速清除方法属于互联网IP路由器路由协议设计研究领域。
背景技术
从1969年美国国防部的最初只包括4个站点的ARPANet投入运行开始,到上个世纪末Internet已经有上千万台主机,计算机网络的发展在短短的30年的时间里就经历了从无到有、从简单到复杂的、从在一个房间里到遍布全球的过程。网络给人们带来了丰富的信息、全新的服务,同时也带来了财富和新的工作生活方式。随着接入Internet的主机数量的不断增长和网络管理的日趋复杂,如何保证如此庞大的网络正常稳定的运行已经成为人们关心的首要问题。路由器是网络的核心设备,它负责对网络层报文进行存储转发,从而达到通讯的目的。网络的规模越大、各种管理要求越多,那么为报文找到正确、快速的转发路径就越困难,而这就是路由协议要完成的任务。
BGP是用于自治系统之间的路由协议,它的主要功能是在各实现了BGP协议的系统之间交换网络可达性信息。这些信息包括一个路由所穿越的自治系统的列表,它们足以建立一个表示连接状态的图。这样便很容易地解决了路由环路问题,同时使得在自治系统基础上的路由选择策略成为可能。从这一点上讲,BGP是一个综合了向量-距离算法和链路状态算法的协议。BGP运行于可靠的传输协议之上,采用传输控制协议TCP作为其底层协议,这样便无须显式地进行分片、重传、确认和排序。与域内路由协议不同的是,BGP的主要工作在于对路由信息的合理传播与决策,并且其管理的路由条目个数远远大于域内路由协议。由于这些特点,路由的抖动与不稳定将给部署了BGP的节点造成额外的负担。BGP协议中使用了一种称之为最小路由通告时间的机制来避免这种不必要的资源消耗,使路由的传播能够得到相对的稳定。最小路由通告时间限制了BGP发送路由通告的最小间隔,避免了路由器于路由不稳定频繁的变化其路由决策。但是当BGP链路或者节点发生故障的时候,最小路由通告时间的限制又将导致正常的路由扩散时间的增长,又称之为路由收敛时间的恶化。而导致收敛时间恶化的关键在于一些已经失效的路由信息没有得到及时的清除。如何设计一种高效率的有害路由清除策略,加快BGP协议在链路失效时的收敛时间是当前路由协议研究中的关键问题。
发明内容
本发明的目的在于提供一种能够加快路由收敛时间的部署了BGP协议的节点之间的交互方法。
本发明的特征在于,它依次含有以下步骤:
步骤(1.):建立路由广播历史表,记录已经向各邻居广播过的路由信息,其中包括:邻居ID、目标子网、下一跳、出接口以及到达该目的子网的路径长度;
步骤(2.):建立路由广播时间表,记录已经向各邻居广播过的路由信息,其中包括:邻居ID、目标子网、下一跳、以及广播时间;
步骤(3.):建立缓冲路由信息表,用来记录暂时不需要向外广播的路由信息,其中包括:目标子网、下一跳、出接口以及优先级在内的路由信息;
步骤(4.):建立有害路由信息表,记录需要进行清除的路由前缀的信息,其中包括:目标子网、下一跳、出接口以及优先级在内的路由信息;
步骤(5.):与邻居路由器建立BGP邻居关系后,在进行路由广播的时候按照以下步骤依次进行:
步骤(5.1):检查缓冲路由信息表中所有条目的广播时间,如果广播时间与当前时间之差大于最小路由通告时间那么就将该路由广播给对应的邻居节点,并且将路由广播时间表中的广播时间修改为当前时间;
步骤(5.2.):根据需要广播路由的目标子网与邻居节点ID在路由广播时间表中查找相应的字段,如果没有可以匹配的记录则将该路由的信息、邻居节点信息以及当前时间添加到路由广播时间表内,并将该路由信息广播给对应的邻居节点;如果发现有可以匹配的记录,即以前对该邻居节点广播过一条具有相同目标子网的路由,那么检查该路由的广播时间,如果广播时间与当前时间之差大于最小路由通告时间,那么就将该路由广播给对应的邻居节点,并且将路由广播时间表中的广播时间修改为当前时间;如果该时间差小于最小路由通告时间,则将该路由暂时保留在缓冲路由信息表内;
步骤(5.3.):将被广播路由的邻居节点ID、目标子网、下一跳、出接口以及到达该目的子网的路径长度保存在路由广播历史表中;
步骤(5.4.)在向缓冲路由信息表内添加路由信息以后,比较被保存在缓冲路由信息表中路由的路径长度与广播历史表中路由的路径长度;如果缓冲路由信息表内对应路由条目的路径更长,则以该路由信息的下一跳为目的地址发送路由撤消报文;
步骤(6.):与邻居路由器建立BGP邻居关系后,在收到来自邻居节点的路由撤消报文的时候按照以下步骤依次进行:
步骤(6.1):首先检查被该消息撤消的路由是否存在于缓冲路由信息表中如果不存在,则按照BGP协议的默认流程处理;如果存在,则将该路由信息从缓冲路由信息表中移动到有害路由信息表中;
步骤(6.2):扫描路由广播历史表并删除有害路由信息表中存在的条目;
步骤(7.):扫描有害路由信息表,并向所有的BGP邻居节点发送路由撤消报文,通告该目标子网不可达;帮助邻居节点清除这些有害路由信息,并在发送完毕以后删除害路由信息表对应的路由条目。
附图说明
图1.BGP协议结构示意图;
图2.有害路由清除时序图;
图3.决策验证过程处理流程图;
图4.无效路由清除处理流程图;
图5路由稳定时间曲线图;
图6.本发明的应用示例图。
具体实施方式
传统的BGP机制在链路故障情况下的慢收敛问题,一方面严重影响了路由传播的效率另一方面造成了中间路由器上资源的无谓浪费。设计一种对有害路由信息更加敏感的高效率、快收敛的改进机制是本发明的主要贡献。
BGP协议结构示意图见图1.
有害路由清除时序图见图2.:该图比较详细的阐述了该机制在链路失效情况下的具体行为与操作。在((c)t=2)的时,节点1、2的路由决策验证过程被触发,并在((d)t=3)时相互触发了无效路由清除过程,并且该过程又触发了节点3、4的无效路由清除过程,最终促成了全网内有害路由信息的完全清除。其中带W符号的箭头表示所发送的撤消消息,箭头的方向代表消息的发送方向。
在本发明的描述中,我们将有害路由信息的清除工作划分为两个紧密相关的部分。其一是由步骤(5.)完成的路由决策验证过程。其主要目的在于:当BPG实体对于到达某个目的节点的路由进行了重新决策,并且这种决策由于BGP路由更新时钟的抑制而无法通过得到及时发送的时候,该路由器有义务将该次决策以告知该节点所选择的后继节点。当某BGP路由器中存在一条比上次广播出去的路径要长的路由,并且该路由被最小路由通告时间所抑制并存储在缓冲路由信息表中的时候该过程被触发。这时该路由器将向被抑制路由中自己所选择的下一跳所在的邻居单独的发送一个路由撤消消息,来进行路由信息的验证。单独发送该撤消消息在通俗意义上可以通俗的理解为:我已经使用你作为去目标网络的后继节点,为了避免环路,请你不要再选择我做为去目标网络的后继了(在该邻居看来,想通过我到达目标网络是不可能的)。
决策验证过程处理流程图见图3.
其二是由步骤(6.)与步骤(7.)完成的无效路由清除过程。其触发条件是:有一条被BGP最小路由通告时间抑制的路由信息正在被其他邻居的撤消消息删除。当该条件满足时,说明网络中存在一定数量的有害路由信息,在这种情况下将触发大范围撤消消息的发送,用来清除网络中的有害信息。在该过程中,无效路由清除过程不只会被路由决策验证过程发出的撤消消息所触发,还可能被另一个节点在清除过程中发出的撤消报文所触发。
无效路由清除处理流程图见图4.
本发明的应用示例图见图6.
本发明能通过对有害路由信息的探测与发现,及时的将其清除,在不破坏正常路由信息的前提下,加快了BGP路由的收敛,并且具有机制简单,可扩展性好等特点。通过实验数据表明,该方法与传统方法相比大幅度的提高了协议性能。作为路由器软件体系结构中的重要组成部分,解决了在链路故障情况下的BGP协议的慢收敛问题。
Claims (1)
1.BGP协议中失效路由的快速清除方法,其特征在于该方法是通过在互联网IP路由器的BGP协议实现中加入一个失效路由探测与清除模块来实现的,依次含有以下步骤:
步骤(1.):建立路由广播历史表,记录已经向各邻居广播过的路由信息,其中包括:邻居ID、目标子网、下一跳、出接口以及到达该目的子网的路径长度;
步骤(2.):建立路由广播时间表,记录已经向各邻居广播过的路由信息,其中包括:邻居ID、目标子网、下一跳、以及广播时间;
步骤(3.):建立缓冲路由信息表,用来记录暂时不需要向外广播的路由信息,其中包括:目标子网、下一跳、出接口以及优先级在内的路由信息;
步骤(4.):建立有害路由信息表,记录需要进行清除的路由前缀的信息,其中包括:目标子网、下一跳、出接口以及优先级在内的路由信息;
步骤(5.):与邻居路由器建立BGP邻居关系后,在进行路由广播的时候按照以下步骤依次进行:
步骤(5.1):检查缓冲路由信息表中所有条目的广播时间,如果广播时间与当前时间之差大于最小路由通告时间那么就将该路由广播给对应的邻居节点,并且将路由广播时间表中的广播时间修改为当前时间;
步骤(5.2.):根据需要广播路由的目标子网与邻居节点ID在路由广播时间表中查找相应的字段,如果没有可以匹配的记录则将该路由的信息、邻居节点信息以及当前时间添加到路由广播时间表内,并将该路由信息广播给对应的邻居节点;如果发现有可以匹配的记录,即以前对该邻居节点广播过一条具有相同目标子网的路由,那么检查该路由的广播时间,如果广播时间与当前时间之差大于最小路由通告时间,那么就将该路由广播给对应的邻居节点,并且将路由广播时间表中的广播时间修改为当前时间;如果该时间差小于最小路由通告时间,则将该路由暂时保留在缓冲路由信息表内;
步骤(5.3.):将被广播路由的邻居节点ID、目标子网、下一跳、出接口以及到达该目的子网的路径长度保存在路由广播历史表中;
步骤(5.4.)在向缓冲路由信息表内添加路由信息以后,比较被保存在缓冲路由信息表中路由的路径长度与广播历史表中路由的路径长度;如果缓冲路由信息表内对应路由条目的路径更长,则以该路由信息的下一跳为目的地址发送路由撤消报文;
步骤(6.):与邻居路由器建立BGP邻居关系后,在收到来自邻居节点的路由撤消报文的时候按照以下步骤依次进行:
步骤(6.1):首先检查被该消息撤消的路由是否存在于缓冲路由信息表中如果不存在,则按照BGP协议的默认流程处理;如果存在,则将该路由信息从缓冲路由信息表中移动到有害路由信息表中;
步骤(6.2):扫描路由广播历史表并删除有害路由信息表中存在的条目;
步骤(7.):扫描有害路由信息表,并向所有的BGP邻居节点发送路由撤消报文,通告该目标子网不可达;帮助邻居节点清除这些有害路由信息,并在发送完毕以后删除有害路由信息表对应的路由条目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100897296A CN100387036C (zh) | 2006-07-14 | 2006-07-14 | 边界网关协议中失效路由的快速清除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100897296A CN100387036C (zh) | 2006-07-14 | 2006-07-14 | 边界网关协议中失效路由的快速清除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889569A CN1889569A (zh) | 2007-01-03 |
CN100387036C true CN100387036C (zh) | 2008-05-07 |
Family
ID=37578826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100897296A Expired - Fee Related CN100387036C (zh) | 2006-07-14 | 2006-07-14 | 边界网关协议中失效路由的快速清除方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100387036C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2463718C2 (ru) * | 2007-04-23 | 2012-10-10 | Томсон Лайсенсинг | Механизмы, предназначенные для обнаружения и уменьшения отказов в устройстве шлюза |
CN101471811B (zh) * | 2007-12-28 | 2011-09-14 | 华为技术有限公司 | 路由震荡的抑制方法及设备 |
CN101227262B (zh) * | 2008-02-20 | 2011-12-07 | 中兴通讯股份有限公司 | 路由抑制系统及方法 |
CN101764737B (zh) * | 2008-12-25 | 2012-11-21 | 华为技术有限公司 | 基于边界网关协议的路由老化方法、装置和路由器 |
CN101527652B (zh) * | 2009-04-21 | 2012-07-11 | 杭州华三通信技术有限公司 | 一种恢复默认接口配置的方法和装置 |
CN102035831B (zh) * | 2010-11-26 | 2013-07-24 | 北京邮电大学 | 一种基于两跳回复的bgp协议改造方法 |
CN102148832B (zh) * | 2011-04-07 | 2013-06-12 | 清华大学 | 边界网关路由协议路径鉴定方法 |
CN106656792B (zh) * | 2016-11-30 | 2019-06-28 | 中国人民解放军国防科学技术大学 | 一种基于sdn架构的bgp路由可信验证方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1543129A (zh) * | 2003-11-07 | 2004-11-03 | 港湾网络有限公司 | Bgp路由快速收敛方法 |
CN1547355A (zh) * | 2003-12-17 | 2004-11-17 | 港湾网络有限公司 | 边界网关协议的节省路由表内存消耗办法 |
JP2005020602A (ja) * | 2003-06-27 | 2005-01-20 | Furukawa Electric Co Ltd:The | 経路制御方法、そのデータ集約装置および経路制御システム |
JP2005252863A (ja) * | 2004-03-05 | 2005-09-15 | Kddi Corp | 経路障害種別特定方法 |
CN1761244A (zh) * | 2005-11-11 | 2006-04-19 | 清华大学 | 设置边界网关协议路由选择通知功能的方法 |
-
2006
- 2006-07-14 CN CNB2006100897296A patent/CN100387036C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005020602A (ja) * | 2003-06-27 | 2005-01-20 | Furukawa Electric Co Ltd:The | 経路制御方法、そのデータ集約装置および経路制御システム |
CN1543129A (zh) * | 2003-11-07 | 2004-11-03 | 港湾网络有限公司 | Bgp路由快速收敛方法 |
CN1547355A (zh) * | 2003-12-17 | 2004-11-17 | 港湾网络有限公司 | 边界网关协议的节省路由表内存消耗办法 |
JP2005252863A (ja) * | 2004-03-05 | 2005-09-15 | Kddi Corp | 経路障害種別特定方法 |
CN1761244A (zh) * | 2005-11-11 | 2006-04-19 | 清华大学 | 设置边界网关协议路由选择通知功能的方法 |
Non-Patent Citations (2)
Title |
---|
边界网关协议BGP4路由收敛问题研究进展. 张微等.小型微型机算机系统,第27卷第5期. 2006 |
边界网关协议BGP4路由收敛问题研究进展. 张微等.小型微型机算机系统,第27卷第5期. 2006 * |
Also Published As
Publication number | Publication date |
---|---|
CN1889569A (zh) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100387036C (zh) | 边界网关协议中失效路由的快速清除方法 | |
EP2421206B1 (en) | Flooding-based routing protocol having database pruning and rate-controlled state refresh | |
CN102577275B (zh) | 中继控制设备、中继控制系统、中继控制方法 | |
Lee et al. | IRIS: the Openflow-based recursive SDN controller | |
US20140341078A1 (en) | Reduction of message and computational overhead in networks | |
US8295162B2 (en) | System and method to achieve sub-second routing performance | |
KR20090030320A (ko) | 고장 방지 능력을 위해 다중 경로를 실행하기 위한 방법 및모바일 에드-호크 네트워크 | |
WO2011161575A1 (en) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel | |
JPWO2011162215A1 (ja) | 通信システム、制御装置、ノードの制御方法およびプログラム | |
KR20120019502A (ko) | 복수의 랑데뷰 포인트에서 모바일 멀티캐스트 소스로부터의 멀티캐스트 트래픽을 함께 처리하기 위한 방법 및 장치 | |
CN101312438A (zh) | 路由器及其路由更新方法 | |
CN106717015A (zh) | 提供冗余数据流量控制特性计算器网络及相关方法 | |
CN103201987A (zh) | 区分路由信息更新的优先级 | |
CN100420242C (zh) | 一种路由器链路状态数据同步的方法 | |
US8411558B1 (en) | Stateful home agent recovery protocol (SHARP) | |
JP2011024178A (ja) | 中継装置及び中継方法 | |
WO2014129624A1 (ja) | 制御装置、通信システム、経路切替方法及びプログラム | |
CN113810405A (zh) | 一种基于sdn网络的路径跳变动态防御系统及方法 | |
CN101909005A (zh) | 转发表的处理方法和装置 | |
CA3147310A1 (en) | Interior gateway protocol flooding optimization method and device, and storage medium | |
US20110038257A1 (en) | Method and apparatus for sequencing operations for an incoming interface check in data center ethernet | |
Liotta et al. | Networks for pervasive services: Six ways to upgrade the internet | |
CN101616052B (zh) | 一种隧道控制方法和装置 | |
Lü et al. | Adaptive swarm-based routing in communication networks | |
CN101179504A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080507 Termination date: 20110714 |