Unità massima di trasmissione
L'unità massima di trasmissione (MTU) è la dimensione in byte del pacchetto IP più grande possibile, incluse le intestazioni IP, le intestazioni del protocollo di livello 4 e i dati di livello 4, che può essere inserito in un frame Ethernet.
Dimensioni MTU della rete VPC valide
Le reti Virtual Private Cloud (VPC) utilizzano una MTU predefinita di 1460 byte. Puoi impostare l'MTU di una rete VPC su qualsiasi valore compreso tra 1300 byte e 8896 byte (inclusi). Le dimensioni MTU personalizzate più comuni sono 1500 byte (Ethernet standard) o 8896 byte (il massimo possibile). Ti consigliamo di configurare la MTU per ogni interfaccia di rete (NIC) dell'istanza Compute Engine in modo che corrisponda alla MTU della rete VPC a cui è connessa. Per saperne di più, consulta Istanze di computing e impostazioni MTU.
Comunicazione tra istanze di computing all'interno delle reti VPC
I pacchetti IP fino alla dimensione MTU possono essere inviati tra due istanze di computing se si applicano le seguenti condizioni:
- Sia l'istanza di invio che quella di ricezione utilizzano la stessa rete VPC o reti VPC in peering con MTU identiche.
- Le interfacce di entrambe le istanze sono configurate per utilizzare la MTU della rete VPC.
Per evitare problemi di mancata corrispondenza della MTU, ti consigliamo di utilizzare la stessa MTU per tutte le reti VPC connesse. Anche se questa è la pratica consigliata, non è obbligatorio configurare MTU identiche sulle reti VPC connesse. Per informazioni dettagliate su come i protocolli gestiscono le situazioni in cui esiste una mancata corrispondenza della MTU tra le reti VPC, consulta MTU non corrispondenti, clamping MSS, rilevamento MTU del percorso.
Dal punto di vista di un'istanza di invio, i percorsi verso le seguenti destinazioni rappresentano il traffico tra istanze instradato all'interno di una rete VPC:
- Un indirizzo IPv4 interno regionale in un intervallo di indirizzi IPv4 principale o secondario della subnet, inclusi gli intervalli di indirizzi IPv4 privati e gli intervalli di indirizzi IPv4 pubblici utilizzati privatamente, utilizzati da queste risorse di destinazione:
- L'indirizzo IPv4 interno principale dell'interfaccia di rete (NIC) dell'istanza di ricezione.
- Un indirizzo IPv4 interno in un intervallo IP alias della NIC di un'istanza di ricezione.
- Un indirizzo IPv4 interno di una regola di forwarding interna per il forwarding del protocollo o per un bilanciatore del carico di rete passthrough interno.
- Intervalli di indirizzi di subnet IPv6 interni utilizzati da queste risorse di destinazione:
- Un indirizzo IPv6 dall'intervallo di indirizzi IPv6
/96assegnato alla NIC di un'istanza di ricezione. - Un indirizzo IPv6 dell'intervallo di indirizzi IPv6
/96di una regola di forwarding interna per il forwarding del protocollo o per un bilanciatore del carico di rete passthrough interno.
- Un indirizzo IPv6 dall'intervallo di indirizzi IPv6
- Intervalli di indirizzi di subnet IPv6 esterni utilizzati da queste risorse di destinazione quando i pacchetti vengono instradati utilizzando route di subnet o route di subnet di peering all'interno della rete VPC:
- Un indirizzo IPv6 dall'intervallo di indirizzi IPv6
/96assegnato alla NIC di un'istanza di ricezione. - Un indirizzo IPv6 dell'intervallo di indirizzi IPv6
/96di una regola di forwarding esterna per il forwarding del protocollo o per un bilanciatore del carico di rete passthrough esterno regionale.
- Un indirizzo IPv6 dall'intervallo di indirizzi IPv6
I seguenti percorsi da istanza a istanza vengono trattati allo stesso modo della comunicazione con destinazioni esterne a una rete VPC:
- Se la destinazione del pacchetto è un indirizzo IPv4 esterno della NIC di un'istanza di ricezione.
- Se la destinazione del pacchetto è un indirizzo IPv4 esterno di un bilanciatore del carico di rete passthrough esterno regionale.
- Se la destinazione del pacchetto è un indirizzo IPv4 esterno di una regola di forwarding per il forwarding del protocollo
- Se la destinazione del pacchetto è un indirizzo IPv6 esterno della NIC di un'istanza, di un bilanciatore del carico di rete passthrough esterno regionale o di una regola di forwarding per il forwarding del protocollo esterno e la route applicabile nella rete VPC utilizza un hop successivo del gateway internet predefinito. In questo scenario, le istanze di ricezione non si trovano né nella stessa rete VPC dell'istanza di invio né in una rete VPC connessa alla rete VPC dell'istanza di invio tramite il peering di rete VPC.
Comunicazione con destinazioni esterne a una rete VPC
Google Cloud elabora i pacchetti inviati dalle istanze di computing a destinazioni esterne alla rete VPC dell'istanza di invio, come mostrato nella tabella seguente. Le destinazioni esterne alla rete VPC di un'istanza di invio includono indirizzi IP instradabili pubblicamente per risorse esterne aGoogle Cloud e indirizzi IP esterni utilizzabili dai clienti all'interno di Google Cloud.
Poiché internet utilizza generalmente una MTU di 1500 byte, mantenere le dimensioni dei pacchetti IP su un massimo di 1500 byte di solito evita la perdita di pacchetti correlata alla MTU.
| Situazione | Comportamento |
|---|---|
| Pacchetti TCP SYN e SYN-ACK | Google Cloud esegue il clamping MSS, se necessario, modificando l'MSS per garantire che i pacchetti rientrino nell'MTU. |
| MTU del pacchetto IP compresa tra 1300 byte e 1600 byte (inclusi) | Google Cloud non apporta modifiche al pacchetto, ad eccezione dei pacchetti SYN e SYN-ACK, come descritto nella prima riga. |
| Pacchetto IP di dimensioni superiori a 1600 byte | Google Cloud elimina il pacchetto e invia un messaggio Fragmentation Needed (ICMP su IPv4) o Packet Too Big (ICMPv6) sia quando il bit DF è attivo sia quando è disattivato. |
Comunicazione con API di Google e servizi Google
Le istanze di computing che utilizzano qualsiasi dimensione MTU di rete VPC valida possono inviare pacchetti alle API e ai servizi Google, anche utilizzando l'accesso privato Google e Private Service Connect per le API di Google. I dettagli in questa sezione si applicano anche alle risorse on-premise che inviano pacchetti alle API di Google e ai servizi Google utilizzando l'accesso privato Google per gli host on-premise.
Il percorso del traffico verso le API di Google e i servizi Google descritto in questa sezione è implementato da Google Front End (GFE). Questi GFE utilizzano MTU fisse non configurabili. Il traffico da Google Cloud alle API e ai servizi Google utilizza sempre il protocollo TCP: se un'istanza di computing si connette alle API e ai servizi Google da una rete VPC la cui MTU non corrisponde alla MTU del GFE, la dimensione del segmento viene negoziata utilizzando l'annuncio TCP MSS, come descritto in MTU non corrispondenti, blocco MSS, rilevamento MTU del percorso.
| Origine del pacchetto | Destinazione del pacchetto |
|---|---|
Qualsiasi indirizzo IPv4 interno: indirizzo IPv4 interno principale o indirizzo IPv4 interno da un intervallo IP alias della NIC dell'istanza Un indirizzo IPv4 esterno assegnato alla NIC dell'istanza utilizzando una configurazione di accesso NAT 1:1: in questo caso, Google Cloud esegue il NAT 1:1 sul traffico in uscita, convertendo un indirizzo IPv4 interno principale di origine in un indirizzo IPv4 esterno di origine specificato nella configurazione di accesso. |
|
| Indirizzo IPv6 esterno o interno per istanze a doppio stack o solo IPv6 |
|
Comunicazione tramite tunnel Cloud VPN
Cloud VPN ha sia una MTU del gateway per i pacchetti incapsulati sia una MTU del payload per i pacchetti prima e dopo l'incapsulamento.
Per i valori MTU esatti del payload e altre informazioni sull'MTU di Cloud VPN, consulta Considerazioni sull'MTU nella documentazione di Cloud VPN.
Comunicazione tramite collegamenti Cloud Interconnect (VLAN)
Ti consigliamo di utilizzare la stessa MTU per tutti i collegamenti VLAN connessi alla stessa rete VPC e di impostare la MTU della rete VPC sullo stesso valore. Per informazioni dettagliate sulle MTU collegamento VLAN di Cloud Interconnect, consulta MTU di Cloud Interconnect.
Comunicazione tramite endpoint firewall
Se utilizzi gli endpoint firewall, configura una MTU appropriata per la tua rete VPC. Se l'impostazione MTU della tua rete VPC supera le dimensioni dei pacchetti supportate dall'endpoint firewall, Cloud Next Generation Firewall non può eseguire correttamente l'ispezione di livello 7. Per saperne di più, consulta Dimensioni dei pacchetti supportate.
Supporto dei frame jumbo
I frame jumbo hanno un payload di dimensioni superiori a 1460 byte. La tabella seguente riassume il supporto dei frame jumbo per i prodotti e le funzionalità Google Cloud :
| Prodotto o funzionalità | Supporto dei frame jumbo |
|---|---|
| Compute Engine | Sì |
| Cloud Interconnect | Sì |
| Endpoint del firewall | Sì |
| Cloud VPN | No |
| API di Google | No |
Istanze di computing e impostazioni MTU
Come best practice, abbina l'MTU della NIC di un'istanza di computing all'MTU della rete VPC a cui è connessa la NIC. La configurazione della MTU della NIC varia in base al sistema operativo e alla configurazione:
Istanze Linux basate su un'immagine sistema operativo pubblica: l'MTU di ogni NIC viene impostata automaticamente sull'MTU della rete VPC corrispondente utilizzando l'opzione DHCP 26.
Istanze Windows basate su un'immagine sistema operativo pubblica: per impostazione predefinita, ogni MTU della NIC è configurata con una MTU fissa di
1,460byte. Se modifichi l'MTU di una rete VPC che contiene istanze Windows basate su immagini sistema operativo pubbliche, devi modificare l'impostazione MTU delle istanze Windows.Immagini sistema operativo guest personalizzate: devi configurare le MTU delle NIC o verificare che il sistema operativo guest accetti l'MTU della rete VPC utilizzando l'opzione DHCP 26.
Istanze con più interfacce di rete: imposta la MTU di ogni NIC sulla MTU della rispettiva rete VPC.
Se la MTU della NIC deve essere diversa dalla MTU della rete VPC, imposta la MTU della NIC su un valore inferiore alla MTU della rete VPC. La riduzione forzata della MTU della NIC è vantaggiosa per alcuni scenari di networking avanzati.
Modifica della MTU di una rete VPC
Per evitare problemi di connettività, prima di modificare l'MTU della rete VPC, devi arrestare ogni istanza di computing. Il riavvio di un'istanza dal suo sistema operativo guest non aggiorna la MTU. Se scegli di configurare le istanze con una MTU inferiore a quella della rete, il requisito di arrestare l'istanza prima di modificare la MTU rimane valido.
Per saperne di più sulla modifica della MTU di rete, consulta Modifica l'impostazione MTU di una rete VPC.
Impostazioni GKE e MTU
L'MTU selezionata per un'interfaccia pod dipende dalla Container Network Interface (CNI) utilizzata dai nodi del cluster e dall'impostazione dell'MTU del VPC sottostante. Per saperne di più, consulta Pod.
Il valore MTU dell'interfaccia del pod è 1460 o viene ereditato dall'interfaccia principale del nodo.
| CNI | MTU | GKE Standard |
|---|---|---|
| kubenet | 1460 | Predefinito |
|
kubenet (GKE versione 1.26.1 e successive) |
Ereditato | Predefinito |
| Calico | 1460 |
Attivata utilizzando Per maggiori dettagli, consulta Controlla la comunicazione tra pod e servizi utilizzando le policy di rete. |
| netd | Ereditato | Attivata utilizzando una delle seguenti opzioni: |
| GKE Dataplane V2 | Ereditato |
Attivata utilizzando Per maggiori dettagli, consulta Utilizzo di GKE Dataplane V2. |
MTU non corrispondenti, MSS clamping, Path MTU Discovery
Questa sezione descrive in che modo i protocolli TCP e non TCP gestiscono le MTU non corrispondenti.Protocollo TCP
Il protocollo TCP gestisce automaticamente le mancate corrispondenze della MTU. Sia il client che il server calcolano individualmente i propri valori di dimensione massima del segmento (MSS) TCP effettivi ogni volta che viene aperta una connessione TCP. Il client e il server non devono concordare un valore MSS effettivo identico.
Dimensione massima effettiva del segmento (MSS) TCP del client: la quantità massima di dati trasmissibili in un segmento TCP inviato da un client a un server è il minimo dei seguenti due valori:
Il valore del campo MSS nel pacchetto SYN-ACK ricevuto dal client dal server durante la creazione della connessione TCP.
La MTU dell'interfaccia di rete del client, meno 40 byte. I 40 byte sottratti includono 20 byte per l'intestazione IP e 20 byte per l'intestazione TCP di base.
Dimensione massima effettiva del segmento (MSS) TCP del server: la quantità massima di dati trasmissibili in un segmento TCP inviato da un server a un client è il minimo dei seguenti due valori:
Il valore del campo MSS nel pacchetto SYN ricevuto dal server dal client durante la creazione della connessione TCP.
L'MTU dell'interfaccia di rete del server, meno 40 byte. I 40 byte sottratti includono 20 byte per l'intestazione IP e 20 byte per l'intestazione TCP di base.
TCP MSS clamping
Il blocco TCP MSS è un processo in cui un dispositivo di rete tra un client e un server modifica i valori MSS nei pacchetti SYN e SYN-ACK mentre instrada i pacchetti tra il client e il server. Google Cloud utilizza il blocco MSS ogni volta che invia pacchetti a destinazioni esterne a una rete VPC.
Anche i tunnel Cloud VPN e i collegamenti VLAN di Cloud Interconnect utilizzano il clamping MSS. Per saperne di più, consulta Incapsulamento ed elaborazione dei pacchetti nella documentazione di Cloud VPN e MTU di Cloud Interconnect.
Le reti VPC non eseguono il clamping MSS per i pacchetti instradati dagli hop successivi all'interno di una rete VPC perché il protocollo TCP stesso è sufficiente.
Protocolli non TCP
Altri protocolli, come UDP, richiedono un'attenzione particolare quando sono coinvolte due MTU di rete VPC diverse. È responsabilità di un sistema di invio emettere pacchetti che rientrino nell'MTU della sua interfaccia di rete, nell'MTU dell'interfaccia di rete del sistema di ricezione e nell'MTU di tutte le reti intermedie. Google Cloud non esegue la frammentazione IP per i pacchetti instradati dagli hop successivi all'interno di una rete VPC.
Quando un pacchetto IP è troppo grande per essere consegnato, ad esempio quando supera l'MTU della rete VPC in cui si trova la NIC dell'istanza di computing di ricezione, Google Cloud elimina il pacchetto. Se il pacchetto ha il bit DF impostato, Google Cloud invia anche un messaggio Fragmentation Needed (ICMP su IPv4) o Packet Too Big (ICMPv6) al mittente.
Google Cloud invia un messaggio Frammentazione necessaria o Pacchetto troppo grande nelle seguenti circostanze, anche quando un bit DF è disattivato:
- Se l'MTU della rete VPC è inferiore a 1600 byte e il pacchetto inviato supera i 1600 byte.
- Se l'MTU della rete VPC è di almeno 1600 byte e il pacchetto inviato supera l'MTU della rete VPC.
I messaggi ICMP Fragmentation Needed o Packet Too Big sono necessari per un'istanza di computing che invia pacchetti per utilizzare il rilevamento MTU del percorso (PMTUD). Per illustrare il funzionamento di PMTUD, considera il seguente esempio con due istanze di computing in reti VPC diverse connesse tramite peering di rete VPC:
- L'istanza di invio ha una NIC in una rete VPC con un'MTU di 8896 byte.
- L'istanza di ricezione ha un NIC in una rete VPC con MTU di 1460 byte.
- L'istanza di invio emette un pacchetto IP di 8000 byte con il bit Don't Fragment (
DF) impostato. Poiché il pacchetto è troppo grande per essere recapitato all'istanza di ricezione, Google Cloud invia un messaggio Frammentazione richiesta o Pacchetto troppo grande all'istanza di invio. Questo messaggio indica la dimensione massima possibile del pacchetto IP che il mittente può utilizzare quando tenta di ritrasmettere i pacchetti per la connessione. - Il sistema operativo dell'istanza di invio utilizza queste informazioni per ridurre le dimensioni del pacchetto IP durante l'invio dei pacchetti successivi all'istanza di ricezione.
PMTUD ha i seguenti requisiti aggiuntivi perché i pacchetti Frammentazione necessaria o Pacchetto troppo grande generati da PMTUD utilizzano il protocollo ICMP e hanno origini che corrispondono alla destinazione di un pacchetto originale:
- Devi configurare regole firewall VPC o regole nelle policy del firewall di autorizzazione in entrata in modo che ICMP (per IPv4) o ICMPv6 (per IPv6) siano consentiti da origini che corrispondono alle destinazioni dei pacchetti originali. Per semplificare la configurazione del firewall, valuta la possibilità di consentire ICMP e ICMPv6 da tutte le origini.
- Le regole di forwarding per il bilanciatore del carico di rete passthrough interno e il forwarding del protocollo interno devono
utilizzare il protocollo
L3_DEFAULTin modo da elaborare sia ICMP per PMTUD sia il protocollo utilizzato dal pacchetto originale.
Passaggi successivi
- Per vedere come funziona una MTU diversa, consulta Crea e verifica una rete MTU con frame jumbo.
- Crea una rete VPC con una MTU specificata.
- Modifica l'impostazione MTU di una rete VPC.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di VPC in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
Prova VPC senza costi