一种基于边界网关协议的下一跳路由检测方法及装置制造方法及图纸

技术编号:11117564 阅读:136 留言:0更新日期:2015-03-06 16:41
本发明专利技术公开了一种基于边界网关协议的下一跳路由检测方法及装置,涉及通信技术领域,用于解决现有技术中下一跳查询结果发生阻塞的问题,首先,路由下一跳订阅模块根据BGP邻居路由生成路由下一跳依赖表,并向路由集中管理模块发送下一跳信息订阅请求,其次,路由集中管理模块检测BGP邻居路由的下一跳信息,并发送给路由下一跳信息接收模块生成路由下一跳变化表,最后,由路由扫描前半部模块、路由扫描模块、路由扫描后半部模块对路由下一跳依赖表和路由下一跳变化表进行比较、更新、删除处理。本发明专利技术实施例主要应用在路由器中。

【技术实现步骤摘要】
一种基于边界网关协议的下一跳路由检测方法及装置
本专利技术涉及通信
,尤其涉及一种基于边界网关协议的下一跳路由检测方法及装置。
技术介绍
BGP(BorderGatewayProtocol,边界网关协议)是一种运行在AS(AutonomousSystem,自治系统)之间的路由选择协议,并通过与BGP邻居路由之间交换NLRI(NetworkLayerReachabilityInformation,网络层可达性信息)和路由属性来学习路由。路由属性主要包括AS路径、路由下一跳、路由源等,BGP在进行路由优选时需要检查路由属性的有效性,仅具有有效路由属性的BGP路由下一跳才会被加入转发表。其中,BGP路由下一跳的有效性依赖于IGP(InteriorGatewayProtocol,内部网关协议)路由的可达性,IGP路由的可达性以IP(InternetProtocol,网际协议)路由是否存在为判断条件,如果IP路由存在,则认为IGP路由可达。因为IGP路由的可变性,所以BGP需要周期查询IGP路由的可达性来更新BGP路由。现有的两种查询IGP路由的可达性方案,分别是实时同步查询和独立查询任务。这两种方法都需要由路由集中管理模块处理实时接收到的或者在有查询下一跳需求时收到的查询下一跳请求,但是当路由集中管理模块当前正在处理其他事务,就无法及时反馈下一跳查询结果,而这样会导致BGP路由不定期阻塞在等待路由集中管理模块返回下一跳查询结果上,进而致使BGP路由无法调度其他事务,造成BGP邻居保活事物无法调度。
技术实现思路
本专利技术的实施例提供一种基于边界网关协议的下一跳路由检测方法及装置,显著缓解了查询路由下一跳时产生的阻塞问题。为达到上述目的,本专利技术的实施例采用如下技术方案:一种基于边界网关协议的下一跳路由检测方法,所述方法应用于路由器,所述路由器至少包括:路由集中管理模块、路由下一跳订阅模块、路由下一跳信息接收模块、路由扫描前半部模块;所述方法包括:当所述路由器获取到BGP邻居路由之后,所述路由下一跳订阅模块根据所述BGP邻居路由生成路由下一跳依赖表;所述路由下一跳订阅模块向所述路由集中管理模块发送所述BGP邻居路由的下一跳信息订阅请求;所述路由集中管理模块通过所述BGP邻居路由的下一跳信息订阅请求检测所述BGP邻居路由的下一跳信息;所述路由集中管理模块根据所述BGP邻居路由的下一跳信息订阅请求获取所述BGP邻居路由的下一跳信息,将所述BGP邻居路由的下一跳信息发送给所述路由下一跳信息接收模块,并由所述路由下一跳信息接收模块根据所述BGP邻居路由的下一跳信息生成路由下一跳变化表;通过所述路由扫描前半部模块对所述路由下一跳依赖表和所述路由下一跳变化表进行对比,根据所述路由下一跳变化表更新所述路由下一跳依赖表,具有相同表项的更新后的所述路由下一跳依赖表与所述路由下一跳变化表相同。一种基于边界网关协议的下一跳路由检测装置,所述装置应用于路由器,所述路由器至少包括:路由集中管理模块、路由下一跳订阅模块、路由下一跳信息接收模块、路由扫描前半部模块;所述装置包括:所述路由下一跳订阅模块,用于当所述路由器当获取到BGP邻居路由之后,根据所述BGP邻居路由生成路由下一跳依赖表;所述路由下一跳订阅模块,用于向所述路由集中管理模块发送所述BGP邻居路由的下一跳信息订阅请求;所述路由集中管理模块,用于通过所述路由下一跳订阅模块发送的所述BGP邻居路由的下一跳信息订阅请求检测所述BGP邻居路由的下一跳信息;所述路由集中管理模块,还用于根据所述路由下一跳订阅模块发送的所述BGP邻居路由的下一跳信息订阅请求获取所述BGP邻居路由的下一跳信息,将所述BGP邻居路由的下一跳信息发送给所述路由下一跳信息接收模块;所述路由下一跳信息接收模块,用于根据所述路由集中管理模块发送的所述BGP邻居路由的下一跳信息生成路由下一跳变化表;所述路由扫描前半部模块,用于对所述路由下一跳依赖表和所述路由下一跳变化表进行对比,根据所述路由下一跳变化表更新所述路由下一跳依赖表,具有相同表项的更新后的所述路由下一跳依赖表与所述路由下一跳变化表相同。本专利技术实施例提供的一种基于边界网关协议的下一跳路由检测方法及装置,通过路由下一跳订阅模块在路由器学习到BGP邻居路由后生成下一跳依赖表,并向路由集中管理模块发送下一跳订阅请求,以使得路由集中管理模块在检测订阅的下一跳发生变化时,通知路由下一跳变化模块生成下一跳变化表,从而利用下一跳变化表对下一跳依赖表进行更新,并根据更新后的下一跳变化依赖表进行路由优选。由于是路由集中管理模块主动对下一跳信息进行监测,并通过监测结果进行更新,因此可避免路由集中管理模块当前正在处理其他事务,无法及时反馈下一跳查询结果时,而产生的查询路由下一跳时产生的阻塞问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种基于边界网关协议的下一跳路由检测方法流程图;图2为本专利技术实施例提供的另一种基于边界网关协议的下一跳路由检测方法流程图;图3为本专利技术实施例提供的另一种基于边界网关协议的下一跳路由检测方法流程图;图4为本专利技术实施例提供的另一种基于边界网关协议的下一跳路由检测方法流程图;图5为本专利技术实施例提供的一种基于边界网关协议的下一跳路由检测装置组成示意图;图6为本专利技术实施例提供的另一种基于边界网关协议的下一跳路由检测装置组成示意图;图7为本专利技术实施例提供的另一种基于边界网关协议的下一跳路由检测装置组成示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种基于边界网关协议的下一跳路由检测方法,该方法应用于路由器,该路由器至少包括:路由集中管理模块、路由下一跳订阅模块、路由下一跳信息接收模块、路由扫描前半部模块。如图1所示,该方法包括:101、当路由器获取到BGP邻居路由之后,路由下一跳订阅模块根据BGP邻居路由生成路由下一跳依赖表。其中,路由下一跳依赖表中存储路由器获取到BGP邻居路由下一跳信息,至少包括:IGP路由度量、出接口个数、出接口、更新时间、下一跳状态。还需说明的是,下一跳状态至少包括:有效性状态、下一跳命中状态、IGP路由度量变化状态、IGP路由下一跳个数变化状态。102、路由下一跳订阅模块向路由集中管理模块发送BGP邻居路由的下一跳信息订阅请求。103、路由集中管理模块通过BGP邻居路由的下一跳信息订阅请求检测BGP邻居路由的下一跳信息。其中,路由集中管理模块接收到路由下一跳订阅模块发送的订阅请求之后,开始检测BGP邻居路由的下一跳信息。104、路由集中管理模块根据BGP邻居路由的下一跳信息订阅请求获取BGP邻居路由的下一跳信息,将BGP邻居路由的下一跳信息发本文档来自技高网...
一种基于边界网关协议的下一跳路由检测方法及装置

【技术保护点】
一种基于边界网关协议的下一跳路由检测方法,所述方法应用于路由器,其特征在于,所述路由器至少包括:路由集中管理模块、路由下一跳订阅模块、路由下一跳信息接收模块、路由扫描前半部模块;所述方法包括:当所述路由器获取到边界网关协议BGP邻居路由之后,所述路由下一跳订阅模块根据所述BGP邻居路由生成路由下一跳依赖表;所述路由下一跳订阅模块向所述路由集中管理模块发送所述BGP邻居路由的下一跳信息订阅请求;所述路由集中管理模块通过所述BGP邻居路由的下一跳信息订阅请求检测所述BGP邻居路由的下一跳信息;所述路由集中管理模块根据所述BGP邻居路由的下一跳信息订阅请求获取所述BGP邻居路由的下一跳信息,将所述BGP邻居路由的下一跳信息发送给所述路由下一跳信息接收模块,并由所述路由下一跳信息接收模块根据所述BGP邻居路由的下一跳信息生成路由下一跳变化表;通过所述路由扫描前半部模块对所述路由下一跳依赖表和所述路由下一跳变化表进行对比,根据所述路由下一跳变化表更新所述路由下一跳依赖表,具有相同表项的更新后的所述路由下一跳依赖表与所述路由下一跳变化表相同。

【技术特征摘要】
1.一种基于边界网关协议的下一跳路由检测方法,所述方法应用于路由器,其特征在于,所述路由器至少包括:路由集中管理模块、路由下一跳订阅模块、路由下一跳信息接收模块、路由扫描前半部模块;所述方法包括:当所述路由器获取到边界网关协议BGP邻居路由之后,所述路由下一跳订阅模块根据所述BGP邻居路由生成路由下一跳依赖表;所述路由下一跳订阅模块向所述路由集中管理模块发送所述BGP邻居路由的下一跳信息订阅请求;所述路由集中管理模块通过所述BGP邻居路由的下一跳信息订阅请求检测所述BGP邻居路由的下一跳信息;所述路由集中管理模块根据所述BGP邻居路由的下一跳信息订阅请求获取所述BGP邻居路由的下一跳信息,将所述BGP邻居路由的下一跳信息发送给所述路由下一跳信息接收模块,并由所述路由下一跳信息接收模块根据所述BGP邻居路由的下一跳信息生成路由下一跳变化表;通过所述路由扫描前半部模块对所述路由下一跳依赖表和所述路由下一跳变化表进行对比,根据所述路由下一跳变化表更新所述路由下一跳依赖表,具有相同表项的更新后的所述路由下一跳依赖表与所述路由下一跳变化表相同。2.根据权利要求1所述的方法,其特征在于,所述所述路由下一跳订阅模块根据所述BGP邻居路由生成路由下一跳依赖表的同时,所述方法还包括:所述路由下一跳订阅模块对所述BGP邻居路由的下一跳进行初始化操作,所述初始化操作包括:设置下一跳的有效性状态为无效状态和设置下一跳的命中状态为命中状态。3.根据权利要求2所述的方法,所述所述路由下一跳信息接收模块根据所述BGP邻居路由的下一跳信息生成路由下一跳变化表,包括:当接收到的所述BGP邻居路由的下一跳信息为路由添加消息时,保存内部网关协议IGP路由度量、出接口信息、所述BGP邻居路由的下一跳信息的更新时间等,同时设置下一跳有效性状态为有效状态;当接收到的所述BGP邻居路由的下一跳信息为路由删除消息或所述BGP邻居路由的下一跳信息为空时,不保存下一跳信息,并设置下一跳有效性状态为无效状态。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:通过所述路由扫描前半部模块对所述路由下一跳依赖表和所述路由下一跳变化表进行对比,并在具有相同表项的所述路由下一跳依赖表与所述路由下一跳变化表不同时,对所述路由下一跳依赖表的表项进行标记,同时设置所述下一跳表中的所有表项的命中状态为非命中状态,所述标记用于表示所述表项对应的路由下一跳依赖表改变;路由扫描模块将所述路由下一跳依赖表中添加所述标记的表项的路由下一跳命中状态修改为命中状态,并对所述BGP邻居路由进行路由优选。5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:通过路由扫描后半部模块删除所述路由下一跳依赖表中非命中状态的表项并删除所述路由下一跳依赖表中的标记;通过路由扫描后半部模块删除所述路由下一跳变化表中的所有表项。6.一...

【专利技术属性】
技术研发人员:李金辉卢祖友
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1