Tutorial de pruebas de protocolo (Nivel 2 y Nivel 3)

โšก Resumen inteligente

Las pruebas de protocolo validan cรณmo los dispositivos de red intercambian datos a travรฉs de protocolos L2 y L3. Verifican la estructura de paquetes, la conformidad, el rendimiento y la interoperabilidad para conmutadores, enrutadores, equipos VoIP y equipos inalรกmbricos utilizados por proveedores como CiscoJuniper y Alcatel.

  • ๐ŸŒ Alcance: Las pruebas de protocolos abarcan los protocolos de conmutaciรณn, inalรกmbricos, VoIP y enrutamiento en todo el modelo OSI, centrรกndose en el comportamiento de las capas 2 y 3.
  • ???? L2 vs L3: La capa 2 gestiona MAC, Ethernet y Frame Relay; la capa 3 selecciona las rutas รณptimas a travรฉs de IP, OSPF, EIGRP y protocolos de enrutamiento similares.
  • ๐Ÿ› ๏ธ Cadena de herramientas: Los ingenieros confรญan en Wireshark para captura en vivo, Scapy para la creaciรณn de paquetes y TTCN-3 para conjuntos de pruebas de comportamiento contra un dispositivo bajo prueba.
  • โœ… Tipos de cheques: Las pruebas de conformidad, interoperabilidad, funcionalidad, estrรฉs, carga y rendimiento confirman la correcciรณn, la latencia y los umbrales de ancho de banda.
  • ๐Ÿงช Perspectiva de la IA: Los laboratorios modernos aplican modelos de IA para detectar anomalรญas en el trรกfico, predecir fallos de protocolo y generar automรกticamente casos de prueba negativos para agilizar los ciclos de regresiรณn.

Pruebas de protocolo

Antes de aprender sobre las pruebas de protocolo, comprendamos los fundamentos sobre los que se basan.

ยฟQuรฉ es un protocolo?

Cuando las computadoras se comunican entre sรญ, existe un conjunto comรบn de reglas y condiciones que cada computadora debe seguir. En otras palabras, los protocolos determinan cรณmo se transmiten los datos. transmitse comunicaban entre dispositivos informรกticos y a travรฉs de redes. Sin estas reglas compartidas, los dispositivos de diferentes proveedores no podรญan intercambiar trรกfico de forma fiable.

ยฟQuรฉ son las pruebas de protocolo?

Pruebas de protocolo Es un mรฉtodo para verificar protocolos de comunicaciรณn en รกreas como conmutaciรณn, redes inalรกmbricas, VoIP, enrutamiento y redes similares. El objetivo principal de las pruebas de protocolo es comprobar la estructura de los paquetes que se envรญan a travรฉs de una red mediante herramientas especรญficas. Durante la prueba, se utilizan enrutadores y conmutadores como parte de los dispositivos y productos que se estรกn probando.

Ahora que hemos definido la prรกctica, examinemos por quรฉ esta disciplina es importante en las redes de producciรณn.

Por quรฉ es importante realizar pruebas de protocolo

Las redes modernas gestionan cargas de trabajo crรญticas, como llamadas VoIP, transacciones financieras y transmisiรณn de vรญdeo. Un solo fallo en un protocolo puede provocar la pรฉrdida de paquetes o exponer vulnerabilidades de seguridad. Las pruebas de protocolo garantizan la calidad al validar que cada implementaciรณn se ajusta a sus especificaciones, escala bajo carga y se comporta de forma predecible ante fallos.

Una vez clara la motivaciรณn, la siguiente pregunta es cรณmo se clasifican los protocolos en las redes reales.

Protocolos enrutados y de enrutamiento

Los protocolos se clasifican en dos categorรญas: protocolos enrutados y protocolos de enrutamiento.

  • Protocolos enrutados: Los protocolos de enrutamiento se utilizan para enviar datos de usuario de una red a otra. Transportan trรกfico de usuario, como correos electrรณnicos, trรกfico web y transferencias de archivos. Algunos ejemplos de protocolos de enrutamiento son IP, IPX y AppleTalk.
  • Protocolos de enrutamiento: Los protocolos de enrutamiento son protocolos de red que determinan las rutas para los enrutadores. Se utilizan รบnicamente entre enrutadores. Algunos ejemplos son RIP, IGRP y EIGRP.

En lenguaje sencillo, Un enrutador es como un autobรบs utilizado para el transporte, mientras que los protocolos de enrutamiento son las seรฑales en la carretera.

Segรบn el tipo de comunicaciรณn, se utilizan diferentes protocolos. Empresas como CiscoJuniper y Alcatel producen dispositivos de red como enrutadores, mรณdems y puntos de acceso inalรกmbricos que utilizan diferentes protocolos de comunicaciรณn. Por ejemplo, Cisco Utiliza EIGRP y OSPF. Las pruebas de protocolo consisten bรกsicamente en comprobar si EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First) o cualquier otro protocolo funciona segรบn su estรกndar respectivo.

