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