TDC 568
Fall 2008

 

Network Management

Assignment # 1: MIB Browsing and Developing SNMP Manager

 

Due: 11:59pm, October 10, 2008

 

 

PART I: MIB Object Browsing

The purpose of this assignment is to learn (1) how to identifying the required monitoring information (parameters), (2) how to use and browse the Management Information Base (MIB II) in order to get the values of the identified objects, and (3) how to read and retrieve necessary information form a general MIB RFC (Request For Comments) documents. For part two above, you need to use a MIB browser with SNMP v1 capability. You can use the the Web-based MIB Browser http://www.mnlab.cs.depaul.edu/cgi-bin/sbrowser.cgi in the Multimedia Networking Lab or any other MIB browser of your choice.  The correctness of your answer does not depend by any means on a specific browser implementation.

Assignment Description

A. MIB Browsing

For each of the following network/system management requests, identify the MIB Object name and then use the Object Identifier (OID) to retrieve the corresponding value in the MIB. Your managed objects (devices) are the Multimedia Networking Lab switch (given in class) which is MO-1 and MO-2 which is given in class.  Provide precisely the browsing results for each of the following information:

 

MO-1 IP = 140.192.249.226

M0-2 IP = 140.192.249.223

               

 

·         Type of the hardware and software of the managed objects MO-1 and MO-2 including the model number or name, and the layers they serve

·         List of names, the IP addresses, netmasks, speed, MTU and the status for all interfaces in the MO-1 and MO-2

·         The ration (%) of incoming multicast and broadcast packets that have been received by MO-1

·         MO-2 efficiency (% of  forwarded packets)

·         ARP Cache of MO-1

·         The routing table of MO-1

·         Rate of Queue increase

·         The number of ICMP generated by MO-2

·         The ratio (%) of invalid incoming packets MO-2

 

For this part, you must show all object names and OID(s), and the monitoring results as collected by the MIB browser (you can use a direct screen print out or print from Netscape).

 

 

 

 

 

PART II: SNMP++ Development

 

The purpose of this assignment is to learn how to use SNMP++ environment to develop your own network management application. The SNMP++ is available on both UNIX and NT/Win95 Platform. You can find the library and and GET example in uranus in the following directory: ~ehab/public/TDC568/SNMP++/TDC568-Example. More examples are in ~ehab/public/TDC568/SNMP++/consoleExamples. You can also use some other network management libraries such as snmplib from Stanford, Java AdventNet or other network management software wrappers. However, I would recommend choosing whatever you will be using for you final project.

Assignment Description

You are asked to develop a network management application, called snmpProxy, that takes as input in the command line arguments  a machine IP address (agent), frequency (fr), the freshness period (fp), and a list of OIDs and their filters, F(s). The application repeatedly retrieves the values for all requested OID(s) for the number of times defined in fr and with a time gap specified in fp in ms. The OID value is then compared with the associated filter (F). If the OID value is greater than F, then the OID value is printed in the standard output If the F value is 0, then all retrieved OID values are printed out.  If fr is –1, then the program will run forever with no termination. The application must be able to retrieve and present all requested information in well-organized way. The program should run as follows:

snmpProxy   IPAddress Frequency  Period NumOfObjs OID1 FILTER1 OID2 FILTER2  ….. OIDn FILTERn

 

 For example, snmpProxy   Uranus  60  500 2 1.3.6.1.2.1.2.2.1.13.0 512 1.3.6.1.2.1.4.3.0  1204 ==> means

This means your snmpProxy program will get the value of ifInDiscards and ipInReceives every 500ms  for 60 times from Uranus SNMP agent. Then it prints the filtered values to the standard output accordingly. Notice that you can have as many OIDs as you can (max is 10). All get requests must be sent in one PDU.

The manager should try to resend for at least 5 times before timing out.

Extra Credits

  1. Modify this program to take a list of records for different agents like this (5 pts):

snmpProxy  2 Uranus  60  500 2 1.3.6.1.2.1.2.2.1.13.0 512 1.3.6.1.2.1.4.3.0  1204

                           Neptune  30  100 1 1.3.6.1.2.1.2.2.1.13.0 128

 

2. Use asynchronous I/O in SNMP++ to send GET request and receive GET-Responses (15 pts)

How to Get SNMP++:

1. login into Uranus.mnlab.cs.depaul.edu using the account sent to you by the grader
2. copy the files (Makefile, snmpGet.cpp, HOW_TO_
RUN_SNMPGET) from ~ehab/public/TDC568/SNMP++/TDC568-Example into your local directory
3. do "make" to create executable
4. Look at "HOW_TO_
RUN_SNMPGET" file to know how to run snmpGET
5. Rename the snmpGET.cpp to your own program name and change the Makefile accordingly.

Submission Procedure:

Part I: Include all your answer in ONE Word document and submit through DELWEB. 5% is considered for well-organized answers.  Include the doc file in the tar file below for submission.

Part II: After cleaning your directory from objects and bin files. Then, do the following:

$ tar -cvf  hw1.tar  *

$gzip hw1.tar

Submit your assignmt thru DLWEB only.

 

Your submission must contain a README file that describes the archive contents, how to compile the program and any special note to the grader. DO NOT include object or binary files.