CN103270726B - 使不经由地址的数目最小化的数据通信方法和设备 - Google Patents

使不经由地址的数目最小化的数据通信方法和设备 Download PDF

Info

Publication number
CN103270726B
CN103270726B CN201180059608.6A CN201180059608A CN103270726B CN 103270726 B CN103270726 B CN 103270726B CN 201180059608 A CN201180059608 A CN 201180059608A CN 103270726 B CN103270726 B CN 103270726B
Authority
CN
China
Prior art keywords
node
protected
address
assembly
network
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
CN201180059608.6A
Other languages
English (en)
Other versions
CN103270726A (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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN103270726A publication Critical patent/CN103270726A/zh
Application granted granted Critical
Publication of CN103270726B publication Critical patent/CN103270726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在一实施例中,一种方法包括:确定与通知节点相关联的一组受保护组件;为所述一组受保护组件确定单个网络修复地址,其中所述单个网络修复地址足用于在向所述通知节点传送网络流量时响应于任何所述受保护组件的不可用而使用的;将所述单个网络修复地址指派给每个所述受保护组件;其中,所述通知节点是网络互联设备,并且所述方法由一个或多个处理器执行。

Description

使不经由地址的数目最小化的数据通信方法和设备
技术领域
本公开总地涉及对网络的基础设施元件之间的数据通信进行路由,更具体而言涉及构造在数据通信网络中绕过受保护组件的修复路径。
背景技术
可根据各种路由协议来路由通信网络中的源节点和目的地节点之间的数据。一类路由协议是链路状态协议。在链路状态协议中,每个节点通告关于其邻近链路和与其他节点的连通性的信息。可在链路状态分组(“LSP”)中发送链路通告。基于LSP中包括的通告的信息,每个节点构造包含整个网络拓扑的地图的链路状态数据库(“LSDB”)。从LSDB中存储的数据,节点构造包含去到网络中的每个可用节点的一个或多个路由的路由信息库(“RIB”)。去到节点的单个最优路由可根据各种算法中的任何一种来计算,例如最短路径优先(“SPF”)算法。基于RIB中存储的信息,节点构造转发信息库(“FIB”)并使用FIB来将数据分组转发到其他节点。
在传统的链路状态协议网络中,在检测到网络拓扑变化了时,节点生成并散布包含关于节点的连通性的经更新信息的新LSP通告。LSP通告被其他节点接收并被这些节点用于更新其路由数据库。
然而,LSP通告的生成、分发和处理以及在网络的每个节点处更新链路状态数据库、路由信息库和转发信息库经常是耗时且计算复杂的。因此,每次网络组件发生故障时,网络可在相对较长的一段时间中不稳定,在这段时间期间网络尝试收敛在路由信息的一致视图上,在该视图中节点更新其路由信息。
另外,随着网络收敛,路由数据库可临时失同步并且数据传送中的环路可发生。例如,如果第一节点尝试经由第二节点向第三节点发送数据分 组,但由于网络的失同步,第二节点确定到第三节点的最佳路由是经由第一节点,则第二节点将分组发回第一节点,而不是将分组转发到第三节点。这可继续直到所有节点更新其路由信息为止,或者除非实现了一些安全过程,例如如果超过了分组的最大跳计数则丢弃分组。
Bryant和Shand提出了方案,其中每个节点预先为其每个受保护邻居生成修复地址并且将针对特定受保护邻居的特定修复地址通告给其他节点。当该特定的受保护邻居真的发生故障时,该特定的修复地址可被其他节点使用。针对受保护邻居节点的修复地址被称为不经由地址(not-via address)。在一个这种方案中,每个节点对于其每个受保护邻居生成并通告一个不经由地址,并且每个其他节点对于每个受保护组件存储不经由地址。
附图说明
在附图中:
图1示出了网络中的通知节点的实施例;
图2示出了确定网络修复地址的实施例;
图3示出了确定网络修复地址的实施例;
图4示出了在不经由地址通告中携带的信息的示意性表示的实施例;
图5示出了为一组组件确定单个网络修复地址的实施例;并且
图6示出了其上可实现实施例的计算机系统。
具体实施方式
在以下描述中,出于说明目的,阐述了许多具体细节以帮助透彻理解本发明。然而,对于本领域的技术人员来说很明显的是,没有这些具体细节也能实现本发明。在其他实例中,公知的结构和设备以框图形式示出,以避免不必要地模糊本发明的主题。
这里根据以下大纲来描述实施例:
1.0 综述
2.0 结构和功能概述
3.0 确定网络修复地址
4.0 包括网络修复地址的通告的示例
5.0 为一组组件确定单个网络修复地址
6.0 在一组组件中的一组件不可用的情况下使用单个网络修复地址
7.0 实现机构-硬件概述
8.0 扩展和替换
1.0综述
在一实施例中,一种方法包括确定与特定的不经由组件(not-via component)相关联的一组受保护组件。对于该特定的不经由组件,确定单个网络修复地址。该单个网络修复地址是在向通知节点传送网络流量时响应于受保护组件中的任何一个的不可用而使用的。
在一实施例中,通知节点是网络互联设备。
在一实施例中,该方法还包括通告单个网络修复地址和与该单个网络修复地址相关联的一组受保护组件。
在一实施例中,该组受保护组件包括邻近通知节点的一个或多个链路。在一实施例中,该组受保护组件包括邻近通知节点的一个或多个节点。
在一实施例中,确定受保护组件的不经由组件包括构造不包括受保护组件的修复网络拓扑并且识别绕过受保护组件去到通知节点的不包括受保护组件的修复路径;修复拓扑排除了不具有修复地址能力的网络组件。
在一实施例中,该方法还包括响应于检测到来自该组受保护组件中的特定受保护组件不可用而经由该特定的不经由组件将网络流量传送到通知节点,包括利用网络修复地址来封装网络流量。
在一实施例中,网络流量是在多协议标签交换(MPLS)协议网络中传送的。
2.0结构和功能概述
在一实施例中,提供了一种用于使数据通信网络中针对受保护组件的 不经由地址的数目最小化的方法。受保护组件是这样一个组件:对于该组件创建修复路径并且对于该组件修复路径绕开受保护组件。受保护组件可以是通信链路或节点,例如路由器、交换机等等。使针对受保护组件的不经由地址的数目最小化是可能的,因为为受保护组件计算的所计算的修复路径经由同一接口到达通知节点。
在一实施例中,该方法提供了识别一组受保护组件,对于该组受保护组件,每个正常计算的修复路径经由同一接口到达通知节点。取代为群组中的每个受保护组件通告同一修复路径,可为整组受保护组件通告单个不经由地址。
一实施例优化为网络中的受保护组件找到不经由地址,最小化散布不经由地址所需要的通告的数目,并且减少节点对节点需要维护来存储主路由信息以及备用路由信息的存储空间的要求。
在一实施例中,为它的邻近组件构造修复路径的节点被称为通知节点,并且为之找到修复路径的邻近组件被称为受保护组件。
在一实施例中,通知节点识别一组组件,该组组件邻近通知节点并且通过该组组件可到达通知节点。组件可以是邻近通知节点的节点或邻近通知节点的链路。
在一实施例中,对于每个邻近组件,通知节点确定在该邻近组件变得不可用的情况下该通知节点可使用的不经由地址。针对邻近组件的不经由地址是在好像邻近组件已发生故障那样的情况下计算的。例如,如果邻近通知节点的邻近组件是通知节点的邻近链路,则通知节点将计算能够就好像邻近链路已发生故障那样绕过邻近链路将流量传送到通知节点的替换路由。
该过程可对通知节点的每个邻近组件重复,直到每个邻近组件具有相关联的替换路由为止。在一实施例中,在为每个邻近组件确定不经由地址后,通知节点将每个不经由地址与为之找到该不经由地址的相应邻近组件关联起来。
一些不经由地址可与多于一个邻近组件相关联。例如,在网络中,通知节点可确定对于邻近通知节点的两个或更多个链路可确定同一不经由地 址。
在一实施例中,为特定组件确定不经由地址包括构造不包括该特定组件的修复网络拓扑并且识别绕过该特定组件去到通知节点的修复路径。这种修复拓扑可排除不具有修复地址能力的那些网络组件,例如只具有一个邻近链路的节点。
在一实施例中,通知节点为邻近该通知节点的每个组件确定不经由地址,并且确定包括与特定不经由地址相关联的邻近组件在内的一组受保护组件。该特定不经由地址是在该组受保护组件中的任何受保护组件变得不可用的情况下可用于将数据流量传送到通知节点的单个网络修复地址。不经由地址是当该组受保护组件中的任何受保护组件发生故障时使用的网络修复地址。
在一实施例中,通知节点向所有受保护组件指派单个网络修复地址(不经由地址)并且通告该单个不经由地址与该组受保护组件。不经由地址通告被散布到网络中的其他节点。
在接收到不经由通告时,路由器将通告信息存储在数据库中并且为通告中提供的不经由地址生成转发表。例如,如果路由器接收到提供关于与一组受保护组件相关联的不经由地址的信息的不经由地址通告,则在该组受保护组件中的任何受保护组件不可用的情况下可使用该不经由地址。
在一实施例中,路由器将不经由地址与为之获得该不经由地址的一组受保护组件相关联地存储。路由器还可为该不经由地址生成转发表并且在该组受保护组件中的任何组件变得不可用的情况下使用该不经由地址来将数据分组转发到该不经由地址。
在一实施例中,响应于检测到来自该组受保护组件中的特定受保护组件变得不可用,否则将会经由该特定的受保护组件传送的网络流量被利用相关联的不经由地址经由特定不经由组件被传送到通知节点。
该方法在利用多协议标签交换(“MPLS”)协议配置的网络中有用,但也可使用其他协议。
图1示出了网络中的通知节点的实施例。在一实施例中,数据通信网络100包括一个或多个节点A、B、C、D和通知节点150。通常,网络 100是分组交换数据网络并且节点包括路由器、交换机或其他基础设施元件;在一些实施例中,节点可包括计算机或其他端点。节点A110经由通信链路160与通知节点150通信地耦合。节点B120经由通信链路170与通知节点150通信地耦合。节点C130经由通信链路180与通知节点150通信地耦合,并且节点D140经由通信链路190与通知节点150通信地耦合。
为了简单并且出于例示清楚示例的目的,图1示出了一个通知节点150和四个其他节点。然而,实际实施例可使用任何数目的节点。另外,节点可利用比图1中所示的四条链路更多的链路来与彼此连接。
通知节点150可在任何类型的计算机中实现。示例包括路由器、交换机或通用计算机。节点150可使用硬件逻辑,例如专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)、片上系统(“SoC”),或者硬件、固件和/或软件的其他组合。
在一实施例中,通知节点150包括硬件和软件模块,这些模块被配置为生成并维护节点的转发信息,并且处理并发送通信数据分组到网络中的其他节点。在一实施例中,通知节点150可被实现为多协议标签交换(“MPLS”)通信节点。
在一实施例中,通知节点150具有操作系统模块157和存储装置200,存储装置200可包括任何数目的易失性或非易失性存储器的模块,并且可用于存储通信数据或路由信息。例如,存储装置200可存储链路状态分组(“LSP”)、包含整个网络拓扑的地图的链路状态数据库(“LSDB”)、包含去到每个可用节点的单个最优路由的路由信息库(“RIB”)以及转发信息库(“FIB”)。
在一实施例中,通知节点150还包括路由协议逻辑152、入口节点检测逻辑153、不经由组件逻辑154、网络修复地址逻辑155和分组转发逻辑156。对于本公开而言,术语“逻辑”包括一个或多个计算机程序或其他软件元件,硬件逻辑,例如专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)、片上系统(“SoC”),或者硬件、固件和/或软件的其他组合。
在一实施例中,路由协议逻辑152被配置为生成并散布LSP或其他通告到其他节点,并且接收来自其他节点的通告。通告包含关于节点的连通性和可达性的信息。在接收到通告后,路由协议逻辑152将可达性信息存储在链路状态数据库(“LSDB”)中并且使用可达性信息来确定去到从通知节点150可达的每个节点的路由。
路由协议逻辑152还可被配置为执行在中间系统到中间系统(“IS-IS”)和开放最短路径优先(“OSPF”)协议中实现的最短路径优先(“SPF”)算法,例如Dijkstra算法。在一实施例中,路由协议逻辑152被配置为通过向节点的LSDB中存储的可达性信息应用SPF来确定去到从通知节点150可达的节点的路由。特定的可达节点的路由信息被存储在路由信息库(“RIB”)中,该路由信息库包含去到每个可达节点的单个最优路由。基于RIB中存储的信息,路由协议逻辑152构造转发信息库(“FIB”)或转发表。
在一实施例中,入口节点检测逻辑153被配置为识别如下节点:通过该节点可将数据流量传输到通知节点150。入口节点可以是将数据分组传送到通知节点的任何节点。可通过在每个链路被依次禁用的情况下运行反向最短路径优先(rSPF)算法来确定入口点。
3.0确定网络修复地址
图2和图3示出了确定网络修复地址的实施例。首先参考图2,通知节点150被示为节点S。节点S与节点A110、节点B120、节点C130和节点D140通信地耦合。节点A110、B120、C130和D140分别经由通信链路160、通信链路170、通信链路180和通信链路190与通知节点S150通信地耦合。
为了简单并且出于例示清楚示例的目的,图2示出了一个通知节点S150和四个其他节点。然而,实际实施例可使用任何数目的节点和链路。
在一实施例中,节点A110、B120、C130和D140邻近通知节点S150。节点A110、B120、C130和D140也是从其他节点定向到通知节点S150的数据流量的入口节点。
在一实施例中,邻近组件可以是与通知节点S150直接相邻的任何通信链路。例如,通知节点S150的一组邻近组件包括链路160、链路170、链路180和链路190,因为链路160、170、180和190中的每一个与通知节点S150直接相邻。
在另一实施例中,邻近组件可以是与通知节点S150直接相邻的任何节点。例如,一组邻近组件包括节点A110、节点B120、节点C130和节点D140,因为节点110、120、130和140中的每一个与通知节点S150直接相邻。
出于例示清楚示例的目的,对于包括链路160、170、180和190在内的邻近组件描述了一种确定网络修复地址的方法。然而,该方法可改为为节点110、120、130和140确定网络修复地址。
在一实施例中,通知节点S150尝试确定采取与通知节点S150直接相邻的链路的形式的一组邻近组件。在图2中所示的示例中,这一组可包括链路160、170、180和190。
在一实施例中,在确定一组邻近组件后,通知节点S150为该组邻近组件中的每个邻近组件确定不经由地址。例如,通知节点S150可从为将节点A110与通知节点S150相连接的链路160确定不经由地址开始。对于链路160,通知节点S150尝试找到在链路160变得不可用的情况下可用于将来自节点A110的数据流量重路由到通知节点S150的备用路径。
在一实施例中,通知节点S150确定在受保护组件不可用的情况下该受保护组件的不经由地址。例如,在图2的示例中,通知节点S150可确定如果受保护链路160变得不可用,则来自节点A110的数据流量可被从节点A110重路由到节点B120,然后经由链路170到通知节点S150。如果受保护链路160在任何时候变得不可用,则跨越节点B120和通知节点S150的链路170可将来自节点A110的数据流量传送到通知节点S150。当受保护链路160变得不可用时,可“不经由”受保护链路160而是经由链路170来传送来自节点A110的数据流量。
在一实施例中,不经由地址是按照为之生成不经由地址的链路来命名的。例如,参考图2,如果不经由链路170保护链路160,并且链路160 可被表示为链路“A-S”,则不经由地址可被指示为“SA.”,即“S不经由A”。
在受保护链路160发生故障的情况下,本应被从节点A110定向到通知节点S150(其中S150是下一跳或目的地节点)的数据流量可被重路由到不经由地址。例如,从节点A110想去往通知节点S150的数据流量可经由节点B120和链路170被重路由到通知节点S150。
对于邻近通知节点S150的每个链路重复确定不经由地址的过程,直到为每个链路找到不经由修复地址为止。
可利用诸如最短路径优先(“SPF”)之类的各种算法来计算修复路径。然而,由于网络中的每个节点将需要计算去到其他节点的主路径和去到不经由地址的修复路径,所以SPF的计算复杂度可能成问题。
已提出了各种解决方案来减少计算开销并确保每个节点不必为每个其他可能节点的故障计算整个SPF。例如,如果一节点可确定其不会被包括在由另一节点计算的去到修复地址的修复路径中,则该节点不需要为该修复地址计算其下一跳。被隧道传输到修复地址的分组将只发源自位于发生故障的组件周围的修复节点-在发生故障的组件的与修复地址相反的一侧。
在一实施例中,可实现递增SPF算法来计算修复路径。执行递增SPF算法与执行完全SPF相比要不昂贵地多。在具有“N”个节点的网络中,每个节点必须为“N-1”个故障计算修复路径;然而,与执行递增SPF相关联的计算工作比执行“N-1”完全SPF计算要少得多。
将不经由地址与相应的受保护链路相关联地存储的过程被网络中的每个接收到相应通告的节点执行。从而,一旦每个通告被每个节点所处理,每个节点就已经计算了去到每个不经由地址的修复路径。因此,甚至在任何受保护组件实际发生故障之前,去到不经由地址的修复路径就可用了。
如果受保护链路160真的发生故障,则想经由通知节点S150转发的数据分组被利用不经由地址来封装并被定向到不经由地址以绕开发生故障的链路160。因为网络中的每个节点已经计算了去到与链路160相关联的不经由地址的修复路径,并且计算出的修复路径避免了链路160,所以当 链路160真的发生故障时,每个节点可立即经由绕开发生故障的链路160的修复路径来重路由否则将经由发生故障的链路160传送的分组。
图2中所示的方案假定了为邻近通知节点的每个受保护组件获得单独的不经由地址。例如,通知节点S150为链路160、170、180、190中的每一个获得独特的不经由地址,并且每个独特的不经由地址与来自该组链路160、170、180、190中的仅一个链路相关联。因此,如果网络具有“L”个链路,则“2*L”个不经由地址被用于利用独特的不经由地址保护网络中的每一个链路。另外,如果一节点具有“K”个链路,则该节点需要获得“K”个不经由地址来保护其“K”个链路中的每一个。
图3中所示的方案最小化了不经由地址的数目,同时仍向节点提供了不经由能力。经常,为节点的邻近组件计算的不经由路径具有共同的入口节点。
入口节点的定义取决于入口节点所出现的上下文。然而,出于这里说明不经由方案的目的,在确定修复路径的上下文中,图2和图3中示出的关于通知节点S150的入口节点是邻近通知节点S150的任何如下节点:通过该节点,数据流量可被定向到通知节点S150。
在一实施例中,可通过在每个链路被依次禁用的情况下运行反向最短路径优先(rSPF)算法来确定入口点。
如下文将描述的,很经常地,特定的网络修复地址(不经由地址)可以不仅是在一个特定的受保护组件发生故障时被使用,而是在若干个受保护组件中的任何一个发生故障时被使用。从而,一个网络修复地址(不经由地址)可与一组受保护组件而不只是一个受保护组件相关联。
图3示出了为受保护组件确定网络修复地址。在一实施例中,通知节点S150一次为一个邻近链路确定不经由地址。例如,通知节点S150可开始为链路160确定不经由地址。链路160被称为受保护链路。可按为图2描述的方式来确定不经由地址。
如图3中所示,对于链路160,通知节点S150可找到包括链路165、节点B120和链路170的路径。如果链路160变得不可用,则从节点A110到通知节点S150的数据流量可经由链路165、170被重路由。在此示 例中,链路170保护着链路160。
对于邻近通知节点的每个链路重复该过程。例如,如图3中所示,对于链路180,通知节点S150可找到包括链路185、节点B120和链路170的路径。在链路180变得不可用的情况下,从节点C130到通知节点S150的数据流量可经由链路185、170被重路由。在此示例中,链路170保护着链路180。
在图3中,通知节点150确定了链路170保护至少两个链路160、180。例如,随着通知节点S150重复为邻近通知节点S150的每个链路确定不经由地址的过程,通知节点S150可确定同一不经由地址可用于保护甚至比链路160、180更多的链路。
如果通知节点S150可确定至少两个链路被同一不经由地址保护,则通知节点S150不必为每个受保护组件确定独特的不经由地址。取而代之,通知节点S150可为特定的不经由组件确定单个不经由地址并将该单个不经由地址与每个受保护链路相关联。例如,在图3中,由于链路170至少保护链路160(链路A-S)和链路180(链路C-S),因此通知节点S150可为链路170找到仅一个单个不经由地址并且将该不经由地址与一组受保护链路160、180相关联。与链路170(链路B-S)相关联的不经由地址可被表示为SA&C,因为它可用于保护链路A-S和C-S两者。
类似地,如果通知节点S150确定链路180是至少保护链路170(链路B-S)和链路190(链路D-S)的不经由地址,则通知节点S150可为链路180找到仅一个单个不经由地址并且将该不经由地址与一组受保护链路170、190相关联。与链路180(链路C-S)相关联的不经由地址可被表示为SB&D,因为它可用于保护链路B-S和D-S两者。
在一实施例中,可大幅减少保护邻近通知节点S150的链路所需的不经由地址的数目,因为一个不经由地址可用于保护两个或更多个邻近链路。
用于通知节点的邻近链路的不经由地址的数目的减少也减少了在为受保护组件计算修复路径时涉及的计算。如果单个不经由地址被用于保护仅一个链路,则为了计算修复路径,通知节点一次一个地禁用所有链路并且 执行截断的递增SPF以进行计算。然而,如果单个不经由地址被用于保护两个或更多个链路,则需要更少的不经由计算。
在一些情况下,在每次计算中需要禁用多个链路。例如,如果单个不经由地址SA&C被用于保护两个链路160和180,则为每个链路160和180计算修复路径需要禁用链路160(链路A-S)和180(链路C-S)两者。类似地,如果单个不经由地址SB&D被用于保护两个链路170和190,则为每个链路170和190计算修复路径需要禁用链路170(链路B-S)和190(链路D-S)两者。
4.0包括网络修复地址的示例性通告
在一实施例中,不经由地址被通告给网络中的节点。例如,如果通知节点确定了两个不经由地址,并且每个不经由地址具有相关联的一组受保护链路,则通知节点将每个不经由地址与相关联的那组相应的受保护组件一起发送给其他节点。在接收到不经由通告后,路由器利用不经由地址计算相应的修复路径并且将修复路径存储在数据库中。
图4示出了在不经由地址通告中携带的信息的示意性表示。可按多种方式来构造不经由地址通告。图4中所示的示例只是组织不经由通告中包括的通告信息的方法之一。
在一实施例中,通告信息可被封装在IS-IS LSP、链路状态通告(“LSA”)分组或任何其他符合节点实现的协议的消息中。
图4分别在行450、460中示出了两个通告的示例。两个通告是出于例示清楚示例的目的而示出的;实际实施例可包括存储关于任何数目的通告的信息并且存储比图4中所示更多的信息的数据结构。提供示例只是为了例示可用于存储关于修复地址的信息的许多可能的结构之一。在每个示例中,例示了一些但不是所有通告的信息。在实际实现中,修复地址通告可包含其他信息并且信息可被存储在不同的数据结构中。
在一实施例中,通告是不经由地址通告。特定的不经由地址通告可包括表示不经由修复地址410和一组受保护链路430的数据。不经由地址410是在该组受保护链路430中的任何受保护链路发生故障时可使用的修 复地址。
行450中示出的第一通告包括不经由修复地址SA&C。不经由修复地址SA&C可在{A-S,C-S}链路中的任何一个发生故障时被使用。参考图3,如果链路A-S(链路160)或链路C-S(链路180)(或两者)发生故障,则想去往通知节点S150的数据流量可绕过相应的故障链路被定向到不经由修复地址SA&C
行460中示出的第二通告包括在{B-S,D-S}链路中的任何一个发生故障时可使用的不经由修复地址SB&D。现在参考图3,如果链路B-S(链路170)或链路D-S(链路190)(或两者)发生故障,则想去往通知节点S150的数据流量可绕过相应的故障链路被定向到不经由修复地址SB&D
5.0为一组组件确定单个网络修复地址
在一实施例中,网络中的每个节点可以是通知节点S(在图3中示为元件150)并且可执行算法来为其邻近链路或其邻近节点确定网络修复地址。出于例示清楚示例的目的,下面的描述是关于为邻近通知节点的链路确定修复地址的。然而,实施例也可用于为邻近节点确定修复地址。
在一实施例中,通知节点可确定邻近通知节点的每个受保护链路(或受保护节点)需要单独的独特不经由地址。例如,如果通知节点具有“L”个受保护链路并且每个链路具有相关联的独特不经由地址,则通知节点必须通告“L”个不经由地址或者针对每个受保护链路通告一个不经由地址。例如,在具有70个节点和165个受保护链路的网络中,总共330个地址在70个节点之间被通告。
以上给出的优化方法允许了向一组受保护链路指派单个不经由地址。因此,在优化方法中,通知节点发送的不经由通告的量可被大幅减少。
在一实施例中,通知节点可确定单个不经由地址可被邻近通知节点的两个或更多个受保护链路(或受保护节点)使用。例如,当在具有70个节点和165个受保护链路的网络上测试优化方法时,发现通知节点只需要通告144个不经由地址,其中一些被用于保护多个链路。
在被测试的网络之一中,通知节点之一具有34个受保护链路。利用 优化方法,根据收集的统计数据,取代确定34个独特的不经由地址,该通知节点需要通告的不经由地址的数目是3。每个节点需要通告的不经由地址的平均数目是2.1。
在图3中,通知节点S150具有四个邻近链路160、170、180、190。在一实施例中,通知节点S150确定当若干个其他邻近链路中的任何一个发生故障时特定的不经由地址可用于转发数据流量到通知节点S150。
为一组邻近链路确定单个不经由地址的益处包括减少每个通知节点需要为其邻近组件确定的不经由地址的数目,并且减少每个通知节点需要散布到其他节点的不经由地址通告的数目。
图5示出了为一组邻近链路确定单个网络修复地址的实施例。为其邻近链路构造修复路径的节点被称为通知节点并且为之确定修复路径的链路被称为受保护链路。
在一实施例中,通知节点识别一组邻近链路,该组邻近链路邻近通知节点并且通过该组邻近链路可到达通知节点。这可包括为通知节点确定入口节点。入口节点可通过如下方式来确定:在每个链路被依次禁用的情况下运行以通知节点为根的反向SPF并且确定通过其可到达通知节点的节点(或多个节点)。
在一实施例中,可通过在每个链路被依次禁用的情况下运行反向最短路径优先(rSPF)算法来确定入口点。
对于每个邻近链路,通知节点确定不经由地址,如上所述。例如,再次参考图3,通知节点S150可确定,在链路160不可用的情况下,来自节点A110的以通知节点S150为目的地的数据流量可经由链路170被重定向。另外,通知节点S150可确定,在链路180不可用的情况下,来自节点C130的流量也可经由链路170被重定向。
在一实施例中,通知节点S150存储关于相关联的(一个或多个)受保护节点的信息并且为每个入口节点构造频率的直方图。基于频率直方图,选择最频繁地作为入口节点出现的入口节点。如果两个或更多个入口节点以相同的频率作为入口节点出现,则这种入口节点中的一个被任意选择作为特定的不经由组件。
在一实施例中,频率直方图包括入口节点和相应的受保护链路之间的绑定。例如,对于直方图中包括的每个入口节点,直方图包括绑定,该绑定包括该入口节点保护的链路。直方图中包括的绑定在选择直方图中最频繁出现的入口节点时对于确定受保护链路是有用的。例如,在选择直方图中最频繁出现的入口节点后,取回所选择的入口节点的绑定,并且基于绑定,确定受保护链路。在一实施例中,选择直方图中最频繁出现的入口节点作为迭代过程被执行。例如,在选择最频繁出现的入口节点后,所选择的入口节点的绑定被取回以识别所选的入口节点保护的链路,并且对于一组所识别的受保护链路确定一个不经由地址。随后,从直方图中去除所选择的最频繁出现的入口节点,并且基于直方图中存储的剩余信息来选择“第二”频繁出现的入口节点。
在步骤508中,通知节点为一组邻近链路确定不经由地址。不经由地址是可被其他节点用于转发数据分组的网络修复地址。例如,在图3中,如果链路170保护两个链路160、180,则链路160、180的不经由地址可被指示为“SA&C”。
在图5中,在步骤510中,通知节点通告特定的不经由地址和与该特定的不经由地址相关联的一组邻近链路。在图3中可见,通知节点S150可通告SA&C作为可用于保护链路160和180中的每一个的不经由地址。示例性的不经由地址通告在图4中示出。例如,图4中的通告450可包括不经由地址SA&C和一组邻近链路{A-S,C-S},对于该组邻近链路{A-S,C-S},在链路A-S或C-S中的任何一个(或两者)变得不可用的情况下可使用不经由地址SA&C
在图5中,在步骤512中,通知节点确定是否已处理了最后一组邻近链路。如果尚未处理最后一组邻近链路,则在步骤514中,通知节点选择下一组邻近链路,并且进而在步骤508中为该组邻近链路确定特定的不经由地址,如上所述。对一组邻近链路的选择是通过选择与尚未被处理的链路相对应的出现频率最高的入口节点来执行的。如果最后一组邻近链路已被处理,则为受保护组件确定不经由地址的过程完成。
6.0在组件不可用时使用单个网络修复地址
在接收到不经由通告后,节点存储通告中包括的信息。如图4中所示,在通告450中,不经由地址410是在集合430中的任何受保护组件发生故障时将使用的修复地址。
接收到了来自通知节点的一个或多个不经由通告的节点构造包括不经由通告中包括的不经由地址的相应转发表。在一实施例中,所有参与的节点不仅为每个正常(未故障)地址而且为与受保护链路相关联的每个不经由地址计算其下一跳。结果,每个节点构造避开受保护链路去到每个通知节点的修复路径,并且将该修复路径上的下一跳与相应的不经由地址一起存储。
在一实施例中,路由器维护转发表以及在通知节点的任何受保护组件发生故障或因其他原因变得不可用的情况下可用的相应不经由地址。如果通知节点的受保护组件变得不可用,则路由器可使用不经由地址作为修复地址并且利用相应的不经由地址作为修复地址来将数据分组转发到通知节点。
在图4中,行450中的通告包括不经由修复地址SA&C。不经由修复地址SA&C将在{A-S,C-S}链路中的任何一个发生故障时被使用。从而,如果链路A-S或链路C-S发生故障,则路由器可将想去往通知节点的数据流量定向到不经由修复地址SA&C
7.0实现机构-硬件概述
图6示出本发明的实施例可在其上实现的计算机系统600的框图。优选实施例是利用运行在诸如路由器设备这样的网络元件上的一个或多个计算机程序实现的。从而,在此实施例中,计算机系统600是路由器。
计算机系统600包括用于传输信息的总线602或其他通信机构和与总线602相耦合用于处理信息的处理器604。计算机系统600还包括诸如随机存取存储器(RAM)、闪存或其他动态存储设备之类的主存储器606,其耦合到总线602,用于存储信息和处理器604要执行的指令。主存储器606还可用于存储在处理器604执行指令期间的临时变量或其他中间信 息。计算机系统600还包括只读存储器(ROM)608或其他静态存储设备,其耦合到总线602,用于存储静态信息和处理器604的指令。提供了诸如磁盘、闪存或光盘之类的存储设备610,其耦合到总线602,用于存储信息和指令。
通信接口618可以耦合到总线602,以用于将信息和命令选择传输到处理器604。接口618是传统串行接口,例如RS-232或RS-422接口。外部终端612或其他计算机系统连接到计算机系统600,并利用接口618向其提供命令。运行在计算机系统600中的固件或软件提供终端接口或基于字符的命令接口,以便外部命令可被提供给计算机系统。
交换系统616耦合到总线602,并具有输入接口614和到一个或多个外部网络元件的输出接口619。外部网络元件可包括耦合到一个或多个主机624的本地网络622,或者诸如因特网624这样的具有一个或多个服务器630的全局网络。交换系统616根据公知的预定协议和惯例将到达输入接口614的信息流量交换到输出接口619。例如,交换系统616与处理器604合作,可确定到达输入接口614的数据分组的目的地,并利用输出接口619将其发送到正确的目的地。目的地可包括主机624、服务器630、其他末端站、或者本地网络622或因特网628中的其他路由和交换设备。
根据一个实施例,计算机系统600响应于处理器604执行包含在主存储器606中的一条或多条指令的一个或多个序列而提供服从管理。这种指令可以被从另一计算机可读介质(如存储设备610)读取到主存储器606中。包含在主存储器606中的指令序列的执行使得处理器604执行这里描述的过程步骤。多处理布置中的一个或多个处理器也可被用来执行包含在主存储器606中的指令序列。在替换实施例中,可以使用硬线电路来代替软件指令或与软件指令相组合以实现本发明。从而,本发明的实施例不限于硬件电路和软件的任何特定组合。
这里使用的术语“计算机可读存储介质”指的是参与向处理器604提供指令以供执行的任何介质。这种介质可以采取许多形式,包括但不限于:非暂态且非易失性的存储介质和非暂态易失性存储介质。非易失性存储介质例如包括光盘或磁盘,如存储设备610。易失性存储介质包括动态 存储器,如主存储器606。
计算机可读存储介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或任何其他磁介质,CD-ROM、任何其他光介质,穿孔卡、纸带、任何其他具有孔图案的物理介质,RAM、PROM和EPROM、FLASH-EPROM、任何其他存储器芯片或卡盘,或者计算机可以读取的任何其他非暂态有形存储介质。
计算机可读存储介质的各种形式可用于将一条或多条指令的一个或多个序列传送到处理器604以供执行。例如,指令可以首先承载在远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,并利用调制解调器通过电话线发送指令。计算机系统600本地的调制解调器可以接收电话线上的数据,并使用红外发送器来将数据转换为红外信号。耦合到总线602的红外检测器可以接收在红外信号中携带的数据,并且将数据置于总线602上。总线602将数据传送到主存储器606,处理器604从主存储器606取回指令并执行指令。主存储器606接收的指令可以可选地在处理器604执行之前或之后存储到存储设备610上。
通信接口618还可提供到连接到本地网络622的网络链路620的双向数据通信耦合。例如,通信接口618可以是综合业务数字网络(ISDN)卡或调制解调器,以提供到相应类型电话线的数字通信连接。作为另一示例,通信接口618可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这种实现方式中,通信接口618发送和接收电、电磁或光信号,这些信号携带了表示各类信息的数字数据流。
网络链路620通常通过一个或多个网络提供到其他数据设备的数据通信。例如,网络链路620可以通过本地网络622提供到主机计算机624或由因特网服务供应商(ISP)626操作的数据设备的连接。ISP626进而又通过全球分组数据通信网络(现在通常称为“因特网”628)提供数据通信服务。本地网络622和因特网628都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号和在网络链路620上并通过通信接口618的信号(这些信号携带去往和来自计算机系统600的数字数据)是传输信息 的示例性形式。
计算机系统600可以通过(一个或多个)网络、网络链路620和通信接口618发送消息和接收数据,包括程序代码。在因特网示例中,服务器630可以通过因特网628、ISP626、本地网络622和通信接口618发送应用程序的请求代码。根据本发明,一个这样下载的应用提供了如这里所述的顺从管理。接收到的代码可以在接收时被处理器604执行,和/或被存储在存储设备610或其他非易失性存储装置中以供以后执行。
8.0扩展和替换
在前述说明书中,已参考对于不同实现方式可以不同的许多具体细节描述了本发明的实施例。因此,说明书和附图应当被认为是示例性的,而不是限制性的。

Claims (13)

1.一种用于数据通信的方法,包括:
确定与通知节点相关联的两个或更多个受保护组件;
在确定两个或更多个受保护组件中的任一个不可用之前,为所述两个或更多个受保护组件确定单个网络修复地址,其中所述单个网络修复地址是要在向所述通知节点传送网络流量时所述两个或更多个受保护组件中的任一个不可用的情况下被使用的;
将所述单个网络修复地址指派给所述两个或更多个受保护组件;
其中,所述通知节点是网络互联设备,并且所述方法由所述通知节点的一个或多个处理器执行。
2.如权利要求1所述的方法,还包括通告所述单个网络修复地址和与所述单个网络修复地址相关联的所述两个或更多个受保护组件。
3.如权利要求1所述的方法,其中,所述两个或更多个受保护组件包括邻近所述通知节点的两个或更多个链路。
4.如权利要求1所述的方法,其中,所述两个或更多个受保护组件包括邻近所述通知节点的两个或更多个节点。
5.如权利要求1所述的方法,还包括:
构造不包括特定受保护组件的修复网络拓扑并且识别绕过所述特定受保护组件去到所述通知节点的、不包括所述特定受保护组件的修复路径;其中所述修复拓扑排除了不具有修复地址能力的网络组件;
响应于检测到来自所述两个或更多个受保护组件中的所述特定受保护组件不可用,将去到所述通知节点的网络流量传送到所述单个网络修复地址。
6.一种用于数据通信的设备,包括:
用于确定与通知节点相关联的两个或更多个受保护组件的装置;
用于在确定两个或更多个受保护组件中的任一个不可用之前为所述两个或更多个受保护组件确定单个网络修复地址的装置,其中所述单个网络修复地址是要在向所述通知节点传送网络流量时所述两个或更多个受保护组件中的任一个不可用的情况下被使用的;
用于将所述单个网络修复地址指派给所述两个或更多个受保护组件的装置;
其中所述通知节点是网络互联设备。
7.如权利要求6所述的设备,还包括:用于通告所述单个网络修复地址和与所述单个网络修复地址相关联的所述两个或更多个受保护组件的装置。
8.如权利要求6所述的设备,其中,所述两个或更多个受保护组件包括邻近所述通知节点的两个或更多个链路。
9.如权利要求6所述的设备,其中,所述两个或更多个受保护组件包括邻近所述通知节点的两个或更多个节点。
10.如权利要求6所述的设备,还包括:
用于构造不包括特定受保护组件的修复网络拓扑并且识别绕过所述特定受保护组件去到所述通知节点的、不包括所述特定受保护组件的修复路径的装置;其中所述修复拓扑排除了不具有修复地址能力的网络组件;
用于响应于检测到来自所述两个或更多个受保护组件中的所述特定受保护组件不可用,将去到所述通知节点的网络流量传送到所述单个网络修复地址的装置。
11.一种数据处理方法,包括:
在被配置为通知节点并且包括与表示分组数据网络的节点和链路的存储数据的路由数据库相耦合的一个或多个处理器的网络互联路由器或交换机中:
确定与所述通知节点相关联的两个或更多个受保护组件;
在确定两个或更多个受保护组件中的任一个不可用之前,为所述两个或更多个受保护组件确定单个网络修复地址,其中所述单个网络修复地址是要在向所述通知节点传送网络流量时所述两个或更多个受保护组件中的任一个不可用的情况下被使用的;
将所述单个网络修复地址指派给所述两个或更多个受保护组件。
12.如权利要求11所述的方法,还包括通告所述单个网络修复地址和所述两个或更多个受保护组件。
13.如权利要求11所述的方法,还包括:
构造不包括特定受保护组件的修复网络拓扑并且识别绕过所述特定受保护组件去到所述通知节点的、不包括所述特定受保护组件的修复路径;其中所述修复拓扑排除了不具有修复地址能力的网络组件;
响应于检测到来自所述两个或更多个受保护组件中的所述特定受保护组件不可用,将去到所述通知节点的网络流量传送到所述单个网络修复地址。
CN201180059608.6A 2010-12-10 2011-12-08 使不经由地址的数目最小化的数据通信方法和设备 Active CN103270726B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/965,038 2010-12-10
US12/965,038 US8659991B2 (en) 2010-12-10 2010-12-10 Minimizing the number of not-via addresses
PCT/US2011/063912 WO2012078846A1 (en) 2010-12-10 2011-12-08 Minimizing the number of not-via addresses

