边界网关协议中失效路由的快速清除方法

文档序号:7962893阅读:242来源:国知局
专利名称:边界网关协议中失效路由的快速清除方法
技术领域
BGP协议中失效路由的快速清除方法属于互联网IP路由器路由协议设计研究领域。
背景技术
从1969年美国国防部的最初只包括4个站点的ARPANet投入运行开始,到上个世纪末Internet已经有上千万台主机,计算机网络的发展在短短的30年的时间里就经历了从无到有、从简单到复杂的、从在一个房间里到遍布全球的过程。网络给人们带来了丰富的信息、全新的服务,同时也带来了财富和新的工作生活方式。随着接入Internet的主机数量的不断增长和网络管理的日趋复杂,如何保证如此庞大的网络正常稳定的运行已经成为人们关心的首要问题。路由器是网络的核心设备,它负责对网络层报文进行存储转发,从而达到通讯的目的。网络的规模越大、各种管理要求越多,那么为报文找到正确、快速的转发路径就越困难,而这就是路由协议要完成的任务。
BGP是用于自治系统之间的路由协议,它的主要功能是在各实现了BGP协议的系统之间交换网络可达性信息。这些信息包括一个路由所穿越的自治系统的列表,它们足以建立一个表示连接状态的图。这样便很容易地解决了路由环路问题,同时使得在自治系统基础上的路由选择策略成为可能。从这一点上讲,BGP是一个综合了向量-距离算法和链路状态算法的协议。BGP运行于可靠的传输协议之上,采用传输控制协议TCP作为其底层协议,这样便无须显式地进行分片、重传、确认和排序。与域内路由协议不同的是,BGP的主要工作在于对路由信息的合理传播与决策,并且其管理的路由条目个数远远大于域内路由协议。由于这些特点,路由的抖动与不稳定将给部署了BGP的节点造成额外的负担。BGP协议中使用了一种称之为最小路由通告时间的机制来避免这种不必要的资源消耗,使路由的传播能够得到相对的稳定。最小路由通告时间限制了BGP发送路由通告的最小间隔,避免了路由器于路由不稳定频繁的变化其路由决策。但是当BGP链路或者节点发生故障的时候,最小路由通告时间的限制又将导致正常的路由扩散时间的增长,又称之为路由收敛时间的恶化。而导致收敛时间恶化的关键在于一些已经失效的路由信息没有得到及时的清除。如何设计一种高效率的有害路由清除策略,加快BGP协议在链路失效时的收敛时间是当前路由协议研究中的关键问题。

发明内容
本发明的目的在于提供一种能够加快路由收敛时间的部署了BGP协议的节点之间的交互方法。
本发明的特征在于,它依次含有以下步骤
步骤(1.)在路由器中建立路由广播历史表,记录已经向各邻居广播过的路由信息,其中包括邻居ID、目标子网、下一跳、出接口以及到达该目的子网的路径长度;建立路由广播时间表,记录已经向各邻居广播过的路由信息,其中包括邻居ID、目标子网、下一跳、以及广播时间;建立缓冲路由信息表,用来记录暂时不需要向外广播的的路由信息,其中包括目标子网、下一跳、出接口以及优先级在内的的一般路由信息;建立有害路由信息表,记录需要进行清除的路由前缀的信息,其中包括目标子网、下一跳、出接口以及优先级在内的的一般路由信息;步骤(2.)与邻居路由器建立BGP邻居关系后,在进行路由广播的时候按照以下步骤依次进行步骤(2.1)检查缓冲路由信息表中所有条目的广播时间,如果广播时间与当前时间之差大于最小路由通告时间那么就将该路由广播给对应的邻居节点,并且将路由广播时间表中的广播时间修改为当前时间;反之继续下一步操作;步骤(2.2.)根据需要广播路由的目标子网与邻居ID在路由广播时间表中查找相应的字段,如果没有能匹配的记录则将该路由的信息、邻居信息以及当前时间添加到路由广播时间表内,并将该路由信息广播给对应的邻居节点;如果发现有可以匹配的记录,即以前对该邻居广播过一条具有相同目标子网的路由,那么检查该路由的广播时间,如果广播时间与当前时间之差大于最小路由通告时间,那么就将该路由广播给对应的邻居节点,并且将路由广播时间表中的广播时间修改为当前时间;反之,则将该路由暂时保留在缓冲路由信息表内;步骤(2.3.)将被广播路由的邻居ID、目标子网、下一跳、出接口以及到达该目的子网的路径长度保存在路由广播历史表中;步骤(2.4.)在向缓冲路由信息表内添加路由信息以后,比较被保存在缓冲路由信息表中的路由信息与广播历史表中的路径长度;如果缓冲路由信息表内对应路由条目的路径更长,则以该路由信息的下一跳为目的地址发送路由撤消报文;反之继续下一步操作;步骤(3.)与邻居路由器建立BGP邻居关系后,在收到来自邻居的路由撤消报文的时候按照以下步骤依次进行步骤(3.1)首先检查被该消息撤消的路由是否存在于缓冲路由信息表中如果不存在,则按照BGP协议的默认流程处理;如果存在,则将该路由信息从缓冲路由信息表中移动到有害路由信息表中;步骤(3.2)扫描路由广播历史表并删除害路由信息表中存在的条目;步骤(4.)扫描有害路由信息表,并向所有的BGP邻居节点发送路由撤消报文,通告该目标子网不可达;帮助邻居节点清除这些有害路由信息,并在发送完毕以后删除害路由信息表对应的路由条目。
按照上述实施方式我们在链路故障以及鼓掌恢复情况下对该机制进行了比较详细的仿真,在20个节点的仿真环境下,我们对比了传统BGP机制与经过改良以后的机制,图5的曲线图表明,使用新的机制,路由稳定时间可以保持在20秒以下,但是传统机制在同等情况下将花费近在500秒的时间。可见,与传统BGP协议相比,该机制对路由收敛时间有比较大的改进。


图1.BGP协议结构示意图;图2.有害路由清除时序图;图3.决策验证过程处理流程图;图4.无效路由清除处理流程图;图5 路由稳定时间曲线图;图6.本发明的应用示例图。
具体实施例方式
传统的BGP机制在链路故障情况下的慢收敛问题,一方面严重影响了路由传播的效率另一方面造成了中间路由器上资源的无谓浪费。设计一种对有害路由信息更加敏感的高效率、快收敛的改进机制是本发明的主要贡献。
BGP协议结构示意图见图1.
有害路由清除时序图见图2.该图比较详细的阐述了该机制在链路失效情况下的具体行为与操作。在((c)t=2)的时,节点1、2的路由决策验证过程被触发,并在((d)t=3)时相互触发了无效路由清除过程,并且该过程又触发了节点3、4的无效路由清除过程,最终促成了全网内有害路由信息的完全清除。其中带W符号的箭头表示所发送的撤消消息,箭头的方向代表消息的发送方向。
在本发明的描述中,我们将有害路由信息的清除工作划分为两个紧密相关的部分。其一是由步骤(2.)完成的路由决策验证过程。其主要目的在于当BPG实体对于到达某个目的节点的路由进行了重新决策,并且这种决策由于BGP路由更新时钟的抑制而无法通过得到及时发送的时候,该路由器有义务将该次决策以告知该节点所选择的后继节点。当某BGP路由器中存在一条比上次广播出去的路径要长的路由,并且该路由被最小路由通告时间所抑制并存储在缓冲路由信息表中的时候该过程被触发。这时该路由器将向被抑制路由中自己所选择的下一跳所在的邻居单独的发送一个路由撤消消息,来进行路由信息的验证。单独发送该撤消消息在通俗意义上可以通俗的理解为我已经使用你作为去目标网络的后继节点,为了避免环路,请你不要再选择我做为去目标网络的后继了(在该邻居看来,想通过我到达目标网络是不可能的)。
决策验证过程处理流程图见图3.
其二是由步骤(3.)与步骤(4.)完成的无效路由清除过程。其触发条件是有一条被BGP最小路由通告时间抑制的路由信息正在被其他邻居的撤消消息删除。当该条件满足时,说明网络中存在一定数量的有害路由信息,在这种情况下将触发大范围撤消消息的发送,用来清除网络中的有害信息。在该过程中,无效路由清除过程不只会被路由决策验证过程发出的撤消消息所触发,还可能被另一个节点在清除过程中发出的撤消报文所触发。
无效路由清除处理流程图见图4.
本发明的应用示例图见图8.
本发明能通过对有害路由信息的探测与发现,及时的将其清除,在不破坏正常路由信息的前提下,加快了BGP路由的收敛,并且具有机制简单,可扩展性好等特点。通过实验数据表明,该方法与传统方法相比大幅度的提高了协议性能。作为路由器软件体系结构中的重要组成部分,解决了在链路故障情况下的BGP协议的慢收敛问题。
权利要求
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邻居节点发送路由撤消报文,通告该目标子网不可达;帮助邻居节点清除这些有害路由信息,并在发送完毕以后删除害路由信息表对应的路由条目。
全文摘要
互联网IP路由器路由协议设计研究领域,其具体特征在于依次含有以下步骤当BPG实体对于到达某个目的节点的路由进行了重新决策,并且这种决策由于BGP路由更新时钟的抑制而无法通过得到及时发送的时候,如果发现该新路由中,含有比上次广播出去的路由更长的路径。那么,该路由器将向被抑制路由中自己所选择的下一跳所在的邻居单独的发送一个路由撤消消息,来进行路由信息的验证。与此同时,如果有一条被BGP最小路由通告时间抑制的路由信息正在被其他邻居的撤消消息删除,则拥有该条路由的BGP路由器将向所有的邻居发送路由清除消息,来清除网络中的有害信息。本发明实现了IP路由器中BGP协议对失效路由的快速发现与清除。
文档编号H04L12/24GK1889569SQ200610089729
公开日2007年1月3日 申请日期2006年7月14日 优先权日2006年7月14日
发明者徐恪, 王海洋 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1