skip to primary navigationskip to content

Department of Computer Science and Technology

Computer Networking

 

Course pages 2025–26

Computer Networking

Changes This Year

Although there is a new lecturer this year, the materials will be largely unchanged, but the number of slides presented will be scaled back a bit (similar to a/y 18/19 levels).

One addition will be a glossary of terms. Candidates should be able to explain all of the words in the glossary and expect them to appear in Tripos questions.

Detailed Syllabus 25/26

Syllabus variations. The official syllabus (on the first tab) is slightly out-of-date w.r.t. what is lectured at the moment: the ordering of materials has varied since the syllabus was last updated. A concise/unified list of the topics covered per lecture (and accordingly can be expected in Tripos 25/26) is being prepared here at the moment.

In essence, everything that was lectured is examinable. Any of the slides in the PDF that were skipped in lectures are already marked with 'not examinable/lectured in 25/26' in red.

Candidates should also read the sections of the two textbooks that are specifically mentioned or linked to per-topic below.

Topic-by-Topic: Fine-grained Syllabus

Topic 1 (Foundations) subjects covered in 25/26 are:
Most aspects of this topic are built on subsequently so should not need listing here, but here they are anyway:
Spatial sharing/diversity (aka SDM but not a common acronym). TDM, FDM, WDM.
Simplex, duplex, half-duplex, unicast, multicast, broadcast, anycast.
Circuit vs packet switching. Connection oriented vs connectionless.
Mean and peak flow rate, busrtyness, statistical multiplexing gain.
Speed of light, round-trip time (RTT), bandwidth delay product, utilisation and queuing delay.
Not covered in 25/26: information flux is a term I would have added --- units are bits per second per unit area.

Topic 2 (Architecture and Philosophy) subjects covered in 25/26 are:
Modularity, layering and abstractions. OSI reference model details. When layering could be harmful.
First mention of VLANs, tunnelling.
Internet approach and IP layer narrow waist.
End-to-end vs middleboxes.
Not covered in 25/26: 'Only if sufficient' principle. Reliable file transfer example.

Topic 3a (Physical Layer) subjects covered in 25/26 are:
Note: nearly all of the detail under the Topic 3a heading is not relevant for a Computer Science degree. Instead, it is Computer Engineering.
The formal syllabus is on the first tab of the course web page; it does not explicitly mention the physical layer (L1).
But, candidates should understand the basic information capacity formula and the differences between cable and wireless, and the names and differentiating aspects of each of the topics presented, but need not study any of the block diagrams or power budgets presented. But aspects of the physical layer, especially wireless networks, inevitably affect the data link layer (Topic 3b).
Specifically: the need and role of each of the following aspects of the PHY interface to DLL should be more than vaguely understood: Tx clock, Tx data, Tx frame start signal, Tx write gate (or power level), Rx data, Rx clock, Rx frame signal, Rx RSSI received signal strength or carrier detect, other Rx metrics (such as coding violations or FEC rate experience).
An important aspect of PHYs is whether they are duplex or half-duplex, where the duplex form arises from a pair of simplex channels.
Another important aspect of some PHYs is the ability to support multiple channels (eg. CDMA or FDM).
[Error detection and correction is on the syllabus so has been moved from 3a to 3b for clarity.]

Topic 3b (Data-link Layer) subjects covered in 25/26 are:
Packet framing and MAC addressing.
Error detection and correction using CRC and checksums (with no details of GF2 arithmetic). Brief mention of hamming-distance based error correction. Ditto erasure channels.
Shared medium, media access control protocols: turn-taking, polling, contention.
Simple Aloha, slotted Aloha, CSMA, CSMA/CD. Contention window and scaling.
Radio media: hidden and exposed terminals. CTS/RTS collision avoidance (WiFi) basis.
Migration to switched L2. Spanning tree.
Virtual LAN key concepts - same as multiple physical NICs. VPN layer violations (for MAC broadcast and for firewall issues etc.).
Not covered in 25/26: HomePlug. Bluetooth. Data centre networks. I would have added an overview of Viterbi since an important case of layers hindering performance. Also AutoNET.

Topic 4 (Network Layer) subjects covered in 25/26 are:
naming, addressing, routing, switching/forwarding, router block diagrams, tradeoffs associated with positioning of buffers.
intra-autonomous domain routing protocols: Link State, DV/OSPF, response to disruptions, hierarchic vs flat, subnetting and longest-prefix match
delivery models, reliability dimensions/aspects.
NAT (with a brief mention of firewalls).
ICMP and traceroute.
Further protocols: ARP, DHCP. Also IPv6 (exceptionally briefly),
Not covered in 25/26: IP multicast, IP fragmentation, IPv6 (except first two slides, so no details of Neighbour Discovery or SLAAC).

