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

Lecture "ZERO":

Important concepts covered
Tuesday, January 21st
Lecture "ZERO"
To take or NOT to take this class?
What are the objective of CSEE 4119?
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:
  • [3] J. Markoff, "Viewing Where the Internet Goes," The New York Times (12/30/13)
[Online]. Available at:

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

Important concepts to assimilate
Tuesday, January 21st
Overview (1):
Very first view of The Internet
end-hosts, routers, protocols, service
Kurose-Ross (sect. 1.1)

Thursday, January 23rd
Overview (2):
The Internet, Its Edge and Its Core
edge, core, access network,
circuit & packet switching
Kurose-Ross (sect. 1.2-1.3)

Tuesday, January 28th
Overview (3):
Performance, Protocol Layering
delay, loss, throughput,
layers, encapsulation
Kurose-Ross (sect. 1-4)

Thursday, January 30th
Overview (4):
Protocol Layering
delay, loss, throughput,
layers, encapsulation
Kurose-Ross (sect. 1.5)

Documents for this part:

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

Important concepts to assimilate
Accompanying Materials
Tuesday, February 4th
Application (1):
Principles of Application layer
client-server, peer-to-peer,
socket, port, transport protocol
Kurose-Ross (sect. 2.1)

Thursday, February 6th
Application (2):
The World Wide Web & Examples of Application Layer Protocols
HTTP, Header, RTT
request, response, states, cookies
HTTP: Kurose-Ross (sect. 2.2-2.2.4)
FTP-Email Kurose-Ross (sect. 2.3-2.4)

Tuesday, February 11th
Application (3):
Scaling the Web at the Application Layer
Cache, Webproxy, Scalability
DNS, Top-Level Domain, Authoritative Servers
CDNs, Mirroring, Redirection
Cache, Proxy: Kurose-Ross (sect. 2.2.5-2.2.6)
DNS (Kurose-Ross 2.5)
CDNs (Kurose-Ross 7.2 + Tanenbaum-Wetherall (p.743-748, s.7.5.3)

Thursday, February 13th
Application (4):
Swarm, Gnutella, DHTs, Skype & Firewall
Kurose-Ross (sect. 2.6)

Tuesday, February 18th
Application (5):
Socket Programming
Multiplexing, Demultiplexing,
Socket, Datagram, connectionSocket
Python: Kurose-Ross (sect. 2.7), Java (slides)
C: Tanenbaum-Wetherall (slides, p.500-507, s. 6.1)

Thursday, February 20th
Last words on Application layer:
Review and Catch-up
Anything remaining

Documents for this part:

Recommended reading:

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

Important concepts to assimilate
Accompanying Materials
Tuesday, February 25th
Transport (1):
Principles of Transport layer
Error detection, checksum, UDP
Formulation of Error Detection, ACK, NACK
Kurose-Ross (sect. 3.3, 3.4 rdt 1-2)

Tuesday, March 4th
Transport (2):
Reliable Data Transmission (cont'd)
Sequence Number, Timeout, Utilization, Pipelining
Kurose-Ross (sect. 3.4 rdt3)

Thursday, March 6th
Transport (3):
Finishing Reliable Data Transmission
Selective Repeat, Segment,
Exponential Moving Average
Kurose-Ross (sect. 3.4-3.5)

Tuesday, March 11th
Transport (4):
TCP: Reliability and Flow Control
Cumulative ACK, Delayed ACK, Duplicate ACK,
Fast Restransmit, Receiver Window
Kurose-Ross (sect. 3.5)

Tuesday, March 25th
Transport (5):
Congestion Control,
Congestion Window, Slow Start and Congestion Avoidance
Additive Increase Multiplicative Decrease
Fairness: Max-min, Proportional
Kurose-Ross (s. 3.6)

Thursday, March 13th

Documents for this part:
  • Announcement in class:

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

Important concepts to assimilate
Accompanying Materials
Tuesday, April 1st
Network (1):
Forwarding \& Scheduling
Datagram vs. Virtual Circuit, Forwarding table
Input & Output port, Switching Fabric, Head of line Blocking
Kurose-Ross (sect. 4.1-4.3)

Thursday, April 4th
Network (2):
Addressing & IP format
Fragmentation, IP Address, Longest Prefix matching
Hierarchical addressing, Subnets, DHCP
Kurose-Ross (sect. 4.4.1-4.4.2)

Tuesday, April 8th
Network (3):
End of Addressing + Routing Algorithms
NAT, ICMP, IPv6, Tunneling
Graph, least cost path, Dijkstra's algorithm
Kurose-Ross (sect. 4.4.3-4.5.1)

Thursday, April 10th
Network (4):
Routing Algorithms (Cont'd)
Link state vs. Distance Vector,
Bellman-Ford Relaxation, Poison Reverse
Intra-domain routing: RIP, OSPF
Kurose-Ross (sect. 4.5.2 & 4.6.1-4.6.2)

Tuesday, April 15th
Network (5):
Inter-domain Routing
Hierarchical Routing, ASes, BGP,
Policy Routing, Customer
Kurose-Ross (s. 4.5.3-4.6.3)

Thursday, April 17th
Network (end):
Review / Catch-up
A word on broadcast/multicast
Kurose-Ross (s. 4.7)

Documents for this part:
  • Assignment 4 (due on Thursdday April 24th):

Part V - Link: Finding out who should speak

Important concepts to assimilate
Accompanying Materials
Tuesday, April 22nd
Link (1):
Medium Access Protocol
Frame, broadcast, collision,
Poisson Distribution, Process
Kurose-Ross (sect. 5.3)

Thursday, April 24th
Link (2):
Random Access Protocol
ALOHA slotted, unslotted, stabilized
CSMA, CSMA/CD, Ethernet
Kurose-Ross (sect. 5.3)

Tuesday, April 29th
Link (3):
Link-layer addressing
LAN Addresses, ARP
Switch, Hubs, Self learning, VLANS
Kurose-Ross (sect. 5.4-5.5)

Thursday, May 1st
Link (4):
Wireless and Queuing theory
Single Server Queue, Little's formula

Documents for this part:

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