CSE 123B, Spring 2002


Communications Software

Lectures: TuTh  3:55-5:15pm  SOLIS 104

Instructor: Stefan Savage  - savage@cs.ucsd.edu
Office Hours: W 1:00-2:00pm, F 1:00-2:00pm  AP&M 5220

Teaching Assistants:  

John-Paul Fryckman - jfryckm@cs.ucsd.edu (projects)
Office Hours W 12:00-1pm AP&M 3337D

Sanjeev Bansal - sbansal@cs.ucsd.edu (homework, discussion)
Office Hours: M 9-10am CENTR 109

Mailing list

Please join the class mailing list by sending e-mail to majordomo@cs.ucsd.edu with subscribe cse123B your_email_address in the message body (where your_email_address is the email address you use for reading mail).


Computer Networks: A Systems Approach, 2nd Edition by Peterson and Davie, published by Morgan Kaufmann, 2000.  (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, 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.


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

(6-up version)
Ch 4-4.1.4    
4/9 Reliable communication
(6-up version)
Ch 2.5, Ch 5-5.2    
4/11 *** Class cancelled ***      
4/16 Connections & Flow control
(6-up version)
Ch 6.3-6.4 HW#1 (from P&D):
1.7, 1.13 (a-d), 2.21, 2.23 (a), 4.5, 5.6

Extra Credit: 5.17 (Not 5.7!)


4/18 Congestion control
(6-up version)
4/23 Routing I: distance vector
(6-up version)
Ch 4.2 HW #1 due  
4/25 Routing II: link state and inter-domain
(6-up version)
Ch 4.3-4.3.3    
4/30 Multicast
(6-up version)
Ch 4.2.5 Ch 4.4 HW #1 solution
Project #1 assigned
5/2 Mobile IP
(6-up version)
5/7 QoS
(6-up version)
Ch 6.5    
5/9 Midterm      
5/14 DNS
(6-up version)
Ch 9.1 Project  #1 due
(NOTE: electronic turnin due 5/13 by midnight, turn in paper at beginning of class 5/14)

HW#2 (from P&D):
6.14 (a-c), 6.15, 6.44(ab),
4.19(bc), 4.47(ab)

Extra Credit: 4.21

5/16 HTTP
(6-up version)
Ch 9.2.2 Project #2 assigned  
5/21 Midterm review   HW #2 due
Midterm solutions
5/23 Content Distribution Networks
(6-up version)
5/28 Peer-to-Peer Networks
(6-up version)
5/30 Web caching
(6-up version)
  Project #2 due

HW #2 solutions

HW #3 (from P&D):
9.3, 9.4, 9.25 AND the questions in the following document.

6/4 Network Security
(6-up version)
6/6 Network Security
  HW #3 due
HW #3 solutions