IP Library Granted Patent US 10,454,821
Granted Patent B2
US 10,454,821 · App. 15/419,819 · Granted Oct 22, 2019

Creating and maintaining segment routed traffic engineering policies via border gateway protocol

Inventors: Clarence Filsfils (Brussels, BE); Arjun Sreekantiah (San Jose, CA); Stefano B. Previdi (Rome, IT); Muthurajah Sivabalan (Kanata, CA)
Assignee: Cisco Technology, Inc.
H04L45/74H04L45/04H04L47/125
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 10,454,821
App. No.
15/419,819
Granted
Oct 22, 2019
Kind
B2
Abstract

Embodiments of the present disclosure provide a set of extensions to enable BGP to setup and maintain flexible Segment Routed Traffic Engineered (SR-TE) policies. Embodiments of the present disclosure further propose a new approach for steering traffic onto SR-TE paths on a per-prefix basis without deploying the existing complex mechanisms.

Claims (67)

1. A method for controlling steering of traffic in a network comprising multiple network elements according to Segment Routed Traffic Engineering (SR-TE) policies, the method comprising:

receiving, at an ingress network element, a Border Gateway Protocol (BGP) update message comprising network reachability information (NLRI) and one or more path attributes to a network element, wherein

the NLRI comprises an identification of a SR-TE policy and an identification of an egress network element to which the traffic is to be provided to, and

the one or more path attributes comprise:

a first segment list comprising a first ordered list of one or more network elements that the traffic associated with the identified SR-TE policy is to traverse to reach the identified egress network element;

a second segment list comprising a second ordered list of one or more network elements that the traffic associated with the identified SR-TE policy is to traverse to reach an intermediate network element between the ingress network element and the identified egress network element;

a first weight associated with the first segment list and a second weight associated with the second segment list; and

forwarding traffic received at the ingress network element in accordance with the received BGP updated message.

2. The method according to claim 1 , wherein said forwarding comprises:

receiving, at the ingress network element, a data packet identifying a destination address;

determining a NEXT_HOP network element and a color attribute associated with the destination address;

determining whether the color attribute matches a color attribute of the SR-TE policy of the BGP update message and whether the NEXT_HOP network element associated with the destination address of the data packet matches the egress network element identified in the NLRI of the BGP update message; and

upon positive determination that the color attribute associated with the destination address matches the color attribute of the SR-TE policy of the BGP update message and that the NEXT_HOP network element associated with the destination address of the data packet matches the egress network element identified in the NLRI of the BGP update message, forwarding the data packet according to the first segment list or the second segment list based on the first weight and the second weight.

3. The method according to claim 1 , wherein the one or more path attributes further comprise a binding segment identifier (SID) associated with the SR-TE policy.

4. The method according to claim 3 , wherein said forwarding comprises:

receiving, at the ingress network element, a data packet encapsulated into a label;

determining whether the label matches the binding SID; and

upon positive determination that the label matches the binding SID,

identifying the first segment list and the second segment list that are associated with the SR-TE policy associated with the binding SID that matched the label of the received data packet, and

forwarding the data packet according to the first segment list or the second segment list based on the first weight and the second weight.

5. The method according to claim 4 , wherein the forwarding is performed without determining whether a policy identified in the data packet matches the SR-TE policy of the BGP update message and without determining whether a NEXT_HOP network element associated with a destination address of the packet matches the egress network element identified in the NLRI of the BGP update message.

6. The method according to claim 3 , wherein said forwarding comprises:

receiving, at the ingress network element, an Internet Protocol version 6 (IPv6 ) data packet identifying a destination address;

determining whether the destination address of the data packet matches the binding SID provided in the one or more path attributes of the BGP update message; and

upon positive determination that the destination address of the data packet matches the binding SID provided in the one or more path attributes of the BGP update message, forwarding the data packet according to the first segment list or the second segment list based on the first weight and the second weight of the BGP update message that included the binding SID that matched the destination address of the received data packet.

7. The method according to claim 6 , wherein the forwarding is performed without determining whether a policy identified in the data packet matches the SR-TE policy of the BGP update message and without determining whether a NEXT_HOP network element associated with the destination address of the packet matches the egress network element identified in the NLRI of the BGP update message.

8. The method according to claim 1 , wherein said forwarding comprises:

receiving, at the ingress network element, a data packet identifying a policy and a destination address;

determining a NEXT_HOP network element associated with the destination address;

determining whether the policy identified in the data packet matches the SR-TE policy of

the BGP update message and whether the NEXT_HOP network element associated with the destination address of the data packet matches the egress network element identified in the NLRI of the BGP update message; and

upon positive determination that the policy identified in the data packet matches the SR-TE policy of the BGP update message and that the NEXT_HOP network element associated with the destination address of the packet matches the egress network element identified in the NLRI of the BGP update message, forwarding the data packet according to the first segment list or the second segment list based on the first weight and the second weight.

9. The method according to claim 8 , wherein, when the first weight is equal to the second weight, said forwarding comprises, upon positive determination that the policy identified in the data packet matches the SR-TE policy of the BGP update message and that the NEXT_HOP network element associated with the destination address of the packet matches the egress network element identified in the NLRI of the BGP update message,—forwarding the data packet according to either the first segment list or the second segment list in accordance with one or more load balancing or/and one or more predefined criteria.

10. The method according to claim 1 , wherein:

the BGP update message is a first BGP update message, and

the one or more path attributes of first BGP update message further comprise a first preference value,

