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