IP Library › Granted Patent US 11,477,114
Granted Patent B2
US 11,477,114 · App. 17/068,409 · Granted Oct 18, 2022

Packet forwarding method and apparatus

Inventor: Zhibo Hu (Beijing, CN)
Assignee: Huawei Technologies Co., Ltd.
H04L45/22H04L45/18H04L45/28H04L45/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,477,114
App. No.
17/068,409
Granted
Oct 18, 2022
Kind
B2
Abstract

A packet forwarding method and apparatus are provided, and pertain to the field of communications technologies. The method includes: determining, by a first node, information about a loop-free path from the first node to a second node, where the first node and the second node are a pair of nodes having an anycast route; and when the first node receives a packet to be sent to a third node, if a link from the first node to the third node is faulty, forwarding, by the first node, the packet to the second node based on the information about the loop-free path, so as to forward the packet to the third node through the second node. According to this application, a success rate of packet sending can be improved.

Claims (49)

1. A method, comprising:

determining, by a first node, information about a loop-free path from the first node to a second node, wherein the first node and the second node are a pair of nodes having an anycast route; and

forwarding, by the first node, when the first node receives a packet to be sent to a third node and a link from the first node to the third node is faulty, the packet to the third node through the second node, based on the information about the loop-free path, wherein network topology information comprises a virtual node, and an address of the virtual node is the same as an address of the first node, wherein there is a virtual link between the virtual node and the first node, and there is a virtual link between the virtual node and the second node, wherein the determining information about a loop-free path from the first node to a second node comprises:

determining, by the first node, the information about the loop-free path from the first node to the second node based on the first node, the virtual node, and network topology information obtained after the virtual node and the virtual links are added.

2. The method according to claim 1 , wherein after the determining, by a first node, information about a loop-free path from the first node to a second node, the method further comprises:

determining, by the first node, that the information about the loop-free path is information about a primary route from the first node to the second node.

3. The method according to claim 1 , wherein after the determining, by a first node, information about a loop-free path from the first node to a second node, the method further comprises:

when there is a direct link between the first node and the second node, determining, by the first node, that the information about the loop-free path is information about a secondary route from the first node to the second node; and

when the first node receives a packet to be sent to a third node, if a link from the first node to the third node is faulty, the first node forwards the packet to the second node based on the information about the loop-free path comprises:

when the first node receives the packet to be sent to the third node, if the link from the first node to the third node is faulty, and the direct link between the first node and the second node is faulty, forwarding, by the first node, the packet to the second node based on the information about the loop-free path.

4. The method according to claim 1 , wherein the address of the first node comprises a first segment identifier (SID) and a second SID, an address of the second node comprises the first SID and the second SID, a first path cost difference corresponding to the first SID is equal to a second path cost difference corresponding to the second SID, the first path cost difference is a difference at the first SID between a cost of the path from the first node to the virtual node and a cost of the path from the second node to the virtual node, and the second path cost difference is a difference at the second SID between a cost of the path from the first node to the virtual node and a cost of the path from the second node to the virtual node.

5. The method according to claim 1 , wherein the method further comprises:

receiving, by the first node, route advertisement information sent by the second node, wherein the route advertisement information carries a SID of the second node; and

the determining, by a first node, information about a loop-free path from the first node to a second node comprises:

when an SID of the first node is the same as the SID of the second node, determining, by the first node, the information about the loop-free path from the first node to the second node.

6. The method according to claim 1 , wherein the method further comprises:

receiving, by the first node, a route advertisement message sent by the third node, wherein the route advertisement message carries an IP address of the third node; and

receiving, by the first node, a route advertisement message sent by the second node, wherein the route advertisement message carries an IP address that is of at least one node and that is learned by the second node; and

the determining, by a first node, information about a loop-free path from the first node to a second node comprises:

when the IP address of the at least one node comprises the IP address of the third node, determining, by the first node, the information about the loop-free path from the first node to the second node.

7. The method according to claim 1 , wherein the forwarding, by the first node, the packet to the second node based on the information about the loop-free path comprises:

forwarding, by the first node, a packet encapsulated with the information about the loop-free path to the second node.

8. A packet forwarding node comprising a processor and a transmitter, wherein:

the processor is configured to determine information about a loop-free path from a first node to a second node, wherein the first node and the second node are a pair of nodes having an anycast route; and

the transmitter is configured to: forward, when the first node receives a packet to be sent to a third node, if a link from the first node to the third node is faulty, the packet to the second node based on the information about the loop-free path, so as to forward the packet to the third node through the second node, wherein network topology information comprises a virtual node, and an address of the virtual node is the same as an address of the first node, wherein there is a virtual link between the virtual node and the first node, and there is a virtual link between the virtual node and the second node, wherein the processor is configured to:

add a virtual node to network topology information, and separately set virtual links between the virtual node and each of the first node and the second node, wherein an address of the virtual node is the same as an address of the first node; and

determine the information about the loop-free path from the first node to the second node based on the first node, the virtual node, and network topology information obtained after the virtual node and the virtual links are added.

9. The node according to claim 8 , wherein the processor is further configured to:

determine that the information about the loop-free path is information about a primary route from the first node to the second node.

10. The node according to claim 8 , wherein the processor is further configured to:

when there is a direct link between the first node and the second node, determine that the information about the loop-free path is information about a secondary route from the first node to the second node; and

the transmitter is configured to:

when the first node receives the packet to be sent to the third node, if the link from the first node to the third node is faulty, and the direct link between the first node and the second node is faulty, forward the packet to the second node based on the information about the loop-free path.

11. The node according to claim 8 , wherein an address of the first node comprises a first segment identifier (SID) and a second SID, an address of the second node comprises the first SID and the second SID, a first path cost difference corresponding to the first SID is equal to a second path cost difference corresponding to the second SID, the first path cost difference is a difference at the first SID between a cost of the path from the first node to the virtual node and a cost of the path from the second node to the virtual node, and the second path cost difference is a difference at the second SID between a cost of the path from the first node to the virtual node and a cost of the path from the second node to the virtual node.

12. The node according to claim 8 , wherein the node further comprises a receiver and the receiver is further configured to:

receive route advertisement information sent by the second node, wherein the route advertisement information carries a segment identifier SID of the second node; and

the processor is configured to:

when an SID of the first node is the same as the SID of the second node, determine the information about the loop-free path from the first node to the second node.

13. The node according to claim 8 , wherein the node further comprises a receiver and the receiver is configured to:

receive a route advertisement message sent by the third node, wherein the route advertisement message carries an IP address of the third node; and

receive a route advertisement message sent by the second node, wherein the route advertisement message carries an IP address that is of at least one node and that is learned by the second node; and

the processor is configured to:

hen the IP address of the at least one node comprises the IP address of the third node, determine the information about the loop-free path from the first node to the second node.

14. The node according to claim 8 , wherein the transmitter is configured to:

forward a packet encapsulated with the information about the loop-free path to the second node.

15. A non-transitory computer-readable storage medium, wherein the computer-readable storage medium stores instructions, and when the computer-readable storage medium instructions are executed on a first node, the first node is enabled to perform steps comprising:

determining, by the first node, information about a loop-free path from the first node to a second node, wherein the first node and the second node are a pair of nodes having an anycast route; and

forwarding, by the first node, when the first node receives a packet to be sent to a third node and a link from the first node to the third node is faulty, the packet to the third node through the second node, based on the information about the loop-free path, wherein network topology information comprises a virtual node, and an address of the virtual node is the same as an address of the first node, wherein there is a virtual link between the virtual node and the first node, and there is a virtual link between the virtual node and the second node, wherein the determining information about a loop-free path from the first node to a second node comprises:

determining, by the first node, the information about the loop-free path from the first node to the second node based on the first node, the virtual node, and network topology information obtained after the virtual node and the virtual links are added.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2020
From: HU, ZHIBO
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 054578/0651 →
Priority Claims (1)
CN 201810333853.5 · Apr 13, 2018 · national
Continuity (2)
Continuation PCTCN2019079888 · Mar 27, 2019
Related Publication 20210029022A1 · Jan 28, 2021
Cited By (5)
US 12,726,430 US 12,739,192 US 12,739,193 US 12,739,194 US 12,739,195