Department of Computer Science and Technology

Course pages 2020–21 (these pages are still being updated)

Computer Networking

Principal lecturer: Prof Andrew Moore
Taken by: Part IB CST 50%, Part IB CST 75%
Past exam questions

No. of lectures: 20
Suggested hours of supervisions: 5
This course is a prerequisite for the Part II course Principles of Communication

Aims

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 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-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.

Lectures

  • Introduction. Overview of networking using the Internet as an example. LANs and WANs. OSI reference model, Internet TCP/IP Protocol Stack. Circuit-switching, packet-switching, Internet structure, networking delays and packet loss. [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. [2 lectures]

  • Wireless and mobile networks. Wireless links and network characteristics, Wi-Fi: IEEE 802.11 wireless LANs. [1 lecture]

  • 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, multicast. [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. [6 lectures]

  • Application layer. Client/server paradigm, WWW, HTTP, Domain Name System, P2P. [1.5 lectures]

  • Multimedia networking. Networked multimedia applications, multimedia delivery requirements, multimedia protocols (SIP), content distribution networks. [0.5 lecture]

Objectives

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;

  • 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

* Peterson, L.L. & Davie, B.S. (2011). Computer networks: a systems approach. Morgan Kaufmann (5th ed.). ISBN 9780123850591
Kurose, J.F. & Ross, K.W. (2009). Computer networking: a top-down approach. Addison-Wesley (5th ed.).
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.).