Computer Laboratory

Course pages 2013–14

Principles of Communications

Principal lecturer: Prof Jon Crowcroft
Taken by: Part II
Past exam questions: Principles of Communications, Digital Communication II
Information for supervisors (contact lecturer for access permission)

No. of lectures: 24
Suggested hours of supervisions: 6
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. [2 lectures]

  • Topology and Routing. How many ways can we get from A to B? We review relevant graph theory, including recent advances in understanding the topology of the Internet and similar networks. We then look at the two most common class of routing algorithms. [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 lectures]

  • 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? Optimization as a model of network& user. [4 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 have to 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