CN104378287B - 一种拓扑计算方法和装置 - Google Patents

一种拓扑计算方法和装置 Download PDF

Info

Publication number
CN104378287B
CN104378287B CN201410424521.XA CN201410424521A CN104378287B CN 104378287 B CN104378287 B CN 104378287B CN 201410424521 A CN201410424521 A CN 201410424521A CN 104378287 B CN104378287 B CN 104378287B
Authority
CN
China
Prior art keywords
link
node device
node
critical
faulty
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
Application number
CN201410424521.XA
Other languages
English (en)
Other versions
CN104378287A (zh
Inventor
黄智明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201410424521.XA priority Critical patent/CN104378287B/zh
Publication of CN104378287A publication Critical patent/CN104378287A/zh
Application granted granted Critical
Publication of CN104378287B publication Critical patent/CN104378287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种拓扑计算方法,所述方法包括:当节点设备与所述节点设备的邻居节点设备之间的链路发生故障时,所述节点设备确定故障链路是否为关键链路;其中,所述关键链路为所述节点设备与邻居节点设备之间的唯一可达链路;若所述节点设备确定所述故障链路为关键链路,计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,并向与所述节点设备连通的节点设备通告该故障链路为可用链路,以使所述与所述节点设备连通的节点设备计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑。通过本发明可以有效的减少了大量节点设备加入或者退出时产生的计算压力,节约了计算资源,并且可以避免网络性能震荡。

Description

一种拓扑计算方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种拓扑计算方法和装置。
背景技术
SPB(Shortest Path Bridging,最短路径桥接)是一种应用在数据中心中的网络互连技术,旨在实现分散的多个子网络的二层连接,并实现完全透明的二层传输。
在SPB网络中,节点设备通过交互hello报文来发现与自己直连的节点设备并建立邻居关系。对于已建立邻居关系的节点设备之间,通过交互LSP(Link State PDU ProtocolData Unit,链路状态协议数据单元)来交互和扩散各个节点设备的邻居状态信息并达到全网同步。各个节点设备根据收集到的全网中各节点设备的链路状态来计算各节点之间的最优路径,形成一个最优路径树。当有报文需要穿越SPB网络时,报文在网络入口处被加上外层封装并沿着最优路径送到出口处再把外层封装去掉,不改变内层内容,以达到透明传输的效果。
同时,SPB网络中允许存在冗余链路,即如果某些链路没有被计算到最优路径中,流量则不会经过这些链路转发。但是,当最优路径中的某个链路故障后,则由该链路两端的节点设备发现此问题,并通知全网重新计算最优路径,重新计算后的最优路径树避开故障的链路,以达到流量不中断的效果。
然而实际应用中,会存在某些链路是SPB网络中不同子网络的唯一可达链路的情况,针对这种情况,该链路一旦发生故障,SPB网络中不同子网络均需要重新计算各自的拓扑,并且当该链路故障恢复后,SPB网络中不同子网络需要再次重新计算各自的拓扑,非常浪费计算资源。
发明内容
有鉴于此,本发明提出一种拓扑计算方法,所述方法包括:
当节点设备与所述节点设备的邻居节点设备之间的链路发生故障时,所述节点设备确定故障链路是否为关键链路;其中,所述关键链路为所述节点设备与邻居节点设备之间的唯一可达链路;
若所述节点设备确定所述故障链路为关键链路,计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,并向与所述节点设备连通的节点设备通告该故障链路为可用链路,以使所述与所述节点设备连通的节点设备计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑。
优选的,所述方法还包括:
当所述关键链路故障恢复后,所述节点设备更新所述网络中的各链路的链路状态并重新计算网络拓扑。
优选的,所述节点设备确定所述故障链路是否为关键链路包括:
所述节点设备确定所述故障链路是否匹配本地记录的关键链路;
如果是,所述节点设备确定所述故障链路为关键链路;
如果否,所述节点设备确定所述故障链路为非关键链路。
优选的,在所述节点设备确定所述故障链路是否为关键链路之前,所述方法还包括:
所述节点设备根据所述故障链路发生故障之前的网络拓扑,计算本节点设备与邻居节点设备之间的最优路径;
若本节点设备与邻居节点设备之间除所述最优路径以外不存在其它可达路径,或存在其它可达路径且该其它可达路径与最优路径有重叠链路,则所述节点设备将所述最优路径上的链路在本地记录为关键链路;
若本节点设备与邻居节点设备之间除所述最优路径以外存在其它可达路径且该其它可达路径与最优路径没有重叠链路,则所述节点设备将所述最优路径上的链路在本地记录为非关键链路。
优选的,所述方法还包括:
在所述关键链路故障期间,所述节点设备丢弃发往所述关键链路对端节点设备的报文。
优选的,所述方法还包括:
所述节点设备为所述关键链路设置故障恢复时间;
如果所述关键链路在所述故障恢复时间内仍然没有恢复,所述节点设备向与所述节点设备连通的节点设备通告该故障链路为非可用链路,并在进行网络拓扑计算时移除由于该链路故障而不能连通的节点设备。
本发明还提出一种拓扑计算装置,所述装置包括:
链路确定模块,用于在本节点设备与本节点设备的邻居节点设备之间的链路发生故障时,确定故障链路是否为关键链路;其中,所述关键链路为所述节点设备与邻居节点设备之间的唯一可达链路;
通告计算模块,用于在确定出所述故障链路为关键链路时,计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,并向与所述节点设备连通的节点设备通告该故障链路为可用链路,以使所述与所述节点设备连通的节点设备计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑。
优选的,所述通告计算模块进一步用于:
当所述关键链路故障恢复后,更新所述网络中的各链路的链路状态并重新计算网络拓扑。
优选的,所述通告计算模块进一步用于:
确定所述故障链路是否匹配本地记录的关键链路;
如果是,确定所述故障链路为关键链路;
如果否,确定所述故障链路为非关键链路。
优选的,所述通告计算模块进一步用于:根据所述故障链路发生故障之前的网络拓扑,计算本节点设备与邻居节点设备之间的最优路径;
若本节点设备与邻居节点设备之间除所述最优路径以外不存在其它可达路径,或存在其它可达路径且该其它可达路径与最优路径有重叠链路,则将所述最优路径上的链路在本地记录为关键链路;
若本节点设备与邻居节点设备之间除所述最优路径以外存在其它可达路径且该其它可达路径与最优路径没有重叠链路,则将所述最优路径上的链路在本地记录为非关键链路。
优选的,所述装置还包括:
报文丢弃模块,用于在所述关键链路故障期间,丢弃发往所述关键链路对端节点设备的报文。
优选的,所述装置还包括:
时间设置模块,用于为所述关键链路设置故障恢复时间;
所述通告计算模块进一步用于:
如果所述关键链路在所述故障恢复时间内仍然没有恢复,向与所述节点设备连通的节点设备通告该故障链路为非可用链路,并在进行网络拓扑计算时移除由于该链路故障而不能连通的节点设备。
本发明通过在与邻居节点设备之间的链路发生故障时,确定该故障链路是否为关键链路,一旦确定出该故障链路为关键链路,强制向其它可达邻居节点设备通告该故障链路为可用链路,并继续使用由于该链路故障而不能连通的节点设备计算网络拓扑,有效的减少了大量节点设备加入或者退出时产生的计算压力,节约了计算资源,并且可以避免网络性能震荡。
附图说明
图1是本发明一种示例性实施方式中示出的一种SPB组网图;
图2是本发明一种示例性实施方式中示出的一种拓扑计算方法的流程图;
图3是本发明一种示例性实施方式中示出的另一种SPB组网图;
图4是本发明一种示例性实施方式中示出的另一种SPB组网图;
图5是本发明一种示例性实施方式中示出的另一种SPB组网图;
图6是本发明一种示例性实施方式示出的一种拓扑计算装置的框图;
图7是本发明一种示例性实施方式示出的一种承载所述拓扑计算装置的节点设备的硬件结构图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
请参见图1,图1为本实施例示出的一种SPB组网图。
如图1所示,该SPB网络被划分为两个不同的网络区域,分别为区域1和区域2,区域1和区域2通过节点A和节点B之间的链路形成二层互连,节点A和节点B之间的链路为节点A和节点B之间的唯一可达链路,可称之为关键链路。
在现有技术中,节点A和节点B之间的链路一旦断开,节点H、C、E、A将不能和节点D、F、I、B互通,整个SPB网络将被分为两个互相独立的网络区域1和区域2。感知到节点A和节点B之间的链路变化的节点A和节点B发送链路状态消息(LSP报文)向所有节点通告节点A和节点B之间的链路当前已不可用。当然,由于节点A和节点B之间的链路AB,节点A的LSP报文只能发给节点C、E、H;节点B的LSP报文只能发给节点D、F、I。区域1中的节点C、E、H收到节点A通告的LSP报文后,将网络中节点B、F、D、I四个节点移除,重新计算以节点A、C、E、H组成的SPB网络的拓扑。同样的道理,区域2中的节点D、F、I在收到节点B通告的LSP报文后,将网络中节点A、C、E、H移除,重新计算以节点B、D、F、I组成的SPB网络的拓扑。
当节点A和节点B之间的链路恢复后,区域1和区域2两个网络区域重新合并,此时节点A和节点B重新向区域1和区域2中的其它节点发送LSP报文通告节点A和节点B之间的链路可用,区域1和区域2中的其它节点在收到节点A和节点B的LSP报文后,重新计算以节点A、C、E、H和节点B、D、F、I组成的SPB网络的拓扑。
由以上实例可见,由于SPB拓扑计算的特殊性,节点A和节点B之间的链路断开后一个区域在经历了大量的计算之后,只是将另一个区域排除,当节点A和节点B之间的链路恢复后需要将排除的区域中的节点重新加入拓扑计算,存在大量无意义的拓扑计算,非常浪费计算资源。
本发明通过在节点设备与该节点设备的邻居节点设备之间的链路发生故障时,该节点设备确定该故障链路是否为关键链路,一旦确定出该故障链路为关键链路,继续计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,并向与该节点设备连通的节点设备通告该故障链路为可用链路,以使与该节点设备连通的节点设备也继续计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,有效的减少了大量节点设备加入或者退出时产生的计算压力,节约了计算资源;同时,当关键链路恢复后,可以只更新在关键链路故障期间发生改变的节点状态就可以恢复整个网络拓扑,可以避免大量节点加入或者退出时产生大量计算而造成的网络性能震荡。
下面结合附图并举实施例,对本发明进行详细描述。
请参见图2,本发明提出一种拓扑计算方法,所述方法执行如下步骤:
步骤201、当节点设备与所述节点设备的邻居节点设备之间的链路发生故障时,所述节点设备确定故障链路是否为关键链路;其中,所述关键链路为所述节点设备与邻居节点设备之间的唯一可达链路;
步骤202、若所述节点设备确定所述故障链路为关键链路,计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,并向与所述节点设备连通的节点设备通告该故障链路为可用链路,以使所述与所述节点设备连通的节点设备计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑。
在本实施例中,SPB网络中的节点设备可以通过与本设备直连的节点设备交互hello报文来建立邻居关系,并且可以通过周期性的发送hello报文来维护邻居关系;对于已经建立邻居关系的节点设备之间,可以通过交互LSP报文来通告邻居链路状态信息,并根据收集到的全网中其它节点设备通告的LSP报文,来计算各节点之间的最优路径,形成一个最优路径树,节点设备之间的报文交互默认情况下通过计算出的最优路径进行转发。
节点设备在计算最优路径时,通常将与目标节点设备之间的最短路径作为最优路径,当所述最优路径存在等价路径时,再通过其它参数,例如优先级信息,来进一步确定最优路径。
在本实施例中,节点设备根据链路故障前的网络拓扑计算出与邻居节点设备之间的最优路径后,还可以进一步确定最优路径上的链路是否为关键链路,并在本地进行记录。其中,所述关键链路是指节点设备与邻居节点设备之间的唯一可达链路,例如,如图1中所示出的节点A与节点B之间的链路即为所述关键链路。
具体地,节点设备根据链路故障前的网络拓扑计算出与邻居节点设备之间的最优路径(对于邻居设备之间的直连链路即为最优路径上的链路)后,若本节点设备与邻居节点设备之间除最优路径以外不存在其它可达路径,或存在其它可达路径且该其它可达路径与最优路径有重叠链路,则将最优路径上的链路在本地记录为关键链路。例如,如图1中示出的节点A和节点B之间,最优路径为A—B,除了该最优路径外,节点A和节点B之间还存在一条可达路径A—C—H—E—A—B(环路),由于该可达路径与节点A与节点B之间的最优路径存在重叠链路,此时节点A或节点B可以在本地将节点A和节点B之间的直连链路记录为关键链路。
若本节点设备与邻居节点设备之间除最优路径以外存在其它可达路径且该其它可达路径与最优路径没有重叠链路,则将最优路径上的链路在本地记录为非关键链路。例如,如图1中示出的节点A和节点C之间,最优路径为A—C,其中除了该最优路径以外,节点A和节点C之间还存在一条与最优路径没有链路重合的其它可达路径C—H—E—A,此时节点A或节点C可以将节点A和节点C之间的直连链路在本地记录为非关键链路。
其中,判断关键链路的过程,在具体实现时,可以有以下实施方式:
实施方式一
节点设备根据链路故障前的网络拓扑计算出最优路径后,可以将所述最优路径上的链路在本地标记为不可用(即最优路径上的链路不再参与计算),重新进行最优路径的计算;如果计算成功,表明网络中存在在其它可达路径且该其它可达路径与最优路径没有重叠链路,此时可以将所述最优路径上的链路在本地记录为非关键链路。
反之,如果计算失败,表明网络中不存在其它可达路径,或存在其它可达路径且该其它可达路径与最优路径有重叠链路,此时可以将所述最优路径上的链路在本地记录为关键链路。
实施方式二
节点设备根据链路故障前的网络拓扑计算出最优路径后,当判断出除所述最优路径外还存在其它可达路径,可以将所述其它可达路径上的链路与所述最优路径上的链路进行取交集计算。
如果不存在交集,表明当前网络中存在与所述最优路径没有链路重叠的其它可达路径,此时可以将所述最优路径上的链路在本地记录为非关键链路。相反地,如果所述其它可达路径上的链路与所述最优路径上的链路存在交集,那么表明当前网络中不存在其它可达路径,或存在其它可达路径且该其它可达路径与最优路径有重叠链路,此时可以将交集中的链路(对于互为邻居关系的节点设备来说,最优路径与其它可达路径的链路交集即为所述最优路径上的链路)在本地记录为关键链路。
在本实施例中,在该节点设备与邻居节点设备之间的链路发生故障后,在节点设备重新进行拓扑计算之前,首先需要确认该故障链路是否为关键链路。
具体地,可以将该故障链路与本地记录的关键链路依次进行匹配,如果该故障链路已经在本地被记录为关键链路,继续计算包括由于关键链路故障而不能连通的节点设备的网络拓扑。例如,节点设备可以在本地为该故障的关键链路设置一个临时状态“abnormal”,处于临时状态的链路,在进行网络拓扑计算时仍然认为该链路是可用的,且不移除由于该链路故障而不能连同的节点设备。
反之,如果该故障链路已经在本地被记录为非关键链路,由于非关键链路故障通常不会导致节点设备无法连通的情况,因此对于非关键链路故障,节点设备在进行网络拓扑计算时可以不进行特殊处理,处理过程同现有技术。
同时,为了使网络中的其它节点设备在计算网络拓扑时不移除由于关键链路故障而不能连通的节点设备,可以向与该节点设备连通的节点设备通告该故障链路为可用链路,从而使得所述与该节点设备连通的节点设备继续计算包括由于关键链路故障而不能连通的节点设备的网络拓扑。
例如,可以将该故障链路作为可用链路携带到LSP报文中,继续向其它与该节点设备连通的节点设备进行通告,当所述与该节点设备连通的节点设备收到该LSP报文后,再将该LSP报文扩散到网络中的其它节点设备,最终达到全网同步的目的。
在本实施例中,如果所述关键链路故障恢复,此时节点设备将会再次收到由于关键链路故障而不能连通的节点设备通告的链路状态消息,节点设备可以根据收到的链路状态消息更新网络中各链路的链路状态并重新进行拓扑计算;其中,由于关键链路故障期间网络中链路的变化通常不会太大,因此重新进行拓扑计算时,计算压力也不会太大。
另外,在关键链路故障期间,由于该关键链路被节点设备向邻居节点设备强制通告为可用链路,对于节点设备的邻居节点设备来说,均认为该链路为可用状态,因此在该链路故障期间,该节点设备对收到的来自其它节点设备的发往该故障链路对端节点设备的报文,需要做丢弃处理。
同时,在实际应用中,网络中一些链路的故障通常是人为的,并且没有恢复的打算,在这种情况下,持续计算包括由于关键链路故障而不能连通的节点设备的网络拓扑是没有必要的。因此,在本实施例中,还可以为所述关键链路设置故障恢复时间,如果所述关键链路在所述故障恢复时间内仍然没有恢复,该关键链路的故障则很可能由于被人工shutdown掉而导致的,此时所述节点设备可以向与该节点设备连通的节点设备通告该故障链路为非可用链路,并在进行拓扑计算时移除由于该链路故障而不能连通的节点设备。
例如,对于已被设置了临时状态“abnormal”的关键链路,当在故障恢复时间内该关键链路的故障仍未恢复,可以将该链路的状态设置为“down”,down状态的链路会触发其它节点设备在进行拓扑计算时移除由于该链路down掉而不能连通的节点设备。
以下通过一个具体的实例并结合组网环境对本发明作详细的说明。
请继续参见图1,在图1示出的SPB组网图中,该SPB网络仍被划分为两个不同的网络区域,分别为区域1和区域2,区域1由节点设备A、E、H、C组成,区域2由节点设备B、F、I、D组成;区域1和区域2通过节点A和节点B之间的链路形成二层互连,节点A和节点B之间的唯一可达链路,为关键链路。
如图1所示,假如节点A和节点B之间的链路down掉,节点A、E、H、C将不能和节点B、F、I、D节点互通,该SPB网络将被分割为二个互相独立的区域。
节点A和节点B在感知到节点A和节点B之间的链路down掉后,由于节点A和节点B之间的链路为关键链路,因此节点A和节点B在本地将节点A和节点B之间的链路设置为临时状态“abnormal”。在进行网络拓扑计算时,处于abnormal状态的链路仍然认为该链路是可用的,且不移除由于该链路故障而不能连通的节点设备,因此节点A在进行拓扑计算时不移除节点B、F、I、D;节点B在进行拓扑计算时不移除节点A、E、H、C;
同时,节点A和B分别向E、H、C和F、I、D发送LSP消息,通告节点A和节点B之间的链路为可用链路。
节点E、H、C在收到节点A和B发出的LSP报文后,在本地将节点A和节点B之间的链路设置abnormal状态,从而在进行网络拓扑计算时仍然认为节点A和节点B之间的链路是可用的,不移除由于所述链路AB故障而不能连通的节点设备B、F、I、D。请参见图3,节点A和节点B之间的链路在故障恢复以前,节点A、E、H、C仍然使用如图3示出的虚线部分所标示的拓扑,加上区域1实际组网的拓扑进行网络拓扑计算,计算到达其它各节点的最优路径。
节点F、I、D在收到节点A和B发出的LSP报文后,在本地将节点A和节点B之间的链路设置abnormal状态,从而在进行网络拓扑计算时仍然认为节点A和节点B之间的链路是可用的,不移除由于节点A和节点B之间的链路故障而不能连通的节点设备A、E、H、C。请参见图4,节点A和节点B之间的链路在故障恢复以前,节点B、F、I、D仍然使用如图4示出的虚线部分所标示的拓扑,加上区域2实际组网的拓扑进行网络拓扑计算,计算到达其它各节点的最优路径。
此时,如果区域1和区域2中的各链路的状态均未发生变化,那么整个组网的拓扑不发生变化,不会产生额外的计算压力。
在本实施例中,节点A和节点B之间的链路在故障期间,各节点均认为节点A和节点B之间的链路仍为可用链路,区域1发往区域2的报文仍然会发往节点A;区域2发往区域1的报文仍然会发往节点B;因此节点A可以将区域1各节点发往区域2中的报文丢弃;节点B可以将区域2各节点发往区域1中的报文丢弃。
在本实施例中,如果节点A和节点B之间的链路故障恢复,区域1中的节点A、E、H、C会重新收到来自区域2中的节点B、F、I、D发出的LSP报文,此时节点A、E、H、C需要分别更新当前组网中各链路的状态,并重新进行网络拓扑计算。
请参见图5,假设节点A和节点B之间的链路在故障期间,区域2中节点D和节点I之间的链路被移除,在节点A和节点B之间的链路故障恢复后,节点D和节点I会向各自的邻居节点发送LSP报文通告节点D和节点I之间的链路DI不可用,节点A、E、H、C收到节点B、F、I、D发出的LSP报文后,通过比对当前区域2中各链路的状态与节点A和节点B之间的链路故障前保存的区域2中各链路的状态,对区域2中各链路的状态进行更新,并重新进行网络拓扑计算。由于在链路AB故障期间,区域2中各链路的状态仅有节点D和节点I之间的链路发生了变化,因此计算压力不大。
在本实施例中,假设管理员通过将节点A和节点B之间的链路关闭,将当前组网拆分成两个独立的区域,为了避免继续计算包括由于节点A和节点B之间的链路down掉而不能连通的节点设备的网络拓扑而造成的对计算资源无谓的浪费的问题,可以为节点A和节点B之间的链路设置一个故障恢复时间,如果该链路在超过故障恢复时间后故障仍然没有恢复,则触发节点A和节点B在进行拓扑计算时分别将节点B、F、I、D和A、E、H、C移除。
通过以上描述可知,本发明通过在与邻居节点设备之间的链路发生故障时,确定该故障链路是否为关键链路,一旦确定出该故障链路为关键链路,向其它可达邻居节点设备通告该故障链路为可用链路,并继续使用由于该故障链路故障而不能连通的节点设备计算网络拓扑,有效的减少了大量节点设备加入或者退出时产生的计算压力,节约了计算资源;
另外,当关键链路恢复后,本发明可以只更新在关键链路故障期间发生改变的节点状态就可以恢复整个网络拓扑,可避免大量节点加入或者退出时产生大量计算而造成的网络性能震荡。
同时,本发明通过引入故障恢复时间,当故障的关键链路在所述故障恢复时间内仍未恢复时,向其它可达邻居节点设备通告该故障链路为非可用链路,并在进行拓扑计算时移除由于该链路故障而不能连通的节点设备,可以避免由于链路被人为关闭时,继续使用由于该链路故障而不能连同的节点设备进行拓扑计算而造成的对计算资源无谓的浪费的问题。
请参见图6,本发明还提出一种拓扑计算装置60,应用于节点设备上;其中,请参见图7,作为承载所述拓扑计算装置60的节点设备涉及的硬件架构中,通常包括CPU701、内存702、非易失性存储器703、网络接口704以及内部总线705等。以软件实现为例,本发明装置60通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置;所述装置60包括:
链路确定模块601,用于在本节点设备与本节点设备的邻居节点设备之间的链路发生故障时,确定故障链路是否为关键链路;其中,所述关键链路为本设备与邻居节点设备之间的唯一可达链路;
通告计算模块602,用于在确定出所述故障链路为关键链路时,计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,并向与所述节点设备连通的节点设备通告该故障链路为可用链路,以使所述与所述节点设备连通的节点设备计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑。
在本实施例中,所述通告计算模块602进一步用于:
当所述关键链路故障恢复后,更新所述网络中的各链路的链路状态并重新计算网络拓扑。
在本实施例中,所述通告计算模块602进一步用于:
确定所述故障链路是否匹配本地记录的关键链路;
如果是,确定所述故障链路为关键链路;
如果否,确定所述故障链路为非关键链路。
在本实施例中,所述通告计算模块602进一步用于:
根据所述故障链路发生故障之前的网络拓扑,计算本节点设备与邻居节点设备之间的最优路径;
若本节点设备与邻居节点设备之间除所述最优路径以外不存在其它可达路径,或存在其它可达路径且该其它可达路径与最优路径有重叠链路,则所述节点设备将所述最优路径上的链路在本地记录为关键链路;
若本节点设备与邻居节点设备之间除所述最优路径以外存在其它可达路径且该其它可达路径与最优路径没有重叠链路,则所述节点设备将所述最优路径上的链路在本地记录为非关键链路。
在本实施例中,所述装置60还包括:
报文丢弃模块603,用于在所述关键链路故障期间,丢弃发往所述关键链路对端节点设备的报文。
在本实施例中,所述装置还包括:
时间设置模块604,用于为所述关键链路设置故障恢复时间;
所述通告计算模块602进一步用于:
如果所述关键链路在所述故障恢复时间内仍然没有恢复,向与所述节点设备连通的节点设备通告该故障链路为非可用链路,并在进行网络拓扑计算时移除由于该链路故障而不能连通的节点设备。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述发明实施例编号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种拓扑计算方法,其特征在于,所述方法包括:
当节点设备与所述节点设备的邻居节点设备之间的链路发生故障时,所述节点设备确定故障链路是否为关键链路;其中,所述关键链路为所述节点设备与邻居节点设备之间的唯一可达链路;
若所述节点设备确定所述故障链路为关键链路,计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,并向与所述节点设备连通的节点设备通告该故障链路为可用链路,以使所述与所述节点设备连通的节点设备计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述关键链路故障恢复后,所述节点设备更新网络中的各链路的链路状态并重新计算网络拓扑。
3.如权利要求1所述的方法,其特征在于,所述节点设备确定所述故障链路是否为关键链路包括:
所述节点设备确定所述故障链路是否匹配本地记录的关键链路;
如果是,所述节点设备确定所述故障链路为关键链路;
如果否,所述节点设备确定所述故障链路为非关键链路。
4.如权利要求3所述的方法,其特征在于,在所述节点设备确定所述故障链路是否为关键链路之前,所述方法还包括:
所述节点设备根据所述故障链路发生故障之前的网络拓扑,计算本节点设备与邻居节点设备之间的最优路径;
若本节点设备与邻居节点设备之间除所述最优路径以外不存在其它可达路径,或存在其它可达路径且该其它可达路径与最优路径有重叠链路,则所述节点设备将所述最优路径上的链路在本地记录为关键链路;
若本节点设备与邻居节点设备之间除所述最优路径以外存在其它可达路径且该其它可达路径与最优路径没有重叠链路,则所述节点设备将所述最优路径上的链路在本地记录为非关键链路。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述关键链路故障期间,所述节点设备丢弃发往所述关键链路对端节点设备的报文。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述节点设备为所述关键链路设置故障恢复时间;
如果所述关键链路在所述故障恢复时间内仍然没有恢复,所述节点设备向与所述节点设备连通的节点设备通告该故障链路为非可用链路,并在进行网络拓扑计算时移除由于该链路故障而不能连通的节点设备。
7.一种拓扑计算装置,其特征在于,所述装置包括:
链路确定模块,用于在本节点设备与本节点设备的邻居节点设备之间的链路发生故障时,确定故障链路是否为关键链路;其中,所述关键链路为所述节点设备与邻居节点设备之间的唯一可达链路;
通告计算模块,用于在确定出所述故障链路为关键链路时,计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑,并向与所述节点设备连通的节点设备通告该故障链路为可用链路,以使所述与所述节点设备连通的节点设备计算包括由于所述关键链路故障而不能连通的节点设备的网络拓扑。
8.如权利要求7所述的装置,其特征在于,所述通告计算模块进一步用于:
当所述关键链路故障恢复后,更新网络中的各链路的链路状态并重新计算网络拓扑。
9.如权利要求7所述的装置,其特征在于,所述通告计算模块进一步用于:
确定所述故障链路是否匹配本地记录的关键链路;
如果是,确定所述故障链路为关键链路;
如果否,确定所述故障链路为非关键链路。
10.如权利要求7所述的装置,其特征在于,所述通告计算模块进一步用于:
根据所述故障链路发生故障之前的网络拓扑,计算本节点设备与邻居节点设备之间的最优路径;
若本节点设备与邻居节点设备之间除所述最优路径以外不存在其它可达路径,或存在其它可达路径且该其它可达路径与最优路径有重叠链路,则将所述最优路径上的链路在本地记录为关键链路;
若本节点设备与邻居节点设备之间除所述最优路径以外存在其它可达路径且该其它可达路径与最优路径没有重叠链路,则将所述最优路径上的链路在本地记录为非关键链路。
11.如权利要求7所述的装置,其特征在于,所述装置还包括:
报文丢弃模块,用于在所述关键链路故障期间,丢弃发往所述关键链路对端节点设备的报文。
12.如权利要求7所述的装置,其特征在于,所述装置还包括:
时间设置模块,用于为所述关键链路设置故障恢复时间;
所述通告计算模块进一步用于:
如果所述关键链路在所述故障恢复时间内仍然没有恢复,向与所述节点设备连通的节点设备通告该故障链路为非可用链路,并在进行网络拓扑计算时移除由于该链路故障而不能连通的节点设备。
CN201410424521.XA 2014-08-26 2014-08-26 一种拓扑计算方法和装置 Active CN104378287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410424521.XA CN104378287B (zh) 2014-08-26 2014-08-26 一种拓扑计算方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410424521.XA CN104378287B (zh) 2014-08-26 2014-08-26 一种拓扑计算方法和装置

Publications (2)

Publication Number Publication Date
CN104378287A CN104378287A (zh) 2015-02-25
CN104378287B true CN104378287B (zh) 2018-02-09

Family

ID=52556957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410424521.XA Active CN104378287B (zh) 2014-08-26 2014-08-26 一种拓扑计算方法和装置

Country Status (1)

Country Link
CN (1) CN104378287B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187309B (zh) * 2015-08-07 2018-11-09 许继集团有限公司 双变电站路径探索方法、装置及电力系统
CN107690170B (zh) * 2017-08-20 2020-04-21 中国人民解放军理工大学 基于位置和任务规划的动态路由计算方法
CN109167689A (zh) * 2018-09-18 2019-01-08 深圳市风云实业有限公司 网络设备监测方法、装置和服务器
CN112684371B (zh) * 2020-12-07 2023-11-21 深圳市道通科技股份有限公司 汽车总线的故障定位方法、诊断设备及汽车检测系统、方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001205A (zh) * 2006-12-29 2007-07-18 华为技术有限公司 一种链路联动的方法和一种通信设备
CN101155118A (zh) * 2006-09-27 2008-04-02 华为技术有限公司 Bgp路由处理方法及装置
CN102136947A (zh) * 2011-03-10 2011-07-27 华为技术有限公司 链路故障处理方法及装置
CN103428031A (zh) * 2013-08-05 2013-12-04 浙江大学 一种基于软件定义网络的域间链路快速故障恢复方法
CN103493434A (zh) * 2011-02-22 2014-01-01 瑞典爱立信有限公司 多域网络中的故障保护方法和故障保护设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8559314B2 (en) * 2011-08-11 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Implementing OSPF in split-architecture networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155118A (zh) * 2006-09-27 2008-04-02 华为技术有限公司 Bgp路由处理方法及装置
CN101001205A (zh) * 2006-12-29 2007-07-18 华为技术有限公司 一种链路联动的方法和一种通信设备
CN103493434A (zh) * 2011-02-22 2014-01-01 瑞典爱立信有限公司 多域网络中的故障保护方法和故障保护设备
CN102136947A (zh) * 2011-03-10 2011-07-27 华为技术有限公司 链路故障处理方法及装置
CN103428031A (zh) * 2013-08-05 2013-12-04 浙江大学 一种基于软件定义网络的域间链路快速故障恢复方法

Also Published As

Publication number Publication date
CN104378287A (zh) 2015-02-25

Similar Documents

Publication Publication Date Title
CN103959716B (zh) 一种在网络通信中实现拓扑透明区的系统和方法
CN101371150B (zh) 针对一个或多个te-lsp的头端节点的故障的动态保护
CN104378287B (zh) 一种拓扑计算方法和装置
CN105471725B (zh) 穿越自治系统的路由方法和装置
CN108337157A (zh) 一种网络中传输报文的方法和节点
EP2750327A1 (en) Method and apparatus for computing alternate multicast/broadcast paths in a routed network
CN104065576B (zh) 一种动态mpls卫星网络中的标签交换方法
CN103703727A (zh) 用于分体式架构系统中控制业务的弹性路由的方法和设备
CN101834794B (zh) 通过骨干网进行报文转发的方法及设备
CN110891018B (zh) 网络流量恢复方法、装置、sdn控制器及存储介质
CN104767680B (zh) 路由快速切换的方法和装置
KR20140093746A (ko) Mpls 멀티캐스트를 위한 효율적인 보호 방식
CN108234200B (zh) 基于接入环的通信处理方法和装置
CN104396197A (zh) 在802.1aq网络中使用分离的平局打破器在等成本最短路径之间选择
WO2018095095A1 (zh) 建立分离路径的方法和装置
Wang et al. On understanding transient interdomain routing failures
CN102857316B (zh) 一种实现源环网保护的方法及系统
CN105490937B (zh) 以太虚拟网络网关切换方法和服务商边缘节点设备
CN105763439A (zh) 一种多链接透明互联网络中数据中心的互联方法及装置
JP5812934B2 (ja) 通信システムおよび通信制御方法
CN103490998B (zh) 保护隧道建立方法及装置,流量切换方法及装置
CN104168192A (zh) 一种故障网络中的重路由方法和装置
Nguyen et al. An SDN-based approach to support dynamic operations of multi-domain heterogeneous MANETs
CN103780437B (zh) 一种信息同步方法和装置
CN109743316A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant