IP Library › Granted Patent US 12,407,605
Granted Patent B2
US 12,407,605 · App. 18/312,198 · Granted Sep 2, 2025

Packet forwarding method, apparatus, and system

Inventors: Xia Chen (Beijing, CN); Bing Liu (Beijing, CN); Ling Xu (Beijing, CN); Jianwei Mao (Beijing, CN)
Assignee: Huawei Technologies Co., Ltd.
H04L45/306H04L45/741H04L45/745H04L47/125H04L61/256H04L67/565H04L67/1006
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,407,605
App. No.
18/312,198
Filed
May 4, 2023
Granted
Sep 2, 2025
Kind
B2
Art Unit
2459
USPC
709/238
Abstract

This application discloses a packet forwarding method, an apparatus, and a system, and belongs to the field of communication technologies. The method includes: A first node receives a first packet. The first node sends a second packet to a second node based on the first packet, where a source address of the second packet is obtained by translating a source address of the first packet, a destination address of the second packet is a destination address of the first packet, a packet payload of the second packet is a packet payload of the first packet, the second packet further includes a session identifier, and the session identifier is used by the second node to forward the second packet.

Claims (74)

1. A packet forwarding method, comprising:

receiving, by a second node, a first packet from a first node, wherein the first packet comprises a first session identifier; and

sending, by the second node, the first packet based on the first session identifier comprising:

generating, by the second node, a session table based on the first session identifier, wherein the session table comprises a key value and next-hop information, and the key value comprises the first session identifier, and

finding, by the second node, the next-hop information based on the key value corresponding to the first session identifier, and sending the first packet based on the next-hop information.

2. The packet forwarding method according to claim 1 , wherein the first session identifier is used by the second node to perform load balancing.

3. The packet forwarding method according to claim 1 , wherein a source address of the first packet is obtained by translating a source address of a second packet, a destination address of the first packet is a destination address of the second packet, and a packet payload of the first packet is a packet payload of the second packet; and

the first session identifier comprises the source address of the second packet; or

the first session identifier comprises a first application-aware identifier corresponding to the first packet.

4. The packet forwarding method according to claim 1 , wherein the first packet received by the second node is an IPv6 packet, and the first session identifier is in an extension header of the first packet; or

the first packet received by the first node is an IPv4 packet, and the first session identifier is in an option field of the first packet.

5. The packet forwarding method according to claim 1 , wherein the second node is an ingress router in compute first networking, and the generating, by the second node, a session table based on the first session identifier comprises:

obtaining, by the second node, computing power information of a plurality of third nodes that each provide a first service and that are in the compute first networking, wherein the first service is a service corresponding to the first packet;

determining, by the second node, a target node in the plurality of third nodes based on the computing power information of the plurality of third nodes, wherein the target node satisfies a computing power condition;

determining, by the second node, the next-hop information based on the target node, wherein the next-hop information is for sending a packet to the target node; and

generating, by the second node, the session table based on the next-hop information and the first session identifier.

6. The packet forwarding method according to claim 1 , wherein the second node is a load balancer node in load balancing networking, and the generating, by the second node, a session table based on the first session identifier comprises:

obtaining, by the second node, load information of a plurality of third nodes that each provide a first service and that are in the load balancing networking, wherein the first service is a service corresponding to the first packet;

determining, by the second node, a target node in the plurality of third nodes based on the load information of the plurality of third nodes, wherein the target node satisfies a load condition;

determining, by the second node, the next-hop information based on the target node, wherein the next-hop information is for sending a packet to the target node; and

generating, by the second node, the session table based on the next-hop information and the first session identifier.

7. The packet forwarding method according to claim 1 , wherein the first packet sent by the second node comprises the first session identifier.

8. The packet forwarding method according to claim 1 , wherein the method further comprises:

receiving, by the second node, a third packet from the first node, wherein the third packet comprises the first session identifier; and

sending, by the second node based on the first session identifier, the third packet to a destination node that is the same as that of the first packet.

9. The packet forwarding method according to claim 1 , wherein the method further comprises:

receiving, by the second node, a fourth packet from the first node, wherein the fourth packet comprises a second session identifier, and the second session identifier is different from the first session identifier; and

sending, by the second node, the fourth packet based on the second session identifier, so that the fourth packet and the first packet are sent to different serving nodes.

10. A computer processing system, comprising:

a memory storing one or more instructions; and

a processor, coupled with the memory, configured to execute the one or more instructions causing the computer processing system to perform operations for a packet forwarding method, the operations comprising:

receiving, by a second node, a first packet from a first node, wherein the first packet comprises a first session identifier; and

sending, by the second node, the first packet based on the first session identifier comprising:

generating, by the second node, a session table based on the first session identifier, wherein the session table comprises a key value and next-hop information, and the key value comprises the first session identifier, and

finding, by the second node, the next-hop information based on the key value corresponding to the first session identifier, and sending the first packet based on the next-hop information.

11. The computer processing system of claim 10 , wherein the first packet sent by the second node comprises the first session identifier.

12. The computer processing system of claim 10 , wherein the operations further comprise:

receiving, by the second node, a third packet from the first node, wherein the third packet comprises the first session identifier; and

sending, by the second node based on the first session identifier, the third packet to a destination node that is the same as that of the first packet.

13. The computer processing system of claim 10 , wherein the operations further comprise:

receiving, by the second node, a fourth packet from the first node, wherein the fourth packet comprises a second session identifier, and the second session identifier is different from the first session identifier; and

