mpls multi-protocol label switching teoría de las comunicaciones 4 de mayo del 2011

Post on 02-Feb-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MPLS

Multi-Protocol Label Switching

Teoría de las Comunicaciones 4 de Mayo del 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”

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)

• 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

Label = 20 bits Exp = Experimental, 3 bits S = Bottom of stack, 1bitTTL = Time to live, 8 bits

0 1 2 30 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

PPP HeaderPPP Header Layer 3 HeaderLayer 3 HeaderShim HeaderPPP Header(Packet over SONET/SDH)

Ethernet HdrEthernet Hdr Layer 3 HeaderLayer 3 HeaderShim HeaderEthernet

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

• 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

171.68.10/24

Rtr-BRtr-A Rtr-C

171.68.40/24

Upstream y Downstream LSRs

Asignación de Label y Distribución (cont.)

• Los LSR distribuyen los labels a los upstreams vecinos

171.68.10/24

Rtr-BRtr-A Rtr-C

171.68.40/24

Next-HopNext-Hop

In In LabLab

--

......

Address Address PrefixPrefix

171.68.10171.68.10

......

OutOutI/FI/F

11

......

Out Out LabLab

3030......

In In I/FI/F

00

...... Next-HopNext-Hop

In In LabLab

3030

......

Address Address PrefixPrefix

171.68.10171.68.10

......

OutOutI/FI/F

11

......

Out Out LabLab

4040......

In In I/FI/F

00

......

Next-HopNext-Hop

In In LabLab

4040

......

Address Address PrefixPrefix

171.68.10171.68.10

......

OutOutI/FI/F

11

......

Out Out LabLab

--......

In In I/FI/F

00

......

Use label 40 for destination 171.68.10/24

Use label 30 for destination 171.68.10/24

IGP derived routes

“Unsolicited Downstream Distribution”

Label Assignment and Distribution

• Upstream LSRs request labels to downstream neighbors

• Downstream LSRs distribute labels upon request

171.68.10/24

Rtr-BRtr-A Rtr-C171.68.40/24

Use label 30 for destination 171.68.10/24

Use label 40 for destination 171.68.10/24

Request label for destination 171.68.10/24

Request label for destination 171.68.10/24

On-Demand Downstream Distribution

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

Describe un método por el cual es posible retirar la etiqueta MPLS, no en el Egress LSR, sino en el LSR anterior a este. De esta forma se consigue que el paquete llegue al Egress LSR sin etiqueta y sólo haga falta examinar su cabecera de capa de red, evitando así realizar la doble consulta

LSP: PHP (cont.)

•Si existe más de una etiqueta en la pila, el Penultimote Hop Popping retira la situada en el nivel superior. Si el Egress LSR pertenece a un subdominio utilizará la etiqueta más alta para encaminar el paquete. En caso de que la etiqueta fuera la última, eso significa que el paquete no se encuentra en ningún subdominio, y por ello el egress LSR encaminará el paquete en función de su header de Nivel de Red

• Esta técnica se consigue reducer el trabajo del Egress LER y del mismo modo aumentar el rendimiento de la red. También se consigue que en algunos casos no sea imprescindible el hecho de que el Egress LSR sea un router MPLS•La opción viene totalmente ligada a la capacidad del LSR de retirar etiquetas para llevar a cabo el Penultimate Hop Popping, ya que en cualquier otro caso sí sera imprescindible usar un router MPLS como Egress LSR

PHP: resumiendo

• El label en el tope del stack es removido (popped) por “upstream neighbor” del egress LSR

• El egress LSR solicita el “popping” mediante LDP (label distribution protocol)

•Egress LSR anuncia “ implicit-null label “

• Egress LSR no necesita realizar un lookup y tener que remover el label

•Un lookup es salvado en el egress LSR

Label Switch Path (LSP) Penultimate Hop Popping

0 1

Summary route for 171.68/16

01

171.68.10/24

Next-HopNext-Hop

In In LabLab

Address Address PrefixPrefix

OutOutI/FI/F

Out Out LabLab

In In I/FI/F

44 171.68/16171.68/16 22 poppop00

...... ...... ...... ............Next-HopNext-Hop

In In LabLab

Address Address PrefixPrefix

OutOutI/FI/F

Out Out LabLab

In In I/FI/F

-- 171.68/16171.68/16 11 4400

...... ...... ...... ............

Egress LSR summarises morespecific routes and advertises a label for the new FEC

Summary route is propagate through the IGP and label is assigned by each LSR

Use label “implicit-null” for FEC 171.68/16

Summary route for 171.68/16

Use label 4 for FEC 171.68/16

171.68.44/24

Address Address Prefix and maskPrefix and mask

