Entendiendo las FEC en MPLS

Hace unos días publiqué una introducción a MPLS que, si no han leído, se las recomiendo. Ésta vez quiero compartirles un artículo que ví en Network World sobre las FEC y cómo se usan en MPLS, que complementa lo escrito en mi publicación anterior. Ésta es una interpretación del inglés por lo que podría no ser una traducción exacta. Disfrútenlo.

Nota original en: https://www.networkworld.com/article/2350449/understanding-the-role-of-fecs-in-mpls.html

Es curioso cómo las cosas vienen en olas. Durante la mayor parte del año pasado mis contrataciones como consultor tuvieron que ver con IPv6 de alguna manera u otra. Sin embargo, el último mes y medio, la mayoría de las veces ha tenido que ver con seminarios de MPLS de varios sabores y audiencias.

Un concepto central a MPLS son las Forwarding Equivalence Classes (FEC) y es algo con lo que mucha gente nueva en tecnología lucha por entender. En ésta publicación me gustaría discutir la FEC y su papel en MPLS.

Una FEC es un conjunto de paquetes que un router:

  • Envía al mismo siguiente salto
  • Saca por la misma interfaz
  • Los trata de la misma manera (por ejemplo, los encola igual)

Las FEC no son algo nuevo. Cada router ejecutando forwarding genérico determina el siguiente salto para los paquetes en cuestión, la interfaz por la cual hacerlos llegar al mismo y cómo encolar los paquetes de esa interfaz. Sin embargo, nosotros no escuchamos esos procedimientos básicos como»determinar a qué FEC pertenece el paquete».

De otro lado, las FEC son casi siempre discutidas cuando se introducen conceptos fundamentales de MPLS. La razón es que comprender cómo se determina la FEC de un paquete en un LSR (Label Switch Router) nos lleva directo a comprender MPLS mismo.

Primero echemos un vistazo a cómo un paquete es reenviado a través de cierto camino hacia su destino usando IP puro. Supongamos que hay cuatro routers en serie, a saber, R1, R2, R3 y R4. Un paquete llega a R1 y éste examina el encabezado IP. Se hace una búsqueda, se determina su FEC (de nuevo: siguiente salto, interfaz y tratamiento) y, usando esa información, el paquete es reenviado a R2. Éste repite el proceso: determina la FEC y es enviado a R3. R3 también determina la FEC y lo envía a R4.

En otras palabras, la FEC del paquete es determinada salto a salto en cada router en el camino. Ahora supongamos que los 4 routers son MPLS LSR y que hay un LSP (label switch path que es simplemente un camino continuo de MPLS) entre R1 y R4; el punto de terminación del LSP es la loopback de R4.

Igual que antes, el paquete llega a R1 y éste determina la FEC del mismo. Sin embargo, en éste caso el siguiente salto es un punto de terminación de un LSP en R4. El paquete es encapsulado con MPLS -es decir, un PUSH de una etiqueta MPLS- y el paquete es enviado hacia R2. En los siguientes saltos hacia R4 el paquete simplemente es conmutado de su interfaz de ingreso a la salida, con su tag MPLS swapped en cada salto. En ningún punto en éste camino el router vuelve a determinar la FEC hasta que el paquete sale del LSP (es decir se hace un POP en el tag MPLS) en R4

Y ese es el punto clave: en una red MPLS la FEC sólo se determina una vez en el ingreso del LSP, en vez de en cada router. En nuestro ejemplo, incluso aunque el LSP atraviesa R2 y R3, R1 ve el LSP como un enlace directo a R4 y por lo tanto lo selecciona como mejor camino que el camino tradicional IP salto a salto.
Conceptualmente, ud puede pensar en MPLS como una tecnología que empuja la inteligencia al borde de la red, dejando el core haciendo sólo switching. En otras palabras, el plano de control de la red está localizado en el borde y el plano de forwarding en el centro. Esta separación de planos de control y datos (forwarding) es la tendencia en networking, así como en los routers de gran desempeño los cuales lo implementaron hace años con componentes de control y datos físicamente separados.

Entendiendo las FEC en MPLS Leer más »

MPLS básico: introducción

Aunque he promocionado este blog como IP/MPLS, la verdad sea dicha, he escrito muy poco sobre switching y nada sobre MPLS. Así que voy a empezar una serie de escritos sobre esos dos temas. En ésta quiero hacer una pequeña contextualización de la importancia de MPLS, de su evolución histórica y su estado actual (hasta donde lo conozco). Disfrútalo y si te parece interesante, compartelo.

MPLS básico: introducción Leer más »

Qué es Eve-NG III: Puesta a punto

Continuando con nuestra serie de emulación de redes, vamos a finalizarla hablando de las imágenes y la puesta a punto de nuestro servidor. En ésta ocasión vamos a subir imágenes y dejarlas funcionando para su uso posterior, por ejemplo para hacer prácticas de CCNA/CCNP o crear escenarios piloto en algún carrier u operador . Disfrútenlo.

Todas las entradas de la serie: [Introducción a Eve-NG] [Instalación] [Puesta a punto]

