L' MTU (Unità Massima di Trasmissione) è un parametro che spesso non consideravo o che lasciavo a valore predefinito, senza curarmene.
L'unità di Trasmissione Massima è la dimensione più
grande ammessa per un pacchetto, specificata in byte, che può essere inviato tramite
un'interfaccia di rete.
Se il valore non è configurato correttamente nell'interfaccia, gli apparati di rete devono frammentare i pacchetti. Lo stack TCP/IP suddividerà il pacchetto in parti più piccole (frammenti) conformi all'MTU dell'interfaccia.
La frammentazione può avere implicazioni negative sulle prestazioni, uno dei motivi principali è l'impatto CPU/memoria per frammentare e poi riassemblare i
pacchetti. Quando il pacchetto viene riassemblato, il
dispositivo di rete deve archiviare tutti i frammenti per poi riassemblarli nel pacchetto originale.
Questo processo può causare latenza.
Altra possibile problematica, è
che i pacchetti frammentati potrebbero uscire dall'ordine con cui sono stati sezionati e alcuni tipi di dispositivi di rete
potrebbero di conseguenza eliminarli, comportando l'intera ritrasmissione del pacchetto.
Nel mio caso ho avuto un problema derivato da quest'ultima problematica.
Nello specifico, se attivavo un una regola proxy su una rete con una determinata connettività, alcuni siti non riuscivano ad essere visualizzati mentre altri non venivano caricati completamente (curioso che senza regola proxy il problema non si verificasse, è una situazione che devo approfondire).
Seguendo il consiglio del supporto del'appliance firewall, ho fatto una verifica sui valori MTU per tutte le connettività configurate nel firewall (WAN1, WAN2, WAN3,..), utilizzando questo semplice comando:
Si consiglia di partire da 1472 bit perchè se poi uniamo i 20 per l'header IP e 8 dell'header ICMP, arriviamo a 1500 che sono lo standard.
Se ci viene segnalato che il pacchetto non è transitato perchè avrebbe dovuto essere frammentato, togliamo 8 bit al 1472 e riproviamo fino a quando non riusciremo a spedire il pacchetto. Ricordiamoci poi che a quel valore vanno aggiunti i 28 bit menzionati prima e quel totale sarà il valore MTU da impostare nella nostra interfaccia.