Computer Laboratory

Course pages 2011–12


Principles of Communications

Lecturer: Professor J.A. Crowcroft

No. of lectures: 24

Prerequisite course: Computer Networking

This course is a prerequisite for Security II and Mobile & Sensor Systems.

This course may be useful for the Part III course on Network Architectures.

Useful related courses: Computer Systems Modelling, Information Theory, Digital Signal Processing


This course aims to provide a detailed understanding of the underlying principles for how communications systems operate. Practical examples (from wired and wireless communications, the Internet, and other communications systems) are used to illustrate the principles


  • Introduction. Course overview. Abstraction, layering. The structure of real networks, links, end systems and switching systems. [1 lecture]

  • Modular functionality for communications. Some systems design paradigms, often orthogonal to layers. [1 lecture]

  • Information, Noise, Interference, Capacity We briefly review relevant information theory and how the limit for the capacity of a channel can be calculated. [1 lecture]

  • Topology and Routing. How many ways can we work out how to get from A to B? We review relevant graph theory, including recent advances in understanding the topology of the Internet and similar networks. [4 lectures]

  • Error control. What do we do when things go wrong? Information can be coded and transmitted in a number of ways to survive interference. Retransmit, or pre-transmit? [2 lecture]

  • Flow control. Control theory is a branch of engineering familiar to people building dynamic machines. It can be applied to network traffic. Stemming the flood, at source, sink, or in between? [3 lectures]

  • Shared media networks. Ethernet and Radio networks: some special problems for media access and so forth. We revisit the problem of capacity of a channel in the context of a radio network. [2 lectures]

  • Switched networks. What does a switch do and how? [2 lectures]

  • Integrated Service Packet Networks for IP. Traffic may be adaptive to feedback control, or it may be a given. Characteristics may be quite complex in terms of time series. This has an impact on the design choices for scheduling and queue management algorithms for packet forwarding, including APIs to Quality of Service and routing with QoS. [2 lectures]

  • The big picture for managing traffic. Economics and policy are relevant to networks in many ways. Optimisation and game theory are both relevant topics discussed here. [2 lectures]


At the end of the course students should be able to explain the underlying design and behaviour of networks, including capacity, topology, control and use.

Recommended reading

* Keshav, S. (2011). Mathematical Foundations of Computer Networking. to appear, Addison Wesley - available in draft from
Background reading:
Keshav, S. (1997). An engineering approach to computer networking. Addison-Wesley (1st ed.). ISBN 0201634422
Stevens, W.R. (1994). TCP/IP illustrated, vol. 1: the protocols. Addison-Wesley (1st ed.). ISBN 0201633469