Skip to main content

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 B1Computer Science

Schedule S1(M&CS)(3rd years)Mathematics and Computer Science

Schedule B1(M&CS)Mathematics and Computer Science

Term

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.

Feedback

Students are formally asked for feedback at the end of the course. Students can also submit feedback at any point here. Feedback received here will go to the Head of Academic Administration, and will be dealt with confidentially when being passed on further. All feedback is welcome.

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.