Frammentazione dei Pacchetti in Networking: Spiegazione Completa
Comprendere la Frammentazione dei Pacchetti IP
La frammentazione dei pacchetti è un processo a livello di rete che divide pacchetti di dimensioni eccessive in frammenti più piccoli per la trasmissione attraverso collegamenti con Unità Massime di Trasmissione (MTU) più piccole.
Perché Si Verifica la Frammentazione
- Mancata corrispondenza MTU: MTU Ethernet = 1500 byte; PPPoE = 1492; tunnel VPN spesso <1400
- Dimensione del pacchetto: Pacchetti IPv4 fino a 65.535 byte; IPv6 jumbogrammi fino a 4 GB
- Bit Non Frammentare (DF): Se impostato, il pacchetto viene scartato invece di essere frammentato (ICMP "Pacchetto Troppo Grande" restituito)
Meccanica della Frammentazione IPv4
Ogni frammento diventa un pacchetto IP separato con:
- Identificazione: Stesso ID a 16 bit per tutti i frammenti del pacchetto originale
- Flag: Bit Più Frammenti (MF) = 1 per tutti tranne l'ultimo
- Offset del Frammento: Campo a 13 bit (blocchi da 8 byte) che indica la posizione nell'originale
- Intestazione: Ogni frammento ha la propria intestazione IP (20-60 byte di overhead)
Riassemblaggio
- L'host di destinazione riassembla usando ID + IP Sorgente/Destinazione + Protocollo
- Tutti i frammenti devono arrivare; frammenti mancanti → intero pacchetto scartato dopo timeout (60s tipico)
- Esaurimento del buffer di riassemblaggio = rischio DoS
Differenza IPv6
- Nessuna frammentazione da parte dei router: Solo la sorgente frammenta
- Scoperta MTU del Percorso (PMTUD): Obbligatoria—la sorgente apprende la MTU del percorso tramite ICMPv6 Pacchetto Troppo Grande
- Intestazione di Estensione per Frammento: Usata invece di flag/offset nell'intestazione principale
- MTU minima: 1280 byte (vs. 68 byte di IPv4)
Impatto sulle Prestazioni
- Overhead: Intestazioni extra per frammento (20+ byte ciascuna)
- Elaborazione: CPU del router per la frammentazione; memoria dell'host per il riassemblaggio
- Amplificazione della perdita: Un frammento perso = intero pacchetto ritrasmesso
- Sicurezza: Attacchi di frammentazione (sovrapposizione, frammenti minuscoli, esaurimento buffer)
Best Practice Moderne
- Abilita PMTUD: Non bloccare ICMP "Pacchetto Troppo Grande"
- Imposta bit DF: Lascia che la sorgente gestisca le dimensioni (TCP MSS clamping)
- MSS Clamping: Il router riscrive il TCP SYN MSS per adattarsi alla MTU del percorso
- Jumbo Frames: MTU di 9000 byte in ambienti controllati (data center)
Analogia
Come spedire un libro grande strappando i capitoli in buste separate, ciascuna etichettata "Libro X, Capitolo Y di Z", poi il destinatario riassembla in ordine. Efficiente per oggetti di grandi dimensioni, ma i capitoli persi rovinano l'intero libro.