Using link state information to discover IP network topology
First Claim
Patent Images
1. A method for determining a topology associated with a distributed processing network, comprising:
- selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol;
contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers;
thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers;
accessing network information maintained by at least some of the contacted routers in the first set of routers;
setting a flag value for each of the routers in the first set of routers, wherein the flag value depends upon the state of the contact with the associated router and/or router interface; and
generating a representation of the network topology in the selected network region based on the accessed network information.
10 Assignments
0 Petitions
Accused Products
Abstract
A system for determining a topology associated with a network such as an enterprise network. The system includes a data collection agent 204 configured to (a) identify a first set of routers from among a larger, second set of routers in an enterprise network, (b) contact each of the routers in the first set of routers but not each of the other routers in the second set of routers, and (c) load network information maintained by at least some of the contacted routers in the first set of routers. The loaded network information can then be used to form a network or routing topology of the enterprise network.
95 Citations
64 Claims
-
1. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers; accessing network information maintained by at least some of the contacted routers in the first set of routers; setting a flag value for each of the routers in the first set of routers, wherein the flag value depends upon the state of the contact with the associated router and/or router interface; and generating a representation of the network topology in the selected network region based on the accessed network information. - 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, 24, 25, 26, 27)
-
-
28. A system for determining a topology associated with a distributed processing network, comprising:
-
means for extracting a first set of routers from among a larger, second set of routers in at least a selected portion of a distributed processing network, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the first set of routers is located in a plurality of network regions, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; means for contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers, and thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers; means for accessing network information maintained by at least some of the contacted routers in the first set of routers; means for setting a flag value for each of the routers in the first set of routers, wherein the flag value depends upon the state of the contact with the associated router; and means for generating a representation of the network topology in the selected portion of the distributed processing network based on the accessed network information. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A system for determining a topology associated with a distributed processing network, comprising:
-
a data collection agent to (a) select a first set of routers from among a larger, second set of routers in at least a selected portion of a distributed processing network, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the first set of routers are located in a plurality of network regions, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol, (b) contact a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers, and thereafter contact each of the routers in the first set of routers but not each of the other routers in the second set of routers, and (c)load network information maintained by at least some of the contacted routers in the first set of routers; a flag value associated with each of the routers in the first set of routers, wherein the flag value depends upon the state of the contact with the associated router; and a data analyzing agent for generating a representation of the network topology of the selected portion of the distributed processing network based on the loaded network information. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
-
56. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers; accessing network information maintained by at least some of the contacted routers in the first set of routers; generating a representation of the network topology in the selected network region based on the accessed network information; maintaining a router table listing one or more attributes of at least one of (i) each of the routers in the first router set and (ii) one or more interfaces associated with each of the routers in the first router set and excluding one or more attributes associated with each of the other routers and/or an interface attached thereto in the second router set; and setting a flag for each of the listed routers and/or interfaces indicating an outcome of the contacting step.
-
-
57. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers; accessing network information maintained by at least some of the contacted routers in the first set of routers, wherein the network information comprises link state advertisements; generating a representation of the network topology in the selected network region based on the accessed network information; storing the link state advertisements in a link state advertisement table, wherein the link state advertisements are indexed by an associated area; and determining a link state advertisement type for a plurality of the link state advertisements in the link state advertisement table, wherein higher numbered link state advertisement types are processed before lower numbered link state advertisement types.
-
-
58. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers; accessing network information maintained by at least some of the contacted routers in the first set of routers, wherein the network information comprises link state advertisements; wherein the accessing step outputs a link state advertisement table listing a plurality of link state advertisements and selected network regions associated with link state advertisement and, for each selected network region, interactively performing the following steps according to a rule stating where a point-to-point link has no corresponding stub network link the point-to-point link is assumed to be unnumbered; (i) selecting a link state advertisement associated with the selected network region; (ii) parsing the selected link state advertisement; (iii) constructing at least one of router, interface, link, and network objects referenced in the selected link state advertisement, the object containing information in the selected link state advertisement; (iv) repeating the selecting, parsing, and constructing steps until each link state advertisement associated with the selected network region has been considered; and generating a representation of the network topology in the selected network region based on the accessed network information.
-
-
59. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers, wherein the at least some of the contacted routers in the first set of routers exclude at least one router in the first set of routers because the at least one router is configured according to one or more selected routing protocols; accessing network information maintained by at least some of the contacted routers in the first set of routers; and generating a representation of the network topology in the selected network region based on the accessed network information.
-
-
60. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers; accessing network information maintained by at least some of the contacted routers in the first set of routers; at least one of not contacting and not accessing network information in a router when the router is associated with an IP address that is not a member of a set of IP addresses; and generating a representation of the network topology in the selected network region based on the accessed network information.
-
-
61. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers; accessing network information maintained by at least some of the contacted routers in the first set of routers; generating a representation of the network topology in the selected network region based on the accessed network information; and querying a user whenever a Previously Presented region is discovered to determine whether or not the discovered region is of interest to the user.
-
-
62. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers; accessing network information maintained by at least some of the contacted routers in the first set of routers; generating a representation of the network topology in the selected network region based on the accessed network information, wherein virtual link information is ignored.
-
-
63. A method for determining a topology associated with a distributed processing network, comprising:
-
selecting a network region from among a plurality of network regions, the network region containing first and second sets of routers, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol; contacting a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers; thereafter contacting each of the routers in the first set of routers but not each of the other routers in the second set of routers, the first set of routers having fewer members than the second set of routers; accessing network information maintained by at least some of the contacted routers in the first set of routers; accessing network information from the at least some of the contacted routers in the first set of routers only when the at least some of the contacted routers use one or more selected routing protocols; and generating a representation of the network topology in the selected network region based on the accessed network information.
-
-
64. A system for determining a topology associated with a distributed processing network, comprising:
-
a data collection agent to (a) select a first set of routers from among a larger, second set of routers in at least a selected portion of a distributed processing network, wherein the routers in the first set of routers are also members of the second set of routers, wherein the second set of routers comprises routers that are not in the first set of routers, wherein the first set of routers are located in a plurality of network regions, wherein the plurality of network regions are defined by at least one routing protocol, and wherein at least two of the network regions are defined by a common routing protocol, (b) contact a first router in the second set of routers to determine at least one of the routers in the first set of routers, the first router not being in the first set of routers, and thereafter contact each of the routers in the first set of routers but not each of the other routers in the second set of routers, and (c) load network information maintained by at least some of the contacted routers in the first set of routers, wherein the loaded network information comprises link state advertisements; a link state advertisement table containing a plurality of link state advertisements indexed by an associated area; and a data analyzing agent for generating a representation of the network topology of the selected portion of the distributed processing network based on the loaded network information and determining a link state advertisement type for a plurality of the link state advertisements in the link state advertisement table, wherein higher numbered link state advertisement types are processed before lower numbered link state advertisement types, and process each of the link state advertisements based on the determined link state advertisement type.
-
Specification