CSS 432: Network Design
Fall 2005

MW 330-535pm

Prof. Munehiro Fukuda


Professor:

Munehiro Fukuda <mfukuda@u.washington.edu>, room UW1-331, phone 352-3459, office hours: MW 230-330pm and 535-600pm

Course Description:

This course examines methods for designing and managing LANs and WANs theoretically and practically. The topics covered include the OSI architecture, data link networks, packet switching, routing, TCP/UDP, flow control, congestion control, network security, and application protocols such as SMTP, FTP, and HTTP. The course is largely oriented to network programming and experiments. You are given three programming assignments, each followed by performance evaluation: basic TCP communication, the sliding window algorithm, and TCP tools (ttcp, tcpdump, and netstat). The final project is to implement a pair of ftp client and server programs.

Prerequisites:

The formal prerequisites include CSS301 and CSS422.
(I suggest informally that CSS343 and CSS430 could facilitate your achievement of programming assignments.)

Work Load and Grading:

Course Work Percentage Achievements Approximately Corresponding Numeric Grade
Assignment 1 10% 90s 3.5 - 4.0
Assignment 2 15% 80s 2.5 - 3.4
Assignment 3 10% 70s 1.5 - 2.4
Final Project 20% 60s 0.7 - 1.4
Problem-Solving Presentation 5%
Midterm Exam 20%
Final Exam 20%

Textbooks:

    Computer Networks, Third Edition, Larry Peterson and Bruce Davie, Morgan Kaufmann, 2003.

References:

Some Programming Textbooks:

The following books are useful for system and network programming.

Policies:

All programs are to be done independently. Any collaboration of work will result in severe penalty. You may discuss the problem statement and any clarification with each other, but any actual work to be turned in, must be done without collaboration.

Any homework is due at the beginning of class on the due date. The submission may be postponed only in emergencies such as accidents, sickness, sudden business trips, and family emergencies, in which case you may turn in yor homework late with a written proof. No make-up exams will be given except under exceptional circumstances. Barring emergencies, I must be informed before the exam.

To request academic accommodations due to a disability, please contact Disabled Student Services (DSS) in Bothell Library Annex Building, Room 106, (email: rlundborg@uwb.edu, TDD: 425-352-5303, and FAX: 425-352-5444). If you have a documented disability on file with the DSS office, please have your DSS counselor contact me and we can discuss accommodations.

Course Goals:

The overall goal of CSS 432, "Network Design" includes: To strengthen your understanding of fundamental concepts, you are strongly recommended to solve the problems that are given on the final page of each lecture slide. Note that you are supposed to present your solution to one of these exercises in the class. You need to work in the Linux laboratory, (UW1-320) for testing and evaluating the performance of your assignment programs. Your report must include a large amount of discussions and considerations about results you obtained. Therefore, as with most technical courses, besides ability and motivation, it takes time to learn and master the subject. Expect to spend an additional 10 to 15 hours a week outside of class time on the average.

Assignments:

The following four programming assignments and one in-class problem-solving assignment are given:
  1. Program 1: exercises basic TCP communication and evaluates its performance over 100Mbps and 1Gbps networks.
  2. Program 2: implements the sliding window algorithm and evaluates its performance improvement over 100Mbps and 1Gbps networks.
  3. Program 3: analyzes several TCP aspects such as state transition, Nagle'salgorithm, additive increment, and slow start, using tcpdump, ttcp, netstat, and strace.
  4. Final project: builds ftp client and server programs.
  5. Problem-solving presentation: each student must present in the class his/her solution to one of the textbook exercises listed in the following class schedule. Pick up one of them, inform the professor of which exercise you would like to solve, and give your seven-minute presentation at the end of the class. You may use the classroom's whiteboard, powerpoint, word, transparencies, or hand-out materials. First come first assigned. (Exercises in the first several classes are much easier than those in the last classes.)
Please read assignment.html to understand the environment you use for programming assignments and the submission/grading procedures.

Catalyst EPost (Message Board)

You can access CSS432 EPost to exchange messages with your classmates. Please use this board for only dicussions. No junk email. Note that the professor will not keep track of all messages.

Topics covered and tentative 432 schedule:

Note that this is an approximate ordering of topics. Chapters will take about the allotted time and not all sections in all chapters are covered.

Week Date (MW) Topics Chapters Reading Textbook Exercises Assignment
0 Sep 28 Foundation 1.1 - 1.3 pp4-29    
1 Oct 3   1.4 - 1.6 pp30-51 Ex 5: Jun Morisaki
Ex 12,31: Jay Setzer
Ex 18: Yong Guan
Ex 32: -----
Program 1 assigned
  Oct 5 Point-to-Point Networks 2.1 - 2.3 pp64-87    
2 Oct 10   2.4 - 2.5 pp88-110 Ex 2,5: Celia Parker
Ex 16: -----
Ex 18: Keeron Modi
Ex 24: Jaren Belt
 
  Oct 12 Shared Access Networks 2.6, 2.7, and 2.9 pp111-130, pp137-147 Ex 43: Joshua Phillps
Ex 47: -----
Ex 57: -----
Ex 59: -----
 
3 Oct 17 Switching and Forwarding 3.1 - 3.3 pp164-197   Program 1 due
Program 2 assigned
  Oct 19   3.4 pp210-221 Ex 1: Jumpei Miyauchi
Ex 4: Frank O'Brien
Ex 13: Roderick Escobar
Ex 32,39: -----
 
4 Oct 24 End-to-End Protocols 5.1 - 5.2.3 pp374-388    
  Oct 26   5.2.4 - 5.2.9 pp389-404 Ex 4,5: -----
Ex 9: William Frankhouser
Ex 20: -----
Ex 22,39: -----
 
5 Oct 31 Congestion Control 6.1-6.4 pp450-491 Ex 2,6: -----
Ex 26: Travis Snoozy
Ex 28: -----
Ex 35: Jason Sagmiller
Program 2 due
Program 3 assigned
  Nov 2 Midterm exam in class 1 - 3, 5, and 6 pp4-130, 137-197, 210-223, 374-404, and 450-491    
6 Nov 7 Applications 9.1 - 9.2.1 pp632-649    
  Nov 9   9.2.2 pp650-656    
7 Nov 14 Internetworking 4.1 pp234-270 Ex 4: Adrian Bonar
Ex 13: Jon Russel
Ex 14: Weston Siegnthaler
Q 1,2: -----
Program 3 due
Final project assigned
  Nov 16 Routing 4.2.1 - 4.2.2 pp271-281    
8 Nov 21   4.2.3 - 4.2.5 pp282-298 Ex 15: Sean Hagen
Ex 28: Elmer Ward
 
  Nov 23 Global Internet 4.3.1 - 4.3.2 pp299-308    
9 Nov 28   4.3.3 - 4.3.4 pp308-318 Ex 21: Alina Popa
Ex 45: Etsuko Sano
Ex 47: Jim Gray
Ex 52: Yih Pin Khoo
 
  Nov 30 Network Security 8.1 - 8.2 pp578-603    
10 Dec 5   8.3 - 8.4 pp604-622 Ex 6: Inwoo Kim
Ex 10,19: Jon Seay
 
  Dec 7 Review & wrap-up       Final Project due (3:30pm)
11 Dec 12 Final exam in class 4, 8, and 9 pp234-330 and 578-656    
  Dec 15