# IEEE 802.1aq

Shortest Path Bridging (SPB), especificado en el estándar IEEE 802.1aq, es una tecnología de red que posibilita el Multipath routing.
SPB surgió como reemplazo de los antiguos protocolos spanning tree, que sirvieron para evitar caminos redundantes que pudiesen tener swtiching loop y evitar así tormentas de tramas. Mientras que SPB permite tener activas todas las rutas con caminos de igual coste, lo que conlleva una mayor escalabilidad a nivel 2 aportando una mayor velocidad de convergencia y mejorando la eficiencia gracias a un incremento del ancho de banda y permitiendo al tráfico un reparto de carga a través de todos los caminos de una topología en malla. Está diseñado para eliminar el error humano durante la configuración, preservando así la naturaleza plug-and-play que estableció Ethernet como protocolo por defecto de nivel 2.
La tecnología proporciona redes lógicas Ethernet en infraestructuras Ethernet nativas utilizando un protocolo de estado de enlace (link state) para anunciar tanto la topología como la pertenencia a una red lógica. Los paquetes son encapsulados Mac-in-Mac 802.1ah en el extremo de la red o son etiquetados 802.1Q/802.1ad y enviados únicamente al resto de miembros de la red lógica. Se le proporciona soporte al tráfico Unicast, Multicast y Broadcast; y todo es encaminado por la ruta más corta.
El plano de control está basado en el protocolo Intermediate System to Intermediate System (IS-IS)

## Ventajas

Shortest Path Bridging - VID (SPBV) y Shortest Path Bridging - MAC (SPBM) son dos modos de funcionamiento de 802.1aq, y serán descritos más abajo. Aquí mencionar que ambos heredan las ventajas propias del enrutamiento de estado de enlace(link state routing):
* La capacidad de usar toda la conectividad física disponible, debido a que la prevención de bucles utiliza un Plano de Control con una visión global del estado de la red.
* La rápida restauración de la conexión tras un fallo, debido de nuevo a la visión global de la topología de red por el enrutamiento de estado de enlace.
* En caso de fallo, únicamente el tráfico afectado directamente por el error será afectado durante la restauración; el resto del tráfico no afectado continuará con normalidad.
* Rápida restauración de la conexión broadcast y multicast, gracias a que IS-IS inunda toda la información requerida en las extensiones SPB a IS-IS, permitiendo de este modo que sea instalada conexión unicast y multicast en paralelo, sin necesidad de ejecutar un proceso de señalización sobre la topología convergente unicast para calcular y crear árboles de multidifusión (multicast).
La virtualización se está convirtiendo en un aspecto cada vez más importante en un grupo de aplicaciones concretas, tanto en espacio de Carrier como de Enterprise; y SPBM , con su ruta de datos (datapath) MAC-in-MAC proporciona una completa separación entre las capas de cliente y servidor, está especialmente capacitado para ello.
“La virtualización del centro de datos” articula el deseo de aprovechar de forma flexible y eficiente los recursos de computación disponibles de forma que puedan modificarse rápidamente para responder a las diferentes demandas de aplicación, sin la necesidad de dedicarle recursos físicos a una determinada aplicación. Un aspecto de esto es la virtualización del servidor, el otro es la virtualización de conexiones, porque un conjunto de recursos de un servidor distribuidos físicamente deben estar ligados a una única subred IP, modificable de una forma simple y robusta. SPBM nos proporciona esto; gracias a su modelo cliente-servidor, que ofrece una emulación perfecta de un segmento transparente de LAN Ethernet, el cual es la subred vista en la capa 3. El componente clave de como esto se lleva a cabo es la implementación de VLANs con árboles de ámbito multicast, lo que significa no hay salidas de descarte para el tráfico broadcast/unknown, característica común a los enfoques que usan un bajo número de árboles compartidos, por lo tanto la red no se degrada por el aumento del porcentaje de frames descartados. Es además compatible con “single touch” de provisionamiento, de modo que la configuración es simple y robusta; el puerto de un servidor virtual debe ser limitado al SPBM I-SID que identifica el segmento de la LAN, después de lo cual IS-IS inunda dicho enlace, y todos los nodos que necesitan instalar el estado de reenvío para implementar el segmento LAN lo hacen automáticamente.
El espacio-Carrier equivalente de esta aplicación es la entrega de servicios VPN Ethernet a empresas sobre una infraestructura común Carrier. Los atributos requeridos son principalmente los mismos contados anteriormente, completa transparencia para los servicios Ethernet del consumidor, y aislamiento completo entre el tráfico de un cliente y el del resto. El modelo de segmento de LAN virtual múltiple (multiple virtual LAN segment model) nos lo proporciona, y el modelo de aprovisionamiento “single-touch” facilita las operaciones de transporte.
Otra consecuencia de la transparencia de SPBM tanto en el plano de datos como en el plano de control es que proporciona una perfecta entrega “sin compromiso” de los servicios MEF 6.1. Esto incluye no sólo las construcciones E-LINE y E-LAN, sino también la conectividad E-TREE. Proporcionando al carrier las herramientas para soportar geo-redundant broadband backhaul; en estas aplicaciones muchos DSLAMs u otros equipamientos de acceso deben ser “backhauled” a múltiples sitios BNG. Sin embargo, las DSLAMs no deben poder comunicarse entre ellas, porque entonces el carrier perdería la capacidad de controlar la conexión peer-to-peer y MEF E-TREE hace justamente esto, y además proporciona una estructura multicast eficiente para la distribución de IP-TV.
SPBM ofrece tanto el modelo de replicación multicast ideal, donde los paquetes son replicados en los puntos de bifurcación del shortest path tree que conecta los miembros, como el modelo “state intensive head end replication model” donde en esencia los paquetes unicast son enviados a todos los demás miembros a lo largo de la misma shortest path first tree. Estos dos modelos son seleccionados especificando las propiedades del servicio en la frontera afectando a las decisiones del nodo de transición en la instalación del estado multicast. Esta selección puede ser diferente para los diferentes miembros de un mismo Individual Service ID (I-SID), permitiendo diferentes trade-off a realizar por miembros diferentes.

