CM30078 is for undergraduates, and CM50123 is the equivalent for Masters students. The lectures and problem classes are at the same times, but the coursework is a bit more demanding for Masters students.


Problem classes, starting from Week 2:

The times of the laboratories, which will be in 3W 1.2A (Lovelace lab), are as follows:

The official textbook, which I suggest to buy, is:

You might find useful some parts of the book:

You might find useful the course TCP/IP Networking by Jean-Yves Le Boudec and Patrick Thiran.

Slides by Russell Bradford, with modifications:


15.10.12 The problem class and lecture on 23 and 25 October 2012 are cancelled.

Course Info

Lectures, Topics and Suggested Exercises

1.10.12—Lecture 1 Introduction. Slides

4.10.12—Lecture 2 Layering Models. Slides
Suggested exercises: 2.1, 2.5, 2.8 and 2.10 in AoCN.

8/9.10.12—Lecture 3 Physical and Link Layers 1: Ethernet; Manchester encoding; 4B/5B encoding; token ring. Slides
Do Exercise 3.3a and 3.5 and come to the problem classes for more exercises.

11.10.12—Lecture 4 Physical and Link Layers 2: Introduction to ADSL, ADSL superframes. Slides Physical and Link Layers 3: Wireless. Slides
Do Exercise 5.3 and come to the problem classes for more exercises.

15.10.12—Lecture 5 Physical and Link Layers 3: Wireless. Slides Physical and Link Layers 3: Introduction to ARP. Slides
Do Exercise 5.6 and come to the problem classes for more exercises.

16.10.12—Lecture 6 Physical and Link Layers 3: ARP. Slides
Exercise: ask yourself what are the IP and MAC addresses of packets traveling between Ethernet networks connected by bridges and routers, so to come prepared for a tutorial next time.

22.10.12—Lecture 7 The Internet/Network Layer: IP headers. Slides
Do exercises 6.2, 6.3 and come to the problem classes for more exercises.

29.10.12—Lecture 8 The Internet/Network Layer: IP headers and addresses. Slides Slides
Do exercise 6.4 and come to the problem classes for more exercises.

30.10.12—Lecture 9 The Internet/Network Layer: Subnetting, supernetting, NAT. Slides
Do exercises 6.10 and 6.16 and come to the problem classes for more exercises.

6.11.12—Lecture 10 The Domain Name System: DNS Recursive lookups. Slides
Suggested exercises: 8.2 and 8.5 (optional) and come to the problem classes for more exercises. Get acquainted with the commands ifconfig, hostname, route, with editing in the Live CD Unix distribution (linked below) and with the use of the file /etc/resolv.conf.

8.11.12—Lecture 11 The Domain Name System: DNS reverse lookups and further uses of DNS. Slides The Transport Layer: Ports, UDP. Slides
Suggested exercise: start familiarising yourself with the coursework in all its practical aspects concerning the operating system, the commands you'll need to use and the editors. In addition to what was suggested before, get acquainted with the tcpdump command and the format of its logs.

12.11.11—Lecture 12 The Transport Layer: TCP sequence numbers and acknowledgments. Slides The Transport Layer: TCP flags and TCP options. Slides
Suggested exercises: 9.1, 9.4 and 9.10 and come to the problem classes for more exercises.

13.11.12—Lecture 13 The Transport Layer: TCP connection setup & tear-down, TCP state machine. Slides
Suggested exercises: 9.7, 9.8.

15.11.12—Lecture 14 TCP Strategies: Sliding window, delayed ACKs, Nagle's algorithm, silly window syndrome. Slides
Suggested exercise: 10.2.

20.11.12—Lecture 15 TCP Strategies: Slow start and congestion avoidance, fast retransmit and fast recovery. Slides
Suggested exercises: 10.3 and 10.4.

26.11.12—Lecture 16 TCP Strategies: Explicit congestion notification, retransmission timer, persist timer. Slides TCP Strategies: Keep alive timer. Slides
Suggested exercises: 10.6, read RFC 5681.

27.11.12—Lecture 17 TCP Strategies: Path MTU discovery, long fat pipes, timestamps, SACK. Slides The Internet/Network Layer: ICMP. Slides
Suggested exercise: 6.17.

29.11.12—Lecture 18 The Internet/Network Layer: ping, traceroute. Slides Routing IP: ICMP redirect, RIP. Slides
Suggested exercises: 10.7, 10.8 and 6.18.

3.12.12—Lecture 19 Routing IP: Dijkstra's algorithm, OSPF, BGP. Slides The Presentation Layer: UTF-8. Slides
Suggested exercises: 7.1 and 7.6, read RFC 1058 and do 11.1.

4.12.12—Lecture 20 The Presentation Layer: XDR and MIME. Slides The Application Layer: Telnet and FTP. Slides
Suggested exercises: 11.5, 11.7 and 12.2.

6.12.12—Lecture 21 The Application Layer: SMTP and the problem with spam, HTTP. Slides
Suggested exercise: 12.1

6.12.12—Lecture 22 The Application Layer: HTML and XML. Slides The Internet/Network Layer: IPv6. Slides

Problem classes

9.10.12—Problem class 1 Question 1.d of 2010's exam.

18.10.12—Problem class 2 Quiz on switches and bridges.

1.11.12—Problem class 3 Last year's exam problem on routing.

5.11.12—Problem class 4 Last year's exam problem on routing.

19.11.12—Problem class 5 Last year's exam problem on joining networks with bridges or routers.

22.11.12—Problem class 6 We solved the first part of Problem 3 of this past exam, assuming that every second packet is always acknowledged by TCP.

11.12.12—Problem class 7 We solved the RIP problem of past year's exam.

13.12.12—Problem class 8 We solved the remaining problems of past year's exam.

Material Covered and to Be Prepared for the Exam

Read the slides as indicated above, and, in The Art of Computer Networking:


The coursework will take place in the labs in Week 8, starting from 19/11. Individual feedback will be provided by email within three weeks from submission. More in detail:

Here you can find the Linux CD image required for the coursework. You will be provided with a CD, but feel free to burn your own to experiment.

Past Exams

Office Hours

When you want to talk to me, just send me an email and we'll arrange an appointment.

13.12.2012 Alessio Guglielmi email (replace AT by @)