A method for avoiding path selection conflicts in IP fast rerouting
By introducing a central server and priority queues, the optimal path is dynamically allocated, solving the problem of path selection conflicts in fast rerouting and improving network reliability and stability.
Patent Information
- Application Number
- CN202411869753.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2044-12-18
AI Technical Summary
Existing fast rerouting methods cannot effectively avoid path selection conflicts when facing multiple link failures, resulting in network instability and congestion.
A central server is introduced to broadcast the router's path selection intention and request, and combined with priority queue and path quality score, the optimal path is dynamically allocated to avoid path selection conflicts.
It effectively reduces the information interaction time between nodes, reduces the waiting time for rerouting path selection, improves the reliability and stability of the network, and avoids network congestion caused by path selection conflicts.
Smart Images

Figure CN119766714B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of network rerouting, and in particular relates to a method for avoiding path selection conflicts in IP fast rerouting. Background Art
[0002] Computer networks have made tremendous progress over the past two decades and have become a vital infrastructure of the information society. They play a vital role in daily life, social development, and progress. If the Internet is unavailable, the consequences will be very serious.
[0003] To mitigate network unavailability, various link-state protocols have been deployed. These protocols respond to link failures by enabling routers to detect adjacent link failures, propagate link state changes, and then recalculate their routing tables using updated topology information. However, further research has revealed that restoring forwarding after a link failure typically takes several seconds. During this time, some packets that cannot reach their destination are discarded. In today's high-speed networks, even short recovery times can result in significant packet loss. While some measures have been implemented to accelerate the convergence of link-state routing protocols, these measures can lead to network instability, especially in the face of frequent transient link failures. To quickly restore network functionality, fast reroute has been proposed. When a packet becomes unable to continue its forward progress, network devices automatically select a new path and resend it to its destination.
[0004] In fast rerouting, one of the most important issues is how to avoid loops. Figure 1 For example, node 1 wants to transmit a data packet to node 6. According to the shortest path algorithm, the shortest path from node 1 to destination 6 is 1-2-5-6. Assuming that link 2-5 fails, node 2 will update the routing table entries of each node to destination 6, such as Figure 2 As shown in the figure, during the update process, node 2 will discard the data packet from node 1. At the same time, if node 2 does not synchronize the updated result to other nodes, such as node 1, node 1 will continue to send data packets to node 2, thus forming a loop.
[0005] The first to propose a solution is [S.Nelakuditi,S.Lee,Y.Yu,Z.-L.Zhang and C.-N.Chuah,"Fast Local Rerouting for Handling Transient Link Failures,"in IEEE / ACM Transactions on Networking,vol.15,no.2,pp.359-372,April2007.] and [JunlingWang and Srihari Nelakuditi.2007.IP fast reroute with failure inferencing.InProceedings of the 2007SIGCOMM workshop on Internet network management(INM'07).], the core idea of these two articles is similar, both use a special port to tell the sender of the data packet that its next hop has failed. Figure 1 For example, when link 2-5 fails, node 2 does not discard the data packet, but resends it to node 1. Node 1 uses a special port to receive the data packet. When node 1 receives the data packet through the special port, it knows that link 2-6 has failed, and thus selects 1-4-6 as its transmission path, thus avoiding loops. In addition to using special ports, some people have proposed using IP tunneling technology to avoid loops [G.Enyedi, P.Szilagyi, G.Retvari and A.Csaszar, "IP Fast ReRoute: Lightweight Not-Via without Additional Addresses," IEEE INFOCOM 2009, Rio de Janeiro, Brazil, 2009, pp.2771-2775.]. Both methods can effectively solve the problem of loops that may occur in fast rerouting.
[0006] As research deepened, it was discovered that the above methods could only handle situations where a single link failure occurred in a router within the network. If multiple outgoing paths from a router failed, the above methods would no longer be applicable. Therefore, a fast rerouting algorithm using a tree-like storage structure was proposed. The core idea of both methods is to perform fast rerouting by constructing multiple arc-disjoint trees. [T. Elhourani, A. Gopalan and S. Ramasubramanian, "IP Fast Rerouting for Multi-Link Failures," in IEEE / ACM Transactions on Networking, vol. 24, no. 5, pp. 3014-3025, October 2016.] proposed using a vector to allow routers to select the tree structure to use for rerouting. The method proposed by [K.-T.Foerster,Y.-A.Pignolet,S.Schmid and G.Tredan,"CASA:Congestion and Stretch Aware Static Fast Rerouting,"IEEE INFOCOM 2019-IEEE Conference on Computer Communications,Paris,France,2019.] uses a matrix to select the tree structure, so as to avoid all faulty flows using the same tree structure, which will cause congestion in the tree structure. Later, [G.Bankhamer,R. and S.Schmid,"Local Fast ReroutingWith Low Congestion:A Randomized Approach,"in IEEE / ACM Transactions on Networking,vol.30,no.6,pp.2403-2418,Dec.2022.] proposed a more randomized method to avoid congestion on a certain path.
[0007] While the three methods mentioned above all effectively address the issue of multiple link failures in routers, and some articles have also addressed the issue of path selection conflicts, their designs are static. This means their processing methods and selection logic are pre-programmed for the router before a link failure occurs. However, when a link failure actually occurs, each node performs link selection locally based on this pre-programmed logic. In other words, during the selection process, there's no information exchange between nodes, so nodes don't know which path other nodes will choose. Consequently, when multiple nodes attempt to change paths, they may still choose the same path, causing congestion on that path as soon as transmission begins. Therefore, a method is needed to prevent path selection conflicts in routers when a failure actually occurs. Summary of the Invention
[0008] The present invention provides a method for avoiding path selection conflicts in IP fast rerouting, which improves the arc-disjoint tree method mentioned in the background art and sets a central server to process the request of each router; the central server allocates a corresponding path to each requesting router based on the quality of the path, thereby avoiding path selection conflicts caused by the routers independently selecting rerouting paths.
[0009] A method for avoiding path selection conflicts in IP fast reroute comprises the following steps:
[0010] (1) During network transmission, when a router finds that the next hop of the path it is about to transmit is congested, in order for the data packet to reach the destination node normally, the router chooses to change the data packet transmission path, that is, the router performs fast rerouting;
[0011] (2) The router first generates the intention to select the path with the best quality, and then transmits the intention to all nodes in the network through data packet broadcasting;
[0012] (3) After the broadcast is completed, the router checks its cache to see if there are other routers that want to select the path. If so, it proceeds to step (4). If not, the router waits for a while. If the router does not receive a message packet to select the path during the waiting time, the router updates the path by itself and transmits the path update information to the central server.
[0013] (4) If in step (3), there are message packets in the router cache from other routers that want to choose this path, or the router receives message packets from other routers that want to choose this path during the waiting time, then the router will send a request to the central server to change the path, so that the central server can allocate a path for itself;
[0014] (5) When the central server receives the request from the router, it adds the request to the request processing queue and processes the router's request in the order of the queue;
[0015] (6) When the central server starts processing a request, it first removes the request from the queue and obtains the ID of the router that sent the request. It then searches the database for paths related to the router and selects a path with the best quality to assign to the router.
[0016] (7) After the allocation is completed, the server updates the database and then continues to process the request of the next router.
[0017] In step (1), a central server is set up in the network, and the server exchanges messages with each node in the network and allocates a new transmission path to the node that sends the request.
[0018] In step (2), the router will first find the new path to be replaced according to its own set rules. However, in order to avoid path selection conflicts, it will not use the path for transmission immediately. Instead, it will generate a data packet that wants to use the path and broadcast the data packet so that every router in the network knows its path selection intention.
[0019] In step (3), the router opens up an area in its own storage as a temporary cache to store the message data packets containing the selection intentions of other nodes.
[0020] In step (3), the router waits for a period of time T wait , the calculation formula is as follows:
[0021] T wait =max(T ij )
[0022] i∈[1,n],j∈[1,n],i≠j
[0023] Among them, T ij It represents the time consumed for one-way message transmission between any two nodes i and j in the network, n represents the number of nodes, T wait It is the maximum time consumed for one-way message transmission between any two nodes in the network, that is, the time the router waits.
[0024] In step (5), in order to prevent some key routers from waiting too long, which would seriously affect the stability of the network, a priority is set for each router. The queue in the central server is a priority queue, and requests with high priority will be processed first.
[0025] At the same time, in order to prevent low-priority requests from being queued up by high-priority requests and causing starvation, waiting time is introduced in the priority calculation, which can effectively avoid the starvation problem.
[0026] In step (6), the database in the central server stores the ID of each router and all the paths on which the router is located. The central server scores all paths based on the static and dynamic information of the paths, so that each new path selected is the one with the best path quality.
[0027] The specific process of step (6) is:
[0028] (6-1) The server takes out the request from the priority queue in order and obtains the corresponding router ID;
[0029] (6-2) After obtaining the ID, the server searches the database for the paths connected to the router and the score of each path;
[0030] (6-3) The server assigns the path with the highest score to the requesting node. At the same time, because new nodes will use this path, its score will be reduced accordingly to reduce the possibility of it being selected by subsequent routers.
[0031] Considering the inconveniences of information exchange between nodes in a distributed system, the present invention uses a centralized approach to solve the problem of information exchange between nodes. Compared with the existing technology, the present invention has the following advantages:
[0032] 1. The present invention solves a problem that has not been solved in existing fast rerouting: how to avoid path selection conflicts.
[0033] 2. The present invention greatly reduces the time for exchanging information between nodes and the waiting time for selecting a new rerouting path, which is beneficial to the reliability and stability of the network.
[0034] 3. This invention optimizes the centralized method and effectively alleviates the problems that may arise in traditional centralized networks. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 This is a schematic diagram of the network topology of the fast reroute mentioned in the background technology.
[0036] Figure 2 for Figure 1 Routing table entries from each node to node 6 before and after the failure of links 2 to 5.
[0037] Figure 3 The present invention provides a flowchart of a method for avoiding path selection conflicts in IP fast reroute according to an embodiment of the present invention. DETAILED DESCRIPTION
[0038] The present invention will be described in further detail below with reference to the accompanying drawings and examples. It should be noted that the following examples are intended to facilitate understanding of the present invention and do not have any limiting effect on the present invention.
[0039] like Figure 3 As shown, a method for avoiding path selection conflicts in IP fast reroute mainly includes the following steps:
[0040] The router broadcasts the message of changing the data packet transmission path to all nodes; the router checks whether there are other routers in the cache that want to choose the data packet of this path. If so, the router sends a request to the server. If not, the router waits for a while; when the central server receives the router's request, it adds the request to the request processing queue and processes the router's request in the order of the queue; after processing, the server assigns the selected path to the requesting router, and after completion, the server updates the database and then continues to process the next router's request.
[0041] Specifically, before the network starts transmitting, the following preparations must be made first:
[0042] 1) The server calculates the score of each path based on the collected network information and stores it in a database. The server then sends the score and information of the path associated with each node to the corresponding node so that subsequent nodes can select the rerouting path based on this information.
[0043] 2) The server also assigns a priority to each router. The priority calculation rules are as follows:
[0044] for all i∈[1,n]Priority(i)=deg(i)
[0045] Where deg(i) represents the degree of node i, which is the sum of the out-degree and in-degree of node i.
[0046] 3) The server will number each path and each node separately, and will inform each node of the path number.
[0047] 4) The router will open up an area in its own storage space to temporarily store message data packets from other nodes.
[0048] When a router detects congestion on the next hop and wants to reroute, it does the following:
[0049] 1) First, the router will update the optimal path to the routing table based on the path information distributed by the server.
[0050] 2) The router starts searching the routing table. When it finds the entry corresponding to the optimal path, it does not immediately transmit the data packet according to the entry. Instead, it generates a message data packet and broadcasts it.
[0051] 3) Since the message data packet only needs to transmit the information of the router's intended path, its overhead is very small, and it is only necessary to include the router's intended path ID in the data packet header.
[0052] 4) After the router broadcasts the message data packet, it begins to read the message data packets in its cache area and obtain the ID of the desired path of other nodes from its packet header. During the memory reading period, the router temporarily disables the write function of the memory area. If message data packets arrive at this time, the router will temporarily store them and process them after reading the entire memory area.
[0053] 5) If there is a node with the same ID as the desired path, the node will immediately send a request data packet to the server, which only needs to contain the ID of the node.
[0054] 6) If it does not exist, the router will first check the temporarily stored message data packet. If the same ID exists, it will directly request the server. If it does not exist, the router will wait for a period of time T wait , which is calculated as follows:
[0055] i∈[1,n], j∈[1,n], i≠j T wait =max(T ij )
[0056] Among them, T ij represents the time consumed by one-way message transmission between any two nodes in the network, then T wait It is the longest time consumed for one-way message transmission between any two nodes in the network. The reason for using the maximum value instead of the minimum value here is to prevent the unauthorized path selection before the message data packets of certain nodes arrive, thereby preventing possible path selection conflicts. Specifically, the following example can be considered: three nodes A, B, and C form a triangular network topology. Assume that the one-way communication time between AB is 1s, BC is 0.7s, and AC is 0.5s, and the three nodes simultaneously broadcast their message data packets to select path 1. If the waiting time of the present invention is the minimum value, that is, 0.5s, then after the waiting time is over, if node B does not receive any message data packets from other nodes, it will automatically select path 1 as its own rerouting path. However, at this time, nodes AC both want to choose path 1, but their message data packets have not yet arrived at node B, which will still lead to path selection conflicts.
[0057] 7) If the node still does not receive a message data packet from other nodes within the waiting time, the node will change the path on its own and send a data packet to the server to inform the server of its decision, which contains: the router ID, the bandwidth required by the router to use the path, the total number of data packets sent, and other information. The server will update the score of the path based on this information.
[0058] When a router sends a request to a server due to a path selection conflict, the server performs the following operations:
[0059] 1) The server will first set up a priority queue to store the requests of each router. To prevent low-priority requests from being starved, the priority in the priority queue is different from the priority of the router. The present invention calls the priority in the queue the effective priority and the priority of the router the initial priority. At the same time, assume that the initial priority of router i is Priority(i) and the waiting time of the request of router i is T w (i), the effective priority of router i is calculated as:
[0060] QP(i)=Priority(i)+T w (i)*k
[0061] Where k represents the waiting weight, and the value of k can be determined according to the specific conditions of the network. The present invention assumes that the network load is l, then the calculation formula of k is:
[0062] k=k0*(1-l)
[0063] Where k0 is 50, l∈[0,1] represents the current network load rate. The reason for setting k0=50 here is that the time it takes for a server in the network to process a request is about 10ms, T w The unit of (i) is seconds. The present invention assumes that the network load rate is 50%, that is, l = 0.5, k0 = 50, which means that the router's request needs to wait for 4 processing times before it has the same effective priority as a node that is 1 higher than its initial priority, which is in line with the expectations of the present invention.
[0064] 2) After receiving a request, the server will put it into the queue according to the effective priority. Every time the server processes a request, it will recalculate the priority of all requests and re-sort them to ensure that requests with high effective priority are processed first.
[0065] 3) After the server retrieves a request from the queue, it first obtains the ID of the router that sent the request. It then searches the database for that ID and the scores of all paths associated with it. To speed up the search, a hash search algorithm is used. The router ID is hashed, allowing the server to directly locate the corresponding location using the hash table. This allows the server to search for the path scores corresponding to the router ID in O(1) time complexity.
[0066] 4) After the server obtains all path scores related to the router, it assigns the highest score to the router. The overhead of the assigned data packet is also relatively small, and only needs to include the router ID, the assigned path ID and its score.
[0067] 5) After the allocation is complete, the router will update the path score according to the following calculation rules:
[0068]
[0069] Among them, B eff 、B ues 、B total The sub-table represents the current available bandwidth of the path, the bandwidth that the requesting router plans to use, and the total bandwidth of the path; total 、D eff They represent the standard delay of the network and the delay of the path respectively; R total 、R eff Represent the network standard packet loss rate and the packet loss rate of the path respectively; T total 、T eff They represent the network standard throughput and the throughput of the path respectively; L total 、L eff Representing the network standard load and the load of the path respectively; finally, the present invention also considers the static information of the path, that is, the length of the path (PathL). Among the five network dynamic information, bandwidth, latency, packet loss rate, throughput, and load, network path quality is correlated with bandwidth and throughput, and negatively correlated with latency, packet loss rate, and load. The reason for multiplying the final result by 10 is to increase the proportion of dynamic information in the score composition. Because the path length is always a positive integer, and the calculation results of the previous dynamic information are all fractions, it is necessary to multiply the final result by 10 to increase their proportion.
[0070] In the path score calculation formula, the total bandwidth of the path B total , the standard delay of the network D total , the standard packet loss rate R of the network total , the standard throughput of the network T total and network standard load L totalThese five variables are fixed values, which are constants that can be determined based on the network architecture when the network starts transmitting. eff , path delay D eff , path packet loss rate R eff , path packet loss rate T eff and path load L eff These five variables will change with the network. In order to obtain the accurate values of these variables in a timely manner, the present invention allows the router to send a detection data packet to detect the variables of its path when it is idle and send it to the server immediately. The server can then update the path score in real time based on these variables. Finally, the router is requested to plan the bandwidth B to be used. ues It is included in the header of the request packet sent by the router to the server and does not need to be obtained separately.
[0071] The present invention fills the loophole of the existing fast rerouting protocol that may cause path selection conflicts. The present invention uses priority settings to alleviate the risk of network crashes that may occur due to long waiting times for backbone routers. At the same time, the quality of the path is measured by scoring each path so that the path with the best network transmission quality can be assigned to the requesting router as the rerouting path each time. In order to reduce the load on the central server, the present invention also designs a communication mechanism between nodes, allowing the server to handle requests that will actually cause conflicts, thereby reducing the load on the server and reducing the risk of problems due to excessive load. In general, the present invention reduces new congestion that may be caused by path selection conflicts in congested networks, greatly improving the reliability and security of the network.
[0072] The embodiments described above provide a detailed description of the technical solutions and beneficial effects of the present invention. It should be understood that the above are only specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, supplements and equivalent substitutions made within the scope of the principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A method for avoiding path selection conflicts in IP fast reroute, characterized in that: The following steps are involved: (1) During network transmission, when a router finds that the next hop of the path it is about to transmit is congested, the router chooses to change the data packet transmission path, that is, the router performs fast rerouting; (2) The router first generates the intention to select the path with the best quality, and then transmits the intention to all nodes in the network through data packet broadcasting; (3) After the broadcast is completed, the router checks its cache to see if there are other routers that want to select the path. If so, it proceeds to step (4). If not, the router waits for a while. If the router does not receive a message packet to select the path during the waiting time, the router updates the path by itself and transmits the path update information to the central server. (4) If in step (3), there are message packets in the router cache from other routers that want to choose this path, or the router receives message packets from other routers that want to choose this path during the waiting time, then the router will send a request to the central server to change the path, so that the central server can allocate a path for itself; (5) When the central server receives the request from the router, it adds the request to the request processing queue and processes the router's request in the order of the queue; (6) When the central server starts processing a request, it first removes the request from the queue and obtains the ID of the router that sent the request. It then searches the database for paths related to the router and selects a path with the best quality to assign to the router. (7) After the allocation is completed, the server updates the database and then continues to process the request of the next router.
2. The method for avoiding path selection conflicts in IP fast reroute according to claim 1, wherein: In step (1), a central server is set up in the network, and the server exchanges messages with each node in the network and allocates a new transmission path to the node that sends the request.
3. The method for avoiding path selection conflicts in IP fast reroute according to claim 1, wherein: In step (3), the router opens up an area in its own storage as a temporary cache to store the message data packets containing the selection intentions of other nodes.
4. The method for avoiding path selection conflicts in IP fast reroute according to claim 1, wherein: In step (3), the router waits for a period of time T wait , the calculation formula is as follows: T wait =max(T ij ) i∈[1,n],j∈[1,n],i≠j Among them, T ij It represents the time consumed for one-way message transmission between any two nodes i and j in the network, n represents the number of nodes, T wait It is the maximum time consumed for one-way message transmission between any two nodes in the network, that is, the time the router waits.
5. The method for avoiding path selection conflicts in IP fast reroute according to claim 1, wherein: In step (5), a priority is set for each router. The queue in the central server is a priority queue, and requests with higher priority will be processed first.
6. The method for avoiding path selection conflicts in IP fast reroute according to claim 5, wherein: In order to prevent low-priority requests from being queued up by high-priority requests and causing starvation, a waiting time is introduced in the priority calculation.
7. The method for avoiding path selection conflicts in IP fast reroute according to claim 1, wherein: In step (6), the database in the central server stores the ID of each router and all the paths where the router is located.
8. The method for avoiding path selection conflicts in IP fast reroute according to claim 1, wherein: In step (6), the central server scores all paths based on the static and dynamic information of the paths, so that the new path selected each time is the one with the best path quality.
9. The method for avoiding path selection conflicts in IP fast reroute according to claim 1, wherein: The specific process of step (6) is: (6-1) The server takes out the request from the priority queue in order and obtains the corresponding router ID; (6-2) After obtaining the ID, the server searches the database for the paths connected to the router and the score of each path; (6-3) The server assigns the path with the highest score to the requesting node. At the same time, because new nodes will use this path, its score will be reduced accordingly to reduce the possibility of it being selected by subsequent routers.
Citation Information
Patent Citations
Cooperative rerouting
US20120057600A1
Method and device for implementing rerouting
WO2020244299A1