La encapsulación genérica de virtualización de redes (GENEVE) es un protocolo de encapsulación de redes que encapsula el paquete original con metadatos adicionales. Estos metadatos adicionales ayudan a habilitar la virtualización de redes flexible y extensible.
En el siguiente diagrama, se muestra el formato del encabezado de un paquete 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. |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En la siguiente tabla, se describen los campos de encabezado de GENEVE que se muestran en el diagrama anterior:
| Campo | Descripción | Longitud del campo |
|---|---|---|
| Ver | Es la versión del protocolo GENEVE. La única versión admitida es cero (0). Para obtener más información, consulta Campos de encabezado de túnel. | 2 bits |
| Longitud de la opción | Es la longitud de los campos de opciones, expresada en múltiplos de 4 bytes, sin incluir el encabezado fijo del túnel de 8 bytes. Para obtener más información, consulta Campos de encabezado de túnel. | 6 bits |
| O | Es el bit del paquete de control. Para obtener más información, consulta Campos de encabezado de túnel. | 1 bit |
| C | El bit de opciones críticas. Para obtener más información, consulta Campos de encabezado de túnel. | 1 bit |
| Rsvd | Campo reservado que debe ser cero (0) en la transmisión y debe ignorarse en la recepción. Para obtener más información, consulta Campos del encabezado del túnel. | 6 bits |
| Tipo de protocolo | El tipo de protocolo permite cualquier tipo de Ethernet, sin embargo, la integración de seguridad de red solo permite IPv4 (0x0800) o IPv6 (0x86DD). |
16 bits |
| Identificador de red virtual (VNI) | Es un identificador único para un elemento de red virtual. La integración de seguridad de redes no propaga este campo, lo que significa que el VNI se establece en cero (0). Para obtener más información, consulta Integración fuera de banda de GENEVE. | 24 bits |
| Rsvd | Campo reservado que debe ser cero (0) en la transmisión y debe ignorarse en la recepción. Para obtener más información, consulta Campos del encabezado del túnel. | 8 bits |
Opciones de GENEVE específicas deGoogle Cloud
El encabezado GENEVE usa un formato Type-Length-Value (TLV) para sus opciones. Esto significa que cada opción se codifica con un identificador de tipo, un campo de longitud que indica el tamaño del valor y el valor en sí. Este formato permite flexibilidad y extensibilidad, ya que se pueden agregar opciones nuevas sin interrumpir las implementaciones existentes. En las siguientes secciones, se describen el orden y la cantidad de opciones. Ten en cuenta que la cantidad y el orden de las opciones variarán a medida que evolucione el producto. Por lo tanto, para garantizar la compatibilidad con versiones futuras de la implementación de tu dispositivo, analiza el encabezado de GENEVE según los campos de TLV.
Las opciones de GENEVE específicas para Google Cloud son las siguientes:
- ID de red (cookie de red)
- ID de extremo (cookie de extremo)
- ID del perfil
- Marca de tiempo (vista previa)
- ID estable de la red (versión preliminar)
ID de la red
La opción de ID de red, también conocida como "cookie de red", identifica la red virtual asociada con el tráfico encapsulado en GENEVE en Google Cloud. Esta opción se identifica con la clase de opción 0x0132 (Google) y el tipo 0x01 (ID de red). Los datos de la opción contienen 32 bits, de los cuales los primeros 28 representan un ID de red opaco. El propósito de los 4 bits restantes se describe en el siguiente diagrama y tabla.
En el siguiente diagrama, se muestra el formato de la opción en el paquete 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|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En la siguiente tabla, se describen los campos de opciones que se muestran en el diagrama anterior:
| Campo | Descripción | Longitud del campo |
|---|---|---|
| Clase de opción | Identifica la organización o entidad que definió la opción.
El valor 0x0132 designa a Google como la entidad definitoria. |
16 bits |
| Tipo | Identifica el tipo de opción dentro de una clase. El valor 0x01 designa la opción ID de red.
Para obtener más información, consulta Opciones de túnel. |
8 bits |
| R | Son marcas de control de opciones reservadas para uso futuro. Estos bits deben ser cero (0) en la transmisión y deben ignorarse en la recepción. | 3 bits |
| Len | Es la longitud de la carga útil de la opción en incrementos de 4 bytes. La carga útil del ID de red es de 32 bits (4 bytes), por lo que la longitud de esta opción se establece en 1. | 5 bits |
| Cookie de red | Es la cookie de red opaca que identifica una red virtual. | 28 bits |
| R | Reservado para su implementación futura. Se debe establecer en cero (0) en la transmisión y se debe ignorar en la recepción. | 2 bits |
| T | Indica la descarga de TLS para el paquete encapsulado. No se usa. | 1 bit |
| D | Denota la dirección del paquete original. El valor cero (0) significa entrada, y el valor uno (1) significa un paquete de salida en la máquina virtual (VM) replicada original. | 1 bit |
ID de extremo
La opción de ID de extremo, también conocida como "cookie de extremo", identifica de forma única el punto de captura, que es un controlador de interfaz de red en una VM de Google Cloud. Esta opción se identifica con la clase de opción 0x0132 (Google) y el tipo 0x02 (ID de extremo). Los datos de la opción son un valor opaco de 128 bits.
En el siguiente diagrama, se muestra el formato de la opción en el paquete 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 +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En la siguiente tabla, se describen los campos de opciones que se muestran en el diagrama anterior:
| Campo | Descripción | Longitud del campo |
|---|---|---|
| Clase de opción | Identifica la organización o entidad que definió la opción.
El valor 0x0132 designa a Google como la entidad definitoria. |
16 bits |
| Tipo | Identifica el tipo de opción dentro de una clase. El valor 0x02 designa la opción ID del extremo.
Para obtener más información, consulta Opciones de túnel. |
8 bits |
| R | Son marcas de control de opciones reservadas para uso futuro. Estos bits deben ser cero (0) en la transmisión y deben ignorarse en la recepción. | 3 bits |
| Len | Es la longitud de la carga útil en incrementos de 4 bytes. La carga útil del ID del extremo es de 128 bits (16 bytes), por lo que la longitud para esta opción se establece en 4. | 5 bits |
| Cookie de extremo | Es un identificador opaco para el punto de captura (una NIC de VM). | 128-bits |
ID del perfil
La opción de ID de perfil identifica el grupo de perfiles de seguridad de duplicación que se aplica al tráfico. Esta opción se identifica con la clase de opción 0x0132 (Google) y el tipo 0x03 (ID de perfil). Los datos de la opción son un identificador de 64 bits que corresponde al campo data_path_id en el grupo de perfiles de seguridad. El dispositivo de destino puede aplicar políticas de seguridad basadas en el identificador del grupo de perfiles.
En el siguiente diagrama, se muestra el formato de la opción en el paquete 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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En la siguiente tabla, se describen los campos de opciones que se muestran en el diagrama anterior:
| Campo | Descripción | Longitud del campo |
|---|---|---|
| Clase de opción | Identifica la organización o entidad que definió la opción.
El valor 0x0132 designa a Google como la entidad definitoria. |
16 bits |
| Tipo | Identifica el tipo de opción dentro de una clase. El valor 0x03 designa la opción ID de perfil.
Para obtener más información, consulta Opciones de túnel. |
8 bits |
| R | Son marcas de control de opciones reservadas para uso futuro. Estos bits deben ser cero en la transmisión y deben ignorarse en la recepción. | 3 bits |
| Len | Es la longitud de la carga útil de la opción en incrementos de 4 bytes. La carga útil del ID de perfil es de 64 bits (8 bytes), por lo que la longitud de esta opción se establece en 2. | 5 bits |
| ID del perfil | Es el identificador del grupo de perfiles de seguridad de duplicación. | 64 bits |
Marca de tiempo
La opción de marca de tiempo indica la hora de captura original del paquete en la VM de origen. Esta opción se identifica con la clase de opción 0x0132 (Google) y el tipo 0x0f (Timestamp).
En el siguiente diagrama, se muestra el formato de la opción en el paquete 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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En la siguiente tabla, se describen los campos de opciones que se muestran en el diagrama anterior:
| Campo | Descripción | Longitud del campo |
|---|---|---|
| Clase de opción | Identifica la organización o entidad que definió la opción.
El valor 0x0132 designa a Google como la entidad definitoria. |
16 bits |
| Tipo | Identifica el tipo de opción dentro de una clase. El valor 0x0f designa la opción de marca de tiempo.
Para obtener más información, consulta Opciones de túnel. |
8 bits |
| R | Son marcas de control de opciones reservadas para uso futuro. Estos bits deben ser cero en la transmisión y deben ignorarse en la recepción. | 3 bits |
| Len | Es la longitud de la carga útil de la opción en incrementos de 4 bytes. La carga útil de la marca de tiempo es de 64 bits (8 bytes), por lo que la longitud de esta opción se establece en 2. | 5 bits |
| Marca de tiempo | Es la hora de captura del paquete original, representada como nanosegundos desde la época. La granularidad de nanosegundos no garantiza la precisión de nanosegundos. Para comprender el objetivo de nivel de servicio (SLO) de precisión específico, consulta la documentación del producto. | 64 bits |
ID estable de la red
La opción ID estable de red identifica la red de la VM duplicada. Esta opción se identifica con la clase de opción 0x0132 (Google) y el tipo 0x10 (ID de red estable).
En el siguiente diagrama, se muestra el formato de la opción en el paquete GENEVE. El ID estable de la red consta del número de proyecto y el ID de la red.
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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En la siguiente tabla, se describen los campos de opciones que se muestran en el diagrama anterior:
| Campo | Descripción | Longitud del campo |
|---|---|---|
| Clase de opción | Identifica la organización o entidad que definió la opción.
El valor 0x0132 designa a Google como la entidad definitoria. |
16 bits |
| Tipo | Identifica el tipo de opción dentro de una clase. El valor 0x10 designa la opción ID de red estable.
Para obtener más información, consulta Opciones de túnel. |
8 bits |
| R | Son marcas de control de opciones reservadas para uso futuro. Estos bits deben ser cero en la transmisión y deben ignorarse en la recepción. | 3 bits |
| Len | Es la longitud de la carga útil de la opción en incrementos de 4 bytes. La carga útil del ID de red es de 128 bits (16 bytes), por lo que la longitud de esta opción se establece en 4. | 5 bits |
| ID estable de la red | Es la red de la VM duplicada. | 128 bits (64 bits del número de proyecto y 64 bits del ID de red) |
Formatos de encabezado de GENEVE para la integración de seguridad de redes
En esta sección, se describen los formatos de encabezado de GENEVE que utilizan los servicios de integración de seguridad de red.
Formato de paquete GENEVE a través de IPv4
El formato de paquete GENEVE encapsula un encabezado de túnel compacto en UDP a través de IPv4. Un pequeño encabezado de túnel fijo proporciona información de control y capacidades e interoperabilidad de nivel básico.
En el siguiente diagrama, se muestra el formato de paquetes GENEVE a través de 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En la siguiente tabla, se describen los campos del encabezado IPv4 que se muestran en el diagrama anterior:
| Campo | Descripción |
|---|---|
| Proto=17 (siempre UDP para GENEVE) | Indica que la carga útil encapsulada usa el protocolo UDP. |
| Dirección de origen | Es la dirección IP de la puerta de enlace de la subred local. |
| Dirección de destino | Es la VIP del balanceador de cargas propiedad del cliente. |
Encabezado UDP
El encabezado UDP RFC 0768 encapsula los datos y mantiene la semántica sin conexión de Ethernet y la dirección IP. También proporciona entropía a los routers que realizan el enrutamiento de varias rutas de igual costo (ECMP).
En el siguiente diagrama, se muestra el formato del encabezado de un paquete Geneve encapsulado dentro de un 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En la siguiente tabla, se describen los campos del encabezado UDP que se muestran en el diagrama anterior:
| Campos | Descripción |
|---|---|
| Puerto de origen | Es un hash opaco en todo el rango de 16 bits. El valor es el mismo para todos los paquetes que pertenecen a un solo flujo encapsulado (en ambas direcciones). |
| Puerto de destino | Es el número de puerto de destino designado para el tráfico de GENEVE, establecido en 6081. |
| Longitud del UDP | Longitud total del datagrama de UDP, incluido el encabezado de UDP y el paquete GENEVE encapsulado. |
| Suma de comprobación de UDP | Es el valor de la suma de verificación del datagrama UDP, que se usa para la detección de errores. |
Integración fuera de banda
La integración fuera de banda usa un túnel GENEVE para encapsular y entregar paquetes duplicados. La dirección IP virtual (VIP) del balanceador de cargas interno del recopilador recibe los paquetes anotados con metadatos específicos de Google Cloud, como la cookie de red.
La integración fuera de banda usa las siguientes opciones de GENEVE específicas de Google Cloud: cookie de red, cookie de extremo y ID de perfil. Para obtener más información, consulta Opciones de GENEVE específicas deGoogle Cloud.
En el siguiente diagrama, se muestra cómo la integración fuera de banda usa opciones de GENEVE específicas de Google Cloudpara el modo directo de duplicación.
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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
En el siguiente diagrama, se muestra cómo la integración fuera de banda usa opciones de GENEVE específicas de Google Cloudpara el modo de duplicación del agente (versión preliminar).
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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Integración en banda
La integración en banda usa un túnel GENEVE para encapsular y entregar los paquetes interceptados. La dirección IP virtual (VIP) del balanceador de cargas interno del productor recibe los paquetes anotados con metadatos específicos de Google Cloud, como la cookie de red.
La integración dentro de la banda usa las siguientes opciones de GENEVE específicas de Google Cloud: cookie de red, cookie de extremo y ID de perfil. Para obtener más información, consulta Opciones de GENEVE específicas deGoogle Cloud.
La integración dentro de la banda admite la reinyección de paquetes en el extremo original a través de un túnel GENEVE bidireccional lógico, que consta de dos túneles GENEVE unidireccionales. Después de que el dispositivo de red del productor intercepta e inspecciona un paquete, puede descartarlo o volver a insertarlo. Para volver a insertar el paquete, el dispositivo hace lo siguiente:
- Vuelve a encapsular el paquete con el encabezado GENEVE original (las mismas opciones).
- Intercambia las direcciones de origen y destino en el encabezado IP externo.
- Garantiza que las sumas de verificación sean correctas.
En el siguiente diagrama, se muestra cómo se usan las opciones de GENEVE específicas de Google Clouden la integración dentro de la 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 +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Encapsulamiento GENEVE y requisitos de MTU
La unidad máxima de transmisión (MTU) es el tamaño en bytes del paquete de IP más grande posible que puede caber dentro de una trama Ethernet, incluidos los encabezados IP, los encabezados de protocolo de capa 4 y los datos de capa 4. Para obtener más información, consulta Unidad de transmisión máxima.
En las redes de Google Cloud , la MTU permitida es de 8,588 bytes. Sin embargo, para la integración de seguridad de redes, se deben retener 308 bytes para la sobrecarga de encapsulación GENEVE. Esta necesidad de retención tiene implicaciones tanto para las redes de productores como para las de consumidores:
MTU de la red del consumidor: La MTU de la red del consumidor no debe ser superior a 8,588 bytes. Este límite garantiza que haya suficiente espacio para la sobrecarga de GENEVE sin exceder la MTU máxima.
MTU de la red del productor: La MTU de la red del productor debe ser al menos 396 bytes más grande que la MTU de la red del consumidor. Este margen tiene en cuenta la encapsulación adicional de GENEVE.
Si no hay suficientes límites de MTU para admitir la encapsulación de GENEVE, se puede descartar el paquete. Esto puede ocurrir a nivel de la red virtual o en el sistema operativo de la VM.
¿Qué sigue?
- Descripción general de la integración de seguridad de redes
- Descripción general de la integración fuera de banda
- Supervisa la integración fuera de banda