18 de octubre de 2020

Modelo para programabilidad de la red

Contenido incluido
en el temario de
CCNA 200-301

Inicialmente la implementación y gestión de las redes de datos se realizó de modo completamente manual y principalmente utilizando la interfaz de línea de comandos (CLI). Se trataba de una red con una cantidad y variedad de dispositivos mucho menor y con servicios de mucho menos complejidad que las redes que operamos en la actualidad.

En la medida en que evolucionaban estas redes tanto la operación utilizando CLI como la apelación a SNMP fueron adecuadas y suficientes para los requerimientos de la gestión. De hecho, estos mecanismos siguen siendo al día de hoy en muchos casos los principales recursos.
Sin embargo, la sintaxis de la CLI y las opciones configurables de los diferentes protocolos que están asociadas a este mecanismo de gestión varían ampliamente entre diferentes fabricantes, plataformas e incluso versiones de un mismo software. Esta situación, combinada con las restricciones propias de la CLI se ha constituido en una limitación para el uso de la CLI en la gestión de redes a escala; la sola configuración y operación de una función o protocolo específicos puede requerir de muchas variantes de la CLI haciendo su uso complejo y pasible de errores. En estos casos la automatización con scripts es una opción, pero se torna cada vez más compleja.
Por su parte, SNMP ha sido desde hace tiempo la forma más utilizada para el monitoreo de las redes. Es una muy buena opción cuando las redes son medianas o pequeñas y el sondeo de cada dispositivo se realiza por intervalos de 15 a 30 minutos. Sin embargo, SNMP a menudo genera complicaciones operativas al sondear dispositivos con demasiada frecuencia debido al incremento en el uso de la capacidad de transporte de la red. Si bien SNMP ha servido a la industria razonablemente bien; desde la perspectiva de la capacidad de programación de la red SNMP carece de bibliotecas para varios lenguajes de programación.
Una de las limitaciones que presenta el modelo tradicional de gestión es la carencia de una forma adecuada de comunicación máquina a máquina con la red que permita la interacción de los dispositivos terminales con la configuración de la infraestructura de la red de modo automático. 

Este es el lugar para las redes programables. Redes en la que la automatización es posible a partir de la implementación de un conjunto de herramientas de programación adecuadas para gestionar la configuración y la operación de la red.
La programabilidad de las redes ha introducido una serie de protocolos y herramientas cuyo nombre es cada vez más familiar: NETCONF, YANG, XML, etc.
Pero, ¿cuál es el lugar o la función que cumple cada uno de estos elementos nuevos?
Para comprender mejor la operación y flexibilizar su implementación y desarrollo es necesario contar con un modelo teórico que nos permite poner cada uno de estos elementos en un lugar específico. Este es el modelo de redes programables.

Este modelo de programabilidad puede representarse así:
  • Aplicación cliente
    Gestiona las configuraciones y monitorea los dispositivos de la infraestructura.
    La aplicación cliente se puede escribir en diferentes lenguajes de programación (p.e. Python) y los SDK se utilizan a menudo para simplificar la implementación de aplicaciones para la automatización de redes
  • SDK
    Conjunto de herramientas y bibliotecas de software que permiten al usuario final crear sus propias aplicaciones personalizadas para diversos fines incluida la gestión de plataformas de hardware.
  • Protocolo
    Las APIS basadas en modelos admiten múltiples protocolos. Los más utilizados en este momento son NETCONF, RESTCONF y gPRC.
    Los modelos de datos utilizados se basan en estos protocolos.
    La elección del protocolo depende de las herramientas disponibles, la experiencia en redes, programación y automatización.
  • Codificación
    Los datos pueden ser codificados en formatos como JSON, XML o GPB.
    En algunos casos el protocolo está vinculado a codificaciones específicas (como es NETCONF con XML). Esto está relacionado con el protocolo que puede o no admitir diferentes formatos de codificación.
  • Transporte
    Cada API soporta uno o más protocolos de transporte para establecer la comunicación con el dispositivo de red.
  • Modelo de datos
    Es la base de la API.
    Definen la sintaxis y la semántica de los datos, incluidas las limitaciones de esa API.
    Se utilizan parámetros bien definidos para estandarizar la representación de los datos de modo que la salida de diferentes plataformas sea la misma.

Estás invitado a participar de nuestro grupo en Facebook:

https://www.facebook.com/groups/librosnetworking/

O si preferís redes sociales con mayor control de tu privacidad,
podés participar de nuestro grupo en VKontakte
https://vk.com/libros.networking

o seguir las principales novedades en el grupo de Telegram:
https://t.me/LibrosNetworking


Las abreviaturas y siglas utilizadas en este post puede encontrarlas desarrolladas en
que está disponible en la Librería en Línea de EduBooks.

 

 

2 comentarios:

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.