IP Library › Granted Patent US 12,199,861
Granted Patent B2
US 12,199,861 · App. 17/469,201 · Granted Jan 14, 2025

Method and system for determining packet forwarding path, and network node

Inventors: Cheng Li (Beijing, CN); Zhibo Hu (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L45/566H04L45/22
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,199,861
App. No.
17/469,201
Granted
Jan 14, 2025
Kind
B2
Abstract

A method includes obtaining, by a first network node, a first segment identifier advertisement message, where the first segment identifier advertisement message includes a first segment identifier and a first flag bit, and the first segment identifier is corresponding to a second network node; determining, by the first network node, that the first flag bit indicates that a packet needs to be forwarded through the second network node; and generating, by the first network node, a first packet forwarding path, where the first packet forwarding path includes the second network node.

Claims (83)

1. A first network node comprising:

one or more processors; and

a memory coupled to the one or more processors and configured to store instructions which, when executed by the one or more processors, cause the first network node to:

obtain a first segment identifier advertisement message comprising a first segment identifier and a first flag bit, wherein the first segment identifier corresponds to a second network node;

determine the first flag bit indicates a packet needs to be forwarded through the second network node;

obtain a first packet forwarding path comprising the second network node, wherein the first packet forwarding path is a primary path;

obtain a second packet forwarding path comprising the second network node, wherein the first packet forwarding path is different from the second packet forwarding path, and wherein the second packet forwarding path is a first backup path of the first packet forwarding path;

receive a first packet comprising a first segment list, wherein a first topmost segment identifier in the first segment list is a second segment identifier corresponding to the primary path;

determine the second network node is unreachable through the primary path;

replace the first topmost segment identifier with a third segment identifier corresponding to the first backup path to generate a second packet; and

send the second packet to the second network node.

2. The first network node of claim 1 , wherein the instructions further cause the first network node to generate a forwarding entry comprising the second segment identifier and the third segment identifier.

3. The first network node of claim 1 , wherein the instructions further cause the first network node to:

obtain a second segment identifier advertisement message comprising a fourth segment identifier and a second flag bit, wherein the fourth segment identifier corresponds to the second network node;

determine the second flag bit indicates the packet does not need to be forwarded through the second network node; and

obtain a third packet forwarding path not comprising the second network node, wherein the third packet forwarding path is a second backup path of the first packet forwarding path.

4. The first network node of claim 1 , wherein the first segment identifier is a node segment identifier of the second network node, or the first segment identifier is an adjacent segment identifier of a link of the first network node, and wherein the first network node is connected to the second network node through the link.

5. The first network node of claim 4 , wherein when the first segment identifier is the adjacent segment identifier, the instructions further cause the first network node to:

receive, from a controller, a control message indicating that the packet needs to be forwarded through the second network node;

generate the first segment identifier advertisement message; and

send the first segment identifier advertisement message to another node in a network.

6. The first network node of claim 4 , wherein when the first segment identifier is the adjacent segment identifier, the instructions further cause the first network node to:

receive a second segment identifier advertisement message comprising a second segment identifier and a second flag bit, wherein the second segment identifier is the node segment identifier of the second network node;

determine the second flag bit indicates the packet needs to be forwarded through the second network node;

generate the first segment identifier advertisement message; and

send the first segment identifier advertisement message to another node in a network.

7. The first network node of claim 1 , wherein the instructions further cause the first network node to:

before the first network node obtains the first packet forwarding path:

receive a first packet; and

determine the first packet is a first-type packet; and

after the first network node obtains the first packet forwarding path:

determine a segment list corresponding to the first packet forwarding path;

push the segment list into the first packet, to generate a second packet; and

forward the second packet based on the segment list.

8. The first network node of claim 7 , wherein a priority of the first-type packet is higher than a first threshold, or a security requirement level of the first-type packet is higher than a first threshold.

9. The first network node of claim 1 , wherein the instructions further cause the first network node to:

obtain a third segment identifier advertisement message comprising a third segment identifier and a third flag bit, wherein the third segment identifier corresponds to the second network node;

determine the third flag bit indicates the packet does not need to be forwarded through the second network node;

receive a third packet;

determine the third packet is a second-type packet;

obtain a third packet forwarding path not comprising the second network node;

determine a segment list corresponding to the third packet forwarding path;

push the segment list into the third packet to generate a fourth packet; and

forward the fourth packet based on the segment list.

10. The first network node of claim 9 , wherein a priority of the second-type packet is lower than a second threshold, or a security requirement level of the second-type packet is lower than a second threshold.

11. The first network node of claim 3 , wherein the instructions further cause the first network node to:

receive a third packet comprising a second segment list, wherein a second topmost segment identifier in the second segment list is the second segment identifier;

determine the second packet is a first-type packet;

determine the second network node is unreachable through the primary path;

replace the second segment identifier with a third segment identifier corresponding to the first backup path, to generate a fourth packet; and

send the fourth packet to the second network node.

12. The first network node of claim 11 , wherein a priority of the first-type packet is higher than a first threshold, and wherein a security requirement level of the first-type packet is higher than a first threshold.

13. The first network node of claim 3 , wherein the instructions further cause the first network node to:

receive a third packet comprising the first segment list;

determine the third packet is a second-type packet;

determine the second network node is unreachable through the primary path;

replace the second segment identifier with the third segment identifier, to generate a fourth packet; and

forward the fourth packet.

14. The first network node of claim 13 , wherein a priority of the second-type packet is lower than a second threshold, or a security requirement level of the second-type packet is lower than a second threshold.

15. A second network node comprising:

one or more processors; and

a memory coupled to the one or more processors and configured to store instructions which, when executed by the one or more processors, cause the second network node to:

generate a first segment identifier advertisement message comprising a first segment identifier and a first flag bit indicating packet forwarding paths need to pass through a network node corresponding to the first segment identifier;

send the first segment identifier advertisement message to a first network node, wherein the first flag bit indicates that a first packet forwarding path obtained by the first network node passes through the network node corresponding to the first segment identifier;

generate a third segment identifier advertisement message comprising a third segment identifier and a third flag bit indicating packet forwarding paths do not need to pass through a network node corresponding to the third segment identifier, wherein the network node corresponding to the third segment identifier is a same node as the network node corresponding to the first segment identifier, wherein the third flag bit indicates that a third packet forwarding path obtained by the first network node does not pass through the network node corresponding to the first segment identifier; and

send the third segment identifier advertisement message to the first network node.

16. The second network node of claim 15 , wherein the first segment identifier is a node segment identifier of the second network node, or the first segment identifier is an adjacent segment identifier of a link of the second network node, wherein the second network node is connected to a third network node through the link, and wherein the third network node is the network node corresponding to the first segment identifier.

17. The second network node of claim 16 , wherein when the first segment identifier is the adjacent segment identifier, the instructions further cause the second network node to receive, from a controller, a control message indicating that the first packet forwarding path needs to pass through the network node corresponding to the first segment identifier.

18. The second network node of claim 16 , wherein when the first segment identifier is the adjacent segment identifier, the instructions further cause the second network node to:

receive a second segment identifier advertisement message comprising a second segment identifier and a second flag bit, wherein the second segment identifier is a node segment identifier of the third network node; and

determine the second flag bit indicates a packet needs to be forwarded through the third network node.

19. The second network node of claim 15 , wherein the second network node is a firewall.

20. A system for determining a packet forwarding path, wherein the system comprises:

a second network node configured to generate a first segment identifier advertisement message comprising a first segment identifier and a first flag bit indicating a packet forwarding path needs to pass through a network node corresponding to the first segment identifier; and

a first network node configured to:

obtain the first segment identifier advertisement message;

determine the first flag bit indicates a packet needs to be forwarded through the network node corresponding to the first segment identifier; and

obtain a first packet forwarding path comprising the network node corresponding to the first segment identifier, wherein the first packet forwarding path is a primary path;

obtain a second packet forwarding path comprising the second network node, wherein the first packet forwarding path is different from the second packet forwarding path, and wherein the second packet forwarding path is a first backup path of the first packet forwarding path;

receive a first packet comprising a segment list, wherein a topmost segment identifier in the segment list is a second segment identifier corresponding to the primary path;

determine the second network node is unreachable through the primary path;

replace the topmost segment identifier with a third segment identifier corresponding to the first backup path to generate a second packet; and

send the second packet to the second network node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2024
From: LI, CHENG; HU, ZHIBO
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 068706/0367 →
Priority Claims (1)
CN 201910175452.6 · Mar 8, 2019 · national
Continuity (2)
Continuation PCTCN2020076932 · Feb 27, 2020
Related Publication 20210409321A1 · Dec 30, 2021
References Cited (28)
US 20160099864A1 · Akiya et al. · 2016 [cited by applicant]
US 20160173366A1 · Saad · 2016 [cited by examiner]
US 20170064717A1 · Filsfils et al. · 2017 [cited by applicant]
US 20170244631A1 · Guichard · 2017 [cited by applicant]
US 20170250908A1 · Nainar · 2017 [cited by examiner]
US 20180077051A1 · Nainar · 2018 [cited by examiner]
US 20180219783A1 · Pfister et al. · 2018 [cited by applicant]
US 20180316161A1 · Notarfrancesco et al. · 2018 [cited by applicant]
US 20180359599A1 · Cherry et al. · 2018 [cited by applicant]
US 20180359699A1 · Strong et al. · 2018 [cited by applicant]
US 20190036818A1 · Nainar · 2019 [cited by applicant]
US 20190058654A1 · Nainar · 2019 [cited by applicant]
US 20200099610A1 · Heron · 2020 [cited by examiner]
US 20200153732A1 · Negi · 2020 [cited by examiner]
US 20200153733A1 · Chunduri · 2020 [cited by examiner]
US 20210092052A1 · Tantsura et al. · 2021 [cited by applicant]
US 20210176168A1 · Eckert · 2021 [cited by examiner]
CN 101227248A · 2008 [cited by applicant]
CN 102611569A · 2012 [cited by applicant]
CN 105704019A · 2016 [cited by applicant]
CN 108702331A · 2018 [cited by applicant]
CN 108809759A · 2018 [cited by applicant]
CN 109076018A · 2018 [cited by applicant]
CN 109981458A · 2019 [cited by applicant]
A. Bashandy, et al., “Topology Independent Fast Reroute using Segment Routing,” draft-bashandy-rtgwg-segment-routing-ti-lfa-02, Jan. 19, 2018, 12 pages. [cited by applicant]
Bashandy, A., et al., “Topology Independent Fast Reroute using Segment Routing,” draft-ietf-rtgwg-segment-routing-ti-lfa-00, Jun. 3, 2019, 19 pages. [cited by applicant]
Litkowski, S., et al., “Implementing non protected paths using SPRING,” draft-litkowski-spring-non-protected-paths-02, Feb. 10, 2018, 14 pages. [cited by applicant]
Deering,et al., “Internet Protocol, Version 6 (IPv6) Specification,” Request for Comments: 8200, Jul. 2017, 421 pages. [cited by applicant]