In an embodiment, a method comprises receiving a path advertisement comprising information about an available path and a well-known community value associated with the available path. A modified best path calculation is performed in response to receiving the available path either from a higher-ranked device or from a device that is not participating in diverse path calculation, resulting in creating a particular best path. The particular best path is advertised to other routers with or without a restriction indicator based on whether it is a client learned path or non-client iBGP peer learned path and based on whether the advertisement is directed to a client or a non-client iBGP peer.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer system comprising a router and comprising: one or more processors; a non-transitory computer-readable storage medium storing one or more sequences of instructions which, when executed by the one or more processors, cause: receiving, at the router, a path advertisement comprising information about an available path and a community value associated with the available path; comparing the community value associated with the available path with a router community value assigned to the router which received the path advertisement to determine whether the community value associated with the available path is lesser than the router community value assigned to the router; in response to determining that the community value associated with the available path is lesser than the router community value assigned to the router, computing, using data stored in a connectivity database, a particular best path; in response to determining that the community value associated with the available path is not lesser than the router community value associated with the router, storing the information about the available path in the connectivity database, computing the particular best path using data stored in the connectivity database; advertising, to other routers, the particular best path with the router community value associated with the router.
2. The computer system of claim 1 , the non-transitory computer-readable storage medium comprising sequences of instructions which, when executed, cause: determining that the available path is a lower-ranked device best path in response to determining whether the community value associated with the available path is greater than the router community value; wherein the community value indicates a rank of a device that computed the available path.
3. The computer system of claim 1 , the non-transitory computer-readable storage medium comprising sequences of instructions which, when executed, cause: in response to determining that the available path is a best path from a higher-ranked device, invalidating paths having associated community values that are lesser than the community value associated with the available path, and eliminating paths for which next-hop values match a next-hop value specified in the available path and which were originated by a particular originator that also originated the available path.
4. The computer system of claim 1 , wherein the particular best path is different from the available path when next hop values of the particular best path and the available path are different.
5. the computer system of claim 1 , the non-transitory computer-readable storage medium comprising sequences of instructions which, when executed, cause: in response to determining that the available path does not have an associated community value, storing the available path in the connectivity database.
6. The computer system of claim 1 , wherein the particular best path is the best in terms of a path length, a number of hops along the particular best path, a quality of service settings, reliability, a number of re-transmissions along the particular best path and other criteria used to characterize a transmission of data flows.
7. the computer system of claim 1 , the non-transitory computer-readable storage medium comprising sequences of instructions which, when executed, cause: excluding non-diverse paths according a plurality of paths advertised by a best-path route reflector.
8. A computer system comprising a reflector and comprising: one or more processors; a non-transitory computer-readable storage medium storing one or more sequences of instructions which, when executed by the one or more processors, cause: receiving, at the reflector, a path advertisement comprising information about an available path and a community value of a device that computed the available path; comparing the community value associated with the available path with a router community value assigned to the reflector which received the path advertisement to determine whether the community value associated with the available path is lesser than the router community value assigned to the reflector; in response to determining that the community value associated with the available path is lesser than the router community value assigned to the reflector, storing the available path in a connectivity database, computing a best path using data stored in the connectivity database, advertising, to clients, the best path without a restriction indicator, advertising, to non-clients, the best path with the restriction indicator; in response to determining that the community value associated with the available path is not lesser than the router community value assigned to the reflector, computing, using the data stored in the connectivity database, a shadow best path that is different from any path learned from a higher-ranked device, advertising, to the clients, the shadow best path without the restriction indicator, advertising, to the non-clients, the shadow best path with the restriction indicator.
9. The computer system of claim 8 , the non-transitory computer-readable storage medium comprising sequences of instructions which, when executed by the one or more processors, cause: determining that the reflector is a best-path route reflector in response to determining that a reflector community value associated with the reflector indicates a highest-ranked reflector; determining that the reflector is not the best-path route reflector in response to determining that the reflector community value associated with the reflector does not indicate the highest-ranked reflector; wherein the reflector, the higher-ranked device and a lower-ranked device are peers.
10. The computer system of claim 8 , the non-transitory computer-readable storage medium comprising sequences of instructions which, when executed by the one or more processors, cause: invalidating paths having associated-known community values that are lesser than the reflector community value, and eliminating paths for which next-hop values match next-hop values specified in the paths learned from a higher-ranked device.
11. The computer system of claim 8 , wherein the shadow best path is different from any path learned from a higher-ranked device when a next hop value of the shadow best path and next hops of the paths learned from the higher-ranked devices are different; wherein the restriction indicator comprises a “NO-ADVERTISE” label; wherein clients are internal Border Gateway Protocol (iBGP) clients; wherein the non-clients are iBGP non-clients.
12. the computer system of claim 8 , the non-transitory computer-readable storage medium comprising sequences of instructions which, when executed by the one or more processors, cause: in response to determining that the available path does not have an associated community value, storing the available path in the connectivity database.
13. The computer system of claim 8 , wherein the best path is the best in terms of a path length, a number of hops along the best path, a quality of service settings, reliability, a number of re-transmissions along the best path and other criteria used to characterize a transmission of data flows.
14. the computer system of claim 8 , the non-transitory computer-readable storage medium comprising sequences of instructions which, when executed by the one or more processors, cause: excluding non-diverse paths according a plurality of paths advertised by a best-path route reflector.
15. A computer system comprising: a best path route reflector comprising one or more first processors, a first non-transitory computer-readable storage medium storing one or more first sequences of instructions implementing best path calculation logic as part of first border gateway protocol logic, and a first operating system; a shadow route reflector comprising one or more second processors, a second computer-readable storage medium storing one or more second sequences of instructions implementing diverse path calculation logic as part of second border gateway protocol logic, and a second operating system; wherein the first sequences of instructions implementing best path calculation logic, when executed, cause the one or more first processors to perform: receiving a first path advertisement comprising information about a first available path and a first community value of a first device that computed the first available path; comparing the first community value associated with the first available path with a first router community value assigned to the best path route reflector to determine whether the first community value associated with the first available path is lesser than the first router community value; wherein the second sequences of instructions implementing diverse path calculation logic, when executed, cause the one or more second processors to perform: receiving a second path advertisement comprising information about a second available path and a second community value of a second device that computed the second available path; comparing the second community value with a second router community value assigned to the shadow route reflector to determine whether the second community value is lesser than the second router community value.
16. The computer system of claim 15 , wherein the first sequences of instructions implementing best path calculation logic, when executed, cause the one or more first processors to perform: in response to determining that the first community value is lesser than the first router community value, storing the first available path in a connectivity database, computing a first best path using data stored in the connectivity database, advertising, to clients, the first best path without a restriction indicator, and advertising, to non-clients, the first best path with the restriction indicator; wherein the first best path is the best in terms of a path length, a number of hops along the first best path, a quality of service settings, reliability, a number of re-transmissions along the first best path and other criteria used to characterize a transmission of data flows.
17. The computer system of claim 15 , wherein the second sequences of instructions implementing diverse path calculation logic, when executed, cause the one or more second processors to perform: in response to determining that the second available path is a best path from a higher-ranked device, invalidating paths having associated community values that are lesser than the second community value associated with the second available path, and eliminating paths for which next-hop values match a next-hop value specified in the second available path and which were originated by a particular originator that also originated the second available path.
18. The computer system of claim 17 , wherein the second sequences of instructions implementing diverse path calculation logic, when executed, cause the one or more second processors to perform: in response to determining that the second community value associated with the second available path is lesser than the second router community value assigned to the shadow route reflector, storing the second available path in a connectivity database, computing a second best path using the data stored in the connectivity database, advertising, to clients, the second best path without a restriction indicator, and advertising, to non-clients, the second best path with the restriction indicator; in response to determining that the second community value associated with the second available path is not lesser than the second router community value assigned to the shadow route reflector, computing, using the data stored in the connectivity database, a shadow best path that is different from any path learned from a higher-ranked device, advertising, to the clients, the shadow best path without the restriction indicator, advertising, to the non-clients, the shadow best path with the restriction indicator; in response to determining that the second available path does not have an associated community value, storing the second available path in the connectivity database.
19. The computer system of claim 15 , wherein the best path route reflector is a first plane route reflector.
20. The computer system of claim 15 , wherein the shadow route reflector is a second plane route reflector.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 11, 2013
December 9, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.