Publications (2)

Publication Number Publication Date
CN103270726A CN103270726A (zh) 2013-08-28
CN103270726B true CN103270726B (zh) 2016-08-10

Family

ID=45420986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180059608.6A Active CN103270726B (zh) 2010-12-10 2011-12-08 使不经由地址的数目最小化的数据通信方法和设备

Country Status (4)

Country Link
US (2) US8659991B2 (zh)
EP (1) EP2649758B1 (zh)
CN (1) CN103270726B (zh)
WO (1) WO2012078846A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8659991B2 (en) * 2010-12-10 2014-02-25 Cisco Technology, Inc. Minimizing the number of not-via addresses

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852161A (zh) * 2006-01-09 2006-10-25 华为技术有限公司 一种预警方法
CN1943185A (zh) * 2004-04-14 2007-04-04 日本电气株式会社 链路特性设置方法、路由计算方法及其系统
CN101099086A (zh) * 2005-02-22 2008-01-02 思科技术公司 用于在数据通信网络中构造绕过不可用组件的修复路径的方法和装置
US7508755B2 (en) * 2003-07-07 2009-03-24 Alcatel-Lucent Usa Inc. Methods and devices for creating an alternate path for a bi-directional LSP

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148410A (en) 1997-09-15 2000-11-14 International Business Machines Corporation Fault tolerant recoverable TCP/IP connection router
US7848224B2 (en) * 2005-07-05 2010-12-07 Cisco Technology, Inc. Method and apparatus for constructing a repair path for multicast data
US7693043B2 (en) 2005-07-22 2010-04-06 Cisco Technology, Inc. Method and apparatus for advertising repair capability
US7885179B1 (en) * 2006-03-29 2011-02-08 Cisco Technology, Inc. Method and apparatus for constructing a repair path around a non-available component in a data communications network
US7697416B2 (en) * 2006-09-08 2010-04-13 Cisco Technolgy, Inc. Constructing a repair path in the event of non-availability of a routing domain
US7940776B2 (en) * 2007-06-13 2011-05-10 Cisco Technology, Inc. Fast re-routing in distance vector routing protocol networks
US7808890B2 (en) * 2007-08-16 2010-10-05 Cisco Technology, Inc. Forwarding data in a data communications network
US7936667B2 (en) 2009-01-05 2011-05-03 Cisco Technology, Inc. Building backup tunnels for fast reroute in communications networks
US8254250B2 (en) * 2010-09-30 2012-08-28 Empire Technology Development Llc Determining optimum delivery conditions associated with a restoration plan in a communication network
US8659991B2 (en) * 2010-12-10 2014-02-25 Cisco Technology, Inc. Minimizing the number of not-via addresses

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7508755B2 (en) * 2003-07-07 2009-03-24 Alcatel-Lucent Usa Inc. Methods and devices for creating an alternate path for a bi-directional LSP
CN1943185A (zh) * 2004-04-14 2007-04-04 日本电气株式会社 链路特性设置方法、路由计算方法及其系统
CN101099086A (zh) * 2005-02-22 2008-01-02 思科技术公司 用于在数据通信网络中构造绕过不可用组件的修复路径的方法和装置
CN1852161A (zh) * 2006-01-09 2006-10-25 华为技术有限公司 一种预警方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
draft-ietf-rtgwg-ipfrr-notvi a-addresses-06.txt》.《IETF》.2010, *
shand s bryant s previdi cisco systems m.《IP Fast Reroute Using Not-via Addresses *