## Modos de operación

En SPB, al igual que otros protocolos basados en link state, los cálculos se realizan de un modo distribuido. Cada nodo calcula el comportamiento hacia delante acorde con Ethernet, independientemente de la vista general de la red y calcula del mismo modo los puntos de conexión de servicios (user network interface (UNI)). Además, las tablas Ethernet “filtering Database” (o reenvío) son generadas localmente de forma independiente y determinista, con el comportamiento hacia delante de la red.
Debido a las dos vertientes en cuanto a la ruta de datos (Datapath) nos encontramos ante dos versiones de este protocolo. Una SPBM, utilizada cuando se precisa de un aislamiento completo de las direcciones MAC de los dispositivos de los clientes de la red, y por lo tanto usa un encapsulado completo (MAC-in-MAC a.k.a. IEEE 802.1ah). Y el otro es SPBV, usado cuando tal aislamiento no es necesario y reutiliza la etiqueta VLAN existente (a.k.a IEEE 802.1Q) en los enlaces network-to-network interface (NNI). El identificador de área local SPB (VLAN ID) o Shortest Parh Bridgin VID o SPBV proporciona “capacidad”, lo que consiste en que posee compatibilidad hacia atrás con tecnologías spanning tree. El Shortest Path Bridging Media Access (MAC) o SPBM, anteriormente conocido como Provider Backbone Bridge (SPBB) proporciona valores adicionales utilizables sobre Provider Backbone Bridge (PBB). SPB (término genérico de ambos) combina la ruta de datos (datapath) de Ethernet (IEE 802.1Q en el caso de SPBV, y PBBs en el caso de SPBM) con un protocolo de control de estado de enlace ejecutado entre Shortest Path bridges (enlaces (network-to-network interface (NNI)). Dicho protocolo de estado de enlace es utilizado para descubrir y anunciar la topología de red, además de calcular los “shortest path trees” (SPT) para todos los bridges de la región SPT.
En SPBM , las direcciones Backbone MAC (B-MAC) de los nodos participantes así como toda la información de servicio perteneciente a interfaces de dispositivos no conectados (interfaces libres) son distribuidas. Los datos de la topología son introducidos en un motor de cálculo, que obtiene los “shortest path trees” basándose en los caminos de menor coste de cada nodo participante al resto de nodos participantes. En SPBV estos árboles proveen un “shortest path tree” donde la dirección MAC individual puede ser aprendida y las direcciones de grupo (multicast) pueden ser distribuidas. En SPBM los “shortest path trees” son utilizados para generar tablas de reenvío (“tablas hacia delante”) para cada dirección B-MAC individual de los nodos participantes y para direcciones de grupo (multicast). Los árboles multicast de grupo (Group multicast tree) son subárboles del “shortest path tree” por defecto. Dependiendo de la topología puede haber diferentes “multi path trees” con el mismo coste y SPB soporta múltiples algoritmos para instancias IS-IS y que esto último no sea un problema.
Desde el punto de vista cronológico SPBV llegó primero junto un proyecto originalmente concebido para la convergencia y escalabilidad de MSTP.

### Shortest Path Bridging-VID

Con objetivo original de soportar pequeñas configuraciones de red, SPB fue creciendo para convertirse en un proyecto más grande abarcando el último plano de control para SPBV y armonizando los conceptos del plano de control de Ethernet. Los defensores de SPB creen que Ethernet puede abarcar el protocolo de estado de enlace y mantener aun así las características que hicieron de Ethernet una de las más amplias tecnologías de transporte, refiriéndonos aquí a Ethernet como la capa 2 especificada por el IEEE 802.3 y el IEEE 802.1. Y aunque SPBM está ganando más atención recientemente debido a su habilidad para controlar los nuevos planos de datos PBB, manteniendo ciertas capacidades tales como evitar la necesidad de aprendizaje B-MAC y la capacidad de generar de forma automática árboles individuales (unicast) y de grupo (multicast). SPBV mantiene su importancia, ya que fue el proyecto original dedicado para conseguir un mejor aprovechamiento de las redes mayadas por parte de las VLANS de Ethernet.
Una característica fundamental de SPBV (y SPB en general) es la posibilidad de utilizar el protocolo link state de IS-IS para aprender la topología de la red. Y el mecanismo usado por SPB para identificar al árbol es mediante un “Shortest Path VLAN ID” (SPVID) para cada bridge. Estos SPVIDs son asignados por un despliegue de la topología de IS-IS que además sirve para conseguir caminos más cortos (shortest path) de reenvío (envío hacia delante) para direcciones unicast y multicast.
SPBV define una región de “shortest path” como límite de la topología de “shortest path” y el resto de la topología VLAN (que puede ser cualquier número de birdges legacy). Y opera mediante el aprendizaje de bridges con capacidad SPB, haciendo crecer de esta forma la región de “shortest path” incluyendo los bridges que tienen la misma Base VID y mismos acuerdos de configuración MSTID (asignaciones de VIDS para propósitos de SPB).
SPBV se encarga de crear los “shortest path trees”, pero también trabajará con los bridges legacy que trabajan con el protocolo Rapid Spanning Tree y Multiple Spanning tree. De forma que mediante el uso de técnicas de las regiones SPT para trabajar así con regiones no-STP, por lo que visto desde fuera de la región se comportará como un gran bridge distribuido.
SPBV admite el uso de “shortest path trees”, pero además crea un “spanning tree” que es calculado a partir de la base de datos link state y la Base VID. Esto quiere decir que SPBV usa este tradicional “spanning tree” para calcular el “Common and Internal Spanning tree” (CIST), el cual es el árbol utilizado por defecto utilizado para trabajar con otros bridges legacy. Este CIST es también utilizado como fall back “Spanning tree” (spanning tree por defecto) en caso de haber problemas con la configuración de SPBV.
SPBV fue designado para manejar un número más moderado de bridges ya que las direcciones MAC son aprendidas por todos los bridges que se encuentran en el “shortest path”; y se utiliza un aprendizaje de VLAN compartida ya que las MACs de destino pueden estar asociados a múltiples SPVIDs.

### Shortest Path Bridging-MAC

SPBM reutiliza el plano de datos PBB el cual no requiere que el “Backbone Core Bridges” (BCB) aprenda direcciones de cliente encapsuladas. Las direcciones C-MAC de los clientes son aprendidas en la frontera de la red. SPBM es muy similar a PLSB (Provider Link State Bridging) dado que usa los mismos planos de datos y de control, pero los contenidos y formato de los mensajes de control en PLSB no son compatibles.
Las tramas MAC del tráfico unicast de un dispositivo unido a la red que se reciben en la frontera de SPBM son encapsuladas en una cabecera PBB (MAC-in-MAC) y entonces atraviesan la red IEEE 802.1aq hasta que son desencapsulados mientras salen a la red no participativa anexa a la red participativa (el exterior de la red SPBM).
Las direcciones de destino Ethernet (de dispositivos UNI) realizan el aprendizaje sobre la LAN y son enviadas a la dirección B-MAC apropiada para alcanzar así el destino Ethernet. De esta manera las direcciones MAC no son buscadas en el núcleo de la red IEEE 802.1aq. Al comparar SPBM a PBB, vemos que el comportamiento de SPBM es prácticamente idéntico a una red PBB IEEE 802.1ah. Pero PBB no especifica como las direcciones B-MAC son aprendidas y puede usar un “spanning tree” para el control de la B-LAN. Mientras que en el caso de SPBM, las direcciones B-MAC son distribuidas en el plano de control, eliminando el aprendizaje B-Mac en el PBB. Además, SPBM asegura que la ruta seguida es la del “shortsest paath tree”. Los caminos de ida y vuelta utilizados por el tráfico unicast y multicast en una red IEEE 802.1aq son simétricos. Esta simetría permite el normal funcionamiento de los mensajes “Ethernet Continuity Fult Messages” (CFM) IEEE 802.1ag a operar sin ser alterados por el SPBV y SPBM, y tienen las propiedades deseadas respecto a los protocolos de distribución de tiempo como el Precision Time Protocol (PTP Version 2). Además, la prevención de bucles de Ethernet existente es mejorada mediante la mitigación de bucles para proveer una convergencia del plano de datos más rápida. Las tramas con destino multicast y desconocido son perfectamente transmitidas únicamente a los miembros del mismo servicio Ethernet. IEEE 802.1aq soporta la creación de miles de servicios “lógicos” de Ethernet en la forma de construcciones E-LINE, E_LAN y E-TREE; formados entre los puertos no participantes de la red IEEE 802.1aq. Este grupo de paquetes de direcciones son encapsulados con una cabecera PBB, en la que se indica la dirección de origen mediante el campo SA; y la dirección del grupo local más significativo al que se debe enviar la trama con el DA. Las tablas de reenvío multicast del IEEE 802.1aq son creadas sobre la base de una serie de cálculos, de forma que cada bridge ubicado en “shortest path” entre un par de bridges miembros del mismo grupo de servicio creará una base de datos de reenvío (FDB) para reenviar o replicar las tramas que recibe a los miembros de ese mismo grupo de servicio.
EL grupo de direcciones de reenvío opera prácticamente de manera idéntica al Ethernet clásico, la combinación de la dirección de destino “backbone” (B-DA) y el backbone VLAN identifier (B-VID) son buscadas para encontrar el camino a los siguientes saltos. La única diferencia comparándolo con el clásico Ethernet es que el aprendizaje inverso es deshabilitado para las direcciones del bridge backbone media Access control (B-MAC) y es sustituido por una comprobación de entrada y descarte (cuando la trama llega a un interface entrante de un origen inesperado). Sin embargo, el aprendizaje es implementado en la frontera del árbol multicast de SPBM para aprender la relación de las direcciones B-MAC a MAC para la correcta encapsulación individual de las tramas en la dirección inversa.
Una red IEEE 802.1aq implementada correctamente puede soportar hasta mil bridges y proveer miles de servicios E-LAN de capa 2 a dispositivos Ethernet, esto puede ser hecho simplemente configurando los puertos conectados a los dispositivos Ethernet de un determinado servicio. Como los nuevos miembros vienen y van, el protocolo IS-IS anunciará los cambios de pertenencia al I-SID y los cálculos aumentarán o reducirán los árboles en el nodo participante de la red según sea necesario para mantener una propiedad multicast eficiente para ese servicio.

## Detalles
### Recuperación de fallos

La recuperación de fallos es por norma lo que proporcionaba IS-IS pero con nuevos cálculos y avisando del fallo del enlace, dando como resultado nuevas tablas FDB. Puesto que no se anuncian ni se conocen direcciones Ethernet por este protocolo, no hay un reaprendizaje por parte del núcleo de SPBM y las encapsulaciones ya aprendidas no se verán afectadas por un nodo de tránsito o por un fallo de enlace.
La detección de fallos de enlace rápido puede realizarse mediante el uso de IEEE 802.1ag Continuity Check Messages (CCMs) que comprueba el estado del enlace y notifica de los fallos al protocolo IS-IS. Permitiendo así una detección de errores mucho más rápida que la que se conseguiría usando los mecanismos de pérdida del mensaje hello de IS-IS.
Tanto SPBV como SPBM heredan la rápida convergencia de un plano de control de estado de enlace. Una característica particular de SPBM es su capacidad de recrear árboles multicast en un tiempo similar a la convergencia unicast, debido a que sustituye el cálculo de la señalización. Cuando un puente SPBM ha realizado los cálculos en una topología de base de datos, conoce si se encuentra en el camino más corto entre la raíz y una o más hojas del SPT y podrá el estado como corresponda. La convergencia no está cerrada por el descubrimiento gradual del área del bridge en el árbol multicast mediante el uso de transacciones de señalización independientes. Sin embargo, en los nodos SPBM no trabaja independientemente a su pares, sino que realiza un acuerdo con sus pares de la actual topología de red. Este eficiente mecanismo permite obtener un resumen que cubre toda la vista de la red, sin necesidad de acordar cada ruta con cada raíz. El resultado es que la cantidad de mensajes intercambiados para que la red converja es proporcional al cambio gradual de la topología y no al número de árboles multicast en la red. Un simple evento de enlace que pueda cambiar muchos árboles se comunica únicamente mediante la señalización de ese evento, por lo que la consiguiente construcción del árbol se realiza por computación local en cada nodo. El añadir un punto de acceso de servicio a una instancia implica únicamente el anuncio del I-SID, independientemente del número de árboles. Ocurre de forma similar cuando se elimina un bridge, lo cual podría desembocar en la reconstrucción de cientos a miles de árboles, se señaliza simplemente con algunas actualizaciones del estado de enlace.
Las versiones comerciales ofrecerán probablemente SPB sobre “multi-chassis lag”. En este entorno aparecerán estructuras (chasis) de múltiples switches como un único switch al plano de control de SPB, y múltiples enlaces entre pares de la estructura (chasis) aparecerán como un enlace agregado. Bajo este contexto un fallo en un nodo o enlace no es visto por el plano de control y será atendido localmente, dando como resultado tiempos de recuperación inferiores a 50ms.

### Control de la carga

802.1aq no distribuye el tráfico bajo las bases “hop by hop”. En su lugar, 802.1aq permite la asignación de un Service ID (identificador de servicio, ISID) a una VLAN ID (VID) en la frontera de la red. La VID corresponderá exactamente a uno de los posibles grupos de “shortest path” en la red y nunca se desviará de ese enrutamiento. Si hay diez o más rutas “shortest path” entre nodos, es posible asignar diferentes servicios a caminos distintos y saber así que tráfico de un determinado servicio seguirá exactamente el camino asignado. De esta manera el tráfico puede ser asignado fácilmente al “shortest path” deseado. Y en el momento en el que alguno de los caminos se sobrecarga, es posible mover parte de los servicios de estos “shortest path” reasignando esos ISID a otros VID menos cargados de la frontera de la red.
La naturaleza determinista del enrutamiento hace que la predicción / computación / experimentación offline de la carga de la red sea mucho más simple ya que las rutas no dependerán del contenido de la cabecera de los paquetes a excepción del identificador VID.
En el momento en el que el operador no quiera asignar los servicios a los “shortest path” de forma manual, es sencillo para el proveedor de conmutadores asignar un hash del ISID a uno de los VIDS disponibles para dar un grado de difusión “non-engineered”. Por ejemplo, el ISID módulo el número de ECT-VIDs podría ser usado para decidir el VID a utilizar.
En el momento en el que los caminos de los ECT (Equal Cost Tree) no son los suficientemente diversos o no son los adecuados bajo el punto de vista del operador, este tiene la opción de ajustar las entradas a los algoritmos ECT distribuidos para aplicar una atracción o repulsión de un determinado nodo a la prioridad del bridge de dicho nodo. Esto se puede ir probando mediante herramientas offline hasta conseguir las rutas deseadas y aplicarlo posteriormente a la red real para finalmente asignar los ISID a las rutas deseadas.

## Competidores

MC-LAG, VXLAN, y QFabric han sido propuestos como competidores, pero el que está considerado como mayor competidor del IEEE 802.1aq es el estándar de IETF TRILL (Transparent Interconnection of Lots of Links).

## Despliegues notables

* 2013 Interop
* 2014 Interop
* Juegos Olímpicos de Sochi 2014
* Leeds Metropolitan University
* World Trade Center Dubai
* Hospital de la Universidad de Oslo - Scandinavia
* Sparebanken Vest - Norway
* Aeropuerto de Ámsterdam-Schiphol - Netherlands
* Concord Hospital
* Kentucky School Districts
* Franciscan Alliance, Inc.
* Universidad de Alcalá de Henares