Un clasificador de tráfico de red en tiempo real para aplicaciones en línea utilizando aprendizaje automático
Autores: Ahmed, Ahmed Abdelmoamen; Agunsoye, Gbenga
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Un clasificador de tráfico de red en tiempo real para aplicaciones en línea utilizando aprendizaje automático
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Software
Palabras clave
Tráfico de red
Aplicaciones en línea
Aprendizaje automático
NetScrapper
Precisión de clasificación
Flujos de paquetes
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 29
Citaciones: Sin citaciones
La creciente ubicuidad del tráfico de red y la implementación de nuevas aplicaciones en línea ha aumentado la complejidad del análisis de tráfico. Tradicionalmente, los administradores de red confían en reconocer puertos estáticos bien conocidos para clasificar el tráfico que fluye por sus redes. Sin embargo, el tráfico de red moderno utiliza puertos dinámicos y se transporta a través de protocolos seguros de capa de aplicación (por ejemplo, HTTPS, SSL y SSH). Esto hace que sea una tarea desafiante para los administradores de red identificar aplicaciones en línea utilizando enfoques basados en puertos tradicionales. Una forma de clasificar el tráfico de red moderno es utilizar el aprendizaje automático (ML) para distinguir entre los diferentes atributos del tráfico, como el recuento y tamaño de paquetes, el tiempo de llegada entre paquetes, la proporción de envío y recepción de paquetes, etc. Este artículo presenta el diseño e implementación de NetScrapper, un clasificador de tráfico de red basado en flujos para aplicaciones en línea. NetScrapper utiliza tres modelos de ML, a saber, K-Nearest Neighbors (KNN), Random Forest (RF) y Artificial Neural Network (ANN), para clasificar las 53 aplicaciones en línea más populares, incluidas Amazon, Youtube, Google, Twitter, y muchas otras. Recopilamos un conjunto de datos de tráfico de red que contiene 3,577,296 flujos de paquetes con 87 características diferentes para entrenar, validar y probar los modelos de ML. Se desarrolló una interfaz de usuario basada en web para permitir a los usuarios cargar una instantánea de su tráfico de red en NetScrapper o husmear el tráfico de red directamente desde la tarjeta de interfaz de red en tiempo real. Además, creamos un pipeline de middleware para la interfaz de los tres modelos con la GUI de Flask. Finalmente, evaluamos NetScrapper utilizando diversos métricas de rendimiento como precisión de clasificación y tiempo de predicción. Especialmente, encontramos que nuestro modelo ANN logra una precisión de clasificación general del 99.86% al reconocer las aplicaciones en línea en nuestro conjunto de datos.
Descripción
La creciente ubicuidad del tráfico de red y la implementación de nuevas aplicaciones en línea ha aumentado la complejidad del análisis de tráfico. Tradicionalmente, los administradores de red confían en reconocer puertos estáticos bien conocidos para clasificar el tráfico que fluye por sus redes. Sin embargo, el tráfico de red moderno utiliza puertos dinámicos y se transporta a través de protocolos seguros de capa de aplicación (por ejemplo, HTTPS, SSL y SSH). Esto hace que sea una tarea desafiante para los administradores de red identificar aplicaciones en línea utilizando enfoques basados en puertos tradicionales. Una forma de clasificar el tráfico de red moderno es utilizar el aprendizaje automático (ML) para distinguir entre los diferentes atributos del tráfico, como el recuento y tamaño de paquetes, el tiempo de llegada entre paquetes, la proporción de envío y recepción de paquetes, etc. Este artículo presenta el diseño e implementación de NetScrapper, un clasificador de tráfico de red basado en flujos para aplicaciones en línea. NetScrapper utiliza tres modelos de ML, a saber, K-Nearest Neighbors (KNN), Random Forest (RF) y Artificial Neural Network (ANN), para clasificar las 53 aplicaciones en línea más populares, incluidas Amazon, Youtube, Google, Twitter, y muchas otras. Recopilamos un conjunto de datos de tráfico de red que contiene 3,577,296 flujos de paquetes con 87 características diferentes para entrenar, validar y probar los modelos de ML. Se desarrolló una interfaz de usuario basada en web para permitir a los usuarios cargar una instantánea de su tráfico de red en NetScrapper o husmear el tráfico de red directamente desde la tarjeta de interfaz de red en tiempo real. Además, creamos un pipeline de middleware para la interfaz de los tres modelos con la GUI de Flask. Finalmente, evaluamos NetScrapper utilizando diversos métricas de rendimiento como precisión de clasificación y tiempo de predicción. Especialmente, encontramos que nuestro modelo ANN logra una precisión de clasificación general del 99.86% al reconocer las aplicaciones en línea en nuestro conjunto de datos.