CN103685035B - 路由更新方法、交换机及*** - Google Patents
路由更新方法、交换机及*** Download PDFInfo
- Publication number
- CN103685035B CN103685035B CN201210362754.2A CN201210362754A CN103685035B CN 103685035 B CN103685035 B CN 103685035B CN 201210362754 A CN201210362754 A CN 201210362754A CN 103685035 B CN103685035 B CN 103685035B
- Authority
- CN
- China
- Prior art keywords
- unreachable
- route
- neighbor
- route entry
- reachable
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种路由更新方法、交换机及***,属于计算机网络领域。所述方法包括:当前设备探测至少两个邻居设备的链路状态;若所述当前设备探测到第一邻居设备的链路状态为不可达,则将内部路由表中与所述第一邻居设备对应的初始状态为可达的路由项置为不可达;所述当前设备还分别检测内部路由表中与每个目标子网所对应的所有路由项是否均为不可达,若是,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息。本发明通过在探测到邻居设备发生故障时,不计算而直接更新内部路由表和通知其他邻居设备更新内部路由表,达到了交换机仅需要通过简单地逻辑判断,就可以完成路由更新的效果。
Description
技术领域
本发明涉及计算机网络领域,特别涉及一种路由更新方法、交换机及***。
背景技术
路由协议,如OSPF(Open Shortest Path First,开放最短路径优先)协议、BGP(Border Gateway Protocol,边界网关协议)协议及ISIS(分级的链路状态路由协议)协议可以实现网络内任意两节点间的通信。例如,交换机可以通过所有的输出端口向所有相邻的交换机发送OSPF协议消息,该OSPF协议消息用于获取相邻交换机的链路状态,而每一个相邻的交换机又再将该OSPF协议消息发往其所有的相邻交换机,依次类推。这样,由于各交换机间频繁地交换链路状态信息,因此,所有的交换机最终都能建立一个链路状态数据库,这个链路状态数据库实际上就是整个网络的拓扑结构图。由此,每一个交换机都知道整个网络内共有多少个交换机,以及哪些交换机是相连的。这样,每一个交换机就可以根据该链路状态数据库中的数据采用最短路径路由算法来构建自己的路由表。
例如图1所示的数据中心网络架构,该数据中心网络架构中有两类交换机,由C标识的“核心交换机”及由A标识的“接入交换机”,其中,核心交换机仅与网络内的其他交换机相连,而接入交换机则用于连接所述核心交换机及具体网段内的终端设备。该数据中心网络中的核心交换机C的数量通常是2~4台,如图1中的C1、C2、C3及C4;而接入交换机A的数量至少在100台,如图1给出的A1~An。在图1所示的数据中心网络内的交换机运行OSPF路由协议后,C到A的转发路径正常情况下都是单跳(one hop)的,任意A之间的转发路径正常情况下都是两跳(two hops),有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是本发明实施例一提供的路由更新方法的方法流程图;
图3A是本发明实施例二所涉及的实施环境的结构示意图;
图3B是本发明实施例二提供的路由更新方法的方法流程图;
图3C是本发明实施例二中若干交换机在初始状态下的内部路由表;
图3D是本发明实施例二中若干交换机在路由更新之后的内部路由表;
图4A是本发明实施例三所涉及的实施环境的结构示意图;
图4B是本发明实施例三提供的路由更新方法的方法流程图;
图4C是本发明实施例三中若干交换机在初始状态下的内部路由表;
图4D是本发明实施例三中若干交换机在路由更新之后的内部路由表;
图5是本发明实施例四提供的交换机的结构方框图;
图6是本发明实施例五提供的交换机的结构方框图;
图7是本发明实施例六提供的网络***的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参考图2,其示出了本发明实施例一提供的路由更新方法的方法流程图。该路由更新方法可以用于由两级或者两级以上的设备组成的交换网络,每个设备只与位于上一级的设备或者位于下一级的设备相连。本文中,将与当前设备相连的且位于当前设备上一级的设备称之为“上游设备”;将与当前设备相连的且位于当前设备下一级的设备称之为“下游设备”。该路由更新方法,具体包括:
步骤201,当前设备探测至少两个邻居设备的链路状态,该邻居设备为当前设备一跳可达的上游设备或者下游设备;
步骤202,若当前设备探测到第一邻居设备的链路状态为不可达,则当前设备将内部路由表中与第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;
步骤203,当前设备在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便其它邻居设备将内部路由表中与当前设备和目标子网两者均对应的路由项置为不可达。
综上所述,本实施例提供的路由更新方法中,当前设备通过在探测到邻居设备发生故障时,不计算而直接更新内部路由表和选择性地通知其他邻居设备更新内部路由表,解决了现有的路由更新方法在出现链路故障后会导致部分交换机进行很多无效计算的问题,达到了交换机仅需要通过简单地逻辑判断,就可以完成路由更新的效果。
为了更好地描述,在下述实施例中以路由更新方法应用于两级设备组成的交换网络中来举例说明。
实施例二
请参考图3A,其示出了本发明实施例二所涉及的实施环境的结构示意图。该实施环境是一个数据中心中由两级交换机组成的交换网络,每个交换机只与位于上一级的交换机或者位于下一级的交换机相连。本文中,将与当前交换机相连的且位于当前交换机上一级的交换机称之为“上游设备”;将与当前交换机相连的且位于当前交换机下一级的交换机称之为“下游设备”。具体地讲,该实施环境包括:
位于上一级的4个核心交换机C1、C2、C3和C4;
位于下一级的n个接入交换机A1、A2、A3、A4、A5和An;其中,A6至An-1未具体示出。每个接入交换机各自都分别与核心交换机相连,比如,A1分别与C1、C2、C3和C4相连;A2分别与C1、C2、C3和C4相连;A3分别与C1、C2、C3和C4相连,等等。每个接入交换机分别对应一个子网,比如接入交换机A1的子网是数据中心内部具体的服务器接入网段subnet1;接入交换机A2的子网是数据中心内部具体的服务器接入网段subnet2,等等。
与接入交换机属于同一级的2个边界交换机B1和B2。边界交换机属于特殊的接入交换机,每个边界交换机对应的子网是default(默认路由),边界交换机在具有接入交换机的功能的基础上,同时运行传统的诸如OSPF的其它路由协议,以便和数据中心外部的网络互连互通。也即,边界交换机会将数据中心内部路由聚合后发布到外部,以实现数据中心和外部互连互通的要求。每个边界交换机也各自都与核心交换机相连,比如,B1分别与C1、C2、C3和C4相连;B2分别与C1、C2、C3和C4相连。
在上述网络拓扑中,同一级的设备互相之间并不直接相连。
请参考图3B,其示出了本发明实施例二提供的路由更新方法的方法流程图。本实施例以该路由更新方法应用于图3A所示实施环境为例来举例说明,在一个交换机被认为是当前设备时,与其相连的上游设备或者下游设备被称之为邻居设备。该路由更新方法,具体包括:
步骤301,当前设备存储内部路由表,在当前设备的内部路由表中以二维坐标标识每个路由项,二维坐标中的一个坐标为邻居设备,另一个坐标为目标子网。
对于每个路由项,若经过与该路由项的坐标所对应的邻居设备通往与该路由项的坐标所对应的目标子网的路径并非当前设备通往该目标子网的所有路径中的最短路径,则该路由项始终为不可达。
具体地讲,每个交换机中都事先存储一张内部路由表,该内部路由表中的转发路径并非是实时计算的最短路径,而是以最短路径为基础的固定路径。请结合参考图3C,其示出了若干交换机在初始状态下的内部路由表。
若当前设备为接入交换机A1,在A1的内部路由表中,以二维坐标标识每个路由项,二维坐标中的位于行的坐标为邻居设备C1、C2、C3和C4,位于列的坐标为目标子网subnet1、subnet2、subnet3,、、、,以及default。对于每个路由项,路由项中的数字为1时,表示可达;路由项中的数字为0时,表示不可达;路由项中为空白时,表示始终不可达。比如,对于目标子网subnet3,当邻居设备为C1、C2、C3和C4时,均为可达,而且都是最短的2hops路径;又比如,对于目标子网subnet1,从当前设备A1到目标子网subnet1的最短路径就是自身,所以不论是邻居设备为哪一个,经过邻居设备通往subnet1的路径均不是最短路径,所以第一行的路由项始终为不可达。
对于接入交换机A2至An,与接入交换机A1类似,不再赘述。
若当前设备为核心交换机C1,在C1的内部路由表中,以二维坐标标识每个路由项,二维坐标中的位于行的坐标为邻居设备A1、A2、A3,、、、,An、B1和B2,位于列的坐标为目标子网subnet1、subnet2、subnet3,、、、,以及default。对于每个路由项,路由项中的数字为1时,表示可达;路由项中的数字为0时,表示不可达;路由项中为空白时,表示始终不可达。比如,对于目标子网subnet3,当邻居设备为A3时,经过A3通往与subnet3的路径为最短的1hop路径,所以该路由项为可达,但是当邻居设备为A1时,虽然可以经过C1-A1-C2-A3之类的路径通往subnet3,但不是从C1出发通往subnet3的最短路径,所以该路由项始终为不可达;又比如,对于目标子网default,当邻居设备为B1或者B2时,经过B1或者B2通往与default的路径为最短的1hop路径,所以该路由项为可达,但是当邻居设备为A1至An时,虽然可以经过C1-A1-C2-B1之类的路径通往default,但不是从C1出发通往default的最短路径,所以对应的路由项始终为不可达。
对于核心交换机C2至C4,与核心交换机C1类似,不再赘述。
若当前设备为边界交换机B1,在B1的内部路由表中,以二维坐标标识每个路由项,二维坐标中的位于行的坐标为邻居设备C1、C2、C3和C4,位于列的坐标为目标子网subnet1、subnet2、subnet3,、、、,以及default。对于每个路由项,路由项中的数字为1时,表示可达;路由项中的数字为0时,表示不可达;路由项中为空白时,表示始终不可达。比如,对于目标子网subnet3,当邻居设备为C1、C2、C3和C4时,均为可达,而且都是最短的2hops路径;又比如,对于目标子网default,从当前设备B1到目标子网default的最短路径就是自身,所以不论是邻居设备为哪一个,经过邻居设备通往default的路径均不是最短路径,所以最后一行的路由项始终为不可达。
对于边界交换机B2,与边界交换机B1类似,不再赘述。
步骤302,当前设备探测至少两个邻居设备的链路状态,该邻居设备为当前设备一跳可达的上游设备或者下游设备;
若当前设备为接入交换机A1,其1hop可达的设备为位于上一级的核心交换机C1、C2、C3和C4,所以A1分别探测C1、C2、C3和C4的链路状态;
同理,A2至An也是分别探测C1、C2、C3和C4的链路状态。
若当前设备为核心交换机C1,其1hop可达的设备为位于下一级的接入交换机A1至An和边界交换机B1、B2,所以C1分别探测A1至An、B1和B2的链路状态;
同理,C2也是分别探测A1至An、B1和B2的链路状态。
若当前设备为边界交换机B1,其1hop可达的设备为位于上一级的核心交换机C1、C2、C3和C4,所以B 1分别探测C1、C2、C3和C4的链路状态;
同理,B2也是分别探测C1、C2、C3和C4的链路状态。
也即,相邻的两个设备相互探测对方的链路状态。
步骤303,若当前设备探测到第一邻居设备的链路状态为不可达,则当前设备将内部路由表中与第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;
第一邻居设备是当前设备的至少两个邻居设备中的某一个邻居设备。其中,“第一”仅为了便于区别描述,并不包含其他特殊含义。
若当前设备为接入交换机A1,假设A1探测到C1的链路状态为不可达,则A1将内部路由表中与C1对应的所有路由项中初始状态为可达的路由项置为不可达,如图3D所示。
若当前设备为核心交换机C1,假设C1探测到A1的链路状态为不可达,则C1将内部路由表中与A1对应的所有路由项中初始状态为可达的路由项置为不可达,如图3D所示。
步骤304,当前设备在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便其它邻居设备将内部路由表中与当前设备和目标子网两者均对应的路由项置为不可达。
若当前设备为接入交换机A1,继续假设A1探测到C1的链路状态为不可达,A1首先会将内部路由表中与C1对应的所有路由项中初始状态为可达的路由项置为不可达;然后分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,检测发现没有哪一个目标子网所对应的所有路由项变成均为不可达(目标子网subnet2-default原来分别对应有四个路由项可达,现在变为分别对应三个路由项可达),所以不进行后续处理。
若当前设备为核心交换机C1,继续假设C1探测到A1的链路状态为不可达,则C1将内部路由表中与A1对应的所有路由项中初始状态为可达的路由项置为不可达,也即将第一行第一列所对应的路由项由“1”变为“0”,如图3D所示;
此时,C1分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,检测发现与subnet1所对应的所有路由项变成均为不可达(也即,第一行的路由项全部变成了不可达),则C1向除A1之外的其它邻居设备发送路由更新消息,以便其它邻居设备将内部路由表中与C1和subnet1两者均对应的路由项置为不可达,如图3D所示,A2至An、B1和B2中与C1和subnet1两者均对应的路由项,全部由“1”变为了“0”。
步骤305,若当前设备探测到第一邻居设备的链路状态由不可达变为可达,则当前设备将内部路由表中与第一邻居设备对应的所有路由项中初始状态为可达的路由项由不可达恢复为可达;
若当前设备为核心交换机C1,假设C1探测到A1的链路状态由不可达恢复为可达,则C1将内部路由表中与A1对应的所有路由项中初始状态为可达的路由项恢复为可达,也即将第一行第一列所对应的路由项由“0”恢复为“1”,如图3C所示;
步骤306,当前设备在至少一个路由项的状态因链路状态改变被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便邻居设备将内部路由表中与当前设备和目标子网两者均对应的路由项由不可达恢复为可达。
在上一步骤之后,C1还分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,检测发现与subnet1所对应的所有路由项由均为不可达变成至少一个可达(也即,第一行第一列所对应的路由项变成了可达),则C1向除A1之外的其它邻居设备发送路由更新消息,以便其它邻居设备将内部路由表中与C1和subnet1两者均对应的路由项由不可达恢复为可达,如图3C所示,A2至An、B1和B2中与C1和subnet1两者均对应的路由项,全部由“0”变为了“1”。
综上所述,本实施例提供的路由更新方法,当前设备通过在探测到邻居设备发生故障时,不计算而直接更新内部路由表和选择性地通知其他邻居设备更新内部路由表,解决了现有的路由更新方法在出现链路故障后会导致部分交换机进行很多无效计算的问题,达到了交换机仅需要通过简单地逻辑判断,就可以完成路由更新的效果。
实施例三
请参考图4A,其示出了本发明实施例三所涉及的实施环境的结构示意图。该实施环境是一个数据中心中由三级交换机组成的交换网络。具体地讲,该实
施环境包括:
位于最上一级的2个核心交换机C1和C2。
位于中间一级的2个边界交换机B1和B2。边界交换机属于特殊的接入交换机,每个边界交换机对应的子网是default(默认路由),边界交换机在具有接入交换机的功能的基础上,同时运行传统的诸如OSPF的其它路由协议,以便和数据中心外部的网络互连互通。也即,边界交换机会将数据中心内部路由聚合后发布到外部,以实现数据中心和外部互连互通的要求。每个边界交换机也各自都与核心交换机相连,比如,B1分别与C1和C2相连;B2分别与C1和C2相连。
位于中间一级的4个汇聚点交换机G1、G2、G3和G4。每个汇聚点交换机各自都与核心交换机相连,比如,G1分别与C1和C2相连;G3分别与C1和C2相连,等等。每个汇聚点交换机的下一级还设置有若干个接入交换机,其中,G1和G2及下属接入交换机形成第一设备集群POD1;G3和G4及下属接入交换机形成第二设备集群POD2。
位于最低一级的8个接入交换机A1、A2、A3、A4、A5、A6、A7和A8。其中,A1、A2、A3和A4属于POD1,分别与G1和G2相连;A5、A6、A7和A8属于POD2,分别与G3和G4相连。每个接入交换机分别对应一个子网,比如接入交换机A1的子网是数据中心内部具体的服务器接入网段subnet1;接入交换机A2的子网是数据中心内部具体的服务器接入网段subnet2,等等。
在上述网络拓扑中,同一级的设备互相之间并不直接相连。
请参考图4B,其示出了本发明实施例三提供的路由更新方法的方法流程图。本实施例以该路由更新方法应用于图4A所示实施环境为例来举例说明,在一个交换机被认为是当前设备时,与其相连的上游设备或者下游设备被称之为邻居设备。该路由更新方法,具体包括:
步骤401,当前设备存储内部路由表,在当前设备的内部路由表中以二维坐标标识每个路由项,二维坐标中的一个坐标为邻居设备,另一个坐标为目标子网。
对于每个路由项,若经过与该路由项的坐标所对应的邻居设备通往与该路由项的坐标所对应的目标子网的路径并非当前设备通往该目标子网的所有路径中的最短路径,则该路由项始终为不可达。
具体地讲,每个交换机中都事先存储一张内部路由表,该内部路由表中的转发路径并非是实时计算的最短路径,而是以最短路径为基础的固定路径。请结合参考图4C,其示出了若干交换机在初始状态下的内部路由表。
若当前设备为接入交换机A1,在A1的内部路由表中,以二维坐标标识每个路由项,二维坐标中的位于行的坐标为邻居设备G1和G2,位于列的坐标为目标子网subnet1、subnet2、subnet3,、、、,subnet8以及default。对于每个路由项,路由项中的数字为1时,表示可达;路由项中的数字为0时,表示不可达;路由项中为空白时,表示始终不可达。比如,对于目标子网subnet3,不论邻居设备为G1和G2,均为可达,而且都是最短的2hops路径;又比如,对于目标子网subnet1,从当前设备A1到目标子网subnet1的最短路径就是自身,所以不论邻居设备为哪一个,经过邻居设备通往subnet1的路径均不是最短路径,所以第一行的路由项始终为不可达。
对于接入交换机A2至A8,与接入交换机A1类似,不再赘述。
若当前设备为汇聚点交换机G1,在G1的内部路由表中,以二维坐标标识每个路由项,二维坐标中的位于行的坐标为邻居设备A1、A2、A3、A4、C1和C2,位于列的坐标为目标子网subnet1、subnet2、subnet3,、、、,subnet8以及default。对于每个路由项,路由项中的数字为1时,表示可达;路由项中的数字为0时,表示不可达;路由项中为空白时,表示始终不可达。比如,对于目标子网subnet3,当邻居设备为A3时,经过A3通往与subnet3的路径为最短的1hop路径,所以该路由项为可达,但是当邻居设备为A1时,虽然可以经过G1-A1-G2-A3之类的路径通往subnet3,但不是从G1出发通往subnet3的最短路径,所以该路由项始终为不可达;又比如,对于目标子网default,当邻居设备为C1或者C2时,经过C1或者C2通往default的路径为最短的2hop路径,所以该路由项为可达,但是当邻居设备为A1至A4时,虽然可以经过G1-A1-G2-C1-B1之类的路径通往default,但不是从G1出发通往default的最短路径,所以对应的路由项始终为不可达。
对于汇聚点交换机G2、G3和G4,与汇聚点交换机G1类似,不再赘述。
若当前设备为核心交换机C1,在C1的内部路由表中,以二维坐标标识每个路由项,二维坐标中的位于行的坐标为邻居设备G1、G2、G3、G4、B1和B2,位于列的坐标为目标子网subnet1、subnet2、subnet3,、、、,subnet n以及default。对于每个路由项,路由项中的数字为1时,表示可达;路由项中的数字为0时,表示不可达;路由项中为空白时,表示始终不可达。比如,对于目标子网subnet3,当邻居设备为G1时,经过G1通往与subnet3的路径为最短的2hop路径,所以该路由项为可达,但是当邻居设备为G3时,虽然可以经过C1-G3-C2-G1-A3之类的路径通往subnet3,但不是从C1出发通往subnet3的最短路径,所以该路由项始终为不可达。
对于核心交换机C2,与核心交换机C1类似,不再赘述。
若当前设备为边界交换机B1,在B1的内部路由表中,以二维坐标标识每个路由项,二维坐标中的位于行的坐标为邻居设备C1和C2,位于列的坐标为目标子网subnet1、subnet2、subnet3,、、、,subnet n以及default。对于每个路由项,路由项中的数字为1时,表示可达;路由项中的数字为0时,表示不可达;路由项中为空白时,表示始终不可达。比如,对于目标子网subnet3,当邻居设备为C1和C2时,均为可达,而且都是最短的3hops路径;又比如,对于目标子网default,从当前设备B1到目标子网default的最短路径就是自身,所以不论是邻居设备为哪一个,经过邻居设备通往default的路径均不是最短路径,所以第三行的路由项始终为不可达。
对于边界交换机B2,与边界交换机B1类似,不再赘述。
步骤402,当前设备探测至少两个邻居设备的链路状态,该邻居设备为当前设备一跳可达的上游设备或者下游设备;
若当前设备为接入交换机A1,其1hop可达的设备为位于上一级的汇聚点交换机G1和G2,所以A1分别探测G1和G2的链路状态;
同理,A2至A4也是分别探测G1、G2的链路状态;而A5至A8则分别探测G3和G4的链路状态。
若当前设备为汇聚点交换机G1,其1 hop可达的设备为位于上一级的汇聚点交换机C1和C2,位于下一级的接入交换机A1、A2、A3和A4,所述G1分别探测A1至A4、C1和C2的链路状态;
同理,G2也分别探测A1至A4、C1和C2的链路状态;而G3和G4则分别探测A5至A8、C1和C2的链路状态;
若当前设备为核心交换机C1,其1hop可达的设备为位于下一级的汇聚点交换机G1至G4和边界交换机B1、B2,所以C1分别探测G1至G4、B1和B2的链路状态;
同理,C2也是分别探测G1至G4、B1和B2的链路状态。
若当前设备为边界交换机B1,其1hop可达的设备为位于上一级的核心交换机C1和C2,所以B1分别探测C1和C2的链路状态;
同理,B2也是分别探测C1和C2的链路状态。
也即,相邻的两个设备相互探测对方的链路状态。
步骤403,若当前设备探测到第一邻居设备的链路状态为不可达,则当前设备将内部路由表中与第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;
第一邻居设备是当前设备的至少两个邻居设备中的某一个邻居设备。其中,“第一”仅为了便于区别描述,并不包含其他特殊含义。
下述步骤中,均以B1和B1的默认路由撤销来举例说明,比如,数据中心不需要接入外网了,B1和B2的默认路由撤销。对于其它路径发生故障或者撤销的情形,本领域技术人员可以容易及延伸思及,不再赘述。
若当前设备为核心交换机C1,C1探测到B1和B2的链路状态均为不可达,则C1将内部路由表中与B1和B2对应的所有路由项中初始状态为可达的路由项置为不可达,也即将最后一行的路由项中初始状态为“1”的路由项置为“0”,如图4D所示。
同时,核心交换机C2,也会将内部路由表中与B1和B2对应的所有路由项中初始状态为可达的路由项置为不可达,也即将最后一行的路由项中初始状态为“1”的路由项置为“0”,如图4D所示。
步骤404,当前设备在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便其它邻居设备将内部路由表中与当前设备和目标子网两者均对应的路由项置为不可达。
若当前设备为核心交换机C1,C1将内部路由表中与B1和B2对应的所有路由项中初始状态为可达的路由项置为不可达之后,此时,C1分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,检测发现与default所对应的所有路由项变成均为不可达(也即,最后一行的路由项全部变成了不可达),则C1向除B1和B2之外的其它邻居设备发送路由更新消息,以便其它邻居设备将内部路由表中与C1和default两者均对应的路由项置为不可达,如图4D所示,G1、G2、G3和G4中与C1和default两者均对应的路由项,由“1”变为了“0”。
同理,核心交换机C2在将内部路由表中与B1和B2对应的所有路由项中初始状态为可达的路由项置为不可达之后,C2也分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,检测发现与default所对应的所有路由项变成均为不可达(也即,最后一行的路由项全部变成了不可达),则C2向除B1和B2之外的其它邻居设备发送路由更新消息,以便其它邻居设备将内部路由表中与C2和default两者均对应的路由项置为不可达,如图4D所示,G1、G2、G3和G4中与C2和default两者均对应的路由项,由“1”变为了“0”。
步骤402至步骤403是以当前设备通过探测邻居设备的链路状态来触发路由更新的。显然,当前设备也可以通过接收邻居设备的路由更新消息来触发路由更新。请参考如下步骤:
步骤405,当前设备接收第二邻居设备的路由更新消息,路由更新消息携带有所第二邻居设备的标识、目标子网的标识和是否可达的标识;
步骤406,当前设备将内部路由表中与第二邻居设备和目标子网两者均对应的路由项根据是否可达的标识进行更新,更新包括将路由项的状态有可达置为不可达,或者,由不可达恢复为可达;
步骤407,当前设备在至少一个路由项的状态因路由更新被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项均为不可达,则向不包括第二邻居设备的其它邻居设备发送路由更新消息,以便其它邻居设备将内部路由表中与当前设备和目标子网两者均对应的路由项置为不可达;
步骤408,当前设备在至少一个路由项的状态因路由更新被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第二邻居设备的其它邻居设备发送路由更新消息,以便邻居设备将内部路由表中与当前设备和目标子网两者均对应的路由项由不可达恢复为可达。
具体地讲:
若当前设备为汇聚点交换机G1,G1可以接收到来自C1的路由更新消息,该路由更新消息中包括C1的标识、default的标识和不可达的标识;然后,G1将内部路由表中与C1和default两者均对应的路由项由“1”更新为“0”。
同理,G1还会接收到来自C2的路由更新消息,该路由更新消息中包括C2的标识、default的标识和不可达的标识;然后,G1将内部路由表中与C2和default两者均对应的路由项由“1”更新为“0”。
之后,G1会分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,检测发现与default所对应的所有路由项变成均为不可达(也即,最后一行的路由项全部变成了不可达),则G1向不包括C1和C2的其它邻居设备A1至A4发送路由更新消息,以便A1至A4将内部路由表中与G1和default两者均对应的路由项由“1”更新为“0”。
易于思及的,G2、G3和G4也会执行如G1相同的操作,最终路由更新后的内部路由表如图4D所示。
如果数据中心又需要接入外网,恢复了B1和B2的默认路由,则相应的路由更新过程基本为上述过程的逆过程,不再一一赘述。但是需要说明的是,在优选的方案中,当前设备向邻居设备针对同一路由项发送路由更新消息的时间间隔不小于预定阈值。也就是说,如果当前设备需要向邻居设备针对同一路由项发送路由更新消息,则两次路由更新消息的发送时间之间的时间间隔不小于预定阈值,这是为了避免产生路由震荡。该预定阈值可以是2秒,或者其它由设计者指定的数值。
综上所述,本实施例提供的路由更新方法,不仅具有上一实施例的优点,还通过接收第二邻居设备的路由更新消息,不计算而直接更新内部路由表和选择性地向不包含第二邻居设备的其它邻居设备反射路由更新消息,解决了现有的路由更新方法在出现链路故障后会导致部分交换机进行很多无效计算的问题,达到了交换机仅需要通过简单地逻辑判断,就可以完成路由更新的效果。
下述实施例为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例。
实施例四
请参考图5,其示出了本发明实施例四提供的交换机的结构方框图。该交换机可以是核心交换机、汇聚点交换机、接入交换机和边界交换机中的某一种。该交换机包括链路探测模块520、路由更新模块540和更新发送模块560。
链路探测模块520,用于探测至少两个邻居设备的链路状态,所述邻居设备为所述交换机一跳可达的上游设备或者下游设备;
路由更新模块540,用于若所述链路探测模块520探测到第一邻居设备的链路状态为不可达,则将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;
更新发送模块560,用于在至少一个路由项的状态因链路状态改变被所述路由更新模块540置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述交换机和所述目标子网两者均对应的路由项置为不可达。
综上所述,本实施例提供的交换机,通过在探测到邻居设备发生故障时,不计算而直接更新内部路由表和选择性地通知其他邻居设备更新内部路由表,解决了现有的路由更新方法在出现链路故障后会导致部分交换机进行很多无效计算的问题,达到了交换机仅需要通过简单地逻辑判断,就可以完成路由更新的效果。
实施例五
请参考图6,其示出了本发明实施例五提供的交换机的结构方框图。该交换机可以是核心交换机、汇聚点交换机、接入交换机和边界交换机中的某一种。该交换机包括路由表存储模块510、链路探测模块520、消息接收模块530、路由更新模块540和更新发送模块560
所述路由表存储模块510,用于存储内部路由表,在所述内部路由表中以二维坐标标识每个路由项,所述二维坐标中的一个坐标为所述邻居设备,另一个坐标为所述目标子网;对于每个路由项,若经过与所述路由项的坐标所对应的邻居设备通往与所述路由项的坐标所对应的目标子网的路径并非所述当前设备通往所述目标子网的所有路径中的最短路径,则所述路由项始终为不可达。
链路探测模块520,用于探测至少两个邻居设备的链路状态,所述邻居设备为所述交换机一跳可达的上游设备或者下游设备;
路由更新模块540,用于若所述链路探测模块520探测到第一邻居设备的链路状态为不可达,则将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;
更新发送模块560,用于在至少一个路由项的状态因链路状态改变被所述路由更新模块540置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述交换机和所述目标子网两者均对应的路由项置为不可达。
所述路由更新模块540,还用于若所述链路探测模块520探测到所述第一邻居设备的链路状态由不可达变为可达,则将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项由不可达恢复为可达;
所述更新发送模块560,还用于在至少一个路由项的状态因链路状态改变被所述路由更新模块540恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便所述邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项由不可达恢复为可达。
所述消息接收模块530,用于接收第二邻居设备的路由更新消息,所述路由更新消息携带有所述第二邻居设备的标识、目标子网的标识和是否可达的标识;
所述路由更新模块540,还用于将所述内部路由表中与所述第二邻居设备和所述目标子网两者均对应的路由项根据所述消息接收模块530接收到的是否可达的标识进行更新,所述更新包括将路由项的状态有可达置为不可达,或者,由不可达恢复为可达;
所述更新发送模块560,还用于在至少一个路由项的状态因路由更新被所述路由更新模块540置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第二邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项置为不可达;
和/或,所述更新发送模块560,还用于在至少一个路由项的状态因路由更新被被所述路由更新模块540恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第二邻居设备的其它邻居设备发送路由更新消息,以便所述邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项由不可达恢复为可达。
所述更新发送模块560,还用于向所述邻居设备针对同一路由项发送路由更新消息的时间间隔不小于预定阈值。
综上所述,本实施例提供的交换机,不仅具有上一实施例的优点,还通过接收第二邻居设备的路由更新消息,不计算而直接更新内部路由表和选择性地向不包含第二邻居设备的其它邻居设备反射路由更新消息,解决了现有的路由更新方法在出现链路故障后会导致部分交换机进行很多无效计算的问题,达到了交换机仅需要通过简单地逻辑判断,就可以完成路由更新的效果。
实施例六
请参考图7,其示出了本发明实施例六提供的网络***的结构示意图。该网络***包括至少一个如实施例四或者实施例五所提供的交换机720,所述交换机720组成两级或者两级以上的交换网络,每个交换机只与位于上一级的交换机或者位于下一级的交换机相连。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种路由更新方法,其特征在于,所述方法包括:
当前设备探测至少两个邻居设备的链路状态,所述邻居设备为所述当前设备一跳可达的上游设备或者下游设备;
若所述当前设备探测到第一邻居设备的链路状态为不可达,则所述当前设备将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;
所述当前设备在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项置为不可达;
其中,对于每个路由项,若经过与所述路由项所对应的邻居设备通往与所述路由项的所对应的目标子网的路径并非所述当前设备通往所述目标子网的所有路径中的最短路径,则所述路由项始终为不可达。
2.根据权利要求1所述的路由更新方法,其特征在于,所述当前设备探测邻居设备的链路状态之前,还包括:
所述当前设备存储内部路由表,在所述内部路由表中以二维坐标标识每个路由项,所述二维坐标中的一个坐标为所述邻居设备,另一个坐标为所述目标子网;对于每个路由项,若经过与所述路由项的坐标所对应的邻居设备通往与所述路由项的坐标所对应的目标子网的路径并非所述当前设备通往所述目标子网的所有路径中的最短路径,则所述路由项始终为不可达。
3.根据权利要求1或2所述的路由更新方法,其特征在于,所述方法,还包括:
若所述当前设备探测到所述第一邻居设备的链路状态由不可达变为可达,则所述当前设备将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项由不可达恢复为可达;
所述当前设备在至少一个路由项的状态因链路状态改变被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项由不可达恢复为可达。
4.根据权利要求1或2所述的路由更新方法,其特征在于,所述方法,还包括:
所述当前设备接收第二邻居设备的路由更新消息,所述路由更新消息携带有所述第二邻居设备的标识、目标子网的标识和是否可达的标识;
所述当前设备将所述内部路由表中与所述第二邻居设备和所述目标子网两者均对应的路由项根据所述是否可达的标识进行更新,所述更新包括将路由项的状态由可达置为不可达,或者,由不可达恢复为可达;
所述当前设备在至少一个路由项的状态因路由更新被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项均为不可达,则向不包括所述第二邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项置为不可达;
和/或,所述当前设备在至少一个路由项的状态因路由更新被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第二邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述当前设备和所述目标子网两者均对应的路由项由不可达恢复为可达。
5.根据权利要求4所述的路由更新方法,其特征在于,所述方法,还包括:
所述当前设备向所述邻居设备针对同一路由项发送路由更新消息的时间间隔不小于预定阈值。
6.一种交换机,其特征在于,包括:
链路探测模块,用于探测至少两个邻居设备的链路状态,所述邻居设备为所述交换机一跳可达的上游设备或者下游设备;
路由更新模块,用于若所述链路探测模块探测到第一邻居设备的链路状态为不可达,则将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项置为不可达;
更新发送模块,用于在至少一个路由项的状态因链路状态改变被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述交换机和所述目标子网两者均对应的路由项置为不可达;
其中,对于每个路由项,若经过与所述路由项所对应的邻居设备通往与所述路由项的所对应的目标子网的路径并非所述交换机通往所述目标子网的所有路径中的最短路径,则所述路由项始终为不可达。
7.根据权利要求6所述的交换机,其特征在于,所述交换机,还包括:
路由表存储模块;
所述路由表存储模块,用于存储内部路由表,在所述内部路由表中以二维坐标标识每个路由项,所述二维坐标中的一个坐标为所述邻居设备,另一个坐标为所述目标子网;对于每个路由项,若经过与所述路由项的坐标所对应的邻居设备通往与所述路由项的坐标所对应的目标子网的路径并非所述交换机通往所述目标子网的所有路径中的最短路径,则所述路由项始终为不可达。
8.根据权利要求6或7所述的交换机,其特征在于,
所述路由更新模块,还用于若所述链路探测模块探测到所述第一邻居设备的链路状态由不可达变为可达,则将内部路由表中与所述第一邻居设备对应的所有路由项中初始状态为可达的路由项由不可达恢复为可达;
所述更新发送模块,还用于在至少一个路由项的状态因链路状态改变被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第一邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述交换机和所述目标子网两者均对应的路由项由不可达恢复为可达。
9.根据权利要求6或7所述的交换机,其特征在于,所述交换机,还包括:
消息接收模块;
所述消息接收模块,用于接收第二邻居设备的路由更新消息,所述路由更新消息携带有所述第二邻居设备的标识、目标子网的标识和是否可达的标识;
所述路由更新模块,还用于将所述内部路由表中与所述第二邻居设备和所述目标子网两者均对应的路由项根据所述是否可达的标识进行更新,所述更新包括将路由项的状态由可达置为不可达,或者,由不可达恢复为可达;
所述更新发送模块,还用于在至少一个路由项的状态因路由更新被置为不可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否变成均为不可达,若检测到一个目标子网所对应的所有路由项变成均为不可达,则向不包括所述第二邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述交换机和所述目标子网两者均对应的路由项置为不可达;
和/或,所述更新发送模块,还用于在至少一个路由项的状态因路由更新被恢复为可达之后,分别检测内部路由表中与每个目标子网所对应的所有路由项是否由均为不可达变成至少一个可达,若检测到一个目标子网所对应的所有路由项由均为不可达变成至少一个可达,则向不包括第二邻居设备的其它邻居设备发送路由更新消息,以便所述其它邻居设备将内部路由表中与所述交换机和所述目标子网两者均对应的路由项由不可达恢复为可达。
10.根据权利要求9所述的交换机,其特征在于,所述更新发送模块,还用于向所述邻居设备针对同一路由项发送路由更新消息的时间间隔不小于预定阈值。
11.一种网络***,其特征在于,包括至少一个如权利要求6至10任一所述的交换机,所述交换机组成两级或者两级以上的交换网络,每个交换机只与位于上一级的交换机或者位于下一级的交换机相连。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210362754.2A CN103685035B (zh) | 2012-09-26 | 2012-09-26 | 路由更新方法、交换机及*** |
US14/431,594 US20150229560A1 (en) | 2012-09-26 | 2013-09-26 | Method, switch and system for updating route |
PCT/CN2013/084279 WO2014048339A1 (zh) | 2012-09-26 | 2013-09-26 | 路由更新方法、交换机及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210362754.2A CN103685035B (zh) | 2012-09-26 | 2012-09-26 | 路由更新方法、交换机及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685035A CN103685035A (zh) | 2014-03-26 |
CN103685035B true CN103685035B (zh) | 2018-04-27 |
Family
ID=50321392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210362754.2A Active CN103685035B (zh) | 2012-09-26 | 2012-09-26 | 路由更新方法、交换机及*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150229560A1 (zh) |
CN (1) | CN103685035B (zh) |
WO (1) | WO2014048339A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021254173A1 (zh) * | 2020-06-16 | 2021-12-23 | 华为技术有限公司 | 一种路由处理方法及相关设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827524A (zh) * | 2016-03-18 | 2016-08-03 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105933252A (zh) * | 2016-04-01 | 2016-09-07 | 浪潮电子信息产业股份有限公司 | 一种交换机通信方法及***、交换机 |
CN108718252B (zh) * | 2018-05-10 | 2021-08-31 | 光脚信息科技(南京)有限公司 | 一种实现内容网络传送的架构 |
US10693761B2 (en) * | 2018-07-02 | 2020-06-23 | Hewlett Packard Enterprise Development Lp | Computer system including multilayer switches |
CN109005121B (zh) * | 2018-08-24 | 2021-06-29 | 新华三技术有限公司 | 一种路由计算方法及装置 |
CN109587066B (zh) * | 2019-01-08 | 2021-10-15 | 百度在线网络技术(北京)有限公司 | 用于生成信息的方法及装置 |
CN111294278B (zh) * | 2020-01-03 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 路由方法、装置、电子设备及计算机可读存储介质 |
US11171883B1 (en) * | 2020-07-07 | 2021-11-09 | Mellanox Technologies, Ltd. | Peering-fabric routing using switches having dynamically configurable forwarding logic |
CN114006800B (zh) * | 2021-10-11 | 2023-12-05 | 中盈优创资讯科技有限公司 | 一种基于igp-spf算法的设备脱网告警方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753381A (zh) * | 2004-09-24 | 2006-03-29 | 华为技术有限公司 | 基于汇聚型网络***的路由更新方法 |
WO2012006170A2 (en) * | 2010-06-29 | 2012-01-12 | Huawei Technologies Co., Ltd. | Layer two over multiple sites |
CN102625345A (zh) * | 2011-01-28 | 2012-08-01 | ***通信集团公司 | 一种应用层信令路由保护方法和设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100596141C (zh) * | 2005-09-15 | 2010-03-24 | 杭州华三通信技术有限公司 | 优化建立pim-dm路由表项的方法 |
JP4734539B2 (ja) * | 2006-05-15 | 2011-07-27 | 学校法人慶應義塾 | ネットワークに含まれるノード間の最短経路を探索するためのシステムおよび方法 |
CN101141382A (zh) * | 2006-09-07 | 2008-03-12 | 华为技术有限公司 | 路由更新方法和路由器 |
CN101515899B (zh) * | 2009-04-01 | 2012-05-23 | 中国人民解放军信息工程大学 | 一种路由生成方法和装置 |
CN101631130B (zh) * | 2009-08-27 | 2012-09-26 | 杭州华三通信技术有限公司 | 直连ebgp邻居间的路由通告方法和设备 |
CN101834778B (zh) * | 2009-12-18 | 2013-10-16 | 中兴通讯股份有限公司 | 一种邻居发现协议表项处理的方法和三层交换设备 |
KR101292076B1 (ko) * | 2009-12-21 | 2013-07-31 | 한국전자통신연구원 | 보안등 근거리 무선 통신 라우팅 방법 |
CN101800742B (zh) * | 2010-01-28 | 2012-12-19 | 华为技术有限公司 | 路由设备上游信息的更新处理方法、路由设备及网络*** |
CN102186221B (zh) * | 2011-04-25 | 2013-11-20 | 北京星网锐捷网络技术有限公司 | 一种路由表项的更新方法以及装置 |
-
2012
- 2012-09-26 CN CN201210362754.2A patent/CN103685035B/zh active Active
-
2013
- 2013-09-26 US US14/431,594 patent/US20150229560A1/en not_active Abandoned
- 2013-09-26 WO PCT/CN2013/084279 patent/WO2014048339A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1753381A (zh) * | 2004-09-24 | 2006-03-29 | 华为技术有限公司 | 基于汇聚型网络***的路由更新方法 |
WO2012006170A2 (en) * | 2010-06-29 | 2012-01-12 | Huawei Technologies Co., Ltd. | Layer two over multiple sites |
CN102625345A (zh) * | 2011-01-28 | 2012-08-01 | ***通信集团公司 | 一种应用层信令路由保护方法和设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021254173A1 (zh) * | 2020-06-16 | 2021-12-23 | 华为技术有限公司 | 一种路由处理方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2014048339A1 (zh) | 2014-04-03 |
CN103685035A (zh) | 2014-03-26 |
US20150229560A1 (en) | 2015-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685035B (zh) | 路由更新方法、交换机及*** | |
CN103718519B (zh) | 实现分离式架构网络中的ospf | |
CN103703727B (zh) | 用于分体式架构***中控制业务的弹性路由的方法和设备 | |
CN104158747B (zh) | 网络拓扑发现方法和*** | |
US7697454B2 (en) | Method and apparatus for controlling the dissemination of routing information on a communication network | |
CN106063195A (zh) | 具有单独控制设备和转发设备的网络中的控制设备发现 | |
CN106165322B (zh) | 向冗余控制器路由协议的代理 | |
KR20150056159A (ko) | SDN(Software-defined networking)에서 네트워크 장애 해소를 위한 컨트롤러 및 스위치의 동작 방법과, 이를 위한 컨트롤러 및 스위치 | |
JP2014103656A (ja) | ネットワークシステム及びルーティング方法 | |
CN102377680B (zh) | 路由收敛方法及设备 | |
CN104380672A (zh) | 用于802.1aq的三级折叠Clos优化 | |
JP2005086460A (ja) | 経路設計装置及びその方法並びにプログラム | |
CN103326943A (zh) | 数据流重路由方法和控制器 | |
CN106559246A (zh) | 集群的实现方法和服务器 | |
CN104618130B (zh) | 一种软件定义数据中心网络控制器的最小代价同步方法 | |
CN103346967A (zh) | 一种数据中心网络拓扑结构及其路由方法 | |
JP2015104042A (ja) | 転送装置、サーバ、および経路変更方法 | |
CN101330411B (zh) | 一种模拟大规模网络拓扑的方法和*** | |
WO2016106972A1 (zh) | 一种数据交换方法、多框互联***及其框设备 | |
CN103259720B (zh) | 一种基于mtr的数据传输方法和设备 | |
CN107078961A (zh) | 中间***到中间***拓扑透明区 | |
CN105450524B (zh) | 一种媒体转发路由优化计算的方法 | |
CN103179032B (zh) | 一种路由备份方法及装置 | |
CN107302500B (zh) | 一种基于逐跳方式的单节点故障保护方法 | |
CN112217651B (zh) | 融合网络的路径标签确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |