(Please visit this page often as this is the main one that is updated regularly).

Lecture "ZERO":

Important notions covered
Reading and Slides
Tuesday, January 22nd
Lecture "ZERO"
Why take or NOT take this class?
What are the objective of CS4119?
What are the prerequisites?
What you need to do to pass it?
Meet your instructor.

Recommended reading:

[1] S. Biddle, “How to Destroy the Internet,” [Online]. [23-May-2012]

[2] “The world is what you make it,” The Economist, 27-Oct-2012. [Online]. Available: [Accessed: 14-Nov-2012].

[3] V. Cerf, “OP-ED CONTRIBUTOR; Keep the Internet Open,” The New York Times, 25-May-2012. [Online]. Available: [Accessed: 21-Jan-2013].

Part I - Overview: Internet seen from 10,000 feet

Important concepts to assimilate
Reading and Slides
Tuesday, January 22nd
Overview (1):
The Internet, Its Edge and Its Core
end-host, access network, packet switching
Kurose-Ross (sect. 1.1-1.3)

Thursday, January 24th
Overview (2):
Performance, Protocol Layering, Network security
delay, loss, throughput,
layers, encapsulation
Kurose-Ross (sec. 1-4-1.6)

Tuesday, January 29th
Review and Catch-up

Documents for this part:

Part II - Application: Network as a service, and how to use it

Important concepts to assimilate
Reading and Slides
Thursday, February 21st
Transport (1): Principles, Web
client, server, port,
application layer protocol,
HTTP as an example
Kurose-Ross (sect. 2.1-2.2)

Additional Document:
Friday, February 22nd
Application (2):DNS
cookies, web proxy,
Top-level domain, authoritative servers,
hierarchical database, scalability
Kurose-Ross (sect. 2.5)

Thursday, February 7th
Application (3): CDN, FTP, Email
mirroring, redirection, SMTP, POP, IMAP
CDN: Kurose-Ross (sect. 7.2)
+ more in
Tanenbaum-Wetherall (p.743-748, s.7.5.3)
FTP, Email: Kurose-Ross (sect. 2.3-2.4)

Tuesday, February 12th
Application (4): Peer to peer
Swarm (bittorrent), Gnutella, DHTs, Skype
Kurose-Ross (sect. 2.6)

Thursday, February 14th
Application (5): Socket Programming
Socket, datagram, connectionSocket,
Kurose-Ross (sect. 2.7 + sect. 3.1-3.2)
For C socket and programming
Tanenbaum-Wetherall (p.500-507, s. 6.1)

Tuesday, February 19th
Application: Review and Catch-up
whatever remains

Documents for this part:

Part III - Transport: The art of improving a network from the ends

Important notions covered
Reading and Slides
Tuesday, February 19th
Transport (1) Error Detection,
Reliable Data Transmission
UDP, checksum,ACK/NACK,
Sequence Number
Kurose Ross (p. s 3.3, 3.4 rdt1-2)

Thursday, February 21st
Transport (2) follow up of Reliable Data Transmission
Timeout, Utilization,
Pipelining, Go Back N
Kurose Ross (p. s 3.4 rdt3)

Friday, February 22nd
Transport (3) End of Reliable Data Transmission, TCP
Selective Repeat, Segment,
Exponential moving average
Kurose Ross (p. s 3.4-3.5)

Tuesday, March 5th
Transport (4) TCP Reliable Data, Flow Control,
Cumulative ACK, Delayed ACK,
Duplicate ACK, Fast Retransmit, RcvWindow
Kurose Ross (p. s 3.5)

Thursday, March 7th
Transport (5) Congestion Control Principle
CongWindow, TCP Slow start,
Kurose Ross (p. s.3.6)

Tuesday, March 12th
Transport (6): TCP Congestion Control, Review and Catch-up
TCP Fairness, Max-min Fairness,
Prop. Fairness
Kurose Ross (p. s.3.6)

Documents for this part:

  • Assignment 3 (due on Tuesday March 12th):
    NB: For this assignment, solution will be given at the end of class on Tuesday March 12th, to allow you to prepare for the upcoming midterm,
    • so ABSOLUTELY NO LATE SUBMISSIONS will be accepted.

Midterm from last 2012, provided for training:

Part IV - Network: Finding where to go and how to make it there

Important notions covered
Reading and Slides
Tuesday, March 26th
Network (1): Network service level,
Forwarding & Router design
Input/Output Port, Switching Fabric,
Input/Output Queue
Kurose Ross (s. 4.2-4.3)

Thursday, March 28th
Network (2): Addressing
Fragmentation, IP Address
Hierarchical addressing, Subnets
Kurose Ross (s. 4.4-4.4.2)
Tuesday, April 2nd
Network (3): Adressing (cont'd)
NAT, ICMP, IPv6, Tunneling
Kurose Ross (s. 4.4.3-4.5.2)

Thursday, April 4th
Network (4): Routing algorithms
Link state, Greedy
Distance Vector, Relaxation
Kurose Ross (s. 4.5.3-4.6.2)

Tuesday, April 9th
Network (5): Routing Protocols
Poison Reverse,
Hierarchical Routing, ASes
RIP, OSPF, Intra-domain
Kurose Ross (s. 4.6.3)

Thursday, April 11th
Network (6): Inter-domain,
BGP, Policy Routing
Broadcast, Flooding, PI, PIF
Kurose Ross (s. 4.7)

Tuesday, April 16th
Network (7) : A word on Multicast + Midterm review
Spanning tree, Center-Based tree,
Prim-Dijkstra, Steiner Tree
Kurose Ross (s. 4.7)

Documents for this part:

Part V - Link: Finding out who will speak

Important notions covered
Reading and Slides
Thursday, April 18th
Link (1): Generality, Intro to MAC
Link layer, CRC bits,
intro to Random Access Protocol
Kurose-Ross (s.5.1-5.3.1)
Tuesday, April 23th
Link (2): Primer on Queueing Theory-Perf. Analysis
Slotted ALOHA,
Poisson Process, Exponential Distribution
Bertsekas-Gallager (p.149-173)

Thursday, April 25th
Link (3): More on MAC
Slotted Aloha, Pure Aloha, CSMA
Kurose-Ross (s.5.3.2-5.3.4)
Bertsekas-Gallager (p. 275-288)

Tuesday, April 30th
Link (4): Link-Layer Addressing, Switches, Ethernet, 802.11
MAC addresses, ARP, VLANS
Ethernet, 802.11
Kurose-Ross (s.5.4-5.6, s.6.3)

Thursday, May 2nd
Link (5): Review and Catch-up
A bit of queueing:
Single Server Queue, Little's law
Kurose-Ross (s. 5.9)
Bertsekas-Gallager (p. 149-173)

Documents for this part:

Final from Spring 2012, provided for training:

Other references

  • Tanenbaum-Wetherall refers to:
    Computer Networks, 5th edition, S. Tanenbaum, David J. Wetherall, Prentice Hall, 2011
    ISBN-10: 0132126958, ISBN-13: 978-132126953
  • Peterson-Davie refers to:
    Computer Networks, A Systems Approach, 5th edition, L. Peterson, Bruce Davie, Morgan Kaufmann, 2011
    ISBN: 9780123850591
  • Bertsekas-Gallager refers to:
    Data Networks, 2th edition, D. Bertsekas, R. Gallager, Prentice Hall, 1992
    ISBN-10: 0132009161, ISBN-13: 978-0132009164