Method, apparatus, communication device and storage medium for route selection
By obtaining packet sending performance and path communication quality information of neighboring devices in the BGP network, and adjusting the priority or calculating the route impact value in the routing process, the problem of routing information not being updated in a timely manner due to neighboring device failure or link failure is solved, thus improving the accuracy and reliability of traffic forwarding.
Patent Information
- Application Number
- CN202310115388.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-31
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2043-01-31
AI Technical Summary
In Border Gateway Protocol (BGP) networks, if neighboring devices or links fail, routing information may not be updated in a timely manner, causing communication devices to select incorrect routing information for traffic forwarding, resulting in traffic forwarding or processing anomalies.
By acquiring packet transmission performance information and path communication quality information from neighboring devices, and combining this information, routing is performed, adjusting the local priority of routing information or calculating the impact value of routing, in order to avoid selecting incorrect routes that cannot be updated in a timely manner.
It effectively avoids abnormal traffic forwarding caused by neighboring device failures or link failures, and improves the accuracy and reliability of routing selection.
Smart Images

Figure CN116208540B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the routing field, and in particular to a routing method and device, a communication device and a storage medium. BACKGROUND
[0002] In a Border Gateway Protocol (BGP) network, a communication device receives routing information sent by a neighbor device, and for the received routing information with the same destination address, the communication device performs routing selection according to the local priority corresponding to the routing information, selects an optimal route, and uses the selected optimal route to guide the subsequent traffic forwarding.
[0003] If the communication device receives routing information from a certain neighbor device, the local priority of the routing information is the highest, and in the subsequent period, when the routing information changes, the neighbor device should send the updated routing information to the communication device, but due to link failure or neighbor device failure, etc., the neighbor device has not been able to update the routing information to the communication device, so that in the communication device, the above-mentioned un-updated routing information is still used as the optimal route by the communication device, but in fact the routing information may be a wrong route. In this case, if the communication device still uses the above-mentioned un-updated routing information as the optimal route to guide traffic forwarding, the problem of traffic forwarding or processing exception will occur. SUMMARY
[0004] The embodiments of the present application provide a routing method and device, a communication device and a storage medium, which can effectively solve the problem of traffic forwarding or processing exception caused by the failure of the neighbor device and the link failure, and the corresponding technical solutions are as follows:
[0005] In a first aspect, a routing method is provided, and the method comprises:
[0006] The message sending performance information of each neighbor device and the communication quality information of the path between each neighbor device are obtained. Then, in the routing selection, the message sending performance information of each neighbor device and the communication quality information of the path are combined to perform routing selection in the routing information sent by each neighbor device stored locally.
[0007] In the scheme provided in the present application, when routing, the communication device no longer only depends on the inherent local priority of each routing information, but combines the message sending performance of the neighbor device and the communication quality of the path to route. Since the message sending performance of the neighbor device and the communication quality of the path are the main factors affecting whether the neighbor device can send the routing information to the communication device in time and the main factors affecting whether the communication device can receive the routing information sent by the neighbor device in time. When routing, routing in combination with the two can effectively avoid the routing information sent by the neighbor device with poor message sending performance or poor communication quality of the path, that is, can effectively avoid the incorrect routing that cannot be updated in time, so that the problem of abnormal traffic forwarding caused by selecting the incorrect routing that cannot be updated in time can be effectively solved.
[0008] In a possible implementation, the message sending performance information of the neighbor device can reflect the efficiency of the neighbor device in sending messages, and the message sending performance information can include the message sending delay of the neighbor device.
[0009] The message sending delay refers to the time interval from the start of the neighbor device in preparing to send a message to the completion of sending the message. Preparing to send a message can refer to the message entering a sending queue.
[0010] In a possible implementation, the neighbor device can obtain the message sending delay of the device, and send the message sending delay to the communication device.
[0011] In the scheme provided in the present application, the neighbor device can directly send the message sending delay to the communication device, or can forward the message sending delay to the communication device through the network management device.
[0012] In a possible implementation, the communication quality information can include a message transmission delay.
[0013] In a possible implementation, the process in which the communication device determines the message transmission delay of the path between the communication device and the neighbor device can be as follows:
[0014] For each neighbor device, the neighbor device sends a first message to the communication device, wherein the sending timestamp is carried in the first message. When the communication device receives the first message, the communication device determines the receiving timestamp of the first message, and determines the message transmission delay of the path between the communication device and the neighbor device according to the sending timestamp and the receiving timestamp.
[0015] In a possible implementation, in order not to increase the message sending burden of the communication device, the above-mentioned first message can multiplex a border gateway protocol keep-alive message or a route advertisement message, and use an extension field therein to carry the sending timestamp.
[0016] In a possible implementation, the process in which the communication device determines the message transmission delay of the path between the communication device and the neighbor device can be as follows:
[0017] For each neighbor device, the communication device sends a second packet to the neighbor device, and records a sending timestamp of the second packet, wherein the second packet carries first identification information, and the first identification information can be a sequence number, and the sequence number can be incremental. After receiving the second packet, the neighbor device reads the first identification information carried in the second packet, generates a third packet carrying the first identification information, and then sends the third packet to the communication device. After receiving the third packet carrying the first identification information, the communication device records a receiving timestamp of the third packet. Further, the communication device acquires the sending timestamp of the second packet carrying the first identification information, and determines a packet transmission delay of a path between the communication device and the neighbor device according to the sending timestamp of the second packet and the receiving timestamp of the third packet.
[0018] In the scheme provided in the application, the second packet can also multiplex a border gateway protocol keep-alive packet or a route advertisement packet, and use an extension field in the packet to carry the first identification information.
[0019] In a possible implementation, the communication quality information can further include a packet retransmission number of the neighbor device.
[0020] In a possible implementation, the neighbor device can count a packet retransmission number of a target packet, and send the packet retransmission number to the communication device, wherein the target packet is a packet sent by the communication device to the neighbor device through the path between the communication device and the neighbor device.
[0021] In a possible implementation, in order to more accurately evaluate the path quality and the packet sending quality of the neighbor, the communication device can further acquire at least one of a fluctuation frequency and a packet abnormality frequency of each neighbor device, and accordingly, when performing routing, the communication device can perform route selection in the route information sent by each neighbor device and stored locally according to at least one of the communication quality information of the path between the communication device and each neighbor device, the packet sending performance information of each neighbor device, the fluctuation frequency of each neighbor device, and the packet abnormality frequency of each neighbor device.
[0022] In a possible implementation, the processing of route selection performed by the communication device can be as follows:
[0023] The communication device adjusts the local priority of the routing information sent by each neighbor device stored locally according to at least one of the communication quality information of the path between the communication device and each neighbor device, the message sending performance information of each neighbor device, the oscillation frequency of each neighbor device, and the message exception frequency of each neighbor device. If the parameters reflect that the quality of the neighbor device and / or the path is poor, the local priority of the routing information sent by the neighbor device can be adjusted to be lower. Furthermore, routing is performed according to the adjusted local priority of the routing information sent by each neighbor device stored locally. In this way, only the processing of adjusting the local priority is added before the execution of the existing routing rule, and the existing routing rule is not changed, so that the existing communication device can better adapt to the scheme.
[0024] In a possible implementation, the processing of routing performed by the communication device can also be as follows:
[0025] The communication device determines a routing impact value of each neighbor device according to at least one of the communication quality information of the path between the communication device and each neighbor device, the message sending performance information of each neighbor device, the oscillation frequency of each neighbor device, and the message exception frequency of each neighbor device. Furthermore, routing is directly performed in the routing information sent by each neighbor device stored locally according to the routing impact value of each neighbor device. This possible implementation adds the routing performed according to the routing impact value to the existing routing rule, which can effectively make up for the deficiency of the existing routing rule.
[0026] In a second aspect, a routing device is provided, and the device includes:
[0027] The obtaining module is configured to obtain the message sending performance information of each neighbor device, and obtain the communication quality information of the path between the communication device and each neighbor device.
[0028] The routing module is configured to perform routing in the routing information sent by each neighbor device stored locally according to at least one of the communication quality information of the path between the communication device and each neighbor device and the message sending performance information of each neighbor device.
[0029] In a possible implementation, the message sending performance information includes a message sending delay.
[0030] In a possible implementation, the obtaining module is configured to:
[0031] Receive the message sending delay sent by each neighbor device respectively.
[0032] In a possible implementation, the communication quality information includes a message transmission delay.
[0033] In a possible implementation, the obtaining module is configured to:
[0034] for each of the neighbor devices, receiving a first packet sent by the neighbor device, wherein the first packet carries a sending time stamp;
[0035] determining a receiving time stamp of the first packet;
[0036] determining a packet transmission delay of a path between the neighbor device according to the sending time stamp and the receiving time stamp.
[0037] In a possible implementation, the first packet is a border gateway protocol keep-alive or route advertisement packet, and an extension field in the first packet is used to carry the sending time stamp.
[0038] In a possible implementation, the obtaining module is configured to:
[0039] for each of the neighbor devices, sending a second packet to the neighbor device and recording a sending time stamp of the second packet, wherein the second packet carries first identification information;
[0040] receiving a third packet sent by the neighbor device, and if the third packet carries the first identification information, obtaining a receiving time stamp of the third packet;
[0041] determining a packet transmission delay of a path between the neighbor device according to the sending time stamp and the receiving time stamp.
[0042] In a possible implementation, the communication quality information includes a packet retransmission number.
[0043] In a possible implementation, the obtaining module is configured to:
[0044] receiving a packet retransmission number sent by each of the neighbor devices.
[0045] In a possible implementation, the obtaining module is further configured to:
[0046] obtaining at least one of a fluctuation frequency and a packet abnormality frequency of each of the neighbor devices;
[0047] The routing module is configured to:
[0048] performing route selection in the locally stored route information sent by each of the neighbor devices according to at least one of communication quality information of a path between each of the neighbor devices, packet sending performance information of each of the neighbor devices, a fluctuation frequency of each of the neighbor devices, and a packet abnormality frequency of each of the neighbor devices.
[0049] In a possible implementation, the routing module is configured to:
[0050] adjust the local priority of the routing information sent by the neighbor devices stored locally according to at least one of the following: the communication quality information of the paths between the communication device and the neighbor devices, the packet sending performance information of the neighbor devices, the oscillation frequency of the neighbor devices, and the packet abnormal frequency of the neighbor devices;
[0051] perform routing selection according to the adjusted local priority of the routing information sent by the neighbor devices stored locally.
[0052] In a possible implementation, the routing module is configured to:
[0053] determine the route influence value of the neighbor devices according to at least one of the following: the communication quality information of the paths between the communication device and the neighbor devices, the packet sending performance information of the neighbor devices, the oscillation frequency of the neighbor devices, and the packet abnormal frequency of the neighbor devices;
[0054] perform routing selection in the routing information sent by the neighbor devices stored locally according to the route influence value of the neighbor devices.
[0055] In a third aspect, a communication device is provided, which includes a processor and a memory, and the memory stores at least one instruction, which is loaded and executed by the processor to implement the method provided in the first aspect or any possible implementation manner of the first aspect.
[0056] In a fourth aspect, a computer readable storage medium is provided, which stores at least one instruction, and the instruction, when running on a communication device, causes the communication device to perform the method provided in the first aspect or any possible implementation manner of the first aspect.
[0057] In a fifth aspect, a computer program product is provided, which includes one or more computer program instructions, and when the computer program instructions are loaded and run on a communication device, the communication device performs the method provided in the first aspect or any possible implementation manner of the first aspect.
[0058] In a sixth aspect, a chip is provided, which includes a memory and a processor, the memory is configured to store computer instructions, and the processor is configured to call and run the computer instructions from the memory to perform the method in the first aspect and any possible implementation manner of the first aspect. BRIEF DESCRIPTION OF DRAWINGS
[0059] Figure 1 FIG. 1 is a schematic diagram of a communication network provided by an embodiment of the present application;
[0060] Figure 2 is a communication network schematic diagram provided by an embodiment of the present application;
[0061] Figure 3 is a routing method flowchart schematic diagram provided by an embodiment of the present application;
[0062] Figure 4 is a routing method flowchart schematic diagram provided by an embodiment of the present application;
[0063] Figure 5 is a message format schematic diagram provided by an embodiment of the present application;
[0064] Figure 6 is a routing method flowchart schematic diagram provided by an embodiment of the present application;
[0065] Figure 7 is a message format schematic diagram provided by an embodiment of the present application;
[0066] Figure 8 is a routing device structure schematic diagram provided by an embodiment of the present application;
[0067] Figure 9 is a communication device structure schematic diagram provided by an embodiment of the present application. DETAILED DESCRIPTION
[0068] In order to make the purpose, technical scheme and advantages of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the drawings.
[0069] An embodiment of the present application provides a routing method, which is applied to a communication network and is realized by a communication device in the communication network.
[0070] Referring to Figure 1, shows a possible communication network, in which a plurality of communication devices are included, such as communication device 1, communication device 2, communication device 3 and communication device 4. Among them, the communication device 1, the communication device 2, the communication device 3 and the communication device 4 can be routers, switches, virtual switches, controllers and the like. Taking the communication network as a BGP network for example, the BGP neighbors of the communication device 1 can include the communication device 2 and the communication device 3, and correspondingly, the communication device 2 and the communication device 3 can be called the neighbor devices of the communication device 1, the BGP neighbors of the communication device 2 can include the communication device 1 and the communication device 4, and correspondingly, the communication device 1 and the communication device 4 can be called the neighbor devices of the communication device 2, the BGP neighbors of the communication device 3 can include the communication device 1 and the communication device 4, and correspondingly, the communication device 1 and the communication device 4 can be called the neighbor devices of the communication device 3, and the BGP neighbors of the communication device 4 can include the communication device 2 and the communication device 3, and correspondingly, the communication device 2 and the communication device 3 can be called the neighbor devices of the communication device 4.
[0071] Taking the communication device 1 in Figure 1 , the communication device 2 and the communication device 3 can both send routing information to the communication device 1 as the neighbor devices of the communication device 1, which can be called route announcement. In the case of label routing, the routing information can include the route label, the destination address of the route and the address of the next hop, and in the case of non-label routing, the routing information can include the address of the next hop and the destination address of the route. In the case that the destination addresses in the routing information sent by the communication device 2 and the communication device 3 are the same, the communication device 1 can select the optimal route according to the local priority (locao-pref) corresponding to each routing information in the routing information sent by the communication device 2 and the communication device 3, and then can forward the traffic according to the selected optimal route. Here, the process of selecting the optimal route can also be called routing, route selection and the like. In addition, the communication device 2 and the communication device 3 will also announce the updated routing information to the communication device when the routing information is updated.
[0072] In the above routing scheme, it is possible that the routing information stored in the communication device sent by the neighbor device is not the latest routing information due to the low packet sending performance of the neighbor device itself or the poor communication quality of the path between the neighbor device, and then if the communication device still performs routing according to the existing routing scheme, it is very likely to select the routing which fails to update in time as the optimal route, and in the case that the routing is an error route, it can cause the problem of abnormal traffic forwarding or processing. For example, Figure 2As shown, taking the route as an example, it is assumed that the communication device 2 and the communication device 3 have respectively sent two pieces of route information to the communication device 1, which are denoted as route information 21 and route information 31 respectively, wherein the route label in the route information 21 is 100, the destination address is 1.1.1.1 / 24 (i.e. the address of the communication device 4), the address of the next hop is the address of the communication device 2, the route label in the route information 31 is 100, the destination address is 1.1.1.1 / 24, and the address of the next hop is the address of the communication device 3. After a period of time, the route label of the communication device 4 is updated to 200, and accordingly, the communication device 3 also updates the route information with the destination address of 1.1.1.1 / 24, updates the route label therein to 200, and sends it to the communication device 1. However, the communication device 2 may, due to its own message sending performance problem or the communication quality problem of the path between the communication device 2 and the communication device 1, fail to update the route information to the communication device 1. In this case, the communication device 1 updates the route information sent by the communication device 3, while the route information sent by the communication device 2 remains unchanged. In the routing, the local priority of the route information 21 is the highest, and therefore the communication device 1 selects the route information 21 as the optimal route, and forwards the traffic according to the route information 21. In this way, the communication device 4 receives the traffic with the route label of 100 sent by the communication device 1, however, since the route label of the communication device 4 has been updated to 200, the traffic with the label of 100 cannot be processed, resulting in that the traffic cannot be processed normally. Of course, the traffic with the label of 100 may also fail to be forwarded normally when reaching a forwarding device on the transmission path due to the label error.
[0073] In the route selection method provided in the present application, the message sending performance of the neighbor device and the communication quality of the path are considered, and therefore, at least one of the message sending performance of the neighbor device and the communication quality of the path is combined when performing routing to select the route. In this way, for the neighbor device with poor message sending performance or poor communication quality of the path, the communication device can reduce the priority of the route information sent by the neighbor device when performing routing, so that the possibility of the route information being selected is reduced, or the route information is directly not selected. Correspondingly, for the neighbor device with strong message sending performance or high communication quality of the path, the possibility of the route information sent by the route device being selected is higher.
[0074] The route selection method provided in the present application will be described below in combination with the drawings. Referring to Figure 3 The route selection method provided in the present application can include the following steps. In addition, in the method shown, Figure 3 In the method shown, the communication device can be a route receiving end, and accordingly, the neighbor device can refer to a route sending end.
[0075] Step 301, the communication device acquires the message sending performance information of the neighbor device.
[0076] In implementation, the communication device can acquire the message sending performance information of the neighbor device periodically. The specific period can be set according to actual needs. For example, the period can be set to 1 minute, 5 minutes, 10 minutes, etc.
[0077] The method for the communication device to acquire the message sending performance information of the neighbor device can be as follows:
[0078] The neighbor device periodically determines the message sending performance information of the device, and sends the message sending performance information to the communication device. The above Figure 1 Or Figure 2 For example, the communication device 1 in the above
[0079] The neighbor device acquires the message sending performance information of the device as follows:
[0080] The message sending performance information of the neighbor device can reflect the efficiency of the neighbor device in sending messages. The message sending performance information can be the message sending delay. The message sending delay refers to the time interval from the start of the neighbor device preparing to send a message to the completion of sending the message. Correspondingly, when calculating the message sending delay, the neighbor device can subtract the time when the message is prepared to be sent from the time when the message is sent to obtain the message sending delay.
[0081] In a possible implementation, the above-mentioned message prepared to be sent can refer to the message entering the sending queue. Correspondingly, the process of the neighbor device acquiring the message sending delay can be as follows: the neighbor device acquires the first time when the message enters the sending queue, and acquires the second time when the message is sent, and subtracts the first time from the second time to obtain the message sending delay corresponding to the message.
[0082] In the case where the neighbor device acquires the message sending delay periodically, for any period, the neighbor device can calculate the message sending delay corresponding to any message sent in the period as the message sending delay corresponding to the period, and send it to the communication device. Alternatively, the neighbor device can also calculate the message sending delay corresponding to each message sent in the period, and perform statistical calculation on the message sending delay corresponding to each message, and take the statistical calculation result as the message sending delay corresponding to the period. The statistical calculation can be taking the average value, taking the maximum value, taking the minimum value, taking the average value after removing the maximum value and the minimum value, etc. The specific method of statistical calculation is not limited in the present application.
[0083] In a possible implementation, after obtaining the packet sending performance information of the device, the neighbor device can send the packet sending performance information of the device to the network management device, and then the network management device sends the received packet sending performance information of the neighbor device to the communication device.
[0084] In a possible implementation, the communication device can also periodically obtain packet receiving performance information of the device. The packet receiving performance information of the communication device can reflect the efficiency of the communication device in receiving packets, and the packet receiving performance information can be a packet receiving delay. The packet receiving delay refers to the time interval from the start of receiving a packet by the communication device to the completion of parsing the packet. Correspondingly, when calculating the packet receiving delay, the communication device can first record the receiving time of the packet and the time when the packet is parsed, and then obtain the packet receiving delay by subtracting the receiving time of the packet from the time when the packet is parsed.
[0085] Step 302, the communication device obtains communication quality information of a path between the communication device and a neighbor device.
[0086] The communication quality information of the path can reflect the communication quality of the path, and can include a packet transmission delay, a packet retransmission number of the neighbor device, a packet retransmission frequency of the neighbor device, and the like.
[0087] In implementation, there can be multiple methods for obtaining the packet transmission delay of the path, and some of the methods are exemplarily described below.
[0088] Method one:
[0089] As shown in Figure 4 , the processing of the method one can include the following steps:
[0090] S401, the neighbor device sends a first packet to the communication device, wherein the first packet carries a sending timestamp of the first packet.
[0091] The first packet can be a packet of an existing type, such as a Border Gateway Protocol Keep Alive (BGP KA) packet, a route advertisement packet (UPDATE), or the like. The first packet can also be a packet of a newly added type, which is used to detect the packet transmission delay of the path. For the packet of the existing type, a field can be extended in the packet to carry the sending timestamp, and for the packet of the newly added type, a field for carrying the sending timestamp is included in the packet.
[0092] The field for carrying the sending timestamp extended in the packet of the existing type and the field for carrying the sending timestamp in the packet of the newly added type can be the same or different.
[0093] Here, the type-length-value (TLV) format corresponding to the field for carrying the sending timestamp can refer to Figure 5 In Figure 5 , type represents the field type, length represents the length of value, flags is the field identifier, reserved is the reserved bit, and time stamp represents the value of the sending timestamp.
[0094] When the first message is a message of an existing type, taking the BGP KA message as an example, the neighbor device can perform message transmission delay detection once every N BGP KA messages. N can be set according to actual needs. For example, N can be 10. That is, the neighbor device carries a sending timestamp in the Mth BGP KA message when sending the BGP KA message to the communication device, does not carry a sending timestamp in the M+1th to M+10th BGP KA messages, and carries a sending timestamp in the M+11th BGP KA message.
[0095] When the first message is a message of a newly added type, the neighbor device can send a first message every preset time length to perform message transmission delay detection. The preset time length can be set according to actual needs. For example, the preset time length can be 5 seconds, 10 seconds, etc.
[0096] S402, the communication device determines the receiving timestamp of the first message.
[0097] The communication device records the receiving timestamp of the first message when receiving the first message.
[0098] S403, the communication device determines the message transmission delay of the path between the communication device and the neighbor device according to the receiving timestamp and the sending timestamp of the first message.
[0099] The communication device subtracts the sending timestamp from the receiving timestamp to obtain the message transmission delay corresponding to the first message. The communication device can periodically determine the message transmission delay of the path between the communication device and the neighbor device. The communication device takes the average of the message transmission delays of the messages obtained in each period as the message transmission delay of the path in the period.
[0100] In one possible implementation, considering the computational resource limitations of the communication equipment itself, the calculation of message transmission delay can be performed by the network management device. Accordingly, step S403 above can be performed as follows: the communication device sends the reception timestamp and transmission timestamp of the first message to the network management device. The network management device determines the message transmission delay of the path with neighboring devices based on the reception and transmission timestamps of the first message, and sends the path's message transmission delay to the communication device. Here, the process of determining the path's message transmission delay by the network management device is the same as that by the communication device, and will not be described again.
[0101] Method 2:
[0102] like Figure 6 As shown, the processing of this second method may include the following steps:
[0103] S601. The communication device sends a second message to the neighboring device and records the sending timestamp of the second message. The second message is a message used by the communication device to detect the message transmission delay of the path, and the second message carries a sequence number.
[0104] The sequence number carried in the second message can be incremental. For example, if the sequence number carried in the first second message sent by the communication device is 0, then the sequence number carried in the second second message sent can be 1.
[0105] The second message can be an existing type of message, such as a boundary BGP KA message or an UPDATE message. The second message can also be a newly added type of message, used for message transmission delay detection along the path. For existing types of messages, an extended field can be added to carry the sequence number; for newly added types of messages, a field for carrying the sequence number must be included in the message.
[0106] The fields used to carry sequence numbers in extended messages of existing message types and the fields used to carry sequence numbers in newly added message types can be the same or different.
[0107] For the TLV format of the field used to carry the serial number, please refer to [link / reference needed]. Figure 7 .exist Figure 7 In this context, type indicates the field type, length indicates the length of the value, flags is the field identifier, reserved indicates reserved bits, and sequencenumber indicates the value of the sequence number.
[0108] In a case that the second message is a message of an existing type, taking the BGP KA message as an example, the communication device can perform message transmission delay detection once every N BGP KA messages. N can be set according to actual requirements. For example, N can be 10. That is, the communication device carries the message sequence number in the Mth BGP KA message when sending the BGP KA message to the neighbor device. The sequence number does not need to be carried in the M+1th to M+10th BGP KA messages, and the sequence number is carried in the M+11th BGP KA message.
[0109] In a case that the second message is a message of a new type, the neighbor device can send a second message every preset time length to perform message transmission delay detection. The preset time length can be set according to actual requirements. For example, the preset time length can be 5 seconds, 10 seconds, etc.
[0110] S602, the neighbor device sends a third message to the communication device, wherein the third message is a message for responding to the second message, and the third message carries the same sequence number as the received second message.
[0111] In implementation, after receiving the second message, the neighbor device determines that the second message carries a sequence number, and then generates a third message that also carries the sequence number. Then, the second message is sent to the communication device. For example, the neighbor device receives the second message and determines that the second message carries a sequence number 1. Then, the third message that also carries the sequence number 1 is generated and sent to the communication device.
[0112] S603, the communication device determines the receiving timestamp of the third message.
[0113] After receiving the third message, the communication device determines that the third message carries a sequence number, and then obtains the receiving timestamp of the third message.
[0114] S604, the communication device determines the message transmission delay of the path between the neighbor device according to the sending timestamp of the second message carrying the same sequence number and the receiving timestamp of the third message.
[0115] The communication device subtracts the sending timestamp of the second message from the receiving timestamp of the third message carrying the same sequence number to obtain a difference value, and then divides the difference value by two to obtain the single message transmission delay. For example, in a case that the third message carries the sequence number 1, the communication device obtains the sending timestamp of the second message with the recorded sequence number 1, and subtracts the receiving timestamp of the third message from the sending timestamp to obtain the single message transmission delay.
[0116] The communication device can periodically determine the packet transmission delay of the path between the communication device and the neighbor device. The communication device can average the single packet transmission delay obtained in each period as the packet transmission delay of the path in the period.
[0117] In a possible implementation, considering the computing resource of the communication device itself, the calculation of the packet transmission delay can be implemented by the network management device. Accordingly, the processing of step S604 can be that the communication device sends the sending time stamp of the second packet and the receiving time stamp of the third packet carrying the same sequence number to the network management device. The network management device determines the packet transmission delay of the path between the communication device and the neighbor device according to the sending time stamp of the second packet and the receiving time stamp of the third packet carrying the same sequence number, and sends the packet transmission delay of the path to the communication device. Here, the processing of determining the packet transmission delay of the path by the network management device is the same as the processing of determining the packet transmission delay of the path by the communication device, and will not be described herein again.
[0118] The packet retransmission number and the packet retransmission frequency of the neighbor device can be periodically counted by the neighbor device and sent to the communication device.
[0119] For the counting of the packet retransmission number, the neighbor device records the packet retransmission number of the target packet in each period, where the target packet is a packet sent by the communication device to the neighbor device through the path between the communication device and the neighbor device. The period can be set according to actual needs, for example, the period can be 1 minute, 5 minutes, 10 minutes, etc.
[0120] For the counting of the packet retransmission frequency, the neighbor device divides the packet retransmission number recorded in each period by the time length corresponding to the period to obtain the packet retransmission frequency in the period.
[0121] In addition, the packet retransmission number and / or the packet retransmission frequency can be directly sent by the neighbor device to the communication device. For example, the packet retransmission number and / or the packet retransmission frequency can be carried in the first packet or the third packet, can share a field with the sending time stamp or the sequence number, or can additionally extend a field for carrying the packet retransmission number and / or the packet retransmission frequency.
[0122] The packet retransmission number and / or the packet retransmission frequency can also be sent to the gateway device first, and then forwarded to the communication device by the network management device.
[0123] In a possible implementation, the neighbor device can periodically count the number of abnormal packets and / or the frequency of abnormal packets and send them to the communication device.
[0124] For the statistics of the number of abnormal packets, the neighbor device records the number of abnormal packets in each period. The abnormal packets can be packets carrying error labels, packets with failed redundancy checks, and various types of abnormal packets. The period can be set according to actual needs. For example, the period can be 1 minute, 5 minutes, 10 minutes, etc.
[0125] For the statistics of the frequency of abnormal packets, the neighbor device divides the frequency of abnormal packets recorded in each period by the duration corresponding to the period to obtain the frequency of abnormal packets in the period.
[0126] In addition, the number of abnormal packets and / or the frequency of abnormal packets can be directly sent by the neighbor device to the communication device. For example, the number of abnormal packets and / or the frequency of abnormal packets can be carried in the first packet or the third packet described above, can share a field with the sending timestamp or sequence number, or can additionally extend a field for carrying the number of abnormal packets and / or the frequency of abnormal packets.
[0127] The number of abnormal packets and / or the frequency of abnormal packets can also be sent to the gateway device first, and then forwarded to the communication device by the network management device.
[0128] In one possible implementation, the communication device can periodically statistics the oscillation frequency of the neighbor device. The statistics method can be as follows:
[0129] The communication device records the number of times of disconnecting the BGP connection of the neighbor device in each period, and divides the number by the duration corresponding to the period to obtain the oscillation frequency of the neighbor device in the period. The period can be set according to actual needs. For example, the period can be 1 minute, 5 minutes, 10 minutes, etc.
[0130] Step 303, the communication device performs route selection in the route information sent by the neighbor device stored locally according to at least one of the communication quality information of the path between the communication device and the neighbor device and the packet sending performance information of the neighbor device.
[0131] In implementation, the communication device can perform route selection according to at least one of the packet sending delay of the neighbor device, the oscillation frequency of the neighbor device, the number of abnormal packets (or the frequency of abnormal packets) of the neighbor device, the number of packet retransmissions (or the frequency of packet retransmissions) of the neighbor device, the packet transmission delay of the path between the communication device and the neighbor device, and the packet receiving delay of the communication device. Specifically, there can be multiple methods for performing route selection according to these parameters. Two methods are exemplarily described below.
[0132] Method one:
[0133] The communication device calculates the route influence value corresponding to each neighbor device according to the above parameters, and directly performs route selection according to the route influence value corresponding to each neighbor device.
[0134] Further, each parameter can correspond to a weight when calculating the routing influence value, the weights corresponding to different parameters can be different, and the weights can be preconfigured or determined by a machine learning model. In the case of pre-configuration, for example, the weight corresponding to the packet sending delay of the neighbor device can be 10, the weight corresponding to the oscillation frequency of the neighbor device can be 3, the weight corresponding to the number of abnormal packets (or the frequency of abnormal packets) of the neighbor device can be 2, the weight corresponding to the number of packet retransmissions (or the frequency of packet retransmissions) of the neighbor device can be 8, the weight corresponding to the packet transmission delay of the path between the neighbor device can be 10, and the weight corresponding to the packet receiving delay of the device can be 5. In the case of determination by a machine learning model, the obtained parameters can be input into a pre-trained weight determination model, and the weight determination model outputs the weight corresponding to each parameter.
[0135] Which parameter or parameters are used to calculate the routing influence value can be preconfigured or determined by a machine learning model. In the case of pre-configuration, for example, the packet sending delay of the neighbor device, the packet transmission delay of the path between the neighbor device, and the number of packet retransmissions of the neighbor device can be used. In the case of determination by a machine learning model, the obtained parameters can be input into a pre-trained parameter selection model, and the parameter selection model outputs the identifier corresponding to the parameter used to calculate the routing influence value.
[0136] The method will be described below using the packet sending delay of the neighbor device, the packet transmission delay of the path between the neighbor device, and the number of packet retransmissions of the neighbor device to calculate the routing influence value as an example.
[0137] When the routing influence value calculation condition is met, for each neighbor device, the communication device reads the latest obtained packet sending delay (denoted as T) of the neighbor device, the packet transmission delay (denoted as D) of the path between the neighbor device, and the number of packet retransmissions (denoted as R) of the neighbor device. Then, the weights corresponding to the three parameters are determined, respectively denoted as t, d, and r. Then, T*t+D*d+R*r is calculated to obtain the routing influence value corresponding to the neighbor device.
[0138] The routing influence value calculation condition can be that the packet sending delay, the number of packet retransmissions, or the packet transmission delay of the path between any neighbor device is received. The routing influence value calculation condition can also be that the calculation period is reached, and the calculation period can be set according to actual needs. For example, the calculation period can be 1 minute, 5 minutes, 10 minutes, etc.
[0139] After the route influence value corresponding to each neighbor device is calculated, when selecting a route corresponding to a destination address, in each route information corresponding to the destination address, the route information sent by the neighbor device with the minimum route selection influence value is selected.
[0140] Method two:
[0141] The communication device calculates the route influence value corresponding to each neighbor device according to the above parameters, and adjusts the local priority of the route information sent by each neighbor device stored locally according to the route influence value corresponding to each neighbor device.
[0142] Specifically, after the route influence value corresponding to each neighbor device is calculated according to the above method one, for each neighbor device, if the route influence value corresponding to the neighbor device calculated this time meets the priority adjustment condition, the local priority of each route information sent by the neighbor device is adjusted.
[0143] The priority adjustment condition can be that the absolute value of the difference between the route influence value corresponding to the neighbor device calculated this time and the reference value is greater than a threshold value, and then it is determined that the priority adjustment condition is met. The reference value can be pre-configured, or can be the route influence value corresponding to the route device calculated last time.
[0144] If the route influence value corresponding to the neighbor device calculated this time is greater than the reference value in the case where the route influence value corresponding to the neighbor device calculated this time meets the priority adjustment condition, a first priority adjustment value is determined according to the absolute value of the difference, and the local priority of each route information sent by the route device is subtracted by the above target priority adjustment value. If the route influence value corresponding to the neighbor device calculated this time is less than the reference value, a second priority adjustment value is determined according to the absolute value of the difference, and the local priority of each route information sent by the route device is added by the above second priority adjustment value.
[0145] The processing of determining the first priority adjustment value according to the absolute value of the difference, and determining the second priority adjustment value according to the absolute value of the difference can be as follows:
[0146] The communication device stores a corresponding relationship between the range of absolute values of differences and the priority adjustment values, determines the target range of absolute values of differences corresponding to the calculated absolute value of the difference by querying the corresponding relationship, and further determines the target priority adjustment value corresponding to the target range of absolute values of differences through the corresponding relationship. The target priority adjustment value can be the first priority adjustment value or the second priority adjustment value.
[0147] In a possible implementation, the communication device can further report the calculated routing influence values of the neighbor devices to the network management device, and the network management device can display the routing influence values of the neighbor devices in the network topology, so that a user can observe the health status of the neighbor devices in real time.
[0148] In addition, an alarm threshold can be configured in the communication device, and the communication device can send an alarm message corresponding to a neighbor device to the network management device when the calculated routing influence value of the neighbor device exceeds the alarm threshold. Alternatively, an alarm threshold can be configured in the network management device, and the network management device can perform alarm reminding when it is determined that the routing influence value of a neighbor device exceeds the alarm threshold. For example, the alarm threshold is 5.
[0149] Based on the same technical concept, the embodiments of the present application further provide a routing device. The device 800 can be applied to any of the communication devices shown in Figure 1 or 2, as shown in Figure 8 The device 800 includes the following components:
[0150] The obtaining module 810 is configured to obtain the message sending performance information of the neighbor devices, and obtain the communication quality information of the paths between the neighbor devices. The obtaining module 810 can realize the functions of the steps 301 and 302, and other implicit steps.
[0151] The routing module 820 is configured to perform routing selection in the routing information sent by the neighbor devices stored locally according to at least one of the communication quality information of the paths between the neighbor devices and the message sending performance information of the neighbor devices. The routing module 820 can realize the routing function of the step 303, and other implicit steps.
[0152] In a possible implementation, the message sending performance information includes message sending delay.
[0153] In a possible implementation, the obtaining module 810 is configured to:
[0154] Receive the message sending delay sent by each of the neighbor devices.
[0155] In a possible implementation, the communication quality information includes message transmission delay.
[0156] In a possible implementation, the obtaining module 810 is configured to:
[0157] For each of the neighbor devices, receive a first message sent by the neighbor device, wherein the first message carries a sending timestamp.
[0158] Determine a receiving timestamp of the first message.
[0159] determine, according to the sending time stamp and the receiving time stamp, a packet transmission delay of a path between the neighbor device.
[0160] In a possible implementation, the first packet is a border gateway protocol keep-alive or route advertisement packet, and the extension field in the first packet is used to carry the sending time stamp.
[0161] In a possible implementation, the obtaining module 810 is configured to:
[0162] for each of the neighbor devices, send a second packet to the neighbor device, and record a sending time stamp of the second packet, wherein the second packet carries first identification information;
[0163] receive a third packet sent by the neighbor device, and if the third packet carries the first identification information, obtain a receiving time stamp of the third packet;
[0164] determine, according to the sending time stamp and the receiving time stamp, a packet transmission delay of a path between the neighbor device.
[0165] In a possible implementation, the communication quality information includes a packet retransmission number.
[0166] In a possible implementation, the obtaining module 810 is configured to:
[0167] receive a packet retransmission number sent by each of the neighbor devices.
[0168] In a possible implementation, the obtaining module 810 is further configured to:
[0169] obtain at least one of a vibration frequency and a packet abnormality frequency of each of the neighbor devices;
[0170] The routing module is configured to:
[0171] perform routing selection in the route information sent by each of the neighbor devices stored locally according to at least one of the communication quality information of the path between each of the neighbor devices, the packet sending performance information of each of the neighbor devices, the vibration frequency of each of the neighbor devices, and the packet abnormality frequency of each of the neighbor devices.
[0172] In a possible implementation, the routing module 820 is configured to:
[0173] adjust the local priority of the route information sent by the neighbor device stored locally according to at least one of the communication quality information of the path between the neighbor device, the message sending performance information of the neighbor device, the oscillation frequency of the neighbor device and the message abnormal frequency of the neighbor device;
[0174] perform routing according to the adjusted local priority of the route information sent by the neighbor device stored locally.
[0175] In a possible implementation, the routing module 820 is configured to:
[0176] determine the route influence value of the neighbor device according to at least one of the communication quality information of the path between the neighbor device, the message sending performance information of the neighbor device, the oscillation frequency of the neighbor device and the message abnormal frequency of the neighbor device;
[0177] perform routing in the route information sent by the neighbor device stored locally according to the route influence value of the neighbor device.
[0178] It should be noted that the routing device provided in the above embodiments is only used for example when performing multicast message sending, and in actual application, the above functions can be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the above described functions. In addition, the routing device and the routing method provided in the above embodiments belong to the same concept, and the specific implementation process is described in the method embodiments, which will not be described here.
[0179] Figure 9 is a structural schematic diagram of a communication device provided in the present application. The communication device 700 includes at least one processor 701, a memory 702 and at least one network interface 703. The above Figure 8 The device shown in the above Figure 9 The communication device shown in the above.
[0180] The processor 701 is, for example, a general central processing unit (CPU), a network processor (NP), a graphics processing unit (GPU), a neural-network processing units (NPU), a data processing unit (DPU), a microprocessor, or one or more integrated circuits for implementing the schemes of the present application. For example, the processor 701 includes an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The PLD is, for example, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
[0181] The memory 702 is, for example, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, a magnetic disk storage or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto. Alternatively, the memory 702 exists independently of the processor 701 and is connected to the processor 701 through the internal connection 704. Alternatively, the memory 702 and the processor 701 are integrated together.
[0182] The network interface 703 uses any transceiver-type device for communicating with other devices or communication networks. The network interface 703 includes, for example, at least one of a wired network interface or a wireless network interface. The wired network interface is, for example, an Ethernet interface. The Ethernet interface is, for example, an optical interface, an electrical interface, or a combination thereof. The wireless network interface is, for example, a wireless local area networks (WLAN) interface, a cellular network interface, or a combination thereof.
[0183] In some embodiments, the processor 701 includes one or more CPUs, such as the CPU0 and the CPU1 shown in FIG. 7A. Figure 9
[0184] In some embodiments, the communication device 700 optionally includes multiple processors, such as the processor 701 and the processor 705 shown in FIG. 7B. Each of these processors is, for example, a single-CPU, or alternatively a multi-CPU. The processor here optionally refers to one or more devices, circuits, and / or processing cores for processing data, such as computer program instructions. Figure 9
[0185] In some embodiments, the communication device 700 further includes an internal connection 704. The processor 701, the memory 702, and the at least one network interface 703 are connected through the internal connection 704. The internal connection 704 includes pathways for transferring information between the above-mentioned components. The internal connection 704 is optionally a single board or a bus. The internal connection 704 is optionally divided into an address bus, a data bus, a control bus, and the like.
[0186] In some embodiments, the communication device 700 further includes an input / output interface 706. The input / output interface 706 is connected to the internal connection 704.
[0187] Optionally, the processor 701 implements the methods in the above embodiments by reading the program code 710 stored in the memory 702, or the processor 701 implements the methods in the above embodiments by internally-stored program code. In the case where the processor 701 implements the methods in the above embodiments by reading the program code 710 stored in the memory 702, the memory 702 stores the program code for implementing the methods provided in the embodiments of the present application.
[0188] For more details of the processor 701 implementing the above functions, please refer to the descriptions in the previous method embodiments, which are not repeated here.
[0189] The embodiment of the present application further provides a computer program product containing instructions. The computer program product can be software or a program product containing instructions, which can run on a communication device or be stored in any available medium. When the computer program product runs on at least one communication device, the at least one communication device is caused to execute the method for route selection.
[0190] The embodiment of the present application further provides a computer readable storage medium. The computer readable storage medium can be any available medium that the communication device can store or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk), etc. The computer readable storage medium contains instructions, which instruct the communication device to execute the method for route selection.
[0191] The above embodiments can be realized wholly or partially by software, hardware, firmware or any combination thereof. When realized by software, the embodiments can be realized wholly or partially in the form of a computer program product. The computer program product contains one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are wholly or partially generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another, for example, the computer instructions can be transferred from one website, computer, server or data center to another through a wired (for example, a coaxial cable, an optical fiber, a digital subscriber line (DSL)) or wireless (for example, infrared, wireless, microwave, etc.) manner. The computer readable storage medium can be any available medium that the computer can access or a data storage device such as a server, a data center containing one or more available media sets. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk SolID State Disk (SSD)), etc.
[0192] The above embodiments are only used to illustrate the technical solutions of the present application, but not limit the same; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements to some technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method of routing, characterized by, The method comprises: For each neighbor device, obtaining packet sending performance information, oscillation frequency and packet anomaly frequency of the neighbor device; For each neighbor device, obtaining communication quality information of a path between the local device and the neighbor device, wherein the communication quality information is used to indicate the communication quality of the path between the local device and the neighbor device; For each neighbor device, adjusting the local priority of the route information sent by the neighbor device stored locally according to at least one of the communication quality information of the path between the local device and the neighbor device, the packet sending performance information of the neighbor device, the oscillation frequency of the neighbor device and the packet anomaly frequency of the neighbor device, wherein the adjusting the local priority of the route information sent by the neighbor device stored locally comprises: determining a route influence value corresponding to the neighbor device according to at least one of the communication quality information of the path between the local device and the neighbor device, the packet sending performance information of the neighbor device, the oscillation frequency of the neighbor device and the packet anomaly frequency of the neighbor device, if the absolute value of the difference between the route influence value corresponding to the neighbor device and a reference value is greater than a threshold value, and the route influence value corresponding to the neighbor device is greater than the reference value, determining a first priority adjustment value based on the absolute value of the difference, and subtracting the first priority adjustment value from the local priority of the route information sent by the neighbor device stored locally, if the absolute value of the difference between the route influence value corresponding to the neighbor device and the reference value is greater than the threshold value, and the route influence value corresponding to the neighbor device is less than the reference value, determining a second priority adjustment value based on the absolute value of the difference, and adding the second priority adjustment value to the local priority of the route information sent by the neighbor device stored locally; Performing route selection according to the adjusted local priority of the route information sent by each neighbor device stored locally.
2. The method of claim 1, wherein, The packet sending performance information comprises a packet sending delay.
3. The method of claim 2, wherein, The obtaining the packet sending performance information of the neighbor device comprises: Receiving a packet sending delay sent by the neighbor device.
4. The method according to any one of claims 1-3, characterized in that, The communication quality information comprises a packet transmission delay.
5. The method of claim 4, wherein, The obtaining the communication quality information of the path between the local device and the neighbor device comprises: Receiving a first packet sent by the neighbor device, wherein the first packet carries a sending timestamp; Determining a receiving timestamp of the first packet; Determining a packet transmission delay of the path between the local device and the neighbor device according to the sending timestamp and the receiving timestamp.
6. The method of claim 5, wherein, The first packet is a border gateway protocol keep-alive or route advertisement packet, and an extension field in the first packet is used to carry the sending timestamp.
7. The method of claim 4, wherein, The obtaining the communication quality information of the path between the local device and the neighbor device comprises: Sending a second packet to the neighbor device and recording a sending timestamp of the second packet, wherein the second packet carries first identification information; Receiving a third packet sent by the neighbor device, and if the third packet carries the first identification information, determining a receiving timestamp of the third packet; According to the sending timestamp and the receiving timestamp, a packet transmission delay of a path between the local device and the neighbor device is determined.
8. The method of any one of claims 1-3, wherein, The communication quality information includes a packet retransmission number.
9. The method of claim 8, wherein, The communication quality information between the local device and the neighbor device includes: The packet retransmission number sent by the neighbor device is received.
10. An apparatus for routing, the apparatus comprising: The device includes: The obtaining module is configured to: for each neighbor device, obtain packet sending performance information, a fluctuation frequency, and a packet anomaly frequency of the neighbor device; and obtain communication quality information between the local device and the neighbor device, wherein the communication quality information is used to indicate a communication quality of a path between the local device and the neighbor device. The routing module is configured to: for each neighbor device, adjust a local priority of locally stored routing information sent by the neighbor device according to at least one of the communication quality information between the local device and the neighbor device, the packet sending performance information of the neighbor device, the fluctuation frequency of the neighbor device, and the packet anomaly frequency of the neighbor device, wherein the adjusting the local priority of the locally stored routing information sent by the neighbor device includes: determining a routing impact value corresponding to the neighbor device according to at least one of the communication quality information between the local device and the neighbor device, the packet sending performance information of the neighbor device, the fluctuation frequency of the neighbor device, and the packet anomaly frequency of the neighbor device; if an absolute value of a difference between the routing impact value corresponding to the neighbor device and a reference value is greater than a threshold value, and the routing impact value corresponding to the neighbor device is greater than the reference value, determining a first priority adjustment value based on the absolute value of the difference, and subtracting the first priority adjustment value from the local priority of the locally stored routing information sent by the neighbor device; if the absolute value of the difference between the routing impact value corresponding to the neighbor device and the reference value is greater than the threshold value, and the routing impact value corresponding to the neighbor device is less than the reference value, determining a second priority adjustment value based on the absolute value of the difference, and adding the second priority adjustment value to the local priority of the locally stored routing information sent by the neighbor device. Routing is performed according to the adjusted local priorities of the locally stored routing information sent by the neighbor devices.
11. A communication device, characterized by The communication device includes a processor and a memory, and the memory stores at least one instruction, which is loaded and executed by the processor to implement the routing method according to any one of claims 1 to 9.
12. A computer-readable storage medium, characterized in that, The computer readable storage medium stores at least one instruction, which, when executed on a communication device, causes the communication device to perform the routing method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Route method and device based on performance
CN103036786A
Method for obtaining target transmission path and network node thereof
CN106713141A