Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Conceitos avançados de VPC
Esta página apresenta mais detalhes sobre as redes da nuvem privada virtual (VPC).
Antes de ler esta página, consulte Redes VPC. Se você tiver interesse em redes VPC com peering, consulte Peering de redes VPC.
Detalhes da rede VPC de nível baixo
Esta seção fornece alguns detalhes da rede VPC de nível baixo.
Não é necessário lê-la para saber sobre o uso típico, mas ela proporciona um entendimento mais aprofundado sobre o funcionamento da rede VPC. O diagrama a seguir descreve esses detalhes de nível baixo, com mais informações nas seções correspondentes.
A rede VPC (clique para ampliar).
O que cada parte faz
Os diferentes recursos de rede VPC são processados por
diferentes partes do sistema. Alguns são recursos padrão de rede que já estão bem documentados, outros são específicos das redes VPC. Alguns recursos podem ser configurados e outros não.
As redes VPC usam o módulo de rede VIRTIO do Linux para modelar a funcionalidade de cartão Ethernet e roteador, mas os níveis mais altos da pilha de rede, como as consultas ARP, são processados por software de rede padrão.
Consulta ARP
O kernel da instância emite solicitações ARP e a rede VPC emite respostas ARP. O mapeamento entre endereços MAC e endereços IP é processado pelo kernel da instância.
Tabela de consulta MAC, tabela de consulta IP, tabela de conexão ativa
Essas tabelas são hospedadas na rede VPC subjacente e não podem ser inspecionadas ou configuradas.
Servidor DNS
O servidor de metadados de cada instância atua como um servidor DNS. Ele armazena as entradas de DNS de todos os endereços IP de rede VPC na rede VPC local e chama o servidor DNS público do Google para as entradas de fora da rede. Não é possível configurar este servidor DNS. O cliente DHCP em cada instância é configurado para gerenciar o arquivo /etc/resolv.conf da instância.
É possível adicionar seus próprios domínios de pesquisa ou servidores de nomes ao /etc/resolv.conf da instância modificando a política de DHCP. Muitas distribuições do Linux permitem que essas modificações sejam mantidas por meio do /etc/dhcp/dhclient.conf.
Consulte a documentação sobre DNS interno para mais informações.
Processamento de pacotes entre a rede VPC e o lado externo
Os pacotes que entram ou saem da rede VPC são processados pelo código da rede, que os examina em relação às regras de firewall, à tabela de consulta de IP externo e à tabela de conexões ativas. A rede VPC também executa NAT nos pacotes que entram e saem dela.
Pacotes recebidos por uma instância
Esses pacotes são recebidos e transformados em stream pelo kernel da instância de maneira padrão.
Pacotes enviados por uma instância
Os pacotes são enviados pelo kernel da instância de maneira padrão. A interface e a funcionalidade da rede são modeladas usando o módulo de rede VIRTIO.
Instruções detalhadas de conexão
Veja mais detalhes sobre o que acontece quando uma instância faz uma chamada à rede VPC.
Uma instância faz uma chamada:
Se o endereço de destino for um nome de instância ou um URL como www.google.com, a instância chamará o serviço DNS em seu servidor de metadados e receberá o endereço IP correspondente. Você pode configurar a instância para consultar outro serviço DNS, mas isso impede a resolução de nomes de instância.
O endereço IP de destino é examinado em relação ao intervalo de endereços IP da sub-rede, que todas as instâncias reconhecem.
Se o endereço IP não estiver na
rede VPC atual ou em uma rede VPC
com peering usando peering de rede VPC:
A instância envia o pacote para o endereço MAC do gateway da sub-rede com a definição do destino final do pacote. Talvez a instância precise fazer uma solicitação ARP para resolver o endereço MAC do gateway.
A rede VPC reescreve o cabeçalho IP para declarar o endereço IP externo da instância como a origem. Se a instância não tiver nenhum endereço IP externo, a chamada não será permitida e a rede VPC descartará o pacote sem informar o remetente.
A rede VPC registra o pacote de saída e adiciona a origem e o destino à tabela de conexões ativas.
A rede VPC envia o pacote para seu destino.
O destino recebe o pacote e responde, se for o caso.
A rede VPC recebe a resposta, consulta a tabela de conexões ativas, constata que é uma conexão ativa e a permite. A rede VPC consulta a tabela de consulta de IP externo/rede, substitui o endereço IP externo da instância pelo endereço de rede correspondente e envia o pacote para a instância de origem.
A instância recebe o pacote.
Se o endereço IP de destino estiver na rede VPC
ou em uma rede VPC com peering usando peering de rede VPC:
A instância é configurada com um IP com a máscara 255.255.255.255, para que possa enviar o pacote ao endereço MAC do gateway da sub-rede. Talvez a instância precise fazer uma solicitação ARP para resolver o endereço MAC do gateway.
O Google Cloud encaminha o pacote para o endereço IP de destino
na rede VPC atual ou com peering.
A instância de destino recebe o pacote. A instância de destino verifica o firewall de entrada para determinar se o pacote está permitido. Se não estiver, o pacote será simplesmente descartado. Caso contrário, a instância processa o pacote.
Uma instância externa ou computador chama uma instância:
O chamador externo envia um pacote ao endereço IP externo de uma instância, que pertence à rede VPC.
A rede VPC compara o pacote com a tabela de conexões ativas para verificar se essa é uma conexão existente:
Se ela não for uma conexão existente, a rede VPC vai procurar uma regra de firewall para permitir a conexão.
Se não houver uma regra de firewall, a rede VPC descartará o pacote sem informar o remetente.
Se houver uma conexão existente ou uma regra de firewall válida, a rede VPC examinará a tabela de consulta e substituirá o IP externo pelo IP interno correspondente no pacote, registrará o pacote de entrada na tabela de conexões ativas e o enviará para a instância de destino.
A rede VPC recebe a resposta, encontra a solicitação de entrada correspondente na tabela de conexões ativas e permite a passagem do pacote. Antes de enviar, ela modifica o endereço IP de origem substituindo o IP interno da instância pelo IP externo correspondente da tabela de consulta.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-12-06 UTC."],[],[],null,["# Advanced VPC concepts\n=====================\n\nThis page goes into additional detail about Virtual Private Cloud (VPC) networks.\nBefore reading this page, see [VPC networks](/vpc/docs/vpc). If you are interested in peered VPC networks, see [VPC Network Peering](/vpc/docs/vpc-peering).\n\nLow-level VPC networking details\n--------------------------------\n\nThis section provides some low-level VPC networking details.\nYou do not need to read this for typical usage, but it provides more\ninsight about how VPC networking works. The following\ndiagram describes these low-level details, with more information in the\ncorresponding sections.\n[](/static/vpc/images/detailednetworkingdiagram.svg) The VPC network (click to enlarge).\n\n### Who handles what\n\nThe different VPC networking features are handled by\ndifferent parts of the system. Some of these are standard networking\nfeatures that are well documented, and some of them are specific to\nVPC networks. Some features you can configure, and some you cannot.\nVPC networks use Linux's\n[VIRTIO network module](http://dl.acm.org/citation.cfm?id=1400097.1400108)\nto model Ethernet card and router functionality, but higher levels of the\nnetworking stack, such as ARP lookups, are handled using standard networking\nsoftware.\n\nARP lookup\n: The instance kernel issues\n [ARP requests](https://wikipedia.org/wiki/Address_Resolution_Protocol)\n and the VPC network issues ARP replies. The mapping between MAC addresses and IP addresses\n is handled by the instance kernel.\n\nMAC lookup table, IP lookup table, active connection table\n: These tables are hosted on the underlying VPC network and cannot be inspected or\n configured.\n\nDNS server\n\n: Each instance's metadata server acts as a DNS server. It stores the DNS\n entries for all VPC network IP addresses in the local VPC network and calls\n Google's public DNS server for entries outside the VPC network. You cannot\n configure this DNS server. The DHCP client on each instance is configured to\n manage the instance's `/etc/resolv.conf` file.\n\n: You can add your own search domain or nameservers to the instance's\n `/etc/resolv.conf` by modifying the DHCP policy. Many Linux\n distributions allow these modifications to persist via\n [`/etc/dhcp/dhclient.conf`](https://www.isc.org/wp-content/uploads/2017/08/dhcp41clientconf.html).\n See the [Internal DNS](/compute/docs/internal-dns) documentation for more\n information.\n\nPacket handling between the VPC network and the outside\n\n: Packets coming into or out of the VPC network are handled by network code that\n examines the packet against firewall rules, against the external IP lookup table, and\n against the active connections table. The VPC network also performs NAT on packets\n coming into and out of the VPC network.\n\nPackets received by an instance\n\n: These packets are received and turned into a stream by the instance kernel in\n the standard fashion.\n\nPackets sent by an instance\n\n: Packets are sent by the instance kernel in the standard way. Interface\n and network functionality are modeled using the\n [VIRTIO network module](http://dl.acm.org/citation.cfm?id=1400097.1400108).\n\n### Detailed connection walkthroughs\n\nHere are more details about what happens when an instance makes a VPC\nnetwork call.\n\n**An instance makes a call:**\n\n1. If the target address is an instance name or a URL such as www.google.com, the instance calls the DNS service on its metadata server and gets back the matching IP address. You can configure your instance to consult another DNS service, but then you will not be able to resolve instance names.\n2. The destination IP address is examined against the subnet's IP address range,\n which every instance knows.\n\n 1. If the IP address is not in the\n current VPC network or in a VPC network\n peered using VPC Network Peering:\n\n 1. The instance sends the packet to the subnet's gateway MAC address\n with the destination set to the packet's final destination. The\n instance might need to make an ARP request to resolve the gateway's\n MAC address.\n\n 2. The VPC network\n rewrites the IP header to declare the instance's external IP address\n as the source. If the instance has no external IP address, the call\n is not allowed, and the VPC network drops the packet without informing\n the sender.\n\n 3. The VPC network records the outgoing packet and adds the source and\n destination to the active connections table.\n\n 4. The VPC network sends the packet on to its destination.\n\n 5. The destination gets the packet and responds if it chooses.\n\n 6. The VPC network receives the response, consults the active connections\n table, notes that this is an active connection, and allows it. The\n VPC network consults its network/external IP lookup table and replaces\n the instance's external IP address with the matching network\n address and sends the packet to the source instance.\n\n 7. The instance receives the packet.\n\n 2. If the destination IP address is within the VPC network\n or in a VPC network peered using VPC Network Peering:\n\n 1. The instance is configured with an IP with 255.255.255.255 mask,\n so the instance sends the packet to the subnet's gateway\n MAC address. The instance first might need to make an ARP request\n to resolve the gateway's MAC address.\n\n 2. Google Cloud forwards the packet to the destination IP address\n within the current or peered VPC network.\n\n 3. The target instance receives the packet. The target instance\n checks ingress firewall to determine if the packet is allowed. If\n not, the packet is dropped silently. Otherwise, the instance\n processes the packet.\n\n**An external instance or computer calls an instance:**\n\n1. The external caller sends a packet to an instance's external IP address, which\n is owned by the VPC network.\n\n2. The VPC network compares the packet against the active connections table to\n see whether this is an existing connection:\n\n 1. If it is not an existing connection, the VPC network looks for a firewall rule to allow the connection.\n 2. If there is no firewall rule, the VPC network drops the packet without informing the sender.\n3. If there is an existing connection or valid firewall rule, the VPC network examines\n its lookup table and replaces the external IP with the corresponding internal\n IP in the packet, logs the incoming packet in the active connections table,\n and sends the packet to the target instance.\n\n4. The instance receives the packet and responds as described in\n **[If the IP address is outside the VPC network IP range](#ip_outside_network)**\n when sending a packet outside the network range.\n\n5. The VPC network receives the reply, finds the matching incoming request in the\n active connections table, and allows the packet through. Before sending, it\n modifies the source IP address by replacing the instance's internal IP with\n the corresponding external IP from its lookup table.\n\nMeasure VPC network throughput\n------------------------------\n\nFor instructions, see\n[Calculate network throughput](/community/tutorials/network-throughput).\n\nWhat's next\n-----------\n\n- To learn about VPC networks, see [VPC networks](/vpc/docs/vpc).\n- To create, modify, and delete VPC networks, see [Create and manage VPC networks](/vpc/docs/create-modify-vpc-networks)."]]