Seamless support and node-by-node migration of multiple distributed flooding algorithms in same network
By receiving and processing LSP data units, calculating the shortest path spanning tree and setting link metrics, the problem of flooding overflow in dense topology networks is solved, and seamless migration and resource-saving flooding algorithm support are achieved.
Patent Information
- Application Number
- CN202510302300.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-02-27
- Filing Date
- 2025-03-14
- Publication Date
- 2025-09-16
AI Technical Summary
In dense topology networks, the existing IGP flooding mechanism suffers from overflow problems caused by excessive information copies, resulting in slow convergence time and waste of resources.
By receiving the modified LSP data unit, the version of the origin algorithm is determined and the shortest path spanning tree is calculated. The link metric is set to 1, truncated to two hops, and the flooding group members are selected and provided to the network device to avoid repeated flooding.
It achieves seamless support for the migration of multiple distributed flooding algorithms, reduces resource waste, ensures network coverage, prevents hotspots, and saves computing and network resources.
Smart Images

Figure CN120658667A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This patent application claims priority to Indian Provisional Patent Application No. 202441019003 filed on March 15, 2024, entitled “SEAMLESS SUPPORT ANDNODE-BY-NODE MIGRATION FOR MULTIPLE DISTRIBUTED FLOOD REDUCTION ALGORITHMS INA SAME NETWORK”. The disclosure of that prior application is considered a part of the present patent application and is incorporated herein by reference. Technical Field
[0003] The present disclosure relates to the field of communications, and more particularly to seamless support and node-by-node migration of multiple distributed flooding algorithms in the same network. Background Art
[0004] In dense topologies (e.g., data center fabrics with relatively high connectivity), Interior Gateway Protocol (IGP) flooding mechanisms, which were originally designed for rather sparse topologies, can overflow the network. Overflow can occur due to the generation of many identical copies of the same information arriving at a given network device (node) from other network devices (nodes). Summary of the Invention
[0005] Some implementations described herein relate to a method. The method may include receiving, by a first network device in a first layer of a network, a modified link state protocol (LSP) data unit that is also provided to a plurality of other network devices in the first layer; and determining, based on the modified LSP data unit, whether an origin of the modified LSP data unit is executing an algorithm and a version of the same algorithm as an algorithm and a version of the algorithm being executed by the first network device. The method may include calculating a shortest path spanning tree (SPT); and, based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that is different from the algorithm and a version of the algorithm being executed by the first network device, setting a metric of 1 for links associated with the first network device and the plurality of other network devices. The method may include truncating the SPT to two hops to determine a flooding group that includes the first network device and the plurality of other network devices; and selecting a member of the flooding group to flood the modified LSP data unit. The method may include causing the member to provide the modified LSP data unit to a second network device in a second layer of the network.
[0006] Some implementations described herein relate to a first network device comprising one or more memories and one or more processors. The one or more processors may be configured to: receive a modified link state protocol (LSP) data unit, the LSP data unit also being provided to a plurality of other network devices in a first layer of a network including the first network device; and determine, based on the modified LSP data unit, whether an origin of the modified LSP data unit is executing an algorithm and a version of the same algorithm and a version of the algorithm as an algorithm and a version of the algorithm being executed by the first network device. The one or more processors may be configured to: calculate a shortest path spanning tree (SPT); and, based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that is different from the algorithm and a version of the algorithm being executed by the first network device, set a metric of 1 for links associated with the first network device and the plurality of other network devices. The one or more processors may be configured to: truncate the SPT to two hops to determine a flooding group comprising the first network device and the plurality of other network devices; and select members of the flooding group to flood the modified LSP data unit. The one or more processors may be configured to: cause the member to provide the modified LSP data unit to a second network device in a second layer of the network; and cause other members of the flooding group to not provide the modified LSP data unit to the second network device.
[0007] Some implementations described herein relate to a non-transitory computer-readable medium. The non-transitory computer-readable medium stores a set of instructions. The set of instructions, when executed by one or more processors of a first network device in a first layer of a network, may cause the first network device to: receive a modified link state protocol (LSP) data unit using intermediate system-to-intermediate system cryptographic authentication, the LSP data unit also being provided to multiple other network devices in the first layer; and determine, based on the modified LSP data unit, whether the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that are the same as the algorithm and version being executed by the first network device. The set of instructions, when executed by one or more processors of the first network device in the first layer of the network, may cause the first network device to: calculate a shortest path spanning tree (SPT); and, based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that are different from the algorithm and version being executed by the first network device, set a metric to 1 for links associated with the first network device and the multiple other network devices. The set of instructions, when executed by one or more processors of a first network device in a first layer of a network, may cause the first network device to: truncate an SPT to two hops to determine a flooding group including the first network device and a plurality of other network devices; and select a member of the flooding group to flood a modified LSP data unit. The set of instructions, when executed by one or more processors of the first network device in the first layer of the network, may cause the first network device to: cause the member to provide the modified LSP data unit to a second network device in a second layer of the network. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Figure 1A-1F is a diagram of an example related to providing seamless support and node-by-node migration for multiple distributed flooding algorithms in the same network;
[0009] Figure 2 is a diagram of an example environment in which the systems and / or methods described herein may be implemented;
[0010] Figure 3 and Figure 4 yes Figure 2 diagrams of example components of one or more devices; and
[0011] Figure 5 is a flow chart of an example process for providing seamless support and node-by-node migration for multiple distributed flooding algorithms in the same network. DETAILED DESCRIPTION
[0012] The following detailed description of example implementations refers to the accompanying drawings, in which the same reference numerals in different drawings may identify the same or similar elements.
[0013] Excessive flooding results in slower convergence times and higher resource utilization of processing and discarding excess copies of the same information. Distributed algorithms that limit the amount of flooding can be constructed as long as they produce a flooding subgraph that connects all network devices in the network in terms of flooding. Any such algorithm with some additional rules that control the behavior when encountering adjacency with a network device that deploys another type of pruner can be defined as a distributed flood pruner (or simply a pruner), where the additional rules allow safe pruner mixing. In this application, the terms "algorithm" and "pruner" are used interchangeably. Current IGP flooding techniques consume computing resources (e.g., processing resources, memory resources, communication resources, etc.), network resources, etc., which are associated with identifying identical copies of the same information in overflow situations, providing exactly the same copies of the same information to network devices, discarding all identical copies of the same information by network devices, etc.
[0014] Some implementations described herein relate to providing seamless support and node-by-node migration for multiple distributed flooding algorithms in the same network. For example, a first network device in a first layer of a network may receive a modified link state protocol (LSP) data unit (the LSP data unit is also provided to multiple other network devices in the first layer) and may determine, based on the modified LSP data unit, whether the origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as the first network device. The first network device may calculate a shortest path spanning tree (SPT) and, based on determining that the origin of the modified LSP data unit is executing an algorithm and version of the algorithm that is different from the algorithm and version of the algorithm being executed by the first network device, set the metric of a link associated with the first network device and multiple other network devices to 1. The first network device may truncate the SPT to two hops to determine a flooding group that includes the first network device and the multiple other network devices and may select a member of the flooding group to flood the modified LSP data unit. The first network device may cause the member to provide the modified LSP data unit to a second network device in a second layer of the network.
[0015] In this way, seamless support and node-by-node migration of multiple distributed flooding algorithms within the same network are provided. For example, if necessary, hybrid network devices can be deployed simultaneously without any full flood reduction and multiple pruners can be deployed, while ensuring correct flood coverage across the entire network. These implementations can enable per-network-device migration (e.g., simultaneously) from one pruner to another. Assuming the algorithm behaves correctly, flood coverage can be contained within a single network device, allowing for algorithm changes and algorithm convergence when network devices implementing such an algorithm are introduced or removed. These implementations can reduce irrelevant copies of the same information and load-balance flooding across different possible paths in the network to prevent the creation of flooding hotspots. These implementations can eliminate the need for centralized network devices, eliminate the need for manual configuration, allow per-network-device migration to any new algorithm, and allow different algorithms to coexist within the same network. Consequently, these implementations conserve computing resources, network resources, and / or the like that would otherwise be consumed during overflow conditions by identifying identical copies of the same information, providing identical copies of the same information to network devices, and having the network devices discard identical copies of the same information.
[0016] Figure 1A-1F is a diagram of an example 100 related to providing seamless support and node-by-node migration for multiple distributed flooding algorithms in the same network. Figure 1A-1F , a network may include network devices (e.g., also referred to herein as "nodes"). The network devices may include distributed algorithms that limit the amount of flooding performed. These algorithms may generate a flooding subgraph that connects all nodes in the network with respect to flooding. Such algorithms may significantly reduce resource utilization while improving convergence performance. Any such algorithm plus some additional rules may be defined as a distributed flood pruner (or simply a "pruner"), where the additional rules control the behavior when encountering adjacency with a node deploying another pruner to allow safe pruner mixing and seamless migration.
[0017] A pruner may be an algorithm that includes all adjacencies and may be referred to as a zero pruner. In this case, the algorithm floods all links in the network. The implementations described herein may enable a single pruner to be executed on a specific network device, and the pruner to be changed at any time on any subset of network devices in the network while limiting the impact on the network devices and the convergence of network devices in the component. A component may include a subset of network devices that execute a pruner, where each network device is connected to all other network devices by a path that passes through adjacencies that have the same pruner on both sides. A network may include multiple components that are not connected but execute the same pruner. A component of a pruner A may be denoted as A|, and two disjoint components that execute pruner A may be denoted as A|' and A|". Zero pruners may generate components denoted as Z| and its primes.
[0018] A flooding pruner must select a subset of links within its component to flood, ensuring that the component remains connected (e.g., there is a path on the links connecting every network device in the pruner's component). This is called the Connected Dominating Set (CDS) and can be represented as A|* for a component A|. The Connected Dominating Set A|* can be different for different messages being flooded. Within each component, a network device is free to execute any type of algorithm, as long as it is a pruner. Some implementations can be fully distributed, without the need for a centralized network device. Computation and communication within each component can be completely independent of other components. Beyond determining which pruner is executing on a network device, no configuration is required if the pruning algorithm is fully distributed (e.g., fully distributed). A network device can select a different pruner or a zero pruner at any time, independent of other network devices. A network device can also become a zero pruner if it eventually appears in another component. Besides the zero pruner, a flooding pruner must advertise the currently operating pruner on the network device in its node information. A flooding pruner is an algorithm that constructs a connected dominating set on its components.
[0019] like Figure 1A As shown, example 100 may include a network in which network devices (e.g., nodes) are associated with three pruners. Two components may execute pruner A (e.g., A|' and A|"), one component may execute pruner B, and three components may execute zero pruner Z (e.g., Z|', Z|", and Z|"'). The overall diagram of the network may be connected as shown. Figure 1A It also depicts why the overall connected dominating set is more than just the spanning tree of the network. A network device that sees a neighboring network device executing another algorithm can decide whether to include a link in the flood not based on local knowledge, but based on a holistic view of the network. The links of the CDS of the connected components can be used Figure 1AThe thicker lines in [1] represent the,network.,More details of the network, network devices, pruners, algorithms, and components are provided,elsewhere in this paper.
[0020] like Figure 1A As further shown in FIG. 105 , a network device may utilize subtype-length-value (sub-TLV) signaling, the format of which includes a type field, a length field, and an algorithm field. The sub-TLV must be advertised by a network device that is actively executing any pruner (e.g., other than a null pruner), and the absence of the sub-TLV may indicate that the network device is a null pruner. In some implementations, the length field of the sub-TLV may include a value of two (2), and the algorithm field may include a numeric identifier that identifies an algorithm used to compute a component's CDS (e.g., a flooding topology) from an IGP flood pruner registry. In some implementations, the algorithm may include a load balancing algorithm, a load balancing algorithm based on a mobile ad hoc network (MANET), and the like.
[0021] Figure 1B An example of a backbone and leaf structure network including network devices 1A to 5F is depicted (eg, links are omitted for clarity). Figure 1B Connections between network devices are not included. Each network device in a given layer can be connected to each network device in the layer above each network device in a butterfly network fashion. For example, network device 5A can be connected to network devices 4A, 4B, 4C, 4D, 4E, and 4F; network device 5B can be connected to network devices 4A, 4B, 4C, 4D, 4E, and 4F; network device 4A can be connected to network devices 3A, 3B, 3C, 3D, 3E, 3F, 5A, 5B, 5C, 5D, 5E, and 5F; network device 4B can be connected to network devices 3A, 3B, 3C, 3D, 3E, 3F, 5A, 5B, 5C, 5D, 5E, and 5F; and so on. For ease of reference, the layers of the structure are labeled, with layer 2 (T2) being the top of the structure and layer 0 (T0) representing the leaves.
[0022] Figure 1C-1F An example of modifying the Intermediate System to Intermediate System (IS-IS) flooding process to reduce the complete topology to a set of dominant connected links for flooding and balance the remaining flooding across all links in the topology to prevent hotspots is depicted. Figure 1CAs shown at 110, network device 5A may provide the modified LSP data unit to network devices 4A through 4F. For example, network device 5A may be a sending neighbor of network devices 4A through 4F and may generate the modified LSP data unit. Since network device 5A is a sending neighbor of network devices 4A through 4F, network device 5A may flood the modified LSP data unit to network devices 4A through 4F. Each of network devices 4A-4F may, in turn, flood the modified LSP data unit to, for example, network device 3A. Thus, network device 3A may receive six copies of the modified LSP data unit, while network device 3A may receive six copies of the modified LSP data unit. Figure 1C The intermediate systems shown require only one copy of the modified LSP data unit to converge to the same view of the topology.The implementations described herein may prevent network device 3A from receiving a copy of the modified LSP data unit.
[0023] like Figure 1C As further shown at 115, network device 4A may calculate an SPT. For example, network device 4A may identify a group of network devices that will flood to the same set of neighbors as the local IS. In some implementations, network device 4A may determine that network devices 4A-4F (e.g., a flooding group) will flood all identical copies of the modified LSP data unit to network device 3A. To determine the flooding group, network device 4A may calculate an SPT from the perspective of the sending neighbor (e.g., network device 5A).
[0024] like Figure 1C As further shown in FIG. 120 , network device 4A may set the metrics of all links to one (1) and may truncate the SPT to two hops to determine a flooding group. For example, by setting the metrics of all links to one and truncating the SPT to two hops, network device 4A may identify a group of neighboring network devices to which network device 4A will flood modified LSP data units and may identify a group of network devices (e.g., a flooding group, not necessarily neighboring network devices) that will also flood modified LSP data units to the same group of neighboring network devices. If each network device in the flooding group (e.g., network devices 4A-4F) performs the same calculation, each network device will identify the same flooding group. For example, network device 4A may determine that the group of neighboring network devices includes network devices 3A-3F and may determine that the flooding group includes network devices 4A-4F based on setting the metrics of all links to one and truncating the SPT to two hops.
[0025] like Figure 1CAs further shown at 125, network device 4A may select a member of a flooding group to flood the modified LSP data unit. For example, after the flooding group is determined, each member of the flooding group (e.g., each of network devices 4A-4F) may independently select a member of the flooding group to flood the received information (e.g., the modified LSP data unit). A common hash function may be used across a set of shared variables (e.g., a common link state database) so that each member of the flooding group selects the same member of the flooding group to flood the modified LSP data unit.
[0026] like Figure 1D As shown at 130, network device 4A may provide the modified LSP data unit to network device 3A. For example, when network device 4A selects network device 4A as a member of a flooding group to flood the modified LSP data unit, network device 4A may provide the modified LSP data unit to network device 3A. In some implementations, a network device among network devices 4B-4F may be selected as a member of a flooding group to flood the modified LSP data unit. In such an implementation, the network device among network devices 4B-4F selected as the member may provide the modified LSP data unit to network device 3A.
[0027] like Figure 1D As further shown in FIG. 135 , network devices 4B-4F may not provide the modified LSP data unit to network device 3A. For example, when network device 4A selects network device 4A as a member of a flooding group to flood the modified LSP data unit, the remaining members of the flooding group (e.g., network devices 4B-4F) may not provide the modified LSP data unit to network device 3A. In some implementations, a network device from network devices 4B-4F may be selected as a member of a flooding group to flood the modified LSP data unit. In such an implementation, network devices 4A and 4B-4F, other than the selected network device from network devices 4B-4F, may not provide the modified LSP data unit to network device 3A. In this manner, only a single copy of the modified LSP data unit is provided to network device 3A. In some implementations, multiple copies of the modified LSP data unit may be provided for redundancy purposes.
[0028] like Figure 1DAs further shown in FIG140 , network device 4A can prevent the modified LSP data unit from being flooded toward the origin of the modified LSP data unit. For example, network device 4A can implement a rule that prevents the modified LSP data unit from being flooded along the shortest path toward the origin of the modified LSP data unit (e.g., network device 5A). The rule can be based on the principle that any network device between the origin of the modified LSP data unit and the network device local to the origin should receive the modified LSP data unit from some other network device that is closer to the origin of the modified LSP data unit. Furthermore, if network devices in the flooding group are pruned, the receiving network device (e.g., network device 3A) can be at the end of the flooding chain and no further flooding is required.
[0029] like Figure 1E As shown at 145, network device 4A may calculate a truncated SPT from the perspective of network device 5A, with link metrics set to 1. For example, network device 4A may identify a group of network devices that will flood to the same group of neighbors as the local IS. In some implementations, network device 4A may determine that network devices 4A-4F (e.g., a flooding group) will flood the same copy of the modified LSP data unit to network device 3A. To determine the flooding group, network device 4A may calculate the SPT from the perspective of the sending neighbor (e.g., network device 5A). Network device 4A may set the metrics of all links to 1 and may truncate the SPT to two hops to determine the flooding group.
[0030] like Figure 1E As further shown at 150, network device 4A may create a two-hop list (THL) or a zero pruner of network devices executing the algorithm. For example, based on calculating a truncated SPT from the perspective of network device 5A and setting the link metric to 1, network device 4A may create a THL or a zero pruner identifying the network devices executing the algorithm. For each network device that is two hops away from the sending network device (e.g., network device 4A) (e.g., has a metric of 2 in the truncated SPT): if the network device is the originator of the modified LSP data unit, the network device may be skipped (e.g., not added to the THL); if the network device is a neighbor of the originator of the modified LSP data unit, the network device may be skipped (e.g., not added to the THL); if the network device is on the shortest path from the sending network device to the originator of the modified LSP data unit, the network device may be skipped (e.g., not added to the THL); if the network device is not on the shortest path from the sending network device to the originator of the modified LSP, the network device may be added to the THL. Figure 1E As further shown, in one example, based on such analysis, the THL may include network devices 3A, 3B, 3C, 3D, 3E, 3F, 5B, 5C, 5D, 5E, and 5F.
[0031] like Figure 1E As further shown at 155, network device 4A may create a remote neighbor list (RNL) or zero pruner of network devices executing the algorithm and may sort the RNL. For example, network device 4A may create an RNL or zero pruner identifying the network devices executing the algorithm based on adding each network device that is one hop away from the sending network device to the RNL. Figure 1E As further shown, in one example, the RNL may include network devices 4A, 4B, 4C, 4D, 4E, and 4F. In some implementations, network device 4A may sort the RNL based on the system identifier and from smallest to largest value.
[0032] like Figure 1E As further shown at 160, network device 4A may calculate a hash on the identifier of the modified LSP data unit to determine a number (N). For example, network device 4A may calculate the preliminary number (H) by adding each byte in the identifier of the modified LSP data unit. If RNum is the number of network devices in the RNL, network device 4A may set the number (N) to H MOD of RNum (e.g., N=H MOD RNum). Through such calculation, the number (N) may be less than the number of members of the RNL.
[0033] like Figure 1E As further shown in FIG. 165 , network device 4A may identify the first network device of the RNL based on a number (N) and a THL. For example, starting with the Nth member of the RNL, where N is the index of the member in the RNL, with indexes starting at zero (e.g., where index zero may be assigned to the network device with the lowest system identifier): if the THL is empty, network device 4A may bypass this step; if a member of the RNL is a local computing network device, such network device may re-flood the modified LSP data unit; network device 4A may remove all members of the THL that are connected to (e.g., adjacent to) that member of the RNL; and network device 4A may move to the next member of the RNL, wrapping around to the beginning of the RNL if necessary. In this manner, network device 4A may identify the first network device of the RNL.
[0034] like Figure 1EAs further shown in FIG. 170 , network device 4A may cause a first network device of the RNL to provide the modified LSP data unit. For example, network device 4A may cause the identified first network device of the RNL to provide the modified LSP data unit to network device 3A. In some implementations, network device 4A may be the first member of the RNL and may provide the modified LSP data unit to network device 3A. In some implementations, a network device may elect to provide a configurable parameter independently of other network devices to allow more than one network device in the RNL to re-flood the modified LSP data unit (e.g., if dual coverage of the THL is desired, the network device may re-flood even if the network device is only a selected member of the RNL).
[0035] like Figure 1F As shown in FIG175, network device 4A can set a timer associated with detecting a flooding failure. For example, in a transitional state where the network device has a different topology view, flooding may overflow or not flood enough. During the initial convergence process, or in some failure modes, flooding may be incomplete. Specifically, if the network device that is re-flooding fails, or is somehow disconnected from all links where re-flooding should occur, the modified LSP data unit may only be partially distributed in the topology. In order to speed up convergence under such a partition failure (for example, in the case where the periodic complete sequence number protocol data unit (CSNP) can converge the topology at a slower speed), a network device that does not re-flood the LSP data unit (or fragment) (for example, network device 4A) can set a configurable timer associated with detecting a flooding failure. The timer can be much shorter than the CSNP interval.
[0036] like Figure 1F As further shown at 180, network device 4A may identify the modified partial sequence number packets (PSNPs) of the LSP data units that have not been re-flooded upon expiration of the timer. For example, upon expiration of the timer, network device 4A may send the partial sequence number packets (PSNPs) of all LSP data units that have not been re-flooded to all neighboring network devices unless the latest PSNP or CSNP has been received from the neighboring network devices.
[0037] like Figure 1FAs further shown at 185, network device 4A may process PSNPs according to protocol procedures to resynchronize modified LSP data units that have not yet been re-flooded. For example, according to normal protocol procedures, network device 4A may process any received PSNPs that indicate that a neighboring network device still has an older version of a modified LSP data unit. By processing the PSNPs, network device 4A may resynchronize modified LSP data units that have not yet been re-flooded. In this manner, network device 4A may synchronize a database that became unsynchronized after a timer expired.
[0038] like Figure 1F As further shown at 190, network device 4A may generate a notification indicating resynchronization of modified LSP data units that have not yet been reflooded. For example, if resynchronization exceeds a configurable threshold (e.g., the number of PSNPs sent to neighboring network devices and responded with requests), network device 4A may generate a notification indicating resynchronization of modified LSP data units that have not yet been reflooded. Network device 4A may provide the notification to the network operator so that the network operator is aware of the reflooding failure.
[0039] In some implementations, network devices deploying the algorithm on point-to-point links can send CSNPs on such links. This can prevent possible slow synchronization of the IS-IS database on such links and can provide additional periodic consistency guarantees. In some implementations, network devices can enable IS-IS cryptographic authentication and other security measures in accordance with common IS-IS protocol best practices.
[0040] In this way, seamless support and node-by-node migration of multiple distributed flooding algorithms within the same network are provided. For example, if necessary, hybrid network devices can be deployed simultaneously without any full flood reduction and multiple pruners, while ensuring correct flood coverage across the entire network. These implementations can enable per-network-device migration from one pruner to another (e.g., simultaneously). Assuming the algorithm behaves correctly, flood coverage can be contained within a single network device, allowing for algorithm changes and algorithm convergence when network devices implementing such an algorithm are introduced or removed. These implementations can reduce irrelevant copies of the same information and load-balance flooding across different possible paths in the network to prevent the creation of flooding hotspots. Some implementations may not require a centralized network device, may not require manual configuration, may allow per-network-device migration to any new algorithm, and may allow different algorithms to coexist within the same network. Consequently, these implementations conserve computing resources, network resources, and / or the like that would otherwise be consumed during overflow conditions by identifying identical copies of the same information, providing identical copies of the same information to network devices, and having the network devices discard identical copies of the same information.
[0041] As mentioned above, Figure 1A-1F Provided as an example only. Other examples may be Figure 1A-1F Different from what is described in . Figure 1A-1F The number and arrangement of the devices shown are provided as examples. In practice, Figure 1A-1F There may be more devices, fewer devices, different devices, or differently arranged devices than shown. Figure 1A-1F Two or more of the devices shown may be implemented in a single device, or Figure 1A-1F The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, Figure 1A-1F The illustrated set of devices (e.g., one or more devices) may perform the operations described as being performed by Figure 1A-1F Another group of devices is shown performing one or more functions.
[0042] Figure 2 2 is a diagram of an example environment 200 in which the systems and / or methods described herein may be implemented. Figure 2 As shown, environment 200 may include a set of network devices 210 (shown as network device 210-1 through network device 210-N) and a network 220. The devices of environment 200 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0043] The network device 210 includes one or more devices capable of receiving, processing, storing, routing and / or providing services (e.g., packets or other information or metadata) in the manner described herein. For example, the network device 210 may include a router, such as a label switching router (LSR), a label edge router (LER), an ingress router, an egress router, a provider router (e.g., a provider edge router or a provider core router), a virtual router, a route reflector, a regional border router, or another type of router. Additionally or alternatively, the network device 210 may include a gateway, a switch, a firewall, a hub, a bridge, a reverse proxy, a server (e.g., a proxy server, a cloud server, or a data center server), a load balancer, and / or the like. In some implementations, the network device 210 may be a physical device implemented within a housing such as a chassis. In some implementations, the network device 210 may be a virtual device implemented by one or more computer devices in a cloud computing environment or a data center. In some implementations, a group of network devices 210 may be a group of data center nodes for routing traffic flows through the network 220.
[0044] The network 220 includes one or more wired and / or wireless networks. For example, the network 220 may include a packet-switched network, a cellular network (e.g., a fifth-generation (5G) network, a fourth-generation (4G) network (such as a Long Term Evolution (LTE) network), a third-generation (3G) network, a code division multiple access (CDMA) network, a public land mobile network (PLMN)), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-optic-based network, a cloud computing network, etc., and / or a combination of these or other types of networks.
[0045] Figure 2 The number and arrangement of devices and networks shown are provided as examples. Figure 2 There may be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than shown. Figure 2 Two or more of the devices shown may be implemented in a single device, or Figure 2 The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, one set of devices (eg, one or more devices) of environment 200 may perform one or more functions described as being performed by another set of devices of environment 200.
[0046] Figure 3 yes Figure 2The example components may be included in device 300, which may correspond to network device 210. In some implementations, network device 210 may include one or more devices 300 and / or one or more components of device 300. Figure 3 As shown, device 300 may include a bus 310 , a processor 320 , a memory 330 , an input component 340 , an output component 350 , and a communication component 360 .
[0047] The bus 310 includes one or more components that enable wired and / or wireless communication between components of the device 300. The bus 310 may Figure 3 Two or more components of a computer system are coupled together, such as via operational coupling, communicative coupling, electronic coupling, and / or electrical coupling. Processor 320 includes a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a controller, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), and / or other types of processing components. Processor 320 is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 320 includes one or more processors that can be programmed to perform one or more operations or processes described elsewhere herein.
[0048] Memory 330 includes volatile and / or non-volatile memory. For example, memory 330 may include random access memory (RAM), read-only memory (ROM), a hard drive and / or another type of memory (e.g., flash memory, magnetic memory and / or optical memory). Memory 330 may include internal memory (e.g., RAM, ROM or hard drive) and / or removable memory (e.g., removable via a universal serial bus connection). Memory 330 may be a non-transitory computer-readable medium. Memory 330 stores information, instructions and / or software (e.g., one or more software applications) related to the operation of device 300. In some implementations, memory 330 includes one or more memories coupled to one or more processors (e.g., processor 320), such as via bus 310.
[0049] Input component 340 enables device 300 to receive input, such as user input and / or sensory input. For example, input component 340 can include a touch screen, keyboard, keypad, mouse, button, microphone, switch, sensor, global positioning system sensor, accelerometer, gyroscope and / or actuator. Output component 350 enables device 300 to provide output, such as via a display, speaker and / or light emitting diode. Communication component 360 enables device 300 to communicate with other devices via wired connection and / or wireless connection. For example, communication component 360 can include a receiver, transmitter, transceiver, modem, network interface card and / or antenna.
[0050] The device 300 can perform one or more operations or processes described herein. For example, a non-transient computer-readable medium (e.g., memory 330) can store an instruction set (e.g., one or more instructions or codes) for execution by the processor 320. The processor 320 can execute the instruction set to perform one or more operations or processes described herein. In some implementations, execution of the instruction set by one or more processors 320 causes the one or more processors 320 and / or device 300 to perform one or more operations or processes described herein. In some implementations, hard-wired circuitry can be used instead of instructions or in combination with instructions to perform one or more operations or processes described herein. Additionally or alternatively, the processor 320 can be configured to perform one or more operations or processes described herein. Therefore, the implementations described herein are not limited to any particular combination of hardware circuitry and software.
[0051] Figure 3 The number and arrangement of components shown are provided as examples. Figure 3 Device 300 may include more components, fewer components, different components, or differently arranged components than shown. Additionally or alternatively, one or more components of device 300 may perform one or more functions described as being performed by another group of components of device 300.
[0052] Figure 4 yes Figure 2 4. The example components may be included in device 400. Device 400 may correspond to network device 210. In some implementations, network device 210 may include one or more devices 400 and / or one or more components of device 400. Figure 4As shown, the device 400 may include one or more input components 410-1 to 410-B (B≥1) (hereinafter collectively referred to as input component 410, and individually referred to as input component 410), a switch component 420, one or more output components 430-1 to 430-C (C≥1) (hereinafter collectively referred to as output component 430, and individually referred to as output component 430), and a controller 440.
[0053] The input component 410 can be one or more attachment points for a physical link and can be one or more entry points for incoming traffic (such as packets). The input component 410 can process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, the input component 410 can transmit and / or receive packets. In some implementations, the input component 410 can include an input line card that includes one or more packet processing components (e.g., in the form of an integrated circuit), such as one or more interface cards (IFCs), a packet forwarding component, a line card controller component, an input port, a processor, a memory, and / or an input queue. In some implementations, the device 400 can include one or more input components 410.
[0054] The switch component 420 can interconnect the input component 410 with the output component 430. In some implementations, the switch component 420 can be implemented via one or more crossbar switches, via a bus, and / or using shared memory. The shared memory can act as a temporary buffer to store packets from the input component 410 before they are ultimately scheduled for delivery to the output component 430. In some implementations, the switch component 420 can enable the input component 410, the output component 430, and / or the controller 440 to communicate with each other.
[0055] The output component 430 can store packets and can schedule packets for transmission on an output physical link. The output component 430 can support data link layer encapsulation or decapsulation, and / or various higher-level protocols. In some implementations, the output component 430 can transmit packets and / or receive packets. In some implementations, the output component 430 can include an output line card that includes one or more packet processing components (e.g., in the form of an integrated circuit), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, and / or output queues. In some implementations, the device 400 can include one or more output components 430. In some implementations, the input component 410 and the output component 430 can be implemented by the same set of components (e.g., the input / output component can be a combination of the input component 410 and the output component 430).
[0056] Controller 440 includes, for example, a processor in the form of a CPU, GPU, APU, microprocessor, microcontroller, DSP, FPGA, ASIC, and / or other types of processors. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, controller 440 may include one or more processors that can be programmed to perform functions.
[0057] In some implementations, the controller 440 may include RAM, ROM, and / or another type of dynamic or static storage device (eg, flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by the controller 440 .
[0058] In some implementations, the controller 440 can communicate with other devices, networks, and / or systems connected to the device 400 to exchange information about the network topology. The controller 440 can create a routing table based on the network topology information, can create a forwarding table based on the routing table, and can forward the forwarding table to the input component 410 and / or the output component 430. The input component 410 and / or the output component 430 can use the forwarding table to perform routing lookups for incoming and / or outgoing packets.
[0059] The controller 440 may perform one or more of the processes described herein. The controller 440 may perform these processes in response to executing software instructions stored by a non-transitory computer-readable medium. A computer-readable medium is defined herein as a non-transitory memory device. A memory device may include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.
[0060] The software instructions may be read from another computer-readable medium or from another device via a communication component into a memory and / or storage component associated with the controller 440. When executed, the software instructions stored in the memory and / or storage component associated with the controller 440 may cause the controller 440 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, the implementations described herein are not limited to any specific combination of hardware circuitry and software.
[0061] Figure 4 The number and arrangement of components shown are provided as examples. Figure 4 Device 400 may include more components, fewer components, different components, or differently arranged components than shown. Additionally or alternatively, one or more components of device 400 may perform one or more functions described as being performed by another group of components of device 400.
[0062] Figure 5 is a flow chart of an example process 500 for providing seamless support and node-by-node migration for multiple distributed flooding algorithms in the same network. Figure 5 One or more process blocks of may be performed by a network device (e.g., network device 210). In some implementations, Figure 5 One or more process blocks of may be performed by another device or group of devices separate from or including the network device. Additionally or alternatively, Figure 5 One or more process blocks of may be performed by one or more components of device 300, such as processor 320, memory 330, input component 340, output component 350, and / or communication component 360. Additionally or alternatively, Figure 5 One or more process blocks of may be performed by one or more components of device 400 , such as input component 410 , switch component 420 , output component 430 , and / or controller 440 .
[0063] like Figure 5 As shown, process 500 may include receiving a modified link state protocol (LSP) data unit that is also provided to a plurality of other network devices in the first layer (block 510). For example, a first network device in the first layer of a network may receive a modified link state protocol (LSP) data unit that is also provided to a plurality of other network devices in the first layer, as described above.
[0064] like Figure 5 As further shown, process 500 may include determining, based on the modified LSP data unit, whether the origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as the algorithm and version being executed by the first network device (block 520). For example, the first network device may determine, based on the modified LSP data unit, whether the origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as the algorithm and version being executed by the first network device, as described above. In some implementations, the origin of the modified LSP data unit is a leaf network device of the network.
[0065] like Figure 5 As further shown, process 500 may include calculating a shortest path spanning tree (SPT) (block 530). For example, the first network device may calculate a shortest path spanning tree (SPT) as described above.
[0066] like Figure 5As further shown, process 500 may include setting a metric of 1 for links associated with the first network device and the plurality of other network devices based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that are different from the algorithm and version being executed by the first network device (block 540). For example, the first network device may set a metric of 1 for links associated with the first network device and the plurality of other network devices based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that are different from the algorithm and version being executed by the first network device, as described above.
[0067] like Figure 5 As further shown, process 500 may include truncating the SPT to two hops to determine a flooding group that includes the first network device and the plurality of other network devices (block 550). For example, the first network device may truncate the SPT to two hops to determine a flooding group that includes the first network device and the plurality of other network devices, as described above. In some implementations, truncating the SPT includes truncating the SPT from the perspective of the origin of the modified LSP data unit, and the metric is set to 1.
[0068] like Figure 5 As further shown, process 500 may include selecting a member of a flooding group to flood the modified LSP data unit (block 560). For example, the first network device may select a member of a flooding group to flood the modified LSP data unit, as described above. In some implementations, the member of the flooding group is the first network device.
[0069] like Figure 5 As further shown, process 500 may include causing the member to provide the modified LSP data unit to a second network device in the second layer of the network (block 570). For example, the first network device may cause the member to provide the modified LSP data unit to the second network device in the second layer of the network, as described above.
[0070] In some implementations, process 500 includes causing other members of the flooding group to not provide the modified LSP data unit to the second network device. In some implementations, process 500 includes preventing the modified LSP data unit from being flooded to the origin of the modified LSP data unit. In some implementations, process 500 includes creating a two-hop list (THL) of the network device executing the algorithm, creating a remote neighbor list (RNL) of the network device executing the algorithm, and sorting the RNL.
[0071] In some implementations, process 500 includes computing a hash on an identifier of the modified LSP data unit to determine a number, wherein selecting a member of the flooding group includes identifying a network device of the RNL as a member based on the number and the THL. In some implementations, process 500 includes setting a timer associated with detecting a flooding failure, and upon expiration of the timer, identifying a partial sequence number packet (PSNP) of the modified LSP data unit that has not been re-flooded.
[0072] In some implementations, process 500 includes processing the PSNP according to a protocol process to resynchronize modified LSP data units that have not yet been reflooded, and generating a notification indicating the resynchronization of the modified LSP data units that have not yet been reflooded. In some implementations, process 500 includes receiving a signal from the origin of the modified LSP data units identifying an algorithm for calculating a flooding topology. In some implementations, process 500 includes executing a load balancing algorithm based on a mobile ad hoc network. In some implementations, process 500 includes implementing intermediate system to intermediate system cryptographic authentication.
[0073] although Figure 5 Example blocks of process 500 are shown, but in some implementations, Figure 5 Process 500 may include more blocks, fewer blocks, different blocks, or differently arranged blocks than shown. Additionally or alternatively, two or more blocks of process 500 may be performed in parallel.
[0074] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
[0075] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software. Obviously, the systems and / or methods described herein can be implemented in different forms of hardware, firmware, and / or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code - it should be understood that software and hardware can be used to implement the systems and / or methods based on the description herein.
[0076] Although specific feature combinations are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in ways not specifically recited in the claims and / or disclosed in the specification. Although each dependent claim listed below may directly depend on a claim, the disclosure of various implementations includes the combination of each dependent claim with every other claim in the claim set.
[0077] Any element, action or instruction used in this article should not be interpreted as key or necessary, unless clearly described as such.In addition, as used in this article, article " one (a) " and " one (an) " are intended to include one or more projects, and can be used interchangeably with " one or more ".In addition, as used in this article, article " this (the) " is intended to include one or more projects quoted in conjunction with article " this (the) ", and can be used interchangeably with " one or more ".In addition, as used in this article, term " set (set) " is intended to include one or more projects (for example, related project, unrelated project or the combination of related and unrelated project etc.), and can be used interchangeably with " one or more ".If only intend to use one, then use phrase " only one (only one) " or similar language.In addition, as used in this article, term " have (has) ", " have (have) ", " have (having) " etc. are intended to be open term.In addition, unless otherwise clearly stated, phrase " based on " is intended to represent " at least partially based on ". Furthermore, as used herein, the term "or" is intended to be inclusive when used in a serial form and is used interchangeably with "and / or" unless expressly stated otherwise (e.g., if used in conjunction with "any one" or "only one of").
[0078] In the foregoing description, various exemplary embodiments have been described with reference to the accompanying drawings. However, it will be apparent that various modifications and changes may be made thereto, and that additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the appended claims. The description and drawings are, therefore, to be regarded in an illustrative rather than a restrictive sense.
[0079] Some example implementations of the present disclosure are listed below.
[0080] 1. A method comprising:
[0081] receiving, by a first network device in a first layer of the network, a modified link state protocol (LSP) data unit, the LSP data unit also being provided to a plurality of other network devices in the first layer;
[0082] determining, by the first network device, based on the modified LSP data unit, whether an origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as the algorithm and version being executed by the first network device;
[0083] Calculating a shortest path spanning tree SPT by the first network device;
[0084] setting, by the first network device, a metric to 1 for links associated with the first network device and a plurality of other network devices based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that is different than the algorithm and version being executed by the first network device;
[0085] The first network device truncates the SPT into two hops to determine a flooding group including the first network device and a plurality of other network devices;
[0086] selecting, by the first network device, members of the flooding group to flood the modified LSP data unit; and
[0087] The first network device causes the member to provide the modified LSP data unit to a second network device in a second layer of the network.
[0088] 2. The method of example 1, further comprising:
[0089] Other members of the flooding group are prevented from providing the modified LSP data unit to the second network device.
[0090] 3. The method of example 1, further comprising:
[0091] Modified LSP data units are prevented from being flooded to the origin of the modified LSP data units.
[0092] 4. The method of example 1, wherein truncating the SPT comprises:
[0093] The SPT is truncated from the perspective of the origin of the modified LSP data unit and the metric is set to 1.
[0094] 5. The method of example 1, further comprising:
[0095] Create a two-hop list THL of network devices that execute the algorithm;
[0096] Creating a remote neighbor list RNL of the network device executing the algorithm; and
[0097] Sort RNL.
[0098] 6. The method of example 5, further comprising:
[0099] computing a hash over the identifier of the modified LSP data unit to determine a number,
[0100] The members of the flood group are:
[0101] The network devices of the RNL are identified as members based on the number and the THL.
[0102] 7. The method of example 1, wherein the member of the flooding group is the first network device.
[0103] 8. A first network device, comprising:
[0104] one or more memories; and
[0105] One or more processors for:
[0106] receiving a modified link state protocol LSP data unit, the LSP data unit also being provided to a plurality of other network devices in a first layer of a network including the first network device;
[0107] determining, based on the modified LSP data unit, whether an origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as the algorithm and version being executed by the first network device;
[0108] Calculate the shortest path spanning tree SPT;
[0109] setting a metric of 1 for links associated with the first network device and the plurality of other network devices based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that is different than the algorithm and version being executed by the first network device;
[0110] truncating the SPT into two hops to determine a flooding group including the first network device and the plurality of other network devices;
[0111] Selecting members of the flooding group to flood the modified LSP data unit;
[0112] causing the member to provide the modified LSP data unit to a second network device in a second layer of the network; and
[0113] Other members of the flooding group are prevented from providing the modified LSP data unit to the second network device.
[0114] 9. The first network device of example 8, wherein the one or more processors are further configured to:
[0115] Setting a timer associated with detecting a flooding fault; and
[0116] Upon expiration of the timer, a partial sequence number packet PSNP is identified for the modified LSP data unit that has not been re-flooded.
[0117] 10. The first network device of example 9, wherein the one or more processors are further configured to:
[0118] Processing the PSNP according to protocol procedures to resynchronize modified LSP data units that have not been re-flooded; and
[0119] A notification is generated indicating a resynchronization of the modified LSP data units that have not been re-flooded.
[0120] 11. The first network device of example 8, wherein the one or more processors are further configured to:
[0121] A signal is received from an origin of the modified LSP data unit identifying an algorithm used to calculate the flooding topology.
[0122] 12. The first network device of example 8, wherein the one or more processors are further configured to:
[0123] Implement load balancing algorithm based on mobile ad hoc network.
[0124] 13. The first network device of example 8, wherein the one or more processors are further configured to:
[0125] Implement intermediate system to intermediate system password authentication.
[0126] 14. The first network device of example 8, wherein the origin of the modified LSP data unit is a leaf network device of the network.
[0127] 15. A non-transitory computer-readable medium storing an instruction set, the instruction set comprising:
[0128] One or more instructions that, when executed by one or more processors of a first network device in a first layer of a network, cause the first network device to:
[0129] receiving a modified link state protocol (LSP) data unit using intermediate system to intermediate system cryptographic authentication, the LSP data unit also being provided to a plurality of other network devices in the first layer;
[0130] determining, based on the modified LSP data unit, whether an origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as the algorithm and version being executed by the first network device;
[0131] Calculate the shortest path spanning tree SPT;
[0132] setting a metric of 1 for links associated with the first network device and the plurality of other network devices based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that is different than the algorithm and version being executed by the first network device;
[0133] truncating the SPT into two hops to determine a flooding group including the first network device and the plurality of other network devices;
[0134] selecting members of the flooding group to flood the modified LSP data unit; and
[0135] The member is caused to provide the modified LSP data unit to a second network device in a second layer of the network.
[0136] 16. The non-transitory computer-readable medium of example 15, wherein the one or more instructions further cause the first network device to:
[0137] Other members of the flooding group are prevented from providing the modified LSP data unit to the second network device.
[0138] 17. The non-transitory computer-readable medium of example 15, wherein the one or more instructions further cause the first network device to:
[0139] Modified LSP data units are prevented from being flooded to the origin of the modified LSP data units.
[0140] 18. The non-transitory computer-readable medium of example 15, wherein the one or more instructions further cause the first network device to:
[0141] Create a two-hop list THL of network devices that execute the algorithm;
[0142] Create a remote neighbor list RNL of the network device executing the algorithm;
[0143] sorting the RNL; and
[0144] computing a hash over the identifier of the modified LSP data unit to determine a number,
[0145] The one or more instructions causing the first network device to select a member of the flooding group cause the first network device to:
[0146] The network devices of the RNL are identified as members based on the number and the THL.
[0147] 19. The non-transitory computer-readable medium of example 15, wherein the one or more instructions further cause the first network device to:
[0148] Setting a timer associated with detecting a flooding fault; and
[0149] Upon expiration of the timer, a partial sequence number packet PSNP is identified for the modified LSP data unit that has not been re-flooded.
[0150] 20. The non-transitory computer-readable medium of example 19, wherein the one or more instructions further cause the first network device to:
[0151] Processing the PSNP according to protocol procedures to resynchronize modified LSP data units that have not been re-flooded; and
[0152] A notification is generated indicating a resynchronization of the modified LSP data units that have not been re-flooded.
Claims
1. A method comprising: receiving, by a first network device in a first layer of a network, a modified link state protocol (LSP) data unit, the LSP data unit also being provided to a plurality of other network devices in the first layer; determining, by the first network device based on the modified LSP data unit, whether an origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as the algorithm and version being executed by the first network device; Calculating a shortest path spanning tree SPT by the first network device; setting, by the first network device, a metric of 1 for links associated with the first network device and the plurality of other network devices based on a determination that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that are different than the algorithm and version being executed by the first network device; The first network device truncates the SPT into two hops to determine a flooding group including the first network device and the multiple other network devices; Selecting, by the first network device, a member of the flooding group to flood the modified LSP data unit; as well as The first network device causes the member to provide the modified LSP data unit to a second network device in a second layer of the network.
2. The method according to claim 1, further comprising: Other members of the flooding group are prevented from providing the modified LSP data unit to the second network device.
3. The method according to claim 1, further comprising: The modified LSP data unit is prevented from being flooded to the origin of the modified LSP data unit.
4. The method of claim 1 , wherein truncating the SPT comprises: The SPT is truncated from the perspective of the origin of the modified LSP data unit and the metric is set to one.
5. The method according to claim 1, further comprising: Create a two-hop list THL of network devices that execute the algorithm; Creating a remote neighbor list RNL of the network device executing the algorithm; as well as The RNL is sorted.
6. The method according to claim 5, further comprising: computing a hash on the identifier of the modified LSP data unit to determine a number, The selecting of the members of the flooding group includes: The network device of the RNL is identified as the member based on the number and the THL. The method of claim 1 , wherein the member of the flooding group is the first network device.
8. A first network device, comprising: one or more memories; as well as One or more processors for: receiving a modified link state protocol (LSP) data unit, the LSP data unit also being provided to a plurality of other network devices in a first layer of a network including the first network device; determining, based on the modified LSP data unit, whether an origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as are being executed by the first network device; Calculate the shortest path spanning tree SPT; setting a metric of 1 for links associated with the first network device and the plurality of other network devices based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that are different than the algorithm and version being executed by the first network device; truncating the SPT into two hops to determine a flooding group including the first network device and the plurality of other network devices; selecting members of the flooding group to flood the modified LSP data unit; causing the member to provide the modified LSP data unit to a second network device in a second layer of the network; as well as Other members of the flooding group are prevented from providing the modified LSP data unit to the second network device.
9. The first network device of claim 8, wherein the one or more processors are further configured to: Setting a timer associated with detecting a flooding fault; and Upon expiration of the timer, a partial sequence number packet PSNP of the modified LSP data unit that has not been re-flooded is identified.
10. The first network device of claim 9, wherein the one or more processors are further configured to: processing the PSNP according to protocol procedures to resynchronize the modified LSP data units that have not been re-flooded; and A notification is generated indicating a resynchronization of the modified LSP data unit that has not been re-flooded.
11. The first network device of claim 8, wherein the one or more processors are further configured to: A signal is received from the origin of the modified LSP data unit identifying an algorithm used to calculate a flooding topology.
12. The first network device of claim 8, wherein the one or more processors are further configured to: Implement load balancing algorithm based on mobile ad hoc network.
13. The first network device of claim 8, wherein the one or more processors are further configured to: Implement intermediate system to intermediate system password authentication.
14. The first network device of claim 8, wherein the origin of the modified LSP data unit is a leaf network device of the network.
15. A non-transitory computer-readable medium storing an instruction set, the instruction set comprising: One or more instructions that, when executed by one or more processors of a first network device in a first layer of a network, cause the first network device to: receiving a modified link state protocol (LSP) data unit using intermediate system to intermediate system cryptographic authentication, the LSP data unit also being provided to a plurality of other network devices in the first layer; determining, based on the modified LSP data unit, whether an origin of the modified LSP data unit is executing the same algorithm and version of the algorithm as are being executed by the first network device; Calculate the shortest path spanning tree SPT; setting a metric of 1 for links associated with the first network device and the plurality of other network devices based on determining that the origin of the modified LSP data unit is executing an algorithm and a version of the algorithm that are different than the algorithm and version being executed by the first network device; truncating the SPT into two hops to determine a flooding group including the first network device and the plurality of other network devices; selecting members of the flooding group to flood the modified LSP data unit; as well as The member is caused to provide the modified LSP data unit to a second network device in a second layer of the network.
16. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the first network device to: Other members of the flooding group are prevented from providing the modified LSP data unit to the second network device.
17. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the first network device to: The modified LSP data unit is prevented from being flooded to the origin of the modified LSP data unit.
18. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the first network device to: Create a two-hop list THL of network devices that execute the algorithm; Creating a remote neighbor list RNL of the network device executing the algorithm; sorting the RNL; as well as computing a hash on the identifier of the modified LSP data unit to determine a number, wherein the one or more instructions that cause the first network device to select the member of the flooding group cause the first network device to: The network device of the RNL is identified as the member based on the number and the THL.
19. The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the first network device to: Setting a timer associated with detecting a flooding fault; and Upon expiration of the timer, a partial sequence number packet PSNP of the modified LSP data unit that has not been re-flooded is identified.
20. The non-transitory computer-readable medium of claim 19, wherein the one or more instructions further cause the first network device to: processing the PSNP according to protocol procedures to resynchronize the modified LSP data units that have not been re-flooded; and A notification is generated indicating a resynchronization of the modified LSP data unit that has not been re-flooded.