Tutoriel sur les tests de protocole (niveaux 2 et 3)

โšก Rรฉsumรฉ intelligent

Les tests de protocole valident la maniรจre dont les pรฉriphรฉriques rรฉseau รฉchangent des donnรฉes via les protocoles de couche 2 et de couche 3. Ils vรฉrifient la structure des paquets, leur conformitรฉ, leurs performances et leur interopรฉrabilitรฉ pour les commutateurs, les routeurs, les รฉquipements VoIP et les รฉquipements sans fil utilisรฉs par des fournisseurs tels queโ€ฆ Cisco, Juniper et Alcatel.

  • ๐ŸŒ Portรฉe: Les tests de protocole couvrent les protocoles de commutation, sans fil, VoIP et de routage sur l'ensemble de la pile OSI, avec un accent particulier sur le comportement des couches L2 et L3.
  • ???? L2 contre L3 : La couche 2 gรจre les protocoles MAC, Ethernet et Frame Relay ; la couche 3 sรฉlectionne les chemins optimaux via IP, OSPF, EIGRP et des protocoles de routage similaires.
  • ๏ธ Chaรฎne d'outils : Les ingรฉnieurs s'appuient sur Wireshark pour la capture en direct, Scapy pour la crรฉation de paquets et TTCN-3 pour les suites de tests comportementaux sur un appareil testรฉ.
  • โœ… Types de chรจques : Les tests de conformitรฉ, d'interopรฉrabilitรฉ, fonctionnels, de rรฉsistance, de charge et de performance confirment l'exactitude, la latence et les seuils de bande passante.
  • ๐Ÿงช Angle d'approche IA : Les laboratoires modernes utilisent des modรจles d'IA pour dรฉtecter les anomalies de trafic, prรฉdire les dรฉfaillances de protocole et gรฉnรฉrer automatiquement des cas de test nรฉgatifs pour des cycles de rรฉgression plus rapides.

Tests de protocole

Avant d'aborder les tests de protocole, comprenons les fondements sur lesquels ils reposent.

Qu'est-ce qu'un protocole ?

Lorsque des ordinateurs communiquent entre eux, il existe un ensemble commun de rรจgles et de conditions que chaque ordinateur doit respecter. En d'autres termes, les protocoles dรฉterminent comment les donnรฉes sont transmises. transmitCes rรจgles communes permettent la communication entre les appareils informatiques et sur les rรฉseaux. Sans elles, les appareils de diffรฉrents fournisseurs ne pourraient pas รฉchanger de donnรฉes de maniรจre fiable.

Qu'est-ce qu'un test de protocole ?

Tests de protocole Le test 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 et autres rรฉseaux similaires. Son objectif principal est de contrรดler la structure des paquets transmis sur un rรฉseau ร  l'aide d'outils dรฉdiรฉs. Des routeurs et des commutateurs sont utilisรฉs lors du test, car ils font partie intรฉgrante des dispositifs et produits testรฉs.

Maintenant que nous avons dรฉfini cette pratique, examinons pourquoi cette discipline est importante dans les rรฉseaux de production.

Pourquoi les tests de protocole sont importants

Les rรฉseaux modernes supportent des charges de travail critiques telles que les appels VoIP, les transactions financiรจres et la vidรฉo en continu. Un simple bug de protocole peut compromettre l'interopรฉrabilitรฉ entre les fournisseurs, entraรฎner la perte de paquets ou exposer des failles de sรฉcuritรฉ. Les tests de protocole garantissent la qualitรฉ en vรฉrifiant que chaque implรฉmentation est conforme ร  ses spรฉcifications, qu'elle supporte la charge et qu'elle se comporte de maniรจre prรฉvisible en cas de panne.

La motivation รฉtant claire, la question suivante est de savoir comment les protocoles sont catรฉgorisรฉs dans les rรฉseaux rรฉels.

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 servent ร  acheminer les donnรฉes utilisateur d'un rรฉseau ร  un autre. Ils transportent le trafic utilisateur, comme les courriels, le trafic web et les transferts de fichiers. IP, IPX et AppleTalk sont des exemples de protocoles routรฉs.
  • Protocoles de routage : Les protocoles de routage sont des protocoles rรฉseau qui dรฉterminent les routes pour les routeurs. Ils sont utilisรฉs uniquement entre routeurs. RIP, IGRP et EIGRP en sont des exemples.

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 CiscoJuniper et Alcatel produisent des รฉquipements rรฉseau tels que des routeurs, des modems et des points d'accรจs sans fil qui utilisent diffรฉrents protocoles de communication. Par exemple, Cisco Utilise EIGRP et OSPF. Les tests de protocole consistent essentiellement ร  vรฉrifier si EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First) ou tout autre protocole fonctionne conformรฉment ร  sa norme respective.