sending, by the second node, the fourth packet based on the second session identifier, so that the fourth packet and the first packet are sent to different serving nodes.

14. The computer processing system of claim 10 , wherein the second node is an ingress router in compute first networking, and the generating, by the second node, a session table based on the first session identifier comprises operations for:

obtaining, by the second node, computing power information of a plurality of third nodes that each provide a first service and that are in the compute first networking, wherein the first service is a service corresponding to the first packet;

determining, by the second node, a target node in the plurality of third nodes based on the computing power information of the plurality of third nodes, wherein the target node satisfies a computing power condition;

determining, by the second node, the next-hop information based on the target node, wherein the next-hop information is for sending a packet to the target node; and

generating, by the second node, the session table based on the next-hop information and the first session identifier.

15. The computer processing system of claim 10 , wherein the second node is a load balancer node in load balancing networking, and the generating, by the second node, a session table based on the first session identifier comprises operations for:

obtaining, by the second node, load information of a plurality of third nodes that each provide a first service and that are in the load balancing networking, wherein the first service is a service corresponding to the first packet;

determining, by the second node, a target node in the plurality of third nodes based on the load information of the plurality of third nodes, wherein the target node satisfies a load condition;

determining, by the second node, the next-hop information based on the target node, wherein the next-hop information is for sending a packet to the target node; and

generating, by the second node, the session table based on the next-hop information and the first session identifier.

16. A non-transitory computer readable storage medium, having one or more instructions stored thereon, which when executed by a processor of a computer processing system, cause the computer processing system to perform operations for a packet forwarding method, the operations comprising:

receiving, by a second node, a first packet from a first node, wherein the first packet comprises a first session identifier; and

sending, by the second node, the first packet based on the first session identifier comprising:

generating, by the second node, a session table based on the first session identifier, wherein the session table comprises a key value and next-hop information, and the key value comprises the first session identifier, and

finding, by the second node, the next-hop information based on the key value corresponding to the first session identifier, and sending the first packet based on the next-hop information.

17. The non-transitory computer readable storage medium of claim 16 , wherein the operations further comprise:

receiving, by the second node, a third packet from the first node, wherein the third packet comprises the first session identifier; and

sending, by the second node based on the first session identifier, the third packet to a destination node that is the same as that of the first packet.

18. The non-transitory computer readable storage medium of claim 16 , wherein the operations further comprise:

receiving, by the second node, a fourth packet from the first node, wherein the fourth packet comprises a second session identifier, and the second session identifier is different from the first session identifier; and

sending, by the second node, the fourth packet based on the second session identifier, so that the fourth packet and the first packet are sent to different serving nodes.

19. The non-transitory computer readable storage medium of claim 16 , wherein the second node is an ingress router in compute first networking, and the generating, by the second node, a session table based on the first session identifier comprises operations for:

obtaining, by the second node, computing power information of a plurality of third nodes that each provide a first service and that are in the compute first networking, wherein the first service is a service corresponding to the first packet;

determining, by the second node, a target node in the plurality of third nodes based on the computing power information of the plurality of third nodes, wherein the target node satisfies a computing power condition;

determining, by the second node, the next-hop information based on the target node, wherein the next-hop information is for sending a packet to the target node; and

generating, by the second node, the session table based on the next-hop information and the first session identifier.

20. The non-transitory computer readable storage medium of claim 16 ,

wherein the second node is a load balancer node in load balancing networking, and the generating, by the second node, a session table based on the first session identifier comprises operations for:

obtaining, by the second node, load information of a plurality of third nodes that each provide a first service and that are in the load balancing networking, wherein the first service is a service corresponding to the first packet;

determining, by the second node, a target node in the plurality of third nodes based on the load information of the plurality of third nodes, wherein the target node satisfies a load condition;

determining, by the second node, the next-hop information based on the target node, wherein the next-hop information is for sending a packet to the target node; and

generating, by the second node, the session table based on the next-hop information and the first session identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2025
From: CHEN, XIA; LIU, BING; XU, LING; MAO, JIANWEI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 071098/0245 →
Priority Claims (1)
CN 202110722092.4 · Jun 28, 2021 · national
Continuity (2)
Continuation PCTCN2022101268 · Jun 24, 2022
Related Publication 20230275830A1 · Aug 31, 2023
References Cited (11)
US 20140006578A1 · Kohn · 2014 [cited by examiner]
US 20150067027A1 · Liu · 2015 [cited by examiner]
US 20200351309A1 · Warburton · 2020 [cited by examiner]
US 20220191145A1 · Duraj · 2022 [cited by examiner]
CN 101304436A · 2008 [cited by applicant]
CN 103428229A · 2013 [cited by applicant]
EP 2634996A1 · 2013 [cited by applicant]
EP 3493507A1 · 2019 [cited by applicant]
B. Carpenter et al:“Using the IPV6 Flow Label for Server Load Balancing draft-carpenter-flow-label-balancing-00.” May 8, 2012. total 12 pages. [cited by applicant]
Carpenter Univ of Auckland S Jiang Huawei Technologies Co B et al: “Using the IPv6 Flow Label for Server Load Balancing; draft-carpenter-flow-label-balancing-02.txt”, Internet Engineering Task Force, IETF: Standardworki… [cited by applicant]
Carpenter Univ of Auckland S Jiang Huawei Technologies Co B et al: “Extending Use of the IPv6 Flow Label for Load Balancing Persistence; draft -tarreau-extend-flow-label-balancing-01 . txt”, Internet Engineering Task Fo… [cited by applicant]