Amazon Elastic Compute Cloud
Benutzerhandbuch für Linux-Instances

Netzwerk-MTU (Maximum Transmission Unit) für Ihre EC2 Instance

Die maximale Übertragungseinheit (MTU) einer Netzwerkverbindung ist die Größe (in Byte) des größten zulässigen Datenpakets, das über die Verbindung übergeben werden kann. Je größer die MTU einer Verbindung, desto mehr Daten können in einem einzelnen Paket übergeben werden. Ethernet-Pakete bestehen aus dem sog. Frame bzw. den tatsächlichen gesendeten Daten sowie den dazugehörigen Netzwerk-Overheadinformationen.

Ethernet-Frames können in verschiedenen Formaten vorkommen, wobei das gängigste Format das standardmäßige Ethernet v2-Frameformat ist. Es unterstützt einen MTU-Wert von 1 500. Dies ist die größte unterstützte Ethernet-Paketgröße in den meisten Bereichen des Internets. Der maximal unterstützte MTU-Wert für eine Instance hängt von deren Instance-Typ ab. Alle Amazon EC2 Instance-Typen unterstützen 1 500 MTU und viele derzeitige Instance-Größen unterstützen 9 001 MTU oder Jumbo-Frames.

Jumbo-Frames (9 001 MTU)

Für Jumbo-Frames sind mehr als 1 500 Byte an Daten zulässig, indem die Nutzlastgröße pro Paket und somit der Prozentsatz des Pakets erhöht wird, bei dem es sich nicht um Paket-Overhead handelt. Es werden weniger Pakete benötigt, um die gleiche Menge an verwendbaren Daten zu übertragen. Außerhalb einer bestimmten AWS-Region (EC2-Classic), einer einzelnen VPC oder einer VPC-Peering-Verbindung kommt es zu einem maximalen Pfad von 1 500 MTU. VPN-Verbindungen und Datenverkehr, der über ein Internet-Gateway gesendet wird, sind auf 1 500 MTU beschränkt. Wenn Pakete mehr als 1500 Byte enthalten, sind sie fragmentiert oder werden ignoriert, wenn das Flag Don't Fragment im IP-Header nicht festgelegt ist.

Jumbo-Frames sollten für Internet-Datenverkehr bzw. für Datenverkehr, der eine VPC verlässt, nur mit Vorsicht verwendet werden. Pakete werden durch zwischengeschaltete Systeme fragmentiert, sodass dieser Datenverkehr verlangsamt wird. Um Jumbo-Frames innerhalb einer VPC zu verwenden und dabei den Datenverkehr, der aus der VPC gesendet werden soll, nicht zu verlangsamen, können Sie die MTU-Größe nach Route konfigurieren oder mehrere Elastic Network-Schnittstellen mit unterschiedlichen MTU-Größen und Routen verwenden.

Bei Instances, die sich gemeinsam innerhalb einer Cluster Placement-Gruppe befinden, helfen Jumbo-Frames dabei, den maximal möglichen Netzwerkdurchsatz zu ermöglichen, und werden für diese Zwecke empfohlen. Weitere Informationen finden Sie unter Platzierungsgruppen.

Sie können für Datenverkehr zwischen Ihren VPCs und Ihren lokalen Netzwerken über AWS Direct Connect Jumbo-Frames verwenden. Weitere Informationen, einschließlich der Vorgehensweise für die Überprüfung der Jumbo-Frame-Funktionen, finden Sie unter Festlegen der Netzwerk-MTU im AWS Direct Connect-Benutzerhandbuch.

Alle Instances der aktuellen Generation unterstützen Jumbo-Frames. Die folgenden Instances der vorherigen Generation unterstützen Jumbo-Frames: C3, G2, I2, M3 und R3.

Path MTU Discovery

Path MTU Discovery wird verwendet, um den Pfad-MTU-Wert zwischen zwei Geräten zu ermitteln. Die Pfad-MTU ist die maximale Paketgröße, die auf dem Pfad zwischen dem sendenden Host und dem empfangenden Host unterstützt wird. Wenn ein Host ein Paket sendet, das größer als die MTU des empfangenden Hosts ist bzw. das größer als die MTU eines Geräts auf dem Pfad ist, gibt der empfangende Host bzw. das Gerät folgende ICMP-Meldung zurück: Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (Typ 3, Code 4). Dies weist den sendenden Host an, die MTU entsprechend anzupassen, damit das Paket übertragen werden kann.

