Skip to main content

Computer Networks:  2017-2018

Lecturer

Degrees

Schedule S1(CS&P)Computer Science and Philosophy

Schedule S1Computer Science

Schedule B1Computer Science

Schedule S1(M&CS)Mathematics and Computer Science

Schedule B1Mathematics and Computer Science

Term

Overview

This course examines the science underpinning computer communications, such as the basic architectural principles of computer networking and specifically how the Internet works today. Covered topics include data representation, how errors in transmission can be detected and dealt with, the way information is routed over a large network, how congestion can be avoided, aspects of network security, and socket programming.

Learning outcomes

At the end of the course the students should:

  • Understand the architectural principles of computer networking and compare different approaches to organising networks.
  • Understand good network design: simplicity, scalability, performance, and the end-to-end principle.
  • Understand how the Internet works today.
  • Judge the effectiveness of existing or similar network protocols.
  • Be conversant with primitives of network application programming.

Synopsis

Network architecture: Packetization, Protocol layers and services, End-to-end principle, Internet structure

Link and access technologies: Multiple access protocols, Sliding window protocols,  LANs (Ethernet), Error detection and correction

Network layer: IP packet switching, IP addressing and forwarding, Routing

Network services: Address assignment (DHCP), Address resolution (ARP), Error reporting and monitoring (ICMP), DNS

Traffic: Queuing models, packet dropping models, workloads

Switch architecture: Routers and switches

Transport layer: Ports, TCP (handshake, windowing, congestion control), UDP

Socket programming

Security: Elements of cryptography, Denial-of-service attacks and vulnerabilities at various layers (TCP spoofing, ARP poisoning, DNS cache poisoning), IPsec, DNSsec, SBGP, Firewalls, VPN, Securing TCP

Syllabus

The need for computer networks; layered models; Ethernet; IP; network routing and congestion control; network security.

Reading list

  • Peterson and Bruce S. Davie "Computer Networks: A systems approach (4th ed)", Morgan Kaufmann, 2007.
  • S. Tanenbaum, Computer Networks (3rd ed), Prentice-Hall International, 1996.