IP Library › Granted Patent US 11,671,346
Granted Patent B2
US 11,671,346 · App. 17/969,890 · Granted Jun 6, 2023

Enforcing strict shortest path forwarding using strict segment identifiers

Inventors: Peter Psenak (Bratislava, SK); Robert Hanzl (Ritka, CZ); Clarence Filsfils (Brussels, BE); Ketan Jivan Talaulikar (Pune, IN)
Assignee: CISCO TECHNOLOGY, INC.
H04L45/12H04L45/02
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,671,346
App. No.
17/969,890
Granted
Jun 6, 2023
Kind
B2
Abstract

Various systems and methods for using strict path forwarding. For example, one method involves receiving an advertisement at a node. The advertisement includes a segment identifier (SID). In response to receiving the advertisement, the node determines whether the SID is a strict SID or not. If the SID is a strict SID, the node generates information, such as forwarding information that indicates how to forward packets along a strict shortest path corresponding to the strict SID.

Claims (52)

1. A method comprising:

at each of a plurality of nodes interconnected via a network, generating an advertisement and transmitting the advertisement to other nodes on the network, the advertisement comprising a segment identifier (SID) assigned to the node that generated and transmitted the advertisement, a value indicating a path calculation metric for the SID, and a value indicating an algorithm for the SID, wherein the value indicating the algorithm for the SID corresponds to a value assigned to either a first algorithm or a second algorithm,

wherein the method associated with the first algorithm comprises forwarding a received packet to a next hop in a precalculated shortest path regardless of any local policies that might send the received packet to another node;

wherein the method associated with the second algorithm comprises forwarding a received packet to a next hop in a precalculated shortest path unless a local policy indicates that the received packet should be sent to another destination;

at each of the plurality of nodes that receive one or more advertisements, using the received advertisements to update a packet forwarding table; and

at an ingress node associated with the plurality of nodes, receiving a packet, selecting a shortest path comprising a plurality of SIDs between the ingress node and an egress node associated with the plurality of nodes, adding the segments in the path to a segment routing (SR) header, and attaching the SR header to the packet,

wherein selecting the shortest path includes calculating a shortest path using only SIDs where the value indicating the algorithm for the SID corresponds to a value assigned to the first algorithm.

2. The method of claim 1 , further comprising forwarding the packet through the plurality of nodes, wherein every node transited by the packet corresponds to a SID advertising the first algorithm.

3. The method of claim 2 , further comprising steps of:

at a node receiving the packet, forwarding the packet to a network element associated with a next SID in the SR header; and

ignoring any local path instructions that would override the selected shortest path.

4. The method of claim 1 , wherein the path calculation metric supported by the node is a shortest Interior Gateway Protocol (IGP) metric.

5. The method of claim 1 , wherein the path calculation metric supported by the node is a latency metric.

6. The method of claim 1 , wherein the selecting the shortest path includes calculating a Forwarding Equivalence Class (FEC) for the packet, and then selecting an ordered list of SIDs associated with the FEC.

7. The method of claim 1 , wherein a subset of the nodes from the plurality of nodes further generates and transmits a second advertisement, the second advertisement comprising a second SID assigned to the node, a value indicating a path calculation metric for the second SID, and a value indicating the algorithm for the second SID, wherein the value indicating the algorithm for the second SID corresponds to a value assigned to the second algorithm.

8. The method of claim 7 , wherein a node from the subset of the nodes receives a second packet with a SR header that includes a SID corresponding to the second algorithm, and wherein the node follows a local path instruction and forwards the packet to another node not on the shortest path.

9. The method of claim 1 , wherein forwarding a received packet to a next hop in a precalculated shortest path is forwarding according to a shortest path first (SPF).

10. The method of claim 9 , wherein forwarding a received packet to a next hop in a precalculated shortest path regardless of any local policies is forwarding according to a strict SPF.

11. A system for forwarding packets, the system comprising:

a plurality of nodes interconnected via a network, the plurality of nodes including an ingress node and an egress node, wherein each node of the plurality of nodes is configured to generate an advertisement and transmit the advertisement to other nodes on the network, the advertisement comprising a segment identifier (SID) assigned to the node that generated and transmitted the advertisement, a value indicating a path calculation metric for the SID, and a value indicating an algorithm for the SID, wherein the value indicating the algorithm for the SID corresponds to a value assigned to either a first algorithm or a second algorithm,

wherein a node implementing the first algorithm forwards a received packet to a next node associated with a precalculated shortest path regardless of any local policies that might send the received packet to another node;

wherein a node implementing the second algorithm forwards a received packet to a next node associated with a precalculated shortest path unless a local policy indicates that the received packet should be sent to another node;

wherein each node in the plurality of nodes is further configured to receive one or more advertisements and use the received advertisements to update a packet forwarding table;

wherein the ingress node is configured to receive a packet, select a shortest path comprising a plurality of SIDS between the ingress node and the egress node, add the segments in the path to a segment routing (SR) header, and attach the SR header to the packet; and

wherein the selected shortest path is obtained by calculating a shortest path using only SIDS where the value indicating the algorithm corresponds to a value assigned to the first algorithm.

12. The system of claim 11 , wherein the system forwards the packet along the selected shortest path through the plurality of nodes, wherein every node transited by the packet corresponds to a SID advertising the first algorithm.

