Tutorial de prueba de protocolo: L2 y L3

Antes de aprender sobre las pruebas de protocolo, comprendamos:

¿Qué es el protocolo?

Cuando una computadora se comunica 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 entre dispositivos informáticos y a través de redes.

Pruebas de protocolo

Pruebas de protocolo es un método para verificar protocolos de comunicación en los dominios de conmutación, inalámbrico, VoIP, enrutamiento, etc. El objetivo principal de las pruebas de protocolos es verificar la estructura de los paquetes que se envían a través de una red utilizando herramientas de prueba de protocolos. Durante la prueba se utilizan enrutadores y conmutadores para formar partes de los dispositivos y productos sometidos a prueba.

Protocolos enrutados y de enrutamiento

Los protocolos se clasifican en dos categorías. protocolos enrutados y protocolos de enrutamiento

  • Protocolos enrutados:Los protocolos enrutados se pueden utilizar para enviar datos de usuario de una red a otra. Transportan tráfico de usuario como correos electrónicos, tráfico web, transferencias de archivos, etc. Los protocolos enrutados son IP, IPX y AppleTalk.
  • Protocolos de enrutamiento: Los protocolos de enrutamiento son protocolos de red que determinan las rutas para los enrutadores. Sólo se utiliza entre enrutadores. Por ejemplo RIP, IGRP, EIGRP, etc.

En lenguaje sencillo, un enrutador es como un autobús utilizado para el transporte, mientras que los protocolos de enrutamiento son señales en la carretera.

Según el tipo de comunicación se utilizan diferentes protocolos. Empresas como CISCO, JUNIPER, ALCATEL producen dispositivos de red como enrutadores, módems, puntos de acceso inalámbricos, etc. que utilizan diferentes protocolos para la comunicación, por ejemplo, Cisco utiliza EIGRP, OSPF, etc. La prueba de protocolo no es más que verificar si EIGRP (Protocolo de enrutamiento de puerta de enlace interior mejorado) u OSPF (Abrir primero la ruta más corta) o cualquier otro protocolo está funcionando según el estándar respectivo.

Tipos de protocolos informáticos

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 en forma cifrada para brindar 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 Correos / Simple 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 7 capas de comunicación de red, en las que las capas 2 y 3 son muy cruciales.

  • Capa 2: Es una capa de enlace de datos. La dirección Mac, Ethernet, Token Ring y Frame Relay son ejemplos de capa de enlace de datos.
  • Capa 3: Es una capa de red que determina la mejor ruta disponible en la red para la comunicación. Una dirección IP es un ejemplo de capa 3.

Cómo hacer pruebas de protocolo

  • Para las pruebas de protocolo, necesita analizador y simulador de protocolos
  • El analizador de protocolos garantiza una decodificación adecuada junto con el análisis de llamadas y sesiones. Mientras que el simulador simula varias entidades del elemento de red.
  • Por lo general, el DUT (dispositivo bajo prueba) realiza una prueba de protocolo a otros dispositivos como conmutadores y enrutadores y configura el protocolo en él.
  • A continuación, comprobar la estructura de los paquetes enviados por los dispositivos.
  • Comprueba la escalabilidad, el rendimiento, el algoritmo de protocolo, etc. del dispositivo mediante el uso de herramientas como lxNetworks, Scapy y Wireshark

Tipos de pruebas para pruebas de protocolo

Las pruebas de protocolo incluyen pruebas de funcionalidad, rendimiento, pila de protocolos, interoperabilidad, etc. Básicamente, durante las pruebas de protocolo, se realizan tres comprobaciones.

  • Exactitud: ¿Recibimos el paquete X cuando esperábamos?
  • Estado latente: ¿Cuánto tiempo tarda un paquete en transitar por el sistema?
  • Ancho de banda: Cuantos paquetes podemos enviar por segundo

Las pruebas de protocolo se pueden dividir en dos categorías. Pruebas de Estrés y Fiabilidad y Pruebas Funcionales. Cobertura de pruebas de estrés y confiabilidad Prueba de carga, Pruebas de estrés, Test de rendimiento, etc. Mientras Prueba de funcion incluye pruebas negativas, pruebas de conformidad, pruebas de interoperabilidad, etc.

  • Pruebas de conformidad: Se prueba el cumplimiento de los protocolos implementados en los productos como IEEE, RFC etc.
  • Pruebas de interoperabilidad:Se prueba la interoperabilidad de los distintos proveedores. Esta prueba se realiza después de que se realizan las pruebas de conformidad en la plataforma adecuada.
  • Pruebas de funciones de red: Se prueba la funcionalidad de las características de los productos de red con referencia al documento de diseño. Por ejemplo, las características pueden ser seguridad de puerto en un conmutador, ACL en un enrutador, etc.

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

Aquí está el caso de prueba de muestra para enrutadores.

