Red de conocimiento informático - Aprendizaje de código fuente - Sonda de red de detección

Sonda de red de detección

En vista de las deficiencias en la recopilación de información de gestión en el sistema de gestión de redes IP actual, este documento diseña un detector de red basado en RMON y proporciona un plan de implementación específico para que el detector haga pleno uso de varios gratuitos; Existen conjuntos de herramientas de desarrollo que pueden resolver eficazmente estos problemas.

Palabras clave detector de red administración de red monitoreo remoto En un sistema de administración de red, la recopilación de información de administración de red es la tarea más básica y es la base para realizar varias funciones complejas de administración de red. En la implementación básica de este sistema de gestión de red, se confía en la estación de gestión para recopilar diversa información en la red y analizar y procesar la información recopilada. Sin embargo, este método básicamente puede satisfacer las necesidades de gestión de la mayoría de las redes. algunas deficiencias.

(1) La recopilación de toda la información de administración de la red depende de la estación de administración central, que tiene altos requisitos en cuanto a la capacidad de procesamiento de la estación de administración, al mismo tiempo, desde todo tipo de información de administración de la red original. deben recopilarse en la estación de administración, generará una gran cantidad de tráfico de red alrededor de la estación de administración, lo que puede causar fácilmente congestión de la red;

(2) Para algunas redes virtuales con firewalls, la estación de administración ubicado fuera de la red virtual no puede acceder al interior de la red virtual, por lo que no se puede monitorear ni administrar;

(3) Al recopilar información, la estación de administración utiliza principalmente SNMP (Protocolo simple de administración de red). para comunicarse con varios dispositivos de red para obtener información de administración de red de cada dispositivo. Sin embargo, esta información se refiere principalmente al dispositivo en sí, mientras que falta información general sobre toda la red.

El "detector de red" se propuso para resolver eficazmente los problemas anteriores.

En este sistema de gestión de red, el detector de red es un dispositivo de hardware colocado dentro de una LAN. Puede recopilar y contar la información de la red dentro de la LAN de acuerdo con la información de configuración predeterminada y analizar la información de la red. LAN. Supervise el estado de funcionamiento; al mismo tiempo, proporcione ciertas interfaces para que la estación de administración se comunique con ella, obtenga su información de administración de red y la configure y administre. 2.1 Intercepción de paquetes de datos de red

En Ethernet, cualquier paquete de datos enviado por un host se transmite en el medio de transmisión Ethernet compartido y la parte del encabezado de cada paquete de datos contiene la dirección de origen y la dirección de destino. En circunstancias normales, la tarjeta de red de cada host en la LAN es responsable de verificar cada paquete de datos. Si se descubre que la dirección de destino es la máquina local, recibirá el paquete de datos y lo pasará a la capa superior para el siguiente. paso del procesamiento; si la dirección de destino no es la máquina local, ignórelo.

En algunos casos especiales, es necesario permitir que un host reciba todos los paquetes de datos, es decir, "escuchar" los paquetes de datos de la red. En este momento, al configurar la tarjeta de red, el host puede Si. la tarjeta de red funciona en "modo promiscuo". No importa si la dirección de destino del paquete de datos es la máquina local o no, puede interceptarse y pasarse a la capa superior para su procesamiento.

Después de un mayor análisis y procesamiento de los paquetes de datos interceptados, se pueden obtener algunos atributos básicos de los paquetes de datos, como el tipo de paquete, el tamaño del paquete, la dirección de destino, la dirección de origen, etc. sobre esto para análisis y estadísticas.

2.2 SNMP - Protocolo simple de administración de red

SNMP es un importante protocolo de administración de red en la red TCP/IP y se puede utilizar para monitorear y administrar dispositivos de red. La especificación SNMP define el. protocolo para el intercambio de información de gestión entre la estación de gestión y el equipo de red, el marco estructural de la información de gestión, la base de información de gestión general MIB, etc.

SNMP es la base del sistema de gestión de red. Este sistema de gestión de red se basa principalmente en SNMP para obtener diversa información de gestión de red de varios dispositivos de red y, después de analizarlos y procesarlos más a fondo, proporciona diversos tipos de gestión de red. funciones.

En la implementación del detector de red, utilizaremos la especificación SNMP para realizar su comunicación con la estación de administración, es decir, implementar un agente SNMP completamente funcional en el detector de red y comunicarnos con la estación de administración. a través de SNMP. Proporciona diversa información de gestión de red. El detector de red admite RMON MIB, que proporciona principalmente información estadística sobre toda la LAN.

2.3 RMON - Monitoreo remoto

La especificación RMON (Monitoreo de red remota) es una mejora importante de SNMP. Define una MIB de monitoreo remoto como un complemento vital para MIB-II. información de la red a la estación de administración de red.