Types de protocoles informatiques

Le tableau ci-dessous rรฉpertorie les protocoles les plus courants qu'un testeur rencontrera sur le rรฉseau.

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 dans des paquets de donnรฉes via Internet.
POP3 et SMTP Il est utilisรฉ pour envoyer et recevoir du courrier
Hypertext Transfer Protocol Il est utilisรฉ pour transfรฉrer des pages HTML sous forme chiffrรฉe afin de garantir 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 transfert de fichiers.

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

Le modรจle OSI comporte un total de sept couches de communication rรฉseau, dont les couches 2 (L2) et 3 (L3) sont cruciales pour les tests de protocole.

  • Couche 2 (L2) : Il s'agit de la couche liaison de donnรฉes. Les adresses MAC, Ethernet, Token Ring et Frame Relay sont tous des exemples de la couche liaison de donnรฉes.
  • Couche 3 (L3) : C'est la couche rรฉseau qui dรฉtermine le meilleur chemin disponible 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 d'un analyseur de protocole et simulateur.
  • L'analyseur de protocole assure un dรฉcodage correct ainsi que l'analyse des appels et des sessions. Le simulateur simule diffรฉrentes entitรฉs de l'รฉlรฉment rรฉseau.
  • En gรฉnรฉral, les tests de protocole sont effectuรฉs par un DUT (Device Under Test) connectรฉ ร  d'autres appareils tels que des commutateurs et des routeurs, sur lesquels le protocole cible est configurรฉ.
  • Ensuite, le testeur vรฉrifie la structure des paquets envoyรฉs par les appareils.
  • Il vรฉrifie l'รฉvolutivitรฉ, les performances et le comportement de l'algorithme de protocole du pรฉriphรฉrique ร  l'aide d'outils tels que IxNetwork, Scapy et Wireshark.

Types de tests pour les tests de protocole

Les tests de protocole comprennent des tests de fonctionnalitรฉ, de performance, de pile de protocoles, d'interopรฉrabilitรฉ, etc. Lors de ces tests, trois vรฉrifications de base sont effectuรฉes.

  • Exactitude : Recevons-nous le paquet X lorsque nous l'attendons ?
  • Latence: Combien de temps faut-il ร  un paquet pour traverser le systรจme ?
  • Bande passante : Combien de paquets pouvons-nous envoyer par seconde ?

Les tests de protocole peuvent รชtre divisรฉs en deux grandes catรฉgories : les tests de contrainte et de fiabilitรฉ, et les tests fonctionnels. Les tests de contrainte et de fiabilitรฉ couvrent test de charge, Test de stress et Test de performance. Essais fonctionnels comprend les tests nรฉgatifs, les tests de conformitรฉ et les tests d'interopรฉrabilitรฉ.

  • Tests de conformitรฉ : Les protocoles mis en ล“uvre sur les produits sont testรฉs afin de vรฉrifier leur conformitรฉ aux normes telles que IEEE et RFC.
  • Tests d'interopรฉrabilitรฉ : L'interopรฉrabilitรฉ entre diffรฉrents fournisseurs est testรฉe. Ce test est effectuรฉ aprรจs la rรฉalisation des tests de conformitรฉ sur la plateforme appropriรฉe.
  • Tests des fonctionnalitรฉs rรฉseau : Les fonctionnalitรฉs des produits rรฉseau sont testรฉes par rapport au document de conception. Il peut s'agir, par exemple, de la sรฉcuritรฉ des ports sur un commutateur ou des listes de contrรดle d'accรจs (ACL) sur un routeur.

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

Voici un exemple de cas de test pour les routeurs et les commutateurs.