Qué es Eve-NG III: Puesta a punto Leer más »

CCNAv7: Temas y cambios

Como de costumbre, cada 3 o 4 años Cisco decide actualizar sus certificaciones. Éste año tocó y yo les voy a contar de primera mano qué cambia y cómo recibir éste cambio. El material que comparto en ésta entrada es información oficial del programa de #CiscoNetworkingAcademy LATAM, #IPDWeek. Disfrútenlo.

P.D.: La información que tenemos hasta ahora está orientada a los instructores y es confidencial, por lo tanto hay cosas que no puedo publicar. Algunos detalles de los contenidos no están completamente definidos o no están publicados, por lo cual podría ser necesario escribir una versión más específica cuando toda la información esté disponible.

CCNAv7: Temas y cambios Leer más »

Enlaces de interés: Semana 38/2019

  • Imagen de Ubuntu para redes (Eve-NG)
  • Meta: reducir el consumo de carne un 50%
  • Armaggedon? Nasa y Esa tras un asteroide
  • Dirigencia mediocre: promedio móvil social?

Imagen de Ubuntu para redes (Eve-NG)

La nota referenciada no es nueva pero me parece interesante para nuestros proyectos de NFV. El autor ha trabajado con Eve-NG y sabe que a veces es engorroso trabajar con imagenes de Linux en un laboratorio, así que creó una imagen con las herramientas que a él le parecen más útiles, yo alguna vez hice lo mismo: 1ro creé una imagen en mi máquina local, le cargué las utilidades que me parecían interesantes y al final la cargué en el servidor. Pero si alguien ya lo hizo por nosotros, bienvenido! Fuente: https://ipnet.xyz/2018/06/ubuntu-image-for-eve-ng-python-for-network-engineers/

Meta: reducir el consumo de carne un 50%

Según un estudio citado en la nota, no hay mucha diferencia entre reducir el consumo de carne de res y volverse vegetariano en términos de reducción de emisiones de CO2. El estudio se realiza en Estados Unidos donde la producción de carne está muy industrializada, pero también donde mayor impacto tiene. Hay muchas cosas que me gustan de esta nota: 1) nos da una meta clara: reducir el consumo de carne en 50%, 2) nos da varios datos interesantes, como que el consumo de carne representó 3% de las calorías ingeridas pero el 43% del uso de la tierra, 3) nos da esperanza (o comodidad) a quienes nos gusta la carne, 4) Me hace pensar en que tal vez el cambio individual sí puede hacer un impacto, por ejemplo, después de reducir el consumo de carne, consumir proteína animal de otras fuentes, por ejemplo de búfalo o de insectos, a parte de consumir muchas más verduras y legumbres. Fuente: https://www.technologyreview.es/s/11360/renunciar-la-mitad-de-la-carne-roja-bastaria-para-ayudar-al-clima

Armaggedon? Nasa y Esa tras un asteroide

Como de costumbre, ahí va la realidad siguiéndole los pasos a la ficción. La NASA y ESA (agencia espacial europea), trabajan en un proyecto conjunto para desviar un asteroide. No es la gran cosa, pero todo lo que se haga fuera de nuestro globo terrestre es una hazaña. La idea parece ser estrellar una nave y luego medir el efecto. Fuente: https://www.abc.es/ciencia/abci-nasa-y-preparan-primer-simulacro-defensa-planetaria-201909060929_video.html

Dirigencia mediocre: promedio móvil social?

Quienes sean ingenieros probablemente sepan qué es un promedio móvil, para quienes no, es hacer un promedio de los últimos N datos en una secuencia que puede ser permanente. La nota que les voy a dejar, es una interesante reflexión sobre la mediocridad y por qué las dirigencias tienden a ser mediocres. En nuestros términos de ingeniería y a mi parecer, el parelelo es un promedio móvil aplicado a la sociedad. Les dejo la nota y quedo atento a los comentarios. Fuente: https://www.elmundo.es/papel/historias/2019/09/03/5d6ea47d21efa076048b4612.html

Enlaces de interés: Semana 38/2019 Leer más »

Python y excel para introducir la automatización de redes

Hace ya varios años que tuve la oportunidad de experimentar el poder de la automatización en redes de gran tamaño. Mi 1a aproximación fue usar scripts de VBS en SecureCRT, hoy hago scripts no vinculados a una terminal y conozco más de Netconf/Yang y un orquestador de Cisco. Lo que van a leer a continuación es una descripción de mi visión, según mi experiencia, de cómo introducir la programabilidad de red en un equipo de trabajo, cómo estimar el esfuerzo ahorrado y una sugerencia de etapas de implementación. Al final les dejo un pequeño ejemplo con base en un programa que hice recientemente para que saboreen un poco de Python. Disfrútenlo.

Resumen: ¿Por qué programar y por qué Python/Excel?, Estimación de esfuerzo, Etapas y fases para un equipo de trabajo, Utilidad y limitaciones, Programa de ejemplo, Conclusiones y continuación

Python y excel para introducir la automatización de redes Leer más »