Tipos de protocolos informรกticos

La tabla que aparece a continuaciรณn enumera los protocolos mรกs comunes que un tรฉcnico de pruebas encontrarรก en la red.

Tipos de protocolos Propรณsito de los protocolos
TCP / IP Se utiliza para enviar informaciรณn en pequeรฑos paquetes a travรฉs de Internet.
UDP/ICMP Se utiliza para enviar una pequeรฑa cantidad de informaciรณn en paquetes de datos a travรฉs de Internet.
POP3 y SMTP Se utiliza para enviar y recibir correo.
Protocolo de Transferencia de Hipertexto Se utiliza para transferir pรกginas HTML de forma cifrada para proporcionar seguridad a los datos confidenciales.
FTP Se utiliza para transportar archivos a travรฉs de una red de un nodo a otro.

* TCP / IP โ€“ Transmission Protocolo de control/Protocolo de Internet, UDP/ICMP โ€“ Protocolo de datagramas de usuario/Protocolo de mensajes de control de Internet, POP3 / SMTP โ€“ Protocolo de la oficina de correos/Sencillo Mail Protocolo de transferencia, HTTP - Protocolo de Transferencia de Hipertexto, FTP โ€“ Protocolo de transferencia de archivos.

Diferentes tipos de protocolos de red (L2 y L3)

El modelo OSI tiene un total de siete capas de comunicaciรณn de red, de las cuales la Capa 2 (L2) y la Capa 3 (L3) son cruciales para las pruebas de protocolo.

  • Capa 2 (L2): Es la capa de enlace de datos. La direcciรณn MAC, Ethernet, Token Ring y Frame Relay son ejemplos de la capa de enlace de datos.
  • Capa 3 (L3): Es la capa de red la que determina la mejor ruta disponible en la red para la comunicaciรณn. Una direcciรณn IP es un ejemplo de L3.

Cรณmo hacer pruebas de protocolo

  • Para las pruebas de protocolo, necesita un analizador de protocolos y un simulador.
  • El analizador de protocolos garantiza una decodificaciรณn adecuada, junto con el anรกlisis de llamadas y sesiones. El simulador reproduce diversas entidades del elemento de red.
  • Por lo general, las pruebas de protocolo se llevan a cabo mediante un dispositivo bajo prueba (DUT, por sus siglas en inglรฉs) conectado a otros dispositivos, como conmutadores y enrutadores, con el protocolo objetivo configurado en รฉl.
  • Posteriormente, el tรฉcnico comprueba la estructura de los paquetes enviados por los dispositivos.
  • Comprueba la escalabilidad, el rendimiento y el comportamiento del algoritmo del protocolo del dispositivo mediante el uso de herramientas como IxNetwork, Scapy, y Wireshark.

Tipos de pruebas para pruebas de protocolo

Las pruebas de protocolo incluyen pruebas de funcionalidad, rendimiento, pila de protocolos, interoperabilidad y mรกs. Durante las pruebas de protocolo, se realizan tres comprobaciones bรกsicas.

  • Exactitud: ยฟRecibimos el paquete X cuando lo esperamos?
  • Estado latente: ยฟCuรกnto tiempo tarda un paquete en transitar por el sistema?
  • Ancho de Banda: ยฟCuรกntos paquetes podemos enviar por segundo?

Las pruebas de protocolo se pueden dividir en dos grandes categorรญas: pruebas de estrรฉs y confiabilidad, y pruebas funcionales. Las pruebas de estrรฉs y confiabilidad abarcan Prueba de carga, Pruebas de estrรฉs, y Test de rendimiento. Prueba de funcion Incluye pruebas negativas, pruebas de conformidad y pruebas de interoperabilidad.

  • Pruebas de conformidad: Los protocolos implementados en los productos se prueban para verificar su conformidad con estรกndares como IEEE y RFC.
  • Pruebas de interoperabilidad: Se comprueba la interoperabilidad entre diferentes proveedores. Esta prueba se realiza una vez finalizadas las pruebas de conformidad en la plataforma correspondiente.
  • Pruebas de funciones de red: Las funcionalidades de los productos de red se prueban en funciรณn del documento de diseรฑo. Por ejemplo, algunas funcionalidades pueden ser la seguridad de puertos en un conmutador o las listas de control de acceso (ACL) en un enrutador.

Casos de prueba de muestra para pruebas de protocolos de dispositivos de red

Aquรญ se muestra un conjunto de casos de prueba de ejemplo para enrutadores y conmutadores.

