Amazon Elastic Compute Cloud
Guide de l'utilisateur pour les instances Linux

Unité de transmission maximale (MTU) du réseau pour votre instance EC2

L'unité de transmission maximale (MTU) d'une connexion réseau correspond à la taille, en octets, du paquet le plus volumineux susceptible d'être transmis via la connexion. Plus la MTU d'une connexion est élevée, plus la quantité de données pouvant être transmises dans un seul paquet est importante. Les paquets Ethernet sont composés de la trame, ou des données réelles que vous envoyez, et des informations réseau générales associées.

Les trames Ethernet peuvent avoir différents formats, le plus courant étant le format de trame standard Ethernet v2. Il prend en charge une MTU de 1500, c'est-à-dire la taille de paquet Ethernet la plus importante presque partout sur Internet. La MTU maximum prise en charge pour une instance dépend du type d'instance. Tous les types d'instance Amazon EC2 prennent en charge une MTU de 1500 et de nombreuses tailles d'instance actuelles prennent en charge une MTU de 9001 ou les trames jumbo.

Trames jumbo (MTU de 9001)

Les trames jumbo permettent d'utiliser plus de 1 500 octets de données en augmentant la charge utile par paquet, et donc en augmentant le pourcentage de paquet qui ne constitue pas des frais supplémentaires. Moins de paquets sont nécessaires pour envoyer le même volume de données utilisables. Toutefois, en dehors d'une région AWS donnée (EC2-Classic), d'un seul VPC ou d'une connexion d'appairage de VPC, vous rencontrerez un chemin maximum d'une MTU de 1500. Les connexions VPN et le trafic transmis via une passerelle Internet sont limités à une MTU de 1500. Si la taille des paquets dépasse 1 500 octets, ceux-ci sont fragmentés ou abandonnés si l'indicateur Don't Fragment est défini dans l'en-tête IP.

Les trames jumbo doivent être utilisées avec prudence pour le trafic Internet ou pour tout trafic quittant un VPC. Les paquets sont fragmentés par des systèmes intermédiaires, ce qui ralentit le trafic. Pour utiliser les trames jumbo dans un VPC et éviter de ralentir le trafic destiné à sortir du VPC, vous pouvez configurer la taille de MTU par routage ou utiliser plusieurs interfaces réseau Elastic avec différentes tailles de MTU et différents routages.

Pour les instances situées dans un même groupe de placement du cluster, les trames jumbo permettent d'atteindre le débit réseau maximum possible et elles sont recommandées dans ce cas. Pour plus d'informations, consultez Groupes de placement.

Vous pouvez utiliser des trames jumbo pour le trafic entre vos VPC et vos réseaux sur site via AWS Direct Connect. Pour plus d'informations et pour savoir comment vérifier la capacité de trame Jumbo, consultez Définition de la MTU du réseau dans le AWS Direct Connect Guide de l'utilisateur.

Les instances suivantes prennent en charge les trames jumbo :

  • Usage général : A1, M3, M4, M5, M5a, M5ad, M5d, T2 et T3 et T3a

  • Calcul optimisé : C3, C4, C5, C5d, C5n et CC2

  • Mémoire optimisée : CR1, R3, R4, R5, R5a, R5ad, R5d, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, X1 et z1d

  • Stockage optimisé : D2, H1, HS1, I2, I3 et I3en

  • Calcul accéléré : F1, G2, G3, P2 et P3

Détection de la MTU du chemin

La détection de la MTU du chemin permet de déterminer la MTU du chemin entre deux appareils. La MTU du chemin correspond à la taille maximum du paquet prise en charge sur le chemin entre l'hôte de départ et l'hôte de destination. Si un hôte envoie un paquet dont la taille est plus importante que la MTU définie pour l'hôte destinataire ou que celle d'un appareil se trouvant sur le chemin, l'hôte ou l'appareil destinataire retourne le message ICMP suivant : Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (Type 3, Code 4). Ce message demande à l'hôte initial de modifier la MTU jusqu'à ce que le paquet puisse être transmis.

Par défaut, les groupes de sécurité n'autorisent pas le trafic ICMP entrant. Pour veiller à ce que l'instance puisse recevoir ce message et à ce que le paquet ne soit pas abandonné, vous devez ajouter une Règle ICMP personnalisée avec le protocole Destination inaccessible aux règles entrantes du groupe de sécurité pour l'instance. Pour plus d'informations, consultez Règles pour la détection de la MTU du chemin.

Important

La modification du groupe de sécurité de l'instance afin de permettre la détection de la MTU du chemin ne garantit pas que les trames jumbo ne seront pas abandonnées par certains routeurs. Une passerelle Internet sur votre VPC transmettra uniquement les paquets de 1 500 octets au maximum. Les paquets dont la MTU est de 1500 sont recommandés pour le trafic Internet.

Vérifier la MTU du chemin entre deux hôtes

Vous pouvez vérifier la MTU du chemin entre deux hôtes à l'aide de la commande tracepath, qui fait partie du package iputils disponible par défaut sur de nombreuses distributions Linux, dont Amazon Linux.

Pour vérifier la MTU du chemin à l'aide de tracepath

Utilisez la commande suivante pour vérifier la MTU du chemin entre votre instance EC2 et un autre hôte. Vous pouvez utiliser un nom DNS ou une adresse IP comme destination. Si la destination est une autre instance EC2, vérifiez que le groupe de sécurité autorise le trafic UDP entrant. Cet exemple vérifie la MTU du chemin entre une instance EC2 et amazon.com.

[ec2-user ~]$ tracepath amazon.com 1?: [LOCALHOST] pmtu 9001 1: ip-172-31-16-1.us-west-1.compute.internal (172.31.16.1) 0.187ms pmtu 1500 1: no reply 2: no reply 3: no reply 4: 100.64.16.241 (100.64.16.241) 0.574ms 5: 72.21.222.221 (72.21.222.221) 84.447ms asymm 21 6: 205.251.229.97 (205.251.229.97) 79.970ms asymm 19 7: 72.21.222.194 (72.21.222.194) 96.546ms asymm 16 8: 72.21.222.239 (72.21.222.239) 79.244ms asymm 15 9: 205.251.225.73 (205.251.225.73) 91.867ms asymm 16 ... 31: no reply Too many hops: pmtu 1500 Resume: pmtu 1500

Dans cet exemple, la MTU du chemin est 1500.

Vérification et définition de la MTU sur votre instance Linux

Certaines instances sont configurées de façon à utiliser les trames jumbo, tandis que d'autres sont configurées de façon à utiliser les tailles de trame standard. Vous pouvez utiliser les trames jumbo pour le trafic réseau au sein de votre VPC ou utiliser des trames standard pour le trafic Internet. Quel que soit le cas de figure, nous vous recommandons de vérifier que votre instance se comportera comme vous le souhaitez. Vous pouvez utiliser les procédures de cette section afin de vérifier le paramètre MTU de votre interface réseau et de le modifier si nécessaire.

Pour vérifier le paramètre MTU sur une instance Linux

Vous pouvez vérifier valeur actuelle de la MTU à l'aide de la commande ip suivante. Notez que dans l'exemple de sortie, mtu 9001 indique que cette instance utilise des trames jumbo.

[ec2-user ~]$ ip link show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 02:90:c0:b7:9e:d1 brd ff:ff:ff:ff:ff:ff

Pour définir la valeur de la MTU sur une instance Linux

  1. Vous pouvez définir la valeur de la MTU à l'aide de la commande ip. La commande suivante définit la valeur souhaitée pour la MTU jusqu'à 1500, mais vous pouvez utiliser 9001 à la place.

    [ec2-user ~]$ sudo ip link set dev eth0 mtu 1500
  2. (Facultatif) Pour conserver le paramètre de la MTU du réseau après le redémarrage, modifiez les fichiers de configuration suivants en fonction de votre type de système d'exploitation.

    • Pour Amazon Linux 2, ajoutez la ligne suivante au fichier /etc/sysconfig/network-scripts/ifcfg-eth0 :

      MTU=1500

      Ajoutez la ligne suivante dans le fichier /etc/dhcp/dhclient.conf :

      request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-search, domain-name-servers, host-name, nis-domain, nis-servers, ntp-servers;
    • Pour Amazon Linux, ajoutez les lignes suivantes à votre fichier /etc/dhcp/dhclient-eth0.conf.

      interface "eth0" { supersede interface-mtu 1500; }
    • Pour les autres distributions Linux, consultez leur documentation spécifique.

  3. (Facultatif) Redémarrez l'instance et vérifiez que le paramètre MTU est correct.

Dépannage

Si vous rencontrez des problèmes de connectivité entre votre instance EC2 et un cluster Amazon Redshift lorsque vous utilisez les trames Jumbo, consultez Des requêtes semblent se bloquer dans le Amazon Redshift Cluster Management Guide