Unità massima di trasmissione (MTU) di rete per istanza EC2 - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Unità massima di trasmissione (MTU) di rete per istanza EC2

L'unità massima di trasmissione (MTU) di una connessione di rete è la dimensione, in byte, del pacchetto maggiore consentito trasferibile attraverso la connessione. Maggiore è la MTU di una connessione, maggiore è la quantità di dati trasferibili in un unico pacchetto. I pacchetti Ethernet sono costituiti dal pacchetto o dai dati effettivi che invii e le informazioni sul sovraccarico della rete circostante.

I frame Ethernet possono presentarsi in diversi formati; il formato più comune è il formato di frame standard Ethernet v2. Supporta 1500 MTU, ovvero la dimensione del pacchetto Ethernet maggiore supportata nella maggior parte di Internet. La MTU massima supportata per un'istanza dipende dal tipo di istanza.

Le seguenti regole si applicano alle istanze che si trovano nelle zone di Wavelength:

  • Il traffico che va da un'istanza all'altra all'interno di un VPC nella stessa zona di Wavelength ha un MTU pari a 1300.

  • Il traffico che va da un'istanza all'altra che utilizza l'IP portante all'interno di una zona Wavelength ha un MTU pari a 1500.

  • Il traffico che va da un'istanza all'altra tra una zona di Wavelength e la regione che utilizza un indirizzo IP pubblico ha un MTU pari a 1500.

  • Il traffico che va da un'istanza all'altra tra una zona di Wavelength e la regione che utilizza un indirizzo IP privato ha un MTU pari a 1300.

Le seguenti regole si applicano alle istanze che si trovano in Outposts:

  • Il traffico che va da un'istanza in Outposts a un'istanza nella regione ha un MTU pari a 1300.

Frame jumbo (9001 MTU)

I frame jumbo consentono più di 1500 byte di dati aumentando la dimensione di payload per pacchetto, aumentando quindi la percentuale del pacchetto che non suppone un sovraccarico del pacchetto. È quindi necessario un numero minore di pacchetti per inviare la stessa quantità di dati utilizzabili. Tuttavia, il traffico è limitato a un MTU massimo di 1500 nei seguenti casi:

  • Traffico su un gateway Internet

  • Traffico su una connessione di peering VPC tra regioni

  • Traffico su connessioni VPN

  • Traffico al di fuori di una determinata AWS regione

Se i pacchetti sono maggiori di 1500 byte, vengono frammentati o interrotti se è impostato il flag Don't Fragment nell'intestazione IP.

I frame jumbo devono essere utilizzati con cautela per il traffico vincolato a Internet o qualsiasi traffico che esca da un VPC. I pacchetti vengono frammentati da sistemi intermedi, i quali rallentano tale traffico. Per utilizzare i frame jumbo all'interno di un VPC e non rallentare il traffico vincolato al di fuori del VPC, puoi configurare la dimensione della MTU in base alla route oppure puoi utilizzare più interfacce di rete elastica con diverse dimensioni dell'MTU e diverse route.

Per le istanze collocate in un gruppo di collocazione cluster, i frame jumbo aiutano a raggiungere il massimo throughput della rete possibile, per cui li consigliamo in questo caso. Per ulteriori informazioni, consulta Gruppi di collocamento.

È possibile utilizzare i frame jumbo per il traffico tra i VPC e le proprie reti locali su AWS Direct Connect. Per ulteriori informazioni e per verificare la funzionalità Jumbo Frame, consulta Impostazioni MTU di rete nella Guida per l'utente di AWS Direct Connect .

Tutti i tipi di istanze Amazon EC2 supportano 1500 MTU e tutti i tipi di istanza della generazione attuale supportano i jumbo frame. I seguenti tipi di istanza della generazione precedente supportano i jumbo frame: A1, C3, I2, M3 e R3.

Per ulteriori informazioni sulle dimensioni delle MTU supportate:

  • Per configurare gateway NAT, consulta Nozioni di base di Gateway NAT nella Guida per l'utente di Amazon VPC.

  • Per i gateway di transito, consulta la pagina MTU nella Guida per l'utente di Amazon VPC Transit Gateway.

  • Per le zone locali, consulta Considerazioni nella Guida per l'utente delle zone locali AWS .

Rilevamento della MTU del percorso

Il rilevamento della MTU del percorso (PMTUD) è utilizzato per determinare la MTU del percorso tra due dispositivi. La MTU del percorso è la dimensione massima del pacchetto che è supportata nel percorso tra l'host di origine e quello ricevente. In presenza di una differenza della dimensione della MTU nella rete tra due host, PMTUD consente all'host ricevente di rispondere all'host di origine con un messaggio ICMP. Questo messaggio ICMP indica all'host di origine di utilizzare la dimensione della MTU più piccola sul percorso di rete per inviare nuovamente la richiesta. Senza questa negoziazione, può verificarsi la perdita del pacchetto perché la richiesta è troppo grande per l'host ricevente.

