Détection du chemin MTU

Pour deux hôtes communiquant sur un chemin à plusieurs réseaux, un paquet transmis se fragmente si sa taille est supérieure à la plus petite unité de transmission maximale (MTU) de n'importe quel réseau du chemin. Étant donné que la fragmentation des paquets peut entraîner une réduction des performances du réseau, il est souhaitable d'éviter la fragmentation en transmettant des paquets dont la taille n'est pas supérieure à la plus petite MTU du chemin réseau. Cette taille est appelée unité de transmission maximale de chemin.

Le système d'exploitation prend en charge un algorithme de détection de l'unité de transmission maximale de chemin tel que décrit dans la RFC 1191. La reconnaissance MTU de chemin peut être activée pour les applications TCP et UDP en modifiant les options tcp_pmtu_discover et udp_pmtu_discover de la commande no . Lorsqu'elle est activée pour TCP, la détection du MTU de chemin force automatiquement la taille de tous les paquets transmis par les applications TCP à ne pas dépasser le MTU du chemin. Etant donné que les applications UDP déterminent elles-mêmes la taille de leurs paquets transmis, les applications UDP doivent être spécifiquement écrites pour utiliser les informations MTU de chemin à l'aide de l'option de socket IP_FINDPMTU , même si l'option udp_pmtu_discover no est activée. Par défaut, les paramètres Tcp_pmtu_discover et Udp_pmtu_discover sont activés.

Lorsque la détection MTU de chemin est lancée pour une destination, une entrée pmtu est créée dans le tableau de l'unité de transmission maximale de chemin. Cette table peut être affichée à l'aide de la commande d'affichage pmtu . On peut éviter l'accumulation des entrées pmtu en autorisant l'expiration et la suppression des entrées pmtu non utilisées. L'expiration de l'entrée PMTU est contrôlée par l'option pmtu_expire de la commande no . pmtu_expire est défini sur 10 minutes par défaut.

Étant donné que les chemins peuvent changer de façon dynamique, la valeur de l'unité de transmission maximale de chemin d'un chemin peut également changer avec le temps. Les diminutions de la valeur d'unité de transmission maximale de chemin entraînent une fragmentation des paquets, ce qui fait que les valeurs d'unité de transmission maximale de chemin reconnues sont vérifiées périodiquement pour obtenir des diminutions. Par défaut, les diminutions sont vérifiées toutes les 10 minutes et cette valeur peut être modifiée en modifiant la valeur de l'option pmtu_default_age de la commande no .

Les applications UDP devront toujours définir l'option socket IP_DONTFRAG pour détecter les diminutions de PMTU. Cela permettra de détecter immédiatement les diminutions dans le MTU de chemin plutôt que de vérifier la diminution chaque minute pmtu_default_age.

L'augmentation de la valeur d'unité de transmission du chemin peut entraîner une augmentation potentielle des performances du réseau ; ainsi, les valeurs d'unité de transmission du chemin connues sont examinées périodiquement pour obtenir des augmentations. Par défaut, les augmentations sont vérifiées toutes les 30 minutes et cette valeur peut être modifiée en modifiant la valeur de l'option pmtu_rediscover_interval de la commande no .

Si tous les routeurs du chemin réseau ne prennent pas en charge la RFC 1191, déterminer une valeur MTU de chemin exacte peut être impossible. Dans ces cas, la commande mmtu peut être utilisée pour ajouter ou supprimer des valeurs MTU de chemin qui sont tentées.

Remarque :
  1. La reconnaissance de l'unité de transmission maximale par chemin ne peut pas être utilisée sur les routes en double, y compris celles configurées pour le routage de groupe (voir Restrictions d'utilisation de route). La détection MTU de chemin peut être utilisée sur des chemins en double
  2. L'activation de la reconnaissance de la MTU utilisée sur la route réseau définit la valeur minimale de l'option arpqsize de la commande no sur 5. Cette valeur n'est pas réduite si la détection MTU du chemin est ensuite désactivée.