CSS 432: Network Design
Spring 2004

TTh 800-1005pm

Prof. Munehiro Fukuda


Professor:

Munehiro Fukuda <mfukuda@u.washington.edu>, room UW1-331, phone 352-3459, office hours: TTh 625-755pm

Course Description:

This course examins 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: TCP performance evaluation, the sliding window algorithm, and the additive increase/multiplicable decrease algorithm. The final project is to implement a network application using SMTP, FTP or HTTP.

Prerequisites:

CSS301 and CSS422

Work Load and Grading:

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

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@bothell.washington.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. 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 are given:
  1. Program 1: exercises 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: uses the additive increase/multiplicable decrease for controlling network congestion.
  4. Final project: builds ftp client and server programs.
Please read assignment.html to understand the environment you use for assignments and the submission/grading procedures.

Topics covered and tentative 432 spring 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 (TTh) Topics Chapters Reading Assignment
1 Mar 30 Foundation 1.1 - 1.3 pp4-29  
  Apr 1   1.4 - 1.6 pp30-51 Program 1 assigned
2 Apr 6 Point-to-Point Networks 2.1 - 2.3 pp64-87  
  Apr 8   2.4 - 2.5 pp88-110  
3 Apr 13 Shared Access Networks 2.6, 2.7, and 2.9 pp111-130, pp137-147  
  Apr 15 Switching and Forwarding 3.1 - 3.3 pp164-197 Program 1 due
Program 2 assigned
4 Apr 20   3.4 pp210-221  
  Apr 22 End-to-End Protocols 5.1 - 5.2.3 pp374-388  
5 Apr 27   5.2.4 - 5.2.9 pp389-404  
  Apr 29 Congestion Control 6.1-6.4 pp450-491 Program 2 due
Program 3 assigned
6 May 4 Midterm exam in class 1 - 3, 5, and 6 pp4-130, 137-197, 210-223, 374-404, and 450-491  
  May 6 Applications 9.1 - 9.2.1 pp632-649  
7 May 11   9.2.2 pp650-656  
  May 13 Internetworking 4.1 pp234-270 Program 3 due
Fianl project assigned
8 May 18 Routing 4.2.1 - 4.2.2 pp271-281  
  May 20   4.2.3 - 4.2.5 pp282-298  
9 May 25 Global Internet 4.3.1 - 4.3.4 pp299-330  
  May 27 Network Security 8.1 - 8.2 pp578-603  
10 June 1   8.3 - 8.4 pp604-622  
  June 3 Review & wrap-up     Final Project due
11 June 8 Final exam in class 4, 8, and 9 pp234-330 and 578-656