Netzwerk-MTU (Maximum Transmission Unit) für Ihre EC2-Instance - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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-Rahmen bestehen aus dem Paket, also den eigentlichen Daten, die Sie senden, sowie aus den dazugehörigen Netzwerk-Overhead-Informationen.

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.

Die folgenden Regeln gelten für Instances, die sich in Wavelength Zones befinden:

  • Der Datenverkehr, der innerhalb einer VPC in derselben Wavelength-Zone von einer Instance zu einer anderen geht, hat eine MTU von 1300.

  • Der Datenverkehr, der von einer Instance zur nächsten geht und die Carrier-IP innerhalb einer Wavelength-Zone verwendet, hat eine MTU von 1 500.

  • Der Datenverkehr, der zwischen einer Wavelength-Zone und der Region, die eine öffentliche IP-Adresse verwendet, von einer Instance zur anderen führt, hat eine MTU von 1 500.

  • Der Datenverkehr, der zwischen einer Wavelength-Zone und der Region, die eine private IP-Adresse verwendet, von einer Instance zur anderen führt, hat eine MTU von 1300.

Die folgenden Regeln gelten für Instances, die sich in Außenposten befinden:

  • Der Datenverkehr, der von einer Instance in Outposts zu einer Instance in der Region geht, hat eine MTU von 1300.

Um Netzwerk-MTU-Informationen für Windows-Instances anzuzeigen, wechseln Sie zu dieser Seite im Amazon EC2-Benutzerhandbuch für Windows-Instances Handbuch: Netzwerk-MTU (Maximum Transmission Unit) für Ihre EC2-Instance.

Jumbo-Frames (9001 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. Der Verkehr ist jedoch in folgenden Fällen auf eine maximale MTU von 1 500 beschränkt:

  • Datenverkehr über ein Internet-Gateway

  • Datenverkehr über eine regionsübergreifende VPC-Peering-Verbindung

  • Datenverkehr über VPN-Verbindungen

  • Verkehr außerhalb einer bestimmten AWS Region für EC2-Classic

Sind die Pakete größer als 1 500 Byte, werden sie fragmentiert oder sie werden verworfen, wenn im IP-Header das Flag Don't Fragment gesetzt 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 Placement-Gruppen.

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

Alle Amazon EC2 EC2-Instance-Typen unterstützen 1500 MTU und alle Instance-Typen der aktuellen Generation unterstützen Jumbo Frames. Die folgenden Instance-Typen der vorherigen Generation unterstützen Jumbo-Frames: A1, C3, I2, M3 und R3.

Weitere Informationen zu den unterstützten MTU-Größen finden Sie hier:

  • Für NAT-Gateways siehe NAT-Gateway Grundlagen im Amazon VPC Benutzerhandbuch.

  • Für Transit-Gateways, siehe MTU im Amazon VPC Transit Gateways User Guide.

  • Für lokale Zonen siehe Überlegungen im AWS Benutzerhandbuch für lokale Zonen.

Path MTU Discovery

Path MTU Discovery (PMTUD) 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 es im Netzwerk zwischen zwei Hosts unterschiedliche MTU-Größen gibt, ermöglicht PMTUD dem empfangenden Host, mit einer ICMP-Nachricht für den ursprünglichen Host zu antworten. Diese ICMP-Nachricht weist den Ursprungshost an, die niedrigste MTU-Größe mit dem Netzwerkpfad zu verwenden und die Anforderung erneut zu senden. Ohne diese Verhandlung können Paketverluste auftreten, da die Anforderung für den empfangenden Host zu groß ist, um sie akzeptieren zu können.

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, löscht der empfangende Host bzw. das Gerät bei IPv4 das Paket und gibt dann die folgende ICMP-Meldung zurück: Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (Typ 3, Code 4). Dies weist den übertragenden Host an, die Nutzlast in mehrere kleinere Pakete aufzuteilen und diese dann erneut zu übertragen.

Das IPv6-Protokoll unterstützt keine Fragmentierung im Netzwerk. 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, löscht der empfangende Host bzw. das Gerät das Paket und gibt dann die folgende ICMP-Meldung zurück: ICMPv6 Packet Too Big (PTB) (Typ 2). Dies weist den übertragenden Host an, die Nutzlast in mehrere kleinere Pakete aufzuteilen und diese dann erneut zu übertragen.

Verbindungen, die über Komponenten wie NAT-Gateways und Load Balancer hergestellt werden, werden automatisch verfolgt. Das bedeutet, dass die Verfolgung von Sicherheitsgruppen für ausgehende Verbindungsversuche automatisch aktiviert wird. Wenn Verbindungen automatisch verfolgt werden oder die Sicherheitsgruppenregeln eingehenden ICMP-Datenverkehr zulassen, können Sie PMTUD-Antworten erhalten.

Hinweis: Der ICMP-Datenverkehr kann auch dann blockiert werden, wenn der Datenverkehr auf Ebene der Sicherheitsgruppe zulässig ist, z. B. wenn ein Eintrag in der Liste der Netzwerkzugriffskontrolle den ICMP-Verkehr zum Subnetz verhindert.

Wichtig

Path MTU Discovery garantiert nicht, dass Jumbo-Frames nicht von einigen Routern 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 überprüf 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

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.

Fehlerbehebung

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-Verwaltungshandbuch weiter.