Comprendre le format GENEVE

Generic Network Virtualization Encapsulation (GENEVE) est un protocole d'encapsulation réseau qui encapsule le paquet d'origine avec des métadonnées supplémentaires. Ces métadonnées supplémentaires permettent une virtualisation du réseau flexible et extensible.

Le schéma suivant illustre le format d'en-tête d'un paquet 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.     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le tableau suivant décrit les champs d'en-tête GENEVE affichés dans le schéma précédent :

Champ Description Longueur du champ
Ver Version du protocole GENEVE. La seule version acceptée est zéro (0). Pour en savoir plus, consultez Champs d'en-tête de tunnel. 2 bits
Opt len Longueur des champs d'options, exprimée en multiples de 4 octets, sans inclure l'en-tête de tunnel fixe de 8 octets. Pour en savoir plus, consultez Champs d'en-tête de tunnel. 6 bits
O Bit du paquet de contrôle. Pour en savoir plus, consultez Champs d'en-tête de tunnel. 1 bit
C Bit des options critiques. Pour en savoir plus, consultez Champs d'en-tête de tunnel. 1 bit
Rsvd Champ réservé, qui doit être égal à zéro (0) lors de la transmission et doit être ignoré lors de la réception. Pour en savoir plus, consultez Champs d'en-tête de tunnel. 6 bits
Type de protocole Le type de protocole autorise tout type d'Ethernet. Toutefois, Network Security Integration n'autorise que les protocoles IPv4 (0x0800) ou IPv6 (0x86DD). 16 bits
Identifiant de réseau virtuel (VNI) Identifiant unique d'un élément de réseau virtuel. L'intégration de la sécurité réseau ne remplit pas ce champ, ce qui signifie que le VNI est défini sur zéro (0). Pour en savoir plus, consultez Intégration hors bande GENEVE. 24 bits
Rsvd Champ réservé, qui doit être égal à zéro (0) lors de la transmission et doit être ignoré lors de la réception. Pour en savoir plus, consultez Champs d'en-tête de tunnel. 8 bits

Options GENEVE spécifiques àGoogle Cloud

L'en-tête GENEVE utilise un format TLV (Type-Length-Value) pour ses options. Cela signifie que chaque option est encodée avec un identifiant de type, un champ de longueur indiquant la taille de la valeur et la valeur elle-même. Ce format offre flexibilité et extensibilité, car de nouvelles options peuvent être ajoutées sans perturber les implémentations existantes. Les sections suivantes décrivent l'ordre et le nombre d'options. Notez que le nombre et l'ordre des options varieront à mesure que le produit évoluera. Par conséquent, pour assurer la compatibilité ascendante de l'implémentation de votre appareil, analysez l'en-tête GENEVE en fonction des champs TLV.

Les options GENEVE spécifiques à Google Cloud sont les suivantes :

  • ID du réseau (cookie réseau)
  • ID de point de terminaison (cookie de point de terminaison)
  • ID du profil
  • Code temporel (bêta)
  • ID stable du réseau (bêta)

ID du réseau

L'option d'ID de réseau, également appelée "cookie réseau", identifie le réseau virtuel associé au trafic encapsulé GENEVE dans Google Cloud. Cette option est identifiée par la classe d'option 0x0132 (Google) et le type 0x01 (ID de réseau). Les données d'option contiennent 32 bits, dont les 28 premiers représentent un ID de réseau opaque. L'objectif des 4 bits restants est décrit dans le diagramme et le tableau suivants.

Le schéma suivant montre le format des options dans le paquet 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|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le tableau suivant décrit les champs d'option affichés dans le schéma précédent :

Champ Description Longueur du champ
Classe d'options Identifie l'organisation ou l'entité qui a défini l'option. La valeur 0x0132 désigne Google comme entité de définition. 16 bits
Type Identifie le type d'option dans une classe. La valeur 0x01 désigne l'option "ID du réseau". Pour en savoir plus, consultez Options de tunnel. 8 bits
R Indicateurs de contrôle des options réservés pour une utilisation future. Ces bits doivent être définis sur zéro (0) lors de la transmission et doivent être ignorés lors de la réception. 3 bits
Len Longueur de la charge utile de l'option par incréments de 4 octets. La charge utile de l'ID de réseau est de 32 bits (4 octets). La longueur de cette option est donc définie sur 1. 5 bits
Cookie réseau Cookie réseau opaque, identifiant un réseau virtuel. 28 bits
R Réservé pour une implémentation future. Doit être défini sur zéro (0) lors de la transmission et doit être ignoré lors de la réception. 2 bits
T Indique le déchargement TLS pour le paquet encapsulé. Non utilisé. 1 bit
D Indique la direction du paquet d'origine. La valeur 0 (zéro) indique un paquet entrant, et la valeur 1 (un) indique un paquet sortant sur la machine virtuelle (VM) mise en miroir d'origine. 1 bit

ID de point de terminaison

L'option d'ID de point de terminaison, également appelée "cookie de point de terminaison", identifie de manière unique le point de capture, qui est un contrôleur d'interface réseau sur une VM Google Cloud. Cette option est identifiée par la classe d'option 0x0132 (Google) et le type 0x02 (ID de point de terminaison). Les données d'option sont une valeur opaque de 128 bits.

Le schéma suivant montre le format des options dans le paquet 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                        +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le tableau suivant décrit les champs d'option affichés dans le schéma précédent :

