CPEG 419 Fall 2006

  • Textbook: Kurose and Rose. Computer Networking, 2004. This book is required
  • Prerequisites: Introduction to probability, C/C++ programming
  • Grading: homework homework=20%, projects=20%, midterms=20% (each), final=20%. Homework and projects turned in late will be marked off 2.5% per day (including weekends).
  • Lab section: This class will have regular lab sections. The times and places will be announced on the web page.
  • Lab sessions and projects policy. Projects are demonstrated in lab during the week the lab is due. The lab write-up is due by Friday morning during the week that the lab is due. If you are unable to demonstrate your project during your lab session, there will be a makeup lab session on Thursday at 9pm. Failing to demonstrate your project during your lab section, but completing during the make-up lab session will result in a 10% deduction in the grade.
  • Make sure that you have access to Evans 132 and can log into the machines there.


Objective: To gain an understanding of how the Internet works. To be able to use sockets to exchange data on the Internet.

Tentative plan

Book Sections
Topics and Concepts
Assessments Due
8/29 1.1, 1.2 Building blocks of the Internet, Video. End-hosts, client/server/peer, connection/connectionless service  
8/31 1.3, 1.6 The network core: Packet switching vs. circuit switching, Virtual circuit, Delay, Packet loss, Ping/Tracert, MAC basics  
9/5 1.5, 1.7, 2.1 IPSs/backbone/stubs. The protocol stack, Introduction to Applications  
9/7 2.2, 2.4 HTTP, SMTP
9/12 2.6 Peer-to-peer file sharing: Napster, Gnutella, KaZaA; expanding ring search, neighbors, overlay network, graph theory concepts
9/14 2.5 Discussion of project 2  
9/19   Discussion of project 2  
9/21 2.5 DNS
Exam I
9/26   Internet Overview and Application Layer  
Transport I
9/28   Principles of Transport: multiplexing/ports, UDP vs.TCP, reliable transport  
10/3   Reliable transport: stop-and-wait v1: ACK, NACK, drops, duplicates; Stop-and-wait v2: sequence number; pipelining.  
10/10   Reliable transport: Go-Back-N
10/12   Go-Back-N
Transport II
10/17   go-back-N, selective retransmit, project 3 discussion and review
10/20 3.7 TCP: overview; mechanics: header, ACK/sequence numbering, cumulative/selective ACK; detecting losses: RTT and triple duplicate ACK, exponential backoff;  
10/24 make up TCP: congestion control: congestion window, additive increase multiplicative decrease;
10/26 3.7, 3.5.6 TCP: congestion control: slow-start and time-out; connection management: SNY/FIN/RST, the SYN-attack.  
10/31 4.4, 4.4.1 Routing overview, IP packets, hierarchical routing/subnets, link-state vs distance vector  
11/1   Lab Project 2
11/2 4.5.2, 4.6.1 Distance vector: Dynamic programming/contractions, convergence
11/7&11/8   Review of Transport Layer



Distance vector: count to infinity, poison return, RIP

Link-state: Dijastra's algorithm;

HW 3

4.5.1, 4.6.2, 4.6.3

Link-state: OSPF: Link-State announcement, Hello, reliable flooding, bidirectionality. BGP

11/15   Project 3 discussion  
11/16 5.1, 5.2 MAC  
11/21 5.3 MAC HW4
11/29 5.5.2, 5.4 MAC  
11/30 6.3 802.11  
12/5 6.3 review
Final Exam