Multi-Protocol Label Switching Introducción a MPLS Multi-Protocol Label Switching Teoría de las Comunicaciones 2011
MPLS : Conceptos MPLS: Multi Protocol Label Switching MPLS es “Nivel 2+ switching” MPLS el forwarding se realiza de la misma forma que en los switches VC (Virtual Circuit) “Packet forwarding” se realiza en base a los “Labels”
Motivación IP Primer protocolo definido y usado De facto el único protocolo para la Internet Global trabajando … pero tiene desventajas
Motivación (cont.) Desventajas del Ruteo IP Sin conexión - e.g. no QoS Cada router debe tomar decisiones independientes basado en las Direcciones IP Encabezado IP Grande - al menos 20 bytes Ruteo en capa de red - Más lento que Switching (conmutación) Usualmente diseñado para obtener el camino más corto - No toma en cuenta otras métricas
Motivación (cont.) ATM (Asynchronous Transfer Mode) Orientada a Conexión - Provee QoS “Switcheo” rápido de paquetes con paquetes (celdas) de largo fijo Integración de diferentes tipos de tráfico (voz, datos, video) … Pero también tiene desventajas
Motivación (cont.) Desventajas de ATM Complejo Caro No ampliamente adoptado
Motivación (cont.) Idea: Combinar los algoritmos de re-envío usados en ATM e IP.
Bases de MPLS Multi Protocol Label Switching es acomodado entre capa 2 y capa 3 ???
Bases de MPLS (cont.) Características de MPLS Mecanismo para manejar el flujo de tráfico de tamaños variados (Flow Management) Es independiente de protocolos de capa 2 y 3 Mapea direcciones IP a rótulos ( labels) de longitud fija Interconecta a protocolos de existentes (RSVP, OSPF) Soporta ATM, Frame-Relay y Ethernet
MPLS : esquema básico…. Label Swapping Label Pop Label push LIB Incoming Outgoing IF1 L1 IF2 L2
MPLS : esquema básico (cont)…. IP IP #L1 IP #L2 IP #L3 IP IP Forwarding LABEL SWITCHING IP Forwarding
MPLS A diferencia de IP la clasificacion / etiqueta puede basarse en: Destination Unicast address Traffic Engineering VPN QoS FEC: Forwarding Equivalence Class Puede representar : Destination address prefix, VPN, Traffic Engineering tunnel, Class of Service (CoS).
Terminología MPLS FEC (Forwarding Equivalence Class): conjunto de paquetes que entran en la red MPLS por la misma interfaz, que reciben la misma etiqueta y por tanto circulan por un mismo trayecto. Normalmente se trata de datagramas que pertenecen a un mismo flujo. Una FEC puede agrupar varios flujos, pero un mismo flujo no puede pertenecer a más de una FEC al mismo tiempo. LSP (Label Switched Path): camino que siguen por la red MPLS los paquetes que pertenecen a la misma FEC. Es equivalente a un circuito virtual en ATM o Frame Relay. LSR (Label Switching Router) : router que puede encaminar paquetes en función del valor de la etiqueta MPLS LDP (Label Distribution Protocol): es el protocolo que utilizan los LSR para asignar las etiquetas LIB (Label Information Base): La tabla de etiquetas que manejan los LSR. Relaciona la pareja (interfaz de entrada - etiqueta de entrada) con (interfaz de salida - etiqueta de salida) Los LSR pueden ser a su vez de varios tipos: LSR Interior: el que encamina paquetes dentro de la red MPLS. Su misión es únicamente cambiar las etiquetas para cada FEC según le indica su LIB LSR Frontera de ingreso: los que se encuentran en la entrada del flujo a la red MPLS (al principio del LSP). Se encargan de clasificar los paquetes en FECs y poner las etiquetas correspondientes. LSR Frontera de egreso: Los que se encuentran a la salida del flujo de la red MPLS (al final del LSP). Se encargan de eliminar del paquete la etiqueta MPLS, dejándolo tal como estaba al principio
Forwarding Equivalence Classes LSR LSR LER LER LSP IP1 IP2 IP1 IP2 IP1 #L1 IP2 IP1 #L2 IP2 IP1 #L3 IP2 Los paquetes tienen distinta direccion destino pero pueden mapearse a un mismo camino . FEC = un subconjunto de paquetes que son “tratados de la misma manera” por un router FECs : flexibilidad y escalabilidad En el routing que vimos , un paquetes es asignado a un FEC en cada hop (e.j. L3 look-up), en MPLS esto se realiza solo al ingreso de la red
En consecuencia tenemos…. LSR: Label Switch Router Edge-LSR
Rótulo (Label) Formato genérico del label
Label (cont.) Distribución de Label (rótulo) MPLS no especifica un único método para distribuir los rótulos (labels) BGP (Border Gateway Protocol) ha sido mejorado para la información de label dentro de mensajes del protocolo (piggyback) RSVP también ha sido extendido para incluir intercambio de labels (también vía piggybacked).
Label (cont.) IETF ha definido un nuevo protocolo conocido como Label Distribution Protocol (LDP) para señalización y administración Extensiones al protocolo base LDP ha sido definido para soportar ruteo basado en requerimientos de QoS.
Label (cont.)
ESCENARIO DE UNA RED MPLS LAN Router IP Edge LSR IP Analiza Etiqueta IP LSP IP QoS en la Red MPLS IP Etiqueta Introduce (push) Etiqueta Extrae (pop) Etiqueta
PRINCIPIO DE CONMUTACION EN MPLS Las etiquetas tienen significado local; no tiene significado global swap RED MPLS LAN Router IP Edge LSR FEC Interfaz Etiqueta de salida de salida a 2 70 b 2 23 Interfaz Etiqueta Interfaz Etiqueta de entrada de entrada de salida de salida 1 70 3 34 1 23 4 80 1 80 2 71 2 34 4 17 3 71 4 77 IP IP IP 1 2 3 4 IP 17 IP 77 IP 70 IP IP 23 IP 34 IP IP 71 IP 80
Red orientada a conexión PRINCIPIO DE CONMUTACION EN MPLS RED MPLS LAN Router IP Edge LSR 1 2 3 4 FEC Interfaz Etiqueta de salida de salida a 2 70 b 2 23 Interfaz Etiqueta Interfaz Etiqueta de entrada de entrada de salida de salida 1 70 3 34 1 23 4 80 1 80 2 71 2 34 4 17 3 71 4 77 QoS para cada LSP. Medio físico LSP Red orientada a conexión
DESCRIPCION DE LA RED MPLS Label Switching Router, LSR. ►Nodo dentro de la red MPLS capaz de conmutar y enrutar paquetes analizando la etiqueta adicionada a cada paquete. Edge Label Switching Router, Edge LSR. ►Nodo MPLS de borde que maneja tráfico que ingresa o sale a una red MPLS. ►El de entrada adiciona etiqueta a cada paquete IP. ►El de salida extrae etiqueta del paquete IP y enruta según capa 3. Label Switch Path, LSP ►Trayecto definido con QoS entre dos puntos extremos dentro de la red MPLS.
RED MPLS Red del Cliente RED MPLS Edge LSR
FORWARDING EQUIVALENCE CLASS-FEC ►Grupo de paquetes IP, ó flujos, que son enviados sobre un mismo trayecto y con el mismo tratamiento. El FEC para un paquete puede ser determinado por el análisis de los siguientes parámetros: ►Dirección IP de origen o destino. ►Dirección de red de origen o destino. ►Valor del campo Protocolo (protocol ID) ►Valor de DSCP (nivel de prioridad del paquete IP) ►Valor del campo Etiqueta de Flujo en IPv6 Un PHB puede ser asignado en un LSR para un FEC dado.
ROUTER DEL PROVEEDOR Y CLIENTE Red del proveedor usuario Red de 1 2 3 4 PE P CE C CE .- Customer Edge C .- Customer PE .- Provider Edge P .- Provider
CABECERA(S) MPLS 0 4 8 16 19 31 0 4 8 16 19 31 Opciones-relleno Ver HLEN Tipo Serv. Longitud total Identificador Desplaz de frag. Indic TTL Protocolo Suma de chequeo Dirección de origen Dirección de destino Carga útil 0 4 8 16 19 31 40 bytes max 20 bytes DS Etiqueta de flujo Longitud de carga útil Límite salto Cabe.sigte PDU de la capa superior Cabecera opcionales Opcional 0 4 8 16 19 31 Cabecera Stacking Label Cabecera MPLS EXP Etiqueta MPLS TTL S S=0 S=1 EXP Etiqueta MPLS TTL S Cabecera MPLS EXP Etiqueta MPLS TTL S
FORMATO DE ETIQUETA O CABECERA MPLS MPLS Shim header Etiqueta MPLS EXP S TTL 20bits 3bits 1bits 8bits Campo Label ó Etiqueta. ►Campo de 20 bits. Valores del 0 al 15 son reservados. Campo EXP ó experimental. ►Campo de 3 bits. Indica CoS o información de PHB. Campo S ó Stack ►Campo de 1 bit. Indica un grupo ó stack de etiquetas. Campo TTL ó Time-To-Live ►Campo de 8 bits. Elimina bucles en la región MPLS.
LABEL STACKING Un paquete IP etiquetado puede transportar varias etiquetas. ►Stack tipo LIFO: Last-In-First-Out. Label Stacking permite la agregación de LSPs en un sólo LSP creando un túnel. ►Al inicio del túnel, un LSP asigna la misma etiqueta a paquetes provenientes de varios LSPs, introduciendo etiqueta a la parte superior del stack. Un ISP puede agregar varios LSPs en pocos túneles entre puntos de presencia (PoP, Points of Presence) ►Pocos túneles pocas tablas: mejora la escalabilidad.
LABEL STACKING PE P LSP Túnel LSP1 LSP1 LSP LSP2 LSP2 IP IP IP IP IP 3 4 PE P IP IP 41 LSP1 IP LSP1 IP 81 IP 91 LSP IP 91 17 IP 27 IP 72 17 IP 91 LSP2 LSP LSP1 LSP2 IP 91 70 IP 72 LSP2 IP 61 IP 72 IP 72 70 Túnel IP 25 IP IP 31 IP
PROCESAMIENTO DEL CAMPO TIME-TO-LIVE a – 1 = 0, No se envía el paquete IP etiquetado Se descarta simplemente o se envía a la capa 3 para generar ICMP a – 1 > 0, Se actualiza el campo TTL de MPLS y el paquete etiquetado en enviado j – 1 = 0, No se envía el paquete IP etiquetado Se descarta simplemente o se envía a la capa 3 para generar ICMP j – 1 > 0, Se actualiza el campo TTL de IP y el paquete IP es enviado según la capa 3 Red MPLS 1 2 3 4 Etiqueta TTL = a Dato IP CabecIP Es copiado en el campo TTL de MPLS Etiqueta TTL = j Dato IP CabecIP TTL = a Dato IP CabecIP TTL = a Dato IP CabecIP TTL = j-1
LSRs y Labels : Resumiendo (1) IGP domain con un LDP (label distribution protocol ) Un protocolo de ruteo IP se utiliza en el interior del dominio (e.j.:OSPF, i-ISIS) Un “LDP: label distribution protocol” es usado para distribuir el mapeo address/label entre vecinos adyacentes El ingress LSR recibe los paquetes IP , los clasifica y asigna un label, y forwardea el paquete etiquetado en la red MPLS Los Core LSRs switcheab packets/cells basados en el valor del label . El egress LSR remueve el label antes de forwardear el paquete IP outside de la red MPLS
LSRs y Labels : Resumiendo (2) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Label | Exp|S| TTL Label = 20 bits Exp = Experimental, 3 bits S = Bottom of stack, 1bit TTL = Time to live, 8 bits Usa nuevos Ethertypes/PPP PIDs/SNAP values/etc Mas de un Label es permitido-> Label Stack MPLS LSRs permite forwardear paquetes basados en el valor del label situado en el top del stack PPP Header(Packet over SONET/SDH) PPP Header Shim Header Layer 3 Header Ethernet Ethernet Hdr Shim Header Layer 3 Header
Asignación de Label y Distribución Labels tienen significacion a nivel link-local Cada LSR bindea su propio mapeo de label Cada LSR asigna labels a sus FECs Labels son asignados e intercambiados entre LSR vecinos adyacentes Aplicaciones pueden requerir vecinos no adyacentes
Asignación de Label y Distribución Upstream y Downstream LSRs 171.68.40/24 171.68.10/24 Rtr-A Rtr-B Rtr-C Rtr-C es el downstream vecino del Rtr-B para la 171.68.10/24 Rtr-B es el downstream vecino del Rtr-A para la 171.68.10/24 Los LSRs conocen sus downstream vecinos via un IP routing protocol Next-hop address es el downstream vecino
Asignación de Label y Distribución (cont.) “Unsolicited Downstream Distribution” Use label 30 for destination 171.68.10/24 Use label 40 for destination 171.68.10/24 171.68.40/24 171.68.10/24 Rtr-A Rtr-B Rtr-C Next-Hop In Lab - ... Address Prefix 171.68.10 Out I/F 1 30 Next-Hop In Lab 30 ... Address Prefix 171.68.10 Out I/F 1 40 Next-Hop In Lab 40 ... Address Prefix 171.68.10 Out I/F 1 - Los LSR distribuyen los labels a los upstreams vecinos IGP derived routes
Label Assignment and Distribution On-Demand Downstream Distribution Use label 40 for destination 171.68.10/24 Use label 30 for destination 171.68.10/24 171.68.10/24 171.68.40/24 Rtr-A Rtr-B Rtr-C Request label for destination 171.68.10/24 Request label for destination 171.68.10/24 Upstream LSRs request labels to downstream neighbors Downstream LSRs distribute labels upon request
LSP: PHP( Penultimate Hop Popping) caso general el Egress LER examina la cabecera del paquete y consulta sus tablas dos veces. Este proceso añade un retardo considerable al tratamiento del mismo => Penultimate Hop Popping
LSP: Penultimate Hop Popping Address Prefix and mask 171.68.10/24 Next-Hop 171.68.9.1 Interface Serial1 171.68.44/24 171.68.12.1 Serial2 171.68/16 ... Null Next-Hop In Lab Address Prefix Out I/F - 171.68/16 1 4 ... Next-Hop In Lab Address Prefix Out I/F 4 171.68/16 2 pop ... Summary route for 171.68/16 Summary route for 171.68/16 1 1 171.68.44/24 Use label 4 for FEC 171.68/16 Use label “implicit-null” for FEC 171.68/16 171.68.10/24 Summary route is propagate through the IGP and label is assigned by each LSR Egress LSR summarises more specific routes and advertises a label for the new FEC
Información de Ruteo
Asignando Labels
Forwardeo
Asignando Labels (ejemplo 2): Tabla en R1
Asignando Labels (ejemplo 2) : como queda …
Use label “implicit-null” for FEC 171.68/16 Address Prefix and mask 171.68.10/24 Next-Hop 171.68.9.1 Interface Serial1 171.68.44/24 171.68.12.1 Serial2 171.68/16 ... Null Next-Hop In Lab Address Prefix Out I/F - 171.68/16 1 4 ... Next-Hop In Lab Address Prefix Out I/F 4 171.68/16 1 7 ... Next-Hop In Lab Address Prefix Out I/F 7 171.68/16 2 pop ... P P 1 1 2 PE PE Use label “implicit-null” for FEC 171.68/16 Use label 4 for FEC 171.68/16 Use label 7 for FEC 171.68/16 171.68.44/24 Summary route for 171.68/16 Summary route for 171.68/16 CE 171.68.10/24 Summary route is propagate through the IGP and label is assigned by each LSR Egress LSR summarises more specific routes and advertises a label for the new FEC