Per IPv4, se un host invia un pacchetto più grande della MTU dell'host ricevente o della MTU di un dispositivo lungo il percorso, l'host o il dispositivo ricevente rifiuta il pacchetto e restituisce il seguente messaggio ICMP: Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (Tipo 3, Codice 4). Questo indica all'host trasmittente di dividere il payload in più pacchetti più piccoli e quindi di trasmetterli di nuovo.

Il protocollo IPv6 non supporta la frammentazione nella rete. Se un host invia un pacchetto più grande della MTU dell'host ricevente o della MTU di un dispositivo lungo il percorso, l'host o il dispositivo ricevente elimina il pacchetto e restituisce il seguente messaggio ICMP: ICMPv6 Packet Too Big (PTB) (Tipo 2). Questo indica all'host trasmittente di dividere il carico in più pacchetti più piccoli e quindi di trasmetterli di nuovo.

Le connessioni effettuate tramite alcuni componenti, come i gateway NAT e i sistemi di bilanciamento del carico, sono monitorati automaticamente. Ciò significa che il monitoraggio dei gruppi di sicurezza viene abilitato automaticamente per i tentativi di connessione in uscita. Se le connessioni vengono monitorate automaticamente o se le regole del gruppo di sicurezza consentono il traffico ICMP in entrata, puoi ricevere risposte PMTUD.

Tieni presente che il traffico ICMP può essere bloccato anche se è consentito a livello di gruppo di sicurezza, ad esempio se hai una voce della lista di controllo degli accessi alla rete che nega il traffico ICMP alla sottorete.

Importante

Il rilevamento della MTU del percorso non garantisce che i frame jumbo non vengano interrotti da alcuni router. Un Internet gateway nel tuo VPC invia pacchetti fino a soli 1500 byte. Consigliamo pacchetti di 1500 MTU per il traffico Internet.

Verifica della MTU del percorso tra due host

Puoi controllare il percorso MTU tra l'istanza EC2 e un altro host. È possibile specificare un nome DNS o un indirizzo IP come destinazione. Se la destinazione è un'altra istanza EC2, verifica che il relativo gruppo di sicurezza consenta il traffico UDP in entrata.

La procedura da utilizzare dipende dal sistema operativo dell'istanza.

Esegui il tracepath comando sull'istanza per verificare il percorso MTU tra l'istanza EC2 e la destinazione specificata. Questo comando fa parte del iputils pacchetto, disponibile per impostazione predefinita in molte distribuzioni Linux.

Questo esempio controlla il percorso MTU tra l'istanza EC2 e. amazon.com

[ec2-user ~]$ tracepath amazon.com

In questo output di esempio, il percorso MTU è 1500.

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
Per controllare il percorso MTU usando mturoute
  1. Scaricalo sulla tua mturoute.exe istanza EC2 da http://www.elifulkerson.com/projects/mturoute.php.

  2. Aprire una finestra del prompt dei comandi e passare alla directory in cui è stato scaricato mturoute.exe.

  3. Utilizza il seguente comando per verificare il percorso MTU tra l'istanza EC2 e la destinazione specificata. Questo esempio controlla il percorso MTU tra l'istanza EC2 e. www.elifulkerson.com

    .\mturoute.exe www.elifulkerson.com

    In questo output di esempio, il percorso MTU è 1500.

    * ICMP Fragmentation is not permitted. * * Speed optimization is enabled. * * Maximum payload is 10000 bytes. * + ICMP payload of 1472 bytes succeeded. - ICMP payload of 1473 bytes is too big. Path MTU: 1500 bytes.

Controlla l'MTU per la tua istanza

Puoi controllare il valore MTU per la tua istanza. Alcune istanze sono configurate per l'utilizzo di frame jumbo, mentre altre sono configurate per l'utilizzo di dimensioni di frame standard.

La procedura da utilizzare dipende dal sistema operativo dell'istanza.

Verifica dell'impostazione della MTU su un'istanza Linux

Esegui il ip comando seguente sulla tua istanza EC2. Se l'interfaccia di rete principale non lo èeth0, sostituiscila eth0 con la tua interfaccia di rete.

[ec2-user ~]$ ip link show eth0

In questo output di esempio, mtu 9001 indica che l'istanza utilizza i jumbo frame.

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

La procedura da utilizzare dipende dal driver dell'istanza.

ENA driver
Versione 2.1.0 e successive