the method further includes receiving, at the ingress network element, a second BGP update message comprising an identification of the SR-TE policy identified in the first BGP update message, an identification of the egress network element identified in the first BGP update message, and one or more path attributes comprising a third segment list comprising a third ordered list of one or more network elements that the traffic associated with the identified SR-TE policy is to traverse to reach the identified egress network element, and

the one or more path attributes of second BGP update message further comprise a second preference value.

11. The method according to claim 10 , wherein said forwarding comprises:

receiving, at the ingress network element, a data packet identifying a policy and a destination address;

determining a NEXT_HOP network element associated with the destination address; determining that the policy identified in the data packet matches the SR-TE policy of both the first and the second BGP update messages and that the NEXT_HOP network element associated with the destination address of the data packet matches the egress network element identified by both the first and the second BGP update messages;

using the first preference value and the second preference value to determine whether the first or the second BGP update message takes precedence; and

forwarding the data packet according to the first segment list or the second segment list based on the first weight and the second weight when the first BGP update message is determined to take precedence over the second BGP update message and forwarding the data packet according to the third segment list when the second BGP update message is determined to take precedence over the first BGP update message.

12. The method according to claim 1 , further comprising:

determining, by the ingress network element, whether the BGP update message is acceptable based on whether the SR-TE policy of the BGP update message comprises a color attribute, whether the one or more path attributes comprises at least one segment list, and whether the segment list comprises at least one segment.

13. A system for controlling steering of traffic in a network comprising multiple network elements according to Segment Routed Traffic Engineering (SR-TE) policies, the system comprising:

at least one memory element configured to store computer executable instructions, and

at least one processor coupled to the at least one memory element and configured, when executing the instructions, to:

receive, at an ingress network element, a Border Gateway Protocol (BGP) update message comprising network reachability information (NLRI) and one or more path attributes to a network element, wherein the NLRI comprises an identification of a SR-TE policy and an identification of an egress network element to which the traffic is to be provided to, and the one or more path attributes comprise:

a first segment list comprising a first ordered list of one or more network elements that the traffic associated with the identified SR-TE policy is to traverse to reach the identified egress network element;

a second segment list comprising a second ordered list of one or more network elements that the traffic associated with the identified SR-TE policy is to traverse to reach an intermediate network element between the ingress network element and the identified egress network element; and

a first weight associated with the first segment list and a second weight associated with the second segment list; and

forward traffic received at the ingress network element in accordance with the received BGP updated message.

14. The system according to claim 13 , wherein the at least one processor is further configured to instantiate the SR-TE policy and information received in the BGP update message related to the SR-TE policy in a routing and forwarding table of the system.

15. The system according to claim 13 , wherein the one or more path attributes further comprise a binding segment identifier (SID) associated with the SR-TE policy.

16. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions controlling steering of traffic in a network comprising multiple network elements according to Segment Routed Traffic Engineering (SR-TE) policies and, when the software is executed, configured to:

receive, at an ingress network element, a Border Gateway Protocol (BGP) update message comprising network reachability information (NLRI) and one or more path attributes to a network element, wherein the NLRI comprises an identification of a SR-TE policy and an identification of an egress network element to which the traffic is to be provided to, and the one or more path attributes comprise:

a first segment list comprising a first ordered list of one or more network elements that the traffic associated with the identified SR-TE policy is to traverse to reach the identified egress network element;

a second segment list comprising a second ordered list of one or more network elements that the traffic associated with the identified SR-TE policy is to traverse to reach an intermediate network element between the ingress network element and the identified egress network element;

a first weight associated with the first segment list and a second weight associated with the second segment list; and

forward traffic received at the ingress network element in accordance with the received BGP updated message.

17. The one or more non-transitory computer readable storage media according to claim 16 , wherein the computer executable instructions are further operable to instantiate the SR-TE policy and information received in the BGP update message related to the SR-TE policy in a routing and forwarding table.

18. The one or more non-transitory computer readable storage media according to claim 16 , wherein said forwarding comprises: receiving, at the ingress network element, a data packet identifying a destination address; determining a NEXTHOP network element and a color attribute associated with the destination address;

determining whether the color attribute matches the SR-TE policy of the BGP update message and whether the NEXT HOP network element associated with the destination address of the data packet matches the egress network element identified in the NLRI of the BGP update message; and upon positive determination that the color attribute matches the color attribute of the SR-TE policy of the BGP update message and that the NEXT HOP network element associated with the destination address of the data packet matches the egress network element identified in the NLRI of the BGP update message, forwarding the data packet according to the first segment list or the second segment list based on the first weight and the second weight.

19. The one or more non-transitory computer readable storage media according to claim 16 , wherein the one or more path attributes further comprise a binding segment identifier (SID) associated with the SR-TE policy.

20. The one or more non-transitory computer readable storage media according to claim 19 , wherein said forwarding comprises:

receiving, at the ingress network element, a data packet encapsulated into a label; determining whether the label matches the binding SID; and upon positive determination that the label matches the binding SID, identifying the first segment list and the second segment list that are associated with the SR-TE policy associated with the binding SID that matched the label of the received data packet, and forwarding the data packet according to the first segment list or the second segment list based on the first weight and the second weight.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2017
From: FILSFILS, CLARENCE; SREEKANTIAH, ARJUN; PREVIDI, STEFANO B.; SIVABALAN, MUTHURAJAH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 041126/0196 →
Continuity (2)
Provisional Application 62408422 · Oct 14, 2016
Related Publication 20180109450A1 · Apr 19, 2018
Cited By (7)
US 12,309,055 US 12,452,158 US 12,452,168 US 12,476,906 US 12,647,348 US 12,676,812 US 12,683,866