171.68.10/24171.68.10/24

Next-HopNext-Hop

171.68.9.1171.68.9.1

InterfaceInterface

Serial1Serial1

171.68.44/24171.68.44/24 171.68.12.1171.68.12.1 Serial2Serial2

171.68/16171.68/16 ...... NullNull

“Day in the life of a Packet”

0

Summary route for 171.68/16

01

171.68.10/24

Next-HopNext-Hop

In In LabLab

Address Address PrefixPrefix

OutOutI/FI/F

Out Out LabLab

In In I/FI/F

77 171.68/16171.68/16 22 poppop00

...... ...... ...... ............Next-HopNext-Hop

In In LabLab

Address Address PrefixPrefix

OutOutI/FI/F

Out Out LabLab

In In I/FI/F

-- 171.68/16171.68/16 11 4400

...... ...... ...... ............

Egress LSR summarises morespecific routes and advertises a label for the new FEC

Summary route is propagate through the IGP and label is assigned by each LSR

Use label “implicit-null” for FEC 171.68/16

Summary route for 171.68/16

Use label 4 for FEC 171.68/16

171.68.44/24

Address Address Prefix and maskPrefix and mask

171.68.10/24171.68.10/24

Next-HopNext-Hop

171.68.9.1171.68.9.1

InterfaceInterface

Serial1Serial1

171.68.44/24171.68.44/24 171.68.12.1171.68.12.1 Serial2Serial2

171.68/16171.68/16 ...... NullNull

Use label 7 for FEC 171.68/16

Next-HopNext-Hop

In In LabLab

Address Address PrefixPrefix

OutOutI/FI/F

Out Out LabLab

In In I/FI/F

44 171.68/16171.68/16 11 7700

...... ...... ...... ............

CE

PEP P PE

0

0

21

Label Distribution Protocol - LDP

• Un protocolo a nivel aplicación para distribuir la asociación a lebels a LSRs.– Son usados para mapear FECs a labels, los cuales a

su vez crean LSPs. – Las sesiones LDP son establecidas entre LDP pares

en la red MPLS (no necesariamente adyacentes).– Algunas veces emplea OSPF o BGP.

Detalles de LDP

• Tipos de mensaje LDP: – discovery messages— anuncia y mantiene la presencia de

un LSR en la red – session messages— establece, mantiene, y termina

sesiones entre LDP pares– advertisement messages— crea, cambia, y borra mapeo

de labels para FECs – notification messages— provee información de avisos y

señalización de errores

Operación de MPLS

• Los siguientes pasos deben ser seguidos para que un paquete de datos viaje a través de una red MPLS. – Creación y distribución de label– Creación de tablas en cada router– Creación de label-switched path (LSP, caminos

conmutados por labels)– Inserción de labels y su acceso en tablas– Re-envío de paquetes

Paso 1

• Creación y distribución de Label– Antes que el tráfico comience los routers deciden asociar

un label a un FEC (forward equivance class) y construir sus tablas.

– En LDP (label distribution protocol), routers inician la distribución de labels y la asociación label/FEC.

– Además características relacionas con el tráfico y capacidades MPLS son negociadas usando LDP.

– Un protocolo de transporte confiable debería ser usado para el protocolo de señalización.

Paso 2

• Creación de tablas – Bajo recepción de la asociación de label, cada LSR

(Label switching router) crea entradas en una base de información de labels (label information base - LIB).

– El contenido de la tabla especifica el mapeo entre un label y un FEC.

• Mapeo entre la puerta y label de entrada y la puerta y label de salida.

• Las entradas son actualizadas en cada renegociación asociando label y FEC.

Ejemplo de Tabla LIB (Label information Base)

Input Port Incoming Port Label Output Port Outgoing

Port Label

1 3 3 6

2 9 1 7

Ejemplo de operación MPLS

Label edge router

Label switched router

Paso 3

• Creación del camino de switcheo de label (Label switched path- LSP)– Los LSPs son creados en dirección inversa a la

creación de entradas en el LIBs.

Ejemplo operación MPLS

a b

c

Paso 4

• Inserción de labels y su acceso en tablas– El primer router (LER1) usas la tabla LIB para

encontrar el próximo hop y requerir un label para un FEC específico.

– Router subsecuentes sólo usan la tabla para encontrar el próximo hop.

– Una vez que el paquete llega al LSR de egreso (LER4), el label es removido y el paquete es entregado al estino.

Ejemplo de operación MPLS

Paso 5

• Re-envío de paquetes– LER1 podría no tener ningún label para este paquete por

tratarse de la primera ocurrencia de este requerimiento. En una red IP, LER1 encontrará la dirección de su tablas de ruteo de calce mayor para definir el próximo hop. LSR1 será el próximo hop para LER1.