13. The system of claim 12 , wherein upon receiving a forwarded packet, a node on the selected shortest path implements the first algorithm by ignoring any local path instructions that would override the selected shortest path, and only forwards the packet to a next hop in the selected shortest path.

14. The system of claim 11 , wherein the path calculation metric supported by the node is a shortest Interior Gateway Protocol (IGP) metric.

15. The system of claim 11 , wherein the path calculation metric supported by the node is a latency metric.

16. The system of claim 11 , wherein the selected shortest path is selected by calculating a Forwarding Equivalence Class (FEC) for the packet, and then selecting an ordered list of SIDs associated with the FEC.

17. The system of claim 11 , wherein a subset of the nodes from the plurality of nodes is further configured to generate and transmit a second advertisement, the second advertisement comprising a second SID assigned to the node, a value indicating a path calculation metric for the second SID, and a value indicating the algorithm for the second SID, wherein the value indicating the algorithm for the second SID corresponds to a value assigned to the second algorithm.

18. The system of claim 17 , wherein a node from the subset of the nodes receives a second packet with an SR header that includes a SID corresponding to the second algorithm, and wherein the node follows a local path instruction and forwards the packet to a node not on the selected shortest path.

19. The system of claim 11 , wherein a node that forwards a received packet to a next node in a precalculated shortest path is forwarding according to a shortest path first (SPF).

20. The system of claim 19 , wherein a node that forwards a received packet to a next node in a precalculated shortest path regardless of any local policies is forwarding according to a strict SPF.

21. A non-transitory computer-readable medium encoding instructions, which, when executed by one or more processors associated with a plurality of nodes interconnected via a network, cause actions to be performed, including:

at each of the plurality of nodes interconnected via a network, generating an advertisement and transmitting the advertisement to other nodes on the network, the advertisement comprising a segment identifier (SID) assigned to the node that generated and transmitted the advertisement, a value indicating a path calculation metric for the SID, and a value indicating an algorithm for the SID, wherein the value indicating the algorithm for the SID corresponds to a value assigned to either a first algorithm or a second algorithm,

wherein instructions implementing the first algorithm forward packets to a node associated with a next SID in a precalculated shortest path regardless of any local policies that might send the packets to another node; and

wherein instructions implementing the second algorithm forward packets to a node associated with a next SID in a precalculated shortest path unless instructions implementing a local policy indicate that the packets should be sent to another destination;

at each of the plurality of nodes that receive one or more advertisements, using the received advertisements to update a packet forwarding table;

at one of the nodes designated as an ingress node, receiving a packet, selecting a shortest path comprising a plurality of SIDs between the ingress node and a node designated as an egress node, adding the segments in the path to a segment routing (SR) header, and attaching the SR header to the packet; and

wherein selecting the shortest path includes calculating a shortest path using only SIDs where the value for the algorithm corresponds to a value associated with the first algorithm.

22. The non-transitory computer-readable medium of claim 21 , wherein the actions further comprise forwarding the packet through the plurality of nodes, wherein every node transited by the packet corresponds to a SID advertising the first algorithm.

23. The non-transitory computer-readable medium of claim 22 , wherein the actions further comprise, at each node receiving the packet, ignoring any local path instructions that would override the selected shortest path, and only forwarding the packet to a network element associated with a next SID in the header.

24. The non-transitory computer-readable medium of claim 21 , wherein the path calculation metric supported by the node is a shortest Interior Gateway Protocol (IGP) metric.

25. The instructions of claim 21 , wherein the path calculation metric supported by the node is a latency metric.

26. The non-transitory computer-readable medium of claim 21 , wherein selecting the shortest path includes calculating a Forwarding Equivalence Class (FEC) for the packet, and then selecting an ordered list of SIDs associated with the FEC.

27. The non-transitory computer-readable medium of claim 21 , wherein the actions further comprise:

at a subset of the nodes from the plurality of nodes, further generating and transmitting a second advertisement, the second advertisement comprising a second SID assigned to the node, a value indicating a path calculation metric for the second SID, and a value indicating the algorithm for the second SID, wherein the value indicating the algorithm for the second SID corresponds to a value assigned to the second algorithm.

28. The non-transitory computer-readable medium of claim 27 , wherein the actions further comprise:

at the node from the subset of nodes, receiving a second packet with an SR header that includes a SID corresponding to the second algorithm, and following a local path instruction and forwarding the packet to a node not on the selected shortest path.

29. The non-transitory computer-readable medium of claim 21 , wherein instructions to forward a received packet to a node associated with a next SID in a precalculated shortest path is forwarding according to a shortest path first (SPF).

30. The non-transitory computer-readable medium of claim 29 , wherein instructions to forward a received packet to a node associated with a next SID in a precalculated shortest path regardless of any local policies is forwarding according to a strict SPF.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2022
From: PSENAK, PETER; HANZL, ROBERT; FILSFILS, CLARENCE; TALAULIKAR, KETAN JIVAN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 061482/0535 →
Continuity (5)
Continuation 17731610 · Apr 28, 2022
Continuation 16943541 · Jul 30, 2020
Continuation 16384219 · Apr 15, 2019
Continuation 15165794 · May 26, 2016
Related Publication 20230043743A1 · Feb 9, 2023