La red de Google es muy extensa para poder llegar con el mejor servicio a todos los lugares. Para ello usa una red de servidores llamados GGC o Google Global Cache. Estos servidores
¿Qué es un servidor GGC?
Un servidor GGC o Google Global Cache es una «Caja Negra» que Google te envía para que alojes en tu datacenter y tus usuarios pasarán por ahí en vez de pedirlo directamente al tránsito o al Punto Neutro al que estés conectado con Google, de esta forma Google reduce el tráfico que tiene contigo manteniendo a raya sus enlaces.
¿Cómo se consigue un GGC?
Es Google quien hace el ofrecimiento. Google tiene controlado en todo momento, sus conexiones, sus enlaces, qué y hacia donde envían tráfico. Por ese motivo cuando ellos consideran que tienen un enlace con alto tráfico observan quién se consume ese tráfico y al pasar un umbral ellos te ofrecen el envío de servidores para que tu lo alojes en tus instalaciones, pero estos teniendo siempre en cuenta que estos servidores son propiedad de Google y por lo tanto son administrador por ellos, gestionados por ellos y los cuales no puedes manipular bajo ningún concepto.
¿Qué requisitos tiene el GGC?
Antes de enviar los servidores te piden varios datos, entre ellos un rango /27 de tu red que tienes que reservarle para ellos. Los servidores tienen 4 puertos de red gigabit, de los cuales sólo están configurado 2 en forma de Port Channel por lo que tienes que tener disponible 2 puertos gigabit por servidor además de 2 cables de alimentación, ya que tienen fuente redundante.
¿Qué software tiene un GGC?
Como indicaba antes, es una caja negra, por lo que a parte de instalarlo de manera automática, no puedes hacer con ellos nada más con ellos. Ellos envían un Pen y en la propia instalación te preguntan los datos y que posición es la de ese servidor, con eso la propia instalación ya sabe que datos tiene que configurar.
¿Cómo funciona?
El gran parte de consumo de Google son los vídeos de Youtube, por eso la forma trabajar se basa precisamente en tu IP de origen. Cuando pides un vídeo de Youtube ellos detectan la IP que lo piden y controlan si tu IP está detrás de un GGC.
Al pedir un vídeo Youtube te manda a que te descargues el vídeo de un subdominio tipo https://r2—sn-hXXXXne6.googlevideo.com. Ese subdominio depende de donde estés, siempre te va a mandar al más cercano a tu red. Entendiendo cercano no en distancia física, sino en distancia de red. Por ese motivo si el sabe que estás detrás de una red con GGC te mandará a un subdominio que realmente apunta a ese GGC que está en tu red.
Cuando le pides el vídeo a tu GGC, este se comporta como un proxy típico. Si lo tiene ya almacenado te lo sirve de su caché, si no lo tiene lo pide y lo almacena para el próximo.
En la imagen de arriba se puede ver un ejemplo del antes y del después:
Antes:
Si se pedía algo, se le tenía que pedir directamente a Google, por lo que tenía que llegar a los servidores de Google y volver.
Ahora:
Si se pide algo, se le pide al Cache de Google. Si lo tiene, te lo da, si no lo tiene lo pide a google y entonces te lo sirve, pero muchas de las cosas, al tenerlas almacenada es mucho más rápido.
¿De verdad funciona?
Sí, la respuesta es simple, para muestra una imagen:
Como se ve en la imagen la salida del GGC es muy superior a la entrada, independientemente de que otro tráfico si venga directamente del Punto de Intercambio, en este caso ESpanix, o de tránsito, en este caso Colt. Como ya comenté en el post que hablaba de la importancia de los Peering, siempre se prefiere un punto neutro que el tráfico por tránsito.
Si tenéis más curiosidad Google tiene la documentación disponible paso por paso sobre como configurarlo e instalarlo:
https://support.google.com/interconnect/answer/9058809?hl=en