Unità massima di trasmissione

L'unità massima di trasmissione (MTU) è la dimensione in byte del pacchetto IP più grande possibile, Intestazioni IP, intestazioni di protocollo di livello 4 e dati di livello 4, che possono essere inseriti in un frame Ethernet.

Dimensioni di MTU della rete VPC valide

Le reti Virtual Private Cloud (VPC) utilizzano una MTU predefinita di 1460 byte. Puoi Impostare la 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) o 8896 byte (il massimo possibile). Google consiglia di configurare la MTU per ciascuna interfaccia di rete (NIC) dell'istanza di macchina virtuale (VM) in modo che alla MTU della rete VPC a cui è connesso. Per ulteriori informazioni consulta le impostazioni di VM e MTU.

Comunicazione tra le VM Google Cloud all'interno delle reti VPC

Durante l'invio e la ricezione delle VM, utilizza la stessa rete VPC reti VPC in peering che hanno lo stesso o MTU, ovvero pacchetti IP fino alla dimensione delle MTU che possono essere inviati tra le due VM, se per entrambe le VM siano configurate per utilizzare la rete VPC MTU

Per evitare problemi di mancata corrispondenza della MTU, Google consiglia di utilizzare la stessa MTU per da tutte le tue reti VPC connesse. Sebbene questa sia la non sei obbligato ad avere MTU identiche tra i reti VPC. Per maggiori dettagli su come i protocolli gestiscono le situazioni in cui esiste una mancata corrispondenza della MTU tra le reti VPC, consulta MTU non corrispondenti, blocco MSS, rilevamento MTU del percorso.

Dal punto di vista di una VM di invio, i percorsi delle seguenti destinazioni rappresenta il traffico da VM a VM instradato all'interno di una rete VPC:

  • Un indirizzo IPv4 interno a livello di regione in un IPv4 o subnet principale della subnet di indirizzi IPv4 secondari, tra cui intervalli di indirizzi IPv4 privati e intervalli di indirizzi IPv4 pubblici utilizzati privatamente, utilizzati da queste risorse di destinazione:
      .
    • L'indirizzo IPv4 interno principale dell'interfaccia di rete di una VM ricevente (NIC).
    • Un indirizzo IPv4 interno in un intervallo IP alias del NIC di una VM ricevente.
    • Un indirizzo IPv4 interno di una regola di forwarding interno per entrambi i protocolli 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 /96 assegnato a uno stack doppio che riceve il NIC della VM.
    • Un indirizzo IPv6 compreso nell'intervallo di indirizzi IPv6 /96 di un inoltro interno per il forwarding del protocollo o un bilanciatore del carico di rete passthrough interno.
  • Intervalli di indirizzi di subnet IPv6 esterni utilizzati da queste risorse di destinazione quando i pacchetti vengono instradati tramite route di subnet route di subnet di peering all'interno della rete VPC:
    • Un indirizzo IPv6 dall'intervallo di indirizzi IPv6 /96 assegnato a uno stack doppio che riceve il NIC della VM.
    • Un indirizzo IPv6 dall'intervallo di indirizzi IPv6 /96 di un inoltro esterno per il forwarding del protocollo o per un bilanciatore del carico di rete passthrough esterno.

I seguenti percorsi da VM a VM vengono trattati allo stesso modo dei percorsi Comunicazione a destinazioni al di fuori di una rete VPC:

  • Se la destinazione del pacchetto è un indirizzo IPv4 esterno di un NIC della VM Google Cloud.
  • Se la destinazione del pacchetto è un indirizzo IPv4 esterno di bilanciatore del carico di rete passthrough esterno.
  • 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 di un Google Cloud NIC della VM, bilanciatore del carico di rete passthrough esterno o regola di forwarding per il protocollo esterno il forwarding e la route applicabile nella rete VPC utilizza e l'hop successivo del gateway internet predefinito. In questo scenario, le VM riceventi non sono nella stessa rete VPC della VM di invio Rete VPC connessa al VPC della VM di invio utilizzando il peering di rete VPC.

Comunicazione con destinazioni esterne a una rete VPC

