Computer Networks: 2021-2022
Lecturers | |
Degrees | Schedule S1(CS&P)(3rd years) — Computer Science and Philosophy Schedule B1 (CS&P) — Computer Science and Philosophy Schedule S1(3rd years) — Computer Science Schedule B1 — Computer Science Schedule S1(M&CS)(3rd years) — Mathematics and Computer Science |
Term | Trinity Term 2022 (16 lectures) |
Overview
This course covers the core theory of Computer Networks in order for students to understand the science underpinning computer communications, such as basic architectural principles of computer networking, including how the Internet works today and applications of theory in current technology. The course will cover the problems of Computer Networks and the standard ways to approach and resolve these problems, including relevant real-world, state-of-the-art examples. The practicals for the course will allow students to apply theory to real-world examples.
The lectures for this course will be delivered live at 3-5pm on Thursdays and 3-4pm on Fridays in LTB, unless specified otherwise.
Learning outcomes
At the end of the course, students should be able to debug everyday networking issues they encounter, construct and debug a small-medium IP network, and understand the problems and common solutions for scaling networking globally.
Synopsis
In the course we cover general networking areas, concepts and common themes, and also work our way up the networking layers, examining the problems and solutions at each layer to allow us to build effective global networks.
The general areas we cover are
- Networking abstracts
- The layered model for networking, and specifically the OSI and TCP/IP models.
- General constraints and trade-offs
- Protocols
- Virtualisation
- VLANS, VPNS, VMs, Containers
- Trust and Security
- Authentication/Confidentiality/Integerity/Signatures/Availability
- Protecting your network externals / internals
Specifically build up our understanding of networks at each layer of the networking stack, we cover
- OSI Layer 1: the physical layer
- OSI Layer 2: the data link layer
- Key example: Ethernet
- Making Layer 2 networks work – Protocols, MAC Learning
- OSI Layer 3: the network layer
- Key example: IP
- IP network scaling – IP routing Distance Vector and
- Internet scaling – Private address spaces and NATs, IPv6, Border Gateway Protocol
- Label switching
- OSI Layer 4: the transport layer
- Key examples: UDP and TCP
- Sockets
- TCP/IP Layer 4: the application layer
- Basic networked applications – DNS, Telnet, FTP, HTTP
The rough schedule for these across the lectures of the course is as follows:
- 1. Introduction. General models and constraints
- 2. OSI Physical Layer
- 3-4. OSI Data Link Layer and scaling
- 5-8. Network Layer and scaling
- 9-10. Transport Layer and Sockets
- 11. Application Layer
- 12. Virtualisation
- 13-14. Trust and Security
Syllabus
The need for computer networks; layered models; Ethernet; IP; network routing and congestion control; virtualisation; network security
Reading list
- Peterson and Bruce S. Davie "Computer Networks: A systems approach (6th ed)", Morgan Kaufmann, 2021.
- S. Tanenbaum, Computer Networks (6th ed), Prentice-Hall International, 2021.
Taking our courses
This form is not to be used by students studying for a degree in the Department of Computer Science, or for Visiting Students who are registered for Computer Science courses
Other matriculated University of Oxford students who are interested in taking this, or other, courses in the Department of Computer Science, must complete this online form by 17.00 on Friday of 0th week of term in which the course is taught. Late requests, and requests sent by email, will not be considered. All requests must be approved by the relevant Computer Science departmental committee and can only be submitted using this form.