Concepts avancés du VPC

Cette page fournit des informations supplémentaires sur les réseaux de cloud privé virtuel (VPC, Virtual Private Network). Avant de lire cette page, consultez la section Réseaux VPC. Si vous êtes intéressé par les réseaux VPC appairés, consultez la section Appairage de réseaux VPC.

Détails de bas niveau concernant les réseaux VPC

Cette section fournit des informations détaillées sur les réseaux VPC. Elle n'est pas utile pour une utilisation normale, mais elle apporte davantage d'informations sur le fonctionnement des réseaux VPC. Le schéma suivant présente ces informations détaillées, avec davantage d'informations dans les sections correspondantes.

Le réseau VPC
Le réseau VPC (cliquez pour agrandir)

Qui manipule quoi ?

Les différentes fonctionnalités de réseau VPC sont gérées par différentes parties du système. Certaines de ces fonctionnalités de réseau standard sont bien documentées, d'autres sont spécifiques aux réseaux VPC. Vous pouvez en configurer certaines, mais pas toutes. Les réseaux VPC utilisent le module réseau VIRTIO de Linux pour modéliser les fonctionnalités de carte et de routeur Ethernet, mais les niveaux supérieurs de la pile réseau, tels que les recherches ARP, sont gérés à l'aide d'un logiciel de réseau standard.

Recherche ARP
Le noyau de l'instance émet des requêtes ARP, et le réseau VPC émet des réponses ARP. Le mappage entre les adresses MAC et les adresses IP est géré par le noyau de l'instance.
Table de conversion MAC, table de conversion IP, table de connexion active
Ces tables sont hébergées sur le réseau VPC sous-jacent, et elles ne peuvent être ni inspectées, ni configurées.
Serveur DNS

Le serveur de métadonnées de chaque instance agit comme un serveur DNS. Il stocke les entrées DNS pour toutes les adresses IP du réseau VPC dans le réseau VPC local et appelle le serveur DNS public de Google pour les entrées hors du réseau VPC. Vous ne pouvez pas configurer ce serveur DNS. Le client DHCP de chaque instance est configuré pour gérer le fichier /etc/resolv.conf de l'instance.

Vous pouvez ajouter votre propre domaine de recherche ou vos propres serveurs de noms au fichier /etc/resolv.conf de l'instance en modifiant la stratégie DHCP. De nombreuses distributions Linux permettent de rendre ces modifications persistantes via /etc/dhcp/dhclient.conf. Pour plus d'informations, consultez la documentation sur le DNS interne.

Gestion des paquets entre le réseau VPC et l'extérieur

Les paquets entrant ou sortant du réseau VPC sont gérés par le code réseau qui examine le paquet en fonction des règles de pare-feu, de la table de conversion IP externe et de la table des connexions actives. Le réseau VPC exécute également la fonctionnalité NAT sur les paquets entrant et sortant du réseau VPC.

Paquets reçus par une instance

Ces paquets sont reçus et transformés en flux par le noyau de l'instance selon la procédure standard.

Paquets envoyés par une instance

Les paquets sont envoyés par le noyau de l'instance selon la procédure standard. Les fonctionnalités d'interface et de réseau sont modélisées à l'aide du module réseau VIRTIO.

Tutoriel détaillé de connexion

Voici des informations plus détaillées sur le déroulement d'un appel effectué par une instance sur le réseau VPC.

Une instance effectue un appel :

  1. Si l'adresse cible est un nom d'instance ou une URL telle que www.google.com, l'instance appelle le service DNS sur son serveur de métadonnées et récupère l'adresse IP correspondante. Vous pouvez configurer votre instance pour consulter un autre service DNS, mais vous ne pourrez pas résoudre les noms d'instance.
  2. L'adresse IP de destination est examinée en fonction de la plage d'adresses IP du sous-réseau, que chaque instance connaît.

    1. Si l'adresse IP ne se trouve pas dans le réseau VPC actuel ou dans un réseau VPC appairé à l'aide de l'appairage de réseaux VPC :

      1. L'instance envoie le paquet à l'adresse MAC de la passerelle du sous-réseau avec la destination définie sur la destination finale du paquet. L'instance peut avoir besoin d'exécuter une requête ARP pour résoudre l'adresse MAC de la passerelle.

      2. Le réseau VPC réécrit l'en-tête IP pour déclarer l'adresse IP externe de l'instance comme source. Si l'instance ne dispose pas d'adresse IP externe, l'appel n'est pas autorisé, et le réseau VPC supprime le paquet sans en informer l'expéditeur.

      3. Le réseau VPC enregistre le paquet sortant, et ajoute la source et la destination à la table des connexions actives.

      4. Le réseau VPC envoie le paquet à sa destination.

      5. La destination reçoit le paquet et répond si elle le souhaite.

      6. Le réseau VPC reçoit la réponse, consulte la table des connexions actives, note qu'il s'agit d'une connexion active et l'autorise. Le réseau VPC consulte sa table de conversion IP réseau/externe et remplace l'adresse IP externe de l'instance par l'adresse réseau correspondante, puis envoie le paquet à l'instance source.

      7. L'instance reçoit le paquet.

    2. Si l'adresse IP de destination se trouve sur le réseau VPC ou sur un réseau VPC appairé à l'aide de l'appairage de réseaux VPC :

      1. L'instance est configurée avec une adresse IP ayant un masque 255.255.255.255. L'instance envoie donc le paquet à l'adresse MAC de la passerelle du sous-réseau. L'instance peut d'abord avoir besoin d'exécuter une requête ARP pour résoudre l'adresse MAC de la passerelle.

      2. Google Cloud transmet le paquet à l'adresse IP de destination dans le réseau VPC actuel ou appairé.

      3. L'instance cible reçoit le paquet. L'instance cible vérifie le pare-feu d'entrée pour déterminer si le paquet est autorisé. Si ce n'est pas le cas, le paquet est supprimé sans notification. Si c'est le cas, l'instance traite le paquet.

Une instance ou un ordinateur externe appelle une instance :

  1. L'appelant externe envoie un paquet à l'adresse IP externe d'une instance qui appartient au réseau VPC.

  2. Le réseau VPC compare le paquet à la table des connexions actives pour voir s'il s'agit d'une connexion existante :

    1. S'il ne s'agit pas d'une connexion existante, le réseau VPC recherche une règle de pare-feu pour autoriser la connexion.
    2. En l'absence de règle de pare-feu, le réseau VPC supprime le paquet sans en informer l'expéditeur.
  3. S'il existe une connexion ou une règle de pare-feu valide, le réseau VPC examine sa table de conversion et remplace l'adresse IP externe par l'adresse IP interne correspondante dans le paquet. Il enregistre ensuite le paquet entrant dans la table des connexions actives et l'envoie à l'instance cible.

  4. L'instance reçoit le paquet et répond comme indiqué dans la section Si l'adresse IP se trouve en dehors de la plage d'adresses IP du réseau VPC lors de l'envoi d'un paquet à l'extérieur de la plage du réseau.

  5. Le réseau VPC reçoit la réponse, trouve la requête entrante correspondante dans la table des connexions actives et autorise le passage du paquet. Avant l'envoi, il modifie l'adresse IP source en remplaçant l'adresse IP interne de l'instance par l'adresse IP externe correspondante de sa table de conversion.

Mesurer le débit du réseau VPC

Pour obtenir des instructions, consultez la section Calculer le débit du réseau.

Étapes suivantes