RMON puede monitorear la subred en su conjunto y proporcionar información estadística sobre toda la subred.

RMON esencialmente define un conjunto de especificaciones MIB, que se utilizan para definir funciones e interfaces de monitoreo de red estándar para permitir la comunicación entre estaciones de administración basadas en SNMP y detectores RMON. En términos generales, RMON proporciona una manera efectiva y eficiente de monitorear el comportamiento de la subred.

La especificación RMON se incluye principalmente en dos documentos RFC importantes: RFC 1757 define RMON1 y RFC 2021 define RMO-N2.

RMON1 funciona principalmente en la capa MAC. Puede monitorear todo el tráfico en la LAN conectada a él, capturar todas las tramas de la capa MAC, leer la dirección de origen y la dirección de destino de la capa MAC de estas tramas y realizar operaciones. Diversos análisis y estadísticas relevantes.

RMON2 es una extensión de RMON1. RMON2 funciona sobre la capa MAC y puede analizar paquetes de datos desde la capa 3 a la capa 7 del modelo OSI y monitorear el tráfico de protocolo. en los protocolos y direcciones de la capa de red (incluida IP) para monitorear el tráfico.

La biblioteca MIB definida por la especificación RMON está incorporada en MIB-II y su identificador de subárbol es 16. RMON1 define 10 grupos y RMON2 simplemente expande RMON1 y agrega 9 grupos nuevos. 3.1 Idea de diseño básica

Esencialmente, el detector de red es un agente SNMP que admite la especificación RMON. Sus tareas principales incluyen:

(1) Recopilar, analizar y recopilar estadísticas locales. red de área Se organiza diversa información útil de acuerdo con las especificaciones RMON;

(2) Implementar el Agente SNMP y proporcionar una interfaz SNMP estándar para que la estación de administración obtenga información de administración de red de ella.

La plataforma subyacente del detector de red es un sistema Linux integrado, que tiene un módulo de red y se puede conectar a una LAN Ethernet. Los requisitos específicos de la plataforma son:

Plataforma del sistema de hardware: alto rendimiento, velocidad de procesamiento relativamente rápida, gran capacidad de memoria, con módulo de red;

Plataforma del sistema operativo: función de soporte de red, puede acceder Ethernet y proporciona herramientas de desarrollo y compilación de C++.

En la implementación de este detector de red, teniendo en cuenta diversos factores como eficiencia operativa, coste de hardware, facilidad de uso, etc., se realizaron las siguientes limitaciones:

(1 ) Para el entorno Ethernet más común actual;

(2) Hay una interfaz que solo se puede conectar a una subred, lo que hace que el sistema sea simple, efectivo y fácil de instalar y configurar;

(3) Todos los objetos MIB se almacenan en la memoria para mejorar la eficiencia operativa.

(4) Implemente selectivamente algunos grupos MIB importantes. RMON es una biblioteca MIB muy poderosa que puede proporcionar información detallada para; Sin embargo, es poco probable que la información de administración de red se implemente para todos los grupos MIB SNMP en aplicaciones generales.

3.2 Arquitectura básica del sistema

La figura 2 muestra la arquitectura básica de este detector de red. El detector de red incluye los siguientes componentes básicos: escucha de red, análisis de paquetes de datos, estadísticas de clasificación y conteo, biblioteca RMON MIB, procesamiento SNMP y envío de trampas, etc.

En el sistema detector, las funciones principales de cada módulo funcional son las siguientes:

El módulo de escucha de red es responsable de interceptar todos los paquetes de datos de la red que el detector está conectado; a una LAN específica puede interceptar todos los paquetes de datos transmitidos en la LAN y luego enviarlos al módulo superior para su análisis y procesamiento.

El módulo de análisis de paquetes de datos analiza los paquetes de datos interceptados uno por uno en función de información básica como el tipo de paquete de datos, la dirección de origen, la dirección de destino y el tamaño del paquete.

Después de analizar el paquete de datos, el módulo de análisis de paquetes de datos llama a un módulo de conteo y estadísticas de clasificación específico para contar los paquetes de acuerdo con las características de los paquetes de datos. El módulo de conteo y estadísticas de clasificación sigue los requisitos de especificación. la biblioteca MIB Actualice los resultados estadísticos de algunos objetos MIB relacionados.

La biblioteca RMON MIB se utiliza para guardar varios objetos RMON MIB (en realidad, incluidos el grupo Sistema y el grupo Interfaz de MIB-II). Estos objetos están organizados de acuerdo con la especificación RMON MIB. un concepto. En la base de datos, todo tipo de información se organiza en la memoria para mejorar la eficiencia del acceso.