Per ottenere il valore MTU, usa il seguente Get-NetAdapterAdvancedProperty comando sulla tua istanza EC2. Usa la wildcard (asterisco) per ottenere tutti i nomi Ethernet. Controllate l'output per il nome dell'interfaccia. *JumboPacket Un valore di 9015 indica che i frame jumbo sono abilitati. I frame jumbo sono disabilitati per impostazione predefinita.

Get-NetAdapterAdvancedProperty -Name "Ethernet*"
Versione 1.5 e precedenti

Per ottenere il valore MTU, usa il seguente Get-NetAdapterAdvancedProperty comando sulla tua istanza EC2. Controlla l'output per il nome dell'interfaccia. MTU Un valore di 9001 indica che i frame jumbo sono abilitati. I frame jumbo sono disabilitati per impostazione predefinita.

Get-NetAdapterAdvancedProperty -Name "Ethernet"
Intel SRIOV 82599 driver

Per ottenere il valore MTU, usa il seguente Get-NetAdapterAdvancedProperty comando sulla tua istanza EC2. Verificare la voce del nome dell'interfaccia *JumboPacket. Un valore di 9014 indica che i frame jumbo sono abilitati. Tieni presente che la dimensione della MTU include l'intestazione e il payload. I frame jumbo sono disabilitati per impostazione predefinita.

Get-NetAdapterAdvancedProperty -Name "Ethernet"
AWS PV driver

Per ottenere il valore MTU, usa il seguente comando sulla tua istanza EC2. Il nome dell'interfaccia può variare. Nell'output, cercare una voce denominata "Ethernet", "Ethernet 2" o "Local Area Connection". Il nome dell'interfaccia sarà necessario per abilitare o disabilitare i frame jumbo. Un valore di 9001 indica che i frame jumbo sono abilitati.

netsh interface ipv4 show subinterface

Imposta l'MTU per la tua istanza

Potresti voler utilizzare i frame jumbo per il traffico di rete all'interno del tuo VPC e i frame standard per il traffico Internet. Qualunque sia il tuo caso d'uso, ti consigliamo di verificare che l'istanza si comporti come previsto.

La procedura da utilizzare dipende dal sistema operativo dell'istanza.

Impostazione del valore della MTU su un'istanza Linux
  1. Esegui il ip comando seguente sulla tua istanza. Imposta il valore MTU desiderato su 1500, ma puoi invece usare 9001.

    [ec2-user ~]$ sudo ip link set dev eth0 mtu 1500
  2. (Opzionale) Per mantenere l'impostazione della MTU della rete dopo un riavvio, modificare i file di configurazione seguenti, in base al tipo di sistema operativo.

    • Nel caso di Amazon Linux 2, aggiungere la seguente riga al file /etc/sysconfig/network-scripts/ifcfg-eth0:

      MTU=1500

      Aggiungere la seguente riga al file /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;
    • Per l'AMI Amazon Linux, aggiungi le seguenti righe al tuo /etc/dhcp/dhclient-eth0.conf file.

      interface "eth0" { supersede interface-mtu 1500; }
    • Per altre distribuzioni di Linux, consultare la documentazione specifica.

  3. (Opzionale) Riavviare l'istanza e verificare che l'impostazione della MTU sia corretta.

La procedura da utilizzare dipende dal driver dell'istanza.

ENA driver

È possibile modificare l'MTU utilizzando Device Manager o il Set-NetAdapterAdvancedProperty comando sull'istanza.

Versione 2.1.0 e successive

Utilizzate il seguente comando per abilitare i frame jumbo.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9015

Utilizzate il seguente comando per disabilitare i frame jumbo.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514
Versione 1.5 e precedenti

Utilizzate il seguente comando per abilitare i frame jumbo.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 9001

Utilizzate il seguente comando per disabilitare i frame jumbo.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 1500
Intel SRIOV 82599 driver

È possibile modificare l'MTU utilizzando Device Manager o il Set-NetAdapterAdvancedProperty comando sull'istanza.

Utilizzate il seguente comando per abilitare i jumbo frame.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9014

Utilizzate il seguente comando per disabilitare i frame jumbo.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514
AWS PV driver

È possibile modificare l'MTU utilizzando il netsh comando sulla tua istanza. Non è possibile modificare l'MTU utilizzando Device Manager.

Utilizzate il seguente comando per abilitare i jumbo frame.

netsh interface ipv4 set subinterface "Ethernet" mtu=9001

Utilizzate il seguente comando per disabilitare i frame jumbo.

netsh interface ipv4 set subinterface "Ethernet" mtu=1500

Risoluzione dei problemi

Se riscontri problemi di connettività tra la tua istanza EC2 e un cluster Amazon Redshift quando usi i jumbo frame, consulta Queries Appear to Hang nella Amazon Redshift Management Guide.