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 trames Ethernet se composent du paquet, ou des données réelles que vous envoyez, et des informations de surcharge du réseau qui l'entourent.
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 prise en charge presque partout sur Internet. La MTU maximum prise en charge pour une instance dépend du type d'instance.
Les règles suivantes s'appliquent aux instances qui se trouvent dans des zones Wavelength :
-
Le trafic qui passe d'une instance à une autre au sein d'un VPC dans la même zone Wavelength a un MTU de 1300.
-
Le trafic qui passe d'une instance à une autre qui utilise l'adresse IP du transporteur dans une zone Wavelength a une MTU de 1500.
-
Le trafic qui passe d'une instance à une autre entre une zone Wavelength et une région qui utilise une adresse IP publique a une MTU de 1500.
-
Le trafic qui passe d'une instance à une autre entre une zone Wavelength et une région qui utilise une adresse IP privée a une MTU de 1300.
Pour afficher les informations de la MTU du réseau pour les instances Windows, consultez cette page dans le Amazon EC2 Guide de l'utilisateur pour les instances Windows : Unité de transmission maximale (MTU) du réseau pour votre instance EC2.
Sommaire
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, le trafic est limité à une MTU maximale de 1 500 dans les cas suivants :
-
Trafic sur une passerelle Internet
-
Trafic sur une connexion d'appairage de VPC entre régions
-
Trafic sur des connexions VPN
-
Trafic à l'extérieur d'une région AWS pour EC2-Classic
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 Configuration de la MTU du réseau dans le AWS Direct Connect Guide de l'utilisateur.
Tous les types d'instance Amazon EC2 prennent en charge 1500 MTU et tous les types d'instance de la génération actuelle prennent en charge les trames Jumbo. Les instances suivantes d'ancienne génération prennent en charge les trames jumbo : A1, C3, G2, I2, M3 et R3.
Pour plus d'informations sur les tailles MTU prises en charge pour les passerelles de transit, consultez MTU dans Passerelles de transit Amazon VPC.
Détection de la MTU du chemin
La détection de la MTU du chemin (PMTUD) 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. En cas de différence de taille de la MTU sur le réseau entre deux hôtes, la PMTUD permet à l'hôte de réception de répondre à l'hôte d'origine avec un message ICMP. Ce message ICMP indique que l'hôte d'origine utilise la taille de MTU la plus petite sur chemin d'accès réseau pour renvoyer la demande. Sans cette négociation, un rejet de paquet peut se produire, car la demande est trop volumineuse pour l'hôte de réception.
Pour IPv4, 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 supprime le paquet et retourne le message ICMP suivant : Destination
Unreachable: Fragmentation Needed and Don't Fragment was Set
(Type 3, Code 4). Cela indique à l'hôte émetteur de diviser la charge utile en plusieurs paquets plus petits, puis de les retransmettre.
Le protocole IPv6 ne prend pas en charge la fragmentation dans le réseau. 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 supprime le paquet et retourne le message ICMP suivant : ICMPv6 Packet Too Big (PTB)
(Type 2). Cela indique à l'hôte émetteur de diviser la charge utile en plusieurs paquets plus petits, puis de les retransmettre.
Par défaut, les groupes de sécurité n'autorisent pas le trafic ICMP entrant. Si vous ne configurez pas explicitement une règle de trafic entrant ICMP pour votre groupe de sécurité, la PMTUD est bloquée. Pour plus d'informations sur la configuration des règles ICMP dans une liste ACL réseau, consultez Découverte MTU de chemin dans le Amazon VPC Guide de l'utilisateur.
Path MTU Discovery 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
-
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
-
(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.
-
-
(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, veuillez consulter la rubrique Queries Appear to Hang (Les requêtes semblent se bloquer) dans le Guide de gestion du cluster Amazon Redshift