Gestión del protocolo NETCONF utilizando técnicas de aprendizaje profundo


Título del Proyecto
Gestión del protocolo NETCONF utilizando técnicas de aprendizaje profundo
Código
ALT-00002690
Coordinador del Proyecto
Organizaciones participantes
 
Fecha de finalización
28-02-2022
 
El protocolo NETCONF (Network Configuration Protocol) [11] define los mecanismos para instalar, manipular y eliminar configuraciones de dispositivos de las redes de comunicaciones y datacenters, utilizando llamadas a procedimientos remotos RPC (Remote Procedure Calls), XML (Extensible Markup Language) para la codificación de los datos y los mensajes del protocolo [11] y YANG como lenguaje de modelado de datos (relativos a la configuración, los datos de estado, las llamadas a procedimientos remotos y las notificaciones). Es considerado una mejora sustancial al Simple Network Management Protocol (SNMP) [12] que tiene serias limitaciones para atender los requerimientos actuales debido que fue desarrollado en 1987 para gestionar redes pero no para configurarlas. El protocolo NETCONF está definido en el RFC 4741 y fue publicado como una propuesta de estándar dentro del Internet Task Force (IETF) por el grupo de trabajo de NETCONF. El lenguaje YANG también fue desarrollado por el IETF dentro del Data Modeling Language Working Group (NETMOD) y está especificado en el RFC 7950.

Las redes de los proveedores de servicios múltiples de internet para datos, telefonía y video están compuestas por un sinnúmero de equipos de comunicaciones de distintas marcas y tecnologías. En esas redes convergen diferentes protocolos a nivel físico, de enlace, de red y de transporte. Esos equipos utilizan sistemas operativos embebidos que se configuran por medio de líneas de comando o lenguajes de configuración pseudo-estándar basados en IOS CLI (Command Line Interface), pero también existen otros mucho más evolucionados como Junos basados en XML/Json. Estos lenguajes fueron diseñados para la configuración individual de cada equipo, pero en la actualidad cada ISP, MSO, Carrier o Datacenter posee miles de dispositivos en su red, por lo que la configuración inicial, las actualizaciones o el monitoreo de cada equipo es difícil o imposible de ejecutarse en forma manual e individualmente para cada caso. Además es hoy muy usual la utilización de técnicas proactivas en vez de reactivas para detectar fallas o para introducir parámetros que mejoren la calidad del servicio [14]. En todos estos procesos hay involucrados varios dialectos de CLI, múltiples APIs (Application Programming Interface) y mantenimiento de rutinas (scripts). El protocolo NETCONF permite la automatización de las secuencias de configuración a través múltiples equipos heterogéneos tanto fijos, como móviles, y también en dispositivos de despliegue masivo como IOT, tanto del lado del operador como del lado del usuario. De acuerdo a lo que se observa en la industria, NETCONF será viable de ser utilizado en cada dispositivo disponible en el mercado, desde un ruteador hasta en equipos hogareños de uso diario.

e busca por consiguiente investigar y proponer prácticas de inteligencia artificial para automatizar total o parcialmente los mecanismos de configuración y monitoreo utilizando NETCONF, YANG y RESTCONF, por medio de un método de aprendizaje profundo para la lectura de procesos existentes en diferentes dialectos de CLI. A los efectos de evaluar los resultados se utilizarán equipos avanzados ya disponibles en el mercado como demarcadores de servicio y ruteadores que soporten NETCONF/YANG, para redes basadas en fibras ópticas y 4G/LTE. Como plataforma de desarrollo e implementación a nivel de hardware se trabajará sobre una placa RBM33G de Mikrotik, módulos LTE Quectel EC25, microcomputadoras Raspberry PI, demarcadores de servicio basados en Microsemi VSC5619EV, SFPs con OTDR, ruteadores y conmutadores (switches) de uso masivo. A nivel de software se utilizarán sistemas operativos abiertos basados en OpenWRT, Python y herramientas para monitoreo y captura de datos como RFC2544, Wireshark, Ostinato. El proceso de automatización estará basado en técnicas de aprendizaje profundo (deep learning) y lógica difusa (fuzzy logic) para el análisis de comandos y su comportamiento, generando configuraciones de uso. El aprendizaje profundo consiste en una serie de técnicas que permiten a los sistemas informáticos predecir, clasificar, ordenar, tomar decisiones y, en general, extraer conocimientos de los datos sin necesidad de definir explícitamente las reglas para realizar esas tareas. Con el crecimiento de la complejidad de las redes y de la cantidad de datos a analizar necesitamos cambiar de una inteligencia basada en reglas a una basada en datos. Se evaluará la viabilidad de utilizar TensorFlow [19] como herramienta IA de aprendizaje profundo de las configuraciones de CLI para ser automatizadas por NETCONF.

En base a la información obtenida, el sistema planteado podrá tomar decisiones que impacten en el proceso de automatización basado en NETCONF, optimizando el uso de la red, mejorando la calidad de servicio, así como la captura de datos de tráfico y parámetros de operación de los equipos.

Objetivos
  • Investigar las mejores prácticas de inteligencia artificial para automatizar total o parcialmente los procesos de configuración y monitoreo utilizando NETCONF y YANG, por medio de técnicas de aprendizaje profundo
  • Desarrollar un prototipo funcional basado en OpenWRT, Netopeer2, NETCONF, YANG y Python, TensorFlow que implemente la utilización de Aprendizaje Profundo y NETCONF para la recolección de comandos de configuración en CLI, Junos o NETCONF mismo y que, en base a la información obtenida, tome decisiones que impacten en los dispositivos de red utilizando el protocolo NETCONF para la re-configuración automática o el monitoreo de los mismos
  • Validar las estructuras de datos sobre YANG
  • En base a lo anterior realizar pruebas de concepto (POC)para la recolección de datos de operación de dispositivos a nivel de usuarios (CPEs) sobre enlaces físicos con fibra óptica y con respaldo sobre 4G/LTE, en el laboratorio descripto anteriormente
  • Utilizar Yang/Netconf para configurar de forma dinámica [2] (Giardina, y otros, 2017) los parámetros de calidad de servicio en los equipamientos de telecomunicaciones, basado en los perfiles generados por el algoritmo genético
  • Escribir y presentar papers y artículos sobre lo anteriormente expuesto
 
Palabras Clave
Machine Learning
Artificial Intelligence
TensorFlow
NETCONF
YANG
SNMP
Fuzzy Logic
Carrier Ethernet
Service Level Agreement
OAM
Bandwitdh Allocation
Junos
CLI