Topic 5 (Transport Layer) subjects covered in 25/26 are:
Core functions: port multiplexing, reliability, end-to-end flow control, congestion avoidance.
Pros and cons of working over IP's narrow waist, perhaps with ECN.
End-to-end vs hop-by-hop considerations.
Connection-oriented transport protocols or sessions (briefly mentioned) a few times
Principles of reliable conveyance: bytestream, SR vs GBN,
Sliding windows: congestion and receiver window limits, AIMD, backoff/kickdown,
Measuring RTT and jitter.
Scaling: slow-start, rapid recovery, CUBIC,
Fairness definitions (one lectured only) and fair queuing.
TLS key points (no details lectured).
Not covered in 25/26: TCP establishment and teardown (3-way handshake), the 'TCP equation' numerical integration of the window, buffer sizing theory,

Topic 6 (Application Layer) subjects covered in 25/26 are:
Basic nature of P2P and client/server applications.
DNS, Resource Record 4-field structure and 4 types lectured. gethostbyname.
DNS load balancing via anycast, caching, soft state.
Basic structure of simple HTML (not lectured, but taken as common knowledge). HTTP 1.0 and 1.1.
Conditional GET.
Web caches/proxies, discussion about forward and reverse positioning. Akamia-style overlay network. Eager push of content.
CDN: Three distinctive approaches. Also multiple sites per server.
Evolution beyond HTTP 1.1 to 2,3,4 QUIC (numbering not important, but understanding the role of the various components, such avoiding HOL, avoiding round-trips, security,
JPEG/MPEG CBR/VBR basic familiarity assumed. Dynamic playout buffer sizing.
Not covered in 25/26: Secure DNS (DNSSEC), Cookies, dark web, P2P file sharing, email, DASH multimedia protocol and subsequent two or three slides to end of pack.

Lecture Slides

Lecture Notes

For most of this course, it is pointless having local lecture notes when there are great books, but a few further notes and clarifications will likely be posted in this section as we go.

The recommended book is Computer Networks: A Systems Approach, VIth edition Peterson and Davie soft online copy, GIT resources.

Lecture slides can be printed for you by the department on request. Put your name down at Student Admin if you'd like a copy. Last year, very few were wanted. Electronically annotating a PDF may be more convenient? Possibly the best thing to have in hardcopy form is one of the recommended textbooks.

Further notes and clarifications: HERE.

Glossary

Please test yourselves (or peers) by checking you know all these acronyms or terms GLOSSARY.

Last Year's page

Please see last-year's materials for further recommended book(s) and all other materials, the Hands-on Materials and further secondary materials.

        

Supervision Materials

New Sheet 25/26

The 25/26 Exercise Sheet is here EXERCISE SHEET.
This is pretty much the same as the old sheet, except that red ink has been added where topics were not covered this year, Topic 3 has been split into two, and fresh questions regarding VLANs, VPNs and CDNs have been added.

Old Sheet

The old Exercise Sheet remains relevant, with a few exceptions, Exercise Sheet Compiled Wednesday 21st February, 2018.
Exercise 9c (CRC/GF2 detail) is not examinable in 25/26.
Exercise 12a/b (classes of traffic) is not examinable in 25/26.
Exercise 12d (IPv6) is not examinable in 25/26.
Exercise 17a (TCP equation) is not examinable in 25/26. The slides showing integrating the sliding window to get throughput were not lectured, but the concept remains useful and should at least be discussed in supervisions.

Secondary Materials

Kurose + Ross (PDF) (a more recent edition may be available).

Beyond last-year's materials, a few items will be posted in this section.

7-layer OSI stack

Classic repeater/bridge/router/gateway diagram.

In Lecture 2 (switching paradigms) people could inspect this item: Crossbar Circuit Switch that uses the same Strowger uniselectors used in the first generation, british automatic telephone exchanges.

For a later lecture, this article was recommended by Prof Jon Crowcroft How NAT Traversal Works.

About The Lecturer

The lecturer, David Greaves, has designed various computer networks. In the early 1980's he constructed a LAN at his VIth-form College for PET microcomputers GPIB Combiner; in the early 1990's he designed the first equipment to send data at more than 100 Mbps over the Granta fibre network around the University of Cambridge, and in the later 1990's his team designed the first video-on-demand system in the UK, the Cambridge iTV trial, and then went on to design early ADSL broadband modems, as widely used today.


DJG.