路由更新方法、交换机及系统技术方案

技术编号:9839951 阅读:96 留言:0更新日期:2014-04-02 03:14
本发明专利技术公开了一种路由更新方法、交换机及系统,属于计算机网络领域。所述方法包括:当前设备探测至少两个邻居设备的链路状态;若所述当前设备探测到第一邻居设备的链路状态为不可达,则将内部路由表中与所述第一邻居设备对应的初始状态为可达的路由项置为不可达;所述当前设备还分别检测内部路由表中与每个目标子网所对应的所有路由项是否均为不可达,若是,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息。本发明专利技术通过在探测到邻居设备发生故障时,不计算而直接更新内部路由表和通知其他邻居设备更新内部路由表,达到了交换机仅需要通过简单地逻辑判断,就可以完成路由更新的效果。

【技术实现步骤摘要】
路由更新方法、交换机及系统
本专利技术涉及计算机网络领域,特别涉及一种路由更新方法、交换机及系统。
技术介绍
路由协议,如OSPF(OpenShortestPathFirst,开放最短路径优先)协议、BGP(BorderGatewayProtocol,边界网关协议)协议及ISIS(分级的链路状态路由协议)协议可以实现网络内任意两节点间的通信。例如,交换机可以通过所有的输出端口向所有相邻的交换机发送OSPF协议消息,该OSPF协议消息用于获取相邻交换机的链路状态,而每一个相邻的交换机又再将该OSPF协议消息发往其所有的相邻交换机,依次类推。这样,由于各交换机间频繁地交换链路状态信息,因此,所有的交换机最终都能建立一个链路状态数据库,这个链路状态数据库实际上就是整个网络的拓扑结构图。由此,每一个交换机都知道整个网络内共有多少个交换机,以及哪些交换机是相连的。这样,每一个交换机就可以根据该链路状态数据库中的数据采用最短路径路由算法来构建自己的路由表。例如图1所示的数据中心网络架构,该数据中心网络架构中有两类交换机,由C标识的“核心交换机”及由A标识的“接入交换机”,其中,核心交换机仅与网络内的其他交换机相连,而接入交换机则用于连接所述核心交换机及具体网段内的终端设备。该数据中心网络中的核心交换机C的数量通常是2~4台,如图1中的C1、C2、C3及C4;而接入交换机A的数量至少在100台,如图1给出的A1~An。在图1所示的数据中心网络内的交换机运行OSPF路由协议后,C到A的转发路径正常情况下都是单跳(onehop)的,任意A之间的转发路径正常情况下都是两跳(twohops),有4条转发路径,如A1-[C1|C2|C3|C4]-A4。在网络运行的过程中,只要有一个交换机的链路状态发生了变化,整个网络就要重新通过OSPF协议来获取新的网络拓扑结构,网络中的所有交换机都要根据该新的网络拓扑结构重新计算转发路径。例如,如图1所示的C1到A1间的链路中断后,所有交换机要重新计算至A4的转发路径,如A1重新计算出A1-C2-A4、A1-C3-A4和A1-C4-A4这3条至A4的转发路径,比故障前少了1条。这种当网络内出现交换机的链路状态发生变化,所有交换机就要重新计算转发路径的情况,将会导致交换机计算资源的浪费,也不利于整个路由信息维护的收敛。具体以C1为例来讲,C1还会计算至A4的3hops(故障前是1hop)绕行路径:C1-[A1|A2|A3|A5|An]-[C2|C3|C4]-A4,一共是3*(n-2)条,当假设n=102,那么C1-A4链路故障后,C1会计算出300条至A4的绕行路径,而实际上,没有任何一台A会选择C1至A4的转发路径,因此C1计算的绕行路径实际上是无效的,但这种无效计算会占用C1大量的计算资源,最终造成交换机的设计变得较为复杂,成本高昂。
技术实现思路
有鉴于此,本专利技术实施例提供了一种路由更新方法、交换机及系统,以便解决现有的路由更新方法在出现链路故障后会导致部分交换机进行很多无效计算的问题。所述技术方案如下:一个方面,提供了一种路由更新方法,所述方法包括:当前设备探测至少两个邻居设备的链路状态,所述邻居设备为所述当前设备一跳可达的上游设备或者下游设备;若所述当前设备探测到第一邻居设备的链路状态为不可达,则所述当前设备将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;所述当前设备在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项置为不可达。进一步地,所述当前设备探测邻居设备的链路状态之前,还包括:所述当前设备存储内部路由表,在所述内部路由表中以二维坐标标识每个路由项,所述二维坐标中的一个坐标为所述邻居设备,另一个坐标为所述目标子网;对于每个路由项,若经过与所述路由项的坐标所对应的邻居设备通往与所述路由项的坐标所对应的目标子网的路径并非所述当前设备通往所述目标子网的所有路径中的最短路径,则所述路由项始终为不可达。进一步地,所述方法,还包括:若所述当前设备探测到所述第一邻居设备的链路状态由不可达变为可达,则所述当前设备将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项由不可达恢复为可达;所述当前设备在至少一个路由项的状态因链路状态改变被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便所述邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项由不可达恢复为可达。进一步地,所述方法,还包括:所述当前设备接收第二邻居设备的路由更新消息,所述路由更新消息携带有所述第二邻居设备的标识、目标子网的标识和是否可达的标识;所述当前设备将所述内部路由表中与所述第二邻居设备和所述目标子网两者均对应的路由项根据所述是否可达的标识进行更新,所述更新包括将路由项的状态有可达置为不可达,或者,由不可达恢复为可达;所述当前设备在至少一个路由项的状态因路由更新被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第二邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项置为不可达;和/或,所述当前设备在至少一个路由项的状态因路由更新被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第二邻居设备的其它邻居设备发送路由更新消息,以便所述邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项由不可达恢复为可达。进一步地,所述方法,还包括:所述当前设备向所述邻居设备针对同一路由项发送路由更新消息的时间间隔不小于预定阈值。另一方面,提供了一种交换机,包括:链路探测模块,用于探测至少两个邻居设备的链路状态,所述邻居设备为所述交换机一跳可达的上游设备或者下游设备;路由更新模块,用于若所述链路探测模块探测到第一邻居设备的链路状态为不可达,则将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;更新发送模块,用于在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述交换机和所述目标子网两者均对应的路由项置为不可达。进一步地,所述交换机,还包括:路由表存储模块;所述路由表存本文档来自技高网
...
路由更新方法、交换机及系统

