Comp 340/488 - Network Management - Dordal

Summer I, 2005

MW, 6:00-9:05, 25EP room 205

Text: Mani Subramanian, Network Management: Principles and Practice, Addison-Wesley, 2000, ISBN 0-201-35742-9.

Grades: There will be a midterm (Wednesday June 15) and a final (Wednesday June 29).

My general course groundrules are here. Exams will count for between 70% to 80% of your grade, with homework and programs making up the rest.

Course description:

This course addresses how to manage complex computer networks: the myriad choices can be made to tune performance and monitoring techniques that can reveal what it is that needs tuning. We will consider both large local-area networks and Internet service-provider networks. The course covers the basics of network management applications with focus on performance optimization, fault management, and security management.

We will look at managment protocols such as SNMP and policy (policy routing) protocols such as BGP. We will also look at advanced IP configuration using the linux advanced routing and traffic control toolkit (iproute2 package). We will also consider how to tune networks for realtime traffic such as RTP and VOIP.

Course Notes

Kind of sketchy.

Final exam study guide

The final exam is Wednesday, June 29. Note that the chapter 4 material from the midterm may also appear on the final exam. Thus, in studying for the final exam you should also review the midterm study guide, below.

Midterm study guide

The midterm was Wednesday, June 15. Answers are here.

Programming project

You are to build a simple network manager with an initial host-discovery phase and then a polling phase during which bandwidth statistics are gathered.
Full details are here, updated June 8. The previous version is still available here.

Update: as of 6/6/05, the ulam snmp community password is "public", in keeping with the other snmp hosts on its subnet.

Programming Exercise

Write a shell script (or perl script, or pretty much whatever) that verifies that the "ssh" secure-remote-command-execution utility is working. Your script should use ssh to run a command on a given remote unix/linux host (you may pick a specific remote host), and then verify that the output is as expected. Try to avoid "false negatives": situations when your script fails to discover ssh is down. Note: it is possible to use ssh to connect to "yourself", ie to have the remote host be "localhost". You can do this if you can't find two suitable machines to work with.

Note that to get an ssh command on a remote machine to execute at all, eg
     ssh georg pwd
you have to tell georg you will allow this by entering into your georg .shosts directory something like
This should work for localhost too.

Linux routing

Here is the Linux Advanced Routing and Traffic Control website. Take a look at the HOWTO sections.

Here is the policy routing website, with lots more information on linux routing configuration. Take a look at the iproute2 documentation.

Here is the example considered in class of how to use CBQ queuing to do bandwidth limiting.

SNMP and MIB Browsers

I have been using host as an SNMP server. Note that it appears that Loyola's firewalls are blocking inbound SNMP queries, so you will not be able to access ulam using any SNMP browsers outside Loyola.

The following web site is a browser for the "official" MIB; that is, IETF-recognized entries. Note that many of the most important entries are in fact private.
MIB Browser, German Institute of Operating Systems & Computer Networks

The following site contains a nice java SNMP library, and source for the SNMP Inquisitor tool.
Java SNMP Package

Here is a precompiled version of the library above: snmp.jar.

The following browser is java-based, and is available in a free personal edition. Be sure to click on the GO button to fetch data. Try browsing
iReasoning MIB browser.