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.

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.
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.
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.
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.

