Hide menu

Computer Networks and Distributed Systems


For details about time and places, please see timedit.

What is important/optional in each Chapter.

1. Important: Protocol layers, encapsulation, packet switching. Optional: history
2. Important: DNS, HTTP, client-server vs P2P. Optional: socket programming, caching details, P2P math
3. Important: TCP slow start, fast retransmit, go-back-N vs selective ACKs. Optional: details of RDT, costs of congestion
4. Important: router architecture, longest prefix matching, IPv4 vs v6 fragmentation. Optional: ipv6 adoption ways, scheduling policies, ATM service models
5. Important: link state vs distance vector, BGP, concept of SDN. Optional: SDN controllers, network management
6. Important: CSMA/CD, TDMA/FDMA, ALOHA, self-learning switches, ARP. Optional: Cable access, MPLS, datacenters
7. Important: WiFi, RTS/CTS, Concepts of CDMA and Mobilty. Optinal: Details of CDMA and Mobile IP, GSM handoffs
8. Important: symmetric vs assymetric crypto, MAC, email security, SSL vs IPsec. Optional: Math of public key crypto, toy SSL, operational security, IKE
9. Important: HAS, FEC, multicast, playback, QoS. Optional: Details of RTP/RTCP and Diffserv


20/1 Welcome. Intro (ch1). AG
22/1 Intro-1h. Applications-1. (ch1/2) NC
27/1 Applications (ch2) NC
28/1 Transport (ch3). AG
29/1 Transport (ch3). AG
03/2 Network data (ch4). AG
4/2 Network data-1h. Control-1h (ch4/5). AG
4/2 Cancel (afternoon)
10/2 Network control (ch5). AG
12/2 Link (ch6). AG
17/2 DS1. NC
18/2 DS2. NC
24/2 DS3. NC
25/2 DS4. NC
26/2 Wireless (ch7). AG
2/3 Security (ch8). NC
3/3 Multimedia (ch9). NC
9/3 Review. AG

Lecture Material


Reading: Kurose and Ross, Chapter 1
Application layer
Reading: Kurose and Ross, Chapter 2 Sockets and Assignment 2: 2020

Transport layer
Reading: Kurose and Ross, Chapter 3
Network layer:Data Plane
Reading: Kurose and Ross, Chapter 4 Network layer: Control Plane
Reading: Kurose and Ross, Chapter 5
Link layer
Reading: Kurose and Ross, Chapter 5
Wireless and mobile networks
Reading: Kurose and Ross, Chapter 6
Multimedia networking
Reading: Kurose and Ross, Chapter 7
Reading: Kurose and Ross, Chapter 8.

Distributed Systems: Principles and Paradigms
The last four lectures will primarily be based on content from the textbook "Distributed Systems: Principles and Paradigms", by Andrew S. Tanenbaum and Maarten Van Steen. We will cover roughly the same content as in last year's course. As such, you may benefit from having a look at the following topics:
  • Introduction (Ch. 1)
  • Architectures (Ch 2 - 2.2)
  • Processes and communication (Ch 3 - 3.4.2, 4 - 4.3, 11 - 11.3.1)
  • Synchronization, replication, and consistency (Ch 6 - 6.3, 6.5 - 6.5.3, 7.4, 7.5.2-7.6)
  • Object-based and Web-based systems (Ch 10 - 10.7, 12 - 12.7)
Note that we may not cover all the above material in class.
  • Slides 2020: partA; partB; partC; p2p examples; mapreduce examples
  • Slides 2019: lectures based on chapters 1-3 (partA); chapters 4 and 10 (partB); chapters 6 and 7 (partC); p2p examples (slides) google/mapreduce examples (slides)
  • Slides 2018: lectures based on chapters 1-3 (partA); chapters 4 and 10 (partB); chapters 6 and 7 (partC); google/mapreduce examples (slides)
  • B. Cohen, "Incentives build robustness in BitTorrent", Proc. Workshop on Economics of Peer-to-Peer Systems, Berkeley, CA, June 2003. (pdf)
Overview lecture (including exam hints)
Reading: Kurose and Ross, Chapter 1-8.
  • Slides: 2017 (full) 2019 (full)
  • Thesis opportunities (2016)

Example questions
You can find some example questions and more comments for the exam here.

Page responsible: Andrei Gurtov
Last updated: 2020-02-25