Nom du test Cas de test
Un VLAN sur un commutateur Crรฉez deux VLAN distincts. Vรฉrifiez la visibilitรฉ entre les hรดtes situรฉs sur ces diffรฉrents VLAN.
Trois VLAN symรฉtriques sur un seul commutateur Crรฉez trois VLAN asymรฉtriques diffรฉrents. Vรฉrifiez la visibilitรฉ entre les hรดtes.
Spanning Tree : variation du coรปt du chemin racine Tester comment le coรปt du chemin racine รฉvolue aprรจs une modification de la topologie.
Spanning Tree : blocage de ports Dรฉcouvrez comment le protocole Spanning Tree รฉvite la formation de cycles dans le rรฉseau, en bloquant les liens redondants, en prรฉsence de VLAN รฉgalement.
Diffรฉrents ponts racines pour diffรฉrents MSTI Dรฉmontrer que chaque MSTI peut avoir un pont racine diffรฉrent.
Visibilitรฉ entre les diffรฉrentes rรฉgions STP Avec les mรชmes VLAN, vรฉrifiez la visibilitรฉ entre diffรฉrentes rรฉgions STP.
Performances du commutateur tรฉlรฉphonique Effectuez 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 Saisissez une clรฉ incorrecte et vรฉrifiez l'authentification. L'utilisateur ne devrait pas รชtre autorisรฉ ร  accรฉder au systรจme.
Vitesse 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 Tracka Conversation TCP entre deux appareils et vรฉrification du bon fonctionnement de chaque appareil.
Temps de rรฉponse pour l'initiation de session Mesurer le temps de rรฉponse d'un appareil ร  une demande d'invitation pour l'initiation d'une session.

Outils pour les tests de protocole

Examinons les 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 Elle fait principalement deux choses : recevoir des rรฉponses et envoyer des paquetsVous dรฉfinissez les paquets, le programme les envoie, reรงoit les rรฉponses, fait correspondre les requรชtes aux rรฉponses et renvoie une liste de paires de paquets et une liste de paquets non appariรฉs.

Il peut รฉgalement gรฉrer d'autres tรขches telles que tracroutage รฉlectronique, tests unitaires, attaques, dรฉcouverte de rรฉseau, dรฉveloppementping nouveaux protocoles et sondage.

Scapy vous permet d'รฉcrire un Python Script permettant d'effectuer des tรขches telles que l'envoi, la rรฉception ou l'analyse de paquets. Par exemple, Scapy peut renifler des paquets de donnรฉes ร  l'aide d'un court Python script. La commande permettant d'ouvrir l'รฉditeur est indiquรฉe ci-dessous.

#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

Il analysera 10 paquets, et dรจs qu'il aura analysรฉ les 10 paquets, il affichera le rรฉsumรฉ. Scapy Il dispose รฉgalement d'une sรฉrie de commandes permettant d'envoyer et de recevoir des paquets simultanรฉment.

Tรฉlรฉcharger Scapy

2) Wireshark pour l'analyse

Wireshark est l'outil de rรฉfรฉrence pour l'analyse des tests de protocoles. Il permet de capturer les paquets en temps rรฉel et de les afficher dans un format lisible. Vous pouvez ainsi explorer en profondeur le trafic rรฉseau et examiner chaque paquet individuellement grรขce ร  un code couleur et des filtres.

Wireshark capture les paquets qui permettent de dรฉterminer le moment oรน la session est รฉtablie, le moment prรฉcis oรน le transfert de donnรฉes a รฉtรฉ initiรฉ et la quantitรฉ de donnรฉes envoyรฉes ร  chaque fois.

Wireshark possรจde un ensemble de fonctionnalitรฉs riche qui comprend :

  • Un examen approfondi de centaines de protocoles, et d'autres sont ajoutรฉs en permanence.
  • Capture en direct et analyse hors ligne
  • Analyse VoIP enrichie
  • Navigateur de paquets standard ร  trois volets
  • Fonctionne sur plusieurs plateformes telles que Windows, Linux et macOS
  • Les donnรฉes rรฉseau capturรฉes peuvent รชtre parcourues via une interface graphique
  • Prise en charge du dรฉchiffrement pour de nombreux protocoles tels que IPsec, ISAKMP et SSL/TLS
  • Les donnรฉes en temps rรฉel peuvent รชtre lues via Ethernet, ATM, Bluetooth, USB et Token Ring.
  • Les rรฉsultats peuvent รชtre exportรฉs aux formats CSV, XML et texte brut.

Tรฉlรฉcharger Wireshark

3) TTCN

TTCN est un langage de test standard pour la dรฉfinition Scรฉnarios de test et leur mise en ล“uvre pour les tests de protocole. Une suite de tests TTCN contient de nombreux cas de test รฉcrits dans le langage de programmation TTCN et est utilisรฉe pour tests des systรจmes rรฉactifs ou tests comportementaux.

Prenons l'exemple d'un distributeur automatique de cafรฉ qui distribue du cafรฉ lorsqu'on y insรจre une piรจce d'un dollar, mais qui ne rรฉagit pas avec une valeur infรฉrieure. La programmation de ce type de machine utilise le langage TTCN-3. Pour que le distributeur rรฉagisse ร  l'insertion d'une piรจce, il faut รฉcrire un composant TTCN-3 simulant une machine ร  cafรฉ. Cela permet d'effectuer des tests avant la commercialisation du produit. Une fois cette รฉtape terminรฉe, il est possible de connecter la suite de tests TTCN-3 au pรฉriphรฉrique externe.

TTCN

Le systรจme de test รฉmet des stimuli (une piรจce d'un dollar) et reรงoit des rรฉponses (du cafรฉ). L'adaptateur de stimuli reรงoit 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.

Le TTCN-3 peut รชtre utilisรฉ dans divers domaines tels que :

  • Communications mobiles (LTE, WiMAX, 3G)
  • Technologies haut dรฉbit (ATM, DSL)
  • Plateformes intermรฉdiaires (Services Web, CORBA)
  • Protocoles Internet (SIP, IMS, IPv6)
  • Carte ร  puce
  • Automobile (AutoSAR, MOST, CAN)

Dans TTCN, vous pouvez dรฉfinir :

  • Suites de test
  • Cas de test
  • ร‰tapes de test
  • Variables dรฉclarรฉes
  • Minuteurs dรฉclarรฉs
  • PDU, et plus encore

TTCN peut รชtre intรฉgrรฉ ร  des systรจmes รฉcrits dans d'autres langages tels que ASN.1, XML, et C/C++Le langage de base TTCN-3 existe au format texte, ainsi qu'aux formats tabulaire, graphique et de prรฉsentation.

Comment appliquer les tests de protocole en pratique

Pour appliquer ces techniques ร  un projet rรฉel, dรฉfinissez la portรฉe du protocole (couche 2, couche 3 ou supรฉrieure), configurez un dispositif sous test (DUT) avec simulateur et analyseur connectรฉs, rรฉdigez des cas de test de conformitรฉ et des cas de test nรฉgatifs en vous rรฉfรฉrant aux spรฉcifications RFC ou IEEE, puis exรฉcutez des tests de charge, d'interopรฉrabilitรฉ et de dรฉtection d'anomalies assistรฉs par l'IA. Consignez les rรฉsultats dans Wireshark et itรฉrer jusqu'ร  ce que le comportement des paquets corresponde ร  la norme.

FAQ

Les tests de protocole vรฉrifient que les protocoles de communication sur les commutateurs, les routeurs et les dispositifs similaires envoient des paquets bien formรฉs et se comportent conformรฉment aux normes dans les domaines de la commutation, du routage, de la VoIP et du sans fil.

Les tests L2 se concentrent sur la couche liaison de donnรฉes telle que MAC, Ethernet et Frame Relay, tandis que les tests L3 valident les protocoles de routage de la couche rรฉseau comme IP, OSPF et EIGRP qui choisissent les chemins optimaux entre les rรฉseaux.

Wireshark pour la capture et le dรฉcodage en direct, Scapy Pour la crรฉation de paquets, IxNetwork pour la gรฉnรฉration de trafic et TTCN-3 pour les suites de tests comportementaux sont les outils standard utilisรฉs par les ingรฉnieurs de test rรฉseau.

Les tests de conformitรฉ vรฉrifient qu'une implรฉmentation de protocole respecte strictement sa spรฉcification, telle qu'une norme IEEE ou une RFC IETF, afin que les appareils de diffรฉrents fournisseurs interagissent de maniรจre prรฉvisible sur le mรชme rรฉseau.

Les modรจles d'IA apprennent les schรฉmas de paquets de base, puis gรฉnรจrent des cas de test nรฉgatifs, prรฉdisent le risque de rรฉgression dans les modifications de routage et priorisent automatiquement les scรฉnarios dรฉfaillants afin que les ingรฉnieurs de test couvrent davantage de chemins de protocole en moins de temps.

Oui. Les classificateurs d'apprentissage automatique ingรจrent Wireshark ou les captures NetFlow, signalent les latences, les gigues ou les formes de paquets inhabituelles par rapport aux valeurs de rรฉfรฉrence apprises et mettent en รฉvidence les dysfonctionnements du protocole avant qu'ils ne provoquent des pannes dans les rรฉseaux de production.

Rรฉsumez cet article avec :