Presentamos el estándar 100 Gigabit Ethernet (GbE) en la red Fastly
En diciembre discutíamos la importancia de la velocidad y la hazaña lograda por Fastly al transferir 1 terabit de contenido por segundo en Internet. Conforme ampliamos nuestra red, vamos evaluando avances tecnológicos que nos permitan mantenernos a la cabeza de la competencia. Uno de estos avances es el 100GbE switch en formatos de unidad de un rack, que acabamos de usar en nuestros primeros puertos 100GbE en el Amsterdam Internet Exchange (AMS-IX). Eran muchos los interrogantes antes de confirmar que, efectivamente el 100 GbE era un complemento perfecto para nuestro entorno de mayor tamaño. Vamos a contaros cómo fue nuestro análisis previo antes de tomar ninguna decisión.
Al sopesar el coste del hardware 100GbE con la conectividad total del centro de datos, ante nuestro ritmo de crecimiento actual, las economías de escala se sumaron para que 100GbE fuera un complemento eficaz a nuestro modelo de implementación. Estamos maximizando realmente bien la capacidad de nuestra red, además de que aprovechamos todas las ventajas de nuestros recursos de hardware, por lo que la adopción de 100GbE debía obedecer más a una razón económica, y no ser un capricho del que poder presumir en nuestra infraestructura.
Pero no nos engañemos —y hablo como cualquier ingeniero de red emocionado por las conexiones y los anchos de banda grandes— 100GbE sigue siendo una pasada.
Vamos a repasar las tres principales consideraciones de diseño que tuvimos en cuenta al decidirnos por 100GbE.
Conectividad cruzada
Si bien el coste de un switch 100GbE y la fibra óptica asociada sigue siendo más alto que el de un switch 10GbE estándar, como el que se ve en numerosos centros de datos, hay un coste oculto que suele obviarse: la conectividad cruzada. En Fastly, usamos incontables conexiones cruzadas del centro de datos.
En un centro de datos normal, tienes que conectar tu equipo de red al equipo de red de otra entidad. Tanto si la conexión se realiza en el sistema físico como aparte, para conectar dos puntos, por ejemplo, el equipo de Fastly y el equipo de la otra red, se contrata un paquete de suscripción de fibra. Al hacer un recuento de las conexiones cruzadas necesarias para cualquier recurso, como un POP de Fastly, las tarifas empiezan a dispararse. Los precios de las conexiones cruzadas suelen tratarse como el bien inmueble del centro de datos, por lo que no registran recortes anuales, como sucede con otros componentes del sector (por ejemplo, el hardware de red o las velocidades de IP).
En la siguiente figura, puede verse uno de los numerosos switches de un POP de Fastly, con varias conexiones 10GbE para cada proveedor de tráfico de red. Cada una de estas conexiones de extremo a extremo constituye una tarifa de conectividad cruzada mensual que hay que pagar al centro de datos, sin hablar del coste fijo de la fibra ni de los transceptores ópticos necesarios para establecer la conexión física.
Un switch con 16 conexiones cruzadas para varios proveedores de red
Con la llegada de los switches 100GbE, podemos comprimir nuestras necesidades de conectividad para los servicios "northbound" en un enlace de 100GbE, en lugar de repartirlas entre docenas de enlaces 10GbE. Esto supone una reducción importante de conexiones cruzadas, fibra y óptica. De hecho, en nuestro caso los ahorros se multiplican por 6 en algunos de nuestros POP con más tráfico de datos.
Nuestro equipo de infraestructura del centro de datos también está muy feliz, solo hay que ver las fotos a continuación.
Combinación de varios switches 10GbE en 2 switches 100GbE
Uno de los dos paneles de conexión cruzada en un POP de Fastly
Tiempo de carga
No todos los switches 100GbE son iguales, y teníamos que conocer las capacidades de tiempo de carga y el efecto de la conversión de velocidad. Si pensamos en la serialización de una trama de Ethernet que se transfiere desde una interfaz 10GbE de un switch a otra interfaz 10GbE del mismo switch, no suele ser necesario ningún tiempo de carga. En este caso, la trama se reenvía en cuanto se conoce la dirección MAC, por lo general antes de los primeros seis bytes. Es lo que se conoce como conmutación virtual cut-through y no necesita tiempo de carga. De forma parecida, si transfieres un paquete desde una interfaz 100GbE de un switch a otra interfaz 100GbE del mismo switch, el paquete, además de retransmitirse virtualmente mediante cut-through, va más rápido a efectos de demora de serialización si se compara con 10GbE.
Un problema posible es cuando un paquete llega al switch desde una interfaz 10GbE y tiene como destino una interfaz 100GbE del mismo switch. En este caso, hay que aplicar una función de conversión de velocidad. El resultado es que el switch almacena en buffer toda la trama antes de reenviarla, por lo que podría aumentarse la latencia. Aunque quizá sea más preocupante un pico de tráfico grande que puede desbordar a los buffers pequeños, lo que ocasionaría que las tramas se perdieran durante la conversión de la velocidad. En definitiva, es importante tener en cuenta la capacidad de tiempo de carga según el diseño de la red y el perfil de tráfico previsto. Para la topología relativamente plana de Fastly y los diversos modelos de tráfico, optamos por el buffer de mayor capacidad de los switches 100GbE 7280E y 7280R de Arista.
Coste del ancho de banda
También hay que barajar el coste del ancho de banda. Por lo general, si compras ancho de banda al por mayor de un proveedor de red de nivel 1, tienes que pagar una tarifa mínima por un porcentaje de uso mínimo del puerto, independientemente de si haces uso de toda esa cantidad. Por ejemplo, imaginemos que contratas un uso mínimo del 10 %. Este tráfico se alcanza más fácilmente en un puerto 10GbE que en otro 100GbE. Si no llegas a usarlo del todo, estás tirando el dinero. Es como apuntarte al gimnasio e ir solo una vez.
Otras consideraciones de diseño
Con nuestro actual diseño POP de gran tamaño, conectamos a los proveedores de conexiones a cuatro switches para después aumentar la capacidad con varios lotes de agregación de enlaces 10GbE (LAG) según resulte necesario. Si vas a cambiar 200 Gbps de ancho de banda proporcionados por 4 lotes de 50 Gbps con 2 puertos 100GbE, has dividido por la mitad la tolerancia a fallos de tu switch. Estudiamos muy detenidamente qué suponía todo esto en un evento de mantenimiento o fallo, cuando la capacidad efectiva de un proveedor de conexión puede reducirse a la mitad con solo perder un enlace. En los diseños anteriores con varios switches 10GbE, la pérdida de capacidad efectiva podía oscilar entre el 6-12 % ante el fallo del enlace según los recuentos de paquetes LAG. La diferencia es importante.
La siguiente es una ilustración de un fallo en un enlace en una implementación íntegra de 100GbE. Partimos de que se envían 120 Gbps al puerto A con una distribución igual desde el switch A y B. El fallo de un enlace ascendente en algún punto entre el switch A y el puerto A ocasionaría congestión entre el switch B y el puerto A.
Riesgo de sobresuscripción de 100GbE al puerto A
Una solución obvia habría sido repartir cada proveedor entre los switches para obtener una tolerancia a fallos completa, como con el modelo 10GbE que describí antes. Muy fácil, problema resuelto, pero es más que probable que se desperdicie capacidad en un diseño íntegramente 100GbE. Además, algunos switches 100GbE, como el 7280E, solo tienen disponibles dos puertos 100GbE. No somos de ir tirando el dinero buscando soluciones a los problemas y tenemos un equipo muy inteligente que dio con una solución mejor. Pronto podremos ampliar algunos de nuestros sistemas para detectar fallos y congestión en los enlaces ascendentes, para que el POP se active y redirija automáticamente el tráfico hacia los enlaces menos usados, con lo que se solucionará esta limitación específica del diseño.
¿Qué es lo siguiente?
Hay una necesidad real de diseños de POP que puedan admitir grandes cantidades de terabits. Llegará un día en el que veremos la nueva generación de interfaces como 400GbE, y alcanzaremos otro punto de inflexión que nos llevará a repetir este ejercicio. Aunque este blog trata sobre los switches 100GbE, también hay interesantes avances para la conectividad del servidor. Con el progreso de la tecnología de servidor, nuestras cachés acabarán siendo más grandes que las interfaces 10GbE actuales. Si partimos de esto, las plataformas de switch basadas en el chipset Jericho, con una increíble densidad de 100GbE en un tamaño compacto, resultan cada vez más interesantes para nuestros diseños en continua evolución.
Como ingeniero de red en Fastly preveo un futuro lleno de emociones y retos. El próximo gran logro de nuestro equipo será cuando alcancemos los 2 terabits por segundo. Pero lo que ofrecemos es solo una parte de la capacidad total que creamos para nuestros clientes con el objetivo de responder a picos de tráfico alto (como la Super Bowl), protegerles de los ataques DDoS, etc. A los ingenieros de red les gusta conseguir grandes anchos de banda, pero nuestro equipo va más allá y busca soluciones creativas y formas eficientes de usar esa capacidad en beneficio de nuestros clientes. Tenemos un equipo brillante, expertos que buscan soluciones a los problemas y estamos contratando a personal nuevo. Nos encantará conocerte.