【技术保护点】
一种路由更新方法,其特征在于,所述方法包括:当前设备探测至少两个邻居设备的链路状态,所述邻居设备为所述当前设备一跳可达的上游设备或者下游设备;若所述当前设备探测到第一邻居设备的链路状态为不可达,则所述当前设备将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;所述当前设备在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项置为不可达。

【技术特征摘要】
1.一种路由更新方法,其特征在于,所述方法包括:当前设备探测至少两个邻居设备的链路状态,所述邻居设备为所述当前设备一跳可达的上游设备或者下游设备;若所述当前设备探测到第一邻居设备的链路状态为不可达,则所述当前设备将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;所述当前设备在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项置为不可达;其中,对于每个路由项,若经过与所述路由项所对应的邻居设备通往与所述路由项的所对应的目标子网的路径并非所述当前设备通往所述目标子网的所有路径中的最短路径,则所述路由项始终为不可达。2.根据权利要求1所述的路由更新方法,其特征在于,所述当前设备探测邻居设备的链路状态之前,还包括:所述当前设备存储内部路由表,在所述内部路由表中以二维坐标标识每个路由项,所述二维坐标中的一个坐标为所述邻居设备,另一个坐标为所述目标子网;对于每个路由项,若经过与所述路由项的坐标所对应的邻居设备通往与所述路由项的坐标所对应的目标子网的路径并非所述当前设备通往所述目标子网的所有路径中的最短路径,则所述路由项始终为不可达。3.根据权利要求1或2所述的路由更新方法,其特征在于,所述方法,还包括:若所述当前设备探测到所述第一邻居设备的链路状态由不可达变为可达,则所述当前设备将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项由不可达恢复为可达;所述当前设备在至少一个路由项的状态因链路状态改变被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项由不可达恢复为可达。4.根据权利要求1或2所述的路由更新方法,其特征在于,所述方法,还包括:所述当前设备接收第二邻居设备的路由更新消息,所述路由更新消息携带有所述第二邻居设备的标识、目标子网的标识和是否可达的标识;所述当前设备将所述内部路由表中与所述第二邻居设备和所述目标子网两者均对应的路由项根据所述是否可达的标识进行更新,所述更新包括将路由项的状态由可达置为不可达,或者,由不可达恢复为可达;所述当前设备在至少一个路由项的状态因路由更新被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项均为不可达,则向不包括所述第二邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项置为不可达;和/或,所述当前设备在至少一个路由项的状态因路由更新被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第二邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项由不可达恢复为可达。5.根据权利要求4所述的路由更新方法,其特征在于,所述方法,还包括:所述当前设备向所述邻居设备针对同一路由项发送路由更新消息的时间间隔不小于预定阈值。6.一种交换机,其特征在于,包括:链路探测模块,用于探测至少两个邻居设备的链路状态,所述邻居设备为所述交换机一跳可...

【专利技术属性】
技术研发人员:邱谆丁一陈平平钱波丘子隽
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:广东;44

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

1