Title: Network Topology Discovery
1Network Topology Discovery Using SNMP
Tama Mittleman Adam Wolman Advisor Alex
Sprintson
2Project Goal
- Discovery of second layer network topology.
Why? - Second layer topology discovery is important for
- network management
- due to the lack of automated solutions, network
managers are forced to keep layer-2 information
manually - providing accurate performance predictions.
- network simulations.
-
- Most past projects evolved 3rd layer topology
(e.g, HPs Open View, IBMs Tivoli) - First use of SNMP in the lab, to collect
dataabout the network components.
3Network Discovery Challenges
- Limited local information
- Heterogeneity of network elements
- SNMP protocol is not so simple, and neither is
the MIBs structure. - Develop a tool without changing the operating
system
4Working Platform
- Windows 2000, Microsoft visual C with SNMP
class libraries. Example - int status
- char sysDescSYS_DESC_LENGTH
- IpAddress ia ipElemPtr-gtm_ipAddress
- Snmp snmp(status) // Create a SNMP
object - CTarget ctarget(ia) // Create target with a
given ip address - ctarget.set_retry(RETRY_NUM_2) // Set number
of retries - ctarget.set_timeout(TIMEOUT_50) // Set number
of timeouts - Vb vb(SYS_DESC_OID) // Set pdu to target
- Pdu pdu
- pdu vb
- // Send get query
- if ((status snmp.get(pdu, ctarget))
SNMP_CLASS_SUCCESS) - pdu.get_vb(vb, 0)
- vb.get_value(sysDesc)
-
PDU Protocol Data Unit
VB
OID
value
5Module Diagram
Collection of Network Data using SNMP
Storing in Data Structures
Analysis of Data
Presentation of Network Topology
6Information needed about an IP element
- IP Address (132.68.43.254)
- System Descriptor (Passport)
- Device type (Router, Switch, Host)
- Community (Read Only, Public)
- Connections vector
7Data Structures
- The main data structure - IPElements
IpAddress SysDesc DeviceType Community Connections
ConnectionsUP
IPElement
IPElement
Mac
Mac
Mac
IP
IP
IP
8Stages of Data Collection
9Ping query
IPElement
IpAddress 132.68.43.254 SysDesc DeviceType Commu
nity Connections ConnectionsUP
10SNMP basic query
IPElement
IpAddress 132.68.43.254 SysDesc
Passport DeviceType Router Community
Public Connections ConnectionsUP
11SNMP Routers query
- The information we take from the routers is their
ARP tables. - The ARP tables give us all the information we
need in order to create our dictionary - the
MAC2IP data structure.
Mac 0006290f9898
Mac
Mac
IP 132.68.204.50
IP
IP
12SNMP Switches query
- The information we take from every switch, is the
Macs of all the elements, which are connected to
that switch.
Mac A
Mac B
Switch
Mac C
Mac D
13Mac connections to IP connections
- Each Mac address is translated to an IP address
using our dictionary. - The IPElement matching that IP address is then
found in the main data structure.
Mac
IP
IPElement
14SNMP Switches query
- We now know which IPElements are connected to the
switch.
IPElement A
IPElement B
Switch
IPElement C
IPElement D
15The Network Hierarchy
- This hierarchy is defined according to the
hierarchy by which packets are passed in the
network.
Router
Switch
Host
Host with SNMP
16SNMP Switches query
- Now we can determine the Connection and
ConnectionUP fields of the switches and routers.
Router
Host with SNMP
Switch
Host
Switch
17SNMP Switches query
IPElement
IpAddress 132.68.43.254 SysDesc
Passport DeviceType Router Community
Public Connections 132.68.43.253,
132.68.43.252 ConnectionsUP
18Testing on a known subnet
See results in a txt file ...snmpTopo_43.txt
Router
Switch
Host
Host
Host
19Suggestions for future work
- Extend our project to discover both 2 and 3 layer
topologies - Use the topology discovery tool as a building
block for various applications - network management (e.g., identification of
bottlenecks, failure detection, topology changes) - research on layer 2 topology
- Allow the program to receive a few subnets, and
not only one. - Print trace route information, and port numbers.
- Adjusting the program so that the network manager
can determine and update the network components
names.