5.4.1. A Stateless Solution to MTU Handling (Soluzione stateless per la gestione MTU)
5.4.1. A Stateless Solution to MTU Handling (Soluzione stateless per la gestione MTU)
Una soluzione stateless per la gestione MTU da parte dell'ITR è la seguente:
-
Definire H come la dimensione dell'header esterno che l'ITR antepone al pacchetto, in ottetti. Questo include le lunghezze degli header UDP e LISP.
-
Definire L come la dimensione massima del pacchetto, in ottetti, che l'ITR può inviare all'ETR senza che l'ITR o qualsiasi router intermedio debba frammentare il pacchetto.
-
Definire la costante architetturale S come la dimensione massima del pacchetto, in ottetti, che l'ITR DEVE ricevere per soddisfare un MTU efficace. Cioè, S = L - H.
Quando l'ITR riceve un pacchetto dall'interfaccia rivolta verso il sito e aggiunge H ottetti di incapsulamento e il pacchetto risultante è maggiore di L ottetti, il problema MTU viene risolto dividendo prima il pacchetto originale in 2 frammenti di dimensioni uguali. Un header LISP viene quindi anteposto a ciascun frammento. La dimensione dei frammenti incapsulati risultanti è (S/2 + H), che è inferiore all'MTU del percorso stimato dall'ITR tra sé e l'ETR corrispondente.
Quando un ETR riceve frammenti incapsulati, li tratta come due pacchetti incapsulati separati. Dopo aver rimosso l'header LISP, ciascun frammento viene inoltrato all'host di destinazione nel sito di destinazione. I due frammenti vengono riassemblati nell'host di destinazione in un singolo datagramma IP originato dall'host di origine. Si noti che il riassemblaggio può verificarsi anche all'ETR se i pacchetti incapsulati sono stati frammentati all'ITR o successivamente.
Questo comportamento viene eseguito dall'ITR quando il campo DF nell'header IP del pacchetto originato dall'host di origine è impostato a 0. Quando il campo DF dell'header IP è impostato a 1 o il pacchetto è un pacchetto IPv6 originato dall'host di origine, se la dimensione è maggiore di L, l'ITR scarterà il pacchetto e invierà un messaggio ICMP Too Big all'origine, pubblicizzando un valore di S, dove S è (L - H).
Quando l'incapsulamento dell'header esterno utilizza un header IPv4, le implementazioni DOVREBBERO impostare il bit DF a 1 per evitare la frammentazione e il riassemblaggio all'ETR. Le implementazioni POSSONO impostare il bit DF a 0 in tali header se hanno buone ragioni per credere che esista un problema irrisolvibile di MTU del percorso tra l'ITR mittente e l'ETR ricevente.
Questa specifica RACCOMANDA che L sia definito come 1500.