Course pages 2018–19
Computer Networking
Principal lecturer: Dr 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.).