← Back to Patent Explorer
US6377987B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Mechanism for determining actual physical topology of network based on gathered configuration information representing true neighboring devices

Assignee: Cisco Technology Inc
•
Filing: 1999-04-30
•
Granted: 2002-04-23
•
Expires: 2019-04-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A mechanism for determining the actual physical topology of network devices in a network is disclosed. To determine a physical topology, a discovery mechanism determines a set of network addresses for identifying devices within a network. Based on the set of network addresses, the discovery mechanism identifies a group of devices that are associated with the network. Layer 2 and Layer 3 configuration information is gathered from the group of devices to identify possible neighboring devices within the network. The configuration information is then processed to generate topology information that identifies true neighboring devices and the actual links that exist between each of the neighboring devices. The mechanism eliminates misleading information and prevents generation of incorrect topologies.

Inventors

  • 👤 James E. Kracht

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 20:51
CPC Classifications
H; H04; H04L; H04L41/00; H04L41/02; H04L41/0213; H04L41/12; H04L41/22

Claims Analysis

Total Claims: 37
Claim 1
Independent Claim 126 words
A method for determining a physical topology of a network, the method comprising the computer-implemented steps of: discovering a plurality of devices that are located in the network based on each address within a set of network addresses and creating and storing information representing the plurality of devices; determining possible neighboring devices for each device in the plurality of devices; processing the configuration information to eliminate, from among the possible neighboring devices, each device that is not actually a neighbor of the plurality of devices to create information representing true neighboring devices and each link between them; and creating and storing information that represents the topology based on the information representing the plurality of devices and the information representing the true neighboring devices and each link.
Claim 2
Independent Claim 126 words
A method for determining a physical topology of a network, the method comprising the computer-implemented steps of: discovering a plurality of devices that are located in the network based on each address within a set of network addresses and creating and storing information representing the plurality of devices; determining possible neighboring devices for each device in the plurality of devices; processing the configuration information to eliminate, from among the possible neighboring devices, each device that is not actually a neighbor of the plurality of devices to create information representing true neighboring devices and each link between them; and creating and storing information that represents the topology based on the information representing the plurality of devices and the information representing the true neighboring devices and each link.
Claim 3
Dependent Claim 36 words
A method as recited in claim 1 , further comprising the step of eliminating, from among the information representing the plurality of devices, information associated with each device that is incorrectly identified as a known device.
Claim 4
Dependent Claim 29 words
A method as recited in claim 1 , further comprising the step of receiving Layer 2 and Layer 3 configuration information from each device in the plurality of devices.
Claim 5
Dependent Claim 37 words
A method as recited in claim 1 , wherein the step of determining possible neighboring devices includes the step of sending information requests to collect Layer 2 and Layer 3 configuration information from the plurality of devices.
Claim 6
Dependent Claim 29 words
A method as recited in claim 4 , wherein the configuration information identifies what network addresses are received on what ports of each device among the plurality of devices.
Claim 7
Dependent Claim 21 words
A method as recited in claim 1 , further comprising the step of receiving one or more ranges of network addresses.
Claim 8
Dependent Claim 55 words
A method as recited in claim 6 , wherein the step of receiving one or more ranges of network addresses comprises the step of receiving one or more ranges of IP addresses, wherein the one or more ranges of IP addresses are associated with IP addresses that correspond to one or more local area networks.
Claim 9
Dependent Claim 31 words
A method as recited in claim 1 , wherein the step of discovering comprises the steps of attempting to contact a device at each address within the set of network addresses.
Claim 10
Dependent Claim 30 words
A method as recited in claim 8 , wherein the step of attempting to contact a device comprises the steps of pinging each address within the set of network addresses.
Claim 11
Dependent Claim 66 words
A method as recited in claim 1 , wherein the step of discovering comprises the steps of: dividing the set of network addresses into a plurality of network address subgroups; assigning separate processes to each of the plurality of network address subgroups; and executing each of the assigned processes in parallel to determine whether a device is associated with each address within a network address subgroup.
Claim 12
Dependent Claim 48 words
A method as recited in claim 8 , further comprising the steps of: in response to contacting a particular device at a particular address, contacting a Simple Network Management Protocol (SNMP) agent in the particular device to receive a device type value is associated with the particular device.
Claim 13
Dependent Claim 56 words
A method as recited in claim 11 , wherein the step of contacting an SNMP agent comprises the steps of: requesting identification information from the SNMP agent in the device; comparing the identification information to a list of known device data; and based on the comparison, determining whether the device is of a known device type.
Claim 14
Dependent Claim 55 words
A method as recited in claim 12 , further comprising the steps of: determining service layers for which the device operates when the device is not of a known device type; and based on the service layers that are determined, inferring that the device is of a particular device type associated with the service layers.
Claim 15
Dependent Claim 50 words
A method as recited in claim 4 , wherein the step of sending information requests to collect configuration information includes the steps of identifying devices within the plurality of devices that support Cisco Discovery Protocol (CDP) and retrieving CDP information from devices with the plurality of devices that support CDP.
Claim 16
Dependent Claim 29 words
A method as recited in claim 14 , wherein the step of determining possible neighboring devices includes the step of determining possible neighboring devices based on the CDP information.
Claim 17
Dependent Claim 57 words
A method as recited in claim 4 , wherein the step of sending information requests comprises the steps of obtaining Media Access Control (MAC) address information from devices within the plurality of devices, and identifying, based on the MAC address information, what MAC addresses are seen on what ports of the devices within the plurality of devices.
Claim 18
Dependent Claim 52 words
A method as recited in claim 16 , wherein the step of obtaining MAC address information comprises the step of retrieving bridging table information from switch devices among the plurality of devices, wherein the bridging table information identifies which MAC addresses are seen on each interface of each of the switch devices.
Claim 19
Dependent Claim 52 words
A method as recited in claim 16 , wherein the step of obtaining MAC address information comprises the step of retrieving repeater address tracking information from hub devices among the plurality of devices, wherein the repeater address tracking information identifies which MAC addresses are seen on each port of the hub devices.
Claim 20
Dependent Claim 50 words
A method as recited in claim 16 , wherein the step of obtaining MAC address information comprises the step of retrieving address translation information from router devices among the plurality of devices, wherein the address translation information identifies which MAC addresses are seen on each interface of the router devices.
Claim 21
Dependent Claim 43 words
A method as recited in claim 16 , further comprising the step of refreshing the MAC address information that is maintained by the plurality of devices by repeatedly attempting to contact devices at each of the addresses within the set of network addresses.
Claim 22
Dependent Claim 38 words
A method as recited in claim 16 , further comprising the step of refreshing the MAC address information that is maintained by the plurality of devices by repeatedly attempting to contact each device in said plurality of devices.
Claim 23
Dependent Claim 67 words
A method as recited in claim 1 , wherein the step of processing the configuration information comprises the steps of: identifying devices within the plurality of devices that are not an actual device associated with the set of network addresses; and bypassing the configuration information that is based on devices within the plurality of devices that are not actual devices associated with the set of network addresses.
Claim 24
Dependent Claim 47 words
A method as recited in claim 22 , wherein the step of identifying devices within the plurality of devices that are not an actual device comprises the step of identifying any device within the plurality of devices that is associated with a broadcast address of the network.
Claim 25
Dependent Claim 60 words
A method as recited in claim 22 , wherein the step of identifying devices within the plurality of devices that are not an actual device comprises the step of identifying multiple devices within the plurality of devices that are associated with a common IP address, wherein the common IP address indicates that the multiple devices are actually the same device.
Claim 26
Dependent Claim 43 words
A method as recited in claim 1 , wherein the step of processing the configuration information includes the step of using Media Access Control (MAC) address information to eliminate the possible neighboring devices that are not actually neighbors of the plurality of devices.
Claim 27
Dependent Claim 77 words
A method as recited in claim 1 , wherein the step of processing the configuration information further comprises the steps of: identifying three or more potentially neighboring devices that have a single port that appears to be physically linked to multiple neighboring devices; and using the configuration information to determine that the single port is actually physically linked to one or more unidentifiable devices that are in the network but are not among the plurality of devices.
Claim 28
Dependent Claim 149 words
A method as recited in claim 1 , wherein the step of processing the configuration information further comprises the steps of: identifying an apparent physical link between a first port of a first potentially neighboring device and a second port of a second potentially neighboring device, wherein the Media Access Control (MAC) address associated with the first port is observed at the second port and the MAC address associated with the second port is observed at the first port; determining that a common MAC address is observed by both the first port and the second port; and based on the common MAC address, determining that the first port and the second port of the first potentially neighboring device and the second potentially neighboring device are actually physically linked to one or more unidentifiable devices that are part of the network but are not included among the plurality of devices.
Claim 29
Dependent Claim 79 words
A method as recited in claim 1 , wherein the step of processing the configuration information further comprises the steps of: identifying a device within the plurality of devices that includes a port that observes more than one MAC address but has no neighboring device; and in response to identifying the device, determining that the port is physically linked to one or more unidentifiable devices that are part of the network but not included among the plurality of devices.
Claim 30
Dependent Claim 62 words
A method as recited in claim 4 , wherein the step of sending information requests to collect layer 2 and layer 3 configuration information includes the step of retrieving routing table information from devices within the plurality of devices that are of type router, wherein the routing table information identifies a port associated with default routing address for each router type device.
Claim 31
Dependent Claim 37 words
A method as recited in claim 29 , further comprising the step of detecting an Internet link to said network by identifying the router type device whose default routing address is outside the set of network address.
Claim 32
Dependent Claim 152 words
A computer-readable medium carrying one or more sequences of instructions determining a physical topology of a network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: discovering a plurality of devices that are located in the network based on each address within a set of network addresses and creating and storing information representing the plurality of devices; determining possible neighboring devices for each device in the plurality of devices; processing the configuration information to eliminate, from among the possible neighboring devices, each device that is not actually a neighbor of the plurality of devices to create information representing true neighboring devices and each link between them; and creating and storing information that represents the topology based on the information representing the plurality of devices and the information representing the true neighboring devices and each link.
Claim 33
Dependent Claim 152 words
A computer-readable medium carrying one or more sequences of instructions determining a physical topology of a network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: discovering a plurality of devices that are located in the network based on each address within a set of network addresses and creating and storing information representing the plurality of devices; determining possible neighboring devices for each device in the plurality of devices; processing the configuration information to eliminate, from among the possible neighboring devices, each device that is not actually a neighbor of the plurality of devices to create information representing true neighboring devices and each link between them; and creating and storing information that represents the topology based on the information representing the plurality of devices and the information representing the true neighboring devices and each link.
Claim 34
Dependent Claim 163 words
A computer data signal embodied in a carrier wave, the computer data signal carrying one or more sequences of instructions for determining a physical topology of a network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: discovering a plurality of devices that are located in the network based on each address within a set of network addresses and creating and storing information representing the plurality of devices; determining possible neighboring devices for each device in the plurality of devices; processing the configuration information to eliminate, from among the possible neighboring devices, each device that is not actually a neighbor of the plurality of devices to create information representing true neighboring devices and each link between them; and creating and storing information that represents the topology based on the information representing the plurality of devices and the information representing the true neighboring devices and each link.
Claim 35
Dependent Claim 163 words
A computer data signal embodied in a carrier wave, the computer data signal carrying one or more sequences of instructions for determining a physical topology of a network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: discovering a plurality of devices that are located in the network based on each address within a set of network addresses and creating and storing information representing the plurality of devices; determining possible neighboring devices for each device in the plurality of devices; processing the configuration information to eliminate, from among the possible neighboring devices, each device that is not actually a neighbor of the plurality of devices to create information representing true neighboring devices and each link between them; and creating and storing information that represents the topology based on the information representing the plurality of devices and the information representing the true neighboring devices and each link.
Claim 36
Dependent Claim 160 words
A computer apparatus comprising: a processor; and a memory coupled to the processor, the memory containing one or more sequences of instructions for determining a physical topology of a network, wherein execution of the one or more sequences of instructions by the processor causes the processor to perform the steps of: discovering a plurality of devices that are located in the network based on each address within a set of network addresses and creating and storing information representing the plurality of devices; determining possible neighboring devices for each device in the plurality of devices; processing the configuration information to eliminate, from among the possible neighboring devices, each device that is not actually a neighbor of the plurality of devices to create information representing true neighboring devices and each link between them; and creating and storing information that represents the topology based on the information representing the plurality of devices and the information representing the true neighboring devices and each link.
Claim 37
Dependent Claim 160 words
A computer apparatus comprising: a processor; and a memory coupled to the processor, the memory containing one or more sequences of instructions for determining a physical topology of a network, wherein execution of the one or more sequences of instructions by the processor causes the processor to perform the steps of: discovering a plurality of devices that are located in the network based on each address within a set of network addresses and creating and storing information representing the plurality of devices; determining possible neighboring devices for each device in the plurality of devices; processing the configuration information to eliminate, from among the possible neighboring devices, each device that is not actually a neighbor of the plurality of devices to create information representing true neighboring devices and each link between them; and creating and storing information that represents the topology based on the information representing the plurality of devices and the information representing the true neighboring devices and each link.

References Cited (Backward Citations)

US5796736A Cited
US5706440A Cited
US5845149A Cited
US6131119A Cited
US6205122B1 Cited
US6108702A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-04-22 2005-10-22 2006-04-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-04-22 2009-10-22 2010-04-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-04-22 2013-10-22 2014-04-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag