IP Library Granted Patent US 9,749,227
Granted Patent B2
US 9,749,227 · App. 14/717,665 · Granted Aug 29, 2017

MPLS segment-routing

Inventors: Daniel C. Frost (Middlesex, GB); Stewart F. Bryant (Redhill, GB); Clarence Filsfils (Brussels, BE)
Assignee: Cisco Technology, Inc.
H04L45/50H04L41/00H04L45/02H04L45/38H04L45/42H04L45/44H04L45/58H04L45/66H04L69/166H04L45/34
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 9,749,227
App. No.
14/717,665
Granted
Aug 29, 2017
Kind
B2
Abstract

MPLS segment routing is disclosed. In one embodiment, a first core router generates a first data structure that maps first portcodes to respective identities of first neighbor routers or respective first links, wherein the first portcodes identify respective first ports of the first core router, and wherein the first ports are coupled to the first neighbor routers, respectively, via the first links, respectively. The first core router generates and transmits a first link-state packet, wherein the first link-state packet comprises an identity of the first core router and the first data structure.

Claims (71)

1. A method of routing a packet using a portcode stack, the method comprising:

generating, at an edge router in a network, a portcode stack comprising a first-router portcode, wherein the generating comprises

determining a first router on a first path within the network, and

determining the first-router portcode, as a portcode associated with the first router;

encapsulating the portcode stack in a header of a packet; and

forwarding the packet to a core router along the first path, wherein

the first path is a specific path to be taken by the packet through the network, and

the portcode stack specifies the first path.

2. The method of claim 1 , wherein

the determining the first-router portcode comprises accessing a data structure that maps first portcodes to respective identities of first neighbor routers or respective first links to the first router,

the first portcodes identify respective first ports of the first router, and

the first ports are coupled to the first neighbor routers via the first links.

3. The method of claim 1 , wherein the generating the portcode stack is performed in response to receiving the packet.

4. The method of claim 1 , further comprising:

selecting the first path from a plurality of paths identified in a path memory, wherein all paths of the plurality of paths end at a first destination within the network, and the selecting is performed based on a selection algorithm.

5. The method of claim 4 , wherein

the selecting comprises determining whether the packet comprises an operations, administration, and maintenance (OAM) packet.

6. The method of claim 1 ,

wherein the header comprises a Multiprotocol Label Switching (MPLS).

7. The method of claim 1 , wherein the portcode stack further includes a second portcode, and further comprising:

determining a second router, wherein

the second router is a router on the first path; and

determining the second portcode, wherein

the second portcode is associated with the second router.

8. A system comprising:

an edge router adapted for routing a packet in a network using a portcode stack, the edge router comprising

a first circuit configured to generate a portcode stack comprising a first-router portcode, wherein generating the portcode stack comprises

determining a first router on a first path within the network, and

determining the first-router portcode, as a portcode associated with the first routed;

a second circuit configured to encapsulate the portcode stack in a header of a packet; and

a third circuit configured to forward the packet to a core router along the first path, wherein

the first path is a specific path to be taken by the packet through the network, and

the portcode stack specifies the first path.

9. The system of claim 8 , wherein

the determining the first-router portcode comprises accessing a data structure that maps first portcodes to respective identities of first neighbor routers or respective first links to the first router,

the first portcodes identify respective first ports of the first router, and

the first ports are coupled to the first neighbor routers via the first links.

10. The system of claim 8 , wherein

generating the portcode stack is performed in response to receiving the packet.

11. The system of claim 8 , further comprising:

a fourth circuit configured to select the first path from a plurality of paths identified in a path memory, wherein

all paths of the plurality of paths end at a first destination within the network, and

selecting the first path is performed based on a selection algorithm.

12. The system of claim 11 , wherein

selecting the first path comprises determining whether the packet comprises an operations, administration, and maintenance (OAM) packet.

13. The system of claim 8 ,

wherein the header comprises a Multiprotocol Label Switching (MPLS) header.

14. An apparatus comprising:

an edge router adapted for routing a packet in a network using a portcode stack, the edge router comprising

processing means configured to

generate a portcode stack comprising a first-router portcode, wherein

generating the portcode stack comprises

determining a first router on a first path within the network, and

determining the first-router portcode, as a portcode associated with the first router,

encapsulate the portcode stack in a header of a packet; and

forward the packet to a core router along the first path, wherein

the first path is a specific path to be taken by the packet through the network, and

the portcode stack specifies the first path.

15. The apparatus of claim 14 , wherein

the determining the first-router portcode comprises accessing a data structure that maps first portcodes to respective identities of first neighbor routers or respective first links to the first router,

the first portcodes identify respective first ports of the first router, and

the first ports are coupled to the first neighbor routers via the first links.

16. The apparatus of claim 14 , wherein

generating the portcode stack is performed in response to receiving the packet.

17. The apparatus of claim 14 , wherein the processing means is further configured to:

select the first path from a plurality of paths identified in a path memory, wherein all paths of the plurality of paths end at a first destination within the network, and selecting the first path is performed based on a selection algorithm.

18. The apparatus of claim 17 , wherein

selecting the first path comprises determining whether the packet comprises an operations, administration, and maintenance (OAM) packet.

19. The apparatus of claim 14 , wherein

the header comprises a Multiprotocol Label Switching (MPLS) header.

20. The method of claim 8 , wherein the second router is a next hop router, with respect to the first router, on the first path.

Continuity (3)
Continuation 13760155 · Feb 6, 2013
Provisional Application 61710121 · Oct 5, 2012
Related Publication 20150271066A1 · Sep 24, 2015