Nombre de la prueba Casos de prueba
Una VLAN en un conmutador Cree dos VLAN diferentes. Compruebe la visibilidad entre los hosts en las distintas VLAN.
Tres VLAN simรฉtricas en un solo switch Cree tres VLAN asimรฉtricas diferentes. Compruebe la visibilidad entre los hosts.
รrbol de expansiรณn: variaciรณn del costo de la ruta raรญz Comprueba cรณmo cambia el coste de la ruta raรญz tras una variaciรณn de la topologรญa.
รrbol de expansiรณn: bloqueo de puertos Compruebe cรณmo el protocolo spanning tree evita la formaciรณn de ciclos en la red, bloqueando enlaces redundantes, en presencia de VLAN
Puente raรญz diferente para diferentes MSTI Demuestra que cada MSTI puede tener un puente radicular diferente.
Visibilidad entre diferentes regiones STP Con las mismas VLAN, compruebe la visibilidad entre diferentes regiones STP.
Rendimiento de la central telefรณnica Realice 1000 llamadas telefรณnicas y compruebe si la centralita telefรณnica sigue funcionando o si su rendimiento se degrada.
Prueba negativa para el dispositivo Introduzca la clave incorrecta y compruebe la autenticaciรณn. No se deberรญa permitir el acceso al usuario.
Velocidad de lรญnea Compruebe que el dispositivo funcione a una velocidad de 10 Gbps, utilizando todo el ancho de banda disponible para gestionar el trรกfico entrante.
Tasa de conversaciรณn del protocolo Tracka conversaciรณn TCP entre dos dispositivos y verificar que cada dispositivo se comporte correctamente.
Tiempo de respuesta para el inicio de la sesiรณn Medir el tiempo de respuesta de un dispositivo a una solicitud de invitaciรณn para iniciar una sesiรณn.

Herramientas para pruebas de protocolo

Analicemos las herramientas de prueba mรกs importantes que se utilizan para verificar los protocolos.

1) Scapy para la creaciรณn de paquetes

Scapy Es un potente programa interactivo para la manipulaciรณn de paquetes. Le permite:

  • Crear paquetes
  • Decodificar paquetes en la red.
  • Capture paquetes y analรญcelos
  • Inyectar paquetes en la red.

Entonces, bรกsicamente, Scapy Principalmente hace dos cosas: recibir respuestas y enviar paquetesUsted define los paquetes, el sistema los envรญa, recibe las respuestas, relaciona las solicitudes con las respuestas y devuelve una lista de pares de paquetes y una lista de paquetes no coincidentes.

Tambiรฉn puede realizar otras tareas como tracenrutamiento electrรณnico, pruebas unitarias, ataques, descubrimiento de red, desarrolloping nuevos protocolos y sondeos.

Scapy te permite escribir un Python script que te permite realizar tareas como enviar, recibir o capturar paquetes. Por ejemplo, Scapy puede interceptar paquetes de datos usando un corto Python El comando para abrir el editor se muestra a continuaciรณn.

#gedit scapysniff.py
#!/usr/bin/env python
from scapy.all import *

a = sniff(count=10)
a.nsummary()

save, and change the mode of the file into an executable form
#chmod +x scapysniff.py
# ./scapysniff.py

Analizarรก 10 paquetes y, una vez que haya analizado los 10 paquetes, imprimirรก el resumen. Scapy Tambiรฉn dispone de una serie de comandos para enviar y recibir paquetes simultรกneamente.

Descargar Scapy

2) Wireshark para anรกlisis

Wireshark Es la herramienta lรญder para el anรกlisis de pruebas de protocolo. Permite capturar paquetes en tiempo real y visualizarlos en un formato legible. Puedes analizar en detalle el trรกfico de red e inspeccionar paquetes individuales mediante cรณdigos de color y filtros.

Wireshark Captura paquetes que ayudan a determinar cuรกndo se establece la sesiรณn, cuรกndo se iniciรณ la transferencia de datos exacta y cuรกntos datos se envรญan en cada ocasiรณn.

Wireshark Cuenta con un amplio conjunto de funciones que incluye:

  • Una inspecciรณn exhaustiva de cientos de protocolos, y se aรฑaden mรกs constantemente.
  • Captura en vivo y anรกlisis fuera de lรญnea
  • Rich anรกlisis de VoIP
  • Navegador de paquetes estรกndar de tres paneles
  • Se ejecuta en mรบltiples plataformas como Windows, Linux y macOS
  • Los datos de red capturados se pueden explorar a travรฉs de una GUI
  • Compatibilidad con el descifrado de numerosos protocolos como IPsec, ISAKMP y SSL/TLS.
  • Los datos en tiempo real se pueden leer desde Ethernet, ATM, Bluetooth, USB y Token Ring.
  • Los resultados se pueden exportar a CSV, XML y texto plano.

