skip to primary navigationskip to content

Department of Computer Science and Technology

Part IB CST

 

Course pages 2022–23

Computer Networking

Principal lecturer: Prof Andrew Moore
Taken by: Part IB CST
Term: Lent
Hours: 20
Format: In-person lectures
Suggested hours of supervisions: 5
This course is a prerequisite for: Cloud Computing, Cybersecurity, Principles of Communications
Exam: Paper 5 Question 1, 2, 3, 1, 2, 3
Past exam questions, Moodle, timetable

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