Also Published As

Publication number Publication date
EP2649758B1 (en) 2018-10-10
CN103270726A (zh) 2013-08-28
US20140169153A1 (en) 2014-06-19
WO2012078846A1 (en) 2012-06-14
US20120147736A1 (en) 2012-06-14
US9143399B2 (en) 2015-09-22
US8659991B2 (en) 2014-02-25
EP2649758A1 (en) 2013-10-16

Similar Documents

Publication Publication Date Title
CN101796782B (zh) 在数据通信网络中转发数据
CN101953124B (zh) 在数据通信网络中构造绕过多条不可用链路的修复路径
CN101099086B (zh) 用于在数据通信网络中构造绕过不可用组件的修复路径的方法和装置
CN112995029B (zh) 一种传输路径故障的处理方法、装置及系统
US8842522B2 (en) Incremental deployment of MRT based IPFRR
US9853854B1 (en) Node-protection and path attribute collection with remote loop free alternates
CN105453491B (zh) 扩展远程lfa快速重新路由
EP1111860B1 (en) Automatic protection switching using link-level redundancy supporting multi-protocol label switching
Shand et al. IP fast reroute framework
US8902728B2 (en) Constructing a transition route in a data communications network
US8165121B1 (en) Fast computation of loop free alternate next hops
US7496650B1 (en) Identifying and suppressing transient routing updates
US8854953B2 (en) Optimizing endpoint selection of MRT-FRR detour paths
US7936667B2 (en) Building backup tunnels for fast reroute in communications networks
EP2915294B1 (en) Multiple path availability between walkable clusters
US8837329B2 (en) Method and system for controlled tree management
CN104521192A (zh) 用于网络拓扑结构中的链路状态协议的洪泛优化的技术
CN103270726B (zh) 使不经由地址的数目最小化的数据通信方法和设备
Rosenberg et al. A fast re-route method
JP2005006235A (ja) ネットワーク監視システム及び監視方法並びにプログラム
JP5506714B2 (ja) ネットワーク接続装置
US20180212860A1 (en) Automatically detecting potential microloop conditions associated with network convergence
JP6390091B2 (ja) トンネル管理装置、通信制御装置、トンネル管理方法及びトンネル管理プログラム
KR20180002319A (ko) 네트워크 연결 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant