Method, system, device and storage medium for sequential routing update
By receiving update link status notification messages and determining the root node to generate a waiting list of convergence completion, the problem of untimely update of FIB tables caused by network topology changes under the OSPF protocol is solved, and the traffic packet loss formed by micro-rings is avoided, and network convergence is improved. speed.
Patent Information
- Application Number
- CN202111574545.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-21
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2041-12-21
AI Technical Summary
When the network topology changes, the router's FIB table is not updated in time under the OSPF protocol, resulting in packet loops and traffic packet loss.
By receiving update link status notification messages, determine the root node and generate a list of waiting for convergence to complete the convergence, determine the order of routing updates, avoid the router converging simultaneously to form a micro-ring, and ensure the rapid update of the forwarding information table.
It effectively avoids traffic packet loss caused by the router convergence simultaneously to form a micro-ring, speeds up the convergence speed after network topology changes, and ensures the stability of data packet transmission.
Smart Images

Figure CN116319509B_ABST
Abstract
Description
Background Art
[0002] When data is transmitted over the network, data packets are forwarded according to the forwarding information table. In order to avoid packet loops causing traffic loss, it is necessary to ensure that each time the topology changes, the FIB table of each router can quickly determine the update order according to the topology change and update in the correct order.
[0003] For the link-state protocol OSPF (Open Shortest Path First), every time the network topology changes, some routers need to modify their forwarding information base (FIB) in view of the new topology. Each topology change will re-initiate a convergence phase. During this phase, FIB inconsistencies may occur briefly between routers, which can cause packet loops and non-related traffic loss. Summary of the invention
[0004] In response to the problems in the prior art, the purpose of the present invention is to provide a method, system, device and storage medium for sequential routing update, which can quickly determine the update order of the forwarding information tables of all routers in the domain according to the changes in the network topology, avoid traffic packet loss caused by the simultaneous convergence of routers to form micro-rings, and accelerate the convergence speed.
[0005] The embodiment of the present invention provides a method for updating routing in order, comprising the following steps:
[0006] Receive the updated link status notification message and obtain the updated link information and link event type;
[0007] Determining a router as a root node according to the updated link information;
[0008] Generate a waiting convergence completion list according to the determined root node and the link event type, and determine the routing update order;
[0009] After determining that the waiting convergence completion list is empty, updating the routing forwarding information table.
[0010] In some embodiments, before receiving the update link state notification message, the following steps are also included:
[0011] When a link on which a router is located changes, the router sends an update link state advertisement message to other routers in the same network domain.
[0012] In some embodiments, after receiving the update link state notification message, the following steps are also included:
[0013] Obtaining link information in the update link status notification message;
[0014] According to the link information, query the local link database for a corresponding link status announcement;
[0015] Comparing the update link state advertisement message with the advertisement information in the queried link state advertisement;
[0016] If they are consistent, the currently received update link state notification message will not be processed;
[0017] If they are inconsistent, the link information is used as updated link information, and the link event type is determined.
[0018] In some embodiments, determining a router as a root node according to the updated link information comprises the following steps:
[0019] Determining whether the changed link is a local link according to the updated link information;
[0020] If yes, compare the router ID of this node with the neighbor router ID of the changed link, and select the router with the largest ID as the root node;
[0021] If not, the router identifier of the changed link node is compared with the identifier of the advertising router of the received update link state advertisement message, and the router with the largest identifier is selected as the root node.
[0022] In some embodiments, generating a waiting convergence completion list according to the root node and the link event type comprises the following steps:
[0023] Determine whether the link event type is a failure type event or a recovery type event;
[0024] If it is a fault type event, recursively calculate the child nodes of the current node according to the root node determined by parsing the updated link state notification message received for the first time, and add the router corresponding to the child node to the waiting convergence completion list;
[0025] If it is a recovery type event, the parent node of the current node is recursively calculated based on the root node determined by parsing the last received update link state notification message, and the router corresponding to the parent node is added to the waiting convergence completion list.
[0026] In some embodiments, the link is a link based on the OSPF protocol, and the root node is a root node for rSPT calculation.
[0027] In some embodiments, after determining that the waiting convergence completion list is empty, updating the routing forwarding information table includes the following steps:
[0028] Determine whether the waiting convergence completion list is empty;
[0029] If yes, the routing table is calculated and the forwarding information table is updated synchronously, and after a preset delay time, an update notification message is sent to the neighboring node;
[0030] If not, it is determined whether the update notification information is received. If the update notification information is received, the router that sends the update notification information is deleted from the local list of routers waiting for convergence completion.
[0031] In some embodiments, after determining whether update notification information is received, if update notification information is received, it also includes determining whether the router sending the update notification information exists in the local waiting convergence completion list. If so, the router sending the update notification information is deleted from the local waiting convergence completion list.
[0032] In some embodiments, the following steps are also included:
[0033] A business load indicator is obtained, and a duration of the preset delay time is configured according to the business load indicator.
[0034] The embodiment of the present invention further provides a sequential routing update system for implementing the sequential routing update method, the system comprising:
[0035] The interface module is used to receive the update link status notification message and obtain the updated link information and link event type;
[0036] A change detection module, used to determine a router as a root node according to the updated link information;
[0037] A list generation module, used to generate a waiting convergence completion list according to the root node determined by the change detection module and the link event type, and determine the routing update order;
[0038] The sequential routing update module is used to update the routing forwarding information table after determining that the waiting convergence completion list is empty.
[0039] The embodiment of the present invention further provides a sequential routing update device, including:
[0040] processor;
[0041] a memory storing executable instructions of the processor;
[0042] The processor is configured to perform the steps of the sequential routing update method by executing the executable instructions.
[0043] The embodiment of the present invention further provides a computer-readable storage medium for storing a program, wherein the program implements the steps of the sequential routing update method when executed by a processor.
[0044] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure.
[0045] The sequential routing update method, system, device and storage medium of the present invention have the following beneficial effects:
[0046] The present invention determines whether it is a fault event or a recovery event by parsing the link status notification message received for link update, and uniquely determines the root node for executing route calculation, and the root node is used to generate the corresponding waiting convergence completion list. After the waiting convergence completion list is generated, it is determined whether the waiting convergence completion list is empty. If the waiting convergence completion list is empty, the route forwarding information table is updated immediately. By adopting the present invention, the update order of the forwarding information table of all routers in the domain can be quickly determined according to the change of network topology, so as to avoid the traffic packet loss caused by the simultaneous convergence of routers to form a micro-ring, and accelerate the convergence speed. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Other features, objectives and advantages of the present invention will become more apparent from a reading of the detailed description of non-limiting embodiments made with reference to the following accompanying drawings.
[0048] Figure 1 is a flow chart of a sequential routing update method according to an embodiment of the present invention;
[0049] Figure 2 is a processing flow chart after receiving an update link state notification message according to an embodiment of the present invention;
[0050] Figure 3 is a flow chart of determining a router as a root node according to the updated link information according to an embodiment of the present invention;
[0051] Figure 4 is a flowchart of generating a waiting convergence completion list according to the root node and the link event type according to an embodiment of the present invention;
[0052] Figure 5 is a flow chart of updating a routing forwarding information table according to an embodiment of the present invention;
[0053] Figure 6 is a schematic diagram of the structure of a sequential routing update system according to an embodiment of the present invention;
[0054] Figure 7 is a schematic diagram of the structure of a sequential routing update device according to an embodiment of the present invention;
[0055] Figure 8 It is a schematic diagram of the structure of a computer-readable storage medium according to an embodiment of the present invention. DETAILED DESCRIPTION
[0056] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that the disclosure will be more comprehensive and complete and to fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0057] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and thus their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.
[0058] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the steps. For example, some steps may be decomposed, while some steps may be combined or partially combined. Therefore, the actual execution order may be changed according to the actual situation.
[0059] like Figure 1 As shown, an embodiment of the present invention provides a method for updating routing in order, comprising the following steps:
[0060] S100: receiving an update link status notification message, obtaining updated link information and link event types, where the link event types include failure events and recovery events;
[0061] S200: Determine a router as a root node according to the updated link information;
[0062] S300: Generate a waiting convergence completion list according to the root node determined in step S200 and the link event type, and determine the routing update order;
[0063] S400: After determining that the waiting convergence completion list is empty, updating the routing forwarding information table.
[0064] In this embodiment, the link is a link based on the OSPF protocol. This embodiment provides a fast routing method for OSPF to prevent micro-loops. It determines whether it is a fault event or a recovery event by parsing the received OSPF link state notification message of the link update, and uniquely determines the root node for performing the routing calculation. The root node is used to generate the corresponding waiting convergence completion list. After the waiting convergence completion list is generated, it is determined whether the waiting convergence completion list is empty. If the waiting convergence completion list is empty, the routing forwarding information table is updated immediately. By adopting the present invention, the update order of the forwarding information table of all routers in the domain can be quickly determined according to the changes in the network topology, avoiding the traffic packet loss caused by the simultaneous convergence of the routers to form a micro-loop, and accelerating the convergence speed.
[0065] The sequential routing update method of the present invention can be deployed in each router in the same network domain. That is, each router executes the above steps S100 to S400 to automatically and timely update the local routing forwarding information table to achieve fast routing update to prevent microloops.
[0066] The main terms involved in this embodiment are explained below: FIB (Forwarding Info Base): Forwarding information table, used to determine how to forward based on the network prefix of the IP packet. oFIB (Ordered FIB updates): A method for controlling the router to update the FIB table in order. SPF (Shortest Path First): Shortest Path First algorithm, also known as Dijkstra algorithm. rSPF (Reverse SPF): Reverse SPF algorithm, in SPF, other non-root nodes point to the root node, rather than the root node pointing to the non-root node. rSPT: Reverse Shortest Path Tree, a data structure tree generated using the rSPF algorithm.
[0067] In this embodiment, the step S100: before receiving the update link status notification message, further includes the following steps:
[0068] When a link where a router is located changes, the router sends an update link state notification message to other routers in the same network domain. Specifically, the router floods the update link state notification message from all OSPF neighbors. The above steps S100 to S400 are the actions executed by other routers in the same network domain after receiving the update link state notification message.
[0069] like Figure 2 As shown, in this embodiment, the step S100: after receiving the update link status notification message, further includes the following steps:
[0070] S110: Acquire link information in the update link status notification message;
[0071] S120: Query the local link database for a corresponding old link status advertisement according to the link information;
[0072] S130: Compare the notification information in the updated link state notification message and the old link state notification found to be consistent;
[0073] If yes, it means that the received message is a duplicate message, and the process continues to step S140: do not process the currently received update link state notification message;
[0074] If not, proceed to step S150: use the link information as updated link information, and determine the link event type, specifically, determine whether it is a fault type event or a recovery type event according to the link parameters of the acquired link status notification message.
[0075] like Figure 3 As shown, in this embodiment, the step S200: determining the router as the root node according to the updated link information includes the following steps:
[0076] S210: Detecting a current link change according to the updated link information;
[0077] S220: Determine whether the changed link is a local link;
[0078] If yes, proceed to step S231: directly compare the router ID of the node with the neighbor router ID of the changed link, and proceed to step S232: select the router with the largest ID as the root node for rSPT calculation;
[0079] If not, proceed to step S241: compare the router ID of the changed link node with the ID of the advertising router of the received update link state advertisement message, and proceed to step S242: select the router with the largest ID as the root node for rSPT calculation.
[0080] like Figure 4 As shown, in this embodiment, the step S300: generating a waiting convergence completion list according to the root node and the link event type includes the following steps:
[0081] S310: Determine whether the link event type is a failure type event or a recovery type event;
[0082] If it is a failure type event, including link failure / increase in link cost, then proceed to step S321: recursively calculate the child nodes of the current node according to the root node for rSPT calculation determined by parsing the updated link state notification message received for the first time, and then proceed to step S322: add the router corresponding to the child node to the waiting convergence completion list;
[0083] If it is a recovery type event, including link recovery / link overhead reduction, continue with step S331: recursively calculate the parent node of the current node based on the root node used for rSPT calculation determined by parsing the last received update link status announcement message, and then continue with step S332: add the router corresponding to the parent node to the list waiting for convergence completion.
[0084] Through step S300, each router locally establishes a waiting convergence completion list, and needs to wait for the parent nodes / child nodes in it to complete the update before performing the sequential routing update. Each node can uniquely determine the root node of the rSPT, improving the accuracy of the FIB table update.
[0085] like Figure 5 As shown, in this embodiment, the step S400: after determining that the waiting convergence completion list is empty, updating the routing forwarding information table includes the following steps:
[0086] S410: Determine whether the waiting convergence completion list is empty;
[0087] If yes, proceed to step S420: calculate the routing table and synchronously update the forwarding information table, and send update notification information to the neighbor node after a preset delay time. Specifically, after the update is completed, the delayed notification timer can be started, and the notification information is sent to the router of the neighbor node after the timer times out. The timer delay time is a preset delay time delay, which can be configured according to the speed at which the FIB table is sent to the forwarding plane;
[0088] If not, continue with step S431: determine whether the update notification information is received. If the update notification information is received, continue with step S433: delete the router that sent the update notification information from the local waiting convergence completion list, and then continue with step S410 to determine whether the local waiting convergence completion list is empty. If the update notification information is not received, no processing is performed.
[0089] In this embodiment, the step S431: after determining whether the update notification information is received, if the update notification information is received, it also includes step S432: determining whether the router sending the update notification information exists in the local waiting convergence completion list, if so, continuing to step S433: deleting the router sending the update notification information from the local waiting convergence completion list, if not, no processing is performed.
[0090] By adopting step S400, the waiting convergence completion list calculated by each node based on the same rSPF root node has a strict dependency relationship, and the order of updating the FIB table can be strictly determined. The present invention can accelerate the convergence speed by quickly adjusting the FIB table update order according to the network topology change.
[0091] In this embodiment, the sequential routing update method further includes the following steps:
[0092] Obtain a service load indicator, and configure the duration of the preset delay time according to the service load indicator. There may be no limited relationship in the execution order between this step and the aforementioned steps S100 to S400, that is, this step can be selected and executed as needed at any time during the operation of the network domain. The type of the service load indicator can be selected as needed, for example, the service load indicator can be the speed at which the FIB table is sent to the forwarding plane. By dynamically adjusting the time interval for the router to update the FIB table according to the forwarding capability, it is beneficial to improve the robustness of the system.
[0093] like Figure 6 As shown, an embodiment of the present invention further provides a sequential routing update system for implementing the sequential routing update method, the system comprising:
[0094] The interface module M100 is used to receive the update link status notification message and obtain the updated link information and link event type;
[0095] A change detection module M200, configured to determine a router serving as a root node according to the updated link information;
[0096] A list generation module M300, used to generate a waiting convergence completion list according to the root node determined by the change detection module M200 and the link event type, and determine the routing update order;
[0097] The sequential routing update module M400 is used to update the routing forwarding information table after determining that the waiting convergence completion list is empty.
[0098] This embodiment provides an OSPF anti-microloop routing update system, which determines whether it is a fault event or a recovery event by parsing the received OSPF link state notification message of the link update, and uniquely determines the root node for executing the routing calculation, and the root node is used to generate the corresponding waiting convergence completion list. After the waiting convergence completion list is generated, it is determined whether the waiting convergence completion list is empty. If the waiting convergence completion list is empty, the routing forwarding information table is updated immediately. By adopting the present invention, the update order of the forwarding information table of all routers in the domain can be quickly determined according to the changes in the network topology, avoiding the traffic packet loss caused by the simultaneous convergence of routers to form microloops, and accelerating the convergence speed.
[0099] The sequential routing update system of the present invention can be deployed in each router in the same network domain. That is, each router is configured with the above-mentioned interface module M100, change detection module M200, list generation module M300 and sequential routing update module M400, so that the local routing forwarding information table can be automatically and timely updated, and the routing fast update with anti-microloop can be realized.
[0100] In this embodiment, the interface module M100 is also used to send an update link state notification message to other routers in the same network domain when the link where it is located changes. Specifically, the router floods the update link state notification message from all OSPF neighbors. The interface module M100, change detection module M200, list generation module M300 and sequential routing update module M400 of other routers in the same network domain sequentially execute steps S100 to S400 in the above-mentioned sequential routing update method to complete the rapid routing update.
[0101] In this embodiment, after the interface module M100 receives the update link status notification message, it obtains the link information in the update link status notification message; queries the corresponding old link status notification in the local link database based on the link information; compares whether the notification information in the update link status notification message and the queried old link status notification are consistent; if so, it means that the received message is a duplicate message, and the currently received update link status notification message is not processed; if not, the link information is used as the updated link information, and the link event type is determined, specifically, whether it is a fault type event or a recovery type event is determined based on the link parameters of the obtained link status notification message.
[0102] In this embodiment, the change detection module M200 determines the router as the root node according to the updated link information, including: detecting the current link change according to the updated link information; judging whether the changed link is a local link; if so, directly comparing the router identifier of the current node with the neighbor router identifier of the changed link, and selecting the router with the largest identifier as the root node for rSPT calculation; if not, comparing the router identifier of the changed link node with the identifier of the notification router of the received updated link state notification message, and selecting the router with the largest identifier as the root node for rSPT calculation.
[0103] In this embodiment, the list generation module M300 generates a waiting convergence completion list according to the root node and the link event type, including: determining whether the link event type is a fault type event or a recovery type event; if it is a fault type event, including link failure / link cost increase, recursively calculating the child nodes of the current node based on the root node for rSPT calculation determined by parsing the update link status announcement message received for the first time, and then adding the routers corresponding to the child nodes to the waiting convergence completion list; if it is a recovery type event, including link recovery / link cost reduction, recursively calculating the parent node of the current node based on the root node for rSPT calculation determined by parsing the update link status announcement message received for the last time, and then adding the routers corresponding to the parent node to the waiting convergence completion list.
[0104] In this embodiment, after the sequential routing update module M400 determines that the waiting convergence completion list is empty, the routing forwarding information table is updated, including: determining whether the waiting convergence completion list is empty, if the waiting convergence completion list is empty, immediately updating the FIB table and sending the update notification information of convergence completion to the router of the neighboring node; if the waiting convergence completion list is not empty, after receiving the notification information sent by the router of the neighboring node in the waiting convergence completion list, the neighbor table item is deleted from the waiting convergence completion list, if the waiting convergence completion list is empty at this time, the FIB table is immediately updated, and the update notification information is sent to the routers of all neighboring nodes. By adopting the present invention, the FIB table update order of all devices in the domain can be quickly determined according to the network topology changes, avoiding the traffic packet loss caused by the simultaneous convergence of routers to form micro-rings, and accelerating the convergence speed.
[0105] An embodiment of the present invention further provides an ordered routing update device, comprising a processor; a memory, in which executable instructions of the processor are stored; wherein the processor is configured to execute the steps of the ordered routing update method by executing the executable instructions.
[0106] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as a system, method or program product. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as a "circuit", "module" or "platform".
[0107] Refer to the following Figure 7 The electronic device 600 according to this embodiment of the present invention is described. Figure 7 The electronic device 600 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0108] like Figure 7 As shown, the electronic device 600 is in the form of a general computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including the storage unit 620 and the processing unit 610), a display unit 640, etc.
[0109] The storage unit stores a program code, which can be executed by the processing unit 610, so that the processing unit 610 performs the steps of various exemplary embodiments of the present invention described in the above-mentioned sequential routing update method section of this specification. For example, the processing unit 610 can perform the following steps: Figure 1 Follow the steps shown in .
[0110] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache memory unit 6202 , and may further include a read-only memory unit (ROM) 6203 .
[0111] The storage unit 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each of which or some combination may include the implementation of a network environment.
[0112] Bus 630 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0113] The electronic device 600 may also communicate with one or more external devices 700 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 600, and / or communicate with any device that enables the electronic device 600 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 650. Furthermore, the electronic device 600 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 660. The network adapter 660 may communicate with other modules of the electronic device 600 via a bus 630. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0114] In the sequential routing update device, the program in the memory implements the steps of the sequential routing update method when executed by the processor. Therefore, the device can also obtain the technical effect of the above-mentioned sequential routing update method.
[0115] The embodiment of the present invention also provides a computer-readable storage medium for storing a program, and when the program is executed by a processor, the steps of the sequential routing update method are implemented. In some possible implementations, various aspects of the present invention can also be implemented in the form of a program product, which includes a program code, and when the program product is executed on a terminal device, the program code is used to enable the terminal device to perform the steps of various exemplary embodiments of the present invention described in the above sequential routing update method section of this specification.
[0116] refer to Figure 8 As shown, a program product 800 for implementing the above method according to an embodiment of the present invention is described, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be executed on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.
[0117] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0118] The computer readable storage medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by an instruction execution system, an apparatus, or a device or used in combination with it. The program code contained on the readable storage medium may be transmitted with any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the above.
[0119] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).
[0120] When the program in the computer storage medium is executed by the processor, the steps of the sequential routing update method are implemented. Therefore, the computer storage medium can also obtain the technical effect of the sequential routing update method.
[0121] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.
Claims
1. A sequential routing update method, characterized in that: The steps include: Receive the updated link status notification message and obtain the updated link information and link event type; Determining a router as a root node according to the updated link information; Generate a waiting convergence completion list according to the determined root node and the link event type, and determine the routing update order; After determining that the waiting convergence completion list is empty, updating the routing forwarding information table; The step of generating a waiting convergence completion list according to the root node and the link event type includes the following steps: Determine whether the link event type is a failure type event or a recovery type event; If it is a fault type event, recursively calculate the child nodes of the current node according to the root node determined by parsing the updated link state notification message received for the first time, and add the router corresponding to the child node to the waiting convergence completion list; If it is a recovery type event, recursively calculate the parent node of the current node according to the root node determined by parsing the last received update link state notification message, and add the router corresponding to the parent node to the waiting convergence completion list; Wherein, after determining that the waiting convergence completion list is empty, updating the routing forwarding information table includes the following steps: Determine whether the waiting convergence completion list is empty; If yes, the routing table is calculated and the routing forwarding information table is updated synchronously, and after a preset delay time, an update notification message is sent to the neighboring node; If not, it is determined whether the update notification information is received. If the update notification information is received, the router that sends the update notification information is deleted from the local list of routers waiting for convergence completion.
2. The sequential routing update method according to claim 1, characterized in that: Before receiving the update link status notification message, the following steps are also included: When a link on which a router is located changes, the router sends an update link state advertisement message to other routers in the same network domain.
3. The sequential routing update method according to claim 1, characterized in that: After receiving the update link status notification message, the following steps are also included: Obtaining link information in the update link status notification message; According to the link information, query the local link database for a corresponding link status announcement; Comparing the update link state advertisement message with the advertisement information in the queried link state advertisement; If they are consistent, the currently received update link state notification message will not be processed; If they are inconsistent, the link information is used as updated link information, and the link event type is determined.
4. The sequential routing update method according to claim 1, characterized in that: Determining a router as a root node according to the updated link information comprises the following steps: Determining whether the changed link is a local link according to the updated link information; If yes, compare the router ID of this node with the neighbor router ID of the changed link, and select the router with the largest ID as the root node; If not, the router identifier of the changed link node is compared with the identifier of the advertising router of the received update link state advertisement message, and the router with the largest identifier is selected as the root node.
5. The sequential routing update method according to claim 1, characterized in that: The link is a link based on the OSPF protocol, and the root node is a root node used for rSPT calculation.
6. The sequential routing update method according to claim 1, characterized in that: After determining whether the update notification information is received, if the update notification information is received, it also includes determining whether the router sending the update notification information exists in the local waiting convergence completion list. If so, the router sending the update notification information is deleted from the local waiting convergence completion list.
7. The sequential routing update method according to claim 1, characterized in that: The following steps are also included: A business load indicator is obtained, and a duration of the preset delay time is configured according to the business load indicator.
8. A sequential routing update system, characterized in that: For implementing the sequential routing update method according to any one of claims 1 to 7, the system comprises: An interface module, used for receiving an update link status notification message, and obtaining updated link information and link event types; A change detection module, used to determine a router as a root node according to the updated link information; A list generation module, used to generate a waiting convergence completion list according to the root node determined by the change detection module and the link event type, and determine the routing update order; The sequential routing update module is used to update the routing forwarding information table after determining that the waiting convergence completion list is empty.
9. A sequential routing update device, characterized in that: include: processor; a memory storing executable instructions of the processor; The processor is configured to perform the steps of the sequential routing update method according to any one of claims 1 to 7 by executing the executable instructions.
10. A computer-readable storage medium for storing a program, characterized in that: When the program is executed by a processor, the steps of the sequential routing update method according to any one of claims 1 to 7 are implemented.
