Il Network Layer del TCP/IP

IP, indirizzamento, routing e diagnostica

Da “dove invio i pacchetti” a “come arrivano a destinazione” (gateway, router, ICMP)
1) Cos’è il Network Layer (livello 3)

Il Network Layer (Livello 3 del modello ISO/OSI) ha il compito di instradare i pacchetti tra reti diverse. Se il livello 2 (Data Link) consegna i frame nella stessa LAN, il livello 3 gestisce il viaggio tra LAN differenti.

Parole chiave: IP, indirizzamento, subnet, gateway, router, tabella di routing, ICMP.
Cosa fa
  • Definisce indirizzi logici (IPv4/IPv6)
  • Decide il next-hop (prossimo router)
  • Permette comunicazioni end-to-end tra reti
  • Supporta la frammentazione (IPv4) se necessario
Cosa NON garantisce (di base)
  • Non garantisce affidabilità (per quello c’è TCP)
  • Non garantisce ordine di consegna
  • Non garantisce assenza di perdita pacchetti
  • È un servizio tipicamente best-effort
2) Il protocollo IP: pacchetti e concetti chiave

IP è il protocollo principale del Network Layer: definisce come identificare sorgente e destinazione e come far viaggiare i pacchetti attraverso i router.

IPv4 – concetti da sapere
  • Indirizzo a 32 bit (4 ottetti)
  • Subnet mask / prefisso CIDR (es. /24)
  • Network ID e Host ID
  • Broadcast (ultimo indirizzo della subnet)
Esempio veloce: 192.168.10.25/24 → Network 192.168.10.0, Broadcast 192.168.10.255
Campi “famosi” dell’header IPv4
  • TTL: diminuisce ad ogni router (evita loop infiniti)
  • Protocol: indica il livello sopra (TCP=6, UDP=17, ICMP=1)
  • Identification, Flags, Fragment Offset: frammentazione
  • Header Checksum: controllo errori dell’header

Da ripetere bene: MAC serve nella LAN (livello 2), IP serve tra reti (livello 3). Un pacchetto può cambiare “incapsulamento L2” ad ogni salto, ma gli IP sorgente/destinazione restano gli stessi (finché non c’è NAT).
3) Gateway, router e tabella di routing

Per spedire un pacchetto, un host decide se la destinazione è nella stessa subnet oppure in una rete diversa. Se è diversa, invia tutto al default gateway (il router della LAN).

Decisione dell’host (logica)
  1. Calcola la rete: IP AND subnet mask
  2. Confronta la rete della destinazione con la propria
  3. Se uguale → consegna in LAN (serve il MAC del destinatario)
  4. Se diversa → invia al gateway (serve il MAC del gateway)
Tabella di routing (router)

Un router inoltra pacchetti usando una tabella con righe del tipo: destinazione/prefisso → next hop / interfaccia.

  • Si sceglie la rotta con longest prefix match (prefisso più specifico)
  • Rotte statiche o apprese da protocolli dinamici (RIP/OSPF/EIGRP…)

Concetto Cosa significa Esempio
Default route Rotta “di uscita” quando non ci sono rotte più specifiche 0.0.0.0/0 → gateway
Next hop Indirizzo del router a cui consegnare il pacchetto 10.0.0.2
Interfaccia di uscita Porta su cui inviare il pacchetto G0/0, S0/0/0…
Metric Costo della rotta (dipende dal protocollo) hop count (RIP)
4) ARP e ICMP: “collanti” indispensabili
ARP (Address Resolution Protocol)

ARP serve a ottenere un MAC address conoscendo un IP, nella stessa LAN.

  • Richiesta broadcast: “Chi ha 192.168.1.1?”
  • Risposta unicast: “Io, MAC = …”
  • Risultato salvato nella ARP cache
Se devi uscire dalla subnet, l’host fa ARP sul gateway, non sul server remoto.
ICMP (Internet Control Message Protocol)

ICMP fornisce messaggi di controllo/errore utili per la diagnostica.

  • Echo Request/Reply → ping
  • Destination Unreachable → rete/host/porta non raggiungibile
  • Time Exceeded → TTL scaduto (base di traceroute)
5) MTU e frammentazione (IPv4)

Ogni collegamento ha una MTU (Maximum Transmission Unit): se un pacchetto IP è più grande dell’MTU, in IPv4 può essere frammentato.

Idea base
  • Il pacchetto viene spezzato in più frammenti
  • I frammenti viaggiano separati
  • La ricomposizione avviene alla destinazione
Campi coinvolti
  • Identification: stesso ID per tutti i frammenti
  • MF (More Fragments): indica se ne arrivano altri
  • Fragment Offset: posizione del frammento
Nota didattica: oggi si tende a evitare frammentazione (Path MTU Discovery). In IPv6 la frammentazione sui router non si fa (concetto utile da sapere, anche solo a livello teorico).
6) “Toolbox” di laboratorio (comandi e cosa osservare)
Su PC (Windows / Linux)
  • ipconfig / ifconfig / ip a → IP, mask, gateway
  • ping → ICMP Echo
  • tracert / traceroute → salti, TTL
  • arp -a → tabella ARP
  • route print / ip route → tabella routing
Tip: se ping verso gateway funziona ma fuori no → spesso è routing/NAT/DNS (in base al caso).
Su router (Cisco – idea generale)
  • show ip interface brief
  • show ip route
  • show arp
  • ping / traceroute
  • show running-config (filtrare con | section ...)
Riepilogo rapido (da ripetere a voce in verifica)
  • Livello 3 = instradamento tra reti: protocollo principale IP.
  • Un host decide “stessa subnet o no?”: se no → invia al default gateway.
  • I router inoltrano con la tabella di routing (prefisso più specifico vince).
  • ARP risolve IP→MAC nella LAN; verso Internet si risolve il MAC del gateway.
  • ICMP serve per diagnostica: ping e messaggi di errore; TTL scaduto → traceroute.