Champ Description Longueur du champ
Classe d'options Identifie l'organisation ou l'entité qui a défini l'option. La valeur 0x0132 désigne Google comme entité de définition. 16 bits
Type Identifie le type d'option dans une classe. La valeur 0x02 désigne l'option "ID du point de terminaison". Pour en savoir plus, consultez Options de tunnel. 8 bits
R Indicateurs de contrôle des options réservés pour une utilisation future. Ces bits doivent être définis sur zéro (0) lors de la transmission et doivent être ignorés lors de la réception. 3 bits
Len Longueur de la charge utile par incréments de quatre octets. La charge utile de l'ID de point de terminaison est de 128 bits (16 octets). La longueur de cette option est donc définie sur 4. 5 bits
Cookie de point de terminaison Identifiant opaque pour le point de capture (une carte d'interface réseau de VM). 128 bits

ID du profil

L'option d'ID de profil identifie le groupe de profils de sécurité de mise en miroir appliqué au trafic. Cette option est identifiée par la classe d'option 0x0132 (Google) et le type 0x03 (ID de profil). Les données d'option sont un identifiant de 64 bits qui correspond au champ data_path_id du groupe de profils de sécurité. L'appareil cible peut appliquer des règles de sécurité basées sur l'identifiant du groupe de profils.

Le schéma suivant montre le format des options dans le paquet 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                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le tableau suivant décrit les champs d'option affichés dans le schéma précédent :

Champ Description Longueur du champ
Classe d'options Identifie l'organisation ou l'entité qui a défini l'option. La valeur 0x0132 désigne Google comme entité de définition. 16 bits
Type Identifie le type d'option dans une classe. La valeur 0x03 désigne l'option "ID de profil". Pour en savoir plus, consultez Options de tunnel. 8 bits
R Indicateurs de contrôle des options réservés pour une utilisation future. Ces bits doivent être à zéro lors de la transmission et doivent être ignorés lors de la réception. 3 bits
Len Longueur de la charge utile de l'option par incréments de 4 octets. La charge utile de l'ID de profil est de 64 bits (8 octets). La longueur de cette option est donc définie sur 2. 5 bits
ID du profil Identifiant du groupe de profils de sécurité de mise en miroir. 64 bits

Horodatage

L'option d'horodatage indique l'heure de capture du paquet d'origine sur la VM source. Cette option est identifiée par la classe d'option 0x0132 (Google) et le type 0x0f (code temporel).

Le schéma suivant montre le format des options dans le paquet 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                           +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le tableau suivant décrit les champs d'option affichés dans le schéma précédent :

Champ Description Longueur du champ
Classe d'options Identifie l'organisation ou l'entité qui a défini l'option. La valeur 0x0132 désigne Google comme entité de définition. 16 bits
Type Identifie le type d'option dans une classe. La valeur 0x0f désigne l'option de code temporel. Pour en savoir plus, consultez Options de tunnel. 8 bits
R Indicateurs de contrôle des options réservés pour une utilisation future. Ces bits doivent être à zéro lors de la transmission et doivent être ignorés lors de la réception. 3 bits
Len Longueur de la charge utile de l'option par incréments de 4 octets. La charge utile du code temporel est de 64 bits (8 octets). La longueur de cette option est donc définie sur 2. 5 bits
Horodatage Heure de capture du paquet d'origine, représentée en nanosecondes depuis l'epoch. La précision à la nanoseconde près ne garantit pas l'exactitude à la nanoseconde près. Pour comprendre l'objectif de niveau de service (SLO) spécifique à la justesse, consultez la documentation du produit. 64 bits

ID stable du réseau

L'option "ID stable du réseau" identifie le réseau de la VM mise en miroir. Cette option est identifiée par la classe d'option 0x0132 (Google) et le type 0x10 (ID stable du réseau).

Le schéma suivant montre le format des options dans le paquet GENEVE. L'ID stable du réseau comprend le numéro de projet et l'ID du réseau.

       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                            +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le tableau suivant décrit les champs d'option affichés dans le schéma précédent :

Champ Description Longueur du champ
Classe d'options Identifie l'organisation ou l'entité qui a défini l'option. La valeur 0x0132 désigne Google comme entité de définition. 16 bits
Type Identifie le type d'option dans une classe. La valeur 0x10 désigne l'option "ID stable du réseau". Pour en savoir plus, consultez Options de tunnel. 8 bits
R Indicateurs de contrôle des options réservés pour une utilisation future. Ces bits doivent être à zéro lors de la transmission et doivent être ignorés lors de la réception. 3 bits
Len Longueur de la charge utile de l'option par incréments de 4 octets. La charge utile de l'ID de réseau est de 128 bits (16 octets). La longueur de cette option est donc définie sur 4. 5 bits
ID stable du réseau Réseau de la VM mise en miroir. 128 bits (64 bits pour le numéro de projet et 64 bits pour l'ID de réseau)

Formats d'en-tête GENEVE pour Network Security Integration

Cette section décrit les formats d'en-tête GENEVE utilisés par les services d'intégration de la sécurité réseau.

Format des paquets GENEVE sur IPv4

Le format de paquet GENEVE encapsule un en-tête de tunnel compact dans UDP sur IPv4. Un petit en-tête de tunnel fixe fournit des informations de contrôle, des fonctionnalités de base et l'interopérabilité.

Le schéma suivant illustre le format des paquets GENEVE sur 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                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le tableau suivant décrit les champs d'en-tête IPv4 affichés dans le schéma précédent :

Champ Description
Proto=17 (toujours UDP pour GENEVE) Indique que la charge utile encapsulée utilise le protocole UDP.
Adresse source Adresse IP de la passerelle du sous-réseau local.
Adresse destinataire Adresse IP virtuelle de l'équilibreur de charge appartenant au client.

En-tête UDP

L'en-tête UDP RFC 0768 encapsule les données, en conservant la sémantique sans connexion d'Ethernet et de l'adresse IP. Il fournit également de l'entropie aux routeurs qui effectuent un routage multichemin à coût égal (ECMP).

Le diagramme suivant montre le format d'en-tête d'un paquet Geneve encapsulé dans un paquet 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         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le tableau suivant décrit les champs d'en-tête UDP affichés dans le schéma précédent :

Champs Description
Port source Hachage opaque sur l'ensemble de la plage de 16 bits. La valeur est la même pour tous les paquets appartenant à un même flux encapsulé (dans les deux sens).
Port de destination Numéro de port de destination désigné pour le trafic GENEVE, défini sur 6081.
Longueur UDP Longueur totale du datagramme UDP, y compris l'en-tête UDP et le paquet GENEVE encapsulé.
Somme de contrôle UDP Valeur de la somme de contrôle du datagramme UDP, utilisée pour la détection des erreurs.

Intégration hors bande

L'intégration hors bande utilise un tunnel GENEVE pour encapsuler et distribuer les paquets mis en miroir. L'adresse IP virtuelle (VIP) de l'équilibreur de charge interne du collecteur reçoit les paquets annotés avec des métadonnées spécifiques à Google Cloud, telles que le cookie réseau.

L'intégration hors bande utilise les options GENEVE spécifiques suivantes : cookie réseau, cookie de point de terminaison et ID de profil. Google CloudPour en savoir plus, consultez Options GENEVE spécifiques àGoogle Cloud.

Le schéma suivant montre comment l'intégration hors bande utilise des options GENEVE spécifiques à Google Cloudpour le mode miroir direct.

       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                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Le schéma suivant montre comment l'intégration hors bande utilise des options GENEVE spécifiques à Google Cloudpour le mode courtier de la mise en miroir (aperçu).

       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                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Intégration en bande

L'intégration intrabande utilise un tunnel GENEVE pour encapsuler et distribuer les paquets interceptés. L'adresse IP virtuelle (VIP) de l'équilibreur de charge interne du producteur reçoit les paquets annotés avec des métadonnées spécifiques à Google Cloud, telles que le cookie réseau.

L'intégration dans la bande utilise les options GENEVE spécifiques suivantes : cookie réseau, cookie de point de terminaison et ID de profil. Google CloudPour en savoir plus, consultez Options GENEVE spécifiques àGoogle Cloud.

L'intégration dans la bande permet la réinjection de paquets vers le point de terminaison d'origine à l'aide d'un tunnel GENEVE bidirectionnel logique, qui se compose de deux tunnels GENEVE unidirectionnels. Une fois que l'appliance réseau du producteur intercepte et inspecte un paquet, elle peut le supprimer ou le réinjecter. Pour réinjecter le paquet, l'appliance procède comme suit :

  • Réencapsule le paquet à l'aide de l'en-tête GENEVE d'origine (mêmes options).
  • Inverse les adresses source et de destination dans l'en-tête IP externe.
  • S'assure que les sommes de contrôle sont correctes.

Le schéma suivant montre comment les options GENEVE spécifiques à Google Cloudsont utilisées dans l'intégration dans la bande.

       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                          +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   

Encapsulation GENEVE et exigences concernant la MTU

L'unité de transmission maximale (MTU) correspond à la taille, en octets, du plus grand paquet IP possible pouvant figurer dans une trame Ethernet, y compris les en-têtes IP, les en-têtes de protocole de couche 4 et les données de couche 4. Pour en savoir plus, consultez la section Unité de transmission maximale.

Dans les réseaux Google Cloud , la MTU autorisée est de 8 588 octets. Toutefois, pour Network Security Integration, 308 octets doivent être conservés pour les frais généraux d'encapsulation GENEVE. Cette exigence de conservation a des implications pour les réseaux de consommateurs et de producteurs :

  • MTU du réseau consommateur : la MTU du réseau consommateur ne doit pas dépasser 8 588 octets. Cette limite permet de s'assurer qu'il y a suffisamment d'espace pour le surcoût GENEVE sans dépasser la MTU maximale.

  • MTU du réseau de producteurs : la MTU du réseau de producteurs doit être supérieure d'au moins 396 octets à celle du réseau de consommateurs. Cette marge tient compte de l'encapsulation GENEVE supplémentaire.

Si les limites de MTU ne sont pas suffisantes pour l'encapsulation GENEVE, le paquet peut être supprimé. Cela peut se produire au niveau du réseau virtuel ou dans le système d'exploitation de la VM.

Étapes suivantes