Networking architectures, components and services

Code 144II
Credits 9

Learning outcomes

Objectives
The aim of the course is to present the architecture and protocols of modern packet-switching networks, focusing on the underlying problems and the different solutions proposed to solve them. In particular, issues related to IPv6, user mobility, multicast communications, Quality of Service requirements and peer-to-peer networks will be analysed. The theoretical part of the course will be followed by a lab module, devoted to the simulation of IP networks, the study of TCP (Linux TCP) and the implementation of rules for packet filtering and NATting in the Linux OS.
Syllabus
1. IPv6 and MIP
a. General features of IPv6 and header format
b. ICNPv6 and procedures of Neighbour Discovery
c. Transition IPv4-IPv6
d. Host mobility: MIPv4 e MIPv6
2. Multicast
a. Multicast addresses
b. IGMP
c. Multicast Routing Protocols (DVMRP, PIM-SM, PIM-DM)
3. Transport Layer
a. Overview on transport layer protocols (UDP, TCP, DCCP)
b. Flow and Congestion Control mechanisms in TCP and DCCP
c. RTT estimations
d. Congestion Avoidance techniques (DECbit, RED, CHOKe, TCP Vegas)
4. Quality of Service
a. Queueing and scheduling disciplines (FIFO, priority queueing, GPS, WFQ, WF2Q)
b. Token bucket traffic characterization
c. Intserv architecture
d. DiffServ architecture
5. P2P
a. General features
b. Classification of P2P architectures and examples

6. Lab
a. Simulation of IP networks
b. Simulation analysis of TCP connections
c. TCP linux in Linux OS
d. IPtables: packet filtering and NATting