CS 519: Computer Networks

Spring 2002

MW 2:55-4:10pm, Upson B17

 

 

This page is designed to give an overview of the planned assignments. My tentative plan is to have a variety of programming assignments and homeworks (~4 or 5), two exams (information on whether they will be in-class or evening exams will be coming soon) and possibly a final. Until an assignment is posted in detail, this information is highly tentative!!! 

Homework 1: Assignment , FAQ ( HTML , Doc) , Solution

Homework 2: Assignment, Traces, FAQ, Solution

Programming Assignment 1: Assignment, FAQ, README.txt , DESIGN.txt , Submission

Programming Assignment 2:  Assignment, helpfiles, threadsafefiles, FAQ, Assignment(Optional), Computing Resources, Submission

, Gradesheet

Homework 3: Assignment

You can now check grades online: http://www.csuglab.cornell.edu/homework/grades/cs519 . If your grades are recorded as a -1, that may mean you still need to print and submit a set of signed statements .

Programming Assignments

 

 

 

 

These programming assignments should be done in groups of 2. Each member of the team should be completely familiar with the details of each assignment.

The first programming assignment will give you practice with application level protocols and socket programming. The assignment is to build a proxy cache program. You should be able to specify the size the cache and the port number it will listen on at the command line. Then you should be able to point any web browser at your web proxy and have it satisfy requests from its cache or forward the request to the real server for you.

The second programming assignment will be to build a reliable in-order byte stream over an unreliable channel. This assignment will give you a flavor of how reliable transport protocols like TCP are really implemented.

Homeworks

 

 

 

 

The first homework will be to experiment with Ethereal and analyze a precaptured trace. The purpose of this assignment is two-fold - 1) to give me (and you) an idea of what you already know and don't know about networking and 2) to give you a flavor of the kinds of things you can expect to learn in this class. I do not expect this homework to take you a long time to complete.

The second homework will be a detailed exploration of TCP. I expect to distribute a variety of TCP traces and ask you to analyze them in detail. I expect this homework to take significant time and effort.

The third homework will be to analyze publicly available BGP data.

For the fourth homework, students will use snort to identify attacks on a computer's security.

I may assign various other short assignments (readings, small experiments). There may be small deliverables for those assignments, but if so they will be graded on a pass/non pass basis.

Exams

 

 

 

 

I plan to have two in-class examinations. There are tentative dates for these on the class schedule. We may not have a final exam, but for now you should plan to reserve the final exam time. The university has assigned us a tentative final exam time Thursday May 16 at 9 AM (exam period 16). The exam schedules are confirmed in March.

Suggestions for MEng Projects Related to CS 519

 

 

 

 

If you are interested in doing an MEng project related to computer networking, you may take 4 credits of CS790 as well as CS519. I'll will the 519 grade as the 790 grade as well. If you are interested in doing this, you should submit a project plan in the first few weeks of classes. The project itself would then be due on the first day of finals week.

Here are some suggestions. Also feel free to stop by and discuss the possibilities with me.

Analyze publicly available trace data (ex. BGP announcements from a back bone router, etc.)

Comparing the TCP/IP implementations found in the kernel of various open source operating systems

Using ns (the Network Simulator) to test some hypothesis about network behaviour

Detailed tracing study and performance comparision of popular audio and video streaming tools (RealPlayer, Quicktime, WindowsMedia)

Produce visualization of Internet Data (examine it in the Cave?, Internet Atlas, Walrus)

Implement various dynamic routing protocols in a simulator and experiment with their convergence properties

 

 

 

 

 

Questions? Contact Jeanna Matthews

cornell logo