Como um URL é resolvido em um endereço IP de um servidor ESPECÍFICO?

Como um URL é resolvido em um endereço IP de um servidor ESPECÍFICO?

Entendo que o DNS resolve um nome de URL em um endereço IP, mas não entendo como o DNS surge com UM endereço IP de servidor específico quando alguns sites como o Google têm alguns data centers com mais de 200.000 servidores.

Responder1

O que você está descrevendo é chamado DNS de balanceamento de carga. Existem diferentes tipos de balanceadores de carga, o mais simples é o balanceamento de carga Round Robin. Este link tem uma boa explicação deDNS Round Robin. Este método é frequentemente usado quando você tem grandes cargas e/ou tráfego pesado que um servidor e/ou rede não consegue controlar sozinho.

Rodadao balanceamento de carga é um dos métodos mais simples para distribuir solicitações de clientes em um grupo de servidores. Percorrendo a lista de servidores do grupo, o balanceador de carga round-robin encaminha uma solicitação do cliente para cada servidor por vez. Quando chega ao final da lista, o balanceador de carga retorna e desce na lista novamente (envia a próxima solicitação para o primeiro servidor listado, a seguinte para o segundo servidor e assim por diante).

O principal benefício do balanceamento de carga round-robin é que ele é extremamente simples de implementar. No entanto, isso nem sempre resulta na distribuição de tráfego mais precisa ou eficiente, porque muitos balanceadores de carga round-robin assumem que todos os servidores são iguais: atualmente ativos, atualmente lidando com a mesma carga e com a mesma capacidade de armazenamento e computação. As seguintes variantes do algoritmo round-robin levam em consideração fatores adicionais e podem resultar em melhor balanceamento de carga:

Rodada ponderada— É atribuído um peso a cada servidor com base em critérios escolhidos pelo administrador do site; o critério mais comumente usado é a capacidade de tratamento de tráfego do servidor. Quanto maior o peso, maior será a proporção de solicitações de clientes que o servidor recebe. Se, por exemplo, ao servidor A for atribuído um peso 3 e ao servidor B um peso 1, o balanceador de carga encaminhará 3 solicitações ao servidor A para cada 1 que enviar ao servidor B.

Rodada dinâmica— Um peso é atribuído dinamicamente a cada servidor, com base em dados em tempo real sobre a carga atual e a capacidade ociosa do servidor.

Existem outros métodos, mas acho que isso deve lhe dar uma compreensão decente do que está acontecendo nos bastidores.

Responder2

Isso não acontece.

Embora nosso navegador possa enviar várias solicitações para um endereço IP, não há garantia de que você esteja se comunicando com o mesmo servidor em cada conexão. Na verdade, é provável que você não esteja. Um único endereço IP pode ser roteado para diferentes hosts dependendo de onde você está na topologia da rede. Qualquer transmissãoé uma forma popular de anunciar um endereço IP que é roteado para vários servidores, dependendo de qual servidor está "mais próximo" na rede. Muito simplificado, os roteadores de fronteira espalhados pela rede anunciam que podem alcançar o endereço IP ABCD e seu ISP encaminha sua solicitação para o roteador mais próximo, que então encaminha a solicitação para o host. O host por trás desse endereço IP provavelmente será um balanceador de carga que distribui solicitações recebidas para um farm de servidores. Através da tradução de endereços de rede, as respostas voltam dos servidores parecendo ter vindo do mesmo endereço IP único.

informação relacionada