Networking

Rete: Frammentazione IP su WAN, Diagnosi e Soluzioni

Rete: Frammentazione IP su WAN, Diagnosi e Soluzioni

La frammentazione IP è un fenomeno spesso sottovalutato ma critico per la stabilità e le performance di una rete, specialmente sui collegamenti Wide Area Network (WAN) tra sedi remote. Quando un pacchetto IP supera la Maximum Transmission Unit (MTU) di un’interfaccia di rete, viene frammentato in pacchetti più piccoli. Questo processo, sebbene necessario, introduce overhead e può portare a problemi di performance, timeout applicativi e disconnessioni di sessioni sensibili come le VPN o le chiamate VoIP. Individuare la frammentazione richiede un approccio metodico, combinando strumenti di diagnostica di base con analisi approfondite del traffico di rete. Ho affrontato questi scenari in ambienti enterprise con centinaia di VM e migliaia di endpoint, dove anche un singolo punto di strozzatura può avere un impatto a cascata significativo.

Testato su: Ubuntu 24.04 LTS · Cisco IOS XE 17.x · FortiGate OS 7.x · Settembre 2026

Prerequisiti / Ambiente di test

Per diagnosticare efficacemente la frammentazione IP, avrai bisogno di accesso a:

  • Un host Linux o Windows con gli strumenti di rete standard (ping, traceroute).
  • Un’applicazione di cattura pacchetti come Wireshark installata su un host che può monitorare il traffico sul collegamento WAN o su un router che supporta la cattura di pacchetti.
  • Accesso di livello amministrativo ai dispositivi di rete (router, firewall) che gestiscono il collegamento tra le sedi, per poter verificare e modificare le configurazioni MTU.
  • La capacità di generare traffico di test tra le due sedi per replicare il problema in un ambiente controllato.

1. Comprendere l’MTU e il Path MTU Discovery (PMTUD)

L’MTU è la dimensione massima del pacchetto, inclusi gli header IP, che un’interfaccia può trasmettere senza frammentazione. Tipicamente, per Ethernet, l’MTU è di 1500 byte. Tuttavia, sui collegamenti WAN (es. PPPoE, MPLS, tunnel VPN), l’MTU effettivo può essere inferiore a causa degli overhead aggiuntivi introdotti dagli header dei protocolli di tunneling. Il Path MTU Discovery (PMTUD) è un meccanismo che permette a un host di determinare l’MTU minimo su un percorso di rete. Funziona inviando pacchetti con il bit ‘Don’t Fragment’ (DF) impostato. Se un router sul percorso riceve un pacchetto troppo grande, dovrebbe scartarlo e inviare un messaggio ICMP ‘Fragmentation Needed’ (Type 3, Code 4) all’origine, indicando l’MTU massimo supportato dal suo link. Leggi anche: ICMP: La Diagnostica Fondamentale per la Rete

2. Identificare il Path MTU con il comando ping

Il primo passo pratico è utilizzare il comando ping con l’opzione ‘Don’t Fragment’ (-M do su Linux/macOS, -f su Windows) per determinare il Path MTU. Inizia con una dimensione del pacchetto standard (1472 byte per un pacchetto IP di 1500 byte, considerando 20 byte per l’header IP e 8 byte per l’header ICMP) e riduci gradualmente la dimensione finché i pacchetti non passano senza frammentazione.

Esegui il comando da un host in una sede verso un host nell’altra sede:

ping -s 1472 -M do your_remote_host

Se ricevi un messaggio simile a ping: local error: message too long, mtu=1400 o Packet needs to be fragmented but DF set, significa che la dimensione del pacchetto è troppo grande per un router sul percorso. Continua a ridurre la dimensione (-s) finché il ping non ha successo. Il primo valore -s che funziona, più 28 byte (header IP + ICMP), ti darà il Path MTU.

Ad esempio:

ping -s 1472 -M do 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 1472(1500) bytes of data.
From 192.168.1.1 icmp_seq=1 Frag needed and DF set (mtu = 1400)
From 192.168.1.1 icmp_seq=2 Frag needed and DF set (mtu = 1400)

ping -s 1372 -M do 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 1372(1400) bytes of data.
64 bytes from 192.168.10.1: icmp_seq=1 ttl=60 time=10.2 ms

In questo caso, il Path MTU è 1400 byte.

3. Analisi del traffico con Wireshark

Il ping è utile per determinare l’MTU, ma Wireshark fornisce una visione dettagliata di ciò che accade a livello di pacchetto. Cattura il traffico su un’interfaccia vicina al punto in cui sospetti avvenga la frammentazione (es. l’interfaccia WAN del router o del firewall). Leggi anche: Cisco IOS Troubleshooting: Metodologia e Comandi per Problemi di Rete Comuni (2026)

Filtri utili in Wireshark:

  • ip.flags.df == 0: Mostra i pacchetti che sono stati frammentati (il bit DF non era impostato o è stato ignorato).
  • ip.frag_offset != 0: Mostra i frammenti successivi al primo. Il primo frammento ha ip.frag_offset == 0 e di solito contiene gli header di livello superiore (TCP/UDP).
  • icmp.type == 3 && icmp.code == 4: Mostra i messaggi ICMP ‘Fragmentation Needed’ (Type 3, Code 4), che indicano che un router ha scartato un pacchetto con DF settato e ha segnalato l’MTU del suo link.

L’analisi dei pacchetti ti permetterà di:

  1. Verificare se i pacchetti vengono effettivamente frammentati.
  2. Identificare quali applicazioni o protocolli generano traffico che supera l’MTU.
  3. Vedere se i messaggi ICMP ‘Fragmentation Needed’ vengono generati e se raggiungono l’origine. A volte, questi messaggi possono essere bloccati da firewall, impedendo al PMTUD di funzionare correttamente.

Un esempio di output Wireshark filtrato per ip.flags.df == 0 potrebbe mostrare:

Frame 123: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits)
Ethernet II, Src: aa:bb:cc:dd:ee:ff, Dst: ff:ee:dd:cc:bb:aa
Internet Protocol Version 4, Src: 10.0.0.1, Dst: 10.0.0.2
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 1400
    Identification: 0x1234 (4660)
    Flags: 0x2000 (Don't Fragment)
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0xabcd [correct]
    [Header checksum status: Good]
Source Address: 10.0.0.1
Destination Address: 10.0.0.2
Transmission Control Protocol, Src Port: 12345, Dst Port: 8080, Seq: 1, Ack: 1, Len: 1360

Errori comuni e troubleshooting

  • Firewall che bloccano ICMP: Se i messaggi ICMP ‘Fragmentation Needed’ sono bloccati dai firewall, il PMTUD fallisce. Gli host continueranno a inviare pacchetti con DF settato, che verranno scartati, causando una ‘black hole’ per i pacchetti grandi. Assicurati che i firewall consentano ICMP Type 3, Code 4.
  • MTU non uniforme: Se l’MTU non è configurato in modo coerente su tutti i dispositivi lungo il percorso, si verificheranno problemi. Tutti i dispositivi (router, switch L3, firewall, interfacce VPN) devono avere un MTU compatibile.
  • Configurazione MSS Clamping: Per le connessioni TCP che attraversano tunnel VPN (IPsec, OpenVPN, WireGuard), è buona pratica configurare il Maximum Segment Size (MSS) Clamping. Questo riduce la dimensione massima dei segmenti TCP annunciata durante l’handshake, evitando che l’host mittente invii segmenti TCP più grandi dell’MTU del tunnel, prevenendo la frammentazione a livello TCP. Consulta la documentazione ufficiale di Cisco per il MSS Clamping

FAQ — Domande Frequenti

Devo modificare l’MTU su tutti i dispositivi della rete?

No, non necessariamente su tutti. Devi identificare il Path MTU minimo e configurare l’MTU delle interfacce WAN e dei tunnel VPN in modo che sia uguale o inferiore a quel valore. I dispositivi LAN interni possono mantenere l’MTU standard di 1500, a meno che non siano direttamente coinvolti nel routing di pacchetti frammentati.

La frammentazione IP influisce solo sulle VPN?

No, la frammentazione IP può influire su qualsiasi traffico che attraversa un collegamento con un MTU inferiore a quello del mittente. Le VPN sono particolarmente sensibili perché aggiungono un overhead significativo, riducendo l’MTU effettivo disponibile per il payload originale.

Come posso prevenire la frammentazione in futuro?

La prevenzione passa per una progettazione attenta della rete, specialmente per i collegamenti WAN e i tunnel VPN. Conosci il tuo Path MTU e configura l’MTU delle interfacce di conseguenza. Implementa il MSS Clamping per il traffico TCP che attraversa i tunnel VPN e assicurati che i messaggi ICMP ‘Fragmentation Needed’ non siano bloccati dai firewall.

È sempre meglio evitare la frammentazione?

Sì, in generale è sempre preferibile evitare la frammentazione IP. La frammentazione aumenta il carico sulla CPU dei router, introduce ritardi dovuti all’assemblaggio dei frammenti e aumenta la probabilità di perdita di pacchetti (se anche un solo frammento viene perso, l’intero pacchetto originale deve essere ritrasmesso).

Conclusioni con takeaway operativi

La frammentazione IP è una problematica subdola che può degradare significativamente le prestazioni di rete senza una causa apparente. L’approccio metodico che combina l’uso di ping con l’opzione ‘Don’t Fragment’ e l’analisi dettagliata del traffico con Wireshark è fondamentale per la diagnostica. Una volta identificato il Path MTU, l’ottimizzazione delle configurazioni MTU su router e firewall, insieme all’implementazione del MSS Clamping per i tunnel VPN, permetterà di ripristinare la stabilità e la velocità dei collegamenti inter-sede. Ricorda che la visibilità sul traffico di rete è la chiave per risolvere problemi complessi come questo.

Fonti

Aggiornato: Settembre 2026

Condividi questo articolo:

Scritto da

Rosario Giordano

Rosario Giordano è System Administrator e consulente IT specializzato in cybersecurity e cloud, con oltre 20 anni di esperienza nella gestione di infrastrutture Linux enterprise. Le sue aree di competenza includono hardening di SSH, piattaforme Kubernetes, database PostgreSQL, ambient i virtualizzati VMware e Proxmox, nonché la conformità ai framework di sicurezza NIS2 e ISO 27001.