5.4.1. A Stateless Solution to MTU Handling (Solution sans état pour le traitement du MTU)
5.4.1. A Stateless Solution to MTU Handling (Solution sans état pour le traitement du MTU)
Une solution sans état pour qu'un ITR traite le problème MTU est la suivante:
-
Définir H comme la taille de l'en-tête externe que l'ITR préfixe au paquet, en octets. Cela inclut les longueurs des en-têtes UDP et LISP.
-
Définir L comme la taille maximale du paquet que l'ITR peut envoyer à l'ETR, en octets, sans que l'ITR ou tout routeur intermédiaire ne doive fragmenter le paquet.
-
Définir la constante architecturale S comme la taille maximale du paquet que l'ITR DOIT recevoir, en octets, afin de répondre au MTU effectif. C'est-à-dire S = L - H.
Lorsqu'un ITR reçoit un paquet d'une interface orientée vers le site et que l'ajout de H octets d'encapsulation produit un paquet de taille supérieure à L octets, le problème MTU est résolu en fragmentant d'abord le paquet d'origine en 2 fragments de taille égale. Un en-tête LISP est ensuite préfixé à chaque fragment. Les fragments encapsulés ont une taille de (S/2 + H), ce qui est inférieur au MTU de chemin que l'ITR estime entre lui et l'ETR correspondant.
Lorsque l'ETR reçoit ces fragments encapsulés, il les traite comme deux paquets encapsulés distincts. Il supprime l'en-tête LISP de chacun et transfère les fragments vers l'hôte de destination sur le site de destination. Les deux fragments sont réassemblés en un seul datagramme IP initié par l'hôte source à l'hôte de destination. Notez que si le paquet encapsulé est fragmenté au niveau de l'ITR ou après, le réassemblage peut également se produire au niveau de l'ETR.
L'ITR exécute ce comportement lorsque le champ DF de l'en-tête IP du paquet initié par l'hôte source est défini sur 0. Lorsque le champ DF de l'en-tête IP est défini sur 1, ou lorsque le paquet est un paquet IPv6 initié par l'hôte source, l'ITR abandonnera le paquet s'il a une taille supérieure à L et enverra un message ICMP Too Big à la source, annonçant une valeur de S, où S est (L - H).
Lorsque l'encapsulation de l'en-tête externe utilise un en-tête IPv4, les implémentations DEVRAIENT définir le bit DF sur 1 pour éviter la fragmentation et le réassemblage de l'ETR. Si une implémentation a de bonnes raisons de croire qu'il existe un problème de MTU de chemin insoluble entre l'ITR émetteur et l'ETR récepteur, elle PEUT définir le bit DF sur 0 dans de tels en-têtes.
Cette spécification recommande que L soit défini sur 1500.