Data Networks

Lecture – Summer Semester 2023

In this lecture, we will take a dive into how data networks work, and how they work together to create the network of networks we know as the Internet. After going on this journey from the history of networks and protocols to newest developments, going through every layer of the stack – from the physical wire to the applications – like the Web and Email – everyone knows and uses.

After successful completion of this course, you will be able to:

  • Describe the relevant layers of network communication (Physical, Data, Network, Transport, Application)
  • Analyze the description of a protocol to identify the layer it works on, as well as key-characteristics of the protocol (statefullnes, etc.)
  • Apply protocols of all layers (esp. Network, Transport, and Application) to a given case, e.g., use a routing protocol to determine how packets would traverse a given network.
  • Analyze multiple protocols for a given use-case and evaluate which one is more suited given features of the individual protocols.
  • Explain the structures of protocol development/standardization bodes and the Internet governance structure in place for the Internet as a whole.
  • Design simple network protocols for small example cases, e.g., a simple application layer text   chat protocol, weighting choices for, e.g., the best transport protocol to use with it.

In summary, the course enables you to navigate the protocol landscape of the modern Internet, familiarizing you with services like web (HTTP), mail (SMTP, POP, IMAP), the domain name systems (DNS), but also the lower layers, from IP through routing (BGP), to the transport layer (TCP, UDP). By taking a comprehensive look at the interactions between these protocols, you attain the ability to reason on the principles of computer networks, and apply the fundamentals of the area – including network protocol mechanisms, implementation considerations, network algorithms, advanced network architectures, network simulations, measurements, protocol specifications, and verification techniques – in the context of other specializations in computer science, from databases, to distributed systems, and computer security.


Lecturer Anja Feldmann, Tobias Fiebig, Oliver Gasser, Jialong Li
Type Core Lecture
Lectures 2 x per week (hybrid)
Course Credits 9 LP (ECTS)
Tutorials 3 x per week in person + 1 online
Lecture Number 10006
Language English
Duration April 14 - July 21
Examination written exam (Midterm exam mandatory for exam registration (around mid-June) and final exam (end of July).
Registration Data Networks


The course will be offered in english only!

Details regarding the exam can be found on the lecture's website.
An official announcement will be given during the lecture and repeated in the tutorials.

Literature (non-compulsory)