Tutoriel de test de protocole : L2 et L3

Avant d'en savoir plus sur les tests de protocole, comprenons :

Qu’est-ce que le protocole ?

Lorsqu’un ordinateur communique entre lui, il existe un ensemble commun de règles et de conditions que chaque ordinateur doit suivre. En d’autres termes, les protocoles déterminent la manière dont les données sont transmises entre les appareils informatiques et sur les réseaux.

Tests de protocole

Tests de protocole est une méthode de vérification des protocoles de communication dans les domaines de la commutation, du sans fil, de la VoIP, du routage, etc. L'objectif principal des tests de protocole est de vérifier la structure des paquets envoyés sur un réseau à l'aide d'outils de test de protocole. Les routeurs et les commutateurs sont utilisés pendant le test pour former des parties des appareils et des produits testés.

Protocoles de routage et de routage

Les protocoles sont classés en deux catégories protocoles routés et protocoles de routage

  • Protocoles routés: Les protocoles routés peuvent être utilisés pour envoyer les données utilisateur d'un réseau à un autre réseau. Il transporte le trafic utilisateur tel que les e-mails, le trafic Web, les transferts de fichiers, etc. Les protocoles routés sont IP, IPX et AppleTalk.
  • Protocoles de routage: Les protocoles de routage sont des protocoles réseau qui déterminent les itinéraires des routeurs. Il n'est utilisé qu'entre les routeurs. Par exemple RIP, IGRP, EIGRP, etc.

En termes simples, un routeur est comme un bus utilisé pour le transport tandis que les protocoles de routage sont des signaux sur la route.

Selon le type de communication, différents protocoles sont utilisés. Des entreprises comme CISCO, JUNIPER, ALCATEL produisent des périphériques réseau tels que des routeurs, des modems, des points d'accès sans fil, etc. qui utilisent différents protocoles de communication, par exemple : Cisco utilise EIGRP, OSPF, etc. Les tests de protocole ne sont rien d'autre que vérifier si EIGRP (Enhanced Interior Gateway Routing Protocol) ou OSPF (Open Shortest Path First) ou tout autre protocole fonctionne conformément à la norme respective.

Types de protocoles informatiques

Types de protocoles Objectif des protocoles
TCP / IP Il est utilisé pour envoyer des informations sous forme de petits paquets sur Internet
UDP/ICMP Il est utilisé pour envoyer une petite quantité d’informations sous forme de paquets de données sur Internet.
POP3 et SMTP Il est utilisé pour envoyer et recevoir du courrier
Hypertext Transfer Protocol Il est utilisé pour transférer une page HTML sous forme cryptée pour assurer la sécurité des données sensibles
Ftp Il est utilisé pour transporter des fichiers sur un réseau d'un nœud à un autre.

* TCP / IP- Transmission Protocole de contrôle/protocole Internet, UDP/ICMP– Protocole de datagramme utilisateur/Protocole de message de contrôle Internet, POP3 / SMTP– Protocole postal / Simple Mail Protocole de transfert, HTTP- Protocole de transfert hypertexte, Ftp- Protocole de transfer de fichier

Différents types de protocoles réseau (L2 et L3)

Le modèle OSI comporte au total 7 couches de communication réseau, dans lesquelles les couches 2 et 3 sont très cruciales.

  • Layer 2: C'est une couche liaison de données. L'adresse Mac, Ethernet, Token Ring et Frame Relay sont tous des exemples de couche liaison de données.
  • Layer 3: Il s'agit d'une couche réseau qui détermine le meilleur chemin disponible dans le réseau pour la communication. Une adresse IP est un exemple de couche 3.

Comment faire des tests de protocole

  • Pour les tests de protocole, vous avez besoin analyseur et simulateur de protocole
  • L'analyseur de protocole garantit un décodage approprié ainsi qu'une analyse des appels et des sessions. Alors que le simulateur simule diverses entités d'élément de réseau
  • Habituellement, un test de protocole est effectué par le DUT (appareil testé) sur d'autres appareils tels que des commutateurs et des routeurs et y configure le protocole.
  • Vérifier ensuite la structure des paquets envoyés par les appareils
  • Il vérifie l'évolutivité, les performances, l'algorithme de protocole, etc. de l'appareil à l'aide d'outils tels que lxNetworks, Scapy et Wireshark

Types de tests pour les tests de protocole

Les tests de protocole comprennent les tests de fonctionnalité, de performances, de pile de protocoles, d'interopérabilité, etc. Lors des tests de protocole, trois vérifications sont effectuées.

  • Correction: recevons-nous le paquet X quand nous l'attendions
  • Latence: Combien de temps faut-il à un paquet pour transiter dans le système
  • Bande passante : Combien de paquets pouvons-nous envoyer par seconde

Les tests de protocole peuvent être divisés en deux catégories. Tests de contrainte et de fiabilité et tests fonctionnels. Les tests de contrainte et de fiabilité couvrent test de charge, Test de stress, Test de performance, etc. Alors que Essais fonctionnels comprend les tests négatifs, les tests de conformité, les tests d'interopérabilité, etc.

  • Test de conformité: Les protocoles mis en œuvre sur les produits sont testés pour leur adhésion comme IEEE, RFC et ainsi de suite
  • Test d'interopérabilité: L'interopérabilité des différents fournisseurs est testée. Ce test est effectué après que les tests de conformité ont été effectués sur la plateforme appropriée.
  • Test des fonctionnalités du réseau : Les caractéristiques des produits réseau sont testées pour leur fonctionnalité en référence au document de conception. Par exemple, les fonctionnalités peuvent être la sécurité des ports sur un commutateur, l'ACL sur un routeur, etc.

Exemples de cas de test pour les tests de protocole des périphériques réseau

Voici l'exemple de cas de test pour les routeurs

Nom du test Cas de test
Un VLAN sur un commutateur Créez deux VLAN différents. Vérifier la visibilité entre les hôtes sur différents VLAN
Trois VLAN symétriques sur un commutateur Créez trois VLAN asymétriques différents. Vérifier la visibilité entre les hôtes
Spanning Tree : variation du coût du chemin racine Testez l'évolution du coût du chemin racine après une variation de topologie
Spanning Tree : blocage de ports Vérifiez comment le protocole Spanning Tree évite la formation de cycles dans le réseau, bloquant les liaisons redondantes, en présence de VLAN trop
Différents ponts racines pour différents MSTI Montrer que chaque MSTI peut avoir un Root Bridge différent
Visibilité entre les différentes régions STP Avec les mêmes VLAN, vérifiez la visibilité entre les différentes régions STP
Performances du commutateur téléphonique Générez 1000 appels téléphoniques et vérifiez si le commutateur téléphonique fonctionne toujours ou si ses performances se dégradent
Test négatif pour l'appareil Entrez la clé incorrecte et vérifiez l'authentification de l'utilisateur. Il ne doit pas permettre à un utilisateur d'accéder
Vitesse de ligne Vérifiez que l'appareil fonctionne à une vitesse de 10 Gbit/s, en utilisant toute la bande passante disponible pour gérer le trafic entrant.
Taux de conversation du protocole Suivez une conversation TCP entre deux appareils et vérifiez que chaque appareil a adopté un comportement correct
Temps de réponse pour le lancement de la session Mesurer le temps de réponse d'un appareil à une demande d'invitation pour l'ouverture de session

Outils pour les tests de protocole

Discutons des outils de test les plus importants utilisés pour vérifier les protocoles

1) Scapy Pour la création de paquets

Scapy est un puissant programme interactif de manipulation de paquets. Il vous permet de

  • Créer des paquets
  • Décoder les paquets sur le réseau
  • Capturez les paquets et analysez-les
  • Injecter des paquets dans le réseau

Donc en gros, scapy fait principalement deux choses : recevoir des réponses et envoyer des paquets. Vous définissez les paquets, il les envoie, reçoit des réponses, fait correspondre les demandes avec les réponses et renvoie une liste de couples de paquets et une liste de paquets sans correspondance.

Il peut également gérer d'autres choses comme le routage de trace, les tests unitaires, les attaques ou la découverte de réseau, le développement de nouveaux protocoles, les sondages, etc.

Scapy nous permet d'écrire un Python script qui nous permet d'effectuer une tâche comme l'envoi et la réception de paquets ou le reniflage de paquets. Par exemple, scapy peut renifler le paquet de données en utilisant un Python scénario. La commande pour ouvrir le getdit saisie dans l'éditeur

#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

Il reniflera 10 paquets et dès qu'il aura reniflé 10 paquets, il imprimera le résumé. Scapy également comme tableau de commandes pour envoyer et recevoir des paquets en même temps

Télécharger Scapy

2) Wireshark Outils d'analyse

Outils utilisés pour les tests de protocole- Wireshark. Il permet de capturer des paquets en temps réel et de les afficher sous une forme lisible par l'homme. Il vous permet d'approfondir le trafic réseau et d'inspecter les paquets individuels à l'aide de codes couleur et de filtres.

Wireshark capture les paquets qui aident à déterminer quand la session est établie, quand le voyage exact des données a été initié et combien de données sont envoyées à chaque fois, etc.

Wireshark dispose d'un ensemble de fonctionnalités riches qui comprennent

  • Une inspection approfondie de centaines de protocoles, de nouveaux étant ajoutés en permanence
  • Capture en direct et analyse hors ligne
  • Analyse VoIP enrichie
  • Navigateur standard à trois volets
  • Fonctionne sur plusieurs plateformes comme Windows, Linux, OSX et ainsi de suite
  • Les données réseau capturées peuvent être parcourues via une interface graphique
  • Le décryptage prend en charge de nombreux protocoles comme IPsec, ISAKMP, SSL/TLS
  • Les données en direct peuvent être lues depuis Ethernet, ATM, Bluetooth, USB, token, etc.
  • La sortie peut être exportée au format CSV, XML, texte brut, etc.

Télécharger Wireshark

TTCN

TCCN est un langage de test standard pour définir Scénario de test et leur mise en œuvre pour les tests de protocole. Une suite de tests TCCN contient de nombreux cas de test écrits dans le langage de programmation TTCN et est utilisée pour vers les tests systèmes réactifs ou tests comportementaux.

Par exemple, un distributeur automatique de café qui vous donne du café en insérant une pièce d'un dollar mais ne répond pas si quelque chose de moins qu'un dollar y est inséré. Pour programmer de telles machines, le langage TCCN3 est utilisé. Afin que la machine à café réagisse lors de l'insertion d'une pièce de monnaie, nous devons écrire le composant TCCN-3 qui se comporte comme une machine à café. Cela nous permet d’effectuer notre test avant qu’une véritable machine à café ne soit disponible en tant que produit. Une fois cela fait, nous connecterons la suite de tests TCCN3 au périphérique externe.

TTCN

Le système de test émet des stimuli (pièce de monnaie) et reçoit des réponses (café). L'adaptateur de stimuli obtient les stimuli du système de test et les transmet au système testé. L'adaptateur de réponse attend les réponses du système testé et les transmet au système de test.

TCCN3 peut être utilisé dans divers domaines comme

  • Communications mobiles (LTE, WiMAX, 3G, etc.)
  • Technologies haut débit (ATM, DSL)
  • Plateformes middleware (Webservices, CORBA, etc.)
  • Protocole Internet (SIP, IMS, IPv6)
  • Carte à puce
  • Automobile (AutoSAR, MOST, CAN)

Dans TCCN nous pouvons définir

  • Suites de test
  • Cas de test
  • Étapes de test
  • Déclarer des variables
  • Déclarer des minuteries
  • Créer des PDU, etc.

TCCN peut être intégré à des types de systèmes d'autres langages comme ASN.1, XML, C /C++. Le langage de base TCCN3 existe au format texte en dehors d'autres formats tels que les tableaux, les graphiques et les présentations.