IP Library › Granted Patent US 11,431,618
Granted Patent B2
US 11,431,618 · App. 16/576,090 · Granted Aug 30, 2022

Flexible path encoding in packet switched networks

Inventor: Pranjal Kumar Dutta (Sunnyvale, CA)
Assignee: Nokia Solutions and Networks Oy
H04L45/22H04L45/306H04L45/44H04L45/64H04L45/745
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,431,618
App. No.
16/576,090
Granted
Aug 30, 2022
Kind
B2
Abstract

Various example embodiments for supporting packet forwarding in communication networks are presented. Various example embodiments for supporting packet forwarding in communication networks may be configured to support forwarding of source routed packets in packet switched networks based on flexible path encoding. Various example embodiments for supporting forwarding of a source routed packet based on flexible path encoding may be configured to support forwarding of the source routed packets based on use of a bit string configured to encode the path for the source routed packet. Various example embodiments for supporting forwarding of source routed packets based on flexible path encoding may be configured to support forwarding of source routed packets based on various types of source routing, such as Segment Routing (SR), SR-Traffic Engineering (SR-TE), or the like.

Claims (42)

1. An apparatus, comprising:

at least one processor; and

at least one memory including program code;

wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

handle a packet to be routed over a path through a network toward an egress node of the path, wherein the network includes a set of segments, wherein the packet includes a header and a payload, wherein the header includes a bit string including a set of bit positions corresponding to respective ones of at least a portion of the segments of the network, wherein the bit positions of the bit string are set in a manner for encoding the path and for encoding a protection path configured to protect at least a portion of the path.

2. The apparatus of claim 1 , wherein the packet comprises a source routed packet.

3. The apparatus of claim 1 , wherein the packet comprises a segment routed packet.

4. The apparatus of claim 1 , wherein the set of segments of the network includes at least one of one or more single-hop segments or one or more multi-hop segments.

5. The apparatus of claim 1 , wherein the set of segments of the network includes a set of prefix segments and a set of adjacency segments.

6. The apparatus of claim 1 , wherein a number of bit positions included in the bit string is based on ones of the segments of the network that form the path and ones of the segments of the network that form the protection path.

7. The apparatus of claim 6 , wherein the number of bit positions included in the bit string is equal to a highest bit position associated with the ones of the segments of the network that form the path and the ones of the segments of the network that form the protection path.

8. The apparatus of claim 1 , wherein, to handle the packet, the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

receive, by a router, the payload;

identify, by the router, ones of the segments of the network of which the path is composed;

generate, by the router based on the ones of the segments of the network of which the path is composed, the header; and

form, by the router based on association of the header with the payload, the packet.

9. The apparatus of claim 1 , wherein, to handle the packet, the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

receive, by a router, the packet;

identify, by the router, one of the bit positions of the bit string for which the router has forwarding state; and

determine, by the router based on a forwarding state, forwarding of the packet.

10. The apparatus of claim 9 , wherein, to handle the packet, the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

forward, by the router based on a determination based on the forwarding state that a next-hop of the path is available, the packet.

11. The apparatus of claim 10 , wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

update, by the router based on a determination that the one of the bit positions of the bit string for which the router has forwarding state represents a local segment of the router, the packet by resetting the one of the bit positions of the bit string for which the router has forwarding state.

12. The apparatus of claim 11 , wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

reduce a length of the bit string, by removing one or more of the bit positions of the bit string, based on a determination that a most significant bit of the bit string is not set after the resetting of the one of the bit positions of the bit string for which the router has forwarding state.

13. The apparatus of claim 9 , wherein, to handle the packet, the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

determine, by the router based on a determination based on the forwarding state that a next-hop of the path is unavailable, forwarding of the packet using the protection path; and

forward, by the router via the protection path, the packet.

14. The apparatus of claim 13 , wherein the protection path includes one or more protection hops, wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

update, by the router prior to forwarding the packet via the protection path, the bit string to set at least one bit position corresponding to at least one of the protection hops.

15. The apparatus of claim 14 , wherein the update of the bit string includes increasing a length of the bit string to include one or more additional bit positions.

16. The apparatus of claim 1 , wherein the protection path is a link protection detour path.

17. The apparatus of claim 1 , wherein the protection path is a node protection detour path.

18. The apparatus of claim 1 , wherein, to handle the packet, the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus to at least:

receive, by a router, the packet;

determine, for a failure associated with forwarding of the packet from the router, whether the failure is a link failure or a node failure; and

initiate a reroute of the packet using the protection path based on whether the failure is a link failure or a node failure.

19. A non-transitory computer-readable medium storing instructions configured to cause an apparatus to at least:

handle a packet to be routed over a path through a network toward an egress node of the path, wherein the network includes a set of segments, wherein the packet includes a header and a payload, wherein the header includes a bit string including a set of bit positions corresponding to respective ones of at least a portion of the segments of the network, wherein the bit positions of the bit string are set in a manner for encoding the path and for encoding a protection path configured to protect at least a portion of the path.

20. A method, comprising:

handling a packet to be routed over a path through a network toward an egress node of the path, wherein the network includes a set of segments, wherein the packet includes a header and a payload, wherein the header includes a bit string including a set of bit positions corresponding to respective ones of at least a portion of the segments of the network, wherein the bit positions of the bit string are set in a manner for encoding the path and for encoding a protection path configured to protect at least a portion of the path.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2019
From: DUTTA, PRANJAL KUMAR
To: NOKIA SOLUTIONS AND NETWORKS OY
Reel/Frame 050435/0862 →
Continuity (1)
Related Publication 20210092048A1 · Mar 25, 2021
Cited By (1)
US 12,267,230