Computer Networks and Distributed Systems
Lectures
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, self-learning switches, ARP. Optional: Cable access, MPLS, datacenters
7. Important: WiFi, RTS/CTS, Concept of Mobilty. Optional: Details of CDMA and Mobile IP, GSM handoffs
8. Important: symmetric vs asymmetric crypto, MAC, TLS and certificates. Optional: Math of public key crypto, toy SSL, operational security, IKE
Schedule
(UK=Ulf Kargén, CMB=Carl Magnus Bruhner)21.01 Welcome. Intro (ch1). UK
22.01 Applications. (ch2) UK
28.01 Transport. (ch3). UK
29.01 Transport. (ch3). UK
04.02 Network. data plane (ch4). UK
05.02 Network. control plane (ch5). UK
18.02 Link. (ch6). UK
19.02 Distributed systems 1. CMB
24.02 Distributed systems 2. CMB
26.02 Distributed systems 3. CMB
04.03 Wireless (ch7). UK
05.03 Distributed systems 4. CMB
12.03 Security and course wrap-up. UK
24.03 Exam 8-12 (next June 11, Aug 29)
Lecture Material
Abbreviations
Introduction
Reading: Kurose and Ross, Chapter 1
- Slides: Welcome, Introduction to computer networks
Application layer
Reading: Kurose and Ross, Chapter 2
- Slides: Application Layer
Lesson: Sockets and Assignment 2:
- Slides: 2025 version
Transport layer
Reading: Kurose and Ross, Chapter 3
- Slides: Transport Layer
Network layer: Data Plane
Reading: Kurose and Ross, Chapter 4
- Slides: Network Layer: Data Plane
Network layer: Control plane
Reading: Kurose and Ross, Chapter 5
- Slides: Network Layer: Control Plane
- Animation: Dijkstra's algorithm
- Video: DV count to infinity
Link layer
Reading: Kurose and Ross, Chapter 6
- Slides: Link Layer
Wireless and Mobile Networks
Reading: Kurose and Ross, Chapter 7
- Slides: Wireless and Mobile Networks
Security and Course Wrap-Up
Reading: Kurose and Ross, Chapter 8
- Slides: Security, How to prepare for exam
Distributed Systems
The four lectures are primarily based on the textbook Distributed Systems, by Andrew S. Tanenbaum and Maarten Van Steen. The slides and lectures contain the minimum requirement of the course, but further reading is encouraged as more details are available in the book.
- Slides Lecture 1: Introduction to distributed systems (Chapter 1)
- Slides Lecture 2: Architecture, processes, and communication (Chapter 2-4)
- Slides Lecture 3: Coordination and naming (Chapter 5-6)
- Slides Lecture 4: Consistency, replication, and fault tolerance (Chapter 7-8)
Videos
As an additional learning resource, we link to the following recorded lectures. Note that these are not the same as the on-site lectures.
Lecture videos from the textbook.
Distributed Systems videos from
University of Cambridge
and
MIT
Page responsible: Ulf Kargén
Last updated: 2025-03-12