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

Lecture “ZERO”:

Important concepts covered
Wednesday, 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:
  • [4] Recent articles about Net Neutrality:


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

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

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

Monday , February 2nd
Overview (3):
Performance, Protocol Layering
delay, loss, throughput,
layers, encapsulation
Kurose-Ross (sect. 1-4)

Wednesday, February 4th
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
Monday, February 9th
Application (1):
Principles of Application layer
client-server, peer-to-peer,
socket, port, transport protocol
Kurose-Ross (sect. 2.1)

Wednesday, February 11th
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)

Monday, February 16th
Programming Assignment #1 Presentation

Slides: See below
Wednesday, February 18th
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)

Monday, February 23rd
Application (4):
Swarm, Gnutella, DHTs, Skype & Firewall
Kurose-Ross (sect. 2.6)

Wednesday, February 25th
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)

Documents for this part:

Recommended reading:


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

Important concepts to assimilate
Accompanying Materials
Monday, March 2nd
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)

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

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

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

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

Wednesday, March 25th

Documents for this part:


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

Important concepts to assimilate
Accompanying Materials
Wednesday, 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)

Monday, April 6th
Network (2):
Routing Algorithms
Fragmentation, Graph, least cost path, Dijkstra’s algorithm
Link state vs. Distance Vector,
Bellman-Ford Relaxation, Poison Reverse
Intra-domain routing: RIP, OSPF
Kurose-Ross (sect. 4.5)

Wednesday, April 8th
Network (3):
Addressing & IP format
IP Address, Longest Prefix matching
Hierarchical addressing, Subnets, DHCP,
NAT, ICMP, IPv6, Tunneling
Kurose-Ross (sect. 4.4.1-4.4.3)

Monday, April 13th
Network (4):
Inter-domain Routing (Cont’d)
Hierarchical Routing, ASes, BGP,
Policy Routing, Customer
Kurose-Ross & (s. 4.5.3-4.6.3)

Wednesday, April 15th
Network (5):
A word on broadcast/multicast

Kurose-Ross (s. 4.7)

Monday, April 20th
Network (end):
Review / Catch-up

Documents for this part:
  • Assignment 4 (due on Monday April 20th):

  • Programming Assignment 2 (due on Wednesday May 6th): Upcoming.


Part V - Link: Finding out who should speak

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

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

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

Monday, May 4th
Network (4):
Link (4):
Wireless and Queuing theory
Single Server Queue, Little’s formula

Documents for this part:
  • Assignment 5 (due on Monday May 4th, *no late days!*):

  • Final from 2014 to practice (solutions distributed on Monday May 4th at the end of class, together with solution for Assignment5):