Nombre de la prueba Casos de prueba
Una VLAN en un conmutador Construya dos VLAN diferentes. Verifique la visibilidad entre hosts en diferentes VLAN
Tres VLAN simétricas en un conmutador Cree tres VLAN asimétricas diferentes. Verifique la visibilidad entre hosts
Árbol de expansión: variación del costo de la ruta raíz Pruebe cómo cambia el costo de la ruta raíz después de una variación de topología
Árbol de expansión: bloqueo de puertos Compruebe cómo el protocolo de árbol de expansión evita la formación de ciclos en la red, bloqueando enlaces redundantes, en presencia de VLAN demasiado
Puente raíz diferente para diferentes MSTI Demuestre que cada MSTI puede tener un puente raíz diferente
Visibilidad entre diferentes regiones STP Con las mismas VLAN verifique la visibilidad entre diferentes regiones STP
Funcionamiento del conmutador telefónico Generar 1000 llamadas telefónicas y verificar si el conmutador telefónico aún funciona o su rendimiento se degrada
Prueba negativa para el dispositivo. Ingrese la clave incorrecta y verifique la autenticación del usuario. No debe permitir que un usuario acceda
Velocidad de línea Verifique que el dispositivo funcione a una velocidad de 10 Gbps, utilizando todo el ancho de banda disponible para manejar el tráfico entrante
Tasa de conversación de protocolo Realice un seguimiento de una conversación TCP entre dos dispositivos y verifique que cada dispositivo tenga un comportamiento correcto
Tiempo de respuesta para el inicio de sesión. Medir el tiempo de respuesta de un dispositivo a una solicitud de invitación para el inicio de 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 elaboración de paquetes

Scapy es un potente programa interactivo de manipulación de paquetes. Te permite

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

Básicamente, Scapy hace principalmente dos cosas: recibir respuestas y enviar paquetes. Usted define los paquetes, los envía, recibe respuestas, relaciona solicitudes con respuestas y devuelve una lista de parejas de paquetes y una lista de paquetes no coincidentes.

También puede manejar otras cosas como enrutamiento de seguimiento, pruebas unitarias, ataques o descubrimiento de redes, desarrollo de nuevos protocolos, sondeo, etc.

Scapy nos permite escribir un Python script que nos permite realizar una tarea como enviar y recibir paquetes o rastrear paquetes. Por ejemplo, scapy puede rastrear el paquete de datos utilizando un Python guion. El comando para abrir getdit ingresado en el editor.

#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
# ./scaotsbuff.py

Olfateará 10 paquetes y tan pronto como los haya olfateado imprimirá el resumen. Scapy también como una serie de comandos para enviar y recibir paquetes al mismo tiempo

Descargar Scapy

2) Wireshark Herramientas para el análisis

Herramientas utilizadas para las pruebas de protocolo. Wireshark. Permite capturar paquetes en tiempo real y mostrarlos en forma legible por humanos. Le permite profundizar en el tráfico de la red e inspeccionar paquetes individuales mediante códigos de colores y filtros.

Wireshark captura paquetes que ayudan a determinar cuándo se establece la sesión, cuándo se inició el viaje de datos exacto y cuántos datos se envían cada vez, etc.

Wireshark tiene un conjunto de características ricas que incluyen

  • Una inspección exhaustiva de cientos de protocolos, y se agregan más todo el tiempo.
  • Captura en vivo y análisis fuera de línea
  • Rich análisis de VoIP
  • Navegador estándar de tres paneles
  • Se ejecuta en multiplataforma como Windows, Linux, OSX, etc.
  • Los datos de red capturados se pueden explorar a través de una GUI
  • El descifrado admite muchos protocolos como IPsec, ISAKMP, SSL/TLS
  • Los datos en vivo se pueden leer desde Ethernet, ATM, Bluetooth, USB, token, etc.
  • La salida se puede exportar a CSV, XML, texto sin formato, etc.

Descargar Wireshark

TTCN

TCCN es un lenguaje de prueba estándar para definir Escenario de prueba y su implementación para las pruebas de protocolo. Un conjunto de pruebas TCCN contiene muchos casos de prueba escritos en el lenguaje de programación TTCN y se utiliza para las pruebas sistemas reactivos o pruebas de comportamiento.

Por ejemplo, una máquina expendedora de café que le da café al insertar una moneda de un dólar pero no responde si se inserta algo menos de un dólar. Para programar este tipo de máquinas se utiliza el lenguaje TCCN3. Para que la cafetera responda al introducir una moneda, tenemos que escribir el componente TCCN-3 que se comporta como una cafetera. Nos permite ejecutar nuestra prueba antes de que una máquina de café real esté disponible como producto. Una vez hecho esto, conectaremos el conjunto de pruebas TCCN3 con el dispositivo externo.

TTCN

El sistema de prueba emite estímulos (moneda de un dólar) y recibe respuestas (café). El adaptador de estímulos obtiene estímulos del sistema de prueba y los pasa al sistema bajo prueba. El adaptador de respuesta espera respuestas del sistema bajo prueba y las pasa al sistema de prueba.

TCCN3 se puede utilizar en varios campos como

  • Comunicaciones móviles (LTE, WiMAX, 3G, etc.)
  • Tecnologías de banda ancha (ATM, DSL)
  • Plataformas Middleware (servicios web, CORBA, etc.)
  • Protocolo de Internet (SIP, IMS, IPv6)
  • Tarjetas inteligentes
  • Automotriz (AutoSAR, MOST, CAN)

En TCCN podemos definir

  • Suites de prueba
  • Casos de prueba
  • Pasos de prueba
  • Declarar Variables
  • Declarar temporizadores
  • Crear PDU, etc.

TCCN se puede integrar con tipos de sistemas de otros lenguajes como ASN.1, XML, C/C++. El lenguaje principal de TCCN3 existe en formato de texto, además de otros formatos como tabular, gráfico y de presentación.