Aims:

The module offers a rigorous introduction to the problems that arise when networking computer systems, and algorithms and systems design that solve...

Aims:

The module offers a rigorous introduction to the problems that arise when networking computer systems, and algorithms and systems design that solve these problems. The architectural principles and protocols that underlie the internet will be explained in detail. Topics to be taught will include the physical layer, widely used link layers (wired and wireless), MAC protocols, internetworking, intra-domain routing, reliable transport, congestion control, wide-area (policy) routing, naming, network security, the end-to-end principle, and network applications.Learning outcomes:

On successful completion of the module, a student will be able to:

Understand the nuances of interactions between a network's distributed entities.
This is a vital skill, without which one cannot truly be said to understand networking. To help students develop this skill, the module incorporates significant programming courseworks in Python and Java, in which students build or interact with working implementations of network protocols.

Content:

Introduction to Networking; Information, Error Control Coding, and Compression.
	Medium Access Control: CDMA, ALOHA, and Ethernet; Link Layer Addressing and Forwarding; Spanning Trees.
	Achieving Reliability; Stop-and-Wait, Go-Back-N.
	Achieving Reliability (cont); Selective Repeat; Intro to Internetworking; Network Address Translation; Inside Internet Routers.
	The Domain Name System; Multi-hop Networks and end-to-end Arguments.
	Reliable Transport and TCP.
	TCP and Congestion Control.
	Intra-Domain Routing; Introduction, Distance-Vector, Link-State.
	Inter-Domain Routing; BGP.
	Wireless Networks; 802.11 MAC.
	Security: Firewalls, Worms and IDSes; Content Delivery HTTP, Web Caching, and Content Distribution Networks.
Requisites:

To be eligible to select this module as optional or elective, a student must ​be registered on a programme and year of study for which it is a formally available.