O encapsulamento genérico de virtualização de rede (GENEVE) é um protocolo de encapsulamento de rede que encapsula o pacote original com metadados adicionais. Esses metadados extras ajudam a ativar a virtualização de rede flexível e extensível.
O diagrama a seguir mostra o formato do cabeçalho de um pacote 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. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A tabela a seguir descreve os campos de cabeçalho GENEVE mostrados no diagrama anterior:
| Campo | Descrição | Comprimento do campo |
|---|---|---|
| Ver | A versão do protocolo GENEVE. A única versão compatível é zero (0). Para mais informações, consulte Campos de cabeçalho de túnel. | 2 bits |
| Opt len | O comprimento dos campos de opção, expresso em múltiplos de 4 bytes, sem incluir o cabeçalho fixo de túnel de 8 bytes. Para mais informações, consulte Campos de cabeçalho de túnel. | 6 bits |
| O | O bit do pacote de controle. Para mais informações, consulte Campos de cabeçalho de túnel. | 1 bit |
| C | O bit de opções críticas. Para mais informações, consulte Campos de cabeçalho de túnel. | 1 bit |
| Rsvd | Campo reservado, que precisa ser zero (0) na transmissão e ignorado no recebimento. Para mais informações, consulte Campos de cabeçalho de túnel. | 6 bits |
| Tipo de protocolo | O tipo de protocolo permite qualquer ethertype, mas a integração de segurança de rede permite apenas IPv4 (0x0800) ou IPv6 (0x86DD). |
16 bits |
| Identificador de rede virtual (VNI) | Um identificador exclusivo de um elemento de rede virtual. A Integração de Segurança de Rede não preenche esse campo, o que significa que o VNI é definido como zero (0). Para mais informações, consulte Integração fora da banda GENEVE. | 24 bits |
| Rsvd | Campo reservado, que precisa ser zero (0) na transmissão e ignorado no recebimento. Para mais informações, consulte Campos de cabeçalho de túnel. | 8 bits |
Opções GENEVE específicas deGoogle Cloud
O cabeçalho GENEVE usa um formato Type-Length-Value (TLV) para as opções. Isso significa que cada opção é codificada com um identificador de tipo, um campo de comprimento que indica o tamanho do valor e o valor em si. Esse formato permite flexibilidade e extensibilidade, já que novas opções podem ser adicionadas sem interromper as implementações atuais. As seções a seguir descrevem a ordem e o número de opções. O número e a ordem das opções variam conforme o produto evolui. Portanto, para garantir a compatibilidade futura da implementação do dispositivo, analise o cabeçalho GENEVE com base nos campos TLV.
As opções do GENEVE específicas para Google Cloud são as seguintes:
- ID da rede (cookie de rede)
- ID do endpoint (cookie do endpoint)
- ID do perfil
- Carimbo de data/hora (pré-lançamento)
- ID estável de rede (pré-lançamento)
ID da rede
A opção de ID de rede, também conhecida como "cookie de rede", identifica a rede virtual associada ao tráfego encapsulado em GENEVE no Google Cloud. Essa opção é identificada pela classe 0x0132 (Google) e pelo tipo 0x01 (ID da rede). Os dados da opção contêm 32 bits, dos quais os primeiros 28 representam um ID de rede opaco. A finalidade dos 4 bits restantes está descrita no diagrama e na tabela a seguir.
O diagrama a seguir mostra o formato da opção no pacote 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|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A tabela a seguir descreve os campos de opção mostrados no diagrama anterior:
| Campo | Descrição | Comprimento do campo |
|---|---|---|
| Classe de opção | Identifica a organização ou entidade que definiu a opção.
O valor 0x0132 designa o Google como a entidade definidora. |
16 bits |
| Tipo | Identifica o tipo da opção em uma classe. O valor 0x01 designa a opção "ID da rede".
Para mais informações, consulte Opções de túnel. |
8 bits |
| R | As flags de controle de opção reservadas para uso futuro. Esses bits precisam ser zero (0) na transmissão e ignorados no recebimento. | 3 bits |
| Len | O comprimento do payload da opção em incrementos de 4 bytes. O payload do ID da rede é de 32 bits (4 bytes), então o comprimento dessa opção é definido como 1. | 5 bits |
| Cookie de rede. | O cookie de rede opaco, que identifica uma rede virtual. | 28 bits |
| R | Reservado para implementação futura. Precisa ser definido como zero (0) na transmissão e ignorado no recebimento. | 2 bits |
| T | Indica o descarregamento de TLS para o pacote encapsulado. Não utilizado. | 1 bit |
| D | Indica a direção do pacote original. Zero (0) significa entrada e um (1) significa um pacote de saída na máquina virtual (VM) original espelhada. | 1 bit |
ID do endpoint
A opção de ID do endpoint, também conhecida como "cookie de endpoint", identifica exclusivamente o
ponto de captura, que é um controlador de interface de rede em uma VM Google Cloud. Essa opção é identificada pela classe 0x0132 (Google) e pelo tipo 0x02 (ID do endpoint). Os dados da opção são um valor opaco de 128 bits.
O diagrama a seguir mostra o formato da opção no pacote 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 +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A tabela a seguir descreve os campos de opção mostrados no diagrama anterior:
| Campo | Descrição | Comprimento do campo |
|---|---|---|
| Classe de opção | Identifica a organização ou entidade que definiu a opção.
O valor 0x0132 designa o Google como a entidade definidora. |
16 bits |
| Tipo | Identifica o tipo da opção em uma classe. O valor 0x02 designa a opção "ID do endpoint".
Para mais informações, consulte Opções de túnel. |
8 bits |
| R | As flags de controle de opção reservadas para uso futuro. Esses bits precisam ser zero (0) na transmissão e ignorados no recebimento. | 3 bits |
| Len | O tamanho do payload em incrementos de 4 bytes. O payload do ID do endpoint é de 128 bits (16 bytes), então o comprimento dessa opção é definido como 4. | 5 bits |
| Cookie de endpoint. | Um identificador opaco do ponto de captura (uma NIC de VM). | 128 bits |
ID do perfil
A opção de ID do perfil identifica o grupo de perfis de segurança de espelhamento aplicado ao tráfego. Essa opção é identificada pela classe 0x0132 (Google) e pelo tipo 0x03 (ID do perfil). Os dados da opção são um identificador de 64 bits
que corresponde ao campo data_path_id no grupo de perfis de segurança. O dispositivo de destino pode aplicar políticas de segurança com base no identificador do grupo de perfis.
O diagrama a seguir mostra o formato da opção no pacote 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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A tabela a seguir descreve os campos de opção mostrados no diagrama anterior:
| Campo | Descrição | Comprimento do campo |
|---|---|---|
| Classe de opção | Identifica a organização ou entidade que definiu a opção.
O valor 0x0132 designa o Google como a entidade definidora. |
16 bits |
| Tipo | Identifica o tipo da opção em uma classe. O valor 0x03 designa a opção "ID do perfil".
Para mais informações, consulte Opções de túnel. |
8 bits |
| R | As flags de controle de opção reservadas para uso futuro. Esses bits precisam ser zero na transmissão e ignorados no recebimento. | 3 bits |
| Len | O comprimento do payload da opção em incrementos de 4 bytes. O payload do ID do perfil é de 64 bits (8 bytes), então o comprimento dessa opção é definido como 2. | 5 bits |
| ID do perfil | O identificador do grupo de perfis de segurança de espelhamento. | 64 bits |
Carimbo de data/hora
A opção de carimbo de data/hora indica o horário de captura do pacote original na VM de origem. Essa opção é identificada pela classe 0x0132 (Google) e pelo tipo 0x0f (carimbo de data/hora).
O diagrama a seguir mostra o formato da opção no pacote 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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A tabela a seguir descreve os campos de opção mostrados no diagrama anterior:
| Campo | Descrição | Comprimento do campo |
|---|---|---|
| Classe de opção | Identifica a organização ou entidade que definiu a opção.
O valor 0x0132 designa o Google como a entidade definidora. |
16 bits |
| Tipo | Identifica o tipo da opção em uma classe. O valor 0x0f designa a opção de carimbo de data/hora.
Para mais informações, consulte Opções de túnel. |
8 bits |
| R | As flags de controle de opção reservadas para uso futuro. Esses bits precisam ser zero na transmissão e ignorados no recebimento. | 3 bits |
| Len | O comprimento do payload da opção em incrementos de 4 bytes. O payload de carimbo de data/hora é de 64 bits (8 bytes), então o comprimento dessa opção é definido como 2. | 5 bits |
| Carimbo de data/hora | O horário de captura do pacote original, representado como nanossegundos desde a época. A granularidade de nanossegundos não garante a precisão de nanossegundos. Para entender o objetivo de nível de serviço (SLO) de acurácia específico, consulte a documentação do produto. | 64 bits |
ID estável da rede
A opção "ID estável da rede" identifica a rede da VM espelhada. Essa opção é identificada pela classe 0x0132 (Google) e pelo tipo 0x10 (ID estável de rede).
O diagrama a seguir mostra o formato da opção no pacote GENEVE. O ID estável da rede é composto pelo número do projeto e pelo ID da rede.
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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A tabela a seguir descreve os campos de opção mostrados no diagrama anterior:
| Campo | Descrição | Comprimento do campo |
|---|---|---|
| Classe de opção | Identifica a organização ou entidade que definiu a opção.
O valor 0x0132 designa o Google como a entidade definidora. |
16 bits |
| Tipo | Identifica o tipo da opção em uma classe. O valor 0x10 designa a opção "ID estável da rede".
Para mais informações, consulte Opções de túnel. |
8 bits |
| R | As flags de controle de opção reservadas para uso futuro. Esses bits precisam ser zero na transmissão e ignorados no recebimento. | 3 bits |
| Len | O comprimento do payload da opção em incrementos de 4 bytes. O payload do ID da rede é de 128 bits (16 bytes), então o comprimento dessa opção é definido como 4. | 5 bits |
| ID estável da rede | A rede da VM espelhada. | 128 bits (64 bits de número do projeto e 64 bits de ID da rede) |
Formatos de cabeçalho GENEVE para integração de segurança de rede
Esta seção descreve os formatos de cabeçalho GENEVE usados pelos serviços de integração de segurança de rede.
Formato de pacote GENEVE via IPv4
O formato de pacote GENEVE encapsula um cabeçalho de túnel compacto em UDP sobre IPv4. Um pequeno cabeçalho de túnel fixo fornece informações de controle e recursos e interoperabilidade de nível básico.
O diagrama a seguir mostra o formato de pacote GENEVE em 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A tabela a seguir descreve os campos de cabeçalho IPv4 mostrados no diagrama anterior:
| Campo | Descrição |
|---|---|
| Proto=17 (sempre UDP para GENEVE) | Indica que o payload encapsulado usa o protocolo UDP. |
| Endereço da fonte | O endereço IP do gateway da sub-rede local. |
| Endereço de destino | O VIP do balanceador de carga de propriedade do cliente. |
Cabeçalho UDP
O cabeçalho UDP RFC 0768 encapsula dados, mantendo a semântica sem conexão do Ethernet e do endereço IP. Ele também fornece entropia para roteadores que realizam vários caminhos de custo igual (ECMP).
O diagrama a seguir mostra o formato do cabeçalho de um pacote Geneve encapsulado em um 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
A tabela a seguir descreve os campos de cabeçalho UDP mostrados no diagrama anterior:
| Campos | Descrição |
|---|---|
| Porta de origem | Um hash opaco em todo o intervalo de 16 bits. O valor é o mesmo para todos os pacotes pertencentes a um único fluxo encapsulado (em ambas as direções). |
| Porta de destino | O número da porta de destino designada para o tráfego GENEVE, definido como 6081. |
| Comprimento do UDP | O comprimento total do datagrama UDP, incluindo o cabeçalho UDP e o pacote GENEVE encapsulado. |
| Soma de verificação UDP | O valor de checksum do datagrama UDP, usado para detecção de erros. |
Integração fora da banda
A integração fora da banda usa um túnel GENEVE para encapsular e entregar pacotes espelhados. O endereço IP virtual (VIP) do balanceador de carga interno do coletor recebe os pacotes anotados com metadados específicos do Google Cloud, como o cookie de rede.
A integração fora da banda usa as seguintes opções GENEVE específicas do Google Cloud: cookie de rede, cookie de endpoint e ID do perfil. Para mais informações, consulte opções GENEVE específicas doGoogle Cloud.
O diagrama a seguir mostra como a integração fora da banda usa opções GENEVE específicas do Google Cloudpara o modo direto de espelhamento.
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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
O diagrama a seguir mostra como a integração fora da banda usa opções GENEVE específicas do Google Cloudpara o modo de espelhamento do broker (prévia).
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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Integração na banda
A integração em banda usa um túnel GENEVE para encapsular e entregar pacotes interceptados. O endereço IP virtual (VIP) do balanceador de carga interno do produtor recebe os pacotes anotados com metadados específicos do Google Cloud, como o cookie de rede.
A integração no mesmo canal usa as seguintes opções GENEVE específicas de Google Cloud: cookie de rede, cookie de endpoint e ID do perfil. Para mais informações, consulte Opções GENEVE específicas doGoogle Cloud.
A integração em banda oferece suporte à reinjeção de pacotes no endpoint original usando um túnel GENEVE bidirecional lógico, que consiste em dois túneis GENEVE unidirecionais. Depois que o dispositivo de rede do produtor intercepta e inspeciona um pacote, ele pode descartar ou reinjetar o pacote. Para reinjetar o pacote, o dispositivo faz o seguinte:
- Reencapsula o pacote usando o cabeçalho GENEVE original (mesmas opções).
- Troca os endereços de origem e destino no cabeçalho IP externo.
- Garante que os checksums estejam corretos.
O diagrama a seguir mostra como as opções GENEVE específicas do Google Cloudsão usadas na integração em 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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Requisitos de encapsulamento GENEVE e MTU
A unidade máxima de transmissão (MTU) é o tamanho, em bytes, do maior pacote de IP possível que pode caber em um frame Ethernet, incluindo cabeçalhos IP, cabeçalhos de protocolo da camada 4 e dados da camada 4. Saiba mais em Unidade de transmissão máxima.
Em redes Google Cloud , a MTU permitida é de 8.588 bytes. No entanto, para a integração de segurança de rede, 308 bytes precisam ser mantidos para o overhead de encapsulamento GENEVE. Essa necessidade de retenção tem implicações para as redes de consumidores e produtores:
MTU da rede do consumidor: a MTU da rede do consumidor não pode ser maior que 8.588 bytes. Esse limite garante que haja espaço suficiente para a sobrecarga do GENEVE sem exceder a MTU máxima.
MTU da rede produtora: a MTU da rede produtora precisa ser pelo menos 396 bytes maior do que a MTU da rede consumidora. Essa permissão acomoda o encapsulamento GENEVE adicional.
Se não houver limites de MTU suficientes para acomodar o encapsulamento GENEVE, o pacote poderá ser descartado. Isso pode acontecer no nível da rede virtual ou no sistema operacional da VM.
A seguir
- Visão geral da Integração de Segurança de Rede
- Visão geral da integração fora da banda
- Monitorar a integração fora da banda