IP Library Granted Patent US 8,121,032
Granted Patent B2
US 8,121,032 · App. 12/130,345 · Granted Feb 21, 2012

Efficient convergence of grouped VPN prefixes

Assignee: Cisco Technology, Inc.
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 8,121,032
App. No.
12/130,345
Granted
Feb 21, 2012
Kind
B2
Abstract

In one embodiment, one or more virtual private network (VPN) prefixes may be grouped at a network node into sets having shared network border node next-hop options, where each border node has a defined index value associated therewith. Also, a list of VPN labels associated with each VPN prefix may be maintained by the network node, where each VPN label is associated with a border node of a particular set by a corresponding index value. Further, the network node may determine a particular border node for traffic to be forwarded, along with the defined index value. The network node may then apply the index value to select an associated VPN label, and may affix the selected VPN label to the traffic for forwarding.

Claims (67)

1. A method, comprising

determining a particular network border node in a computer network for traffic having a destination address prefix;

determining a particular unique index value associated with the particular border node by looking up the particular border node in a list of border node next-hop options that maps border nodes to corresponding unique index values and determining the particular unique index value that corresponds to the particular border node;

accessing a list of one or more virtual private network (VPN) labels for use in reaching the destination address prefix that maps VPN labels to corresponding unique index values, and determining a VPN label, the list of one or more VPN labels maintained as a separate data structure from the list of border node next-hop options;

applying the particular unique index value to the list of one or more VPN labels to select a particular VPN label that corresponds to the particular unique index value, the particular VPN label associated with the particular border node;

affixing the particular VPN label to the traffic by a network device;

detecting a change to the border node next-hop options; and

converging the border node next-hop options based on the change by updating the list of border node next hop options,

wherein a VPN label for subsequent traffic having the destination address prefix is determined using a unique index value that corresponds to a border node of the updated list of border node next hop options.

2. The method of claim 1 , further comprising:

forwarding the traffic to the particular border node with the affixed VPN label.

3. The method of claim 1 , wherein the network border node is a Border Gateway Protocol (BGP) node.

4. The method of claim 1 , wherein determining a particular network border node further comprises:

determining a particular network border node from a plurality of network border node next-hop options.

5. The method of claim 4 , further comprising:

load balancing the traffic to each of the plurality of network border node next-hop options.

6. The method of claim 1 , wherein the particular border node is an egress network border node, the method further comprising:

receiving the traffic at an ingress network border node, wherein the method is performed at the ingress network border node.

7. The method of claim 1 , further comprising:

determining an internal path to the particular border node.

8. The method of claim 7 , wherein determining an internal path further comprises:

determining an internal path from a plurality of internal path options.

9. The method of claim 8 , further comprising:

load balancing the traffic to each of the plurality of internal path options.

10. The method of claim 7 , further comprising:

forwarding the traffic over the determined internal path to the particular border node with the affixed VPN label.

11. The method of claim 7 , further comprising:

determining one or more associated internal labels based on the internal path; and

affixing the one or more associated internal labels to the traffic.

12. A method, comprising:

grouping one or more virtual private network (VPN) prefixes into a set of shared network border node next-hop options;

defining a unique index value associated with each border node of the set;

maintaining the unique index value associated with each border node of the set in a list of border node next-hop options that maps border nodes to corresponding unique index values;

maintaining a list of VPN labels associated with each VPN prefix that maps VPN labels to corresponding unique index values, the list of VPN labels maintained as a separate data structure from the list of border node next-hop options, each VPN label associated with a border node of the set by sharing a same unique index value with the border node;

detecting a change to the border node next-hop options;

converging the border node next-hop options for the set based on the change; and

determining, by a network device, a particular border node for forwarded traffic of a particular VPN prefix; and then

i) applying a particular unique index value of the particular border node to the list of VPN labels to select a particular VPN label that corresponds to the particular unique index value; and

ii) affixing the particular VPN label to the forwarded traffic.

13. The method of claim 12 , further comprising:

determining an unreachable border node next-hop option of the set; and

removing the unreachable border node next-hop option from the set.

14. The method of claim 12 , further comprising:

determining an internal path to the particular border node.

15. The method of claim 12 , wherein the set has a plurality of network border node next-hop options, the method further comprising:

load balancing the traffic to each of the plurality of network border node next-hop options.

16. The method of claim 12 , wherein the list of border node next-hop options comprise a primary list of primary border node next-hop options and a secondary list of secondary border node next-hop options.

17. An apparatus, comprising:

one or more network interfaces adapted to receive traffic from a computer network;

one or more processors coupled to the network interfaces and adapted to execute one or more processes; and

a memory adapted to store a forwarding process executable by each processor, the forwarding process when executed operable to: i) group one or more virtual private network (VPN) prefixes into a set having one or more shared network border node next-hop options; ii) define a unique index value associated with each border node of the set; (iii) maintain the unique index value associated with each border node of the set in a list of border node next-hop options that maps border nodes to corresponding unique index values; iii) maintain a list of VPN labels associated with each VPN prefix that maps VPN labels to corresponding unique index values, the list of VPN labels maintained as a separate data structure from the list of border node next-hop options, each VPN label associated with a border node of the set by sharing a same unique index value with the border node, iv) in response to detection of a change to the set of border node next-hop options, converge the set of border node next hop options by an update of the list of border node next hop options based on the change, with the list of one or more VPN labels maintained unaltered.

18. The apparatus of claim 17 , wherein the forwarding process is further operable to:

determine a particular border node for forwarded traffic; and then

i) apply a particular unique index value of the particular border node to select a particular VPN label that corresponds to the particular unique index value; and

ii) affix the particular VPN label to the forwarded traffic.

19. A method, comprising

associating one or more virtual private network (VPN) prefixes with a set of border node next-hop options;

for each of the border nodes in the set of border node next hop options, defining a unique index value that corresponds to the respective border node;

maintaining the unique index values in a list of border node next-hop options that maps border nodes to corresponding unique index values;

maintaining a list of one or more VPN labels for use in reaching the VPN prefixes, the list of one or more VPN labels mapping VPN labels to corresponding unique index values, the list of one or more VPN labels maintained as a separate data structure from the list of border node next-hop options;

detecting a change to the set of border node next-hop options;

in response to detecting the change to the set of border node next-hop options, converging the set of border node next hop options by updating the list of border node next hop options based on the change, yet maintaining unaltered the list of one or more VPN labels; and

forwarding, by a network device, traffic of a particular VPN prefix, by determining a particular border node and applying a particular unique index value of the articular border node to the list of one or more VPN labels to select a corresponding VPN label used with the forwarded traffic.

20. The method of claim 19 , wherein the detecting further comprises determining a border node of the set of border node next-hop options is unreachable.

21. The method of claim 20 , wherein the converging further comprises removing the unreachable border node from the set of border node next-hop options.

22. The method of claim 19 , further comprising

affixing the selected VPN label to the forwarded traffic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2008
From: DHARWADKAR, PRANAV; TSIER, YURI; FILSFILS, CLARENCE; BETTINK, JOHN; MOHAPATRA, PRADOSH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 021022/0942 →
Continuity (1)
Related Publication 20090296579A1 · Dec 3, 2009