Computer Laboratory

Course pages 2011–12

Computer Networking

Principal lecturer: Dr Andrew Moore
Taken by: Part IB
Past exam questions: Computer Networking, Digital Communication I
Information for supervisors (contact lecturer for access permission)

No. of lectures: 24
This course is a prerequisite for the Part II courses Principles of Communication and Security II.


The aim of this course is to introduce key concepts and principles of computer networks. The course will use a top-down approach to study of the Internet and its protocol stack. Instances of architecture, protocol, application-examples will include email, web and media-streaming. We will cover communications services (e.g., TCP/IP) required to support such network applications. The implementation and deployment of communications services in practical networks: including wired and wireless LAN environments, will be followed by a discussion of issues of network-security and network-management, Throughout the course, the Internet’s architecture and protocols will be used as the primary examples to illustrate the fundamental principles of computer networking.


  • Introduction. Overview of networking using the Internet as an example. LANs and WANs. OSI reference model, Internet TCP/IP Protocol Stack. Client/server paradigm, circuit-switching, packet-switching, Internet structure, networking delays and packet loss. [3 lectures]

  • Application layer. Service requirements, WWW, HTTP, electronic mail, Domain Name System, P2P, socket programming API. [3 lectures]

  • Transport layer. Service models, multiplexing/demultiplexing, connection-less transport (UDP), principles of reliable data transfer, connection-oriented transport (TCP), TCP congestion control, TCP variants. [3 lectures]

  • Network layer addressing. Network layer services, IP, IP addressing, IPv4, DHCP, NAT, ICMP, IPv6. [3 lectures]

  • Network layer routing. Routing and forwarding, routing algorithms, routing in the Internet, RIP, OSPF, BGP, multicast. [3 lectures]

  • Link layer and local area networks. Link layer services, error detection and correction, Multiple Access Protocols, link layer addressing, Ethernet, hubs and switches, Point-to-Point Protocol. [3 lectures]

  • Wireless and mobile networks. Wireless links and network characteristics, Wi-Fi: IEEE 802.11 wireless LANs, mobility management and mobile IP. [2 lectures]

  • Multimedia networking. Networked multimedia applications, best-effort service and multimedia delivery requirements, multimedia protocols (RTSP, RTP, RTCP, SIP), content distribution networks. [3 lectures]

  • Network security and network management. Cryptography, integrity, securing email, securing TCP (SSL), firewalls and IDS, network management components, Internet management framework, presentation services. [1 lecture]


At the end of the course students should

  • be able to analyse a communication system by separating out the different functions provided by the network;

  • understand that there are fundamental limits to any communications system;

  • understand the general principles behind multiplexing, addressing, routing, reliable transmission and other stateful protocols as well as specific examples of each;

  • understand what FEC is and how CRCs work;

  • be able to compare communications systems in how they solve similar problems;

  • have an informed view of both the internal workings of the Internet and of a number of common Internet applications and protocols.

Recommended reading

* Kurose, J.F. & Ross, K.W. (2009). Computer networking: a top-down approach. Addison-Wesley (5th ed.).
Peterson, L.L. & Davie, B.S. (2011). Computer networks: a systems approach. Morgan Kaufmann (5th ed.). ISBN 9780123850591
Comer, D. & Stevens, D. (2005). Internetworking with TCP-IP, vol. 1 and 2. Prentice Hall (5th ed.).
Stevens, W.R., Fenner, B. & Rudoff, A.M. (2003). UNIX network programming, Vol.I: The sockets networking API. Prentice Hall (3rd ed.).