Computer
Science 60
schedule
Note that we plan to use many of the
x-hour periods. The last two weeks of the course is held over for
projects - there will be no
lectures but there will be group
design/code reviews. See the schedule below.
Week 1 March 25-39
Lecture 1
Monday
Computer networks in a nutshell
-- Featuring the cenralized and distributed "Roll
Call" protocols
***Lab1
(Packet Sniffing) goes out
Please
read the following paper for Wednesday.
--This is a
classic paper, really very nice:
--
-- David Clark, "The
design philosophy of the DARPA internet protocols", In
Symposium Proceedings on Communications Architectures and Protocols
(Stanford, California, United States, August 16 - 18, 1988). V. Cerf, Ed.
SIGCOMM '88.
Lecture 2
Wednesday
Computer
networks in a nutshell
A Dartmouth undergrad once told me to my surprise that "CS kids don't read
course books!". Please
read the following by Friday
from the course book - it is a very good book, very easy to read.
Lecture 3 Friday
---
Real life demo of "Internet in a Box" - you saw here first!
and Socket
Programming
-- Our overview is
complete please make sure you read Chapter 1 of Kurose/Ross
-- particular attention to sections 1.1, 1.2, 1.3, 1.4, 1.5
-- The sections and chapters are long but they add more details to the
material covered in class.
Week
2 April 1-5
Lecture 4
Monday
Socket Programming
***Lab2
(Sockets) goes out
Lecture 5 Wednesday
Applications: Applications needs, P2P and
IM session Internet
Draft MSNP 1.0
-- The goal of this section is to understand how Internet Apps tick.
Because we implement a IM system
-- in Lab3 we start by looking into IM in some detail using Internet Draft
MSNP 1.0 as an example of a detailed
-- specification of an IM protocol - read this spec.)
-- The book has a
good section on applications (chapter 2) but does not cover a number
-- of applications we will deal with, e.g., IM applications (see below and
pointer to MSNP Internet Draft).
-- But I recommend that you read the complete chapter over the course of
week 2 and 3.
-- We will also read a paper on BitTorrent
and Skype to understand the detailed
-- application protocols. The book mentions BitTorrent and Skype but again
not
-- in any detail.
-- We will cover Classic Apps (Web and Email) [see sections 2.2 and 2.4,
respectively],
-- P2 (Gnutella, Kazza, BitTorrent, Skype) [see Section 2.6 for overview,
and additional material below],
-- Read Gnutella
Spec
-- and overlay networks (PlanetLab) [not in book, I will provide
material].
Lab Thursday
Debugging,
valgrind (refresher). Notes
here.
Code here
Lecture 6
Friday
Applications:
Applications needs, P2P and
IM session Internet
Draft MSNP 1.0
-- Please
read the BitTorrent paper (the material in the textbook is limited) over
the weekend - this is a very
-- cool networking paper! BitTorrent is a very cool protocol. The short
specification is here.
-- Also, for your information: the Gnutella Spec.
Week
3 April 8-12
Lecture
7 Monday
P2P
Apps: Gnutella,
Kazaa, BitTorrent and Skype
--
There is little in the book on Skype - here is an paper that reversed
engineered this protocol. If you
-- interested in the detailed protocol interaction this is the paper
to read.
***Lab3
(IM) goes out
Lecture
8 Wednesday
P2P
Apps: Gnutella,
Kazaa, BitTorrent and Skype
-- Please make sure you are reading Chapter 2 on the Application Layer.
We've
-- spent more time on P2P in this class but classic apps such as web and
email are interesting, as
-- is applications that support Internet infrastructure such as DNS, which
we will cover next.
Lab
Thursday
C
threads, mutex, timers (refresher) for IM assignment. 2008-Notes,
2009-Notes, and code. (By
the TA)
Lecture 9 Friday
Classic
Apps: Email and Web, plus Domain
Name System (DNS) and some network tools.
Week
4 April
15-19
Lecture
10 Monday
Transport layer
(mutex/demutex).
***Lab4
(SRT-SIG) goes out
--
We are now moving through parts of chapter 3 on transports. We will
continue to
-- develop SRT adding sliding window to its signaling.
-- Read sections sections 3.1-3.3
Lecture
11 Wednesday
DartNet:
Simple Reliable Transport (SRT)
-- Reading: Section 3.4 Principles of Reliable Data Transfer
-- and Section 3.5 TCP
Lecture
12 Friday
TCP:
signalling, mux/demux, segment (header/data)
Week
5 April April
22-25
Lecture
13 Monday
TCP:
sliding window, retransmit and fast retransmit
***Lab5
(SRT-GBN) goes out
--
We discussed the major data SRT strcuctures, TCB, SEG_T and the
--
design of the client side.
Lecture
14 Wednesday
DartNet:
Simple Reliable Transport (SRT): Data Transfer
--
If you have time read all chapter 3. If you want to be economic: read 3.2,
3.4 and 3.5
Lecture
15 Friday
TCP:
congestion control
--
Read Section 3.6 on Principles of Congestion Control.
Week
6 April 30 - May 4
Lecture
16 Monday
Internet
Protocol
***Lab6
(Overlay) goes out
--
Please read the classic paper:
--
--
Cerf, V. G. and Kahn, R. E. "A
protocol for packet network intercommunication",
IEEE Transactions on
--
Communications, Vol. Com-22, No. 5, May 1974, pp. 637-64
--
--
Also, treat yourself: listen to Cerf
and Kahn when they accepted the Turning Award in
2005.
--
(Need Real Player) (Fastforward to 14 minutes in if you don't have much
time)
--
You will learn a lot if you read the paper and then listen to the
conservation. This is very cool
--
if you are into computer networks and want to hear first hand about
tecnhical history of Internet.
--
Don't miss it.
--
I strong advise reading the complete Chapter 4. Start with sections
4.1-4.3
Lecture
17 Wednesday
DartNet:
Simple Overlay Network (SON) Design
IP
Addressing and Forwarding
--
Also read Chapter 4.3 and 4.4.
Lecture
18 Friday
Guest lecture Rob Bushell, Renesys Corp - The Internet Intelligence
Authority
Week
7 May 7-11
Lecture
19 Monday
Routing
Algorithms
***Lab7
(SNP) goes out
-- Read Chapter 4.5 and 4.6
Lecture
20 Wednesday
Routing
Protocols
Lecture
Friday
DartNet:
Simple Network Protocol (SNP) Design