– LER1 iniciará un requerimiento de label hacia LSR1. – Éste requerimiento se propagará a través de la red como

lo indica la línea punteada verde..

Paso 5 (cont.)

– Cada router intermedio recibirá un label desde su router downstream comenzando por LER2 y yendo upstream hasta LER1. La configuración del LSP es indicada por la línea azul usando LDP o cualquier otro protocolo de señalización.

– LER1 insertará el label y re-enviará el paquete a LSR1.

Paso 5 (cont.)

– Cada LSR subsiguiente, i.e., LSR2 y LSR3, examinarán el label en el paquete recibido, y lo reemplazarán con el label de salida y lo re-enviarán.

– Cuando el paquete llega a LER4, éste removerá el label porque el paquete está dejando el dominio MPLS y es entregado al destino.

– El camino recorrido por el paquete es indicado por la línea roja.

Ejemplo de Operación MPLS

Túneles en MPLS

• La idea es controlar el camino entero sin explícitamente especificar los router intermedios. – Creando túneles a través de routers intermedios

que pueden cubrir múltiples segmentos.

• Aplicación en VPNs basadas en MPLS.

MPLS Protocol Stack Architecture

Información de Ruteo

Asignando Labels

Forwardeo

Asignando Labels (ejemplo 2): Tabla en R1

Asignando Labels (ejemplo 2) : como queda …

MPLS-VPN What is a VPN ?

• An IP network infrastructure delivering private network services over a public infrastructure– Use a layer 3 backbone– Scalability, easy provisioning– Global as well as non-unique private address space– QoS– Controlled access– Easy configuration for customers

Ejemplo de MPLS

• Esta es una red MPLS en la cual se ven todos sus componentes

• La línea azul representa el LDP entre el LSR de entrada y el LSR de salida.

Ejemplo de MPLS

• Cada LSR posee las tablas LIB que le permiten realizar acciones sobre la pila de etiquetas.

• Se observan los LSR de entrada y de salida que se conectan con los routers frontera de otras redes o sistemas autónomos.

Ejemplo de MPLS• En este ejemplo se quiere

comunicar el router (no MPLS) que se encuentra en la parte superior y el router (no MPLS) que se encuentra en la parte inferior a través de la red MPLS

• Las tablas muestran la asociación de las direcciones de red con las parejas interfaz-etiqueta de salida y de entrada.

Ejemplo de MPLS• Paso 1: Vemos la tabla del router

externo que está conectado a dos redes de clase C. La flecha azul claro indica que el router externo comunica al LSR frontera las rutas que posee (a través del protocolo que sea). Es el ‘routing update’.

Ejemplo de MPLS• Paso 2: El LSR elige una etiqueta

no usada mediante LDP (la 5 por ejemplo).Así un paquete que llegue por el Serial1 con la etiqueta 5 será enviada por el Serial0 sin etiqueta. La flecha roja indica que se comunica el uso de la etiqueta 5 al siguiente LSR .

Ejemplo de MPLS• Paso 3: El siguiente LSR almacena

la etiqueta 5 (como etiqueta de salida) en su LIB asociada con la Serial0. Escoge la etiqueta 17 (como etiqueta de entrada) y la asocia con el Serial1 y lo propaga al siguiente LSR vía LDP. De este modo los paquetes que lleguen por el Serial1 con la etiqueta 17 se enviaran por la Serial0 con la etiqueta 5.

Ejemplo de MPLS• Pasos 4 y 5: Se procede de forma

similar a los anteriores pasos.La tabla del paso 4 es más grande porque se actualiza con información del LSR de la derecha.La tabla del LSR frontera (paso 5) solo tiene etiquetas de salida porque esta conectado al router no-MPLS emisor.El LSP establecido queda señalado con la flecha azul marino.

Ejemplo de MPLS• Paso 6: El LSR frontera envía

información de routing al router externo.Éste actualiza sus tablas de routing, de modo que para enviar paquetes a las redes de clase C del router de la parte inferior, lo hará a través del Serial0.

Ejemplo de MPLS• Pasos 7 y 8: El LSR frontera del

fondo también propaga la información de routing al LSR que tiene conectado por el Serial2.Éste actúa de forma similar y propaga la información al otro LSR.Se supone que se seguiría propagando por todos los LSR

Ejemplo de MPLS• Paso 9: El LSR recibe información

de routing del LSR de la izquierda y actualiza su tabla LIB.

• Podemos observar el comportamiento multipunto del MPLS en el LSR del paso 4 ya que todos los paquetes que entran son etiquetados con la misma etiqueta (17) y enviados por el Serial0.

top related