IP Library › Granted Patent US 12,375,589
Granted Patent B2
US 12,375,589 · App. 18/067,475 · Granted Jul 29, 2025

Packet forwarding method, device, and system

Inventors: Zhibo Hu (Beijing, CN); Junda Yao (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L69/22H04L45/00H04L47/43
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 12,375,589
App. No.
18/067,475
Granted
Jul 29, 2025
Kind
B2
Abstract

Embodiments of this application provide a packet forwarding method. In the method, a first network device generates a first packet, where the first packet includes a segment list corresponding to a forwarding path of the first packet, the segment list includes a plurality of sequentially arranged compressed segment identifiers, a length of each of the plurality of compressed segment identifiers is less than 128 bits, the plurality of compressed segment identifiers include a first-type compressed segment identifier and a second-type compressed segment identifier, a length of the first-type compressed segment identifier is a first length, a length of the second-type compressed segment identifier is a second length, and the first length is less than the second length. The first network device sends the first packet based on the segment list.

Claims (53)

1. A network device comprising:

at least one processor;

one or more non-transitory memories coupled to the at least one processor and storing programming instructions, wherein the at least one processor is configured to execute the programming instructions to cause the network device to:

generate a packet, wherein the packet comprises a segment list in a plurality of containers, the segment list corresponding to a forwarding path of the packet, the segment list comprises a plurality of compressed segment identifiers that are sequentially arranged, a length of each of the plurality of compressed segment identifiers is less than 128 bits, the plurality of compressed segment identifiers comprise a first-type compressed segment identifier and a second-type compressed segment identifier, a length of the first-type compressed segment identifier is a first length, a length of the second-type compressed segment identifier is a second length, the first length is less than the second length, each of the plurality of containers has a same length, and a first container of the plurality of containers comprises the first-type compressed segment identifier having the first length and the second-type compressed segment identifier having the second length; and

send the packet based on the segment list.

2. The network device according to claim 1 , wherein the first length is X times a unit length, the second length is Y times the unit length, and both X and Y are positive integers.

3. The network device according to claim 2 , wherein the unit length is (N th power of 2) bits, and N is an integer greater than or equal to 3 and less than 7.

4. The network device according to claim 1 , wherein the first length is 16 bits, and the second length is 32 bits.

5. The network device according to claim 1 , wherein the second-type compressed segment identifier comprises a global link compressed segment identifier, and the global link compressed segment identifier indicates a specific network device on the forwarding path of the packet to forward the packet through a specific link.

6. The network device according to claim 5 , wherein the global link compressed segment identifier comprises a node part and a link part, the node part identifies a node, the link part identifies a link, a length of the node part is the same as the first length, and a length of the link part is the same as the first length.

7. The network device according to claim 1 , wherein the segment list comprises an element having a length of 128 bits, and the element comprises the first-type compressed segment identifier and the second-type compressed segment identifier.

8. The network device according to claim 1 , wherein

a packet header of the packet comprises a first pointer and a second pointer, a value of the first pointer indicates a location of one of the plurality of compressed segment identifiers in the first container, the first container having a length of 128 bits, and a value of the second pointer indicates a location of the first container in the plurality of containers; or

the packet header of the packet comprises a first pointer, and a value of the first pointer indicates a location of one of the plurality of compressed segment identifiers in the segment list.

9. A network device comprising:

at least one processor;

one or more non-transitory memories coupled to the at least one processor and storing programming instructions, wherein the at least one processor is configured to execute the programming instructions to cause the network device to:

receive a first packet, wherein the first packet comprises a segment list in a plurality of containers, the segment list corresponding to a forwarding path of the first packet, the segment list comprises a plurality of compressed segment identifiers that are sequentially arranged, a length of each of the plurality of compressed segment identifiers is less than 128 bits, the plurality of compressed segment identifiers comprise a first-type compressed segment identifier and a second-type compressed segment identifier, a length of the first-type compressed segment identifier is a first length, a length of the second-type compressed segment identifier is a second length, the first length is less than the second length, each of the plurality of containers has a same length, and a first container of the plurality of containers comprises the first-type compressed segment identifier having the first length and the second-type compressed segment identifier having the second length;

determine that content of a destination address field in a packet header of the first packet matches a local segment identifier;

in response to determining that the content of the destination address field matches the local segment identifier, determine to-be-copied content in the segment list based on an indication of the local segment identifier;

copy the to-be-copied content to the destination address field of the first packet, to generate a second packet; and

send the second packet.

10. The network device according to claim 9 , wherein the at least one processor is further configured to execute the programming instructions to cause the network device to:

determine a location of the to-be-copied content in the segment list based on a length indicated by the local segment identifier; and

determine the to-be-copied content based on the location of the to-be-copied content in the segment list.

11. The network device according to claim 10 , wherein the packet header of the first packet comprises a first pointer and a second pointer, and the at least one processor is further configured to execute the programming instructions to cause the network device to:

determine a value of the first pointer based on the length indicated by the local segment identifier;

determine, based on the value of the first pointer, a location of the to-be-copied content in the first container, the first container having a length of 128 bits; and

determine a location of the first container in the plurality of containers based on a value of the second pointer.

12. The network device according to claim 10 , wherein the packet header of the first packet comprises a first pointer, and the at least one processor is further configured to execute the programming instructions to cause the network device to:

determine a value of the first pointer based on the length indicated by the local segment identifier; and

determine the location of the to-be-copied content in the segment list based on the value of the first pointer.

13. A network system comprising a first network device and a second network device,

wherein the first network device is configured to:

generate a first packet, wherein the first packet comprises a segment list in a plurality of containers, the segment list corresponding to a forwarding path of the first packet, the segment list comprises a plurality of compressed segment identifiers that are sequentially arranged, a length of each of the plurality of compressed segment identifiers is less than 128 bits, the plurality of compressed segment identifiers comprise a first-type compressed segment identifier and a second-type compressed segment identifier, a length of the first-type compressed segment identifier is a first length, a length of the second-type compressed segment identifier is a second length, the first length is less than the second length, each of the plurality of containers has a same length, and a first container of the plurality of containers comprises the first-type compressed segment identifier having the first length and the second-type compressed segment identifier having the second length; and

send the first packet based on the segment list to the second network device; and

wherein the second network device is configured to:

receive the first packet;

determine that content of a destination address field in a packet header of the first packet matches a local segment identifier;

in response to determining that the content of the destination address field matches the local segment identifier, determine to-be-copied content in the segment list based on an indication of the local segment identifier;

copy the to-be-copied content to the destination address field of the first packet, to generate a second packet; and

send the second packet.

14. The network system according to claim 13 , wherein the first length is X times a unit length, the second length is Y times the unit length, and both X and Y are positive integers.

15. The network system according to claim 14 , wherein the unit length is (N th power of 2) bits, and N is an integer greater than or equal to 3 and less than 7.

16. The network system according to claim 13 , wherein the first length is 16 bits, and the second length is 32 bits.

17. The network system according to claim 13 , wherein the second-type compressed segment identifier comprises a global link compressed segment identifier, and the global link compressed segment identifier indicates a specific network device on the forwarding path of the first packet to forward the first packet through a specific link.

18. The network system according to claim 13 , wherein the segment list comprises an element having a length of 128 bits, and the element comprises the first-type compressed segment identifier and the second-type compressed segment identifier.

19. The network system according to claim 13 , wherein

the packet header of the first packet comprises a first pointer and a second pointer, a value of the first pointer indicates a location of one of the plurality of compressed segment identifiers in the first container, the first container having a length of 128 bits, and a value of the second pointer indicates a location of the first container in the plurality of containers; or

the packet header of the first packet comprises a first pointer, and a value of the first pointer indicates a location of one of the plurality of compressed segment identifiers in the segment list.

20. The network system according to claim 13 , wherein the second network device is further configured to:

determine a location of the to-be-copied content in the segment list based on a length indicated by the local segment identifier; and

determine the to-be-copied content based on the location of the to-be-copied content in the segment list.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2025
From: HU, ZHIBO; YAO, JUNDA
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 071499/0666 →
Priority Claims (2)
CN 202010557405.0 · Jun 18, 2020 · national
CN 202010923722.X · Sep 4, 2020 · national
Continuity (2)
Continuation PCTCN2021101015 · Jun 18, 2021
Related Publication 20230122099A1 · Apr 20, 2023
References Cited (6)
US 20230126801A1 · Peng · 2023 [cited by examiner]
US 20230188463A1 · Cheng · 2023 [cited by examiner]
“Cheng et al. “Compressed SRv6 Segment List Encoding in SRH”, draft-filsfilscheng-spring-srv6-srh-comp-sl-enc-01, May 19, 2020” (Year: 2020). [cited by examiner]
Yao liu er al:“BGP Extensions for Unified SID in TE Policy draft-liu-idr-segment-routing-te-policy-complement-03.” Nov. 12, 2020. total 23 pages. [cited by applicant]
Z. Li, C. Li et al:“Compressed SRv6 Network Programming draft-li-spring-compressed-srv6-np-02.” Aug. 28, 2020, SPRING Working Group, total 24 pages. [cited by applicant]
W. Cheng et al:“Compressed SRv6 Segment List Encoding in SRH draft-filsfilscheng-spring-srv6-srh-comp-sl-enc-01.” Nov. 20, 2020, SPRING, total 12 pages. [cited by applicant]