Google Cloud elabora i pacchetti inviati alle destinazioni al di fuori dell'area di invio Rete VPC della VM come mostrato nella tabella seguente. Le destinazioni al di fuori della rete VPC di una VM di invio includono gli indirizzi IP instradabili pubblicamente per le risorse esterne a Google Cloud indirizzi IP esterni utilizzabili dal cliente all'interno in Google Cloud.

Poiché internet in genere utilizza una MTU di 1500 byte, mantenendo le dimensioni del pacchetto IP a 1500 byte o meno di solito evita la perdita di pacchetti relativa alla MTU.

Situazione Comportamento
Pacchetti SYN e SYN-ACK TCP Google Cloud esegue il blocco MSS se necessario, modificando MSS per garantire che i pacchetti rientrino nella MTU.
MTU del pacchetto IP compreso tra 1300 e 1600 byte (inclusi) Google Cloud non apporta modifiche al pacchetto, ad eccezione di SYN e SYN-ACK, come discusso nella prima riga.
Un pacchetto IP più grande di 1600 byte Google Cloud elimina il pacchetto e invia una Fragmentazione richiesta (ICMP su IPv4) o Packet Too Big (ICMPv6) sia quando il bit DF sia quando il bit DF è spento.

Comunicazione con le API e i servizi Google

Le VM che utilizzano qualsiasi dimensione MTU della rete VPC valida possono inviare pacchetti le API e i servizi Google, incluso l'uso Accesso privato Google e Private Service Connect per Google di terze parti. I dettagli in questo si applica anche alle risorse on-premise che inviano pacchetti alle API di Google e utilizzando l'accesso privato Google per gli host on-premise host.

Il percorso del traffico verso le API e i servizi Google descritto in questa sezione è implementati dai Google Front End (GFE). Questi GFE utilizzano componenti non configurabili, MTU. Il traffico da Google Cloud alle API e ai servizi Google utilizza sempre Il protocollo TCP: se una VM 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 usando la pubblicità MSS TCP come descritto MTU non corrispondenti, blocco MSS, rilevamento MTU del percorso.

Origine pacchetto Destinazione pacchetto

Qualsiasi indirizzo IPv4 interno: indirizzo IPv4 interno principale o indirizzo IPv4 interno da un intervallo IP alias del NIC della VM

Un indirizzo IPv4 esterno assegnato al NIC della VM tramite un accesso NAT 1-1 config: in questa situazione, Google Cloud esegue 1-1 NAT sul traffico in uscita conversione di un indirizzo IPv4 interno principale di origine originale in un indirizzo IPv4 interno di origine Indirizzo IPv4 esterno specificato nella configurazione dell'accesso.

  • gli indirizzi IPv4 delle API e dei servizi Google per domini predefiniti
  • 199.36.153.4/30 (restricted.googleapis.com)
  • 199.36.153.8/30 (private.googleapis.com)
  • Endpoint Private Service Connect per API di Google e servizi
Indirizzo IPv6 esterno o interno, per VM a doppio stack
  • gli indirizzi IPv6 delle API e dei servizi Google per domini predefiniti
  • 2600:2d00:0002:1000::/64 (restricted.googleapis.com)
  • 2600:2d00:0002:2000::/64 (private.googleapis.com)

Comunicazione tramite i tunnel Cloud VPN

Cloud VPN ha sia una MTU gateway per i pacchetti incapsulati, payload MTU per i pacchetti prima e dopo l'incapsulamento.

Per valori precisi di MTU del payload e altre informazioni sulla MTU di Cloud VPN, consulta Considerazioni sulle MTU nella documentazione di Cloud VPN.

Comunicazione tramite collegamenti di Cloud Interconnect (VLAN)

Google consiglia di utilizzare la stessa MTU per tutti i collegamenti VLAN connesso alla stessa rete VPC e che tu imposti la MTU la rete VPC allo stesso valore. Per maggiori dettagli su MTU per il collegamento VLAN di Cloud Interconnect, consulta Cloud Interconnect MTU.

Supporto per Jumbo frame

La tabella seguente riassume il supporto di jumbo frame tra Google Cloud prodotti e funzionalità:

Prodotto o funzionalità Supporto per Jumbo frame
Compute Engine
Cloud Interconnect
Cloud VPN No
Servizi supportati dalle API di Google No

Impostazioni di VM e MTU

Come best practice, associa la MTU del NIC di una VM alla MTU del VPC rete alla quale è connesso il NIC:

  • Ogni MTU del NIC per una VM Linux basata su un sistema operativo fornito da Google immagine viene impostata automaticamente sulla rispettiva MTU della rete VPC utilizzando l'opzione 26 DHCP.

  • Ogni MTU del NIC per una VM Windows basata su un sistema operativo fornito da Google image è configurata con una MTU fissa di 1,460 byte. Se modifichi la MTU di una rete VPC che contiene VM Windows basate su immagini del sistema operativo fornite da Google: devi modificare la MTU per la VM Windows.

  • Se utilizzi immagini del sistema operativo guest personalizzate, devi configurare il NIC o verificare che il sistema operativo guest accetti la rete VPC MTU utilizzando l'opzione 26 del protocollo DHCP.

  • Se una VM ha più reti di rete, imposta ogni MTU del NIC su alla rispettiva MTU della rete VPC.

  • Se una MTU del NIC deve essere diversa dalla MTU della rete VPC, imposta il valore MTU NIC inferiore a quella della rete VPC. Forzata la riduzione della MTU del NIC è vantaggiosa per alcune funzionalità di networking avanzate diversi scenari.

Modifica della MTU di una rete VPC

Se modifichi la MTU di una rete VPC con VM in esecuzione, mantieni le seguenti considerazioni:

  • Se riduci l'MTU della rete VPC, devi interrompere e avviare ogni VM. Il riavvio di una VM dal sistema operativo guest non ne aggiorna la MTU

  • Se aumenti la MTU della rete VPC, esegui le VM utilizzando La rete VPC non trarrà vantaggio dall'aumento fino all'arresto e all'avvio delle VM. Fino a quando ogni VM non viene arrestata e riavviata, continua a utilizzare valore MTU precedente (inferiore).

Per istruzioni, consulta Modifica dell'impostazione della MTU di un VPC Google Cloud.

Impostazioni di GKE e MTU

La MTU selezionata per l'interfaccia di un pod dipende dalla rete di container Interfaccia (CNI) utilizzata dai nodi del cluster e dall'impostazione MTU VPC sottostante. Per ulteriori informazioni, vedi Pod.

Il valore MTU dell'interfaccia del pod è 1460 o ereditato dall'istanza principale all'interfaccia del Nodo.

CNI MTU GKE Standard
Kubernetes 1460 Predefinito
kubenet
(GKE 1.26.1 e versioni successive)
Ereditato Predefinito
Calico 1460

Attivazione tramite --enable-network-policy.

Per maggiori dettagli, vedi Controllare la comunicazione tra pod e servizi tramite criteri di rete.

netd Ereditato Attivata tramite uno dei seguenti elementi:
GKE Dataplane V2 Ereditato

Attivazione tramite --enable-dataplane-v2.

Per maggiori dettagli, consulta Utilizzo di GKE Dataplane V2.

MTU non corrispondenti, blocco MSS, rilevamento MTU del percorso

Questa sezione descrive come le connessioni TCP e i protocolli non TCP gestiscono MTU non corrispondenti.

protocollo TCP

Il protocollo TCP gestisce automaticamente le corrispondenze errate delle MTU. Sia il client che Calcolare singolarmente la dimensione massima del segmento (MSS) TCP effettiva ogni volta che si apre una connessione TCP. Il client e il server non devono necessariamente concordano su un valore MSS effettivo identico.

  • Dimensione massima del segmento (MSS) TCP effettiva del client: la quantità maggiore di dati trasmissibili in un segmento TCP inviato da un client a un server è la minimum dei due seguenti 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. Il valore 40 byte include 20 byte per l'intestazione IP e 20 byte per la base o intestazione TCP.

  • Dimensione massima del segmento (MSS) TCP effettiva del server: la dimensione di dati trasmissibili in un segmento TCP inviato da un server a un client è il minimo dei due valori seguenti:

    • Il valore del campo MSS nel pacchetto SYN ricevuto dal server da al client durante la creazione della connessione TCP.

    • La MTU dell'interfaccia di rete del server, meno 40 byte. Il valore 40 byte include 20 byte per l'intestazione IP e 20 byte per la base o intestazione TCP.

Blocco TCP MSS

Il blocco MSS TCP è un processo in cui un dispositivo di rete tra un client e un server cambia i valori MSS nei pacchetti SYN e SYN-ACK mentre instrada i pacchetti tra il client e il server. Google Cloud utilizza il clamping MSS ogni volta che invia pacchetti a destinazioni esterne a un VPC Google Cloud.

Anche i tunnel Cloud VPN e i collegamenti VLAN di Cloud Interconnect con il blocco MSS. Per ulteriori informazioni, consulta la sezione Incapsulamento dei pacchetti elaborazione nella documentazione di Cloud VPN e Cloud Interconnect MTU.

Le reti VPC non eseguono il blocco MSS per i pacchetti instradati dal gli hop successivi all'interno di una rete VPC perché sufficienti.

Protocolli non TCP

Altri protocolli, come UDP, richiedono una particolare attenzione quando due diversi Sono coinvolte le MTU della rete VPC. È responsabilità del un sistema di invio per emettere i pacchetti che rientrano nella sua interfaccia di rete MTU, MTU dell'interfaccia di rete del sistema ricevente e la MTU di tutte le reti in tra di loro. Google Cloud non esegue la frammentazione IP per i pacchetti instradato dagli hop successivi all'interno di una rete VPC.

Quando un pacchetto IP è troppo grande per essere consegnato, ad esempio quando di un pacchetto supera la MTU della rete VPC in cui Il NIC della VM è stato individuato: Google Cloud elimina il pacchetto. Se il pacchetto è impostato su DF bit, Google Cloud invia anche una Fragmentation Requested (ICMP) su IPv4) o un messaggio Packet Too Big (ICMPv6) al mittente.

Google Cloud invia una frammentazione necessaria o un pacchetto troppo grande nelle seguenti circostanze, anche quando un bit a DF è disattivato:

  • Se l'MTU della rete VPC è inferiore a 1600 byte e inviato supera la MTU della rete VPC.
  • Se l'MTU della rete VPC è di almeno 1600 byte e il pacchetto inviato supera i 1600 byte.

I messaggi ICMP Fragmentazione richiesta o Pacchetto troppo grande sono necessari per un VM che invia pacchetti per utilizzare il rilevamento della MTU del percorso (PMTUD). Per spiegare come funziona PMTUD, considera l'esempio seguente con due VM in diverse reti VPC collegate tramite Peering di rete VPC:

  • La VM di invio ha un NIC in una rete VPC la cui MTU è 8896 byte.
  • La VM ricevente ha un NIC in una rete VPC la cui MTU è 1460 byte.
  • La VM di invio emette un pacchetto IP da 8000 byte il cui bit non è frammentare (DF) è impostata. Poiché il pacchetto è troppo grande per essere consegnato alla VM ricevente, Google Cloud invia un messaggio Frammentazione richiesta o Pacchetto troppo grande alla VM di invio. Questo messaggio indica il pacchetto IP più grande possibile dimensioni che il mittente può utilizzare quando tenta di ritrasmettere i pacchetti per connessione.
  • Il sistema operativo della VM di invio utilizza queste informazioni per abbassare il pacchetto IP durante l'invio di pacchetti successivi alla VM ricevente.

PMTUD ha i seguenti requisiti aggiuntivi perché generato dal PMTUD Frammentazione necessaria o pacchetto troppo grande utilizzano il protocollo ICMP e hanno origini che corrispondono alla destinazione di un pacchetto originale:

  • Devi configurare il firewall VPC di traffico in entrata regole o regole nel firewall norme in modo che ICMP (per IPv4) o ICMPv6 (per IPv6) sono consentiti da origini corrispondenti alla versione originale le destinazioni dei pacchetti. Per semplificare la configurazione del firewall, ti consigliamo 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 utilizzano il protocollo L3_DEFAULT in modo che elaborino sia ICMP per PMTUD che usato dal pacchetto originale.

Passaggi successivi

Provalo

Se non hai mai utilizzato Google Cloud, crea un account per valutare in che modo Le prestazioni del VPC diversi scenari. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova VPC gratuitamente