Network Management

Comp 351-001/451-001 - Dordal
Summer 2016, Corboy 710  201 (we moved!), Tuesdays and Thursdays 5:30-8:45 pm

Text: The primary text will be An Introduction to Computer Networks (free and online), by me.

Two supplemental resources are:

Grading: There will be a midterm and a final 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. The final exam is August 11. The midterm will probably be July 26 or 28.



Study materials

Midterm Study Guide

Final Exam Study Guide


Course notes by class:

Class Readings
pre: before class      post: after class
  Class 1: Jul 5

  Class 2: Jul 7

  Class 3: Jul 12

  Class 4: Jul 14

  Class 5: Jul 19

  Class 6: Jul 21

  Class 7: Jul 26

  Week 8: Jul 28

  Week 9: Aug 2

  Class 10: Aug 4

  Class 11: Aug 9


Other notes:

Assignments

The SNMP assignment and the Mininet/Pox assignment are in here.


Course description:

This course addresses how to manage complex highspeed computer networks running a high-volume mix of data, voice, and video protocols. We study performance-tuning options and monitoring techniques. 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 look at hardware-oriented managment protocols such as SNMP, tools for managing software applications, and policy-based routing protocols such as BGP. We study advanced IP configuration using the linux advanced routing and traffic control toolkit (iproute2 package), and consider how to tune networks for realtime traffic such as RTP and VOIP. Finally, we examine enterprise network-managment tools such as OpenNMS and GroundWork.

There will be a programming project involving development of a network-monitoring tool in java or a suitable scripting language; students should be comfortable with programming at the level of Comp 150.


OpenNMS

The main site for documentation is OpenNMS.org.

Here are a few of the poller monitors (from 2006 or so; I'm sticking with these so the line numbers match my notes):

Link to my directory

Linux routing

Here is the Linux Advanced Routing and Traffic Control website.

Here is the LARTC How-To document, by Bert Hubert et al, on linux policy routing and traffic control (iproute2). I recommend reading section 4 (basics of policy routing) and section 9 (basics of queuing and traffic control).

Here is a locally cached copy; lartc.org seems down.

Here is the policy routing website, with lots more information on linux routing configuration. Take a look at the online policy-routing book Policy Routing with Linux, by Matthew Marsh.

Other good howtos for Traffic Control:
A Practical Guide to Linux Traffic Control, by Jason Boxman: http://blog.edseek.com/~jasonb/articles/traffic_shaping. This has good diagrams. See the section blog.edseek.com/~jasonb/articles/traffic_shaping/scenarios.html for good real-world scenarios.

Traffic Control HOWTO, v 1.0.2     -- Martin Brown: local copy in pdf format.

Here is an example of how to use CBQ queuing to do bandwidth limiting.

See also: http://linux-ip.net/articles/Traffic-Control-HOWTO/classful-qdiscs.html

tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.adv-filter.u32.html: good article on the sometimes-cryptic u32 classifier.

Finally, here is the iptables man page.

SNMP and MIB Browsers

I have been using hosts ulam.math.luc.edu and ulam2.cs.luc.edu as SNMP servers. Note that Loyola's firewalls block inbound SNMP queries, so you will not be able to access ulam using any SNMP browsers outside Loyola. If you want to work at home, I recommend enabling SNMP on your home machine. For linux users that means installing net-snmp. For windows users, SNMP is "built in" but will have to be activated. Instructions are here.

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 (that is, manufacturer-specified).
MIB Browser, German Institute of Operating Systems & Computer Networks

Here is the set of mibs for net-snmp (formerly ucd-snmp), the open source snmp server most commonly used on linux systems: linuxmib.tgz (tar/gzip version), or linuxmib.zip (zip version).

Here is a selected set of further mib files that are worth looking at to get a sense of the breadth and options available.

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