# General Multiprotocol Label Switching

Las redes de transmisión de datos actuales están constituidas con elementos como routers, switches, sistemas Dense Wavelength Division Multiplexing (DWDM), (sistemas por multiplexación por división en longitudes de onda), Add-Drop Multiplexores (ADM), interconexiones fotónicas (PXCs), conexiones por fibra óptica optico cross-connect (OXCs), etc. Todo ello usará un conmutador general de etiquetas multiprotocolo (también conocido como GMPLS, acrónimo del idioma inglés de General Multiprotocol Label Switching) para provisionar los recursos de la red de forma dinámica y proporcionar una capacidad de supervivencia además de potentes técnicas de codificación.
Describiremos la arquitectura de GMPLS:
GMPLS es la versión extendida de MPLS para abarcar la división en el tiempo, (por ejemplo, SONET / SDH, PDH, G.709), longitudes de onda (lambdas) y conmutación espacial.
GMPLS está enfocado al plano de control de las distintas capas ya que cada una de ellas pueden usar físicamente diferentes tipos de datos. Por lo tanto, la intención es cubrir tanto la señalización como la parte de enrutamiento de este plano de control.

## Introducción

GMPLS es una extensión de MPLS (RFC 3031) cuyo objetivo es el de proporcionar características de redes orientadas a conexión a redes no orientadas a conexión. GMPLS difiere del tradicional MPLS en que soporta múltiples tipos de conmutación.
La arquitectura MPLS fue diseñada para soportar transmisión de datos basadas en etiquetas (label). En esta arquitectura los routers de conmutación por etiquetas (LSRs) Label Switching Routers son capaces de reconocer los límites de las celdas o paquetes y capaces de procesar sus cabeceras. En estos routers se intercambia información sobre la topología de la red y se construyen tablas de encaminamiento, además se establecerán los LSPs que seguirán los paquetes. Esta arquitectura está siendo ampliada para incluir LSRs que no reconocen el plano de salida del paquete ni las fronteras de la celda por lo tanto no puede enviar los datos basándose en la información transportada en las cabeceras. En concreto, estos LSRs incluyen dispositivos donde la conmutación está basada en intervalos de tiempo (time slots), longitudes de onda o puertos físicos.

## Tipos de conmutación y jerarquía de transmisión

Así que la nueva serie de LSRs, o mejor dicho, las nuevas interfaces de LSRs pueden dividirse en las siguientes clases:
* Packet Switch Capable (PSC) interfaces: Interfaces que reconocen el límite de los paquetes y pueden mandar datos basándose en el contenido de sus cabeceras. Se trata de los routers que transmiten datos basados en contenido de la cabecera IP y las interfaces de los routers que conmutan los datos basados en el contenido de la corrección de la cabecera MPLS.
* Layer - 2 Switch Capable (L2SC) interfaces: Interfaces reconocen los límites de la trama / celda y pueden conmutar los datos basados en el contenido de las cabeceras de la trama / celda. Son interfaces sobre bridges Ethernet que conmutan datos basados en el contenido de la cabecera MAC e interfacies sobre ATM – LSRs que transmiten datos basados en la VPI / VCI de ATM.
* Time - Division Multiplex Capable (TDMC) interfaces:
* Lambda Switch Capable (LSC) interfaces:
* Fiber - Switch Capable (FSC) interfaces:
Se puede establecer un circuito solo entre o a través de interfaces del mismo tipo. Dependiendo de la tecnología que esté siendo usada por cada interfaz, se usarán diferentes nombres para el circuito como por ejemplo circuito SDH, camino óptico, light path etc. En el contexto de GMPLS, todos estos circuitos son referenciadolos por un nombre común : Label Switched Path (LSP).
El concepto de encapsulado LSP (LSP en LSP) , ya disponibles en MPLS tradicional, facilita la construcción de una jerarquía de transmisión, es decir, una jerarquía de LSPs. Esta jerarquía de LSPs puede darse en el mismo interfaz o entre distintos interfaces. Por ejemplo una jerarquía puede ser construida si una interfaz es capaz de multiplexar varios LSPs de la misma tecnología (capa). El encapsulado también se puede dar entre tipos de interfaces. En el lo más alto de la jerarquía están las interfaces FSC, seguidas por interfaces LSC, seguidas de interfaces TDM, seguidas por interfaces L2SC y seguidas por interfaces PSC. De esta forma un LSP que empieza y acaba sobre una interfaz PSC puede ser encapsulado (juntos en otro LSPs) dentro de un LSP que empieza y acaba sobre una interfaz L2SC. Este LSP, a su vez, puede ser encapsulada (juntos en otro LSPs) dentro de un LSP que empieza y acaba sobre interfaz ATM. A su vez este LSP puede ser encapsulado (juntos en otro LSPs) dentro de un LSP que empieza y acaba en una interfaz FSC.

## Enrutamiento y modelo de direccionamiento

GMPLS está basado en enrutamiento IP y modelos de direccionamiento. Esto asume que las direcciones IPv4 y/o IPv6 se usan para identificar interfaces pero también se usan protocolos de enrutamiento IP tradicionales.
Desde que el plano de control y de datos están desacoplados en GMPLS, el plano de control de los nodos vecinos no tiene por qué estar en el plano de datos. Entonces, mecanismos como LMP son necesarios para asociar enlaces TE con los nodos vecinos. Las direcciones IP no se usan solo para identificar interfaces de equipos IP y routers, más generalmente son usados para identificar interfaces PSC e interfaces no-PSC.
No obstante, algunos mecanismos adicionales son necesarios para aumentar la escalabilidad de estos modelos y tratar con específicos modelos de traffic engineering que requieren las capas no-PSC.
En un modelo de superposición, cada capa particular de no-PSC se puede ver como un conjunto de sistemas autónomos (AS) interconectados entre sí de manera arbitraria. De la misma forma el enrutamiento tradicional IP, cada AS está dirigido por una sola autoridad administrativa. El conjunto interconectado de ASs se puede ver como redes SONET/SDH.
El intercambio de información de routing entre ASs se puede hacer vía inter-dominoi mediante BGP-4. Extensiones para BGP sobre Traffic engineerin en el contexto de capas no-PSC se están estudiando.
Cada AS puede ser subdividido en diferentes dominios y cada uno puede ejecutar un protocolo de rutas diferente. A su vez cada dominio puede ser dividido en más áreas.

## Agregación de enlaces

El uso de tecnologías como DWDM (Dense Wavelength Division Multiplexing) implica que ahora se puede tener un gran número de enlaces trabajando paralelamente entre dos nodos adyacentes. Inicialmente este gran número de enlaces no se tuvo en cuenta sobre el plano de control de tecnologías como IP o MPLS. Por lo tanto para que GMPLS pueda ser utilizado se deben introducir algunos cambios sobre el plano de control de MPLS.
Para solventar los problemas existentes a la hora de trabajar con muchos enlaces, GMPLS introduce un Protocolo de Gestión de Enlace LMP (Link Management Protocol), de esta forma se va a permitir trabajar con una jerarquía de LSP´s, permitiendo anidar unos LSP´s dentro de otros LSP´s.
LMP proporciona mecanismos para mantener los canales de control de IP, verifica la conectividad física de los enlaces que contengan datos y se también se encarga de localizar y notificar los fallos en el enlace. Una característica única de LMP es que es capaz de localizar averías independientemente del esquema de codificación o de la tasa de bits que se utilice para transmitir los datos, lo cual es muy beneficioso para redes en los que la velocidad y la fiabilidad se trata de una característica indispensable.

## Gestión del enlace

