Informazioni sul formato GENEVE

Generic Network Virtualization Encapsulation (GENEVE) è un protocollo di incapsulamento di rete che incapsula il pacchetto originale con metadati aggiuntivi. Questi metadati aggiuntivi contribuiscono ad attivare la virtualizzazione di rete flessibile ed estensibile.

Il seguente diagramma mostra il formato dell'intestazione di un pacchetto GENEVE.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Ver|  Opt len  |O|C|   Rsvd.   |         Protocol type         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Virtual network identifier (VNI)       |     Rsvd.     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

La seguente tabella descrive i campi dell'intestazione GENEVE mostrati nel diagramma precedente:

Campo Descrizione Lunghezza campo
Ver La versione del protocollo GENEVE. L'unica versione supportata è zero (0). Per saperne di più, consulta Campi dell'intestazione del tunnel. 2 bit
Opt len La lunghezza dei campi delle opzioni, espressa in multipli di 4 byte, escluso l'intestazione del tunnel fissa di 8 byte. Per saperne di più, consulta Campi di intestazione del tunnel. 6 bit
O Il bit del pacchetto di controllo. Per saperne di più, consulta Campi dell'intestazione del tunnel. 1 bit
C Il bit delle opzioni critiche. Per saperne di più, vedi Campi di intestazione del tunnel. 1 bit
Rsvd Campo riservato, che deve essere zero (0) durante la trasmissione e deve essere ignorato al momento della ricezione. Per saperne di più, consulta Campi dell'intestazione del tunnel. 6 bit
Tipo di protocollo Il tipo di protocollo consente qualsiasi tipo di Ethernet, tuttavia, l'integrazione della sicurezza di rete consente solo IPv4 (0x0800) o IPv6 (0x86DD). 16 bit
Identificatore di rete virtuale (VNI) Un identificatore univoco per un elemento di rete virtuale. Network Security Integration non compila questo campo, il che significa che il VNI è impostato su zero (0). Per maggiori informazioni, vedi Integrazione out-of-band GENEVE. 24 bit
Rsvd Campo riservato, che deve essere zero (0) durante la trasmissione e deve essere ignorato al momento della ricezione. Per saperne di più, consulta Campi dell'intestazione del tunnel. 8 bit

Opzioni GENEVE specifiche perGoogle Cloud

L'intestazione GENEVE utilizza un formato Type-Length-Value (TLV) per le sue opzioni. Ciò significa che ogni opzione è codificata con un identificatore di tipo, un campo di lunghezza che indica la dimensione del valore e il valore stesso. Questo formato consente flessibilità ed estensibilità, in quanto è possibile aggiungere nuove opzioni senza interrompere le implementazioni esistenti. Le sezioni seguenti descrivono l'ordine e il numero di opzioni. Tieni presente che il numero e l'ordine delle opzioni variano con l'evolversi del prodotto. Pertanto, per garantire la compatibilità futura dell'implementazione del dispositivo, analizza l'intestazione GENEVE in base ai campi TLV.

Le opzioni GENEVE specifiche per Google Cloud sono le seguenti:

  • ID rete (cookie di rete)
  • ID endpoint (cookie endpoint)
  • ID profilo
  • Timestamp (anteprima)
  • ID stabile della rete (Anteprima)

ID rete

L'opzione ID rete, nota anche come "cookie di rete", identifica la rete virtuale associata al traffico incapsulato GENEVE in Google Cloud. Questa opzione è identificata dalla classe di opzioni 0x0132 (Google) e dal tipo 0x01 (ID rete). I dati delle opzioni contengono 32 bit, di cui i primi 28 rappresentano un ID di rete opaco. Lo scopo dei 4 bit rimanenti è descritto nel diagramma e nella tabella seguenti.

Il seguente diagramma mostra il formato dell'opzione nel pacchetto GENEVE.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x01   R|R|R|  Len=1   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Network cookie                    |R|R|T|D|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

La tabella seguente descrive i campi delle opzioni mostrati nel diagramma precedente:

Campo Descrizione Lunghezza campo
Classe di opzioni Identifica l'organizzazione o la persona giuridica che ha definito l'opzione. Il valore 0x0132 indica Google come entità di definizione. 16 bit
Tipo Identifica il tipo di opzione all'interno di una classe. Il valore 0x01 indica l'opzione ID rete. Per saperne di più, vedi Opzioni tunnel. 8 bit
R I flag di controllo delle opzioni riservati per un uso futuro. Questi bit devono essere zero (0) durante la trasmissione e devono essere ignorati al ricevimento. 3 bit
Len La lunghezza del payload dell'opzione con incrementi di 4 byte. Il payload dell'ID rete è di 32 bit (4 byte), quindi la lunghezza di questa opzione è impostata su 1. 5 bit
Cookie di rete Il cookie di rete opaco, che identifica una rete virtuale. 28 bit
R Riservato per l'implementazione futura. Deve essere impostato su zero (0) durante la trasmissione e deve essere ignorato al momento della ricezione. 2 bit
T Indica l'offload TLS per il pacchetto incapsulato. Non utilizzato. 1 bit
D Indica la direzione del pacchetto originale. Zero (0) indica un pacchetto in entrata e uno (1) indica un pacchetto in uscita sulla macchina virtuale (VM) originale sottoposta a mirroring. 1 bit

ID endpoint

L'opzione ID endpoint, nota anche come "cookie endpoint", identifica in modo univoco il punto di acquisizione, ovvero un controller di interfaccia di rete su una VM Google Cloud. Questa opzione è identificata dalla classe di opzioni 0x0132 (Google) e dal tipo 0x02 (ID endpoint). I dati dell'opzione sono un valore opaco a 128 bit.

Il seguente diagramma mostra il formato dell'opzione nel pacchetto GENEVE.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x02   |R|R|R|  Len=4  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                        Endpoint cookie                        +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

La tabella seguente descrive i campi delle opzioni mostrati nel diagramma precedente:

Campo Descrizione Lunghezza campo
Classe di opzioni Identifica l'organizzazione o la persona giuridica che ha definito l'opzione. Il valore 0x0132 indica Google come entità di definizione. 16 bit
Tipo Identifica il tipo di opzione all'interno di una classe. Il valore 0x02 indica l'opzione ID endpoint. Per saperne di più, vedi Opzioni tunnel. 8 bit
R I flag di controllo delle opzioni riservati per un uso futuro. Questi bit devono essere zero (0) durante la trasmissione e devono essere ignorati al ricevimento. 3 bit
Len La lunghezza del payload in incrementi di 4 byte. Il payload dell'ID endpoint è di 128 bit (16 byte), quindi la lunghezza per questa opzione è impostata su 4. 5 bit
Cookie dell'endpoint Un identificatore opaco per il punto di acquisizione (una NIC VM). 128 bit

ID profilo

L'opzione ID profilo identifica il gruppo di profili di sicurezza di mirroring che viene applicato al traffico. Questa opzione è identificata dalla classe di opzioni 0x0132 (Google) e dal tipo 0x03 (ID profilo). I dati dell'opzione sono un identificatore a 64 bit che corrisponde al campo data_path_id nel gruppo di profili di sicurezza. Il dispositivo di destinazione potrebbe applicare criteri di sicurezza basati sull'identificatore del gruppo di profili.

Il seguente diagramma mostra il formato dell'opzione nel pacchetto GENEVE.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x03   |R|R|R|  Len=2  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                           Profile ID                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

La tabella seguente descrive i campi delle opzioni mostrati nel diagramma precedente:

Campo Descrizione Lunghezza campo
Classe di opzioni Identifica l'organizzazione o la persona giuridica che ha definito l'opzione. Il valore 0x0132 indica Google come entità di definizione. 16 bit
Tipo Identifica il tipo di opzione all'interno di una classe. Il valore 0x03 indica l'opzione ID profilo. Per saperne di più, vedi Opzioni tunnel. 8 bit
R I flag di controllo delle opzioni riservati per un uso futuro. Questi bit devono essere zero durante la trasmissione e devono essere ignorati al momento della ricezione. 3 bit
Len La lunghezza del payload dell'opzione con incrementi di 4 byte. Il payload dell'ID profilo è di 64 bit (8 byte), quindi la lunghezza di questa opzione è impostata su 2. 5 bit
ID profilo L'identificatore del gruppo di profili di sicurezza di mirroring. 64 bit

Timestamp

L'opzione Timestamp indica l'ora di acquisizione originale del pacchetto sulla VM di origine. Questa opzione è identificata dalla classe di opzioni 0x0132 (Google) e dal tipo 0x0f (Timestamp).

Il seguente diagramma mostra il formato dell'opzione nel pacchetto GENEVE.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x0f   |R|R|R|  Len=2  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                           Timestamp                           +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

La tabella seguente descrive i campi delle opzioni mostrati nel diagramma precedente:

Campo Descrizione Lunghezza campo
Classe di opzioni Identifica l'organizzazione o la persona giuridica che ha definito l'opzione. Il valore 0x0132 indica Google come entità di definizione. 16 bit
Tipo Identifica il tipo di opzione all'interno di una classe. Il valore 0x0f indica l'opzione del timestamp. Per saperne di più, vedi Opzioni tunnel. 8 bit
R I flag di controllo delle opzioni riservati per un uso futuro. Questi bit devono essere zero durante la trasmissione e devono essere ignorati al momento della ricezione. 3 bit
Len La lunghezza del payload dell'opzione con incrementi di 4 byte. Il payload del timestamp è di 64 bit (8 byte), quindi la lunghezza di questa opzione è impostata su 2. 5 bit
Timestamp L'ora di acquisizione del pacchetto originale, rappresentata come nanosecondi dall'epoca. La granularità al nanosecondo non garantisce l'accuratezza al nanosecondo. Per comprendere l'obiettivo del livello di servizio (SLO) di accuratezza specifico, consulta la documentazione del prodotto. 64 bit

ID stabile della rete

L'opzione ID stabile di rete identifica la rete della VM sottoposta a mirroring. Questa opzione è identificata dalla classe di opzioni 0x0132 (Google) e dal tipo 0x10 (ID stabile di rete).

Il seguente diagramma mostra il formato dell'opzione nel pacchetto GENEVE. L'ID stabile di rete è composto dal numero di progetto e dall'ID rete.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x10   |R|R|R|  Len=4  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                       Project Number                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                         Network ID                            +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

La tabella seguente descrive i campi delle opzioni mostrati nel diagramma precedente:

Campo Descrizione Lunghezza campo
Classe di opzioni Identifica l'organizzazione o la persona giuridica che ha definito l'opzione. Il valore 0x0132 indica Google come entità di definizione. 16 bit
Tipo Identifica il tipo di opzione all'interno di una classe. Il valore 0x10 indica l'opzione ID stabile di rete. Per saperne di più, vedi Opzioni tunnel. 8 bit
R I flag di controllo delle opzioni riservati per un uso futuro. Questi bit devono essere zero durante la trasmissione e devono essere ignorati al momento della ricezione. 3 bit
Len La lunghezza del payload dell'opzione con incrementi di 4 byte. Il payload dell'ID rete è di 128 bit (16 byte), quindi la lunghezza di questa opzione è impostata su 4. 5 bit
ID stabile della rete La rete della VM sottoposta a mirroring. 128 bit (64 bit di numero di progetto e 64 bit di ID rete)

Formati di intestazione GENEVE per Network Security Integration

Questa sezione descrive i formati di intestazione GENEVE utilizzati dai servizi di Network Security Integration.

Formato del pacchetto GENEVE su IPv4

Il formato del pacchetto GENEVE incapsula un'intestazione del tunnel compatta in UDP su IPv4. Un'intestazione del tunnel fissa di piccole dimensioni fornisce informazioni di controllo e funzionalità e interoperabilità di base.

Il seguente diagramma mostra il formato del pacchetto GENEVE su IPv4.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |Version|  IHL  |Type of service|          Total length         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Identification        |Flags|     Fragment offset     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Time to live | Proto=17 (UDP)|        Header checksum        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Source address                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Destination address                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

La tabella seguente descrive i campi dell'intestazione IPv4 mostrati nel diagramma precedente:

Campo Descrizione
Proto=17 (sempre UDP per GENEVE) Indica che il payload incapsulato utilizza il protocollo UDP.
Indirizzo di origine L'indirizzo IP del gateway della subnet locale.
Indirizzo di destinazione Il VIP del bilanciatore del carico di proprietà del cliente.

Intestazione UDP

L'intestazione UDP RFC 0768 incapsula i dati, mantenendo la semantica senza connessione di Ethernet e dell'indirizzo IP. Fornisce inoltre entropia ai router che eseguono il routing ECMP (Equal-cost multipath).

Il seguente diagramma mostra il formato dell'intestazione di un pacchetto Geneve incapsulato all'interno di un pacchetto UDP.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      Source port = <hash>    | Dest port = 6081 (Geneve)|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           UDP length          |          UDP checksum         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

La seguente tabella descrive i campi dell'intestazione UDP mostrati nel diagramma precedente:

Campi Descrizione
Porta di origine Un hash opaco sull'intero intervallo di 16 bit. Il valore è lo stesso per tutti i pacchetti appartenenti a un singolo flusso incapsulato (in entrambe le direzioni).
Porta di destinazione Il numero di porta di destinazione designato per il traffico GENEVE, impostato su 6081.
Lunghezza UDP La lunghezza totale del datagramma UDP, inclusa l'intestazione UDP e il pacchetto GENEVE incapsulato.
checksum UDP Il valore del checksum per il datagramma UDP, utilizzato per il rilevamento degli errori.

Integrazione fuori banda

L'integrazione fuori banda utilizza un tunnel GENEVE per incapsulare e distribuire i pacchetti duplicati. L'indirizzo IP virtuale (VIP) del bilanciatore del carico interno del raccoglitore riceve i pacchetti annotati con metadati specifici di Google Cloud, ad esempio il cookie di rete.

L'integrazione out-of-band utilizza le seguenti opzioni GENEVE specifiche per Google Cloud: cookie di rete, cookie dell'endpoint e ID profilo. Per maggiori informazioni, consulta la sezione Opzioni GENEVE specifiche perGoogle Cloud.

Il seguente diagramma mostra come l'integrazione out-of-band utilizza le opzioni GENEVE specifiche di Google Cloudper la modalità di mirroring diretto.

       0                    1                   2                  3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |V=0|  Opt len  |O|C|   Rsvd    |         Protocol type         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Virtual network identifier (VNI) = 0   |     Rsvd.     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x01   |R|R|R|  Len=1  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Network cookie                    |R|R|T|D|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x02   |R|R|R|  Len=4  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                        Endpoint cookie                        +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x03   |R|R|R|  Len=2  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                           Profile ID                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Il seguente diagramma mostra come l'integrazione out-of-band utilizza le opzioni GENEVE specifiche per la modalità di mirroring del broker (anteprima). Google Cloud

       0                    1                   2                  3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |V=0|  Opt len  |O|C|   Rsvd    |         Protocol type         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Virtual network identifier (VNI) = 0   |     Rsvd.     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x01   |R|R|R|  Len=1  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Network cookie                    |R|R|T|D|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x02   |R|R|R|  Len=4  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                        Endpoint cookie                        +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x03   |R|R|R|  Len=2  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                           Profile ID                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x0f   |R|R|R|  Len=2  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                           Timestamp                           +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option class=0x0132 (Google) |   Type=0x10   |R|R|R|  Len=4  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                         Project Number                        +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                           Network ID                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Integrazione in banda

L'integrazione in banda utilizza un tunnel GENEVE per incapsulare e distribuire i pacchetti intercettati. L'indirizzo IP virtuale (VIP) del bilanciatore del carico interno del produttore riceve i pacchetti annotati con metadati specifici di Google Cloud, ad esempio il cookie di rete.

L'integrazione in banda utilizza le seguenti opzioni GENEVE specifiche per Google Cloud: cookie di rete, cookie dell'endpoint e ID profilo. Per maggiori informazioni, consulta la sezione Opzioni GENEVE specifiche perGoogle Cloud.

L'integrazione in banda supporta la reiniezione dei pacchetti all'endpoint originale utilizzando un tunnel GENEVE bidirezionale logico, costituito da due tunnel GENEVE unidirezionali. Dopo che l'appliance di rete del produttore intercetta e ispeziona un pacchetto, può eliminarlo o reinserirlo. Per reinserire il pacchetto, l'appliance esegue le seguenti operazioni:

  • Rincapsula il pacchetto utilizzando l'intestazione GENEVE originale (stesse opzioni).
  • Inverte gli indirizzi di origine e di destinazione nell'intestazione IP esterna.
  • Assicura che i checksum siano corretti.

Il seguente diagramma mostra come vengono utilizzate le opzioni GENEVE specifiche di Google Cloudnell'integrazione in banda.

       0                    1                   2                  3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |V=0|  Opt len  |O|C|   Rsvd    |         Protocol type         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Virtual network identifier (VNI) = 0   |     Rsvd.     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option Class=0x0132 (Google) |   Type=0x01   |R|R|R|  Len=1  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Network Cookie                    |R|R|T|D|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option Class=0x0132 (Google) |   Type=0x02   |R|R|R|  Len=4  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                        Endpoint Cookie                        +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Option Class=0x0132 (Google) |   Type=0x03   |R|R|R|  Len=2  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                           Profile ID                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Requisiti di incapsulamento GENEVE e MTU

L'unità massima di trasmissione (MTU) è la dimensione in byte del pacchetto IP più grande possibile che può essere inserito in un frame Ethernet, incluse le intestazioni IP, le intestazioni del protocollo di livello 4 e i dati di livello 4. Per saperne di più, consulta Unità massima di trasmissione.

Nelle reti Google Cloud , l'MTU consentita è di 8588 byte. Tuttavia, per Network Security Integration, è necessario conservare 308 byte per l'overhead di incapsulamento GENEVE. Questa necessità di conservazione ha implicazioni per le reti consumer e producer:

  • MTU della rete consumer: l'MTU della rete consumer non deve superare gli 8588 byte. Questo limite garantisce che ci sia spazio sufficiente per l'overhead GENEVE senza superare l'MTU massima.

  • MTU della rete del produttore: l'MTU della rete del produttore deve essere almeno 396 byte in più rispetto all'MTU della rete del consumatore. Questa concessione tiene conto dell'incapsulamento GENEVE aggiuntivo.

Se non ci sono limiti MTU sufficienti per l'incapsulamento GENEVE, il pacchetto può essere eliminato. Ciò può verificarsi a livello di rete virtuale o nel sistema operativo della VM.

Passaggi successivi