CSE 123B, Spring 2004


Communications Software

Attention!!! Review session has been moved to Center 115 (Monday at 4pm)

Lectures: TuTh  11:00-12:20pm  CENTER 109

Instructor: Stefan Savage  - savage@cs.ucsd.edu
Office Hours: Tu 3:00-4:00pm (or by appt); AP&M 5220

Teaching Assistants:  

Dipti Borkar - dborkar@cs.ucsd.edu (homework)
Office Hours Tu 2:00-3:00pm and Th 1:00-2:00pm; EBU1 6307

Walter Phillips - whphilli@ucsd.edu (projects)
Office Hours: Thursdays 12:30-1:30; EBU1 6307 or 6510

Mailing list


Computer Networks: A Systems Approach, 3rd Edition by Peterson and Davie, published by Morgan Kaufmann, 2003.  (errata)

Course overview

This course covers the design and architecture of network communications software with an emphasis on Internet-based communications technologies.  The goal of the course is to provide an appreciation of the fundamental challenges in networking as well as the design approaches and implementations in use today.  We will cover, at minimum, the following topics: Internetworking (IP), reliable communication, flow control, congestion control (TCP), intra-domain (RIP, OSPF) and inter-domain routing (BGP),   Quality of Service, naming (DNS), Web service (HTTP), load balancing, Peer-to-peer (P2P), and network security.


Homeworks are due by the end of class on the day specified. We will reduce homework grades by 20% for each day that they are late. You must hand in a hardcopy of your homework.  We will post homework solutions 5 days after they are due.


To complete the projects in this course, you will need the ability to develop software programs using the C language.  If you have not used C recently, you may want to refresh your knowledge using one of the many good books on the topic.  In particular I recommend the classic, The C Programming Language, by Kernighan and Ritchie.

These projects and their components with be announced shortly.


Your grade for the course will be based on your performance on the homeworks, midterm and final exams, and programming projects using the following weights:

Collaboration Policy

Unless we state specifically otherwise, you are encouraged to collaborate on home and projects.  After all, you will learn a lot from your fellow students.  However, there can be a fine line between collaboration and cheating.  Here is what we expect:

  1. You spend at least 15 minutes on each and every problem, alone before discussing it with others.

  2. You write up each and every solution as your own program or in your own words, and understand your solution fully.

Copying someone else's written homework or programs is cheating, as is copying them from other source (Web, previous years classes, etc.)

Cheating Policy

I understand that sometimes assignments can be frustrating and that you are all under a lot of pressure.  Please come to see me, or one of the TA's if you're having trouble.  I have great sympathy for people who try hard.  I have no sympathy for cheating.  If you're caught cheating, you can expect a serious response on my part (its not worth it).

The academic honesty guidelines outlined by Charles Elkan for CSE 130 apply to this course.

Web board

Class Webboard


Date Lecture Readings Homework Project
3/30 Course introduction
(6-up version)
Ch 1    
4/1 Internet architecture &

(6-up version)
Ch 4-4.1.4    
4/6 Reliable communication
(6-up version)
Ch 2.5 and Ch 5-5.2.9    
4/8 Connections and Flow control
(6-up version)
Ch 6.3-6.4    
4/13 Congestion Control
(6-up version)
  Homework #1 assigned. Due at the begining of class on 4/20.  
4/15 *** Class cancelled ***      
4/20 Routing I: Distance Vector
(6-up version)
Ch 4.2 Homework #1 solutions  
4/22 Routing II: Link-state
(6-up version)
Ch. 4.3-4.3.3    
4/27 Routing III: Multicast
(6-up version)
Ch 4.2.5 and Ch 4.4 Homework #2 assigned. Due at the begining of class on 5/4. Updated 4/28!  
4/29 Mobile IP
(6-up version)
    Project #1 assigned. Due 5/18 by 10am
5/4 Naming & DNS
(6-up version)
Ch 9.1 Homework #2 due  
5/6 HTTP & Web
(6-up version)
Ch 9.2.2 Homework #2 draft solutions Note, Walter will have additional office hours on Monday May 10th from 11am-12noon.
5/11 Midterm
Sample Midterm with solutions
5/13 Content Distribution + Misc
(6-up version)
Ch 9.4.3    
5/18 Peer to peer networks
(6-up version)
Ch 9.4.2    
5/20 Catch up on P2p
  Homework #3 assigned  
5/25 Content Caching
(6-up version)
  Midterm solutions Project #2 assigned. Due 6/7 by midnight. See the Project2 FAQ here.
5/27 Network Security I/a>
(6-up version)
  Homework #3 due. Homework #3 solutions  
6/1 Network Security II
(6-up version)
6/3 Potpourri
(6-up version)
6/7 Final Review   2002 Final