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?
- Scope: should serve a wide range of applications
- Scalability: efficient for all sizes
- Robustness: network should still work when components fail:
- Safety barriers: limit/isolate disruptions
- Self-stabilisation: prune out incorrect information to continue/resume operations
- Fault detection: can detect failing components
- Byzantine robustness: continue working with malicious components
- Auto-configurable: should be able to support plug and play
- Tweak-ability: customisable to needs
- Deterministic: act consistently
- Migration: support live changes
Network models
The end-to-end principle
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:
- Move intelligence upwards in the OSI layer stack
- Does not tell the ISP where to put their hardware
- More so a philosophy than anything strict
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
"Each layer wraps the data it receives, like putting data inside an envelope"
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
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902105704.png)
End-to-end connectivity
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902105539.png)
Quick dive
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902105945.png)
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902110004.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
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902111932.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"
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902112143.png)
Routers have multiple interfaces
Thus being able to connect networks
Usually connects LAN to WAN
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902112345.png)
These graphs are bipartite:
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902112404.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:
- 0.0.0.0: unknown
- 127.0.01: loopback
- Host part all 0: network identification
- Host part all 1: directed broadcast
- 255.255.255.255: Local (sub)net broadcast
These addresses are not meant to be routed
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
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902114832.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
Header
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902115142.png)
Protocol Multiplexing
Value indicates the protocol in the data portion of the IP packet
%20Inter-Networking%20and%20Routing/Attachments/Pasted%20image%2020250902115251.png)
IP in IP for e.g.
VPN
Sending IPv6 over IPv4