Computer Laboratory

Course material 2010–11

Principles of Communication

Lecturer: Professor J.A. Crowcroft

No. of lectures and examples classes: 20 + 4

Prerequisite course: Digital Communication I

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


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, Telephony and Broadcast Networks) are used to illustrate the principles


  • Introduction. Course overview. Abstraction, layering. The structure of real networks, Telephony, Internet, ATM.

  • Modular functionality for communications. Some systems design paradigms, often orthogonal to layers.

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

  • 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. [2 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?

  • 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?

  • 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. We recapitulate some basic queuing theory. [2 lectures]

  • The big picture for managing traffic. Economics and policy are relevant to networks in many ways. [2 lectures]

  • Naming and addressing. Reviewing Who is where?


At the end of the course students should be able to explain the concepts such as addressing, buffer management, congestion control, differential services, estimation, feedback, gateways, hierarchy, IP, jitter, k-ary resilience, layering, multiplexing, networking, OSI, priority, queueing, routing, switching, transmission control, user plane, virtualisation, wireless, yield management, and capacity versus bandwidth.

Recommended reading

* Keshav, S. (1997). An engineering approach to computer networking. Addison-Wesley (1st ed.). ISBN 0201634422
Alternatives to Keshav:
Peterson, L.L. & Davie, B.S. (2007). Computer networks: a systems approach. Morgan Kaufmann (4th ed.).
Stevens, W.R. (1994). TCP/IP illustrated, vol. 1: the protocols. Addison-Wesley (1st ed.). ISBN 0201633469