Lecture 1

Objectives

Understand foundations and protocols on layer 2&3
3: Network layer (IP, ICMP)
2: Data-link layer (MAC, Ethernet protocol)

Material

Slides from the lectures
Material known from lab exercises and INR-related colloquia

Thesis Fair

Networking event and way to find projects for RP

Exam

Open-book exam
Bring anything
Questions are problem solving and understanding

Book(s)

Not one book in particular.
• Interconnections: Bridges, Routers, Switches, and Internetworking Protocols
– by Radia Perlman
• Network Routing
– by Deep Medhi and Karthik Ramasamy
• Computer Networks
– by Andrew S. Tanenbaum, Nick Feamster and David J. Wetherall
• Routing and Switching, Time of Convergence,
– by Rita Puzmanova
• Computer Networking: A top-down approach
– by James F. Kurose and Keith W. Ross
• An Introduction to Computer Networks,
– by Peter L. Dordal

Tanenbaum and Kurose and Ross are recommended

The basics

Network properties

What do we want in a network?

Network models

The end-to-end principle

Attention

END-TO-END ARGUMENT IN SYSTEM DESIGN
Exam material

TL;DR: "Smart edge, dumb core" -> net neutrality
The end devices know what they want to do (what they need), the routers and switches in the core should not care

Core ideas:

Interfaces: "How do I talk to the layer below me?"
Use Service Data Unit (SDU) through Service Access Point (SAP)
Protocols: "How do I talk to the same layer on the other side?"
Use Protocol Data Unit (PDU)

Data Units

Tldr

"Each layer wraps the data it receives, like putting data inside an envelope"

Tldr

Only the physical layer performs actual, physical transmission. The other layer perform logical communication

Headers, multiplexing and encapsulation

Multiplexing: Many different sessions go through the same connection
I.e. all TCP traffic goes over your singular wi-fi connection

Protocols in OSI

Layer 2: Switching
Mostly connectionless
Part of INR
Layer 3: Routing
Connectionless
IP
Layer 4: E2E communication
Connection-oriented: TCP
Connectionless: UDP
Topic in AN

Mostly switched to TCP/IP model
Top 3 layers got merged into application layer
Since this is more reflective of reality, those layers happen (and got implemented) in 1 go
Pasted image 20250902105704.png

End-to-end connectivity

Pasted image 20250902105539.png

Quick dive

Pasted image 20250902105945.png
Pasted image 20250902110004.png

Network elements

Networks as graphs

A graph is a set of vertices and edges
A network is a set of nodes and links

An edge/link is an unordered pair of vertices/nodes

Hosts and networks

Pasted image 20250902111932.png
To reach a host we need to know where/how it is connected to the network
The host has an interface
These can be physical or virtual
They have an address (might be dynamic)
The host is the endpoint

Interfaces connect "Host nodes" to "Network nodes"
Pasted image 20250902112143.png
Routers have multiple interfaces
Thus being able to connect networks
Usually connects LAN to WAN
Pasted image 20250902112345.png
These graphs are bipartite:
Pasted image 20250902112404.png

Routing

Delivering packets to an address
Using a number of hops to go through intermediate networks
Can be done on all layers, but usually layer 3
IP packet routing (layer 3)
Ethernet frame switching (layer 2)
MPLS label switching (layer "2.5")

Location versus endpoint

Where vs Who

Addresses are locators
Names for topological/geographical positions
Names or identifier for endpoints are missing
Hosts, processes, communication endpoints

Strong vs Weak host model

Strong model:
A host silently discards an incoming datagram whose destination does not correspond to the interface it was received on
Weak model:
A host accepts and routes datagrams that have a destination which is not that of the physical interface, as long as the address is present on the host
Linux uses a weak model, and is usually the default
Simplifies connecting to multiple networks, allowing to send messages across

IP addressing

IPv4:
32-bit
The options are exhausted, solved with things like NAT
Used to use classed addressing, designating certain addresses for certain networks/purposes
Not used because the steps between subnet sizes was too large (256 -> 50.000 -> 16.000.000)
IPv6:
Plenty of addresses

Special addresses:

Subnetting and masks

Connecting everyone to everything causes issues
Finding the destination becomes hell
Bad efficiency and management

Fix this by subnetting
Topological layer of addresses
Mask is used to identify the length of the network, e.g. 145.18.254.0/24
Subnet has its own broadcast domain, routers stop broadcasts between subnets
If you want to go outside the subnet, you send the data to the router
Routers will keep delegating to one another until the packet reaches its destination

CIDR and VLSM

CIDR: Classless Inter-Domain-Routing
The idea to let subnet sizes be anything, not just /8,16,24 as in class-based addressing
VLSM: Variable Length Subnet Mask
Use subnets that are not necessarily the same size

Subnets can be subnetted again and again
Used to organise and subdivide larger regions

CIDR and Routing

Pasted image 20250902114832.png
Routers aggregate the space of its subnets and advertises that
E.g. R2 advertise 1x /17 instead of 4x /19
Makes the routing tables smaller, making it more efficient

IPv4

Pasted image 20250902115142.png

Protocol Multiplexing

Value indicates the protocol in the data portion of the IP packet
Pasted image 20250902115251.png
IP in IP for e.g.
VPN
Sending IPv6 over IPv4