El módulo de procesamiento SNMP es responsable de implementar la interfaz de acceso SNMP, recibir solicitudes SNMP (incluidas Get, GetRequest, Set y otras operaciones), analizarlas y procesarlas, y acceder a la biblioteca RMON MIB según sea necesario para obtener los objetos MIB requeridos El valor se devuelve al solicitante (para Get y GetRequest), o se establece el valor del objeto MIB relevante (para la operación Set).

El módulo de envío de Trap es responsable de enviar activamente información de Trap a la estación de administración predeterminada cuando ocurre un evento específico cuando el módulo de conteo y estadísticas de clasificación cuenta los valores de los objetos MIB, si se encuentra que; el valor específico excede el rango predeterminado, luego inicie el módulo de envío de trampas y envíe información de trampas a la estación de administración de acuerdo con la estrategia predeterminada. 4.1 Implementación del Agente SNMP

Actualmente, hay algunos kits de herramientas de desarrollo del Agente SNMP disponibles, que proporcionan algunas plataformas marco básicas y realizan las funciones comunes del Agente. Sobre su base, los desarrolladores pueden concentrarse en implementar funciones lógicas específicas. , como la recopilación de datos de objetos MIB, etc. Esto ayudará a simplificar el trabajo de desarrollo y acelerar el proceso de desarrollo. Los kits de herramientas de desarrollo de agentes SNMP comunes incluyen: Agent++, net-snmp, API WinSnmp (aplicable a la plataforma Windows), etc.

Para facilitar la implementación del Agente detector, elegimos la plataforma Agent++, que es gratuita y de código fuente abierto.

Agent++ es un conjunto de bibliotecas C++ utilizadas para desarrollar agentes SNMP. Está construido sobre la base de SNMP++. Agent++ proporciona un marco de procesamiento de protocolos completo y proporciona clases base para objetos MIB, como objetos escalares y objetos de tabla. Los usuarios pueden definir fácilmente objetos MIB mediante herencia. Agent++ tiene las siguientes características:

(1) Es potente y puede implementar varios objetos MIB complejos;

(2) Es simple y fácil de usar, y los desarrolladores no necesitan para tener una comprensión profunda del procesamiento SNMP subyacente, utilizando solo algunas clases e interfaces simples, puede implementar rápidamente Agentes con varios objetos MIB;

(3) Fuerte escalabilidad, fácil de definir e implementar nuevos funciones;

(4) Buena portabilidad, el código se puede trasplantar fácilmente a Windows, UNIX, Linux y otras plataformas;

(5) Soporta SNMPv1 y SNMPv2c;

(6) admite el procesamiento de subprocesos múltiples, procesa solicitudes SNMP en subprocesos y puede realizar procesamiento concurrente.

(7) Admite el almacenamiento persistente de objetos MIB y puede guardar objetos MIB en el disco duro; y cárguelos desde el disco duro;

(8) Tiene una función de registro detallada.

4.2 Implementación de la interceptación de paquetes de red

La interceptación de paquetes de red también se puede implementar utilizando algunos paquetes de desarrollo ya preparados. Winpcap y libpcap son paquetes de desarrollo relativamente conocidos que proporcionan. Fuerte función de interceptación de paquetes de red. Entre ellos, winpcap se ejecuta en la plataforma Windows y libpcap se ejecuta en las plataformas UNIX y Linux.

Este proyecto utiliza libpcap como paquete de desarrollo para la parte de escucha de paquetes.

libpcap (Biblioteca de captura de paquetes), la biblioteca de funciones de captura de paquetes. Libpcap es una biblioteca muy utilizada en la captura de paquetes de red y con ella se implementa el famoso tcpdump. libpcap es una biblioteca de funciones de captura de paquetes independiente de la implementación proporcionada por el sistema operativo para acceder a la capa de enlace de datos. Esta biblioteca proporciona una interfaz de programación de funciones C consistente para diferentes plataformas. En la plataforma donde está instalado libpcap, los programas y aplicaciones escritos con libpcap como interfaz se pueden usar libremente en todas las plataformas. Es compatible con múltiples sistemas operativos.

libpcap tiene una estructura simple y es fácil de usar; proporciona más de 20 funciones de encapsulación API. Podemos usar estas funciones API para completar las funciones de monitoreo de paquetes de red requeridas por este detector de red. Con el objetivo de abordar algunos problemas especiales en la recopilación de información de gestión en sistemas de gestión de redes, este artículo diseña e implementa un detector de redes. En un sistema de aplicación de gestión de red, es necesario decidir si se deben configurar detectores de red para algunas LAN en función de circunstancias específicas. Por lo tanto, el detector de red es un complemento a la implementación básica de este sistema de gestión de red y puede perfeccionar las funciones de este sistema de gestión de red. La práctica ha demostrado que este plan de implementación es simple y práctico y logra el propósito esperado.