Descargar Wireshark

3) TTCN

TTCN es un lenguaje de prueba estรกndar para definir Escenarios de prueba y su implementaciรณn para pruebas de protocolo. Un conjunto de pruebas TTCN contiene muchos casos de prueba escritos en el lenguaje de programaciรณn TTCN y se utiliza para pruebas de sistemas reactivos o pruebas de comportamiento.

Por ejemplo, consideremos una mรกquina expendedora de cafรฉ que dispensa cafรฉ al insertar una moneda de un dรณlar, pero no responde si se inserta una cantidad menor. Para programar este tipo de mรกquinas, se utiliza TTCN-3. Para que la mรกquina de cafรฉ responda al insertar una moneda, se escribe un componente TTCN-3 que simula el comportamiento de la mรกquina. Esto permite realizar pruebas antes de que la mรกquina de cafรฉ estรฉ disponible como producto. Una vez hecho esto, se puede conectar el conjunto de pruebas TTCN-3 con el dispositivo externo.

TTCN

El sistema de prueba emite estรญmulos (una moneda de un dรณlar) y recibe respuestas (cafรฉ). El adaptador de estรญmulos obtiene los estรญmulos del sistema de prueba y los transmite al sistema bajo prueba. El adaptador de respuesta espera las respuestas del sistema bajo prueba y las transmite al sistema de prueba.

TTCN-3 se puede utilizar en diversos campos, tales como:

  • Comunicaciones mรณviles (LTE, WiMAX, 3G)
  • Tecnologรญas de banda ancha (ATM, DSL)
  • Plataformas de middleware (servicios web, CORBA)
  • Protocolos de Internet (SIP, IMS, IPv6)
  • Tarjetas inteligentes
  • Automotriz (AutoSAR, MOST, CAN)

En TTCN puedes definir:

  • Suites de prueba
  • Casos de prueba
  • Pasos de prueba
  • Variables declaradas
  • Temporizadores declarados
  • Unidades de distribuciรณn de energรญa (PDU) y mรกs

TTCN se puede integrar con sistemas escritos en otros lenguajes como ASN.1, XMLy C/C++El lenguaje central TTCN-3 existe en formato de texto, junto con formatos tabulares, grรกficos y de presentaciรณn.

Cรณmo aplicar las pruebas de protocolo en la prรกctica

Para aplicar estas tรฉcnicas en un proyecto real, defina el alcance del protocolo (L2, L3 o superior), configure un DUT con simulador y analizador conectados, elabore casos de prueba de conformidad y negativos haciendo referencia a las especificaciones RFC o IEEE, luego ejecute comprobaciones de estrรฉs, interoperabilidad y anomalรญas asistidas por IA. Capture los resultados en Wireshark y repetir el proceso hasta que el comportamiento del paquete coincida con el estรกndar.

Preguntas Frecuentes

Las pruebas de protocolo verifican que los protocolos de comunicaciรณn en conmutadores, enrutadores y dispositivos similares envรญen paquetes bien formados y se comporten de acuerdo con los estรกndares en los dominios de conmutaciรณn, enrutamiento, VoIP e inalรกmbricos.

Las pruebas de capa 2 se centran en la capa de enlace de datos, como MAC, Ethernet y Frame Relay, mientras que las pruebas de capa 3 validan los protocolos de enrutamiento de la capa de red, como IP, OSPF y EIGRP, que seleccionan las rutas รณptimas entre redes.

Wireshark para captura y decodificaciรณn en vivo, Scapy Las herramientas estรกndar que utilizan los ingenieros de pruebas de red son IxNetwork para la creaciรณn de paquetes, IxNetwork para la generaciรณn de trรกfico y TTCN-3 para conjuntos de pruebas de comportamiento.

Las pruebas de conformidad verifican que la implementaciรณn de un protocolo siga estrictamente su especificaciรณn, como un estรกndar IEEE o un RFC de la IETF, de modo que los dispositivos de diferentes proveedores puedan interoperar de forma predecible en la misma red.

Los modelos de IA aprenden patrones de paquetes bรกsicos y luego generan casos de prueba negativos, predicen el riesgo de regresiรณn en los cambios de enrutamiento y priorizan automรกticamente los escenarios fallidos para que los ingenieros de pruebas cubran mรกs rutas de protocolo en menos tiempo.

Sรญ. Los clasificadores de aprendizaje automรกtico ingieren Wireshark Las capturas de NetFlow detectan latencia, fluctuaciรณn o formas de paquetes inusuales en comparaciรณn con las lรญneas base aprendidas, y ponen de manifiesto el mal funcionamiento del protocolo antes de que provoque interrupciones en las redes de producciรณn.

Resumir este post con: