Adiós STP. ¡Hola FABRIC!

Adiós STP. ¡Hola FABRIC!
https://unsplash.com/@andresloquesea

Llevamos más de 20 años haciendo uso de VLANs (IEEE 802.1Q). Es el mecanismo estándar para segmentar nuestras redes Ethernet (40 años). Y llevamos muchos años sufriendo los problemas derivados del funcionamiento de Ethernet, posiblemente el principal es la formación de bucles. Para eliminar los bucles hemos ido pasando por distintas técnicas y protocolos, el más popular el querido y odiado Spanning Tree Protocol (STP) en sus múltiples variantes. Hoy en día las nuevas redes Ethernet pasan por prescindir totalmente de los problemas históricos de las VLANs y STP, pero como casi siempre tenemos distintas opciones en función de nuestros requisitos. Veamos cual puede ser la solución más adecuada.

HACIENDO MEMORIA

Cuando empecé a trabajar en el mundo de las redes, aunque ya la mayoría de los equipos soportaban la creación de VLANs (se definieron en el 802.1Q del año 1998), nadie se sentía cómodo utilizándolas. Recuerdo también cuando por primera vez segmentamos la LAN de un edificio y cuando comenzamos a emplear STP y pudimos añadir enlaces redundantes. Poco a poco hemos ido perdiendo esos miedos, pero durante 20 años hemos sufrido los problemas de STP y sus distintas variantes: STP, PVSTP, RSTP, PVSTP+, MSTP

En paralelo a las variantes de STP surgió la aproximación de dotar de redundancia de enlaces mediante la unión de dispositivos en un único elemento (multichasis) como han sido VSS de Cisco, Virtual-Chassis de Juniper o Chassis-Bounding de Enterasys entre otros.

Otra aproximación fue que la redundancia de enlaces fuese por la unión de éstos en un agregado, siendo los dispositivos independientes (multienlace). Aquí hemos visto vPC de Cisco Nexus, el estándar MC-LAG (IEEE 802.3ad),…

También tuvimos una época en la que los equipos se agregaban como miembros de los chasis centrales formando un único dispositivo con “tarjetas de línea” distantes (multidispositivo). Aquí hemos disfrutado de tecnologías como Cisco FEX o Juniper QFabric por ejemplo.

En otra línea de trabajo vimos como aparecieron protocolos estándar o propietarios para tratar de normalizar esas tecnologías "multi". Aquí hemos podido degustar Cisco FabricPath, TRILL (RFC 5556) o SPB (IEEE802.1aq).

Mientras que las anteriores soluciones competían en el mercado de la LAN (tanto de usuarios como en el datacenter), había otra aproximación para la interconexión de los emplazamientos. Hemos tratado durante mucho tiempo de aislar el nivel 2 lo más posible, pero los datacenters nos demandaron la extensión de los dominios de broadcast. Le hemos llamado DCI (Data Center Interconnect) y para los usuarios vuelve a ser una necesidad y lo denominamos Campus Interconnect. En este entorno hemos ido pasando por enlaces dedicados o hemos ido usando otras soluciones como Cisco OTV (Overlay Transport Virtualization), PWE3 (pseudowire), VPLS (virtual private wire service), L2TPv3 o las variantes definidas por el MEF (E-LINE, E-TREE, E-LAN). También hemos visto en entornos de ServiceProviders como afloraban soluciones MAC-in-MAC (PBB [802.1ah] y PBT [802.1Qay]) y soluciones de MAC-in-IP como VxLAN y EVPN

En la siguiente figura se muestran slides que preparé en 2012 (hace ahora ya 10 años) al respecto:

FABRICs y SDN

Muchas de las tecnologías anteriormente descritas están ya discontinuadas, otras no tienen mucho sentido seguir pensando en ellas, pero como casi siempre nos sucede en el mundo del IT tenemos distintas alternativas y en función de nuestras necesidades encajará mejor una u otra.

Hemos empezado hablando del gran problema que necesitábamos solucionar en las redes ethernet para dotarlas de redundancia, sin generar bucles, y sin tener enlaces bloqueados. Pero adicionalmente en los últimos años estamos viendo como el espacio asignado a la creación de VLANs, 12bits, hace que esos pocos más de 4000 identificadores sean escasos para las nuevas necesidades de los datacenters. Esa misma limitación ya ocurría en los SP y por ello se recurrió antes a la aplicación de soluciones en ese respecto. Por lo tanto, las dos consideraciones iniciales a tener en cuenta son: eliminación de STP y ampliación del espacio de asignación de IDs.

