Automatic selection of site-IDs for virtual private networks
First Claim
1. A method comprising:
- receiving a plurality of routing protocol advertisements with a first network device from a plurality of other network devices within an existing virtual private network (VPN) to which the first network device belongs, wherein the advertisements include site-IDs currently used by the plurality of other network devices for identifying customer sites that are already configured on the plurality of other network devices for the VPN;
configuring a new customer site of the VPN on the first network device;
automatically selecting, from a set of unused site-IDs, a unique site-ID for the new customer site of the VPN based on the site-IDs included within the received advertisements;
transmitting a claim advertisement for the selected site-ID with the first network device to the plurality of other network devices within the VPN; and
determining, with the first network device, that a collision of site identifiers has occurred and that the site-ID selected for the new customer site conflicts with a site identifier currently used by one of the other routers for a different customer site of the VPN when the first network device receives a routing protocol advertisement from one of the plurality of other network devices that includes the selected site identifier during a predetermined period of time after transmitting the claim advertisement;
upon determining that a collision has occurred, perform collision resolution by;
comparing values of configuration flags included in the claim advertisement from the first network device and the one of the received advertisements from one of the plurality of other network devices within the VPN;
resolving the collision in favor of the network device with the advertisement that includes the configuration flag indicating a manually configured site-ID when the configuration flags do not have the same value;
comparing types of label blocks included in the claim advertisement and the one of the received advertisements when the configuration flags have the same value;
resolving the collision in favor of the network device with the advertisement that includes the type of label block indicating a real advertisement with a non-zero label block size when the types of label blocks are not the same;
comparing local preference values included in the claim advertisement and the one of the received advertisements when the types of label blocks are the same;
resolving the collision in favor of the network device with the advertisement that includes a higher local preference value when the local preference values are not the same;
comparing next-hop values included in the claim advertisement and the one of the received advertisements when the local preference values are the same; and
resolving the collision in favor of the network device with the advertisement that includes a lower next-hop value.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for automatically selecting virtual private network (VPN) site-IDs for each customer site within a VPN established over a network. The techniques described herein enable a network router within a VPN to automatically allocate unique site-IDs for each customer site included in the VPN in a dense manner. In some cases, the VPNs may comprise virtual private local area network (LAN) service (VPLS) domains that transmit layer two (L2) traffic between customer sites, i.e., VPLS sites, via the network. For example, a network service provider may configure a network device, such as a router, to belong to one or more VPNs. When a customer site within one of the VPNs connects to the router, the router configures the customer site on the router. The router then automatically selects a site-ID for the customer site configured on the router.
18 Citations
56 Claims
-
1. A method comprising:
-
receiving a plurality of routing protocol advertisements with a first network device from a plurality of other network devices within an existing virtual private network (VPN) to which the first network device belongs, wherein the advertisements include site-IDs currently used by the plurality of other network devices for identifying customer sites that are already configured on the plurality of other network devices for the VPN; configuring a new customer site of the VPN on the first network device; automatically selecting, from a set of unused site-IDs, a unique site-ID for the new customer site of the VPN based on the site-IDs included within the received advertisements; transmitting a claim advertisement for the selected site-ID with the first network device to the plurality of other network devices within the VPN; and determining, with the first network device, that a collision of site identifiers has occurred and that the site-ID selected for the new customer site conflicts with a site identifier currently used by one of the other routers for a different customer site of the VPN when the first network device receives a routing protocol advertisement from one of the plurality of other network devices that includes the selected site identifier during a predetermined period of time after transmitting the claim advertisement; upon determining that a collision has occurred, perform collision resolution by; comparing values of configuration flags included in the claim advertisement from the first network device and the one of the received advertisements from one of the plurality of other network devices within the VPN; resolving the collision in favor of the network device with the advertisement that includes the configuration flag indicating a manually configured site-ID when the configuration flags do not have the same value; comparing types of label blocks included in the claim advertisement and the one of the received advertisements when the configuration flags have the same value; resolving the collision in favor of the network device with the advertisement that includes the type of label block indicating a real advertisement with a non-zero label block size when the types of label blocks are not the same; comparing local preference values included in the claim advertisement and the one of the received advertisements when the types of label blocks are the same; resolving the collision in favor of the network device with the advertisement that includes a higher local preference value when the local preference values are not the same; comparing next-hop values included in the claim advertisement and the one of the received advertisements when the local preference values are the same; and resolving the collision in favor of the network device with the advertisement that includes a lower next-hop value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer-readable medium comprising instructions that cause a programmable processor to:
-
receive a plurality of routing protocol advertisements with a first network device from a plurality of other network devices within an existing virtual private network (VPN) to which the first network device belongs, wherein the advertisements include site-IDs for customer sites of the VPN configured on the plurality of other network devices; configure a new customer site of the VPN on the first network device; automatically select, from a set of unused site-IDs, a unique site-ID for the new customer site of the VPN based on the received advertisements; transmit a claim advertisement for the selected site-ID with the first network device to the plurality of other network devices within the VPN; and determine, with the first network device, that a collision of site identifiers has occurred and that the site-ID selected for the new customer site conflicts with a site identifier currently used by one of the other routers for a different customer site of the VPN when the first network device receives a routing protocol advertisement from one of the plurality of other network devices that includes the selected site identifier during a predetermined period of time after transmitting the claim advertisement; upon determining that a collision has occurred, perform collision resolution by; comparing values of configuration flags included in the claim advertisement from the first network device and the one of the received advertisements from one of the plurality of other network devices within the VPN; resolving the collision in favor of the network device with the advertisement that includes the configuration flag indicating a manually configured site-ID when the configuration flags do not have the same value; comparing types of label blocks included in the claim advertisement and the one of the received advertisements when the configuration flags have the same value; resolving the collision in favor of the network device with the advertisement that includes the type of label block indicating a real advertisement with a non-zero label block size when the types of label blocks are not the same; comparing local preference values included in the claim advertisement and the one of the received advertisements when the types of label blocks are the same; resolving the collision in favor of the network device with the advertisement that includes a higher local preference value when the local preference values are not the same; comparing next-hop values included in the claim advertisement and the one of the received advertisements when the local preference values are the same; and resolving the collision in favor of the network device with the advertisement that includes a lower next-hop value. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A first network device comprising:
-
a control unit that receives a plurality of routing protocol advertisements from a plurality of other network devices within an existing virtual private network (VPN) to which the first network device belongs, wherein the advertisements include site-IDs for customer sites of the VPN configured on the plurality of other network devices; a VPN module included in the control unit that configures a new customer site of the VPN on the first network device; a site-ID allocation module included in the control unit that automatically selects, from a set of unused site-IDs, a unique site-ID for the new customer site of the VPN based on the received advertisements; a collision resolution module included in the control unit that determines whether a collision occurs based on advertisements received from the plurality of other network devices during a predetermined period of time after the control unit transmits the claim advertisement, wherein the collision resolution module; compares values of configuration flags included in the claim advertisement from the first network device and the one of the received advertisements from one of the plurality of other network devices within the VPN; resolves the collision in favor of the network device with the advertisement that includes the configuration flag indicating a manually configured site-ID when the configuration flags do not have the same value; compares types of label blocks included in the claim advertisement and the one of the received advertisements when the configuration flags have the same value; resolves the collision in favor of the network device with the advertisement that includes the type of label block indicating a real advertisement with a non-zero label block size when the types of label-blocks are not the same; compares local preference values included in the claim advertisement and the one of the received advertisements when the types of label blocks are the same; resolves the collision in favor of the network device with the advertisement that includes a higher local preference value when the local preference values are not the same; compares next-hop values included in the claim advertisement and the one of the received advertisements when the local preference values are the same; and resolves the collision in favor of the network device with the advertisement that includes a lower next-hop value. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. A system for automatically selecting virtual private network (VPN) site-IDs, the system comprising:
-
at least one VPN established over a network; a plurality of customer sites; and a plurality of routers, wherein each of the plurality of routers is coupled to at least one of the plurality of customer sites, and wherein each of the plurality of routers is configured to belong to at least one of the VPNs, and wherein each of the plurality of routers is configured to transmit a routing protocol advertisement, each of the advertisements comprising a site-ID for the customer site of the VPN to which the router is configured to belong, wherein a first router of the plurality of routers automatically selects an unused site-ID for one of the plurality of customer sites to which the first router is coupled when the customer site to which the first router is coupled is a new customer site of the VPN, wherein, when selecting the site-ID, the first router executes a collision resolution procedure to determine that the site-ID selected for the new customer site conflicts with a site-ID advertised by one of the other routers for a different one of the customer sites during a predetermined period of time after transmitting the claim advertisement; and wherein the first router performs a resolution procedure with the collision resolution module to use the selected site-ID for the new customer network or select a different unique site-ID for the new customer site. - View Dependent Claims (55)
-
-
56. A method for automatically selecting unique virtual private network site identifiers (site-IDs) for customer sites of a virtual private network comprising:
-
executing a routing protocol on a processor of a router to exchange routing protocol advertisements with a plurality of other routers within a network, wherein each of the routers is coupled to one or more customer sites of the virtual private network, and wherein the routing protocol advertisements include site identifiers currently assigned to the customer sites by the routers; executing, on the router, a VPN module that configures a new customer site for the virtual private network; executing, on the router, a site identifier allocation module that determines a set of unused site identifiers for the virtual private network based on the site identifiers specified within the received routing protocol advertisements and selects a unique site identifier for the new customer site from the set of unused site identifiers for the VPN; transmitting, with the routing protocol, a routing protocol advertisement to the other routers to claim the selected site identifier for the new customer site; executing a collision resolution module on the router to determine that the site identifier selected for the new customer site conflicts with a site identifier selected by one of the other routers for a different customer site upon receiving a routing protocol advertisement that includes the selected site identifier; and performing a resolution procedure with the collision resolution module to use the selected site identifier for the new customer network or select a different unique site identifier for the new customer site.
-
Specification