Standardmäßig lassen Sicherheitsgruppen keinen eingehenden ICMP-Datenverkehr zu. Um sicherzustellen, dass Ihre Instance diese Nachricht empfangen kann und dass das Paket nicht ignoriert wird, müssen Sie den Regeln Ihrer Sicherheitsgruppe für eingehenden Datenverkehr eine Custom ICMP Rule mit dem Protokoll Destination Unreachable für Ihre Instance hinzufügen. Weitere Informationen finden Sie unter Regeln für Path MTU Discovery.

Wichtig

Das Ändern der Sicherheitsgruppe Ihrer Instance, um Path MTU Discovery zuzulassen, ist keine Garantie dafür, dass Jumbo-Frames von einigen Routern nicht verworfen werden. Ein Internet-Gateway in Ihrer VPC leitet nur Pakete mit bis zu 1 500 Byte weiter. Für Internet-Datenverkehr empfehlen sich Pakete mit einem MTU-Wert von 1 500.

Überprüfen des Pfad-MTU-Werts zwischen zwei Hosts

Sie können die Pfad-MTU zwischen zwei Hosts mithilfe des Befehls tracepath überprüfen. Er ist Teil des iputils-Pakets ist, das standardmäßig auf vielen Linux-Distributionen zur Verfügung steht (z. B. auch für Amazon Linux herunterladen und installieren können).

So überprüfen Sie den Pfad-MTU-Wert mit tracepath

Verwenden Sie den folgenden Befehl, um den Pfad-MTU-Wert zwischen Ihrer EC2 Instance und einem anderen Host zu überprüfen. Sie können einen DNS-Namen oder eine IP-Adresse als Ziel verwenden. Wenn es sich bei dem Ziel um eine andere EC2 Instance handelt, vergewissern Sie sich, dass Ihre Sicherheitsgruppe eingehenden UDP-Datenverkehr erlaubt. In diesem Beispiel wird der Pfad-MTU-Wert zwischen einer EC2-Instance und amazon.com überprüft.

[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

In diesem Beispiel ist der Pfad-MTU-Wert 1 500.

Überprüfen und Einrichten der MTU in Ihrer Linux-Instance

Einige Instances sind so konfiguriert, dass sie Jumbo-Frames nutzen, während andere für die Nutzung von Standard-Framegrößen konfiguriert sind. Sie können Jumbo-Frames für Netzwerk-Datenverkehr innerhalb Ihrer VPC oder Standard-Frames für Internet-Datenverkehr nutzen. Ganz gleich, welcher Anwendungsfall auf Sie zutrifft: Wir empfehlen Ihnen sicherzustellen, dass Ihre Instance wie erwartet funktioniert. Sie können die Verfahren in diesem Abschnitt verwenden, um die MTU-Einstellung Ihrer Netzwerkschnittstelle zu überprüfen und ggf. zu ändern.

So überprüfen Sie die MTU-Einstellung auf einer Linux-Instance

Sie können den aktuellen MTU-Wert mithilfe des Befehls ip überprüfen. Beachten Sie in der Beispielausgabe, dass mtu 9001 die Verwendung von Jumbo-Frames auf dieser Instance angibt.

[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

So legen Sie den MTU-Wert auf einer Linux-Instance fest

  1. Sie können den MTU-Wert mithilfe des Befehls ip festlegen. Der folgende Befehl setzt den gewünschten MTU-Wert auf 1 500, aber Sie können stattdessen auch 9 001 verwenden.

    [ec2-user ~]$ sudo ip link set dev eth0 mtu 1500
  2. (Optional) Um die MTU-Netzwerkeinstellung nach einem Neustart beizubehalten, müssen Sie die folgenden Konfigurationsdateien je nach verwendetem Betriebssystem ändern.

    • Fügen Sie für Amazon Linux 2 der Datei /etc/sysconfig/network-scripts/ifcfg-eth0 die folgende Zeile hinzu:

      MTU=1500

      Fügen Sie der Datei /etc/dhcp/dhclient.conf die folgende Zeile hinzu:

      request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-search, domain-name-servers, host-name, nis-domain, nis-servers, ntp-servers;
    • Für Amazon Linux: Fügen Sie der Datei /etc/dhcp/dhclient-eth0.conf die folgenden Zeilen hinzu:

      interface "eth0" { supersede interface-mtu 1500; }
    • Für andere Linux-Distributionen: Sehen Sie in der entsprechenden Dokumentation nach.

  3. (Optional) Starten Sie Ihre Instance neu und vergewissern Sie sich, dass die MTU-Einstellung korrekt ist.

Fehlersuche

Sollten beim Verwenden von Jumbo-Frames Verbindungsprobleme zwischen Ihrer EC2 Instance und einem Amazon Redshift-Cluster auftreten, helfen Ihnen die Informationen unter Abfragen scheinen zu hängen im Amazon Redshift Cluster Management Guide weiter.