La gestión del enlace se basa en gestionar los fallos, para ello GMPLS desarrolla dicha gestión en cuatro fases: detección, localización, notificación y mitigación. Como se ha comentado con anterioridad, GMPLS haciendo uso de LMP , permite la gestión de errores, esto es la conocido como P&R (Protection and Restoration).
Los niveles de detección, localización y notificación se llevan a cabo de la siguiente manera:
* La detección de fallos depende de la tecnología implementada. En general, los fallos son detectados por las capas más bajas. Cuando un nodo detecta un fallo, se pasa una notificación a la entidad a la entidad GMPLS, que tomará las medidas adecuadas.
* La localización de fallos se puede hacer con ayuda de GMPLS, utilizando LMP para la localización de averías.
* La notificación también se lleva a cabo a través de GMPLS, puede usarse como en MPLS, RSVP-TE.
Una vez localizado el fallo, LMP activa los mecanismos de P&R, activando otros LSP a fin de solventar el problema. La elección de un sistema de P&R es una solución de compromiso entre la utilización de la red (costo) y el tiempo de interrupción del servicio. El nivel de servicio asociado a un determinado LSP, se asigna a uno o más esquemás P&R, de tal forma que cada enlace pueda usar la protección que considere oportuna.
Además GMPLS añade información adicional a los protocolos IGP, tales como OSPF, a fin de que sean capaces de proporcionar información acerca de la topología y disponibilidad de recursos. Para ello, GMPLS contempla algoritmos de encaminamiento basados en restricciones que utilizan la información topológica y de recursos disponibles para calcular caminos a través de la red y realizar las conexiones ópticas. Una vez que es seleccionado un camino, GMPLS extiende los protocolos para la señalización e ingeniería de tráfico, tales como RSVP o CR-LDP, para la creación de los LSP a lo largo de la red óptica. Estos protocolos son utilizados para llevar a cabo los distintos niveles de gestión de errores a la hora de corregir un fallo.

## Señalización en GMPLS

GMPLS para realizar la señalización también reutiliza algunos de los protocolos ya existentes como RSVP - TE y CR - LDP (Constraint-based Routing Label Distribution Protocol), aunque introduce algunos pequeños cambios para poder cambiar la naturaleza unidireccional de los LSP o sobre cómo se propaga tanto la información de sincronización como los errores.
Para crear un LSP, ya sea LSC, TDM o FSC, se realiza una petición mediante un Path/Label request message, dentro del cual se específica el tipo del LSP, así como el tipo de información que va a contener el paquete, a este tipo de etiqueta se le denomina Generalized Label (Etiqueta Generalizada). Este paquete se envía en modo downstream en el caso de que se trabaje con LSP unidireccionales. Si se trata de un LSP bidireccional se enviará otro mensaje como el comentado con anterioridad en modo upstream. De esta forma, para crear LSP bidireccionales simétricos en GMPLS se realizarán a partir de un par de conexiones unidireccionales. Así, el tiempo de establecimiento se verá reducido con respecto al de los LSP unidireccionales para un mismo número de mensajes enviados. Este tiempo de establecimiento vendrá dado por el tiempo RTT desde el nodo transmisor al nodo receptor más el tiempo de procesamiento.
La señalización también debe de ocuparse de notificar los fallos con el objetivo de que los nodos involucrados sean capaces de resolver la situación mediante los métodos de P&R comentados con anterioridad.

## Ventajas e Inconvenientes

La principal ventaja de GMPLS es que gran parte de su funcionamiento se basa en tecnología que ya está en funcionamiento, con lo que implementarlo físicamente no tiene un alto coste. De la misma forma, como se comentó con anterioridad, GMPLS permite la agregación de enlaces, lo que va a permitir que se puedan manejar distintos tipos de tráfico simultáneamente, proporcionando así enlaces con una mayor eficiencia. Otra de las ventajas es que GMPLS permite el uso de LSP´s bidireccionales, cosa que no ocurría sobre los LSP´s de MPLS, ya que estaban definidos de forma unidireccional. De esta manera, se va a conseguir que se vean notablemente disminuidos la cantidad de recursos debidos a la señalización utilizados por la red, así como el tiempo que se tarda en establecer una conexión.
Por el contrario, el que las etiquetas vengan dadas por las longitudes de onda hace que estas etiquetas no proporcionen ninguna otra información, como por ejemplo un campo TTL (Time To Live). Otro de los inconvenientes que se puede encontrar en GMPLS es que al contrario que sobre MPLS que un nodo podía poner una etiqueta distinta a un paquete recibido, esto en GMPLS no va a ser posible, o por lo menos no aconsejable, ya que sería necesario usar un conmutador de longitud de onda de muy alta velocidad y en la actualidad no existe, por esto es muy importante que la etiqueta de salida de un nodo corresponda con la etiqueta de entrada.