CN108463976B - 减少网络中链路状变化的洪泛 - Google Patents
减少网络中链路状变化的洪泛 Download PDFInfo
- Publication number
- CN108463976B CN108463976B CN201680026973.XA CN201680026973A CN108463976B CN 108463976 B CN108463976 B CN 108463976B CN 201680026973 A CN201680026973 A CN 201680026973A CN 108463976 B CN108463976 B CN 108463976B
- Authority
- CN
- China
- Prior art keywords
- flooding
- node
- neighbor
- neighbors
- link
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 27
- 238000006424 Flood reaction Methods 0.000 claims description 5
- 239000000473 propyl gallate Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/025—Updating only a limited number of routers, e.g. fish-eye update
-
- 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/16—Multipoint 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
所公开的实施例提供了一种用于在网络中传输链路状态消息的系统。在操作期间,系统获得网络的网络拓扑。接下来,系统使用网络拓扑来标识洪泛节点的再洪泛邻居集合,其用于到达洪泛节点的两跳邻居集合。然后系统将链路状态消息传输到再洪泛邻居集合,该链路状态消息具有再洪泛该链路状态消息的指示。最后,系统将不具有再洪泛指示的链路状态消息传输到洪泛节点的剩余邻居,剩余邻居形成非再洪泛集合。
Description
技术领域
所公开的实施例涉及网络中的链路状态协议。更具体而言,所所公开的实施例涉及用于减少网络中的链路状态变化的洪泛的技术。
背景技术
链路状态协议通常用于分组交换网络,以在网络中的节点之间传送连接信息。进而,这些节点可以使用连接信息来构建网络的网络拓扑和相应的路由表,路由表包含到达网络中的目的地的路径。
当在网络中检测到连接变化时,该变化在链路状态消息中从检测到该变化的节点被洪泛到网络中的所有其他节点。在具有高密度拓扑的网络中,链路状态消息可能被某些节点多次接收,这可能增加了网络中的带宽消耗和节点中的处理开销。
附图说明
图1示出了根据所公开的实施例的系统的示意图。
图2示出了根据所公开的实施例的、网络中的洪泛节点的邻居的再洪泛集合和非再洪泛集合的选择。
图3示出了根据所公开的实施例的示例性网络拓扑。
图4示出了图示根据所公开的实施例的、在网络中传输链路状态的过程的流程图。
图5示出了图示根据所公开的实施例的、标识用于到达洪泛节点的两跳邻居集合的、洪泛节点的再洪泛邻居集合的过程的流程图。
图6示出了根据所公开的实施例的计算机系统。
在附图中,相同的附图标记指示相同的附图元件。
具体实施方式
以下描述被呈现以使得本领域的任何技术人员能够制造和使用实施例,并且被提供在特定应用及其要求的上下文中。对所公开的实施例的各种修改对于本领域技术人员将是显而易见的,并且在不脱离本公开的精神和范围的情况下,本文定义的一般原理可以应用于其他实施例和应用。因此,本发明不限于所示的实施例,而是符合与本文公开的原理和特征一致的最广范围。
在该具体实施方式中描述的数据结构和代码通常被存储在计算机可读存储介质上,计算机可读存储介质可以是可以存储供计算机系统使用的代码和/或数据的任何设备或介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁性或光学存储设备,例如硬盘驱动器、磁带、CD(光盘)、DVD(数字多功能光盘或数字视频光盘)或者现在已知或以后开发的能够存储代码和/或数据的其他介质。
在具体实施方式部分中描述的方法和过程可以被实施为代码和/或数据,该代码和/或数据可以存储在如上所述的计算机可读存储介质中。当计算机系统读取并且执行存储在计算机可读存储介质上的代码和/或数据时,计算机系统执行被实施为数据结构和代码的、并且存储在计算机可读存储介质中的方法和过程。
此外,本文描述的方法和过程可以包括在硬件模块或装置中。这些模块或装置可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、在特定时间执行特定软件模块或代码段的专用或共享处理器和/或现在已知或以后开发的其他可编程逻辑设备。当硬件模块或装置被激活时,它们执行包括在其中的方法和过程。
所公开的实施例提供了用于在网络中传输链路状态消息的方法、装置和系统。更具体地,所公开的实施例提供了用于减少网络中链路状态变化的洪泛的方法、装置和系统。如图1所示,网络可以包括洪泛节点102,其执行将链路状态消息洪泛到直接连接到该洪泛节点的邻居集合104中的节点108至112。反过来,这些邻居中的一些或全部可以通过将链路状态消息再洪泛到洪泛节点的两跳邻居集合106中的节点114至118,来作为后续洪泛节点进行操作。
洪泛节点102和节点108至118可以是分组交换网络中的路由器和/或其他类型的交换节点。结果,交换节点可以使用从洪泛节点传输到邻居104以及后续传输到两跳邻居106的链路状态消息,来基于网络内的连接变化更新它们的路由表。例如,洪泛节点可以检测网络中的节点、目的地和/或链路的可达性变化。洪泛节点可以使用诸如开放最短路径优先(OSPF)和/或中间系统到中间系统(IS-IS)之类的链路状态协议,来将包含可达性变化的链路状态消息洪泛到邻居104。当每个邻居接收到链路状态消息时,邻居可以操作为洪泛节点,并且将链路状态消息洪泛到该邻居的邻居(即,洪泛节点的两跳邻居),除了从其接收到链路状态消息的节点。因此链路状态消息的洪泛可以用于跨网络传播链路状态消息。在一节点处接收到链路状态消息之后,该节点可以基于在链路状态消息中传送的可达性变化来重新计算一个或多个路由表中的路径。
本领域技术人员将理解,链路状态消息可以由具有密集拓扑的网络中的某些节点重复地接收。例如,第一节点可以将链路状态消息洪泛到五个邻居。如果所有五个邻居也连接到第二节点,则第二节点可以接收相同的链路状态消息五次,每个邻居一次。此外,链路状态消息可以从第二节点通过邻居循环回到第一节点,这导致链路状态消息在第一和第二节点之间的附加过度洪泛。
在一个或多个实施例中,图1的系统包括减少网络中链路状态变化的洪泛的功能。更具体地,操作为洪泛节点102的每个节点可以将其邻居104划分为再洪泛集合120和非再洪泛集合124。再洪泛集合中的节点可以接收具有再洪泛链路状态消息的指示的链路状态消息。反过来,再洪泛集合中的每个节点可以通过计算其邻居的相应的再洪泛集合和非再洪泛集合,并且将相应的链路状态消息传输给再洪泛集合和非再洪泛集合,来作为洪泛节点。另一方面,非再洪泛集合中的每个节点可以接收不具有再洪泛链路状态消息的指示的链路状态消息。结果,该节点可以省略将链路状态消息再洪泛到其邻居,以减少网络中链路状态消息的过度洪泛。
例如,洪泛节点102可以选择节点108和112处于再洪泛集合120中,并且选择节点110处于非再洪泛集合124中。结果,节点108和112可以将链路状态消息再洪泛到节点114、116和118,并且节点110可以省略链路状态消息到任何两跳邻居106的传输,以减少节点116和118接收到链路状态消息的次数。换句话说,洪泛节点可以选择用于随后将链路状态消息再洪泛到全部两跳邻居的邻居子集,如下面参照图2进一步详细描述的。通过减少网络中链路状态消息的过度洪泛,图1的系统可以减少与节点处的链路状态消息的重复传输和处理相关联的计算开销和/或带宽消耗。
图2示出了根据所公开的实施例的、网络中的洪泛节点(例如,图1的洪泛节点102)的邻居的再洪泛集合120和非再洪泛集合124的选择。如上所述,再洪泛集合中的节点可以被选择以执行链路状态消息的再洪泛,并且非再洪泛集合中的节点可以被选择以省略链路状态消息的再洪泛。
为了产生再洪泛集合120和非再洪泛集合124,洪泛节点(例如,图1的洪泛节点102)可以从网络的网络拓扑220获得邻居集合104和两跳邻居集合106。可以使用网络中链路状态消息的初始洪泛来生成网络拓扑。例如,可以通过用来自每个节点的链路状态消息洪泛网络来生成网络拓扑,该链路状态消息标识直接连接到该节点的所有其他节点(即,节点的邻居)。在每个节点具有来自网络中的所有其他节点的链路状态消息的完整集合之后,这些节点可以使用链路状态消息中的连接性信息来构建网络拓扑。
接下来,洪泛节点可以将所有邻居104包括在候选邻居集合202中,除了从其接收到链路状态消息的邻居之外。洪泛节点还可以将所有两跳邻居106包括在剩余两跳邻居集合204。候选邻居可以代表用于分配给再洪泛集合120或非再洪泛集合124的候选,并且剩余两跳邻居可以代表还无法从再洪泛集合中的邻居达到的两跳邻居。由于再洪泛集合最初是空的,所以所有的两跳邻居最初都可以被包括在剩余两跳邻居集合中。
接下来,洪泛节点可以从剩余两跳邻居204和先前洪泛节点的共同邻居208中移除先前洪泛节点206,并且从候选邻居202中移除洪泛节点。先前洪泛节点可以是两跳邻居,链路路由消息起源于该两跳邻居。例如,先前洪泛节点可能选择与洪泛节点共同的邻居处于再洪泛集合124中。在从先前洪泛节点接收到具有再洪泛指示的链路状态消息之后,共同邻居可以选择洪泛节点处于再洪泛集合中,并且向洪泛节点传输相同的链路状态消息。因为已知先前洪泛节点先前已经将链路状态消息洪泛到共同邻居,所以先前洪泛节点以及先前洪泛节点与洪泛节点之间的共同邻居可以分别从剩余两跳邻居和候选邻居中被移除,以防止链路状态消息被循环回到先前洪泛节点和共同邻居。
先前洪泛节点206可以从链路状态消息中被标识。例如,先前洪泛节点的标识符可以被包括在到达洪泛节点的链路状态消息中。洪泛节点可以将该标识符从剩余两跳邻居204中的标识符集合中移除。洪泛节点还可以使用网络拓扑220来标识与先前洪泛节点共同的邻居208,并且从候选邻居202中移除相应的标识符。相反地,如果链路状态消息不包括作为洪泛节点的两跳邻居的先前洪泛节点的标识符(例如,如果链路状态消息是洪泛节点或洪泛节点的邻居生成的),则洪泛节点可以维护当前的候选邻居和剩余两跳邻居的集合。
洪泛节点可以使用候选邻居202和剩余两跳邻居204来生成再洪泛集合120和非再洪泛集合124。首先,洪泛节点可以从候选邻居202生成排序的候选邻居212的集合。例如,洪泛节点可以按照成本和/或另一路由度量对候选邻居进行排序,以产生排序的候选邻居的集合。接下来,洪泛节点可以从排序的候选邻居212中选择节点214。例如,洪泛节点可以选择从最低成本到最高成本排序的候选邻居列表中的第一个节点。在该节点被选择之后,该节点可以从排序的候选邻居集合中被移除。
洪泛节点可以执行该节点的邻居210和剩余两跳邻居204的比较218,以确定该节点的任何邻居在是否在剩余两跳邻居204的集合中。可以从网络拓扑220和/或洪泛节点的两跳邻居106的集合获得该节点的邻居。如果剩余两跳邻居包括该节点的任何邻居,则洪泛节点可以分配该节点处于再洪泛集合120的成员资格216,以允许链路状态消息经由该节点到达邻居。洪泛节点还可以从剩余两跳邻居集合中移除邻居,以指示这些邻居可以从再洪泛集合到达。如果剩余两跳邻居不包括该节点的任何邻居,则洪泛节点可以将该节点的成员资格设置为在非再洪泛集合124中,以减少到达两跳邻居和/或网络中的其他节点的链路状态消息的不必要的再洪泛。
洪泛节点可以重复一下过程直到剩余两跳成员集合为空为止:从排序的候选邻居212中选择给定节点214,使用该节点的邻居210和剩余两跳邻居204的比较218,以分配该节点处于再洪泛集合120或非再洪泛集合124中,并且从排序的候选邻居中移除该节点。此时,洪泛节点可以将排序的候选邻居中的所有剩余的节点的成员资格216设置为处于非再洪泛集合中。因此,洪泛节点可以包括邻居104的子集,该子集可以用于到达再洪泛集合中的所有两跳邻居106以及非再洪泛集合中的所有剩余邻居。最后,洪泛节点可以将具有再洪泛指示的链路状态消息传输到再洪泛集合,并且将不具有再洪泛指示的链路状态消息传输到非再洪泛集合。继而,再洪泛集合中的邻居可以操作为洪泛节点,并且非再洪泛集合中的邻居可以省略链路状态消息到其他节点的再洪泛。
如果在再洪泛集合120中的邻居中检测到再洪泛失败(例如,该邻居没有确认接收到链路状态消息),则洪泛节点可以从不包括该邻居的候选邻居202的集合中重新计算再洪泛集合和非再洪泛集合124。洪泛节点然后可以将具有相应再洪泛或不再洪泛的指示(例如,标志,参数等)的链路状态消息分别传输到重新计算的再洪泛集合和非再洪泛集合。洪泛节点还可以在链路状态消息中包括邻居的失败。或者,洪泛节点可以将具有洪泛指示和邻居失败的链路状态消息洪泛到所有邻居。在传输链路状态消息之前重新计算再洪泛和非再洪泛集合可以提高效率,而具有洪泛指示的链路状态消息洪泛到所有邻居可以促进快速收敛。
洪泛节点可以另外地存储再洪泛集合120中的邻居的列表,用于网络中后续链路状态消息的洪泛。进而,洪泛节点可以使用所存储的列表,来将具有再洪泛指示的后续链路状态消息传输到再洪泛集合,并将不具有再洪泛指示的后续链路状态消息传输到非再洪泛集合124中的剩余邻居。进而,洪泛节点可以减少与重新计算再洪泛集合和非再洪泛集合相关联的后续开销。洪泛节点可以继续使用该列表来洪泛链路状态消息,直到检测到邻居104和/或两跳邻居106中的变化。
上述选择过程可以使用以下示例性伪代码来实现:
在上述伪代码中,“REACHABLE”表示剩余两跳邻居204,“CANDIDATE”表示候选邻居202,并且“REFLOOD”和“NON-REFLOOD”分别表示空的再洪泛集合120和空的非再洪泛集合124。收到链路状态消息后,如果先前的洪泛节点在链路状态消息中被指定,则“CURRENT”节点被设置为先前洪泛节点206。如果先前洪泛节点存在,则先前洪泛节点从“REACHABLE”集合中被移除,并且可以从洪泛节点到达先前洪泛节点的邻居从“CANDIDATE”集合中被移除。“CANDIDATE”集合然后从最低到最高成本排序。
在“REACHABLE”集合不为空时,如果“CURRENT”的任何邻居在“REACHABLE”中(例如,基于表示“CURRENT”的索引来查找“REACHABLE”),则将“CANDIDATE”集合中的最低成本邻居设置为“CURRENT”,并将“CURRENT”移动到“REFLOOD”。继而,“CURRENT”的所有邻居都从“REACHABLE”被移除(例如,使用通过表示“CURRENT”的索引对“REACHABLE”进行的相同查找)。相反,如果没有“CURRENT”的邻居在“REACHABLE”中,则“CURRENT”被移动到“NON-REFLOOD”。
一旦“REACHABLE”为空,则将“CANDIDATE”中的所有剩余邻居移动到“NON-REFLOOD”。最后,具有洪泛指示的链路状态消息被发送到“REFLOOD”中的邻居,并且具有非再洪泛指示的链路状态消息被发送到“NON-REFLOOD”中的邻居。
图3示出了根据所公开的实施例的示例性网络拓扑。如图3所示,网络拓扑包括八个节点302至316。节点A 302连接到节点C 306、D 308、E 310和F 312,节点B 304连接到节点E 310、F 312和G 314,节点H 316连接到节点C 306、D 308、E 310、F 312和G 314。节点之间的所有链路在网络中可以具有相同的成本。
图3的示例性网络拓扑可以与图2的选择过程一起使用,来执行网络中链路状态消息的洪泛。例如,节点H 316可以发起指定网络中的连接性变化的链路状态消息的洪泛。进而,节点H 316可以将节点A 302和B 304包括在剩余两跳邻居集合中,并将节点C 306、D308、E 310、F 312和G 314包括在候选邻居集合中。由于链路状态消息不具有先前洪泛节点,所以没有节点从剩余两跳邻居或候选邻居中被移除。
接下来,节点H 316从候选邻居集合中选择节点C 306,该节点C 306在剩余两跳邻居集合中具有一个邻居(即,节点A 302)。结果,节点A 302从剩余两跳邻居中被移除,并且节点C 306从候选邻居移动到再洪泛集合。
节点H 316然后可以从候选邻居集合中选择节点D 308。由于节点D 308的邻居不在剩余两跳邻居集合中,所以节点D 308从候选邻居被移动到非再洪泛集合。
节点H 316随后可以从候选邻居集合中选择节点E 310,该节点E 310在剩余两跳邻居集合中具有一个邻居(即,节点B 304)。进而,节点B 304从剩余两跳邻居中被移除,并且节点E 310从候选邻居移动到再洪泛集合。由于剩余两跳邻居集合为空,所以剩余节点F312和G 314被移动到非再洪泛集合,并且具有相应的再洪泛指示和非再洪泛指示的链路状态消息分别被传输到洪泛集合和非洪泛集合。
节点C 306接收具有再洪泛指示的链路状态消息,并且将相同的链路状态消息洪泛到节点A 302。继而,节点A 302从链路状态消息获得作为先前洪泛节点的节点H 316的标识符。节点A 302还将节点B 304和H 316包括在剩余两跳邻居集合中,并将节点C 306、D308、E 310、F 312和G 314包括在候选邻居集合中。
因为节点H 316被标识为是节点A 302的两跳邻居的先前洪泛节点,所以节点A302从剩余两跳邻居中移除节点H 316,并且从候选邻居集合中移除所有节点C 306、D 308、E 310、F 312和G 314,这些节点是与节点H 316共同的邻居。因为候选邻居集合为空,所以节点A 302终止执行,而不向网络中的其他节点再洪泛链路状态消息。
图4示出的流程图图示了根据所公开的实施例的在网络中传输链路状态消息的过程。在一个或多个实施例中,可以省略、重复和/或以不同的顺序执行步骤中的一个或多个。相应地,图4中所示的步骤的特定布置不应被解释为限制该技术的范围。
最初,获得网络的网络拓扑(操作402)。例如,可以使用网络中链路状态消息的初始洪泛来生成网络拓扑,初始洪泛例如为链路状态消息从网络中的每个节点到网络中的每个其他节点的洪泛。接下来,由网络中的节点获得具有再洪泛指示的链路状态消息(操作404)。例如,可以由节点生成链路状态消息(例如,如果节点检测到连接性变化),或者可以从节点的邻居接收链路状态消息。通过在链路状态消息中指定和/或获得再洪泛指示,节点成为网络中的洪泛节点。
链路状态消息可以标识先前洪泛节点(操作406),该链路状态消息源自该先前洪泛节点。先前洪泛节点可以是洪泛节点的两跳邻居。如果链路状态消息指定先前洪泛节点,则将先前洪泛节点从洪泛节点的两跳邻居集合中移除(操作408),并且洪泛节点和先前洪泛节点的共同邻居被排除接收链路状态消息(操作410)。如果链路状态消息没有指定是洪泛节点的两跳邻居的先前洪泛节点,则可以省略操作408至410。
网络拓扑然后被用于标识用于到达两跳邻居集合的再洪泛邻居集合(操作412),如下面关于图5进一步详细描述的。在再洪泛集合被标识之后,具有再洪泛指示的链路状态消息被传输到再洪泛邻居集合(操作414),并且不具有再洪泛指示的链路状态消息被传送到形成非再洪泛集合的剩余邻居(操作416)。反过来,再洪泛集合中的邻居可以作为洪泛节点进行操作,并且非再洪泛集合中的邻居可以省略向其他节点洪泛链路状态消息。
可以可选地存储再洪泛集合中的邻居的列表,以用于将后续的链路状态消息从洪泛节点传输到邻居。例如,洪泛节点可以使用所存储的列表,来将具有再洪泛指示的后续链路状态消息传输到再洪泛邻居集合,并将不具有再洪泛指示的后续链路状态消息传输到非再洪泛集合中的剩余邻居。
可以检测在邻居中再洪泛失败(操作418)。例如,当邻居没有确认接收到链路状态消息时,可以检测到再洪泛失败。如果没有检测到再洪泛失败,则不需要链路状态消息的附加传输。如果在邻居中检测到再洪泛失败,则可选地在再洪泛集合的重新计算期间从再洪泛集合中排除该邻居(操作420)。邻居的失败也被包括在链路状态消息中(操作422),并且链路状态消息被传输到用于到达两跳邻居的邻居集合(操作424)。例如,链路状态消息可以与再洪泛指示一起被传输到重新计算的再洪泛集合中的邻居(例如,以保持效率)。或者,如果再洪泛集合未被计算,则链路状态消息可以与再洪泛指示一起被传输给所有邻居(例如,为了快速收敛)。
图5示出的流程图图示了根据所公开的实施例的标识用于到达洪泛节点的两跳邻居集合的、洪泛节点的再洪泛邻居集合的过程。在一个或多个实施例中,可以省略、重复和/或以不同的顺序执行步骤中的一个或多个。相应地,图5中所示的步骤的特定布置不应被解释为限制该技术的范围。
首先,用洪泛节点的所有邻居来填充候选邻居集合(操作502)。如上所述,候选邻居可以省略先前洪泛节点和/或洪泛节点与先前洪泛节点之间的共同邻居。接下来,从候选邻居集合中选择一个节点(操作504)。例如,该节点可被选择为具有最低成本、对两跳邻居的最高扇出和/或将在候选集合中被优化的另一值或度量。为了选择具有最低成本的节点,可以从最低成本到最高成本对候选集合进行排序,并且可以获得排序候选集合中的第一个节点作为该节点。
然后,基于该节点与一个或多个剩余两跳邻居的连接来处理该节点,所述一个或多个剩余两跳邻居从再洪泛邻居集合不可到达(操作506)。如果该节点连接到从当前再洪泛集合不可到达的任何两跳邻居,则该节点被包括在再洪泛集合中(操作508),并且从候选邻居集合中被移除(操作510)。如果该节点没有连接到从当前再洪泛集合不可到达的两跳邻居,则将该节点从候选邻居集合中移除(操作510),而不将该节点添加到再洪泛集合。可以重复操作504至510,直到所有的两跳邻居都可从再洪泛集合到达(操作512)。进而,候选邻居中的剩余节点可以从再洪泛集合中被省略。
图6示出了根据一个实施例的计算机系统600。计算机系统600包括处理器602、存储器604、存储设备606和/或电子计算设备中存在的其他组件。处理器602可以与计算机系统600中的其他处理器一起支持并行处理和/或多线程操作。计算机系统600还可以包括诸如键盘608、鼠标610和显示器612之类的输入/输出(I/O)设备。
计算机系统600可以包括执行本实施例的各种组件的功能。特别地,计算机系统600可以包括:协调计算机系统600上的硬件和软件资源的使用的操作系统(未示出),以及为用户执行专门任务的一个或多个应用程序。为了为用户执行任务,应用程序可以从操作系统获得计算机系统600上的硬件资源的使用,以及通过操作系统提供的硬件和/或软件框架与用户交互。
在一个或多个实施例中,计算机系统600提供用于在网络中传输链路状态消息的系统。该系统包括网络中的洪泛节点。洪泛节点可以获得网络的网络拓扑,并且使用网络拓扑来标识洪泛节点的再洪泛邻居集合,其用于达到洪泛节点的两跳邻居集合。接下来,洪泛节点可以向再洪泛邻居集合发送链路状态消息,该链路状态消息具有再洪泛该链路状态消息的指示。洪泛节点也可以向形成非再洪泛集合、洪泛节点的剩余邻居传输不具有再洪泛指示的链路状态消息。
另外,计算机系统600中的一个或多个组件可以是远程定位的并且通过网络连接到其他组件。本实施例的多个部分(例如洪泛节点、邻居、两跳邻居等)也可以位于实施实施例的分布式系统的不同节点上。例如,可以使用云计算系统来实现本实施例,该云计算系统传输链路状态消息,以执行链路状态消息在一组远程邻居和/或两跳邻居间的选择性洪泛。
仅出于说明和描述的目的而呈现了各种实施例的前述描述。它们不旨在是穷尽的或将本发明限制于所公开的形式。因此,对于本领域技术人员而言,许多修改和变化将是显而易见的。此外,上述公开不旨在限制本发明。
Claims (17)
1.一种用于减少网络中的链路状态变化的洪泛的方法,包括:
获得网络的网络拓扑,所述网络包括由一组链路连接的一组节点;
在所述网络中的洪泛节点处,获得具有再洪泛的指示的链路状态消息;
使用所述链路状态消息来标识先前洪泛节点,再洪泛的所述指示源自所述先前洪泛节点,其中所述先前洪泛节点是所述洪泛节点的两跳邻居;
使用所述网络拓扑,通过在所述洪泛节点上执行的处理器,来标识用于到达所述洪泛节点的两跳邻居集合的、所述洪泛节点的再洪泛邻居集合;
在标识用于到达所述洪泛节点的所述两跳邻居集合的所述再洪泛邻居集合之前:
从所述两跳邻居集合中移除所述先前洪泛节点;以及
排除所述洪泛节点和所述先前洪泛节点的共同邻居从所述洪泛节点接收所述链路状态消息;
从所述洪泛节点向所述再洪泛邻居集合传输所述链路状态消息,所述链路状态消息具有再洪泛所述链路状态消息的指示;以及
从所述洪泛节点向形成非再洪泛集合的、所述洪泛节点的剩余邻居传输不具有再洪泛的指示的所述链路状态消息。
2.根据权利要求1所述的方法,还包括:
当检测到所述再洪泛集合中的邻居再洪泛所述链路状态消息失败时:
在所述再洪泛邻居集合的重新计算期间,从所述再洪泛邻居集合中排除所述邻居;以及
向重新计算的所述再洪泛邻居集合传输具有再洪泛的所述指示的所述链路状态消息。
3.根据权利要求2所述的方法,还包括:
在向重新计算的所述再洪泛邻居集合传输所述链路状态消息之前,将所述邻居的所述失败包括在所述链路状态消息中。
4.根据权利要求1所述的方法,还包括:
当检测到所述再洪泛邻居集合中的邻居再洪泛所述链路状态消息失败时,向所述洪泛节点的所有邻居传输具有再洪泛的所述指示的所述链路状态消息。
5.根据权利要求1所述的方法,还包括:
在所述洪泛节点处,存储所述再洪泛集合中的邻居列表;
使用存储的所述列表来向所述再洪泛邻居集合传输具有再洪泛的所述指示的后续链路状态消息;以及
向所述非再洪泛集合中的所述剩余邻居传输不具有再洪泛的所述指示的所述后续链路状态消息。
6.根据权利要求1所述的方法,其中使用所述网络拓扑来标识用于到达所述洪泛节点的所述两跳邻居集合的、所述洪泛节点的所述再洪泛邻居集合包括:
从所述洪泛节点的候选邻居集合中选择节点;以及
当所述节点直接连接到从所述再洪泛邻居集合不可达的、所述洪泛节点的一个或多个剩余两跳邻居时,将所述节点包括在所述再洪泛集合中。
7.根据权利要求6所述的方法,其中使用所述网络拓扑来标识用于到达所述洪泛节点的所述两跳邻居集合的、所述洪泛节点的所述再洪泛邻居集合进一步包括:
在从所述候选邻居集合中选择所述节点之前,用所述洪泛节点的所有邻居来填充所述候选邻居集合;以及
在所述节点从所述候选邻居集合中被选择之后,从所述候选邻居集合中移除所述节点。
8.根据权利要求6所述的方法,其中使用所述网络拓扑来标识用于到达所述洪泛节点的所述两跳邻居集合的、所述洪泛节点的所述再洪泛邻居集合进一步包括:
当所述两跳邻居集合中的所有节点都能够从所述再洪泛邻居集合到达时,停止从所述候选邻居集合中选择节点。
9.根据权利要求6-8中任一项所述的方法,其中从所述候选邻居集合中选择所述节点包括:
在所述候选邻居集合中选择具有最低成本的所述节点。
10.根据权利要求1所述的方法,其中获得所述网络拓扑包括:
使用所述网络中的链路状态消息的初始洪泛,来生成所述网络拓扑。
11.一种存储指令的非暂时性计算机可读介质,所述指令当由处理器执行时,使所述处理器执行任一前述权利要求所述的方法。
12.一种用于减少网络中的链路状态变化的洪泛的装置,包括:
一个或多个处理器,其在网络中的洪泛节点上执行,所述网络包括由一组链路连接的一组节点;以及
存储器,其存储指令,所述指令当由所述一个或多个处理器执行时使所述装置:
获得所述网络的网络拓扑;
在所述网络中的洪泛节点处,获得具有再洪泛的指示的链路状态消息;
使用所述链路状态消息来标识先前洪泛节点,再洪泛的所述指示源自所述先前洪泛节点,其中所述先前洪泛节点是所述洪泛节点的两跳邻居;
使用所述网络拓扑来标识用于到达所述洪泛节点的两跳邻居集合的、所述洪泛节点的再洪泛邻居集合;
在标识用于到达所述洪泛节点的所述两跳邻居集合的所述再洪泛邻居集合之前:
从所述两跳邻居集合中移除所述先前洪泛节点;以及
排除所述洪泛节点和所述先前洪泛节点的共同邻居从所述洪泛节点接收所述链路状态消息;
向所述再洪泛邻居集合传输所述链路状态消息,所述链路状态消息具有再洪泛所述链路状态消息的指示;以及
向形成非再洪泛集合的、所述洪泛节点的剩余邻居传输不具有再洪泛的指示的所述链路状态消息。
13.根据权利要求12所述的装置,其中所述存储器进一步存储指令,所述指令当由所述一个或多个处理器执行时,使所述装置:
当检测到所述再洪泛邻居集合中的邻居再洪泛所述链路状态消息失败时:
在所述再洪泛邻居集合的重新计算期间,从所述再洪泛邻居集合中排除所述邻居;
将所述邻居的失败包括在所述链路状态消息中;以及
向重新计算的所述再洪泛邻居集合传输具有再洪泛的所述指示的所述链路状态消息。
14.根据权利要求12所述的装置,其中所述存储器进一步存储指令,所述指令当由所述一个或多个处理器执行时,使所述装置:
当检测到所述再洪泛邻居集合中的邻居再洪泛所述链路状态消息失败时,向所述洪泛节点的所有邻居传输具有再洪泛的所述指示的所述链路状态消息。
15.根据权利要求12所述的装置,其中使用所述网络拓扑来标识用于到达所述洪泛节点的所述两跳邻居集合的、所述洪泛节点的所述再洪泛邻居集合包括:
从所述洪泛节点的候选邻居集合中选择节点;以及
当所述节点直接连接到从所述再洪泛邻居集合不可达的、所述洪泛节点的一个或多个剩余两跳邻居时,将所述节点包括在所述再洪泛集合中。
16.根据权利要求15所述的装置,其中使用所述网络拓扑来标识用于到达所述洪泛节点的所述两跳邻居集合的、所述洪泛节点的所述再洪泛邻居集合进一步包括:
在从所述候选邻居集合中选择所述节点之前,用所述洪泛节点的所有邻居来填充所述候选邻居集合;以及
在所述节点从所述候选邻居集合中被选择之后,从所述候选邻居集合中移除所述节点。
17.根据权利要求15所述的装置,其中使用所述网络拓扑来标识用于到达所述洪泛节点的所述两跳邻居集合的、所述洪泛节点的所述再洪泛邻居集合进一步包括:
当所述两跳邻居集合中的所有节点都能从所述再洪泛邻居集合到达时,停止从所述候选邻居集合中选择节点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/332,295 US10038623B2 (en) | 2016-10-24 | 2016-10-24 | Reducing flooding of link state changes in networks |
US15/332,295 | 2016-10-24 | ||
PCT/US2016/065080 WO2018080559A1 (en) | 2016-10-24 | 2016-12-06 | Reducing flooding of link state changes in networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108463976A CN108463976A (zh) | 2018-08-28 |
CN108463976B true CN108463976B (zh) | 2021-03-05 |
Family
ID=57589246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680026973.XA Expired - Fee Related CN108463976B (zh) | 2016-10-24 | 2016-12-06 | 减少网络中链路状变化的洪泛 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10038623B2 (zh) |
EP (1) | EP3338416B1 (zh) |
CN (1) | CN108463976B (zh) |
WO (1) | WO2018080559A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020047549A1 (en) * | 2018-08-31 | 2020-03-05 | Futurewei Technologies, Inc. | System and method to reduce flooding topology size |
EP3861687A1 (en) | 2018-11-30 | 2021-08-11 | Huawei Technologies Co., Ltd. | System and method to recover from link or node failure in a network |
WO2020167790A1 (en) * | 2019-02-15 | 2020-08-20 | Futurewei Technologies, Inc. | System and method for interior gateway protocol (igp) fast convergence |
CN116366526A (zh) * | 2019-07-05 | 2023-06-30 | 华为技术有限公司 | 用于计算泛洪拓扑的系统和方法 |
CN112350936B (zh) * | 2019-08-08 | 2023-04-18 | 中兴通讯股份有限公司 | 一种内部网关协议泛洪优化方法及装置、存储介质 |
CN111130913B (zh) * | 2019-12-31 | 2021-11-16 | 联想(北京)有限公司 | 一种信息处理方法及装置 |
US11736385B1 (en) * | 2022-08-17 | 2023-08-22 | Juniper Networks, Inc. | Distributed flooding technique |
CN117792915A (zh) * | 2022-09-22 | 2024-03-29 | 华为技术有限公司 | 一种系统、网络拓扑的方法及其电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101663865A (zh) * | 2007-12-21 | 2010-03-03 | 华为技术有限公司 | 智能数据库交换 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020145978A1 (en) * | 2001-04-05 | 2002-10-10 | Batsell Stephen G. | Mrp-based hybrid routing for mobile ad hoc networks |
US7362709B1 (en) * | 2001-11-02 | 2008-04-22 | Arizona Board Of Regents | Agile digital communication network with rapid rerouting |
US7242671B2 (en) * | 2002-12-11 | 2007-07-10 | Itt Manufacturing Enterprises, Inc. | System and method for link-state based proxy flooding of messages in a network |
US7801857B2 (en) * | 2003-12-19 | 2010-09-21 | Solace Systems, Inc. | Implicit routing in content based networks |
US7298707B2 (en) | 2004-01-21 | 2007-11-20 | Cisco Technology, Inc. | System and method for controlling the flooding of information in a network environment |
US7391730B1 (en) * | 2004-07-21 | 2008-06-24 | Cisco Technology | System and method for synchronizing link state databases in a network environment |
CN100405787C (zh) * | 2006-09-15 | 2008-07-23 | 清华大学 | 一种基于可靠子网技术的链路状态路由协议洪泛方法 |
US8442046B2 (en) * | 2007-03-30 | 2013-05-14 | Cisco Technology, Inc. | Sending routing protocol data on a multi-access network segment |
CN101217498B (zh) * | 2008-01-18 | 2011-08-24 | 北京科技大学 | 基于数据报文点点决策的自组织网络寻路方法 |
JP2011517220A (ja) * | 2008-04-10 | 2011-05-26 | アルカテル−ルーセント ユーエスエー インコーポレーテッド | トポロジ抽出方法、トポロジ抽出装置、およびルートコントローラ |
US8351438B2 (en) * | 2010-08-19 | 2013-01-08 | Juniper Networks, Inc. | Flooding-based routing protocol having database pruning and rate-controlled state refresh |
CN103001879B (zh) * | 2012-06-29 | 2015-09-23 | 杭州华三通信技术有限公司 | 减少链路状态通告洪泛次数的方法及设备 |
-
2016
- 2016-10-24 US US15/332,295 patent/US10038623B2/en not_active Expired - Fee Related
- 2016-12-06 CN CN201680026973.XA patent/CN108463976B/zh not_active Expired - Fee Related
- 2016-12-06 EP EP16816127.1A patent/EP3338416B1/en not_active Not-in-force
- 2016-12-06 WO PCT/US2016/065080 patent/WO2018080559A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101663865A (zh) * | 2007-12-21 | 2010-03-03 | 华为技术有限公司 | 智能数据库交换 |
Also Published As
Publication number | Publication date |
---|---|
EP3338416B1 (en) | 2019-01-30 |
CN108463976A (zh) | 2018-08-28 |
EP3338416A1 (en) | 2018-06-27 |
US20180115481A1 (en) | 2018-04-26 |
US10038623B2 (en) | 2018-07-31 |
WO2018080559A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108463976B (zh) | 减少网络中链路状变化的洪泛 | |
EP3672168B1 (en) | Link state advertisement (lsa) transmission method, device, and system | |
US9008092B2 (en) | Route prefix aggregation using reachable and non-reachable addresses in a computer network | |
US10404576B2 (en) | Constrained shortest path determination in a network | |
JP2015136168A (ja) | ネットワークにおけるメッセージおよび計算オーバーヘッドの軽減 | |
US20140043956A1 (en) | Techniques for Flooding Optimization for Link State Protocols in a Network Topology | |
US9300569B2 (en) | Compressing data packet routing information using bloom filters | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
CN109873766B (zh) | 报文传输方法和装置 | |
US20140269410A1 (en) | Efficient Flooding of Link State Packets for Layer 2 Link State Protocols | |
CN110311828B (zh) | 一种网络验证的方法、装置、计算机存储介质及电子设备 | |
US11271844B2 (en) | Routing in fat tree networks using negative disaggregation advertisements | |
CN110912816B (zh) | 链路重路由方法、装置和存储介质 | |
CN102082782B (zh) | Ospf网络中引入外部路由的方法及相关设备 | |
US20100195506A1 (en) | System and Method to Identify a Predicted Oscillatory Behavior of a Router | |
US11394638B2 (en) | Method and apparatus for forwarding network traffic on maximally disjoint paths | |
US20180212860A1 (en) | Automatically detecting potential microloop conditions associated with network convergence | |
Walraed-Sullivan et al. | Scalability vs. fault tolerance in aspen trees | |
CN113691446B (zh) | 一种报文发送的方法和装置 | |
US8798052B2 (en) | Relaying frames in a large layer 2 network fabric | |
Suzuki et al. | Selective precomputation of alternate routes using link-state information for IP fast restoration | |
CN105991425B (zh) | 路由配置方法和系统 | |
CN116319521A (zh) | 一种选择转发路径的方法、网络设备和存储介质 | |
CN115277527A (zh) | 一种路由信息的处理方法及装置 | |
Eun et al. | An efficient multi-path generation method for hierarchical network model |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210305 |
|
CF01 | Termination of patent right due to non-payment of annual fee |