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 avec un autre, 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. transmitentre les appareils informatiques et via 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 | Tracรtablir une conversation TCP entre deux appareils et vรฉrifier 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 tracroutage รฉlectronique, tests unitaires, attaques ou dรฉcouverte de rรฉseau, dรฉveloppementping nouveaux protocoles, 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
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.
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.
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.

