Si [code] www.google.com [/ code] solo tiene una dirección IP, ¿cómo funcionan juntos los diferentes servidores?

Primero, Google no tiene una sola dirección IP. Hay una gran variedad de direcciones IP devueltas para www.google.com dependiendo de dónde se resuelva y cuándo se resuelva.

Ahora, para cada dirección IP, probablemente tenga un esquema de equilibrio de carga para compartir la misma dirección IP en varios servidores no anunciados. Las posibilidades incluyen:

  • Un servidor muy rápido que redirige el navegador web a uno de los muchos servidores web nuevos.
  • Una pieza de hardware de red que actúa como un proxy inverso, pasando la solicitud a uno de los muchos servidores web detrás de él.
  • Un equilibrador de carga basado en difusión que difunde una solicitud de conexión entrante a un conjunto de servidores detrás de este, que tienen un algoritmo interno que determina cuál de ellos manejará la solicitud.

Estoy seguro de que hay más opciones. Pero la respuesta es que hay muchas direcciones IP para Google, y cada una probablemente está al frente de una serie de servidores web no anunciados.

Cuando ingresamos ‘www.google.com’ desde el navegador, nuestro DNS resuelve este nombre de dominio y nos da una dirección IP. Esta dirección IP podría ser la dirección IP de cualquier servidor de equilibrio de carga de cualquier centro de datos. Además, este equilibrador de carga redirige nuestra solicitud a cualquiera de los servidores para procesar nuestra consulta. Load Balancer es el servidor que se ejecuta frente a la granja de servidores. (Es la cara de la granja de servidores).

La granja de servidores (o clúster de servidores) es un grupo de servidores de computadoras mantenidos por una empresa cuando una máquina de servidor no es suficiente para procesar las solicitudes entrantes.

Entonces, todas las solicitudes entrantes primero van al equilibrador de carga y luego el equilibrador de carga asigna nuestra solicitud a cualquiera de los servidores de la granja de servidores web. La selección de qué servidor depende de la carga en el servidor individual de la granja o podría basarse en FCFS. (esto depende totalmente del algoritmo que se ejecuta en el equilibrador de carga).

Actualmente Google tiene 15 centros de datos (8 en América del Norte y 7 en el resto del mundo). Puede consultar el enlace de ubicaciones del centro de datos para ver las ubicaciones específicas de todos los centros de datos de Google.

Entonces, una dirección IP que ve es básicamente la dirección IP de cualquiera de los equilibradores de carga de cualquier centro de datos de 15.

¿Qué te hace pensar que Google solo tiene una dirección IP?

Google posee un montón de bloques de rangos de direcciones IP enrutables públicamente, y dentro de su red privada pueden usar cualquiera o todos los rangos de IPv4 de la red privada, posiblemente muchas veces. Por lo que sé, también pueden usar protocolos de red alternativos que ni siquiera usan direcciones IP.

Soporte de Google: rangos de direcciones IP de Google

C: \> nslookup -q = TXT _spf.google.com 8.8.8.8
Servidor: google-public-dns-a.google.com
Dirección: 8.8.8.8

Respuesta no autorizada:
_spf.Google text =

“v = spf1 incluye: _netblocks.google.com incluye: _netblocks2.google.com inc
lude: _netblocks3.google.com ~ all ”

C: \> nslookup -q = TXT _netblocks.Google 8.8.8.8
Servidor: google-public-dns-a.google.com
Dirección: 8.8.8.8

Respuesta no autorizada:
_netblocks.Google text =

“v = spf1 ip4: 64.18.0.0/20 ip4: 64.233.160.0/19 ip4: 66.102.0.0/20 ip4: 66.249.80.0/20 ip4: 72.14.192.0/18 ip4: 74.125.0.0/16 ip4: 108.177. 8.0 / 21 ip4: 173.194.0.0/16 ip4: 207.126.144.0/20 ip4: 209.85.128.0/17 ip4: 216.58.192.0/19 ip4: 216.239.32.0/19 ~ todos ”

C: \> nslookup -q = TXT _netblocks2.Google 8.8.8.8
Servidor: google-public-dns-a.google.com
Dirección: 8.8.8.8

Respuesta no autorizada:
_netblocks2.google.com text =

“v = spf1 ip6: 2001: 4860: 4000 :: / 36 ip6: 2404: 6800: 4000 :: / 36 ip6: 2607: f8b0: 4000 :: / 36 ip6: 2800: 3f0: 4000 :: / 36 ip6: 2a00: 1450: 4000 :: / 36 ip6: 2c0f: fb50: 4000 :: / 36 ~ all ”

C: \> nslookup -q = TXT _netblocks3.Google 8.8.8.8
Servidor: google-public-dns-a.google.com
Dirección: 8.8.8.8

Respuesta no autorizada:
_netblocks3.Google text =

“v = spf1 ip4: 172.217.0.0/19 ~ all”

Google y algunas otras grandes empresas de redes sociales como Facebook poseen algunos de los enrutadores más rápidos, potentes y caros del planeta. Y quiero decir caro. Estas compañías han invertido en tecnología de enrutamiento que rivaliza con los operadores de telecomunicaciones más grandes del mundo, además de todas las redes de fibra tanto internamente como a la mayoría de los principales puntos de interconexión que sirven como hubs en Internet.

Cisco CRS (Carrier Routing System) 1 se lanzó por primera vez a mediados de la década de 2000. Son capaces de enrutar 400 Gigabytes, por segundo, por ranura de línea en un chasis que puede contener 72 ranuras. Casi un petabyte por segundo en total. Evolucionaron a CRS-1, 2 y 3 y en 2010 prácticamente poseían el mercado de gama alta.

Desde entonces, Cisco ha lanzado unidades CRS aún más avanzadas como el X-Chassis. Estas unidades cuando se llenan a la capacidad máxima valen millones y millones de dólares. Una sola tarjeta tragamonedas puede exceder solo un millón de dólares.

Google y otros tienen una combinación de tecnología en uso y no dependen de un solo proveedor. Google tiene miles de direcciones IP que se utilizan en todo el mundo. Simplemente no los ves como “Google”. Se utilizan para todo, desde sus robots araña (para buscar en la web) hasta centros de datos y oficinas en todo el mundo. También se utilizan para redirigir el tráfico a otros socios y subcontratistas para garantizar que no se identifiquen como algo más que lo que la empresa quiere.

Hay un par de maneras.

1. Balanceadores de carga: – la dirección IP pública se asigna al equilibrador de carga que a su vez reenvía la solicitud a los servidores uno tras otro en función del método de carga compartida, el estado del servidor, etc.

2. IPV6 anycast: – el mismo prefijo IP se anuncia desde múltiples ubicaciones. Luego, la red decide a qué ubicación enrutar la solicitud de un usuario, en función de los costos del protocolo de enrutamiento y posiblemente del “estado” de los servidores de publicidad.

No lo hace, tiene varias direcciones IP:

$ dig -tA Google

; << >> DiG 9.8.3-P1 << >> -tA Google

;; opciones globales: + cmd

;; Tengo respuesta:

;; – >> HEADER << - código de operación: QUERY, estado: NOERROR, id: 50488

;; banderas: qr rd ra; CONSULTA: 1, RESPUESTA: 6, AUTORIDAD: 0, ADICIONAL: 0

;; PREGUNTA SECCIÓN:

; Google. EN UN

;; SECCION DE RESPUESTA:

Google 33 EN UN 74.125.28.103

Google 33 EN UN 74.125.28.104

Google 33 EN UN 74.125.28.105

Google 33 EN UN 74.125.28.147

Google 33 EN UN 74.125.28.99

Google 33 EN UN 74.125.28.106

;; Tiempo de consulta: 26 ms

;; SERVIDOR: 208.80.68.212 # 53 (208.80.68.212)

;; CUÁNDO: martes 22 de noviembre 16:03:20 2016

;; MSG SIZE rcvd: 128

¡Pero aún así, son solo 6 direcciones IP y obviamente tiene más de 6 servidores diferentes que responden a todas las preguntas del mundo!

Probablemente estén usando anycast (Anycast – Wikipedia) para que cada dirección IP corresponda realmente a uno de los muchos puntos finales. Y es probable que ese punto final sea un equilibrador de carga que realmente transfiere solicitudes a muchos otros equilibradores de carga y luego a muchos más servidores.

El servidor DNS de Google sabe cuándo alguien consulta Google.com, envía el servidor de paquetes, desde este servidor lo envía a todos los diferentes servidores. Por ejemplo: corrector ortográfico, Gmail, etc.