CN111587580B - 内部网关协议洪泛最小化 - Google Patents
内部网关协议洪泛最小化 Download PDFInfo
- Publication number
- CN111587580B CN111587580B CN201880086048.5A CN201880086048A CN111587580B CN 111587580 B CN111587580 B CN 111587580B CN 201880086048 A CN201880086048 A CN 201880086048A CN 111587580 B CN111587580 B CN 111587580B
- Authority
- CN
- China
- Prior art keywords
- node
- link
- flooding
- network
- link state
- 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
- 230000009467 reduction Effects 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 108
- 238000006424 Flood reaction Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000005055 memory storage Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 abstract description 94
- 238000010586 diagram Methods 0.000 description 38
- 230000005540 biological transmission Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- 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/02—Topology update or discovery
-
- 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/02—Topology update or discovery
- H04L45/03—Topology update or discovery by updating link state protocols
-
- 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/12—Shortest path evaluation
-
- 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/32—Flooding
-
- 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/44—Distributed routing
-
- 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/46—Cluster building
-
- 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/48—Routing tree calculation
-
- 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/48—Routing tree calculation
- H04L45/488—Routing tree calculation using root node determination
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种在内部网关协议(Interior Gateway Protocol,IGP)网络中实现链路状态洪泛减少(link state flooding reduction,LSFR)的机制。所述机制包括:接收指示所述网络中多个节点的连通性的数据;根据所述连通性构造洪泛拓扑,所述洪泛拓扑的构造包括选择所述节点中的一个作为根节点,构建连接所述根节点和所述网络中节点的链路树;在存储器中存储所述洪泛拓扑,所述洪泛拓扑不会到所述网络中的其余节点;然后,在所述洪泛拓扑上洪泛链路状态消息。
Description
相关申请案交叉申请
本专利申请要求由陈怀默于2018年1月12日递交的申请号为62/616,499、发明名称为“开放式最短路径优先(OSPF)洪泛最小化”的美国临时专利申请案,由陈怀默于2018年2月1日递交的申请号为62/624,986、发明名称为“中间系统到中间系统协议(IS-IS)洪泛最小化”的美国临时专利申请案和由陈怀默于2018年10月25日递交的申请号为62/750,677、发明名称为“内部网关协议洪泛最小化”的美国临时专利申请案的在先申请优先权,其在先申请的全部内容以引入的方式并入本文。
技术领域
本公开通常涉及基于内部网关协议(Interior Gateway Protocol,IGP)的网络,具体涉及一种用于创建独立洪泛拓扑以支持在基于IGP的网络中报文洪泛最小化的机制。
背景技术
某些网络使用链路状态信息来路由数据包。在这些网络中,作为同步过程的一部分,每个节点通过网络在链路状态消息中广播所述节点的链路状态信息。节点的链路状态信息包括标识所述节点的数据、指示所述节点的邻节点的数据和指示与所述邻节点通讯的距离和/或路由成本的数据。每个节点从其他节点接收所述链路状态消息,并使用所述链路状态信息填充链路状态数据库。然后,每个节点可以使用对应的链路状态数据库确定与其他节点传输数据包的最短路径。这些网络存在某些扩展性问题。具体地,每个节点周期性地向所述网络中其他各个节点广播链路状态消息。随着所述网络中增加的节点和广播的链路状态消息越来越多,导致与数据流量争夺带宽的信令开销不断增加。
发明内容
在一实施例中,本公开包括一种在网络中的第一节点中实现的方法。所述方法包括所述第一节点的接收器接收指示包括所述第一节点的所述网络中多个节点的连通性的数据。所述方法还包括所述第一节点的处理器根据所述连通性构造洪泛拓扑,所述洪泛拓扑通过以下方式构造:选择所述节点中的一个作为根节点,构建所述根节点与所述网络中节点的链路树;在存储器中存储所述洪泛拓扑,不将所述洪泛拓扑传输到所述网络中的所述多个节点。所述方法还包括所述第一节点的发送器在所述洪泛拓扑上洪泛链路状态消息。洪泛拓扑的使用使列表状态消息到达所述网络中所有节点,无需在所有链路上洪泛所述链路状态消息。该方法减少了冗余的链路状态消息流量,从而减少了网络流量拥塞。所述洪泛拓扑减少的网络流量拥塞与网络节点的数量成比例,所以网络可扩展性也随之增加。此外,使每个节点单独计算所述洪泛拓扑,不在所述网络上传输所述洪泛拓扑,进一步减少了网络流量拥塞。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收器接收指定要添加到所述树的若干叶子链路的请求;所述处理器将所述若干叶子链路添加到所述网络中所述洪泛拓扑的所述节点之间。在所述洪泛拓扑中添加叶子链路不仅增加了冗余度,还增加了稳定性。添加的叶子链路减少了潜在的设备失效源的数量,这些设备失效会切断所述洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:在添加叶子链路之前,所述洪泛拓扑中的所述链路树包含最小数量的连接所述网络中节点与所述根节点的链路。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述处理器与新连接节点建立邻接;所述新连接节点与所述第一节点通过链路直连。所述方法还包括所述处理器将所述新连接节点添加到所述洪泛拓扑中的所述链路树中,直到重新计算所述洪泛拓扑。该实现方式使新节点添加到所述洪泛拓扑中,无需整个网络立即重新计算所述洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收器通过所述洪泛拓扑外的链路接收第一链路状态消息;所述发送器通过所述洪泛拓扑上的链路洪泛所述第一链路状态消息。使从所述洪泛拓扑之外接收的所述链路状态消息在所述网络上转发,无需在所有接口上洪泛。该实现方式可用于允许与不能使用洪泛拓扑的设备向后兼容。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收器接收指示所述网络中的第二节点失效的第二链路状态消息;所述发送器将所述第二链路状态消息洪泛到连接所述第一节点和所述第二节点的邻节点的链路中。该实现方式允许了故障节点周围的传输,同时为不直连所述故障节点的网络部分维护了所述洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收器接收指示所述网络中的第一链路失效的第三链路状态消息。所述方法还包括确定所述第一链路为关键元素。所述方法还包括根据所述确定,将所述第三链路状态消息发送到连接邻节点的链路中,所述邻节点也连接与附着于所述第一链路的节点相邻的节点。该实现方式允许了故障链路周围的传输,同时为不直连所述故障链路的网络部分维护了所述洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述处理器确定关键元素,关键元素是指其失效会导致所述洪泛拓扑断开的链路或节点,当关键接口失效时,不继续使用所述洪泛拓扑。关键元素失效使所述泛化拓扑分裂为多个拓扑。因此,关键元素失效可以阻碍所述洪泛拓扑上的链路状态消息到达所述网络中的所有节点。保持对这个潜在问题的感知使网络恢复为一般的洪泛,直到可以生成另一个不包括所述关键接口的洪泛拓扑。
可选地,在上述任一方面中,所述方面的另一实现方式包括:所述链路状态消息是开放式最短路径优先(Open Shortest Path First,OSPF)链路状态通告(link stateadvertisement,LSA)。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息是中间系统到中间系统(Intermediate System to Intermediate System,IS-IS)链路状态协议数据单元(link state protocol data unit,LSP)。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息包含洪泛减少(flooding reduction,F)标志,所述洪泛减少标志设置为指示所述网络中节点,所述节点通过所述洪泛拓扑支持链路状态洪泛减少。所述F标志允许向后兼容。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息包含模式字段,所述模式字段设置为指示集中式链路状态洪泛减少、分布式链路状态洪泛减少或静态配置链路状态洪泛减少。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息包含算法字段,所述算法字段设置为指示所述洪泛拓扑中构建所述链路树的算法。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息包含操作(operation,OP)字段,所述操作字段设置为从全网络洪泛切换至链路状态洪泛减少。
在一实施例中,本公开包括一种网络中的第一节点。所述第一节点包括接收器,用于接收指示包括所述第一节点的所述网络中多个节点的连通性的数据。所述第一节点还包括与所述接收器耦合的处理器,所述处理器用于根据所述连通性构造洪泛拓扑。所述洪泛拓扑通过选择所述节点中的一个作为根节点,构建连接所述根节点和所述网络中节点的链路树而出现。所述第一节点还包括与所述处理器耦合的存储器,所述存储器用于存储所述洪泛拓扑。所述第一节点还包括与所述处理器耦合的发送器,所述发送器用于在所述洪泛拓扑上洪泛链路状态消息,不将所述洪泛拓扑传输到所述网络中的所述其余节点。洪泛拓扑的使用使列表状态消息到达所述网络中的所有节点,无需在所有链路上洪泛所述链路状态消息。该节点减少了冗余的链路状态消息流量,从而减少了网络流量拥塞。所述洪泛拓扑减少的网络流量拥塞与网络节点的数量成比例,所以网络可扩展性也随之增加。此外,使每个节点单独计算所述洪泛拓扑,不在所述网络上传输所述洪泛拓扑,进一步减少了网络流量拥塞。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收器还用于接收指定要添加到所述树中若干叶子链路的请求;所述处理器还用于将所述若干叶子链路添加到所述网络中所述洪泛拓扑的所述节点之间。在所述洪泛拓扑中添加叶子链路不仅增加了冗余度,还增加了稳定性。添加的叶子链路减少了潜在的设备失效源头的数量,这些设备失效会切断所述洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:在添加叶子链路之前,所述洪泛拓扑中的所述链路树包含最小数量的连接所述网络中所述节点与所述根节点的链路。
可选地,在上述任一方面中,所述方面的另一实现方式包括:所述处理器还用于与新连接节点建立邻接,所述新连接节点与所述第一节点通过链路直连;所述处理器还用于将所述新连接的节点添加到所述洪泛拓扑中的所述链路树中,直到重新计算所述洪泛拓扑。该实现方式使新节点添加到所述洪泛拓扑中,无需整个网络立即重新计算所述洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收器还用于通过所述洪泛拓扑外的链路接收第一链路状态消息,所述发送器还用于通过所述洪泛拓扑中的链路洪泛所述第一链路状态消息。使从所述洪泛拓扑之外接收的所述链路状态消息在所述网络上转发,无需在所有接口上洪泛。该实现方式可用于允许与不能使用洪泛拓扑的设备向后兼容。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收器还用于接收指示所述网络中的第二节点失效的第二链路状态消息;所述发送器还用于将所述第二链路状态消息洪泛到连接所述第一节点和所述第二节点的邻节点的链路中。该实现方式允许了故障节点周围的传输,同时为不直连所述故障节点的网络部分维护了所述洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收器还用于接收指示所述网络中的第一链路失效的第三链路状态消息,所述处理器还用于确定所述第一链路是关键元素,所述发送器还用于根据所述确定,将所述第三链路状态消息发送到连接邻节点的链路中,所述邻节点也连接附着于所述第一链路的节点的相邻的节点。该实现方式允许了故障链路周围的传输,同时为不直连所述故障链路的网络部分维护了所述洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述处理器还用于确定关键元素,关键元素是其失效会断开所述洪泛拓扑的链路或节点,当关键元素失效时,不继续使用所述洪泛拓扑。关键元素失效使所述泛化拓扑分裂为多个拓扑。因此,关键元素失效可以阻碍所述洪泛拓扑上的链路状态消息到达所述网络中的所有节点。保持对这个潜在问题的感知使网络恢复为一般的洪泛,直到可以生成另一个不包括所述关键接口的洪泛拓扑。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息是开放式最短路径优先(OSPF)链路状态通告(LSA)。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息是中间系统到中间系统(IS-IS)链路状态协议数据单元(LSP)。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息包含洪泛减少(F)标志,所述洪泛减少标志设置为指示所述网络中节点,所述节点通过所述洪泛拓扑支持链路状态洪泛减少。所述F标志允许向后兼容。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息包含模式字段,所述模式字段设置为指示集中式链路状态洪泛减少、分布式链路状态洪泛减少或静态配置链路状态洪泛减少。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息包含算法字段,所述算法字段设置为指示所述洪泛拓扑中构建所述链路树的算法。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述链路状态消息包含操作(OP)字段,所述操作字段设置为从全网络洪泛切换至链路状态洪泛减少。
在一实施例中,本公开包括一种非瞬时性计算机可读介质,包括供网络中的第一节点使用的计算机程序产品;所述计算机程序产品包括存储在所述非瞬时性计算机可读介质上的计算机可执行指令,当处理器执行所述指令时,使得所述第一节点执行任一上述方面。
在一实施例中,本公开包括一种网络中的第一节点。所述第一节点包括接收装置,用于接收指示包括所述第一节点的所述网络中多个节点的连通性的数据。所述第一节点还包括处理装置,用于根据所述连通性构造洪泛拓扑,所述洪泛拓扑通过选择所述节点中的一个作为根节点,构建连接所述根节点和所述网络中节点的链路树而出现。所述第一节点还包括存储器存储装置,用于存储所述洪泛拓扑。所述第一节点还包括传输装置,用于在所述洪泛拓扑上洪泛链路状态消息,不将所述洪泛拓扑传输到所述网络中的所述其余节点。
可选地,在任一上述方面中,所述方面的另一实现方式包括:所述接收装置、处理装置、存储器存储装置和传输装置用于执行任一上述方面。
为清楚起见,上述任一实施例可以与上述任一或多个其它实施例组合以在本发明范围内产生新实施例。
下文结合附图和权利要求的详细描述将更清楚地理解这些和其它特征。
附图说明
为了更透彻地理解本公开,现参阅结合附图和具体描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是示例性IGP(Interior Gateway Protocol,IGP)网络的示意图。
图2是支持分布式链路状态洪泛减少(link state flooding reduction,LSFR)的洪泛拓扑的示例性IGP网络的示意图。
图3是使用叶子的洪泛拓扑的示例性IGP网络的示意图。
图4是用于在IGP网络中运行的示例性网络节点的示意图。
图5是构造洪泛拓扑的一种示例性方法的流程图。
图6是构造洪泛拓扑的另一种示例性方法的流程图。
图7是构造洪泛拓扑的另一种示例性方法的流程图。
图8是一种示例性洪泛机制的示意图。
图9是发现新节点时使用的一种示例性洪泛机制的示意图。
图10是发现节点失效时使用的一种示例性洪泛机制的示意图。
图11是发现节点失效时使用的另一种示例性洪泛机制的示意图。
图12是发现链路失效时使用的一种示例性洪泛机制的示意图。
图13是洪泛拓扑中具有关键接口的示例性IGP网络的示意图。
图14是用于指示节点支持LSFR的一种示例性开放式最短路径优先(OpenShortest Path First,OSPF)版本二(version two,v2)编码的示意图。
图15是用于指示节点支持LSFR的一种示例性OSPF版本三(version three,v3)编码的示意图。
图16是用于指示节点支持LSFR的一种示例性中间系统到中间系统(IntermediateSystemtoIntermediate System,IS-IS)编码的示意图。
图17是用于在IGP网络中管理LSFR的一种示例性LSFR控制类型长度值(type-length-value,TLV)编码的示意图。
图18是用于集中式LSFR与分布式LSFR集成的一种示例性TLV编码的示意图。
图19是用于在IGP网络中运行LSFR机制的一种示例性方法的流程图。
图20是用于在IGP网络中运行LSFR机制的设备的实施例。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施例,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本公开决不应仅限于下文所描述的说明性实施例、附图和技术,包括本文所说明并描述的示例性设计和实施例,而是可在所附权利要求书的范围以及其等效物的完整范围内进行修改。
本文公开了多种用于在开放式最短路径优先OSPF(Open Shortest Path First,OSPF)和/或中间系统到中间系统IS-IS(Intermediate System to Intermediate System,IS-IS)等IGP(Interior Gateway Protocol,IGP)网络中减少链路状态消息相关的信令开销的机制。链路状态消息从网络域中一个节点到其他各个节点的传输称为洪泛。所述公开的机制统称为链路状态洪泛减少LSFR(link state flooding reduction,LSFR),所述LSFR通过生成作为实际网络拓扑子集的洪泛拓扑来减少链路状态消息洪泛的影响。通常,每个节点通过在所述洪泛拓扑上传输链路状态消息来洪泛网络,而不在所述洪泛拓扑之外的网络链路上传输此消息。这样,所述消息到达所述网络中其他各个节点的同时,最大程度上减少了每个节点上接收所述消息的冗余副本的数量。例如,所述洪泛拓扑可以生成为连接各节点的链路树(例如,生成树)。这种链路树使链路状态消息洪泛到所有节点的同时,确保每个节点都接收到所述洪泛消息的单个副本。为提高可靠性,可以根据网络管理员的指示在所述链路树中添加叶子。虽然增加了一些消息冗余,但是在所述洪泛拓扑中提供了备用消息路径,提高了链路或节点故障情况下网络可靠性。在分布式模式下,每个节点使用可由管理员选择的通用算法来确定洪泛树。这样,每个节点维护所述洪泛拓扑的一个副本,而不用在网络中洪泛所述洪泛拓扑的副本,就不会增加网络拥塞。本文还公开了洪泛减少(flooding reduction,F)标志。所述F标志允许每个节点通告支持LSFR,因此允许每个节点都使用所述洪泛拓扑,同时与不支持LSFR的节点保持向后兼容。所述F标志还允许非LSFR支持节点与相隔较远的所述洪泛拓扑树中的根连接。本文还公开了网络变化情况下管理链路状态消息洪泛的机制。例如,当新节点进入所述网络并与所述洪泛拓扑上已存在的邻节点通信时,所述邻节点可以将所述新节点添加到所述洪泛拓扑中,直到重新计算所述洪泛拓扑,并构造出新的洪泛拓扑。此外,当链路或节点发生故障时,与所述故障节点相邻的节点可以通过所述洪泛拓扑外的链路向与所述故障节点相邻的其他节点传输链路状态消息,以确保这些节点继续接收链路状态消息,直到故障得到解决。此外,所述节点各自可以保留关键元素的情况。关键元素是失效时将所述洪泛拓扑断开为两个或更多分离部分的洪泛拓扑链路/接口或节点。收到通知关键元素失效时,节点可以恢复所有链路上的洪泛链路状态消息,维护网络功能,直到修复所述链路/节点或计算出一个不包括故障元素的新洪泛拓扑。当关键元素是洪泛拓扑链路(或接口)时,所述关键元素称为关键接口或关键链路。当关键元素是洪泛拓扑节点时,所述关键元素为关键节点。
图1是示例性IGP网络100的示意图。IGP网络100是基于OSPF和/或IS-IS等IGP协议的用于交换路由和/或交换信息的网络。所述IGP网络100包括通过链路115互联的多个节点111。节点111是一个网络设备,能够在第一接口上从源头接收数据包,确定所述数据包通过第二接口可以到达的目的地,并通过所述第二接口向所述目的地转发所述数据包。为了清楚说明,此处所使用的术语“数据包”包括数据包和数据帧。链路115是一个介质,能够将信号从第一节点111的接口传播到第二节点111的接口。
节点111互连形成网络域110。如本文所使用的,网络域110是共享网络寻址方案、策略和/或协议的一组互连节点111。具体地,所述网络域110的节点111使用链路状态路由协议。使用链路状态路由协议时,所述网络域110中的每个节点111维护一个完整的网络拓扑(例如,路由表),并通过使用本地存储的网络拓扑相关的信息独立地确定数据包的下一跳。所述网络拓扑包括指示所述IGP网络100结构的数据,例如节点111和链路115连接、节点111的邻接、节点111接口信息和/或其它链路115/节点111关系信息。
所述节点111在所述网络域110共享链路状态信息。节点111的链路状态信息包括标识所述节点111的数据(例如,节点111的地址)、节点111邻节点的列表以及节点111与节点111邻节点之间的成本/延迟。单链路115分隔的节点111互为邻节点。为了共享链路状态信息,节点111在所述网络域110中洪泛链路状态消息。在OSPF中,所述链路状态消息称为链路状态通告(link state advertisement,LSA)。在IS-IS中,所述链路状态消息称为链路状态协议数据单元(link state protocol data unit,LSP)。在一些示例中,每个节点111在各个接口上洪泛链路状态消息。如本文所使用的,洪泛表示在预定义的网络接口集合上同时传输包/帧。随着所述IGP网络100规模的扩大,这种方法可能会产生问题。例如,每个节点111通过各个接口周期性地向其他各个节点111发送链路状态消息时,随着越来越多的节点111添加到所述IGP网络100中,与链路状态数据相关的网络流量可能会急剧增加。此外,每个节点111可以在各个接口上接收其它各个节点111的链路状态消息。导致每个节点111接收多个冗余链路状态消息。
本公开修改了所述网络域110中的节点111使用的协议,减少了冗余链路状态消息。减少冗余链路状态消息传输的过程在本文中称为列表状态洪泛减少(list stateflood reduction,LSFR)。具体地,修改节点111以生成和维护作为所述IGP网络100拓扑的子集的洪泛拓扑。链路状态消息在所述洪泛拓扑上洪泛,而不是在整个IGP网络100拓扑上洪泛。这种方法减少了所述冗余链路状态消息的传输,增加了IGP网络100的可扩展性。此外,链路状态消息流量减少会减少整个网络维护信令,从而增加了节点111的数据流量传输容量。
图2是支持分布式LSFR的洪泛拓扑219的示例性IGP网络200的示意图。例如,IGP网络200可用于在IGP网络100上实现LSFR。所述IGP网络200包括节点211、根节点212和第一节点213,基本上类似于IGP网络100中的节点111。根节点212是选作洪泛拓扑219使用的生成树的根的节点211。第一节点213是节点211,为了在描述本文讨论的LSFR方案时支持讨论的清晰性,对第一节点213进行区分。所述IGP网络200包括洪泛拓扑链路216和链路217,基本上类似于链路115。粗体描绘的洪泛拓扑链路216是包含在所述洪泛拓扑219中的链路,用于传输链路状态消息。非粗体描绘的链路217不包括在所述洪泛拓扑219中,仅在某些的特定情况下传输链路状态消息,如以下附图所述。
IGP网络200可以在分布式模式下运行。在分布式模式下,每个节点211、212和213检测到所述网络变化后生成一个洪泛拓扑219。所述洪泛拓扑219是用于传输链路状态消息的洪泛拓扑链路216的树。所述节点211、212和213使用相同的算法生成所述洪泛拓扑219。相应地,节点211、212和213分别将所述洪泛拓扑219存储在本地存储器中,不需要将指示所述洪泛拓扑219的洪泛数据传输给IGP网络200中的其余节点。通过这种方式,指示所述洪泛拓扑219的数据不会发送给所有节点211。可以根据结合以下附图所述的若干算法生成所述洪泛拓扑219。
每个节点211、212和213接收到指示所述IGP网络200中的所述节点212、211和/或213的连通性的数据后,就可以在每个节点211、212和213处生成洪泛拓扑219。可以通过预存洪泛拓扑219接收/发送数据,和/或如果预先存在的洪泛拓扑219不存在,则通过一般洪泛来接收/发送数据。每个节点211、212和213可以使用选定算法来构造所述洪泛拓扑219的副本。例如,选择所述IGP网络200的所述节点中的一个作为根节点212。可以通过多个机制从节点211/213中选择根节点212。例如,可以从节点211/213中的选择有最大或最小标识(identifier,ID)、互联网协议(internet protocol,IP)地址、媒体访问控制(mediaaccess control,MAC)地址等的节点为根节点212。一旦选择了所述根节点212,就建立了洪泛拓扑链路216的树,使得所述洪泛拓扑链路216的树将所述根节点212连接到所述网络中节点。例如,所述洪泛拓扑219可以构造为生成树和/或最小权重生成树。生成树是洪泛拓扑图的子集,其所有顶点(节点211、212和213)通过最小数量的边缘(链路216)连接。最小权重生成树是洪泛拓扑图的子集,其所有顶点(节点211、212和213)通过最小权重边(例如,时延方面的链路成本)连接。在O(N)处计算具有根节点212的洪泛拓扑219的树,其中,O(N)是根据输入(例如,节点数量)的线性计算时间的大O符号。
洪泛拓扑219是满足若干标准的IGP网络200拓扑的子网络拓扑。第一、所述洪泛拓扑219为所述子网中的所有节点提供与真实网络(例如,IGP网络200)中的节点的等效可达性。第二、当n(n>0)条链路216失效时,所述子网中所有节点(例如,节点211、212和213)的可达性应与真实网络中相同。第三、当m(m>0)个节点失效时,所述子网中所有有效节点的可达性应与真实网络中相同。第四、所述洪泛拓扑219中的洪泛拓扑链路216的数量应最小化,以减少列表状态洪泛。
一旦生成所述洪泛拓扑219,所述节点211、212和213可以在所述洪泛拓扑219上洪泛OSPF LSA和/或IS-IS LSP等链路状态消息。洪泛链路状态消息时,设计所述洪泛拓扑219使用上述若干标准与所述IGP网络200进行交互。例如,同时使用洪泛拓扑219和真正的IGP网络200拓扑传输所述链路状态消息。此外,在许多情况下,所述洪泛拓扑219和相关洪泛机制应支持将所述链路状态消息(例如,链路状态消息221)洪泛到所述IGP网络200中的每个节点211、212和/或213。下面将结合附图更详细地讨论。例如,当n(n>1)个节点失效(例如,节点失效)时,所述洪泛机制应允许链路状态消息到达所有节点:节点211、212和/或213。又例如,当m(m>1)条链路失效(例如,链路/接口失效)时,所述洪泛机制应允许链路状态消息到达所有节点211、212和/或213。所述洪泛机制应满足此标准的同时,减少(例如,几乎最小化)链路状态消息洪泛。此外,所述洪泛机制应与洪泛拓扑219的运行向后兼容。所述洪泛拓扑219包括支持LSFR的节点211、212和/或213以及不支持LSFR的节点。下面将结合附图更详细地讨论兼容性。通常,不支持LSFR的节点位于所述洪泛拓扑219上,但远离所述根节点212。然后,不支持LSFR的节点可以从所述洪泛拓扑219上接收链路状态消息,并将其洪泛到各个接口。
出于说明的目的,从第一节点213的角度讨论所述洪泛拓扑219上的链路状态消息洪泛机制。如本文中所使用的,为了清楚讨论说明,术语“第一节点213”表示从所述IGP网络200中任意选择的节点211。例如,第一节点213可以通过一个或多个链路216从所述根节点212接收链路状态消息221。所述链路状态消息221可以是携带链路状态信息的LSA、LSP或其它报文/帧。所述链路状态消息221可包含连通性数据,例如原始节点211/212的ID、节点211/212的邻接、链路216/217的ID、接口信息(例如,端口数据)和/或链路/节点状态信息,比如链路216/217的成本(例如,时延)等。
所述第一节点213通过洪泛拓扑链路216接收所述链路状态消息221。此信息比本地存储的数据新时,所述第一节点213解析并存储来自所述链路状态消息221的数据。然后,所述第一节点213通过所述洪泛拓扑219的洪泛拓扑链路216向邻节点211转发所述链路状态消息221。所述链路状态消息221不会从接收所述链路状态消息221的接口洪泛回来(例如,回到所述根节点212)。如图所示,所述链路状态消息221通常不会在所述洪泛拓扑219之外的链路217上洪泛。特定情况,下面会结合附图做更详细的讨论。因此,根据所述洪泛拓扑219完成链路状态洪泛。由于所述洪泛拓扑219连接所有节点211、212和213,因此IGP网络200中的每个节点都接收所述链路状态消息221的副本并更新本地链路状态信息(例如,在路由表中)。然而,由于所述链路状态消息221通常不会在链路217洪泛,因此节点211、212和213通常不会收到所述链路状态消息221的冗余副本。这样,减少了链路状态消息221的洪泛,使得每个节点211、212和213接收所述链路状态消息221的单个副本,而不是每个接口的副本。
通常,将所述链路状态消息221洪泛限制在所述洪泛拓扑219中具有若干优点。例如,本文讨论的洪泛机制减少了总体网络流量,从而提高了网络性能。另外,所述洪泛拓扑219在每个节点以分布式模式计算,因此本文讨论的洪泛机制提高了网络融合性。此外,与其它链路状态洪泛机制相比,本文讨论的洪泛机制可以减少配置要求。
应当注意的是,所述IGP网络200中可以设计一些冗余,以防止设备失效故障。具体地,可以将额外链路216添加到所述洪泛拓扑219中,以减轻潜在的IGP网络200通信问题。在这种情况下,一些节点211、212、213可以接收多个链路状态消息221。相应地,LSFR可以基于冗余链路状态消息来均衡,并具有更高的可靠性。下文讨论了提高所述洪泛拓扑219可靠性的机制。
图3是使用叶子链路318的洪泛拓扑319的示例性IGP网络300的示意图,用于提高网络可靠性。所述IGP网络300基本上与IGP网络200类似,但在所述洪泛拓扑319中包含一个额外的叶子链路318。因此,所述IGP网络300包括根节点312、节点311、链路317以及包含洪泛拓扑链路316的洪泛拓扑319,分别与根节点212、节点211/213、链路217、洪泛拓扑219和洪泛拓扑链路216基本类似。
叶子链路318是为支持IGP网络300可靠性而添加到所述洪泛拓扑319中的链路。所述叶子链路318显示为虚粗线。通过将叶子链路318添加到所述洪泛拓扑319中(例如,创建一个圆),即使所述链路316/317到节点311/312中一些链路和/或节点故障,也不会导致其它节点311/312与所述洪泛拓扑链路316的树分离。然而,添加叶子链路318可能会导致叶子链路318端节点311/312中一个接收冗余链路状态消息。这样,以信号开销略有增加为代价提高了所述IGP网络300的可靠性。
可以在构造所述洪泛拓扑319的过程中,添加叶子链路318。例如,系统管理员可以选择若干叶子链路318添加到所述洪泛拓扑319中。所选择的若干叶子链路318可以使链路状态消息传输到所述IGP网络300中的所有节点311/312。相应地,每个节点311/312接收指定要添加到所述洪泛拓扑319中的所述洪泛拓扑链路316的树中的若干叶子链路318的请求。每个节点311/312可以根据如上所述的连通性信息构造所述洪泛拓扑319。在添加所述叶子链路318之前,所述洪泛拓扑319中的链路316的树可以包含最小数量的连接所述IGP网络300中的所有节点311到根节点312的链路。生成所述洪泛拓扑319之后,所述节点311/312将所述系统管理员的请求中所指定的若干叶子链路318k(k≥0)添加到所述洪泛拓扑319。在所述IGP网络300中的所述节点311/312之间添加所述叶子链路318以增加可靠性。所述叶子链路318可以根据几种机制进行放置。例如,可以指定在故障时将所述洪泛拓扑319分裂为多个树/部分的任何洪泛拓扑链路316或节点311/312为关键元素。所述叶子链路318可以放置在一个经过选择的位置上,最大程度上减少了所述IGP网络300中的关键元素的数量。下面将讨论添加的叶子链路318的放置机制。
例如,结合图5至图7描述的其中一个机制来构造洪泛拓扑319,即指定Ft。在这种情况下,所述洪泛拓扑319可以呈树形。然后,可以将整数个叶子链路318k(k≥0)添加到所述树中以构造增强连通性的增强型洪泛拓扑319。例如,所述洪泛拓扑319上可以有与节点X直连的m(m>0)条链路317。例如,可以通过确定性算法或规则选择k个叶子链路318,其中k≤m。一种算法或规则可包括选择k个叶子链路318,这些叶子链路318具有当前未连接到所述洪泛拓扑319的链路317的最小或最大ID(例如,这k条链路的非叶子端的ID比直连所述节点X的其他链路的ID更小/大)。每个节点可以有唯一的ID。因此,选择所述链路非叶子端的较小或较大链路ID的k个叶子链路是确定的。作为一个具体示例,如果k=1,在此算法下,所选的叶子链路318在与节点X直连的所有链路非叶子端的ID中具有最小/最大的ID。
在另一示例性机制中,第一节点L可以与所述洪泛拓扑319Ft中的第二节点N直连。可以使用确定性算法或规则从所述第一节点L中选择第三节点的连接/邻接作为Ft中的叶子链路318。例如,第一节点L可以通过邻接与所述洪泛拓扑319Ft中的第三节点Ni(i=1、2、……、s)直连。此外,所述第三节点Ni不是所述第二节点N,IDi为第三节点Ni的ID,Hi(i=1、2、……、s)为所述洪泛拓扑319Ft中所述第一节点L到所述第三节点Ni的跳数。一种算法或规则是选择到第三节点Nj(1≤j≤s)的连接作为叶子链路318,以使Hj在H1、H2、……、Hs中最大。如果还有其他第三节点Na(1≤a≤s)且Hj=Ha,则选择节点ID较小(或较大)的第三个节点。具体地,如果Hj等于Ha且IDj<IDa,则选择ID较小的链路选择到第三节点Nj的连接(或者如果Hj=Ha且IDj<IDa,则选择ID较大的链路为Na的连接)。
出于说明的目的,选定节点L和所述洪泛拓扑319Ft中的节点之间添加为叶子链路318的总连接数量可以表示为NLc。所述叶子链路318的数量NLc可以通过编程进行限制。在一个示例中,NLc设置为指定数量,例如10,表示叶子节点L与所述洪泛拓扑319Ft中的节点之间最多可选择10个连接,添加到所述洪泛拓扑319Ft中以生成增强型洪泛拓扑319Ft。在另一示例中,NLc设置为所述网络中的节点311/312数量的指定百分比(例如,5%),表示叶子节点与Ft中的节点之间最多可选择所述IGP网络300中的节点311/312的数量的5%的连接数添加到Ft中。例如,对于具有1000个节点311/312的网络,1000的5%就是50。因此,在叶子节点L与所述洪泛拓扑319Ft中的节点之间最多选择50个叶子链路318添加到所述洪泛拓扑319Ft中。
图4是用于在IGP网络100、200和/或300等中运行的示例性网络节点400的示意图。例如,网络节点400可用于实现节点111、211、212、213、311和/或312。此外,网络节点400可用于计算网络拓扑219和/或319。网络节点400还可接收、处理和转发这些洪泛拓扑上的LSA或LSP(例如,链路状态消息221)等链路状态消息以实现LSFR。因此,所述网络节点400适用于实现本文描述的所公开的示例/实施例。所述网络节点400包括下行端口420、上行端口450和/或包括发送器和/或接收器的收发单元(Tx/Rx)410,用于通过网络在上行和/或下行方向上传输数据。所述网络节点400还包括处理器430,以及用于存储所述数据的存储器432,所述处理器430包括处理所述数据的逻辑单元和/或中央处理单元(centralprocessing unit,CPU)。所述网络节点400还可以包括耦合到所述上行端口450和/或下行端口420的光到电(optical-to-electric,OE)组件、电到光(electric-to-optical,EO)组件和/或无线通信组件,用于通过光或无线通信网络传输数据。在某些情况下,所述网络节点400还可以包括用于向用户传输数据和从用户接收数据的输入和/或输出(input/output,I/O)设备。
所述处理器430通过硬件和软件来实现。所述处理器430可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)和数字信号处理器(digital signal processor,DSP)。所述处理器430与所述下行端口420、Tx/Rx 410、上行端口450和存储器432进行通信。所述处理器430包括LSFR模块414。所述LSFR模块414实现本文所描述的公开实施例。具体地,所述LSFR模块414可以根据连通性信息构造洪泛拓扑。例如,所述LSFR模块414可以通过下文讨论的方法500、600和/或700使用若干机制来构造所述洪泛拓扑。所述LSFR模块414还可以根据用户/系统管理员的指示将许多叶子链路添加到所述洪泛拓扑中。所述LSFR模块414可将所述洪泛拓扑存储在存储器432中。然后,所述LSFR模块414可以在IGP网络所述洪泛拓扑上使用下游端口420、Tx/Rx 410和/或上游端口450接收和/或洪泛OSPF LSA和/或IS-IS LSP等链路状态消息。如以下附图所述,所述LSFR模块414还可在具体处理链路状态消息的情景中使用。例如,所述LSFR模块414可以在启动时将新节点添加到所述洪泛拓扑中,以及在链路/节点失效时在所述洪泛拓扑之外转发链路状态消息。所述LSFR模块414还可维持对关键元素的感知,并在关键元素失效情况下恢复链路状态消息的一般洪泛。下面结合附图更详细地讨论LSFR模块414实现的这些机制或者其他机制。此外,所述LSFR模块414使所述网络节点400变换到不同状态。或者,所述LSFR模块414可以实现为存储在所述存储器432中并由所述处理器430执行的指令(例如,存储在非瞬时性介质上的计算机程序产品)。
所述存储器432包括一个或多个存储器类型,例如磁盘、磁带机、固态硬盘(solid-state drive,SSD)、只读存储器(read only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、快闪存储器、三态内容寻址存储器(ternary content addressablememory,TCAM)、静态随机存取存储器(static random access memory,SRAM)等。所述存储器432可用作溢出数据存储设备,以在选择执行程序时存储程序,以及存储程序执行时读取的指令和数据。
图5、6和7描述了构造洪泛拓扑的示例性方法。通常,构造洪泛拓扑包括:1)根据规则选取节点R,如节点ID最大/最小的节点;2)以R为树的根构建树;3)根据需要将k(k≥0)个叶子连接到所述树上,将缓解设备失效的方法添加到所述泛洪拓扑中。在分布式模式下,所述网络中每个节点都使用所述算法生成洪泛拓扑,使得所述洪泛拓扑在所述IGP网络中不再进行分发/洪泛。下面讨论两种示例类型的机制。一种机制是为所述洪泛拓扑构建树,不需要判断所述节点是否支持LSFR。这种机制中,假设域内所有路由器都支持LSFR。另一种机制是为所述洪泛拓扑构建树时考虑每个节点是否支持LSFR。这种机制中,将支持LSFR的节点放在离根节点较近的位置,以便所述支持LSFR的节点能够持续连接到所述洪泛拓扑。可以在F标志中用信号表示支持LSFR,该标志可以包含在IS-IS路由器能力类型长度值(type-length-value TLV)和/或OSPF LSA中。例如,可以将所述F标志设置为1,表示所述节点/路由器支持LSFR;将F标志设置为0,表示所述节点/路由器不支持LSFR。然后,根据相应的规则选择所述根节点,例如,选择具有最大/最小节点ID也支持LSFR的节点作为根节点(例如,在节点中将F标志设置为1的节点)。
图5是构造洪泛拓扑219和/或319等的一种示例性方法500的流程图。相应地,节点111、211、212、213、311、312和/或400可以执行方法500。方法500是用于使用初始包含节点R的候选队列(candidate queue,Cq)和初始为空的洪泛拓扑Ft,从根节点R构建树的一种机制。
方框501中,启动生成洪泛拓扑。例如,可以网络发生变化时重新计算洪泛拓扑。又例如,可以在事件发生时重新计算洪泛拓扑。具体地,可以在关键元素失效时重新计算洪泛拓扑。又例如,可以从用户/系统管理员接收到请求重新计算的消息之后,重新计算洪泛拓扑。如上所述,在分布式模式下,在网络中的每个支持LSFR节点上基本上同时启动所述方法500。
方框503中,例如,根据ID号选择所述洪泛拓扑的根节点,并将选中的根节点添加到空候选队列中。此外,方框503中,初始化洪泛拓扑为空。然后,所述方法500前进到方框505,与方框507、511和513形成迭代循环。
方法500需要考虑哪些节点支持LSFR,所以方框505是变化的。如果所述方法500不考虑哪些节点支持LSFR,那么方框505中,从所述候选队列中移除所述第一节点并将移除的节点添加到所述洪泛拓扑中。如果所述移除的节点不是所述根节点(例如,在添加所述移除的节点之前,所述洪泛拓扑不是空的),所述洪泛拓扑中还包括一条在所述移除节点与最后所述洪泛拓扑的节点之间的链路。因此,方框505中,从根节点按顺序遍历候选队列,并定位节点在所述洪泛拓扑上。
如果方法500考虑哪些节点支持LSFR,那么在方框505中,从所述候选队列中移除支持LSFR的第一节点。当所述候选队列中没有节点支持LSFR时,所述候选队列中的所述第一个节点(不支持LSFR)从所述候选队列中移除。然后,如果可行的话,将移除节点,以及与所述洪泛拓扑中上一节点的相应链路添加到所述洪泛拓扑中。通过这种方式,方框505可以将支持LSFR的节点定位在洪泛拓扑上距离根节点更近的位置。将不支持LSFR的节点定位在离根节点更远的地方,从而减少了在所述洪泛拓扑上传输链路状态数据时对此节点的依赖。
方框507中,将所述网络中的节点列表与所述洪泛拓扑上的节点列表进行比较。当所有节点已添加到所述洪泛拓扑时,方法500前进到方框509并返回已完成的洪泛拓扑FT。当所述洪泛拓扑FT中不包括至少一个节点时,方法500前进到方框511。
所述方法500需要考虑哪些节点支持LSFR,所以方框511是变化的。如果所述方法500不考虑哪些节点支持LSFR,那么方框511确定连接到添加到所述洪泛拓扑的最后一个节点的节点Xi(i=1、2、3、……、N)的列表,其中,此节点尚未在所述洪泛拓扑中。然后,可以根据链路成本和/或链路/节点/接口ID对这些节点Xi进行排序。链路成本可以指示时延、链路长度或链路最大带宽和/或其它链路能力。此外,链路成本可以指示所述最后加入所述洪泛拓扑的节点与对应节点Xi之间的成本。这种方法可用于定位所述候选队列中较低成本链路的节点Xi。因此,此低成本链路更可能添加至靠近根节点,并且在所述洪泛拓扑中更频繁地使用。成本相同时,可以使用链路/节点/接口ID来确定顺序。如果所述方法500不考虑哪些节点支持LSFR,那么方框511在确定成本时考虑支持LSFR。例如,可以使用实际指标来确定支持LSFR的节点的成本。此外,对于不支持LSFR的节点,可以通过因数缩放实际指标,使得所述最低成本的非LSFR指标高于最高成本LSFR指标。以这种方式确定成本,不支持LSFR的节点将位于所述候选队列的末尾。进一步支持将不支持LSFR的节点放在尽可能远离根节点放置。
方框513中,在所述候选队列的末尾处按方框511中的排列顺序添加方框511中的所述节点Xi。然后,方法500可以返回到方框505,将所述候选队列中的下一个节点添加到所述洪泛拓扑中。
采用上述方法,所述洪泛拓扑从根节点开始以平衡树的形式增长。先将所述根节点添加到所述洪泛拓扑中。然后,将每个与根节点连接的节点(例如,第一级节点)添加到所述洪泛树中。然后,将每个与所述根节点连接的节点连接的节点(例如,连接到所述第一级节点的第二级节点)添加到所述洪泛树中。该过程一直持续到所有节点以及相应的链路都添加到所述洪泛拓扑中。
图6是构造洪泛拓扑219和/或319等的另一种示例性方法600的流程图。相应地,节点111、211、212、213、311、312和/或400可以执行方法600。方法600是用于使用初始包含节点R的候选队列和初始为空的洪泛拓扑Ft,从根节点R构建树的一种机制。方法600包括方框601、603、605、607、609和611,分别与方框501、503、505、507、509和511基本类似。方法600还包括与方框513类似的方框613。然而,方框613将方框611中的节点Xi添加到所述候选队列的末尾,而不是所述候选队列的开头。方法600可以在对节点Xi进行排序时考虑此节点是否支持LSFR,方法600也可以不考虑LSFR能力而运行(例如,与方法500基本类似的方法)。
相应的,方法600基本上类似于方法500,但洪泛树生长不同。具体地,所述树从所述根节点的第一分支增长,直至将与所述第一分支连接的所有节点添加到所述洪泛拓扑中。然后,将从所述根节点附加到所述第二个分支的节点(尚未添加)添加到所述洪泛拓扑中,以此类推。如果考虑LSFR能力,根据方框611处的排序,仍然可以将不能LSFR的节点放置在所述序列后面。
图7是构造洪泛拓扑219和/或319等的另一种示例性方法700的流程图。相应地,方法700由节点111、211、212、213、311、312和/或400使用。方法700是用于使用初始包含节点R的候选队列和初始为空的洪泛拓扑Ft,从根节点R构建树的一种机制。方法700包括方框701、703、705、707和709,分别与方框501、503、505、507和509基本类似。方法700还包括分别类似于方框511和513的方框711和713。然而,方框711和713根据所述洪泛拓扑中返回到根节点的成本而不是根据ID或根据返回到上一节点的成本对候选队列中的节点Xi进行排序。
具体地,方框711中,确定在方框705处耦合到添加到所述洪泛拓扑中的最后一个节点的每个节点Xi到根节点的最低成本。在考虑LSFR能力的示例中,可以增加遍历不支持LSFR的节点的路由的成本,以确保在没有完整的支持LSFR的路径可用时,不使用此路由和/或仅在洪泛拓扑上使用此路由。与添加到所述洪泛拓扑中的最后一个节点耦合的节点Xi添加到所述候选队列中,同时将相关最短成本返回到所述根节点。由于节点Xi在所述洪泛拓扑已与另一节点连接,在上一个迭代期间,节点Xi先前已包括在所述候选队列中,将到根节点的新成本与到根节点之前的成本进行比较。如果新成本小于之前的成本,则更新当前成本。这种方法使得在每次迭代期间,根据返回到根节点的最低成本考虑候选队列中的每个节点。然后,按返回到所述根节点的成本和/或根据接口/节点/链路ID对所述候选队列进行排序。
相应的,方法700基本上类似于方法500,但洪泛树生长不同。例如,方法700的所述洪泛拓扑按回到根节点成本最低的顺序添加节点来生长。这种方法使所述洪泛拓扑主要填充最低成本路径。此外,将最低成本路径放置在所述洪泛拓扑中,使得此路径使用最大数量的链路状态流量。相应地,要么不使用高成本路径,要么所述洪泛拓扑包括高成本路径,仅作为确保全联通性的最后手段。因此,为了最少的链路状态流量,使用此较高成本路径和/或遍历不支持LSFR设备的路径。
使用根据方法500、600和700等生成的洪泛拓扑可能导致某些问题。例如,所述网络发生变化时,特别是多个链路或节点失效时,可以使用某些机制确保网络中的每个节点在短时间内获得一个完整的洪泛拓扑。解决此问题的一种方法是使节点维护/计算一个冗余洪泛拓扑。所述冗余洪泛拓扑可以包括用于洪泛改变的不包括失效链路或节点的基本洪泛拓扑。此外,所述冗余洪泛拓扑可包括链路或节点失效以及多个链路或节点失效的信息(例如洪泛路径)。另一种可以使用的机制是对根节点进行更改的机制。例如,当节点X发现用于计算洪泛树的所述根节点R失效或不可达时,节点X根据节点ID最小/最大的节点等规则选择新的根节点R。然后,所述节点X计算如上所述的洪泛树,并根据所述洪泛树(例如,立即)构造所述洪泛拓扑。此外,当新节点增加到已有拓扑中并且可达时,所述节点X可以根据根节点选取规则,例如新增节点ID为新的最小/最大节点ID,判断该新节点是否为洪泛树的新根。如果所述新节点是所述新根节点,那么节点X以新节点R为根计算洪泛树,并在预定义时间间隔后,例如5秒,根据该洪泛树构造所述洪泛拓扑。
图8是一种可以在IGP网络100、200和/或300等中使用的示例性洪泛机制800的示意图。所述洪泛机制800结合第一节点813进行使用,所述第一节点813可以是使用洪泛拓扑219和/或319等的IGP网络中的任何节点(例如,节点111、211、212、213、311、312和/或400)。例如,所述洪泛拓扑可以根据方法500、600和/或700生成。
出于说明的目的,所述节点813耦合到所述洪泛拓扑外的链路817和所述洪泛拓扑内的链路816。如上所述,通常,节点813从所述洪泛拓扑中接收链路状态信息,并通过耦合到所述洪泛拓扑的其它接口洪泛所述链路状态信息。然而,某些情况下,所述节点813会从所述洪泛拓扑外的链路817接收链路状态信息。例如,所述节点813可以从不支持LSFR的节点处接收链路状态消息821,并在所有接口上洪泛所述链路状态消息821。又例如,所述节点813可以在节点/链路故障时从所述洪泛拓扑之外接收链路状态消息821。相应地,所述节点813可以根据示例采取各种动作。在一个示例中,如果通过所述洪泛拓扑外的链路817接收所述链路状态消息821,那么节点813通过所有附着于所述节点813的其它链路816和817向节点813的邻节点发送链路状态消息823和822,所述其它链路816和817不包括接收所述链路状态消息821的链路817(例如,所述链路状态洪泛遵循真实网络拓扑)。需要注意的是消息822和823是消息821的副本。在另一示例中,如果通过所述洪泛拓扑外的链路817接收所述链路状态消息821,那么所述节点813通过附着于节点813并包含在所述洪泛拓扑中的所有链路816向所述节点813的邻节点发送链路状态消息823。因此,所述节点813可用于通过所述洪泛拓扑外的链路817接收链路状态消息821,并将所述链路状态消息822洪泛到所述洪泛拓扑之外。
图9是发现第二新节点914时第一节点913使用的一种示例性性洪泛机制900的示意图。洪泛机制900可用于IGP网络100、200和/或300等中。所述洪泛机制900结合节点913进行使用,所述节点913可以是使用洪泛拓扑219和/或319等的IGP网络中的任何节点(例如,节点111、211、212、213、311、312和/或400)。例如,所述洪泛拓扑可以根据方法500、600和/或700生成。发现所述新节点914时,洪泛机制900可以和洪泛机制800一起使用。
机制900示出了新节点914连接到节点913时用于调整链路状态洪泛的方法,所述节点913表示为已经在所述网络上运行的第一节点913。当所述第一节点913与所述新连接的新节点914建立邻接时,可以触发机制900。如图所示,所述新连接的新节点914通过链路919与所述第一节点913直连。所述第一节点913假设所述新节点914通过相应的链路919耦合到所述洪泛拓扑中直到可以重新构造所述洪泛拓扑(例如在网络发生变化之后)。因此,链路919在所述第一节点913的存储器中临时标记为洪泛拓扑链路。相应地,所述链路919用于将所述新连接的新节点914添加到所述洪泛拓扑中的链路树中,直到重新计算所述洪泛拓扑。将所述新节点914添加到所述洪泛拓扑之后,所述第一节点913可以通过所述洪泛拓扑中的链路916接收链路状态消息921。然后,所述第一节点913可通过所述洪泛拓扑链路916和链路919向所述新节点914转发所述链路状态消息922(消息921的副本)。所述链路状态消息921可能不会转发到洪泛拓扑外的链路917中。
图10是在发现节点故障时(例如,失效)使用的一种示例性洪泛机制1000的示意图。所述洪泛机制1000在IGP网络100、200、和/或300等中运行。所述洪泛机制1000结合第一节点1013进行描述,所述第一节点1013可以是IGP网络中使用洪泛拓扑219和/或319等的任何节点(例如,节点111、211、212、213、311、312和/或400)。例如,这种洪泛拓扑可以根据方法500、600和/或700生成。失效节点1031故障时,洪泛机制1000可以和洪泛机制800和/或900一起使用。
如图所示,机制1000在IGP网络中与链路1017和洪泛拓扑链路1016连接的节点1011、根节点1012和第一节点1013上运行,所述节点1011、根节点1012和第一节点1013、所述链路1017和洪泛拓扑链路1016分别与节点211、根节点212、第一节点213、链路217和洪泛拓扑链路216基本类似。机制1000可以在任何节点上运行,并且为了讨论清楚,从第一节点1013的角度示出。当第一节点1013通过洪泛拓扑链路1016从邻节点1033接收新链路状态消息1021时,可以启动机制1000。所述链路状态消息1021指示所述失效节点1031异常。所述失效节点1031与节点1033为邻节点,所述节点1033也是所述第一节点1013的邻节点。所述失效节点1031是节点1034的邻节点,而所述节点1034不是所述第一节点1013的邻节点。
从洪泛拓扑链路1016接收到所述链路状态消息1021时,所述第一节点1013通过所述洪泛拓扑链路1016向所述第一节点1013的邻节点发送链路状态消息1022(消息1021的副本),所述洪泛拓扑链路1016不包括接收所述链路状态消息1021的所述洪泛拓扑链路1016。这样确保了所述新链路状态消息1021在所述洪泛拓扑上正确转发。所述第一节点1013还向所述节点1033发送链路状态消息1023(消息1021的另一副本),所述节点1033与所述第一节点1013和所述失效节点1031相邻。即使所述洪泛拓扑中不包括链路1017,也通过将第一节点1013附加到所述节点1033的链路1017发送所述链路状态消息1023。所述机制1000认为邻节点1033依赖所述失效节点1031获取链路状态消息1021。因此,所述第一节点1013通知失效节点1031的邻节点1033,确保所述链路状态消息1021传播到此节点1033。因为所述节点1034不是所述第一节点1013的邻节点,所述第一节点1013可以不向所述失效节点1031的其他邻节点1034转发所述链路状态消息1021。所述机制依赖节点1034的邻节点通知节点1034失效节点1031无法运行。该方法防止失效节点1031故障时网络中的每个节点无法与所有其他节点联系。
这样,所述第一节点1013可接收指示所述网络中的第二失效节点1031失效的链路状态消息1021(例如,用于区别于本文讨论的其他链路状态消息的第三链路状态消息)。然后,所述第一节点1013可以将链路状态消息1021洪泛到所述洪泛拓扑外的并连接所述第一节点1013和所述失效节点1031的邻节点1033的链路1017。
图11是在发现节点故障(例如,失效)时使用的另一种示例性洪泛机制1100的示意图。所述洪泛机制1100在IGP网络100、200和/或300等中运行。所述洪泛机制1100结合第一节点1113进行描述,所述第一节点1113可以是IGP网络中使用洪泛拓扑219和/或319等的任何节点(例如,节点111、211、212、213、311、312和/或400)。例如,所述洪泛拓扑可以根据方法500、600和/或700生成。失效节点1131故障时,洪泛机制1100可以和洪泛机制800和/或900一起使用。
如图所示,机制1100在IGP网络中与链路1117和洪泛拓扑链路1116连接的节点1111、根节点1112和第一节点1113上运行,所述节点1111、根节点1112和第一节点1113、所述链路1117和洪泛拓扑链路1116分别与节点1011、根节点1012、第一节点1013、链路1017和洪泛拓扑链路1016基本类似。此外,失效节点1131的故障,与失效节点1031类似。所述网络还包括与所述第一节点1113和失效节点1131相邻的节点1133,以及与所述第一节点1113不是邻节点而与所述失效节点1031为邻节点的节点1134。
机制1100与机制1000类似,当第一节点1113通过所述洪泛拓扑外的链路1117从邻节点接收新链路状态消息1121时,使用机制1100。所述链路状态消息1121包含指示所述失效节点1131失效/故障的信息。在一个示例中,所述第一节点1113通过所有的链路1116和1117向所有与第一节点1113连接的邻节点发送所述链路状态消息1121,所述链路1116和1117不包括接收所述链路状态消息1121的链路1117。这种响应基本上类似于机制800,使所述链路状态消息1121遵循真实网络拓扑洪泛。该示例假设所述第一节点1113未在所述洪泛拓扑上正确接收所述链路状态消息,采取行动确保所述链路状态消息1121尽可能广泛地传输。
在另一示例中,所述第一节点1113通过所述洪泛拓扑链路1116洪泛所述链路状态消息1122(消息1121的副本)。所述第一节点1113还通过在所述洪泛拓扑之外的链路1117将链路状态消息1122洪泛到与第一节点1113和失效节点1131都相邻的节点1133。所述链路状态消息1122不需要在接收所述链路状态消息1121的链路1117上转发回来。此外,因为所述节点1134不是所述第一节点1113的邻节点,所述第一节点1113可以不将所述链路状态消息1121转发给所述失效节点1131的其余邻节点1134。此示例侧重于沿所述洪泛拓扑转发链路状态信息,并向所述失效节点1131的邻节点通知故障。
在任一示例中,所述第一节点1113接收指示所述网络中的第二失效节点1131失效的链路状态消息1121(例如,用于区别于本文讨论的其他链路状态消息的第三链路状态消息)。然后,所述第一节点1113可以将所述链路状态消息1122洪泛到所述洪泛拓扑外的并连接所述第一节点1113与失效节点1131的邻节点1133的链路1117。
图12是在发现链路1231故障(例如,失效)时使用的一种示例性洪泛机制1200的示意图。所述洪泛机制1200在IGP网络100、200和/或300等中运行。所述洪泛机制1200结合第一节点1213进行描述,所述第一节点1213可以是IGP网络中使用洪泛拓扑219和/或319等的任何节点(例如,节点111、211、212、213、311、312和/或400)。例如,所述洪泛拓扑可以根据方法500、600和/或700生成。当链路1231失效/故障时,洪泛机制1200可以与洪泛机制800、900、1000和/或1100一起使用。
如图所示,机制1200在IGP网络中与链路1217和洪泛拓扑链路1216连接的节点1211、根节点1212和第一节点1213上运行,所述节点1211、根节点1212和第一节点1213、所述链路1217和洪泛拓扑链路1216分别与节点1011、根节点1012、第一节点1013、链路1017和洪泛拓扑链路1016基本类似。此外,失效链路1231故障。节点1232通过所述失效链路1231耦合到所述第一节点1213。节点1233与所述第一节点1213与所述失效链路1231的邻节点1232都是邻节点。节点1234是所述节点1232(与失效链路相邻)的邻节点,但不是所述第一节点1213的邻节点。
所述第一节点1213从邻节点(此时为根节点1212)通过链路(此时为洪泛拓扑链路1216)接收较新的链路状态消息1221时,发现链路1231已失效。所述第一节点1213首先检查以确定所述失效链路1231是否在所述洪泛拓扑上。如果所述失效链路1231不在所述洪泛拓扑上,所述失效链路1231不会影响链路状态洪泛,除了在所述洪泛拓扑上转发所述链路状态消息1222(消息1221的副本)之外,不需要采取任何动作。在所示的示例中,所述失效链路1231在所述洪泛拓扑上,因此所述第一节点1213继续检查所述失效链路1231是否在所述第一节点1213的邻接口上。如果所述失效链路1231不在邻接口上,所述第一节点1213可以使失效链路1231相邻的节点处理任意信令,除了在所述洪泛拓扑上转发所述链路状态消息1222之外,不能采取任何动作。该方法避免了发现失效链路1231时网络中的每个节点都发送信令。在所示的示例中,所述失效链路1231与所述第一节点1213相邻,因此第一节点1213具有信令合理性,确保可依赖所述失效链路1231的节点继续接收链路状态信息,直到可以重新计算洪泛拓扑。此时,所述第一节点1213将所述洪泛拓扑上的链路状态消息1222发送到除接收所述链路状态消息1221的洪泛拓扑链路1216的每个洪泛拓扑链路1216。此外,所述第一节点1213通过所述洪泛拓扑外的链路1217发送所述链路状态消息1223(消息1221的另一副本),以按需联系与所述第一节点1213和与所述失效链路1231相邻的节点1232都相邻的节点1233。此外,因为所述节点1234不是所述第一节点1213的邻节点,所述第一节点1213可以不向所述节点1232的其余邻节点1234转发所述链路状态消息1221。所述方法使潜在依赖所述失效链路1231接收所述链路状态信息的节点1233继续接收类所述链路状态信息,即使在洪泛拓扑分裂时。
因此,使用机制1200,所述第一节点1213能够接收指示所述网络中的链路1231(例如,第一链路)失效的链路状态消息1221(例如,用于区别于本文讨论的其他链路状态消息的第四链路状态消息)。所述第一节点1213能够确定所述第一链路1213在所述洪泛拓扑中,且所述第一链路1231与所述第一节点1213连接。然后,根据所述确定,所述第一节点1213可以将所述链路状态消息1221发送到链路1216和/或1217,所述链路1216和/或1217连接所述第一链路相邻的节点1232连接的领节点。
应当注意的是,现有/旧的洪泛拓扑上的链路1231失效或节点失效时(例如,如机制1000和1100中讨论的),随后不久将生成新的洪泛拓扑。所述机制1000、1100和/或1200使所述现有洪泛拓扑继续运行,直到计算出所述新的洪泛拓扑并由所述节点使用。当链路或节点失效时,只要所述网络拓扑没有因故障分裂为多个单独的洪泛拓扑,上述机制1000、1100和1200可以使所述网络继续运行。关键接口可以保存在存储器中,以处理下面讨论的场景。
图13是所述洪泛拓扑1319中具有关键接口1335的示例性IGP网络1300的示意图。所述IGP网络1300基本上类似于IGP网络100、200和/或300。所述IGP网络1300包括节点1311和根节点1312,类似于节点111、211、212、213、311、312和/或400。所述IGP网络1300中的洪泛拓扑1319可以类似于洪泛拓扑219和/或319。例如,所述洪泛拓扑1319可以根据方法500、600和/或700生成。所述节点1311和根节点1312可以使用洪泛机制800、900、1000、1100和/或1200。
计算所述洪泛拓扑1319时,所述节点1311和根节点1312保持对所述洪泛拓扑1319中的任何关键接口1335的感知。关键接口1335是所述洪泛拓扑1319上的任何接口(例如,链路或节点),如果移除,所述洪泛拓扑1319就会断开为两个或多个不连接的链路拓扑。在所示示例中,所述洪泛拓扑1319包含多个洪泛拓扑链路环路。当移除环路中的洪泛拓扑链路时,所述洪泛拓扑1319仍可以通过环路中未损坏部分将链路状态信息转发给所述环路上的所有节点。因此,这些链路不是关键接口。但是,如果不在所述洪泛拓扑1319中移除关键接口1335,所述洪泛拓扑1319就会断开为第一树1341和第二树1342。在所述关键接口1335不存在的情况下,由于洪泛拓扑1319中没有链路连接这两棵树,所述第一树1341和第二树1342无法传输链路状态信息。
在计算洪泛拓扑1319过程中/之后,可以在每个节点1311/1312处确定所述关键接口1335,并将其保存在存储器中。如上所述,可以添加更多叶子链路来减少关键接口1335的数量。当关键接口1335相关的链路或节点故障时,所述节点1311/1312(在通过链路状态消息通知所述故障时)可以恢复所有接口上的洪泛链路状态消息,直到可以生成新的洪泛拓扑1319以解决所述关键接口的失效,重连所有节点1311/1312。
因此,节点1312/1311可确定关键接口1335,关键接口1335是会导致所述洪泛拓扑1319分裂的链路或节点。所述节点1312/1311可以在关键接口1335失效时不继续使用所述洪泛拓扑1319。
图14是用于指示节点支持LSFR的一种示例性OSPF v2编码1400的示意图。例如,IGP网络100、200、300和/或1300等中的节点111、211、212、213、311、312、400、1311、1312和/或1333等可以使用编码1400来指示节点是否支持LSFR。例如,此信息可以在其他节点基于方法500、600和/或700等构造洪泛拓扑时使用。使用LSFR的OSPF v2节点使用编码1400,也可以使用洪泛机制800、900、1000、1100和/或1200。
编码1400可用于将LSFR合并到兼容OSPF v2的IGP网络中。具体地,编码1400可以包含在OSPF v2 LSA中。编码1400包括LS年龄字段1401,所述LS年龄字段1401设置为指示自所述LSA生成的时间(例如,以秒为单位)。所述LS年龄字段1401的长度可以是16比特,可以为比特0到比特15。编码1400还包括可选字段1402,所述可选字段1402可包含指示LSA描述的IGP网络中的路由域所支持的可选能力的数据。所述可选字段1402的长度可以是8比特,可以为比特16到比特23。编码1400还包括LS类型字段1403,所述LS类型字段1403可设置为指示所述LSA的类型。例如,所述LS类型字段1403可以设置为1,指示所述LSA是路由器(例如,节点)LSA。所述LS类型字段1403的长度可以是8比特,可以为比特24到比特31。所述编码1400还包括链路状态ID字段1404,所述链路状态ID字段1404包括LSA描述的标识所述互联网环境部分的数据。例如,所述链路状态ID字段1404可以设置为指示LSA描述的路由器接口的收集状态。所述链路状态ID字段1404的长度可以是32比特,可以为比特0到比特31。所述编码1400还包括通告路由器字段1405,所述通告路由器字段1405包含生成所述LSA的路由器的路由器ID。所述通告路由器字段1405的长度可以是32比特,可以为比特0到比特31。所述编码1400还包括LS序列号字段1406,所述LS序列号字段1406包含用于标识所述LSA的数据。所述LS序列号字段1406的数据可用于检测旧的或重复的LSA。所述LS序列号字段1406的长度可以是32比特,可以为比特0到比特31。所述编码1400还包括LS校验和字段1407,所述LS校验和字段包含支持错误检查的校验和数据。所述LS校验和字段1407的长度可以是16比特,可以为比特0到比特15。所述编码1400还包括LS长度字段1408,所述LS长度字段1408包含指示所述LSA的长度(以字节为单位)的数据。所述LS长度字段1408的长度可以是16比特,可以为比特16到比特31。
所述编码1400还包括各种标志,用于指示生成LSA的路由器的各种特征。所述编码可以包括位于比特位置5的虚拟(virtual,V)标志1421,所述虚拟标志1421可以设置为指示何时所述路由器是一个或多个邻虚拟链路的端点。所述编码还可以包括位于比特位置6的外部(external,E)标志1422,所述外部标志1422可以设置为指示何时所述路由器是自治系统边界路由器。所述编码还可以包括位于比特位置7的边界(border,B)标志1423,所述边界标志1423可以设置为指示何时所述路由器是边界区域路由器。
所述编码1400还包括F标志1431。所述F标志1431的长度可以是1比特,并且可以位于比特位置8。所述F标志1431可以设置为(例如,设置为1)指示生成所述LSA的路由器支持洪泛减少(例如,根据本文讨论的LSFR机制)。所述F标志1431的比特位置也可以默认不设置(例如,设置为0),以便接收所述LSA的路由器可以识别不支持LSFR的路由器。这样,所述编码1400使链路状态消息包含F标志,所述F标志设置为指示所述网络中节点,所述节点通过洪泛拓扑支持链路状态洪泛减少。
所述编码1400还包括若干链路字段1409,所述链路字段1409指示所述LSA描述的链路数量。所述链路字段1409的长度可以是16比特,可以为比特位置16到比特位置31。所述编码1400还包括LSA描述的每个链路的链路ID字段1410。所述链路ID字段1410包括标识相应链路连接对象(例如,节点)的ID。所述链路ID字段1410的长度可以是32比特,可以为比特0到比特31。所述编码1400还包括LSA描述的每个链路的链路数据字段1411。所述链路数据字段1411包括相应链路/接口相关的地址信息(例如,IP地址信息)。所述链路数据字段1411的长度可以是32比特,可以为比特0到比特31。
所述编码1400还包括LSA描述的每个链路的类型字段1412。所述类型字段1412包含描述路由器链路的数据。所述类型字段1412的长度可以是8比特,可以为比特0到比特7。所述编码1400还包括LSA描述的每个链路的若干服务类型(type of service,ToS)字段1413。所述ToS字段1413指示LSA中包括的相应链路的若干ToS指标。所述ToS字段1413的长度可以是8比特,可以为比特8到比特15。所述编码1400还包括指标字段1414,所述指标字段1414包括使用所述相应链路的成本(例如,路由成本/时延等)。所述指标字段1414的长度可以是16比特,可以为比特16到比特31。所述编码1400还可包括ToS字段1415和ToS指标字段1416,指示与相应链路相关联的ToS信息。所述ToS字段1415指示ToS指标字段1416所参考的业务类型,其长度可以是8比特,可以为比特位置0到比特位置7。所述ToS度量字段1416可以指示所述链路的ToS具体信息,其长度可以是16比特,可以为比特16到比特31。
图15是用于指示节点支持LSFR的一种示例性OSPF v3编码1500的示意图。例如,IGP网络100、200、300和/或1300等中的节点111、211、212、213、311、312、400、1311、1312和/或1333等可以使用编码1500来指示节点是否支持LSFR。例如,此信息可以在其他节点基于方法500、600和/或700等构造洪泛拓扑时使用。使用LSFR的OSPF v3节点使用编码1500,也可以使用洪泛机制800、900、1000、1100和/或1200。
编码1500可用于将LSFR合并到兼容OSPF v3的IGP网络中。具体地,编码1500可以包含在OSPF v3 LSA中。所述编码1500可以包括LS年龄字段1501、LS类型字段1503、链路状态ID字段1504、通告路由器字段1505、LS序号字段1506、LS校验和字段1507和LS长度字段1508,分别与LS年龄字段1401、LS类型字段1403、链路状态ID字段1404、通告路由器字段1405、LS序列号字段1406、LS校验和字段1407和LS长度字段1408基本类似。与LS类型字段1403不同,LS类型字段1503的长度为16比特,可以为比特位置16到比特位置31。
所述编码1500还包括可选字段1509,所述可选字段1509可以设置为指示生成LSA的路由器支持的可选能力。所述可选字段1509的长度可以是32比特,可以为比特0到比特31。所述可选字段1509还包括各种标志,用于指示生成所述LSA的路由器的各种特征。所述可选字段1509可以包括V标志1521、E标志1522和B标志1523,分别与V标志1421、E标志1422和B标志1423基本类似。所述可选字段1509还可以包括通配(wildcard,W)标志1524,所述通配标志1524可以设置为指示生成所述LSA的路由器是通配组播接收器。所述W标志1524的长度可以是1比特,可以位于比特位置4。
所述可选字段1509还包括F标志1531。所述F标志1531的长度可以是1比特,可以位于比特位置8。所述F标志1531可以设置为(例如,设置为1)指示生成所述LSA的路由器支持洪泛减少(例如,根据本文讨论的LSFR机制)。所述F标志1531的比特位置也可以默认不设置(例如,设置为0),以便接收所述LSA的路由器可以识别不支持LSFR的路由器。这样,所述编码1500使链路状态消息包含F标志,所述F标志设置为指示所述网络中节点,所述节点通过洪泛拓扑支持链路状态洪泛减少。
所述编码1500还可包括LSA描述的每个链路的类型字段1512和指标字段1514。所述类型字段1512和指标字段1514,分别与类型字段1412和指标字段1414基本类似。所述编码1500还可包括LSA中描述的每个链路的接口ID字段1510、邻接口ID字段1515和相邻路由器ID字段1516。所述接口ID字段1510、邻接口ID字段1515和相邻路由器ID字段1516的长度均为32比特,都可以为比特位置0到比特位置31。所述接口ID字段1510指示分配给所述接口(例如,链路)的ID。所述邻接口ID字段1515指示耦合到所述链路的相邻路由器的接口ID。所述相邻路由器ID字段1516指示耦合到所述链路的相邻路由器的路由器ID。
图16是用于指示节点支持LSFR的一种示例性IS-IS编码1600的示意图。例如,IGP网络100、200、300和/或1300等中的节点111、211、212、213、311、312、400、1311、1312和/或1333等可以使用所述IS-IS编码1600指示所述节点是否支持LSFR。例如,此信息可以在其他节点基于方法500、600和/或700等构造洪泛拓扑时使用。使用LSFR的IS-IS节点使用编码1600,也可以使用洪泛机制800、900、1000、1100和/或1200。
编码1600可用于将LSFR合并到兼容IS-IS的IGP网络中。具体地,编码1600可以作为TLV包含在IS-IS LSP中。所述编码1600包括类型字段1601,所述类型字段1601设置为指示所述编码是可以TLV的IS-IS路由器。例如,所述类型字段1601的长度可以是8比特,可以为比特位置0到比特位置7,可以设置为242。所述编码1600包括长度字段1602,所述长度字段的长度可以是8比特,可以为比特位置8到比特位置15,并且可以设置为指示所述TLV的长度。所述长度字段1602可以设置为介于5和255之间的值。所述编码1600还包括路由器ID字段1603,所述路由器ID字段1603的长度为32或48比特,可以为比特位置16到比特位置15或31,包含发起所述链路状态消息的路由器的ID。所述编码1600还包括一组标志1605,所述标志1605指示发起所述链路状态消息的所述路由器的能力。所述标志1605的长度可以是8比特,可以为比特16到比特23。所述标志1605包括解环(de-looping,简称D)标志1621,所述解环标志1621可位于比特位置22,以设置为指示所述TLV是否可以在IS-IS系统中的级之间泄漏。所述标志1605还包括设置(set,S)标志1622,所述设置标志1622可位于比特位置23,可设置为指示所述TLV是在所述整个IS-IS网络域中洪泛还是所述TLV包含特定的IS-IS网络级。
所述标志1605还包括F标志1631,所述F标志1631可位于比特位置21。所述F标志1631可以设置为(例如,设置为1)指示生成所述LSA的路由器支持洪泛减少(例如,根据本文讨论的LSFR机制)。所述F标志1631的比特位置也可以默认不设置(例如,设置为0),以便接收所述LSP的路由器可以识别不支持LSFR的路由器。因此,所述编码1600使链路状态消息包含F标志,所述F标志设置为指示所述网络中节点,所述节点通过洪泛拓扑支持链路状态洪泛减少。
所述编码1600还可以包括一个或多个可选子TLV1606,所述可选子TLV1606包含LSP相关的附加信息。
图17是用于在IGP网络中管理LSFR的一种示例性LSFR控制TLV编码1700的示意图。例如,IGP网络100、200、300和/或1300等中的节点111、211、212、213、311、312、400、1311、1312和/或1333可以接收LSFR控制TLV编码1700控制LSFR在网络中的实施。具体地,所述LSFR控制TLV编码1700可以使用户/系统管理员选择和/或切换LSFR及相关洪泛拓扑的运行模式。例如与编码1400、1500和/或1600一样,所述LSFR控制TLV编码1700可用作链路状态消息的一部分。例如,此信息可以在其他节点基于方法500、600和/或700等构造洪泛拓扑时进行使用。在使用LSFR洪泛机制800、900、1000、1100和/或1200时,LSFR控制TLV编码1700也可以指示所述节点。
所述LSFR控制TLV编码1700使用信息TLV类型字段1701,所述信息TLV类型字段1701可以包括识别TLV为LSFR控制TLV的数据。所述TLV类型字段1701的长度可以是16比特,可以为比特位置0到比特位置15。所述LSFR控制TLV编码1700还使用TLV长度字段1702,所述TLV长度字段1702包括指示所述LSFR控制TLV的长度的数据。所述TLV长度字段1702的长度可以是16比特,可以为比特位置16到比特位置31。
所述LSFR控制TLV编码1700还使用操作(OP)字段1731,所述操作字段1731的长度可以是3比特,可以为比特位置0到比特位置2。所述OP字段1731可用于选择和/或更改支持LSFR的节点的LSFR运行模式。所述OP字段1731可以包含指示节点应执行洪泛减少的数据或者可以包含指示节点应回滚到正常洪泛而无需使用洪泛拓扑的数据。因此,所述LSFR控制TLV编码1700使链路状态消息包含OP字段,所述OP字段设置为从全网络洪泛切换到链路状态洪泛减少。例如,用户/系统管理员可以根据需要使用所述OP字段1731打开和/或关闭LSFR。
所述LSFR控制TLV编码1700还使用模式(MOD)字段1732,所述模式字段1732的长度可以是3比特,可以为比特位置3到比特位置5。LSFR可包括三种模式:集中式模式、分布式模式和静态配置模式,所述MOD字段1732可用于指示模式之间的切换。例如,所述MOD字段1732可设置为集中式模式以指示所述IGP网络选择主节点和/或从节点。然后,主节点计算所述洪泛拓扑,并将所述洪泛拓扑洪泛到所述其他节点。每个节点都从所述主节点接收并使用所述洪泛拓扑。所述MOD字段1732还可设置为分布式模式以指示所述IGP网络中的所有节点使用如上所述的通用算法计算洪泛拓扑。所述MOD字段1732也可设置为静态配置模式以指示所述IGP网络中的所述节点使用配置的洪泛拓扑。因此,所述LSFR控制TLV编码1700使链路状态消息包含MOD字段1732,所述MOD字段1732设置为指示集中式链路状态洪泛减少、分布式链路状态洪泛减少或静态配置链路状态洪泛减少。
所述LSFR控制TLV编码1700还使用算法字段1733,所述算法字段1733的长度可以是8比特,可以为比特位置6到比特位置13。所述算法字段1733可包含指示计算集中式和/或分布式模式下节点使用的洪泛拓扑的算法(例如,方法500、600和/或700)的数据。因此,所述LSFR控制TLV编码1700使链路状态消息包含算法字段1733,所述算法字段1733设置为指示建立所述洪泛拓扑中所述链路树的算法。
所述编码1700还可包括一个或多个包含与LSFR实现相关的附加信息的可选子TLV1706。
图18是用于集中式LSFR与分布式LSFR集成的一种示例性TLV编码1800的示意图。具体地,例如,当所述MOD字段1732设置为集中式模式时,所述TLV编码1800可与LSFR控制TLV编码1700结合使用。所述TLV编码1800包括信息TLV类型字段1801和TLV长度字段1802,分别与信息TLV类型字段1701和TLV长度字段1702基本类似。所述TLV编码1800还包括优先级字段1803,所述优先级字段1803的长度可以是8比特,可以为比特位置0到比特位置7。所述优先级字段1803可用于指示节点的优先级,所述节点生成TLV在中心模式下成为主节点。所述编码1800还可以包括一个或多个包含LSFR实现的相关附加信息的可选子TLV1806。所述子TLV1806可包括主子TLV和/或从子TLV,分别包括选择主节点和/或从节点的方法/算法。
图19是用于在IGP网络中运行LSFR机制的一种示例性方法1900的流程图。例如,方法1900可以由IGP网络100、200、300和/或1300等中的节点111、211、212、213、311、312、400、1311、1312和/或1333等使用。方法1900可用于OSPF和/或IGP网络中,因此可以与编码1400、1500和/或1600结合使用。方法1900可用于使用方法500、600和/或700构造洪泛拓扑。方法1900还可使用洪泛机制800、900、1000、1100和/或1200等。方法1900还可以通过接收LSFR控制TLV编码1700来启动。
所述方法1900可以在IGP网络中的任一节点上实施,为了讨论清楚,将其表示为第一节点。方框1901中,在所述第一节点处接收指示所述网络中多个节点的连通性的数据。这些数据包括链路状态数据,可以根据OSPF LSA或IS-IS LSP等链路状态消息的通用洪泛接收这些数据。
方框1903中,所述第一节点(和所述网络中所有节点)根据所述连通性构造洪泛拓扑。选择所述网络节点中的一个作为根节点,建立连接所述根节点到所述网络中其它节点的洪泛拓扑链路树,就可以构造所述洪泛拓扑。例如,方框1903中,使用方法500、600和/或700就可以构造洪泛拓扑。可以周期性地,和/或发生链路/节点故障、关键接口故障等情况时构造洪泛拓扑。如上所述,所述洪泛拓扑可以根据所述节点的LSFR能力来构造,例如,根据使用F标记的链路状态消息所通告的消息来构造。此外,所述第一节点(和所有节点)可以根据LSFR控制TLV编码1700(例如,在链路状态消息中)中指示的算法来构造所述洪泛拓扑。
可选方框1905中,所述第一节点可以接收指定要添加到所述树中若干叶子链路的请求。所述请求可以是包括在用户/网络管理员发起的链路状态消息中的TLV。如果收到请求,所述第一节点(和网络中的所有节点)将所述请求指定的若干叶子链路添加到所述洪泛拓扑中。例如,结合上文图3所讨论的,将所述叶子链路添加到所述网络中节点之间。例如,可以为了减少关键接口数而增加叶子链路,可以根据链路ID/接口ID/节点ID等增加叶子链路。在添加这些叶子链路之前,所述洪泛拓扑中的所述链路树可包含最小数量的连接所述网络中节点与所述根节点的链路。所述叶子链路可以以略微增加冗余链路状态消息的传输为代价,提高所述洪泛拓扑的可靠性。
方框1907中,所述第一节点在存储器中存储所述洪泛拓扑,不将所述洪泛拓扑传输到所述网络中的所述其余节点中。该方法确保了每个节点上都根据预选的算法创建了所述洪泛拓扑,反过来减少了洪泛拓扑相关的链路状态消息洪泛。
方框1909中,所述第一节点在所述洪泛拓扑上洪泛链路状态消息。此外,所述第一节点不在所述洪泛拓扑之外洪泛链路状态消息。
可选方框1911中,所述第一节点可以根据链路/节点状态变化改变洪泛进程。例如,所述第一节点可以根据网络发生变化的类型使用洪泛机制800、900、1000、1100和/或1200。在具体示例中,所述第一节点可以从新连接节点接收第一链路状态消息,所述新连接节点与所述第一节点通过链路直连。然后,所述第一个节点可以将新连接节点添加到所述洪泛拓扑中的所述链路树中,直到重新计算所述洪泛拓扑。又例如,所述第一节点可以通过所述洪泛拓扑外的链路接收第二链路状态消息。然后,所述第一节点可以在所述洪泛拓扑之外洪泛所述第二链路状态消息。又例如,所述第一节点可以接收指示所述网络中的第二节点失效的第三链路状态消息。然后,所述第一节点可以将所述第三链路状态消息洪泛到所述洪泛拓扑外的并连接第一节点和第二节点的邻节点的链路中。又例如,所述第一节点可以接收指示网络中的第一链路失效的第四链路状态消息。所述第一节点能够确定所述第一链路在所述洪泛拓扑中,且所述第一链路与所述第一节点连接。根据所述确定,所述第一节点可以将所述第四链路状态消息发送到连接邻节点的链路,所述邻节点也连接所述第一链路相邻的节点。又例如,所述第一节点可以确定所述网络中的关键接口,关键接口指其故障会导致所述洪泛拓扑分裂的链路或节点。当关键接口失效时,所述第一节点可以不继续使用所述洪泛拓扑。
图20是用于在IGP网络中运行LSFR机制的设备2000的实施例。例如,设备2000可用于实现方法1900。此外,设备2000可用作IGP网络100、200,300和/或1300等中的节点111、211、212、213、311、312、400、1311、1312和/或1333等。设备2000可用于OSPF和/或IGP网络中,因此可以与编码1400、1500和/或1600结合使用。设备2000可用于使用方法500、600和/或700构造洪泛拓扑。设备2000还可使用洪泛机制800、900、1000、1100和/或1200等。还可以通过接收LSFR控制TLV编码1700来控制设备2000。
所述设备2000包括接收模块2001,是用于接收指示包括所述第一节点的所述网络中多个节点的连通性的数据的装置。所述设备2000包括洪泛拓扑构造模块2003,是用于根据所述连通性通过选择所述节点中的一个作为根节点,构建连接所述根节点和所述网络中节点的链路树来构造洪泛拓扑的装置。所述设备2000包括存储模块2005,是用于存储所述洪泛拓扑,不需要将所述洪泛拓扑传输到所述网络中多个节点的装置。所述设备2000还包括洪泛模块2007,是用于在所述洪泛拓扑上洪泛链路状态消息的装置。
在一个实施例中,网络中的第一节点包括接收装置,用于接收指示包括所述第一节点的所述网络中多个节点的连通性的数据。所述第一节点还包括构造装置,用于所述第一节点的处理器装置根据所述连通性通过选择所述节点中的一个作为根节点,构建连接所述根节点和所述网络中节点的链路树来构造洪泛拓扑,在存储器中存储所述洪泛拓扑,不需要将所述洪泛拓扑传输到所述网络中多个节点,并通过所述洪泛拓扑洪泛链路状态消息。
当第一组件和第二组件之间除了线路、走线或其他介质之外没有其他中间组件时,第一组件直接耦合至第二组件。当所述第一组件和所述第二组件之间存在除了线路、走线或其它介质之外的其他中间组时,所述第一组件间接耦合至所述第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”是指以下描述的数字的±10%。
虽然本公开提供了一些具体实施例,但应当理解,所公开的系统和方法也可通过其它多种具体形式体现,而不会脱离本公开的精神或范围。本发明的实例应视为说明性的而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本公开的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或合并。其它变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。
Claims (30)
1.一种在网络中的第一节点中实现的方法,其特征在于,所述方法包括:
所述第一节点的接收器接收指示包括所述第一节点的所述网络中多个节点的连通性的数据;
所述第一节点的处理器根据所述连通性通过以下方式构造洪泛拓扑:
选择所述节点中的一个作为根节点,
根据接收到的链路状态消息中的算法构建连接所述根节点与所述网络中节点的链路树,其中,所述链路状态消息包含算法字段,所述算法字段设置为指示构建所述链路树的算法;
在存储器中存储所述洪泛拓扑;
所述第一节点的发送器在所述洪泛拓扑上洪泛一个或多个链路状态消息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述接收器接收指定要添加到所述链路树的若干叶子链路的请求;
所述处理器将所述若干叶子链路添加到所述网络中的所述洪泛拓扑。
3.根据权利要求2所述的方法,其特征在于,在添加所述若干叶子链路之前,所述洪泛拓扑中的所述链路树包含最小数量的连接所述网络中节点与所述根节点的链路。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
所述处理器与新连接节点建立邻接,所述新连接节点与所述第一节点通过链路直连;
所述处理器将所述新连接节点添加到所述洪泛拓扑中的所述链路树中,直到重新计算所述洪泛拓扑。
5.根据权利要求1或2所述的方法,其特征在于,还包括:
所述接收器通过所述洪泛拓扑外的链路接收第一链路状态消息;
所述发送器通过所述洪泛拓扑上的链路洪泛所述第一链路状态消息。
6.根据权利要求1或2所述的方法,其特征在于,还包括:
所述接收器接收指示所述网络中的第二节点失效的第二链路状态消息;
所述发送器将所述第二链路状态消息洪泛到连接所述第一节点和所述第二节点的邻节点的链路中。
7.根据权利要求1或2所述的方法,其特征在于,还包括:
所述接收器接收指示所述网络中的第一链路失效的第三链路状态消息;
确定所述第一链路为关键元素;
根据所述确定,将所述第三链路状态消息发送到连接邻节点的链路中,所述邻节点也连接与附着于所述第一链路的节点相邻的节点。
8.根据权利要求1或2所述的方法,其特征在于,还包括:
所述处理器确定关键元素,所述关键元素是指其失效会导致所述洪泛拓扑断开的链路或节点;
当所述关键元素失效时,不继续使用所述洪泛拓扑。
9.根据权利要求1或2所述的方法,其特征在于,所述链路状态消息是开放式最短路径优先OSPF链路状态通告LSA。
10.根据权利要求1或2所述的方法,其特征在于,所述链路状态消息是中间系统到中间系统IS-IS链路状态协议数据单元LSP。
11.根据权利要求1或2所述的方法,其特征在于,所述链路状态消息包含洪泛减少F标志,所述洪泛减少F标志设置为指示所述网络中的节点,所述节点通过所述洪泛拓扑支持链路状态洪泛减少。
12.根据权利要求1或2所述的方法,其特征在于,所述链路状态消息包含模式字段,所述模式字段设置为指示集中式链路状态洪泛减少、分布式链路状态洪泛减少或静态配置链路状态洪泛减少。
13.根据权利要求1或2所述的方法,其特征在于,所述链路状态消息包含操作OP字段,所述OP字段设置为从全网络洪泛切换至链路状态洪泛减少。
14.一种网络中的第一节点,其特征在于,所述第一节点包括:
接收器,用于接收指示包括所述第一节点的所述网络中多个节点的连通性的数据;
与所述接收器耦合的处理器,所述处理器用于:
根据所述连通性通过以下方式构造洪泛拓扑:
选择所述节点中的一个作为根节点,
根据接收到的链路状态消息中的算法构建连接所述根节点与所述网络中节点的链路树,其中,所述链路状态消息包含算法字段,所述算法字段设置为指示构建所述链路树的算法;
与所述处理器耦合的存储器,所述存储器用于存储所述洪泛拓扑;
与所述处理器耦合的发送器,所述发送器用于在所述洪泛拓扑上洪泛一个或多个链路状态消息。
15.根据权利要求14所述的第一节点,其特征在于,所述接收器还用于接收指定要添加到所述链路树中若干叶子链路的请求;所述处理器还用于将所述若干叶子链路添加到所述网络中的所述洪泛拓扑。
16.根据权利要求15所述的第一节点,其特征在于,在添加所述若干叶子链路之前,所述洪泛拓扑中的所述链路树包含最小数量的连接所述网络中节点与所述根节点的链路。
17.根据权利要求14或15所述的第一节点,其特征在于,所述处理器还用于与新连接节点建立邻接,所述新连接节点与所述第一节点通过链路直连;所述处理器还用于将所述新连接的节点添加到所述洪泛拓扑中的所述链路树中,直到重新计算所述洪泛拓扑。
18.根据权利要求14或15所述的第一节点,其特征在于,所述接收器还用于通过所述洪泛拓扑外的链路接收第一链路状态消息,所述发送器还用于通过所述洪泛拓扑中的链路洪泛所述第一链路状态消息。
19.根据权利要求14或15所述的第一节点,其特征在于,所述接收器还用于接收指示所述网络中的第二节点失效的第二链路状态消息;所述发送器还用于将所述第二链路状态消息洪泛到连接所述第一节点和所述第二节点的邻节点的链路中。
20.根据权利要求14或15所述的第一节点,其特征在于,所述接收器还用于接收指示所述网络中的第一链路失效的第三链路状态消息,所述处理器还用于确定所述第一链路是关键元素,所述发送器还用于根据所述确定,将所述第三链路状态消息发送到连接邻节点的链路中,所述邻节点也连接与附着于所述第一链路的节点相邻的节点。
21.根据权利要求14或15所述的第一节点,其特征在于,所述处理器还用于:
确定关键元素,所述关键元素是其失效会断开所述洪泛拓扑的链路或节点,
当所述关键元素失效时,不继续使用所述洪泛拓扑。
22.根据权利要求14或15所述的第一节点,其特征在于,所述链路状态消息是开放式最短路径优先OSPF链路状态通告LSA。
23.根据权利要求14或15所述的第一节点,其特征在于,所述链路状态消息是中间系统到中间系统IS-IS链路状态协议数据单元LSP。
24.根据权利要求14或15所述的第一节点,其特征在于,所述链路状态消息包含洪泛减少F标志,所述洪泛减少F标志设置为指示所述网络中的所述节点,所述节点通过所述洪泛拓扑支持链路状态洪泛减少。
25.根据权利要求14或15所述的第一节点,其特征在于,所述链路状态消息包含模式字段,所述模式字段设置为指示集中式链路状态洪泛减少、分布式链路状态洪泛减少或静态配置链路状态洪泛减少。
26.根据权利要求14或15所述的第一节点,其特征在于,所述链路状态消息包含操作OP字段,所述OP字段设置为从全网络洪泛切换至链路状态洪泛减少。
27.一种非瞬时性计算机可读介质,其特征在于,包括供网络中的第一节点使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质上的计算机可执行指令,当处理器执行所述指令时,使得所述第一节点执行如权利要求1至13中任一项所述的方法。
28.一种网络中的第一节点,其特征在于,所述第一节点包括:
接收装置,用于接收指示包括所述第一节点的所述网络多个节点的连通性的数据;
处理装置,用于根据所述连通性通过以下方式构造洪泛拓扑:
选择所述节点中的一个作为根节点,
根据接收到的链路状态消息中的算法构建连接所述根节点与所述网络中节点的链路树,其中,所述链路状态消息包含算法字段,所述算法字段设置为指示构建所述链路树的算法;
存储器存储装置,用于存储所述洪泛拓扑;
传输装置,用于在所述洪泛拓扑上洪泛一个或多个链路状态消息。
29.根据权利要求28所述的第一节点,其特征在于,所述接收装置还用于接收指定要添加到所述链路树中若干叶子链路的请求;所述处理装置还用于将所述若干叶子链路添加到所述网络中的所述洪泛拓扑。
30.根据权利要求28所述的第一节点,其特征在于,所述接收装置、处理装置、存储器存储装置和传输装置用于执行根据权利要求3至13中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138787.2A CN114629846A (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化 |
CN202210138778.3A CN114615198B (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化的洪泛链路状态消息方法和节点 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862616499P | 2018-01-12 | 2018-01-12 | |
US62/616,499 | 2018-01-12 | ||
US201862624986P | 2018-02-01 | 2018-02-01 | |
US62/624,986 | 2018-02-01 | ||
US201862750677P | 2018-10-25 | 2018-10-25 | |
US62/750,677 | 2018-10-25 | ||
PCT/CN2018/119251 WO2019137118A1 (en) | 2018-01-12 | 2018-12-05 | Interior gateway protocol flood minimization |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210138787.2A Division CN114629846A (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化 |
CN202210138778.3A Division CN114615198B (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化的洪泛链路状态消息方法和节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111587580A CN111587580A (zh) | 2020-08-25 |
CN111587580B true CN111587580B (zh) | 2022-02-15 |
Family
ID=67219352
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880086048.5A Active CN111587580B (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化 |
CN202210138778.3A Active CN114615198B (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化的洪泛链路状态消息方法和节点 |
CN202210138787.2A Pending CN114629846A (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210138778.3A Active CN114615198B (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化的洪泛链路状态消息方法和节点 |
CN202210138787.2A Pending CN114629846A (zh) | 2018-01-12 | 2018-12-05 | 内部网关协议洪泛最小化 |
Country Status (8)
Country | Link |
---|---|
US (3) | US11489766B2 (zh) |
EP (3) | EP4181528A1 (zh) |
JP (2) | JP7052049B2 (zh) |
KR (3) | KR102496586B1 (zh) |
CN (3) | CN111587580B (zh) |
ES (1) | ES2933264T3 (zh) |
MX (1) | MX2020007474A (zh) |
WO (1) | WO2019137118A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11671329B2 (en) | 2018-04-04 | 2023-06-06 | Arista Networks, Inc. | Computation of network flooding topologies |
US11218399B2 (en) | 2018-06-20 | 2022-01-04 | Arista Networks, Inc. | Embedded area abstraction |
KR20210126128A (ko) * | 2019-02-27 | 2021-10-19 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 플러딩 토폴로지 불일치를 처리하기 위한 시스템 및 방법 |
EP3973678B1 (en) * | 2019-07-05 | 2023-10-25 | Huawei Technologies Co., Ltd. | System and methods for computing flooding topology |
CN112350936B (zh) * | 2019-08-08 | 2023-04-18 | 中兴通讯股份有限公司 | 一种内部网关协议泛洪优化方法及装置、存储介质 |
CN112511325B (zh) * | 2019-09-16 | 2022-03-11 | 华为技术有限公司 | 网络拥塞控制方法、节点、系统及存储介质 |
US11451475B2 (en) | 2019-12-19 | 2022-09-20 | Huawei Technologies Co., Ltd. | Packet forwarding based on geometric location |
US11296948B2 (en) | 2020-01-09 | 2022-04-05 | Arista Networks, Inc. | Topology partition detection |
US20210243125A1 (en) * | 2020-01-31 | 2021-08-05 | Hewlett Packard Enterprise Development Lp | System and method for avoiding congestion in a computer network |
US11438823B2 (en) | 2020-05-29 | 2022-09-06 | Huawei Technologies Co., Ltd. | Orthodromic routing |
US11374852B2 (en) | 2020-05-29 | 2022-06-28 | Huawei Technologies Co., Ltd. | Piecewise shortest path first routing |
US11310098B2 (en) * | 2020-06-09 | 2022-04-19 | Cisco Technology, Inc. | Diagnosing intermediary network nodes |
US11777844B2 (en) | 2020-07-03 | 2023-10-03 | Huawei Technologies Co., Ltd. | Distributing information in communication networks |
WO2020215103A2 (en) * | 2020-07-13 | 2020-10-22 | Futurewei Technologies, Inc. | Parameterized method for network subgraph root node selection |
CN114430387B (zh) * | 2020-10-15 | 2023-05-09 | 华为技术有限公司 | 一种节点的配置方法、控制器和节点 |
CN114531623B (zh) * | 2020-10-31 | 2023-04-28 | 华为技术有限公司 | 一种信息传输方法、装置及网络节点 |
US11374652B1 (en) | 2020-12-10 | 2022-06-28 | Huawei Technologies Co., Ltd. | Method and apparatus for limited flooding and network routing region membership management |
US11909627B2 (en) | 2021-01-04 | 2024-02-20 | Huawei Technologies Co., Ltd. | Method and apparatus for managing network status information using multiple degree of precision graph |
US11601780B2 (en) | 2021-01-05 | 2023-03-07 | Huawei Technologies Co., Ltd. | Method and apparatus for propagating network status updates using directional tracking |
US11476925B2 (en) | 2021-02-04 | 2022-10-18 | Huawei Technologies Co., Ltd. | Method and apparatus for limited flooding in networks using transit nodes |
US11757753B2 (en) * | 2021-02-25 | 2023-09-12 | Huawei Technologies Co., Ltd. | Link state steering |
US11924096B2 (en) | 2022-07-15 | 2024-03-05 | Cisco Technology, Inc. | Layer-2 mesh replication |
US11929909B1 (en) * | 2023-04-12 | 2024-03-12 | Eci Telecom Ltd. | Spectral defragmentation in communication networks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103001879A (zh) * | 2012-06-29 | 2013-03-27 | 杭州华三通信技术有限公司 | 减少链路状态通告洪泛次数的方法及设备 |
CN107249147A (zh) * | 2017-05-15 | 2017-10-13 | 北京邮电大学 | 一种自动交换光网络中的信息同步方法及系统 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831975A (en) | 1996-04-04 | 1998-11-03 | Lucent Technologies Inc. | System and method for hierarchical multicast routing in ATM networks |
US6567403B1 (en) * | 1998-04-30 | 2003-05-20 | Hewlett-Packard Development Company, L.P. | Virtual-chassis switch network topology |
US6757258B1 (en) * | 2000-05-04 | 2004-06-29 | Cisco Technology, Inc. | Method and apparatus for reducing OSPF flooding |
US7983239B1 (en) | 2003-01-07 | 2011-07-19 | Raytheon Bbn Technologies Corp. | Systems and methods for constructing a virtual model of a multi-hop, multi-access network |
US7792987B1 (en) * | 2003-04-21 | 2010-09-07 | Juniper Networks, Inc. | Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling |
US7885601B2 (en) | 2004-08-06 | 2011-02-08 | Panasonic Corporation | Radio node apparatus, multi-hop radio system, and multi-hop radio system constructing method |
US7742431B2 (en) | 2004-12-22 | 2010-06-22 | Cisco Technology, Inc. | Selectively sending link state messages in a network link state protocol based on interest of network nodes |
JP4682887B2 (ja) | 2006-03-22 | 2011-05-11 | 日本電気株式会社 | 故障復旧方法およびノードならびにネットワーク |
US8270319B2 (en) | 2006-12-14 | 2012-09-18 | Rockstart Bidco, LP | Method and apparatus for exchanging routing information and establishing connectivity across multiple network areas |
US8223668B2 (en) * | 2006-12-14 | 2012-07-17 | Rockstar Bidco Lp | Method and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas |
US8837329B2 (en) | 2007-01-19 | 2014-09-16 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for controlled tree management |
WO2008087547A2 (en) | 2007-01-19 | 2008-07-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for network tree management |
US7778204B2 (en) * | 2008-07-25 | 2010-08-17 | Alcatel-Lucent Usa Inc. | Automatic maintenance of a distributed source tree (DST) network |
US8385231B2 (en) * | 2009-07-30 | 2013-02-26 | Roberto Rojas-Cessa | Disseminating link state information to nodes of a network |
US8553586B2 (en) * | 2009-10-16 | 2013-10-08 | Ciena Corporation | Systems and methods for automatically building and repairing a spanning tree flooding backbone in link state routed networks |
US8089866B2 (en) * | 2009-10-16 | 2012-01-03 | Ciena Corporation | Spanning tree flooding backbone systems and methods for link state routed networks |
US8791207B2 (en) | 2010-01-15 | 2014-07-29 | 3M Innovative Properties Company | Adhesive composition |
US8351438B2 (en) * | 2010-08-19 | 2013-01-08 | Juniper Networks, Inc. | Flooding-based routing protocol having database pruning and rate-controlled state refresh |
US8614952B2 (en) * | 2011-11-15 | 2013-12-24 | Alcatel Lucent | Efficient propagation of link state advertisements in densely interconnected OSPF networks |
US9608900B2 (en) | 2012-08-08 | 2017-03-28 | Cisco Technology, Inc. | Techniques for flooding optimization for link state protocols in a network topology |
US20140269410A1 (en) | 2013-03-14 | 2014-09-18 | Cisco Technology, Inc. | Efficient Flooding of Link State Packets for Layer 2 Link State Protocols |
CN105282041A (zh) | 2014-07-18 | 2016-01-27 | 中兴通讯股份有限公司 | 基于isis的洪泛方法及装置 |
US10063463B2 (en) * | 2014-12-16 | 2018-08-28 | Cisco Technology, Inc. | Node protection for segment routing adjacency segments |
US9755962B2 (en) * | 2015-03-11 | 2017-09-05 | Juniper Networks, Inc. | Reducing link state protocol traffic during graceful restart |
US10469372B2 (en) * | 2018-01-09 | 2019-11-05 | Cisco Technology, Inc. | Segment-routing multiprotocol label switching end-to-end dataplane continuity |
CN113316918B (zh) | 2018-08-31 | 2024-04-16 | 华为技术有限公司 | 减小泛洪拓扑大小的系统和方法 |
-
2018
- 2018-12-05 KR KR1020227015713A patent/KR102496586B1/ko active IP Right Grant
- 2018-12-05 CN CN201880086048.5A patent/CN111587580B/zh active Active
- 2018-12-05 KR KR1020207022906A patent/KR102397956B1/ko active IP Right Grant
- 2018-12-05 MX MX2020007474A patent/MX2020007474A/es unknown
- 2018-12-05 CN CN202210138778.3A patent/CN114615198B/zh active Active
- 2018-12-05 ES ES18899925T patent/ES2933264T3/es active Active
- 2018-12-05 US US16/969,911 patent/US11489766B2/en active Active
- 2018-12-05 EP EP22196349.9A patent/EP4181528A1/en active Pending
- 2018-12-05 JP JP2020538711A patent/JP7052049B2/ja active Active
- 2018-12-05 WO PCT/CN2018/119251 patent/WO2019137118A1/en active Application Filing
- 2018-12-05 EP EP22172832.2A patent/EP4075755A1/en active Pending
- 2018-12-05 EP EP18899925.4A patent/EP3732894B1/en active Active
- 2018-12-05 CN CN202210138787.2A patent/CN114629846A/zh active Pending
- 2018-12-05 KR KR1020237003820A patent/KR102606598B1/ko active IP Right Grant
-
2021
- 2021-12-06 US US17/543,717 patent/US11991074B2/en active Active
-
2022
- 2022-03-30 JP JP2022054922A patent/JP7389838B2/ja active Active
- 2022-09-26 US US17/952,334 patent/US20230017665A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103001879A (zh) * | 2012-06-29 | 2013-03-27 | 杭州华三通信技术有限公司 | 减少链路状态通告洪泛次数的方法及设备 |
CN107249147A (zh) * | 2017-05-15 | 2017-10-13 | 北京邮电大学 | 一种自动交换光网络中的信息同步方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4181528A1 (en) | 2023-05-17 |
JP7389838B2 (ja) | 2023-11-30 |
US20230017665A1 (en) | 2023-01-19 |
KR102397956B1 (ko) | 2022-05-13 |
JP2022087146A (ja) | 2022-06-09 |
CN114615198A (zh) | 2022-06-10 |
WO2019137118A1 (en) | 2019-07-18 |
US20210119910A1 (en) | 2021-04-22 |
JP2021510280A (ja) | 2021-04-15 |
US20220094632A1 (en) | 2022-03-24 |
CN114629846A (zh) | 2022-06-14 |
BR112020014010A2 (pt) | 2020-12-01 |
KR20220065901A (ko) | 2022-05-20 |
EP4075755A1 (en) | 2022-10-19 |
JP7052049B2 (ja) | 2022-04-11 |
KR20230022265A (ko) | 2023-02-14 |
CN114615198B (zh) | 2023-06-06 |
US11489766B2 (en) | 2022-11-01 |
CN111587580A (zh) | 2020-08-25 |
ES2933264T3 (es) | 2023-02-03 |
EP3732894A4 (en) | 2021-01-27 |
KR102606598B1 (ko) | 2023-11-29 |
EP3732894A1 (en) | 2020-11-04 |
KR20200106184A (ko) | 2020-09-11 |
EP3732894B1 (en) | 2022-11-16 |
MX2020007474A (es) | 2020-09-14 |
US11991074B2 (en) | 2024-05-21 |
KR102496586B1 (ko) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111587580B (zh) | 内部网关协议洪泛最小化 | |
CN113261245B (zh) | 网络链路或节点故障的恢复系统和方法 | |
US20200220803A1 (en) | Link-State Advertisement LSA Sending Method, Apparatus, and System | |
JP5722455B2 (ja) | ネットワークにおけるメッセージおよび計算オーバーヘッドの軽減 | |
US8559414B2 (en) | Automatically detecting best paths from shadow route reflectors | |
US9692687B2 (en) | Method and apparatus for rapid rerouting of LDP packets | |
EP2911348A1 (en) | Control device discovery in networks having separate control and forwarding devices | |
KR20130109141A (ko) | 계층적 라벨 적층을 이용하여 ldp 컨버전스를 개선하기 위한 방법 및 장치 | |
US8018953B1 (en) | Adaptive, deterministic ant routing approach for updating network routing information | |
CN112217651A (zh) | 融合网络的路径标签确定方法及装置 | |
US11811611B2 (en) | System and method for backup flooding topology split | |
BR112020014010B1 (pt) | Método implementado em um primeiro nó em uma rede e primeiro nó | |
BR122022009823B1 (pt) | Método implementado por um primeiro nó em uma rede, método implementado por um segundo nó em uma rede, primeiro nó em uma rede, segundo nó em uma rede, e sistema em uma rede | |
CN117957825A (zh) | 边界网关协议(bgp)-最短路径优先(spf)泛洪减少 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |