Method for avoiding path selection conflict in IP fast rerouting

By introducing central server management and priority queue processing methods in fast re-routing, dynamically allocating the best quality path, solving the problem of path selection conflicts in multi-router link failure, and improving network reliability and stability.

CN119766714AActive Publication Date: 2025-04-04ZHEJIANG UNIV +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411869753.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-04-04
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

When existing fast rerouting protocols face simultaneous link failures of multiple routers, path selection conflicts are prone to occur, resulting in network congestion and packet loss.

Method used

The central server is used to manage the network, broadcast the router's path selection intention, and set a priority queue in the central server to process the request, dynamically allocate the best quality path to avoid path selection conflicts.

Benefits of technology

It effectively reduces path selection conflicts, reduces the risk of network congestion, and improves network reliability and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119766714A_ABST
    Figure CN119766714A_ABST
Patent Text Reader

Abstract

The invention discloses a method for avoiding path selection conflicts in IP fast rerouting. The method mainly comprises the following steps: a router transmits a message of changing a data packet transmission path to all nodes in a broadcast form; the router checks whether a data packet of which the path is wanted to be selected by other routers exists in a cache or not, if yes, the router sends a request to the server, and if not, the router waits for a period of time; when the central server receives requests of the routers, the requests are added into a request processing queue, and the requests of the routers are sequentially processed according to the sequence of the queue; and after the processing is completed, the server distributes the selected path to the requesting router, and after the processing is completed, the server updates the database and then continues to process the request of the next router. In the invention, the central server can distribute the corresponding path to each requesting router according to the quality of the path, so that the path selection conflict generated by independently selecting the rerouting path between the routers is avoided.
Need to check novelty before this filing date? Find Prior Art

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 great progress in the past two decades and have become an important infrastructure of the information society. It plays a vital role in daily life, social development and progress. If the Internet is not available, it will have very serious consequences.

[0003] In order to avoid network unavailability, people began to deploy various link state protocols in the network. These protocols respond to link failures by allowing routers to detect adjacent link failures, propagate link state changes, and then recalculate their routing tables using updated topology information. However, with further research, people found that it usually takes several seconds to restore forwarding after a link failure. During this period, some packets that cannot reach the destination will be discarded. In today's high-speed networks, even a short recovery time can result in huge packet loss. Although there have been some measures to accelerate the convergence of link state routing protocols and thus improve the convergence time of routing protocols, they may cause network instability, especially in the face of frequent transient link failures. In order to be able to restore the normal function of the network in a very short time, people have proposed fast rerouting, so that when a data packet cannot continue to move forward during transmission, the network device will automatically select a new path to resend the data packet to the 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, 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 update result to other nodes, such as node 1, then node 1 will continue to send data packets to node 2, thus forming a loop.

[0005] The first to propose a solution were [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 ideas of these two articles are similar, both of which use special ports to tell the sender of the data packet that its next hop has failed. Figure 1 Take an example to illustrate: when link 2-5 fails, node 2 will not discard the data packet, but resend it to node 1. Node 1 will use a special port to receive the data packet. When node 1 receives the data packet through the special port, it will know that the link 2-6 has failed, and thus choose 1-4-6 as its transmission path, thus avoiding the loop. In addition to using special ports, some people have proposed using IP tunnel 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 of which can solve the problem of loops that may occur in fast rerouting.

[0006] As the research deepened, people found that the above method can only deal with the situation where a single link failure occurs in the router in the network. If multiple outgoing paths of a router fail, the above method is no longer applicable. Therefore, people proposed a fast rerouting algorithm using a tree storage structure. The core idea of ​​these two methods is to perform fast rerouting by constructing multiple arc-disjoint trees. [T.Elhourani,A.Gopalan and S.Ramasubramanian,"IP FastRerouting for Multi-Link Failures,"in IEEE / ACM Transactions on Networking,vol.24,no.5,pp.3014-3025,October 2016.] proposed using a vector to let the router select the tree structure to be used when 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 a tree structure, which can avoid congestion of the tree structure caused by all faulty flows using the same tree structure. Later, [G.Bankhamer,R. and S.Schmid,"Local Fast Rerouting With 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] Although the above three methods have solved the problem of multiple link failures in routers, and some articles have also paid attention to the problem of path selection conflicts, their designs are static, that is, their processing methods and selection logic have been designed for the router before the link fails, but when the link actually fails, each node selects the link locally according to the designed logic. In other words, during the selection process, there is no information exchange between nodes, so the nodes do not know which path other nodes will choose. This also leads to the possibility that when multiple nodes want to change the path, they may still choose the same path, causing the path to become congested at the beginning of transmission. Therefore, a method needs to be proposed to solve how routers can avoid path selection conflicts 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, improves the arc disjoint tree method mentioned in the background technology, and sets a central server to process the request of each router; the central server allocates a corresponding path to each requested router according to 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 rerouting comprises the following steps:

[0010] (1) During network transmission, when a router finds that the next hop of the path it is going 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 broadcast;

[0012] (3) After the broadcast is completed, the router checks whether there are message packets from other routers that want to select the path in its cache. 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 the path, or the router receives message packets from other routers that want to choose the path during the waiting time, then the router will send a request to change the path to the central server, 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 requests in the order of the queue;

[0015] (6) When the central server starts to process the request, it first takes the request out of 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. The server exchanges messages with each node in the network and allocates a new transmission path for the node sending 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 this 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 message 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 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 longest 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, thereby causing serious impact on 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 where 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 path with the best path quality.

[0027] The specific process of step (6) is as follows:

[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 goes to the database to retrieve 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 prior art, the present invention has the following beneficial effects:

[0032] 1. The present invention solves a problem that has not been solved in the 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. The present 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 The figure is a schematic diagram of the network topology of the fast rerouting 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 is a flowchart of a method for avoiding path selection conflicts in IP fast rerouting according to an embodiment of the present invention. DETAILED DESCRIPTION

[0038] The present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be pointed out that the embodiments described below are intended to facilitate the 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 rerouting mainly includes the following steps:

[0040] The router transmits the message of changing the data packet transmission path to all nodes in the form of broadcast; 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 request from the router, it adds the request to the request processing queue and processes the router's request in sequence according to the queue order; after the processing is completed, the server will assign the selected path to the requesting router. After completion, the server will update the database and then continue to process the request of the next router.

[0041] Specifically, before the network starts transmitting, the following preparations must be done first:

[0042] 1) The server will calculate the score of each path based on the collected network information and store it in the database. The server will then send the score and information of the path related to each node to the corresponding node so that subsequent nodes can choose the rerouting path based on this information.

[0043] 2) The server will also assign a priority to each router. The priority calculation rule is:

[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 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 finds that the next hop is congested 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 pass 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 intended path of the router, its overhead is very small, and it only needs to include the router's intended path ID in the data packet header.

[0052] 4) After the router broadcasts the message data packet, it starts to read the message data packets in its cache area and obtains the ID of the intended path of other nodes from its packet header. During the memory reading, the router will temporarily turn off 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 , and its calculation formula is 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 for one-way message transmission between any two nodes in the network, then T wait It is the longest time consumed by 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 some nodes arrive, thereby causing possible path selection conflicts. Specifically, the following example can be considered: three nodes A, B, and C form a triangular network topology. It is assumed 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 the message data packets that they want 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, node B has not received any message data packets from other nodes, and it will automatically select path 1 as its own rerouting path. But 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 cause path selection conflicts.

[0057] 7) If the node still does not receive a message data packet from other nodes during the waiting time, the node will change the path by itself and send a data packet to the server to tell the server its decision, which contains: the router ID, the bandwidth that the router needs to use for 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 the router sends a request to the server due to a path selection conflict, the server will do the following:

[0059] 1) The server will first set up a priority queue to store the requests of each router. In order 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, assuming 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 calculation formula for the effective priority of router i is:

[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 load of the network 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 means that the router's request needs to wait for 4 processing times before it can have 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 takes a request from the queue, it first obtains the ID of the router that sent the request, and then finds the ID and the scores of all paths associated with it in the database. In order to speed up the search, a hash search algorithm is used. The router ID is hashed so that the corresponding position can be directly located through the hash table, thereby completing the search for the score of the path corresponding to the router ID within the time complexity of O(1).

[0066] 4) After the server obtains all path scores related to the router, it allocates the highest score to the router. The allocated data packet overhead is also relatively small, and only needs to include the router ID, the allocated path ID and its score.

[0067] 5) After the allocation is completed, 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 currently available bandwidth of the path, the bandwidth that the requesting router plans to use, and the total bandwidth of the path; total , D eff Respectively represent the standard delay of the network and the delay of the path; 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 They respectively represent the network standard load and the load of the path; 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, delay, packet loss rate, throughput and load, the network path quality is correlated with bandwidth and throughput, and negatively correlated with delay, 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 is T total and network standard load L totalThese five variables are fixed values, which are constants that can be determined according to 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 changes in the network. In order to obtain the accurate values ​​of these variables in time, 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 update the path score in real time based on these variables. Finally, the bandwidth B that the router plans to use is requested. 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 that the existing fast rerouting protocol 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 protection scope of the present invention.

Claims

1. A method for avoiding path selection conflicts in IP fast rerouting, 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 broadcast; (3) After the broadcast is completed, the router checks whether there are message packets from other routers that want to select the path in its cache. 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 the path, or the router receives message packets from other routers that want to choose the path during the waiting time, then the router will send a request to change the path to the central server, 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 requests in the order of the queue; (6) When the central server starts to process the request, it first takes the request out of 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 rerouting according to claim 1, characterized in that: In step (1), a central server is set up in the network. The server exchanges messages with each node in the network and allocates a new transmission path for the node sending the request.

3. The method for avoiding path selection conflicts in IP fast rerouting according to claim 1, characterized in that: In step (3), the router opens up an area in its own storage as a temporary cache to store message packets containing the selection intentions of other nodes.

4. The method for avoiding path selection conflicts in IP fast rerouting according to claim 1, characterized in that: 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 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 longest 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 rerouting according to claim 1, characterized in that: In step (5), 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.

6. The method for avoiding path selection conflicts in IP fast rerouting according to claim 5, characterized in that: 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 rerouting according to claim 1, characterized in that: 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 rerouting according to claim 1, characterized in that: In step (6), the central server scores all paths according to 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 rerouting according to claim 1, characterized in that: The specific process of step (6) is as follows: (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 goes to the database to retrieve 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

  • Intention-driven cross-domain data link network hierarchical routing method

    CN116137609A

  • Multi-mobile industrial robot path planning method for power industry storage scene

    CN117232517A

  • Cooperative rerouting

    US20120057600A1

  • Method and device for implementing rerouting

    WO2020244299A1