Sumario • Gestión del tráfico en Internet – la perspectiva del ISP • MPLS (Multi Protocol Label Switching) • Ejercicio MPLS • Anexo • Bibliografía: – Principal: Computer Networks. Peterson & Davie. 5º edición – Complementaria: Computer Networks. Tanenbaum. 4º edición
1
Global Internet
Perspectiva del Internet Service Provider (ISP) 2
Estructura de servicios de un ISP CLIENTES MASIVOS
CLIENTES CORPORATIVOS INTERNET
CORE ISP
HOSTING HOUSING
SERVICIOS PROPIOS SERVICIOS AUXILIARES 3
Una taxonomía de las aplicaciones
• Ej: Pérdida de un comando enviado a un robot.
A pérdida de datos
• Ej: Pérdida de una muestra de audio.
Al estado de la red
• Ej. video: Cambiando el algoritmo de codificación). (Bit rate vs calidad).
• Ej. audio: Ajustando el tamaño de los buffers de recepción.
4
Gestión del tráfico en Internet – la perspectiva del proveedor de servicios de Internet • Asumiremos que las capacidades del ISP son escasas y se ha tomado la decisión de evitar el exceso de reserva de recursos • También puede haber casos en que un ISP ya está comprometido con una determinada tecnología y aumentar más las capacidades significaría reemplazar equipos costosos o añadir (no actualizar) enlaces – lo que a su vez puede más causar problemas • Existen métodos para que los ISPs puedan gestionar el tráfico en la red - por ejemplo, se puede decidir cambiar el enrutamiento IP y reubicar una cierta fracción de los paquetes que congestionan un enlace en otro lugar. Esto es llamado Ingeniería de Tráfico – Traffic Engineering • Otra opción es diferenciar entre, por ejemplo, un cliente de tarifa premium quien siempre debe experimentar las condiciones perfectas y un cliente de tarifa normal que debe ser capaz de aceptar algún grado de congestión. Esto es llamado Calidad de Servicio - Quality of Service (QoS) 5
???
Red de circuitos virtuales
6
MPLS: Orígenes • MPLS se introdujo originalmente como un medio para forwardear eficientemente paquetes IP a través de redes ATM; permitiendo a los administradores asociar ciertas clases de paquetes con los circuitos virtuales ATM (VC) • Además, originalmente MPLS facilitaba el forwarding (usa una etiqueta de 20 bits en lugar de una dirección IP más compleja), lo que puede acelerar el proceso- algunos routers centrales están obligados rutear millones de paquetes por segundo, e incluso una implementación de hardware puro basada búsqueda por dirección IP es lenta en comparación a revisar etiquetas MPLS • Hoy en día, la ventaja de la velocidad de los switches MPLS sobre los enrutadores IP ha disminuído, y la razón principal para el uso de MPLS es la capacidad para llevar a cabo ingeniería de tráfico y para establecer túneles
7
Un túnel entre París y Londres
8
Túneles: Ejemplos • IP in IP • GRE (Generic Routing Encapsulation) – RFCs 1701 y 1702…
• L2TP (Layer 2 Tunneling Protocol) – RFCs 2661…
• IPSec (Internet Protocol Security) – RFCs 4301 y 4309…
• MPLS (Multi-Protocol Label Switching) – RFC 3031 (1998)…
• HTTP tunneling • Secure shell tunneling 9
MPLS: Conceptos RFC 3031 MPLS: Multi Protocol Label Switching MPLS es “nivel 2 + switching” El forwarding de los paquetes se realiza de la misma forma que en los switches VC (Virtual Circuit) • El forwarding de los paquetes se realiza en base a “labels” (etiquetas) • • • •
10
Motivación • IP – Primer protocolo definido y utilizado – De facto; el único protocolo para la Internet global trabajando … pero tiene desventajas 11
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 – Usualmente diseñado para obtener el camino más corto - No toma en cuenta otras métricas 12
Motivación (cont.) • ATM (Asynchronous Transfer Mode) – Orientada a conexión - Provee QoS – “Switcheo” rápido de paquetes (celdas) de largo fijo – Integración de diferentes tipos de tráfico (voz, datos, video)
… Pero también tiene desventajas 13
Motivación (cont.)
• Desventajas de ATM – Complejo – Caro – No ampliamente adoptado – Caído en desuso 14
Motivación (cont.) • Idea: Combinar los algoritmos de re-envío usados en ATM e IP
15
Algunas características de MPLS • Se “inserta” entre capa 2 y capa 3. • Es independiente de los protocolos de capa 2 y 3: Puede transportar paquetes IP o paquetes no-IP (“multiprotocol”) Puede transportar paquetes IP sobre redes no-IP. • Interactúa con protocolos existentes (RSVP, OSPF) • Soporta ATM, Frame-Relay y Ethernet y PPP
16
¿Para qué se usa? •
Los sectores que más provecho pueden sacar de MPLS, son los proveedores de servicio, las grandes empresas e instituciones gubernamentales (grandes redes). Las empresas medianas pueden contratar un servicio de VPNs de algún proveedor de servicio basado en MPLS
•
Los usos más importantes son: – Ingeniería de tráfico / QoS / Congestión: El enrutamiento IP tradicional suele llevar a sobrecargar los caminos más cortos (a veces los caminos más largos pueden tener menor congestión y menor delay). Respecto a este problema MPLS puede ser utilizado para: • Maximizar la utilización de los enlaces y los nodos • Garantizar el nivel de delay (respetar los SLAs). Un acuerdo de nivel de servicio o Service Level Agreement, es un contrato escrito entre un proveedor de servicio y su cliente con objeto de fijar el nivel acordado para la calidad de dicho servicio. • Minimizar el impacto de las fallas. El principal protocolo para realizar ingeniería de trafico con MPLS es RSVP-TE – Integración de redes diversas: ATM, Frame relay, IP, Ethernet y ópticas Mantener una red, es más barato que mantener muchas. Con MPLS podemos armar una red de transporte universal – MPLS-VPN: Con MPLS pueden realizarse VPNs robustas, más escalables y menos costosas que otras alternativas como IPSec, ATM o frame relay; además agrega QoS 17
MPLS: Esquema básico Label Swapping
Label Pop
Label push
LIB Incoming IF1
L1
Outgoing IF2
L2
18
MPLS: Esquema básico
IP
IP
IP Forwarding
#L1
IP
#L2
LABEL SWITCHING
IP
#L3
IP
IP Forwarding
19
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 • 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 • 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) • LER (Label Edge Router): – 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 – 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 20
Terminología MPLS LSP
FECs
α
-
β
5
δ
-
γ
3
δ
α
γ 3
X
B
5
β
4
β
α
5
β
α
A no MPLS enabled
LIB
4
Y
α
β 2 α W
V
α
4
β
-
γ
7
β
-
α
no MPLS enabled
β
C
Z
7 β
LIB LER
α
γ
LIB 3
MPLS
Multiple Protocol Label Switching
LER
Label Edge Router
LSR
Label Switch Router
LIB
Label Information Base
LSP
Label Switch Path
FEC
Forward Equivalence Class
β
2
α
2
β
7
LER
LSR (V, W, Y) LSRs X, Y, Z, V, W: MPLS enabled
21
Forwarding Equivalence Class LSR
LER
LSR LER
LSP IP1
IP1
IP2
IP1
#L1
IP1
#L2
IP1
#L3
IP2
#L1
IP2
#L2
IP2
#L3 IP2
• FEC: es un grupo de paquetes que son forwardeados de la misma manera, por el mismo camino, y con el mismo tratamiento de forwarding. Los flujos que se agrupan bajo un mismo label se dice que pertenecen a un mismo FEC • Un FEC tiende a corresponder con un LSP. Un LSP puede y (usualmente es) usado por múltiples FECs • Un FEC no es un paquete, no es un label. Un FEC es una entidad lógica creada por el router para representar una clase (categoría) de paquetes • Cuando un paquete llega al router de ingreso de un dominio MPLS, el router revisa las cabeceras del paquete, y chequea si el paquete coincide con un FEC (clase) conocido. Una vez que se determina el FEC que matchea, se utiliza el camino y el label de salida asignado a ese FEC para forwardear el paquete 22
FEC: Criterios de clasificación • Un FEC puede corresponder con alguna clase de tráfico que el LER considere significativo. Por ejemplo, todo el tráfico con un cierto valor de IP precedence puede constituir un FEC
• • • • •
Destination IP unicast address Traffic Engineering QoS (Quality of Service) VPN Etc… 23
MPLS. Label
24
¿Qué capa es MPLS?
• Como el label de MLPS se encuentra normalmente entre las cabeceras de los paquetes de capa 3 y capa 2, se lo refiere algunas veces como un protocolo de capa 2.5 25
¿Dónde se insertan los labels?
a. Etiqueta en un paquete ATM b. Etiqueta en un paquete PPP 26
¿Dónde se insertan los labels?
27
Escenario de una red MPLS
IP
LAN LAN
MPLS Analiza Etiqueta
Router IP
Analiza Etiqueta
LSR
IP
LSR LER P LS
LER IP
IP
Etiqueta
Introduce (push) Etiqueta
Extrae (pop) Etiqueta
LSR Analiza Etiqueta
LSR Analiza Etiqueta
28
Forwarding en MPLS Las etiquetas tienen significado local; no tienen significado global IP
Interfaz Etiqueta Interfaz Etiqueta de entrada de entrada de salida de salida
IP
2 3
34 71
4 4
17 77
LAN LAN
MPLS LSR
LSR 2
1
FEC Interfaz Etiqueta de salida de salida a 2 70 b 2 23
2 1
IP
70 23
IP 80 4
34 80
2 2
3
LSR
3 4
IP
34
Interfaz Etiqueta Interfaz Etiqueta de entrada de entrada de salida de salida 1 1
IP
I P 4 17 3 77 1
2
3
IP 1 70 IP LER 23 2
1
IP 71
Router IP
LER 3
IP
IP
3
1
LSR Interfaz Etiqueta Interfaz Etiqueta de entrada de entrada de salida de salida 1
80
2
71
29
Las etiquetas MPLS pueden ser “apiladas” • Un paquete 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 la etiqueta en la parte superior del stack
30
Label stacking
• Label: Label value, 20 bits • Exp: Experimental use, 3 bits
• S: Bottom of Stack, 1 bit • TTL: Time To Live, 8 bits 31
Label stacking IP
IP
41
IP IP 81
IP
LS P
91
1
2
1
IP
IP
31
P2 LS
91 70 2 72 70 1
3 IP
P LS
IP 2IP
4 IP
2
3
1
72
1
72
91 1
17
17
2 IP 2
3
IP 72
P1 LS
IP 27 91
IP 61
3
IP 25
4
1
IP
LS P
2
P
IP
LSP
LSP1 LSP2
Túnel
32
¿Cómo se distribuyen los labels? • MPLS no especifica un único método para distribuir los labels • Los labels o etiquetas se distribuyen utilizando diferentes tipos de protocolos de señalización: – Label Distribution Protocol (LDP), para distribución, señalización y administración – RSVP (Resource ReSerVation Protocol) ha sido extendido para incluir intercambio de labels (RSVP-TE) 33
Label Distribution Protocol (LDP) • RFC 3036 (Andersson et al. 2001) • LDP se utiliza para establecer LSPs cuando no se requiere realizar ingeniería de tráfico • Establece LSPs que siguen la tabla de ruteo IP existente • Es particularmente bueno para establecer full-mesh de LSPs entre todos los routers de la red • LDP puede operar en varios modos para satisfacer diferentes requerimientos • El uso mas común es el unsolicited mode, que configura un full mesh de túneles entre routers, necesario para VPNs de capa 2 y capa 3
34
Ejemplo LDP: Tablas de ruteo IP
35
Ejemplo LDP: Asignación de etiquetas (a) R2 asigna etiquetas y anuncia la asignación a R1 (b) R1 almacena las etiquetas recibidas en una tabla (c) R3 anuncia otra asignación y R2 almacena la etiqueta recibida en una tabla
36
Resource ReSerVation Protocol with Traffic Engineering (RSVP-TE) • RFC 3209, 5151. RSVP-TE es una extensión de RSVP para ingeniería de tráfico. Soporta la reserva de recursos a través de una red IP • Las aplicaciones que corren IP pueden usar RSVP para indicar a los otros nodos la naturaleza (bandwidth, jitter, maximum burst, etc.) de los streams de paquetes que quieren recibir • RSVP-TE generalmente permite el establecimiento de LSPs, teniendo en cuenta parámetros de restricciones de red, tales como ancho de banda disponible y explicit hops • El router de ingreso puede usar un algoritmo para determinar un camino hacia el destino, asegurando que se cumplan todos los requerimientos de QoS. El camino resultante es entonces utilizado para establecer el LSP • El overhead operacional de RSVP-TE comparado con LDP es generalmente más alto. Este es un clásico trade-off entre complejidad y optimalidad en el uso de tecnologías en redes 37
RSVP
38
LDP vs RSVP-TE
• ¿Qué protocolo usar? – LDP o RSVP-TE? • La respuesta tradicional es “Use LDP cuando quiere simplicidad. Use RSVP-TE cuando quiere garantias de ancho de banda y 50 ms de reencaminamiento alrededor de una falla” • ¿Porqué no ambos? - LDP over RSVP-TE (LDPoRSVP-TE) 39
Principales usos actuales de MPLS • Calidad de servicio (QoS) • Ingeniería de tráfico - Ruteo explícito • Redes Privadas Virtuales (Virtual Private Networks VPN): –Layer 2 VPN –Layer 3 VPN 40
QoS y MPLS • Como ya hemos visto, el tráfico se agrega en grupos llamados FEC y esos grupos son asignados a LSPs específicos • Se puede implementar calidad de servicio (Quality of Service QoS) asignando FECs de alta-prioridad a LSPs de alta-calidad y FECs de baja-prioridad a LSPs de baja-calidad
41
QoS y MPLS
Usuario A Tarifa premium
A
α
-
β
5
δ
-
γ
3
B
γ
α Los routers X y Z se encargan de etiquetar los flujos según origen-destino
β
Y
4
β
α
4
β
-
γ
7
β
-
4
α Z
X Usuario B Tarifa normal
5
α
5
β
α δ
α
3 α
3
7 2 V
β
β
α
W
2
α
2
β
C
Usuario C
γ
β
β
7
C ha de distinguir de algun modo los paquetes que envía hacia A o B (puede usar subinterfaces diferentes)
42
Ingeniería de tráfico - Ruteo explícito • Similar a “source routing” en redes IP • Una de las aplicaciones del enrutamiento explícito es realizar "ingeniería de tráfico" • El ruteo explícito también puede ayudar para que las redes sean más resistentes en caso de fallas, usando una capacidad llamada Fast ReRoute (FRR). FRR es actualmente una extensión de RSVP-TE. (RFC 5151) • Las rutas explícitas no necesitan ser calculadas por un operador de red. Existen algoritmos que los routers pueden usar para calcular las rutas explícitas automáticamente 43
Ingeniería de tráfico • Así define el RFC 2702 (Awduche et al. 1999) ingeniería de tráfico en Internet (Internet traffic engineering): • “Internet traffic engineering is defined as that aspect of Internet network engineering dealing with the issue of performance evaluation and performance optimization of operational IP networks. Traffic Engineering encompasses the application of technology and scientific principles to the measurement, characterization, modelling, and control of Internet traffic.” 44
Ingeniería de tráfico • Como vemos, el término abarca una gama muy diversa de cosas • En la práctica, sin embargo, el objetivo es principalmente enrutamiento; del RFC 3272 (Awduche et al. 2002): • “One of the most distinctive functions performed by Internet traffic engineering is the control and optimization of the routing function, to steer traffic through the network in the most effective way.” 45
Un problema simple de ingeniería de tráfico
46
Una red que requiere ruteo explícito
R1 R2
R7 por R1-R3-R6-R7 R7 por R2-R3-R4-R5-R7
• No podemos usar LDP para distribuir las etiquetas porque asigna las etiquetas de manera de seguir los caminos normales elegidos por el enrutamiento IP. Se necesita otro mecanismo • El protocolo que se usa para esta tarea es RSVP-TE • Es posible enviar un mensaje RSVP-TE a lo largo de una ruta especificada explícitamente (por ejemplo, R1-R3-R6-R7) y utilizarlo para configurar las entradas de la tabla de forwarding a lo largo de ese camino. Esto es muy similar al proceso de establecimiento de un circuito virtual 47
MPLS Fast Reroute (MPLS FRR) (RFC 4090 )
Primary path (LSP) de A a E a través de B y D. El tráfico de los clientes conectados a A y E tomará este camino en operación normal Secondary path (LSP) de A a E via C. Para el LSP primario, FRR (Fast ReRoute) está habilitado. Una vez activado, los otros elementos de red en el LSP sabrán que FRR está habilitado
(1) Hay una falla entre D y E. D inmediatamente lo sabe y se lo informará a B y A. Hasta que A sepa que hay una falla entre D y E, pasará un cierto tiempo (2) Puesto que D conoce de inmediato acerca de la falla y FRR está habilitado en el LSP, D utiliza el Detour Path D-C-E para evitar la falla inmediatamente y el tráfico seguirá fluyendo a lo largo de ese camino. Esto toma menos de 50 ms (3) Una vez que el Secondary Path está operativo, el tráfico se conmuta a la ruta LSP secundaria y el Detour Path se desactiva 48
FRR: Tipos de protección
49
Protección de enlace vs protección de nodo
50
¿Qué es una VPN? • Una Red Privada Virtual (VPN de las siglas en inglés de Virtual Private Network) es una red implementada utilizando una infraestructura de red compartida, pero proporcionando la seguridad y la privacidad de una red de líneas dedicadas alquiladas • Existen varias arquitecturas de conexión VPN. Ejemplos comunes: – La posibilidad de conectar dos o más sucursales de una empresa – Permitir a los miembros del equipo de soporte técnico la conexión desde su casa al centro de cómputo – Que un usuario pueda acceder a su equipo doméstico desde un sitio remoto, como por ejemplo un hotel Todo ello utilizando la infraestructura de Internet • Para nuestros propósitos, las VPNs serán redes IP donde el Core WAN de una red corporativa ha sido subcontratado a un proveedor de servicios. La conectividad IP VPN se proporciona a través de una red IP compartida que pertenece al proveedor de servicios 51
MPLS “layer 2” VPN (pseudowire emulation) MPLS-enabled routers
Un circuito ATM emulado por un túnel MPLS 52
MPLS “layer 3” VPN • Los detalles de las VPN de capa 3 son bastante complejos. Representan uno de los usos mas populares de MPLS • Se usa una pila de labels MPLS para tunelear paquetes a través de una red IP. Sin embargo, los paquetes que son tuneleados son en sí mismos paquetes IP. –por eso el nombre “layer 3 VPNs” • En una VPN de capa 3, un único proveedor de servicio opera una red de routers MPLS-enabled y provee un servicio de red IP privado a una cantidad de clientes distintos • Cada cliente del proveedor tiene una cantidad de sitios, y el ISP crea la ilusión para cada cliente que no hay otros clientes en la red 53
MPLS “layer 3” VPN • El cliente ve una interconexión de redes IP de sus propios sitios, y no ve otros sitios. Esto significa que cada cliente está aislado de todos los demás clientes tanto en términos de encaminamiento como de direccionamiento • El Cliente A no puede enviar paquetes directamente al Cliente B, y viceversa. El Cliente A puede incluso utilizar direcciones IP que han sido utilizadas por el Cliente B. Como en las VPNs de Capa 2, MPLS es usado para tunelear paquetes de un sitio a otro • La configuración de los túneles se realiza automáticamente por un uso elaborado de BGP (BGP/MPLS VPNs RFC 2547)
54
Layer 3 VPN. Los clientes A y B obtienen un servicio de VPN de un único proveedor.
55
Conclusiones • Funcionamiento similar a circuitos virtuales (VC). Usa labels para forwardear los paquetes • Usa el concepto de FEC para clasificar los paquetes y asignarlos a los LSPs • Permite apilar los labels • Dos protocolos para distribuir labels y señalización: – LDP: Usado generalmente para establecer VPNs. Sigue el ruteo IP – RSVP-TE: Usado para ingeniería de tráfico y QoS. Usa Fast ReRoute para recuperación rápida ante fallas
• Usos de MPLs: QoS. Ingeniería de tráfico. Integración de distintos tipos de redes. VPNs 56
Ejercicio: Considere la siguiente red MPLS, siendo R1 y R6 sus LER. 1. Analice la posibilidad de establecer un LSP de R1 a R6 que cumpla con los siguientes requerimientos. (a) Bandwidth >= 1000 Mbps. y Delay = 100 Mbps. y Delay = 100 y delay: 5+3+3+1+3=15