Por el camino han aparecido nuevas necesidades, como puede ser las redes definidas por software (SDN), el networking basado en intención (IBN), el Self-Driving Networks o redes autónomas (ADN). En todos los casos la introducción de mecanismos de aprendizaje e inteligencia artificial (ML/AI) junto con la observabilidad de la experiencia digital de usuario (DEM) determinan soluciones totalmente enfocadas a las necesidades actuales de cualquier organización.

Hoy en día el debate en las sesiones de diseño siempre acaba en las ventajas e inconvenientes de plantear soluciones de fabrics de nivel 2 (L2) o de nivel 3 (L3) y cuando cada una de ellas es conveniente en soluciones de acceso y campus o en soluciones de datacenter.

En primer lugar, es necesario mencionar que por fabric entendemos un conjunto de switches que se comportan y administran como un único equipo (con o sin el empleo de un controlador). El término fabric (tejido en inglés) hace referencia a poder usar tantos equipos y conexiones entre ellos como necesitemos, evitando la formación de bucles y creando ese tejido entre los switches, tan tupido como deseemos. El término se ha extendido al dominio de los routers y por ejemplo hablamos de fabrics o mallas de SD-WAN.

En los datacenters se ha optado de-facto por el empleo de dos capas (leaf and spine) para la construcción del underlay, y la utilización en la mayoría de los casos de fabrics de nivel 3. Nos encontramos en este caso con soluciones como Cisco ACI, Extreme IPfabric, Arista, Juniper IPfabric,… Normalmente contemplan el uso de un protocolo de routing interno (ISIS) sobre el que se lanzan túneles VXLAN (para poder extender el nivel 2 sobre una red de nivel 3) y en el que se intercambia la información de MAC y Prefijos mediante BGP (EVPN). Por esta inicial complejidad estaban orientadas a grandes datacenters con alto grado de automatización e integración, sin embargo, la madurez de las soluciones hace que encaje en casi todos los escenarios. Seguimos contando también con soluciones de fabric de nivel 2 que en muchos casos de uso encajan a la perfección, simplificando la operativa sin reducir funcionalidades habitualmente empleando protocolos propietarios (Cisco FabricPath, Extreme VCS,…)

En el acceso y campus estamos de nuevo en un punto de consolidación de tecnologías y soluciones. En primer lugar apareció el SDN para el datacenter (SD-DC, con los fabrics y ejemplos anteriormente descritos), en segundo lugar llegó la ola del SDN en la WAN (SD-WAN), y ahora es el turno del SDN en el acceso (LAN y WLAN). Aquí cada fabricante tiene su aproximación. Hay soluciones en las que se agrega el acceso y la WAN para pasar a hablar de SD-Branch (dejando el campus fuera) con Fortinet o Meraki; hay soluciones que se centran únicamente en la capa de acceso y hablamos de Cisco SD-Access (usando LISP y VxLAN), Extreme Campus Fabric (usando SPBm), Juniper AI-driven Campus (usando EVPN y VxLAN), SD-Campus,…

CONCLUSIONES

Las nuevas redes pasan por la creación de fabrics tal y como hemos visto.

Los fabrics eliminan las dos grandes limitaciones que planteábamos al principio:

  • STP. Mediante la construcción de un fabric libre de bucles, sea a nivel 2 (SPB y TRILL) o a nivel 3 (VxLAN + EVPN).
  • Ampliación del espacio de identificadores de las VLANs. El uso tanto de VxLAN como de SPB nos hace pasar de unos 4.000 (12 bits) a 16 millones (24 bits).

La elección de la tecnología más adecuada depende de múltiples factores y de los casos de uso. Habitualmente un fabric IP tiene una escalabilidad mayor que un fabric Ethernet, pero también implica un mayor número de protocolos y complejidad. Hay que analizar cuestiones generales como las integraciones con otros dominios (LAN, WAN, DC) o con otras áreas de la compañía (Seguridad, Sistemas,…), hay que elegir el fabricante que más tranquilidad nos aporte, hay que decidir si deseamos soluciones estándar y abiertas o cerradas y propietarias (con sus ventajas e inconvenientes) y también hay que analizar cuestiones más específicas como balanceo de enlaces (ECMP), tratamiento del tráfico multicast, extensión entre sedes, uso de gateway distribuido, compatibilidad con IPv6, esfuerzo en operativa recurrente, automatización, tiempos de convergencia, hipersegmentación y soporte multitenant, tratamiento multihoming activo-activo,….