Computer Networks Learning Goals

Application Layer (2.1)

  • You know what the role of the application layer is and what its key concepts are: client-server vs. P2P, process communication via messages, API and sockets, IP addresses and ports, the basic idea of TCP (see lecture).

Web & HTTP (2.2)

  • You know what HTTP is and what messages it uses.
  • You know how HTTP works with persistent and non-persistent connections.
  • You know what HTTP cookies and web caching are.

E-mail & DNS (2.3–2.4)

  • You know how internet e-mail system is structured, and what role SMTP plays and how it works.
  • You know the RFC5322 mail message format (only from, to and subject) and what the popular email access protocols are (POP3, IMAP).
  • You know what service DNS provides and how it works.
  • You know what DNS records are and what the DNS message format is.

P2P & Streaming (2.5–2.6, 9.1–9.2)

  • You know what the distribution time is and how lower bounds of it can be improved with P2P.
  • You know what videos and video compressions are.
  • You know how streaming of stored videos via HTTP and adaptive HTTP works, and what the role of buffering and prefetching is.
  • You know how CDNs work for video streaming and what benefit they offer.

Tansport Layer (3.1)

  • You know what role the transport layer has in network communication.
  • You know what services the transport layer offers to network applications, and how it is related and possibly constrained by the network layer protocols are used.

TCP (3.2, 3.4–3.5)

  • You know the principles of reliable data transfer: protocols and their states, packages and how to avoid duplication and preserve their order,
  • You know what services TCP provides and how it ensures reliable data transfer.

Network Layer (4.1)

  • You know what role the network layer has in network communication and what its key concepts are: forwarding and routing.
  • You know what services the network layer can offer.

Data Plane (IP) (4.2–4.3)

  • You know the tasks and the internal workings of a router (forwarding, switching types, queuing, scheduling).
  • You know how IPv4 addresses and datagrams are structured and how they are forwarded.

Control Plane (5.1–5.3)

  • You know the control plane functions of the network layer: datagram routing (per-router control).
  • You know the distance-vector routing algorithm, why it finds a low-cost path through the network and how it compares to the LS algorithm.
  • You know how routing can be better scaled and secured by using AS-routing in general, and OSPF in particular.

Software-defined Networks (4.4, 5.5)

  • You know the role of SDN and its separation data and control plane, and how
  • You know what generalised forwarding is and how it is implemented in OpenFlow.
  • You know how SDNs are configured, and manage devices and their services.

Link Layer (6.1)

  • You know the role of link layer, where it is implemented, how it relates to the network layer, and what its services and key concepts are.

Error Correction (6.2 + Hamming distance and CRC in depth)

  • You know a few simple error detection and correction techniques, and how they are used in practice in the link layer: parity, checksum, CRC.
  • You know the relevance of error detection and correction in systems communicating via channels.
  • You know what Hamming distance is, and how it can be used to detect and correct errors.
  • You know the mathematical principles underlying CRC (polynomials over finite fields).

Possible sources are:

Multiple access and Switched LANs (6.3–6.4)

  • You know the multiple access protocols slotted ALOHA and CSMA, and what problem they are solving.
  • You know what MAC addresses are for and how the address resolution protocol works.
  • You know what the role of link-layer switches is, how they compare to routers and how they work.

Wireless (7.1–7.2)

  • You know the elements of a wireless network (host, link, base station, different infrastructures) and what their specific characteristics are.
  • You know the differences between wired and wireless links and networks, and how CDMA is used to share a link.

WiFi (7.3, 7.5)

  • You know the achitecture of WiFi, and its capabilities (7.3.1 – 7.3.3).
  • You know how mobility of hosts can be realised in WiFi networks, including how addresses are managed and routes are established.

Security (8.1)

  • You know what the properties of a secure communication channel should be and what the capabilities of an intruder can be.

Encryption, Integrity, Signatures (8.2–8.3)

  • You know what task encryption has, what symmetric and public key cryptography are, and how block ciphers and RSA realise such cryptography schemes.
  • You know what a cryptographic hash function is and how it can be used to ensure message integrity.
  • You know what a digital signature is and know one can be designed from hashes and public key encryption.

Securing Communication (8.4–8.6)

  • You know what end-point authentication comprises and what the potential attacks are on protocols by studying ap1.0 - ap4.0.
  • You know how to secure email communication by employing encryption and signatures.
  • You know how a protocol to secure a TCP connection can be designed and how this is realised in SSL.

Operational Security (8.9 + Advanced topics)

  • You know what a firewall is, and what kind of operational security it realises and how.
  • You know what an intrusion detection system is, and what kind of operational security it realises and how.
  • You know how one more advanced topic of operational security like, for example, how VPNs or TOR work.