MULTIPROTOCOL LABEL SWITCHING (MPLS) DICIEMBRE 2018 INTRODUCCIÓN (1) • La red Internet fue diseñada para transportar aplicaciones tolerantes en el tiempo (e-mail, FTP, Telnet, etc.) • Internet no hace distinción entre cada aplicación. Ofrece un servicio básico: “Best Effort”. • La aparición de nuevas aplicaciones en tiempo real (VoIP, teléfono móviles con acceso a Internet, videoconferencia, e-learning, etc.) ha impulsado a desarrollar nuevas arquitecturas para asegurar que el Internet del futuro tenga buena QoS. 01/07/2019 Ing. Pablo Hidalgo L. 2 INTRODUCCIÓN (2) • Por ello se ha definido MPLS para no sólo ofrecer QoS en redes IP, sino para optimizar la QoS en redes como ATM y Frame Relay. • El IETF (Internet Engineering Task Force) organizó el grupo de trabajo MPLS en 1997. • La primera serie de estándares apareció en el 2001. • MPLS reduce la cantidad de procesamiento por paquete, requerido en cada router en una red IP, aumentando el desempeño del router. • MPLS provee nuevas capacidades significativas en cuatro áreas: QoS, Ingeniería de Tráfico (TE), Redes Privadas Virtuales (VPNs) y un soporte multiprotocolo. 01/07/2019 Ing. Pablo Hidalgo L. 3 INTRODUCCIÓN (3) • Una tecnología previa a MPLS fue IP sobre ATM. • Consistía en una superposición de una topología virtual de ruteadores IP sobre una tecnología real de conmutadores ATM. • El backbone ATM se presenta como una nube central rodeada por los ruteadores de la periferia. • Cada ruteador se comunica con el resto mediante PVCs. • Los PVCs actúan como circuitos lógicos y proporcionan la conectividad necesaria entre los ruteadores de la periferia. • Los ruteadores ven los PVCs como enlaces punto a punto entre cada par. 01/07/2019 Ing. Pablo Hidalgo L. 4 INTRODUCCIÓN (4) • La idea de superponer IP sobre ATM es el aprovechar la infraestructura ATM existente. • VENTAJAS – Gran ancho de banda a precios competitivos. – Rapidez en el transporte de datos proporcionados por los conmutadores ATM. • DESVENTAJAS – Hay que gestionar dos redes diferentes lo que genera mayores costos de gestión. – Un overhead aproximado del 20% debido al transporte de datagramas IP sobre celdas ATM, lo que determina la reducción del ancho de banda disponible en ese mismo porcentaje. – Crecimiento exponencial al aumentar nodos IP sobre una topología totalmente mallada. 01/07/2019 Ing. Pablo Hidalgo L. 5 INTRODUCCIÓN (5) CONCLUSIÓN • El modelo IP/ATM si bien presenta ventajas evidentes en la integración de los niveles 2 y 3, lo hace de modo discontinuo, esto es, en base a mantener dos redes separadas. 01/07/2019 Ing. Pablo Hidalgo L. 6 QUÉ ES MPLS? • Es una arquitectura que provee una eficiente designación, enrutamiento, envío y conmutación de flujos de tráfico a través de la red. • Realiza las siguientes funciones: – Especifica mecanismos para administrar flujos de tráfico de diferentes tipos y requerimientos (diferentes máquinas o diferentes aplicaciones). – Permanece independiente de los protocolos de capa enlace y capa red. – Provee un medio para traducir las direcciones IP en etiquetas simples de longitud fija utilizadas en diferentes tecnologías de envío y conmutación de paquetes. – Ofrece interfaces para diferentes protocolos como RSVP (Resource ReSerVation Protocol) y OSPF (Open Shortest Path First). – Soporte de protocolos de IP, ATM y Frame Relay. 01/07/2019 Ing. Pablo Hidalgo L. 7 MÚLTIPLES SERVICIOS SOBRE UNA INFRAESTRUCTURA CONVERGENTE Frame Relay ATM Frame Relay Frame Relay IP/MPLS ATM RPR Ethernet Internet Many Services, Many Networks 01/07/2019 IP VPN PPP Internet IP/MPLS ATM Ethernet Many Services, One Network Ing. Pablo Hidalgo L. 8 MULTI-PROTOCOL: BOTH ABOVE AND BELOW Possibly several ways to IPv6 set up Routing/Control Single Forwarding Paradigm based on Label Switching AppleTalk Point-to-Point Ing. Pablo Hidalgo L. Frame Relay ATM FDDI 01/07/2019 IPX Network Layer Protocols Label Switching Ethernet Can run over different Link Layer technologies IPv4 Link Layer Protocols 9 QUÉ ES MPLS? 10.1.1.1 Label removal and routing lookup L=3 10.1.1.1 Routing lookup and label assignment 10.0.0.0/8 L=5 Label swapping L=5 L=3 • Solamente los ruteadores de borde realizan procesamiento a nivel de capa 3. • Los ruteadores al interior de la nube MPLS conmutan paquetes en base a una simple revisión y conmutación de etiquetas. 01/07/2019 Ing. Pablo Hidalgo L. 10 QUÉ ES MPLS? • Los conmutadores ATM deben hacer funcionar un protocolo de enrutamiento cuando MPLS trabaja sobre conmutadores ATM. • No se necesita establecer circuitos virtuales manualmente. Los conmutadores ATM automáticamente crean una red completamente mallada basada en la información de enrutamiento de capa 3. 01/07/2019 Ing. Pablo Hidalgo L. 11 COMPONENTES DE MPLS (1) • La arquitectura MPLS diferencia dos tipos de routers: • LER (Label Edge Router) – Routers situados en la periferia o frontera de la red MPLS, a los que se pueden conectar diversas redes (Ethernet, Frame Relay, ATM). – Se los conoce también como PE Routers (Provider Edge Routers) – Envía el tráfico entrante a la red MPLS utilizando un protocolo de señalización de etiquetas y distribuye el tráfico saliente entre las distintas redes. – Se encarga de asignar y retirar las etiquetas a la entrada o salida de la red MPLS. – Su conmutación se basa en FECs (Forwarding Equivalence Classes) 01/07/2019 Ing. Pablo Hidalgo L. 12 COMPONENTES DE MPLS (2) • LSR (Label Switched Router) – Son equipos de conmutación (routers IP, switches ATM) habilitados para MPLS. – Se los conoce también como P Routers (Provider Routers) ya que son propiedad del proveedor de servicios. – Es un router de gran velocidad que trabaja en el núcleo de la red. – Usan un protocolo de distribución de etiquetas (no necesariamente el mismo en todos los LSRs) y su función es encaminar los paquetes en base a la etiqueta de dicho paquete. – Cuando los paquetes llegan a los LSRs, éstos intercambian las etiquetas existentes por otras y envía el paquete al siguiente LSR, y así sucesivamente (distribución de etiquetas). 01/07/2019 Ing. Pablo Hidalgo L. 13 Conmutación de etiquetas en los LSRs 01/07/2019 Ing. Pablo Hidalgo L. 14 COMPONENTES DE MPLS (3) • FEC (Forwarding Equivalence Class) – La Clase Equivalente de Envío es una representación de un grupo de paquetes que comparten los mismos atributos para su transporte: el mismo destino, la misma VPN, etc; y/o requieren el mismo servicio – Paquetes de un mismo flujo de datos generalmente pertenecen a una misma FEC. – Todos los paquetes tienen similar tratamiento en la ruta al destino. – La asignación de un paquete particular a una determinada FEC se hace sólo una vez, cuando el paquete ingresa a la red. – Una FEC es representada por una etiqueta en cada LSP (Label Switched Path). 01/07/2019 Ing. Pablo Hidalgo L. 15 COMPONENTES DE MPLS (4) 20.1.0.0 LSR LER LSP-1 (1) LER (2) (3) LSR LSP-2 (4) 20.2.0.0 LER (5) 30.0.0.0 01/07/2019 Ing. Pablo Hidalgo L. 16 LABEL SWITCHED PATH (LSP) • Un LSP es un camino específico unidireccional a través de una red MPLS (equivalente a un circuito virtual). • En MPLS la transmisión ocurre en caminos de etiquetas conmutadas, que son secuencias de etiquetas en cada nodo del camino, desde el emisor al receptor. • Al recibir un paquete el LER verifica qué FEC le pertenece y lo encamina por el LSP correspondiente. • Se obtiene una gran rapidez en la conmutación gracias a que las etiquetas son insertadas al principio del paquete y son de longitud fija, lo que determina que la conmutación pueda realizarse vía hardware. 01/07/2019 Ing. Pablo Hidalgo L. 17 Camino conmutado de etiquetas - LSP 01/07/2019 Ing. Pablo Hidalgo L. 18 ENRUTAMIENTO EN MPLS • La arquitectura MPLS soporta 2 opciones para seleccionar una ruta o LSP: – Enrutamiento hop-by-hop • Cada LSR independientemente escoge el próximo salto para una FEC dada. • Esta metodología es similar a la utilizada en redes IP. • Hace uso de un protocolo de enrutamiento ordinario como OSPF. • Ventaja: conmutación rápida y tratamiento diferencial de paquetes de diferentes FEC • Desventaja: no soporta fácilmente Ingeniería de Tráfico o políticas de enrutamiento (definición de rutas basadas en algunas políticas relacionadas a QoS, seguridad) 01/07/2019 Ing. Pablo Hidalgo L. 19 Enrutamiento hop by hop 172.190.0.0 E B 172.191.0.0 if0 if1 C Router del Cliente A D if2 G F 01/07/2019 Ing. Pablo Hidalgo L. Router del Cliente 172.192.0.0 20 ENRUTAMIENTO EN MPLS • La arquitectura MPLS soporta 2 opciones para seleccionar una ruta o LSP: – Enrutamiento explícito (ER-LSP) • Similar a enrutamiento de fuente. • Un LSR de ingreso (LSR donde empieza el flujo de datos) especifica la lista de nodos a través del cual el ER-LSP atraviesa. • A lo largo del camino los recursos podrían ser reservados para asegurar QoS al tráfico de datos. • Esto facilita Ingeniería de Tráfico a través de la red, y se puede proporcionar servicios diferenciados, usando flujos basados en políticas o métodos de gestión de red. 01/07/2019 Ing. Pablo Hidalgo L. 21 Enrutamiento Explícito 172.190.0.0 E B Ruta: C, D, G if0 172.191.0.0 if1 C Router del Cliente A D if2 G F 172.192.0.0 Router del Cliente ETIQUETAS (1) • Una etiqueta es un conjunto pequeño de bits de longitud fija que lleva el paquete para identificar una FEC. • Identifican el camino que un paquete puede atravesar. • Es análoga al identificador de conexión usado en ATM (VPI/VCI) o los DLCI de Frame Relay. • Su validez es local y solo entre un par de nodos, y es reemplazada en cada salto en el LSP. • Las etiquetas son asociadas a una FEC como resultado de algún evento o política que indica una necesidad para tal asociación. • Estos eventos pueden ser vinculados por el flujo de datos (data-driven bindings) o vinculados por el tráfico de control (control-driven bindings). 01/07/2019 Ing. Pablo Hidalgo L. 23 ETIQUETAS (2) • Para la asignación de etiquetas se tienen los siguientes pasos: – A cada paquete se le clasifica en una FEC nueva o una ya existente. – Se asigna una etiqueta a cada paquete. Los valores de las etiquetas se derivan de los identificadores de capa 2; los DLCI o VPI/VCI se pueden usar directamente como etiquetas. Para redes Ethernet y PPP, la etiqueta se añade en una cabecera shim, esto es entre las cabeceras de la capa enlace y la de la capa red. • Los paquetes son enviados basados en su valor de etiqueta. 01/07/2019 Ing. Pablo Hidalgo L. 24 FORMATO DE LA CABECERA MPLS (1) • La cabecera MPLS es un identificador de 32 bits que consiste de los siguientes campos: – Etiqueta: 20 bits. Valor de la etiqueta que localmente representa a la FEC durante el envío. Existen valores de etiquetas que se encuentran reservados. – EXP: 3 bits. Identifica la clase de servicio mediante el campo EXP o experimental (anteriormente llamado CoS) o Clase de Servicio. – S (Stack): 1 bit. Indica una pila de etiquetas jerárquica. Toma el valor de 1 en la etiqueta que se encuentra en la cima de la pila y 0 en todas las etiquetas restantes. – TTL: 8 bits para indicar el TTL (Time To Live), con el mismo significado que en IP. El campo es decrementado en cada router y el paquete será excluido si la cuenta cae a 0. Permite evitar lazos. 01/07/2019 Ing. Pablo Hidalgo L. 25 FORMATO DE LA CABECERA MPLS (2) 01/07/2019 Ing. Pablo Hidalgo L. 26 FORMATO DE LA CABECERA MPLS (3) • Son insertadas entre la cabecera de capa 2 (trama) y la cabecera de capa 3 (paquete) • Puede haber más de una etiqueta (Stack de etiquetas) • El bit S (bottom of de stack) indica si la etiqueta es la última en el stack de etiquetas. • El campo TTL se usa para prevenir lazos infinitos de los paquetes. • Los bits experimental (EXP) se usan para llevar valores de preferencia (CoS) 01/07/2019 Ing. Pablo Hidalgo L. 27 STACK DE ETIQUETAS • El identificador de protocolo de la cabecera de capa 2 especifica que el payload comienza con una etiqueta (etiquetas) y a continuación viene la cabecera IP • El bit bottom of stack indica si el siguiente campo es otra etiqueta o la cabecera IP. • El router de recepción sólo utiliza la etiqueta top. • Generalmente se asigna solo una etiqueta al paquete. 01/07/2019 Ing. Pablo Hidalgo L. 28 ASIGNACIÓN E INTERCAMBIO DE ETIQUETAS • Un ruteador puede realizar las siguientes funciones: – Insertar (push) una etiqueta o stack de etiquetas al ingreso. – Intercambiar (swap) una etiqueta con la etiqueta del siguiente salto o con un stack de etiquetas dentro de la nube MPLS. – Remover (pop) una etiqueta a la salida o un salto antes. • En el ingreso una etiqueta es asignada y colocada por el proceso de enrutamiento IP (push). • Los LSR en la nube intercambian las etiquetas basados en el contenido de la LFIB. • En la salida la etiqueta es removida (pop) y se realiza una revisión de enrutamiento para reenviar el paquete al destino. 01/07/2019 Ing. Pablo Hidalgo L. 29 ASIGNACIÓN E INTERCAMBIO DE ETIQUETAS MPLS Domain 10.1.1.1 3 10.1.1.1 5 10.1.1.1 10.1.1.1 IP Lookup 10.0.0.0/8 label 3 IP Lookup 10.0.0.0/8 label 5 IP Lookup 10.0.0.0/8 next hop LFIB label 8 label 3 LFIB label 3 label 5 LFIB label 5 pop 01/07/2019 Ing. Pablo Hidalgo L. 30 APILAMIENTO DE ETIQUETAS 01/07/2019 Ing. Pablo Hidalgo L. 31 APILAMIENTO DE ETIQUETAS • Las etiquetas en el dominio MPLS B forman un túnel • Al final del túnel, el LER puede conocer hacia donde reenvía el paquete • Esto se resuelve fácilmente usando el stack • El stack de etiquetas permite la implementación de aplicaciones como VPN e Ingeniería de Tráfico (TE) 01/07/2019 Ing. Pablo Hidalgo L. 32 UBICACIÓN DE LA CABECERA MPLS 01/07/2019 Ing. Pablo Hidalgo L. 33 Túnel LSP transportando múltiples LSPs 01/07/2019 Ing. Pablo Hidalgo L. 34 Utilización del stack de etiquetas 01/07/2019 Ing. Pablo Hidalgo L. 35 LFIBs en los LSRs del Túnel LSP 01/07/2019 Ing. Pablo Hidalgo L. 36 Stack de Etiquetas con PHP 01/07/2019 Ing. Pablo Hidalgo L. 37 LFIBs en LSRs con Previous Hop Popping 01/07/2019 Ing. Pablo Hidalgo L. 38 CÓMO TRABAJA MPLS? 1a. Existing Routing Protocols (e.g. OSPF, IS-IS) Establish Reachability to Destination Networks 1b. Label Distribution Protocol (LDP) Establishes Label to Destination Network Mappings 4. Edge LSR at Egress Removes Label and Delivers Packet LSP 2. Ingress Edge LSR Receives Packet, Performs Layer 3 Value-Added Services, and Labels Packets 01/07/2019 Ing. Pablo Hidalgo L. 3. LSR Switches Packets Using Label Swapping 39 CÓMO TRABAJA MPLS? 1. Establecimiento de rutas y asignación de etiquetas - Antes de transferir los paquetes • Cada LSR elige el siguiente salto para una FEC y le asigna una etiqueta de entrada (enrutamiento salto por salto o explícito). Es decir ésta es la etiqueta con la que llegan los paquetes de esa FEC 01/07/2019 Ing. Pablo Hidalgo L. 40 CÓMO TRABAJA MPLS? 2. Distribución de etiquetas y Creación de Tablas • Cada LSR distribuye las etiquetas asignadas (distribución no solicitada o bajo demanda) • El LSR localizado en el sentido opuesto al flujo de datos registra la etiqueta en su LFIB (tabla de conmutación de etiquetas) 01/07/2019 Ing. Pablo Hidalgo L. 41 CÓMO TRABAJA MPLS? 3. Recepción del paquete e inserción de etiqueta • El LSR de ingreso recibe el paquete, examina su cabecera IP, lo asocia a una FEC (172.191.0.0), le inserta la etiqueta de salida (62) y lo reenvía a la interfaz de salida (if1). 01/07/2019 Ing. Pablo Hidalgo L. 42 CÓMO TRABAJA MPLS? 4. Conmutación de etiquetas y reenvío del paquete • Los LSRs examinan la etiqueta del paquete recibido y la buscan en su LFIB, la reemplazan con la etiqueta de salida y reenvían el paquete a la interfaz de salida. 01/07/2019 Ing. Pablo Hidalgo L. 43 CÓMO TRABAJA MPLS? 5. Extracción de etiqueta y entrega del paquete • El LSR de egreso (LER) examina la etiqueta del paquete recibido y la busca en su LFIB, retira la etiqueta (sale de la nube MPLS) y entrega el paquete a la red destino. 01/07/2019 Ing. Pablo Hidalgo L. 44 PLANOS DE CONTROL Y DE DATOS (1) • La implementación de MPLS en los routers se divide en dos planos: – Plano de Control, denominado también componente de control – Plano de Datos, denominado también componente de envío. El Plano de Control • Intercambia información de enrutamiento de capa 3 y de etiquetas • Responsable de la generación y mantenimiento de las tablas de enrutamiento que establecen los LSP, así como de la distribución de la información sobre las etiquetas a los LSRs. • Contiene complejos mecanismos para intercambiar información de enrutamiento, tales como OSPF, EIGRP, IS-IS y BGP; y para intercambiar etiquetas tales como: TGP (Tag Distribution Protocol), LDP (Label Distribution Protocol), BGP y RSVP. 01/07/2019 Ing. Pablo Hidalgo L. 45 PLANOS DE CONTROL Y DE DATOS (2) • El plano de control información: utiliza dos fuentes de – RIB (Routing Information Base/ Base de información de Enrutamiento): Esta tabla proporciona información sobre la red destino y los prefijos de subred que se utiliza para la asociación de etiquetas, aquí se encuentran todas las rutas aprendidas por cada uno de los nodos de la red MPLS. – LIB (Label Information Base/ Base de información de Etiquetas): En esta tabla se encuentran todas las etiquetas asignadas por el nodo MPLS local (etiquetas locales) y las asignaciones de dichas etiquetas a las etiquetas recibidas de los vecinos. 01/07/2019 Ing. Pablo Hidalgo L. 46 PLANOS DE CONTROL Y DE DATOS (3) – Los LSRs requieren un protocolo de distribución de etiquetas (LDP, RSVP-TE, CR-LDP o BGP) para dar a conocer a otros routers que se ha realizado la asociación de etiquetas. Cada LSR crea una asignación local y distribuye esta asignación a todos sus vecinos LDP. Para los vecinos LDP estas asignaciones son consideradas como remotas y también las almacena junto con las asignaciones locales en su tabla LIB. 01/07/2019 Ing. Pablo Hidalgo L. 47 PLANOS DE CONTROL Y DE DATOS (4) Plano de Datos • Tiene como función conmutar los paquetes MPLS entrantes, basándose en las tablas de enrutamiento ofrecidas por el plano de control. Utiliza dos fuentes de información. – FIB (Forwarding Information Base/ Base de Información de Envío): es una tabla que se utiliza para definir a qué interfaz se debe reenviar el paquete. – LFIB (Label Forwarding Information Base/ Base de Información de reenvío de Etiquetas): utilizada para la conmutación de etiquetas. 01/07/2019 Ing. Pablo Hidalgo L. 48 PLANOS DE CONTROL Y DE DATOS (5) – La LFIB usa un subconjunto de etiquetas contenidas en la LIB para el envío del paquete y almacena solo las etiquetas que en ese momento el plano de datos está usando, contiene la información de etiquetas e interfaces entrantes y salientes, y la dirección del próximo salto. • Los nodos MPLS por lo tanto son responsables del reenvío de paquetes mediante el plano de datos, y de construir y mantener las tablas de envío mediante el plano de control 01/07/2019 Ing. Pablo Hidalgo L. 49 PLANOS DE CONTROL Y DE DATOS (6) 01/07/2019 Ing. Pablo Hidalgo L. 50 PLANOS DE CONTROL Y DE DATOS (7) Control Plane OSPF: 10.0.0.0/8 LDP: 10.0.0.0/8 Label 17 OSPF LDP OSPF: 10.0.0.0/8 LDP: 10.0.0.0/8 Label 4 Data Plane Labeled packet Label 17 01/07/2019 LFIB 417 Ing. Pablo Hidalgo L. Labeled packet Label 4 51 PLANOS DE CONTROL Y DE DATOS (8) 01/07/2019 Ing. Pablo Hidalgo L. 52 ARQUITECTURA DE LSRs • Los LSR, independiente de su tipo, realizan las siguientes tres funciones: – Intercambian información de enrutamiento. – Intercambian etiquetas – Reenvían paquetes (LSRs y LERs) y celdas (ATM LSRs y ATM LERs) • Las primeras dos funciones son parte del plano de control. • La tercera función es parte del plano de datos 01/07/2019 Ing. Pablo Hidalgo L. 53 ARQUITECTURA DE LSRs LSR Exchange of routing information Exchange of labels Incoming labeled packets Control Plane Routing Protocol IP Routing Table Label Distribution Protocol Data Plane Outgoing labeled packets Label Forwarding Table Los LSR principalmente reenvían paquetes o celdas etiquetados. 01/07/2019 Ing. Pablo Hidalgo L. 54 ARQUITECTURA DE LERs Edge LSR Exchange of routing information Control Plane Routing Protocol Exchange of labels Incoming IP packets Incoming labeled packets 01/07/2019 IP Routing Table Label Distribution Protocol Data Plane IP Forwarding Table Label Forwarding Table Ing. Pablo Hidalgo L. Outgoing IP packets Outgoing labeled packets 55 PLANOS DE CONTROL Y DE DATOS (6) 01/07/2019 Ing. Pablo Hidalgo L. 56 OPERACIÓN DE MPLS (1) 01/07/2019 Ing. Pablo Hidalgo L. 57 OPERACIÓN DE MPLS (2) In 39 IP Packet Dest: 20.2.1.17 Out 17 Next Hop (3) In 17 LSR LER Out Next Hop Do IP routing 20.1.0.0 39 (1) LER LSP-1 (2) FEC a = 20.x.x.x FEC b = 30.x.x.x In Out FEC a 39 FEC b 16 (3) LSR Next Hop (2) (4) LSP-2 (4) In 16 Out 65 20.2.0.0 LER Next Hop (5) In 65 (5) Out Next Hop Do IP routing 30.0.0.0 01/07/2019 Ing. Pablo Hidalgo L. 58 PROTOCOLOS DE DISTRIBUCIÓN DE ETIQUETAS (1) • Se encargan de propagar de router a router la información necesaria para establecer el LSP. Se establece un conjunto de procedimientos por el que un LSR informa a otros que ha realizado una asociación “Etiqueta/FEC”. • Las tablas (creadas por estos protocolos) permiten que un paquete etiquetado pueda avanzar por los LSRs. • Dos LSRs que utilizan conjuntamente un protocolo LDP se denominan “LDP peers” 01/07/2019 Ing. Pablo Hidalgo L. 59 PROTOCOLOS DE DISTRIBUCIÓN DE ETIQUETAS (2) • La arquitectura MPLS no asume la existencia de un protocolo específico, por lo que diferentes protocolos de distribución de etiquetas han comenzado a ser estandarizados: • Protocolos existentes: – De enrutamiento con nuevas funciones: • BGP (Border Gateway Protocol) • PIM (Protocol Independent Multicast) – De señalización • RSVP-TE: RSVP con ingeniería de tráfico. • Nuevos Protocolos: – LDP (Label Distribution Protocol) – CR-LDP (Constraint Routing): LDP con ingeniería de tráfico 01/07/2019 Ing. Pablo Hidalgo L. 60 LABEL DISTRIBUTION PROTOCOL (LDP) • Define una serie de procedimientos y mensajes por los cuales un LSR informa a otro de la asociación Etiqueta/FEC, y que será utilizado para el establecimiento de un LSP. • Dos LSRs que utilizan LDP para intercambiar la información de label mapping (LDP peers), tienen una sesión LDP entre ellos. • LDP permite a un LSR distribuir etiquetas a sus “LDP peers” usando el puerto TCP 646. • En una sola sesión, cada par o vecino es capaz de aprender sobre otros label mappings; es decir el protocolo es bidireccional. 01/07/2019 Ing. Pablo Hidalgo L. 61 LABEL DISTRIBUTION PROTOCOL (LDP) • LDP provee varios mensajes LDP: – Descubrimiento (Discovery): utilizados para anunciar y mantener la presencia de un LSR en la red. Usa mensajes Hello por difusión para aprender sobre otros LSRs con los cuales tiene una conexión LDP directa – Sesión (Session): Para que dos LDP peers intercambien información, ellos tienen que primero establecer una sesión LDP. Los mensajes sesión son utilizados para establecer, mantener y terminar sesiones LDP entre LDP peers. – Anuncio (Advertisement): Para crear, cambiar y borrar las asociaciones Etiqueta/FEC. – Notificación (Notification): Provee información de asesoría e información de indicación de errores. • LDP corre sobre TCP por confiabilidad, con excepción de los mensajes Discovery que corren sobre UDP. 01/07/2019 Ing. Pablo Hidalgo L. 62 MECANISMO LDP • Establece las siguientes etapas: – Descubrimiento LDP: permite a un LSR descubrir “LDP peers” potenciales. – Establecimiento de la Sesión LDP: El intercambio de mensajes Hello entre dos LSRs activa el establecimiento de la sesión LDP. Establece dos pasos: • Establecimiento de la conexión TCP: llevado a cabo por el LSR “activo” (identificador LSR más alto) • Inicialización de la Sesión: se negocian los parámetros de la sesión intercambiando mensajes Initialization. Dos LSRs pueden enviar mensajes de Inicialización; el LSR que recibe el mensaje, contesta con un mensaje KeepAlive si los parámetros son aceptados, caso contrario se envía un mensaje de notificación de error, rechazando la sesión. 01/07/2019 Ing. Pablo Hidalgo L. 63 Intercambio de mensajes de LDP LSR/LER LSR/LER Discovery Transport Connection Establishment Session Initialization Label Distribution 01/07/2019 Ing. Pablo Hidalgo L. 64 DISTRIBUCIÓN DE ETIQUETAS • Para cada prefijo IP de la tabla de enrutamiento, cada LSR crea una asociación (binding) local, esto es asocia una etiqueta al prefijo IPv4. • Luego los LSR distribuyen esta asociación a sus LDPs vecinos. • Las etiquetas recibidas llegan a ser etiquetas remotas. • Las etiquetas locales y remotas son almacenadas en una tabla especial (LIB - Label Information Base). • Cada LSR tiene solamente una etiqueta local por prefijo, pero los LSR consiguen más de una etiqueta remota, porque usualmente tienen más de un LSR adyacente. 01/07/2019 Ing. Pablo Hidalgo L. 65 DISTRIBUCIÓN DE ETIQUETAS • De todas las etiquetas remotas, el LSR solo escoge una y la usa para determinar la etiqueta de salida asociada al prefijo IP. • La etiqueta remota escogida depende de cuál camino es el mejor; este camino se encuentra en la tabla de enrutamiento (RIB) • La RIB determina el siguiente salto para el prefijo IPv4. • El LSR usa esta información para establecer la LFIB, en la que la etiqueta local sirve como etiqueta de entrada y la etiqueta remota escogida sirve como etiqueta de salida. • Con ello cuando un LSR recibe un paquete etiquetado, éste es capaz de intercambiar la etiqueta de entrada que él asignó por la etiqueta remota que recibió del LSR adyacente del siguiente salto. 01/07/2019 Ing. Pablo Hidalgo L. 66 DISTRIBUCIÓN DE ETIQUETAS 01/07/2019 Ing. Pablo Hidalgo L. 67 DISTRIBUCIÓN DE ETIQUETAS 01/07/2019 Ing. Pablo Hidalgo L. 68 MODOS DE DISTRIBUCIÓN DE ETIQUETAS • Se tienen dos modos de distribución: – Downstream no solicitado (UD) – Downstream Bajo Demanda (DoD) • En el modo UD cada LSR distribuye una etiqueta a sus LSRs adyacentes, sin que éstos LSRs lo hayan pedido. En este modo un LSR recibe una etiqueta remota de cada LSR adyacente. • En el modo DoD cada LSR solicita a su LSR del siguiente salto de su LSP una etiqueta asociada al FEC. • En el caso de DoD la LIB muestra solamente una asociación remota, mientras que en UD se podría mostrar mas de una. 01/07/2019 Ing. Pablo Hidalgo L. 69 DISTRIBUCIÓN DE ETIQUETAS 01/07/2019 Ing. Pablo Hidalgo L. 70 No solicitada Downstream 01/07/2019 Ing. Pablo Hidalgo L. 71 Bajo demanda Downstream 01/07/2019 Ing. Pablo Hidalgo L. 72 MODOS DE RETENCIÓN DE ETIQUETAS • Son posible dos modos de retención de etiquetas: – Modo Liberal (Liberal Label Retention – LLR) – Modo Conservativo (Conservative Label Retention - CLR) • En el modo LLR un LSR guarda todas las etiquetas remotas recibidas en la LIB. Una de ellas corresponderá a la etiqueta del siguiente salto para una FEC particular. Esa etiqueta se utilizará en la LFIB. • En el modo CLR solo almacena en la LIB la etiqueta que corresponde al siguiente salto para una determinada FEC. • LLR tiene ventaja de adaptarse mas rápido a cambio de enrutamiento y por tanto se debe escoger otro siguiente salto. • CLR en cambio al almacenar menos etiquetas hace una mejor utilización de la memoria en el LSR. 01/07/2019 Ing. Pablo Hidalgo L. 73 ETIQUETAS DESCONOCIDAS Y RESERVADAS • Debido a que el campo etiqueta de una etiqueta MPLS tiene 20 bits, teóricamente se disponen de 220 – 1 (1’048.575) valores. • Si un paquete llega con una etiqueta desconocida para el LSR (lo cual normalmente no ocurre), éste no encontraría esta etiqueta en la LFIB y debería descartar el paquete. • No todos los valores de etiquetas son utilizados para el reenvío de paquetes. • Las primeras 16 etiquetas (0 a 15) están reservadas. • Un LSR no puede utilizar una etiqueta reservada para el reenvío de paquetes. 01/07/2019 Ing. Pablo Hidalgo L. 74 ETIQUETAS RESERVADAS • Implicit NULL – Tiene el valor 3 en el campo etiqueta. – Su uso se limita a PHP – El router de salida de un LSP envía una etiqueta Implicit NULL al router upstream cuando desea que este no le asigne etiqueta alguna a una FEC. – Equivale a pedir al LSR previo que retire (POP) la etiqueta top. – Con ello se evita que el LER de salida haga dos búsquedas (en la LFIB y en la RIB) y mejora su perfomance. – Su uso no está limitado a paquetes con una sola etiqueta. Se puede emplear con un stack de etiquetas. Se evita que se haga la búsqueda de 2 etiquetas. – La etiqueta Implicit NULL no formará parte del stack. 01/07/2019 Ing. Pablo Hidalgo L. 75 Implicit NULL 01/07/2019 Ing. Pablo Hidalgo L. 76 ETIQUETAS RESERVADAS • Explicit NULL – Tiene el valor 0 en el campo etiqueta. – Si bien el uso de la etiqueta Implicit NULL aumenta la eficiencia en el reenvío de paquetes, los bits EXP de la etiqueta retirada también se los pierde. – Con ello se perderá información de la QoS de ese paquete, la cual puede ser de interés informar a la salida. – Se soluciona el problema utilizando la etiqueta Explicit NULL. – Esta etiqueta envía el penúltimo router al router de salida. 01/07/2019 Ing. Pablo Hidalgo L. 77 ETIQUETAS RESERVADAS • Explicit NULL – Si bien esta etiqueta no permitirá reenviar los paquetes buscando el valor 0 en la LFIB, porque puede ser asignada a múltiples FECs. – El router de salida retirará esta etiqueta, por lo que deberá ocurrir una nueva búsqueda, pero deduce la información de QoS del paquete recibido, revisando los bits EXP de Explicit NULL. – La etiqueta Explicit NULL para IPv6 tiene el valor 2 • El valor de 1 es para la etiqueta Router Alert. • El valor 14 es para la etiqueta de alerta de Operación y Mantenimiento (OAM). 01/07/2019 Ing. Pablo Hidalgo L. 78 Comportamiento del campo TTL de la etiqueta MPLS • Entre paquetes IP y etiquetas MPLS 01/07/2019 Ing. Pablo Hidalgo L. 79 Comportamiento del campo TTL de la etiqueta MPLS • Entre etiquetas MPLS 01/07/2019 Ing. Pablo Hidalgo L. 80 FORMATO DE PDU - LDP • Consiste de una cabecera LDP seguida por uno o más mensajes LDP, los cuales no necesariamente podrían estar relacionados. • La cabecera LDP consiste de los campos: – Versión: campo de 16 bits que contiene la versión del protocolo – PDU lenght: campo de 16 bits que indica la longitud total del PDU – LDP, excluyendo los campos de versión y de longitud de la cabecera. – LDP id: Campo de 48 bits que identifica el espacio de etiquetas del LSR. Las etiquetas utilizadas por un LSR para la asociación etiqueta/FEC son asignadas de un conjunto de posibles etiquetas denominado espacio de etiqueta (label space). Los primeros 4 octetos identifican el LSR y debe ser globalmente de un único valor. Los últimos dos octetos identifican un espacio de etiquetas dentro del LSR. 01/07/2019 Ing. Pablo Hidalgo L. 81 FORMATO DE PDU - LDP Versión Longitud PDU Identificador LDP Formato del mensaje LDP 01/07/2019 Formato de la cabecera LDP Ing. Pablo Hidalgo L. 82 FORMATO DE PDU - LDP • El mensaje LDP consiste de una cabecera seguida por parámetros obligatorios y opcionales. Se definen los siguientes campos: – Bit U: 1 bit. Define la acción a ser tomada después de recibir un mensaje desconocido. Si U=0 una notificación se devuelve al creador del mensaje. Si U=1 el mensaje desconocido se ignora. – Tipo de Mensaje: Campo de 15 bits que permite identificar el tipo de mensaje. – Longitud del Mensaje: Campo de 16 bits que especifica la longitud total (en bytes) de los campos Message id, y de parámetros obligatorios y opcionales. – ID de Mensaje: Campo de 32 bits que se emplea para identificar el mensaje. – Parámetros: Campo de longitud variable. Los parámetros son codificados empleando un esquema TLV (Tipo – Longitud – Valor). 01/07/2019 Ing. Pablo Hidalgo L. 83 MENSAJE LDP 01/07/2019 Ing. Pablo Hidalgo L. 84 CODIFICACIÓN TLV (1) • Todos los mensajes LDP tienen una estructura común que usa un esquema de codificación TLV. • TLV es usado para codificar mucha de la información transportada en los mensajes LDP. • El campo Valor de un objeto codificado TLV, puede contener por sí mismo uno o más TLVs. • Tiene los siguientes campos: – U (bit TLV desconocido): Utilizado cuando un TLV desconocido es recibido. Si U=0, se retorna una notificación al originador del mensaje y todo el mensaje se ignora. Si U=1, entonces el TLV es ignorado y el resto del mensaje es procesado como si el TLV no existiere. 01/07/2019 Ing. Pablo Hidalgo L. 85 CODIFICACIÓN TLV (2) • Campos TLV (cont): – F (bit TLV de desvío desconocido): Este bit se aplica solamente cuando U=1 y el mensaje LDP que contiene el TLV desconocido ha sido desviado. Si F=0, el TLV desconocido no es desviado con el resto del mensaje. Si F=1, el TLV es desviado con el resto del mensaje. – Tipo: Campo de 14 bits que describe cómo el campo Valor es interpretado. – Longitud: Campo de 16 bits que especifica la longitud del campo valor en bytes. – Valor: Campo de longitud variable. Contiene información que es interpretada tal como es especificada en el campo Tipo. Podría contener codificación TLV por sí mismo. 01/07/2019 Ing. Pablo Hidalgo L. 86 CODIFICACIÓN TLV (3) 01/07/2019 Ing. Pablo Hidalgo L. 87 TIPO DE MENSAJES LDP • Los siguientes mensajes LDP han sido definidos: – – – – – – – – – – – Notification Hello Initialization keepAlive Address Address withdraw Label mapping Label request Label abort request Label withdraw Label release 01/07/2019 Ing. Pablo Hidalgo L. 88 INGENIERÍA DE TRÁFICO • Proceso que mejora la utilización de la red mediante la distribución de tráfico en ella de acuerdo con la disponibilidad de los recursos, así como el tráfico actual y el esperado. • La CoS y QoS pueden ser factores a tener en cuenta en este proceso. • Con ingeniería de tráfico se evita la congestión en cualquier camino. • La mejora de la utilización de la red no implica necesariamente que se obtenga el mejor camino, pero si el mejor camino para un determinado tipo de tráfico. • La ingeniería de tráfico permite al proveedor hacer un mejor uso de los recursos y reservar enlaces para determinadas clases de servicios o clientes. • Dos protocolos que hacen ingeniería de tráfico son CR-LDP y TERSVP. Ellos usan encaminamiento explícito para crear los LSPs. 01/07/2019 Ing. Pablo Hidalgo L. 89 CONSTRAINED – BASED ROUTING LABEL DISTRIBUTION PROTOCOL (CR - LDP) • Existen algunos casos en los que hay necesidad de crear LSPs de enrutamiento explícito a través de un dominio MPLS. • Hay también necesidad de asegurar que los LSPs puedan soportar CoS (Clase de Servicio) y requerimientos de Ingeniería de Tráfico. • Para estas situaciones se crearon protocolos como: CR-LDP y RSVP-TE. • CR-LDP es un protocolo de distribución de etiquetas basado en LDP. 01/07/2019 Ing. Pablo Hidalgo L. 90 CR - LDP • CR-LDP se emplea para establecer un LSP explícitamente ruteado punto a punto unidireccional denominado CR-LSP. • Un LSP se establece como resultado de la información de ruteo de una red IP que usa el algoritmo del camino más corto. • Un CR-LSP se calcula en el LSR origen basado en criterios de información de enrutamiento y de QoS. • Un CR-LSP bidireccional entre los LSRs 1 y 2 se puede solamente crear estableciendo un CR-LSP desde el LSR1 al LSR2 y un CR-LSP separado desde el LSR2 al LSR1. 01/07/2019 Ing. Pablo Hidalgo L. 91 CR - LDP • Se pueden utilizar los CR-LSPs de diferentes formas. • Por ejemplo se pueden utilizar en una red IP para hacer balanceo de carga. Esto es, el tráfico entre sus enlaces puede ser igualmente distribuidos, forzando a que el tráfico pase a través de los enlaces menos utilizados. • CR-LSPs también se pueden utilizar para crear túneles en MPLS, e introducir rutas basadas en criterios de QoS, tales como la minimización del retardo total extremo a extremo, y maximización del throughput. 01/07/2019 Ing. Pablo Hidalgo L. 92 CR - LDP • En el ejemplo asumamos que el camino entre el LSR A (de ingreso) y el LSR G (de salida), que se ha calculado utilizando OSPF pasa a través de E y F. • Si se usa CR-LDP se puede establecer un CR-LSP que satisface un criterio de QoS, tal como minimizar el retardo extremo – extremo. Por ejemplo si los LSRs B, C y D no están muy utilizados, enrutando el CR - LSP a través de estos LSRs reducirá el retardo, a pesar de que el número de saltos sea mayor que a través de E y F. 01/07/2019 Ing. Pablo Hidalgo L. 93 QoS y CoS (1) • QoS es un mecanismo que satisface los requisitos exigidos por los usuarios para determinadas aplicaciones que circulan por la red. • La QoS permite garantizar en caso de congestión que las aplicaciones más críticas dispongan de mayor prioridad que otras menos críticas. • Al establecer una red con QoS los enlaces son controlados y el tráfico priorizado, de manera que se pueda distinguir entre diferentes tipos de tráfico, y asignar recursos en función de parámetros como: ancho de banda, retardo, jitter y pérdida de paquetes. • El cumplimiento de los servicios ofrecidos por las diferentes empresas portadoras, se lo realiza mediante los Service Level Agreement (SLAs). 01/07/2019 Ing. Pablo Hidalgo L. 94 QoS y CoS (2) • CoS se utiliza para diferenciar el tráfico de una red, es decir para gestionar de forma eficaz diferentes clases de flujos de datos. • MPLS permite ofrecer CoS ya que las etiquetas MPLS permiten propagar la CoS en el correspondiente LSP. • Una red MPLS puede transportar distintas clases de tráfico, debido a que el tráfico que fluye a través de un determinado LSP, se puede asignar a diferentes colas de salida en los diferentes saltos LSR, de acuerdo con la información contenida en la etiqueta. • Se tendrán especificaciones para cada LSP. Por ejemplo, si se requiere videoconferencia sobre una red MPLS, el LSP tendrá mayor ancho de banda y se dirigirá por la ruta más corta, lo que permitirá reducir la latencia y entregar una imagen de mayor calidad. 01/07/2019 Ing. Pablo Hidalgo L. 95 QoS y CoS (3) • El campo EXP de 3 bits ubicado en la cabecera MPLS fue originalmente considerado de uso experimental. • Con el propósito de especificar la CoS a la que pertenece un paquete, se utiliza el soporte de MPLS para DiffServ, donde se redefine este campo para especificar dicha CoS. • Las clases de servicio que se proporcionan en la nueva arquitectura son las mismas que en el modelo DiffServ, ya que la integración de DiffServ con MPLS no modifica su filosofía ni su funcionamiento. • Para soportar DiffServ sobre MPLS con la gran variedad de valores DSCP (DiffServ Code Point - 6 bits redefinidos del campo ToS del paquete IP), es necesario configurar la apropiada QoS en cada LSR de la red. 01/07/2019 Ing. Pablo Hidalgo L. 96 QoS y CoS (4) • Ya que las etiquetas fueron definidas antes que los valores DSCP, el campo EXP sólo tiene tres bits en correspondencia a los tres bits del campo Precedencia del paquete IP. • El problema es que IP puede soportar hasta 64 posibles valores DSCP y las etiquetas MPLS admiten solo 8 posibles valores de PHB (Per-Hop Behaviors - tratamiento de retransmisión de un paquete en DiffServ), por lo que fue necesario redefinir métodos que cubran esta necesidad. • El RFC 3270 describe una solución flexible para el soporte de la arquitectura DiffServ sobre redes MPLS. • Cuando paquetes marcados con valores DSCP llegan a una red MPLS, se necesita de un método para transferir la información proporcionada por estos valores a las etiquetas MPLS. 01/07/2019 Ing. Pablo Hidalgo L. 97 QoS y CoS (5) • Los paquetes no pueden ser diferenciados basados en los valores DSCP, ya que éstos son parte de la cabecera IP. • DiffServ debe proveer de una vía diferente para hacer viable la arquitectura DiffServ/MPLS. • El RFC 3270 describe dos métodos para transmitir información de la CoS de la cabecera IP a los LSRs en la cabecera MPLS: – EXP-inferred-PHB Scheduling Class LSP (E-LSP) – Label-only-inferred LSP (L-LSP) • Si una red soporta hasta ocho PHBs entonces los bits EXP son suficientes para esa red, permitiendo utilizar E-LSP. • Si una red tiene más de ocho PHBs entonces los bits EXP no son suficientes para cubrir todos los PHBs a LSP, por lo que se utilizará L- LSP. 01/07/2019 Ing. Pablo Hidalgo L. 98 QoS y CoS (6) • Los bits EXP se pueden usar de la misma forma que los 3 bots de precedencia de la cabecera IP. • Si se usa estos 3 bits para QoS, el LSP se denomina E-LSP para indicar que el LSR utilizará los bits EXP para planificar la clase y la prioridad de descarte. • Cuando un paquete IP con QoS del tipo DiffServ, los 6 bits DSCP no podrán ser copiados al campo EXP para mantener la calidad de servicio. • Por ello se deberán utilizar parte de los bits del campo etiqueta para una parte de la calidad de servicio. En ese caso el LSP se denominará L-LSP. Los bits EXP mantienen una parte de la QoS (solamente la probabilidad de descarte) en tanto que los bits de la etiqueta indicarán la clase. 01/07/2019 Ing. Pablo Hidalgo L. 99 DIFERENCIAS ENTRE E-LSP Y L-LSP 01/07/2019 Ing. Pablo Hidalgo L. 100