Οδηγός δοκιμής πρωτοκόλλου: L2 & L3

Πριν μάθουμε για τη δοκιμή πρωτοκόλλου, ας καταλάβουμε:

Τι είναι το Πρωτόκολλο;

Όταν ένας υπολογιστής επικοινωνεί μεταξύ τους, υπάρχει ένα κοινό σύνολο κανόνων και προϋποθέσεων που πρέπει να ακολουθεί κάθε υπολογιστής. Με άλλα λόγια, τα πρωτόκολλα καθορίζουν τον τρόπο μετάδοσης δεδομένων μεταξύ υπολογιστικών συσκευών και μέσω δικτύων.

Δοκιμή Πρωτοκόλλου

Δοκιμή Πρωτοκόλλου είναι μια μέθοδος ελέγχου πρωτοκόλλων επικοινωνίας στους τομείς Switching, Wireless, VoIP, Routing κ.λπ. Ο πρωταρχικός στόχος της δοκιμής πρωτοκόλλου είναι να ελέγξει τη δομή των πακέτων που αποστέλλονται μέσω ενός δικτύου χρησιμοποιώντας εργαλεία δοκιμής πρωτοκόλλου. Κατά τη διάρκεια της δοκιμής χρησιμοποιούνται δρομολογητές και διακόπτες για τη διαμόρφωση εξαρτημάτων συσκευών και προϊόντων υπό δοκιμή.

Πρωτόκολλα δρομολόγησης και δρομολόγησης

Τα πρωτόκολλα ταξινομούνται σε δύο κατηγορίες δρομολογημένα πρωτόκολλα και πρωτόκολλα δρομολόγησης

  • Δρομολογημένα Πρωτόκολλα: Τα δρομολογημένα πρωτόκολλα μπορούν να χρησιμοποιηθούν για την αποστολή των δεδομένων χρήστη από ένα δίκτυο σε άλλο δίκτυο. Μεταφέρει κίνηση χρηστών όπως e-mails, web-traffic, μεταφορές αρχείων, κ.λπ. Τα πρωτόκολλα δρομολόγησης είναι IP, IPX και AppleTalk.
  • Πρωτόκολλα δρομολόγησης: Τα πρωτόκολλα δρομολόγησης είναι πρωτόκολλα δικτύου που καθορίζουν διαδρομές για δρομολογητές. Χρησιμοποιείται μόνο μεταξύ δρομολογητών. Για παράδειγμα RIP, IGRP, EIGRP κ.λπ.

Με απλά λόγια, ένας δρομολογητής είναι σαν ένα λεωφορείο που χρησιμοποιείται για μεταφορά ενώ τα πρωτόκολλα δρομολόγησης είναι σήματα στο δρόμο.

Ανάλογα με τον τύπο της επικοινωνίας χρησιμοποιούνται διαφορετικά πρωτόκολλα. Εταιρείες όπως CISCO, JUNIPER, ALCATEL παράγουν συσκευές δικτύωσης όπως δρομολογητές, μόντεμ, σημεία ασύρματης πρόσβασης κ.λπ. που χρησιμοποιούν διαφορετικά πρωτόκολλα για επικοινωνία, για παράδειγμα, Cisco χρησιμοποιεί EIGRP, OSPF, κ.λπ. Η δοκιμή πρωτοκόλλου δεν είναι τίποτα άλλο παρά ο έλεγχος εάν το EIGRP (Enhanced Interior Gateway Routing Protocol) ή το OSPF (Πρώτα ανοιχτή συντομότερη διαδρομή) ή οποιοδήποτε άλλο πρωτόκολλο λειτουργεί σύμφωνα με το αντίστοιχο πρότυπο.

Τύποι πρωτοκόλλων υπολογιστή

Τύποι πρωτοκόλλων Σκοπός των Πρωτοκόλλων
TCP / IP Χρησιμοποιείται για την αποστολή πληροφοριών σε μικρά πακέτα μέσω του Διαδικτύου
UDP/ICMP Χρησιμοποιείται για την αποστολή μικρού όγκου πληροφοριών σε πακέτα δεδομένων μέσω του Διαδικτύου
POP3 και SMTP Χρησιμοποιείται για αποστολή και λήψη mail
Πρωτόκολλο μεταφοράς υπερκειμένου Χρησιμοποιείται για τη μεταφορά σελίδας HTML σε κρυπτογραφημένη μορφή για την παροχή ασφάλειας σε ευαίσθητα δεδομένα
fTP Χρησιμοποιείται για τη μεταφορά αρχείων μέσω δικτύου από έναν κόμβο στον άλλο

* TCP / IP- Transmission Πρωτόκολλο ελέγχου/πρωτόκολλο Διαδικτύου, UDP / ICMP– Πρωτόκολλο Δεδομένων Χρήστη/Πρωτόκολλο μηνυμάτων ελέγχου Διαδικτύου, POP3/SMTP– Πρωτόκολλο Ταχυδρομείου / Απλό Mail Πρωτόκολλο μεταφοράς, HTTP– Πρωτόκολλο μεταφοράς υπερκειμένου, fTP- Πρωτόκολλο μεταφοράς αρχείων

Διαφορετικοί τύποι πρωτοκόλλων δικτύου (L2 και L3)

Το μοντέλο OSI έχει συνολικά 7 επίπεδα επικοινωνίας δικτύου, στα οποία το επίπεδο 2 και το επίπεδο 3 είναι πολύ κρίσιμα.

  • Επίπεδο 2: Είναι ένα επίπεδο σύνδεσης δεδομένων. Η διεύθυνση Mac, το Ethernet, το Token Ring και το Frame Relay είναι όλα παραδείγματα του επιπέδου σύνδεσης δεδομένων.
  • Επίπεδο 3: Είναι ένα επίπεδο δικτύου που καθορίζει την καλύτερη διαθέσιμη διαδρομή στο δίκτυο για επικοινωνία. Μια διεύθυνση IP είναι ένα παράδειγμα του layer3.

Πώς να κάνετε τη δοκιμή πρωτοκόλλου

  • Για τη δοκιμή πρωτοκόλλου, χρειάζεστε αναλυτής πρωτοκόλλου και προσομοιωτής
  • Ο αναλυτής πρωτοκόλλου εξασφαλίζει σωστή αποκωδικοποίηση μαζί με ανάλυση κλήσεων και συνεδρίας. Ενώ ο προσομοιωτής προσομοιώνει διάφορες οντότητες στοιχείου δικτύου
  • Συνήθως, μια δοκιμή πρωτοκόλλου πραγματοποιείται από το DUT (συσκευή υπό δοκιμή) σε άλλες συσκευές όπως διακόπτες και δρομολογητές και τη διαμόρφωση του πρωτοκόλλου σε αυτό
  • Στη συνέχεια, έλεγχος της δομής των πακέτων των πακέτων που αποστέλλονται από τις συσκευές
  • Ελέγχει την επεκτασιμότητα, την απόδοση, τον αλγόριθμο πρωτοκόλλου κ.λπ. της συσκευής χρησιμοποιώντας εργαλεία όπως το lxNetworks, Scapy και Wireshark

Τύποι δοκιμών για δοκιμές πρωτοκόλλου

Η δοκιμή πρωτοκόλλου περιλαμβάνει έλεγχο λειτουργικότητας, απόδοσης, στοίβας πρωτοκόλλων, μεταξύoperability, κλπ. Κατά τη διάρκεια της δοκιμής πρωτοκόλλου βασικά, γίνονται τρεις έλεγχοι.

  • Ορθότητα: Λαμβάνουμε το πακέτο X όταν το περιμέναμε
  • Αφάνεια: Πόσος χρόνος χρειάζεται για τη μεταφορά ενός πακέτου στο σύστημα
  • εύρος ζώνης: Πόσα πακέτα μπορούμε να στείλουμε ανά δευτερόλεπτο

Η δοκιμή πρωτοκόλλου μπορεί να χωριστεί σε δύο κατηγορίες. Δοκιμές καταπόνησης και αξιοπιστίας και λειτουργικές δοκιμές. Τα τεστ πίεσης και αξιοπιστίας καλύπτουν Δοκιμές φορτίου, Έλεγχος πίεσης, Δοκιμές Απόδοσης, κλπ. Ενώ Λειτουργική δοκιμή περιλαμβάνει αρνητική δοκιμή, δοκιμή συμμόρφωσης, μεταξύoperaτεστ ικανότητας κ.λπ.

  • Δοκιμή Συμμόρφωσης: Τα πρωτόκολλα που εφαρμόζονται σε προϊόντα ελέγχονται για συμμόρφωση όπως το IEEE, RFC και ούτω καθεξής
  • InteroperaΔοκιμή ικανότητας: Το ιντερoperaελέγχεται η δυνατότητα για διαφορετικούς προμηθευτές. Αυτή η δοκιμή πραγματοποιείται αφού πραγματοποιηθεί έλεγχος συμμόρφωσης στην κατάλληλη πλατφόρμα
  • Δοκιμή χαρακτηριστικών δικτύου: Τα χαρακτηριστικά των προϊόντων δικτύωσης ελέγχονται για λειτουργικότητα με αναφορά στο έγγραφο σχεδιασμού. Για παράδειγμα, οι λειτουργίες μπορεί να είναι η ασφάλεια θύρας σε έναν μεταγωγέα, το ACL σε έναν δρομολογητή κ.λπ.

Δείγματα Δοκιμών για Δοκιμές Πρωτοκόλλου Συσκευών Δικτύου

Εδώ είναι το δείγμα δοκιμής για δρομολογητές

Όνομα δοκιμής Test Cases
Ένα VLAN σε έναν διακόπτη Δημιουργήστε δύο διαφορετικά VLAN. Ελέγξτε την ορατότητα μεταξύ κεντρικών υπολογιστών σε διαφορετικά VLAN
Τρία συμμετρικά VLAN σε έναν διακόπτη Δημιουργήστε τρία διαφορετικά ασύμμετρα VLAN. Ελέγξτε την ορατότητα μεταξύ των κεντρικών υπολογιστών
Spanning Tree: Διακύμανση κόστους διαδρομής ρίζας Ελέγξτε πώς αλλάζει το κόστος διαδρομής ρίζας μετά από μια παραλλαγή τοπολογίας
Spanning Tree: Port Blocking Ελέγξτε πώς το εκτεταμένο πρωτόκολλο δέντρου αποφεύγει το σχηματισμό κύκλων στο δίκτυο, αποκλείοντας περιττές συνδέσεις, παρουσία VLAN πολύ
Διαφορετική γέφυρα ρίζας για διαφορετικά MSTI Δείξτε ότι κάθε MSTI μπορεί να έχει διαφορετικό Root Bridge
Ορατότητα μεταξύ διαφορετικών περιοχών STP Με τα ίδια VLAN ελέγξτε την ορατότητα μεταξύ διαφορετικών περιοχών STP
Απόδοση τηλεφωνικού διακόπτη Πραγματοποιήστε 1000 τηλεφωνικές κλήσεις και ελέγξτε αν ο τηλεφωνικός διακόπτης παραμένει operaή η απόδοσή του υποβαθμίζεται
Αρνητικό τεστ για συσκευή Εισαγάγετε το λανθασμένο κλειδί και ελέγξτε τον χρήστη για έλεγχο ταυτότητας. Δεν πρέπει να επιτρέπει σε έναν χρήστη την πρόσβαση
Ταχύτητα γραμμής Ελέγξτε τη συσκευή operaμε ταχύτητα 10 Gbps, χρησιμοποιώντας όλο το διαθέσιμο εύρος ζώνης για τη διαχείριση της εισερχόμενης κίνησης
Ρυθμός συνομιλίας πρωτοκόλλου Παρακολουθήστε μια συνομιλία TCP μεταξύ δύο συσκευών και επαληθεύστε ότι κάθε συσκευή έχει τη σωστή συμπεριφορά
Χρόνος απόκρισης για την έναρξη της συνεδρίας Μετρήστε τον χρόνο απόκρισης μιας συσκευής σε ένα αίτημα πρόσκλησης για έναρξη συνεδρίας

Εργαλεία για τη δοκιμή πρωτοκόλλου

Ας συζητήσουμε τα πιο σημαντικά εργαλεία δοκιμών που χρησιμοποιούνται για την επαλήθευση πρωτοκόλλων

1) Scapy Για Packet Crafting

Scapy είναι ένα ισχυρό διαδραστικό πρόγραμμα χειρισμού πακέτων. Σας δίνει τη δυνατότητα να

  • Δημιουργήστε πακέτα
  • Αποκωδικοποίηση πακέτων στο δίκτυο
  • Καταγράψτε πακέτα και αναλύστε τα
  • Εισάγετε πακέτα στο δίκτυο

Έτσι, βασικά, scapy κάνει κυρίως δύο πράγματα: λήψη απαντήσεων και αποστολή πακέτων. Εσείς ορίζετε τα πακέτα, τα στέλνει, λαμβάνει απαντήσεις, αντιστοιχίζει αιτήματα με απαντήσεις και επιστρέφει μια λίστα με ζεύγη πακέτων και μια λίστα με μη αντιστοιχισμένα πακέτα.

Μπορεί επίσης να χειριστεί και άλλα πράγματα, όπως δρομολόγηση ιχνηλάτησης, δοκιμές μονάδων, επιθέσεις ή ανακάλυψη δικτύου, ανάπτυξη νέων πρωτοκόλλων, ανίχνευση κ.λπ.

Scapy μας δίνει τη δυνατότητα να γράψουμε α Python σενάριο που μας επιτρέπει να εκτελούμε μια εργασία όπως αποστολή και λήψη πακέτων ή μυρίζοντας πακέτα. Για παράδειγμα, scapy μπορεί να μυρίσει το πακέτο δεδομένων χρησιμοποιώντας ένα σενάριο Python. Η εντολή για το άνοιγμα του getdit εισήχθη στο πρόγραμμα επεξεργασίας

#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

Θα μυρίσει 10 πακέτα και μόλις μυρίσει 10 πακέτα θα εκτυπώσει την περίληψη. Scapy επίσης ως συστοιχία εντολών για αποστολή και λήψη πακέτων ταυτόχρονα

Λήψη Scapy

2) Wireshark Εργαλεία για Ανάλυση

Εργαλεία που χρησιμοποιούνται για τη δοκιμή πρωτοκόλλου- Wireshark. Επιτρέπει τη σύλληψη πακέτων σε πραγματικό χρόνο και την εμφάνιση τους σε ανθρώπινοreadable μορφή. Σας επιτρέπει να σκάβετε βαθιά στην κυκλοφορία του δικτύου και να επιθεωρείτε μεμονωμένα πακέτα χρησιμοποιώντας χρωματική κωδικοποίηση και φίλτρα.

Wireshark συλλαμβάνει πακέτα που βοηθούν στον προσδιορισμό του πότε ξεκινά η συνεδρία, πότε ξεκίνησε η ακριβής διαδρομή δεδομένων και πόσα δεδομένα αποστέλλονται κάθε φορά κ.λπ.

Wireshark έχει ένα σύνολο από πλούσια χαρακτηριστικά που περιλαμβάνει

  • Μια ενδελεχής επιθεώρηση εκατοντάδων πρωτοκόλλων, τα οποία προστίθενται συνεχώς
  • Ζωντανή λήψη και ανάλυση εκτός σύνδεσης
  • Πλούσια ανάλυση VoIP
  • Τυπικό πρόγραμμα περιήγησης με τρία παράθυρα
  • Λειτουργεί σε πολλές πλατφόρμες όπως Windows, Linux, OSX και ούτω καθεξής
  • Τα δεδομένα δικτύου που έχουν συλληφθεί μπορούν να περιηγηθούν μέσω GUI
  • Η αποκρυπτογράφηση υποστηρίζει πολλά πρωτόκολλα όπως IPsec, ISAKMP, SSL/TLS
  • Τα ζωντανά δεδομένα μπορούν να διαβαστούν από Ethernet, ATM, Bluetooth, USB, token κ.λπ.
  • Η έξοδος μπορεί να εξαχθεί σε CSV, XML, απλό κείμενο κ.λπ.

Λήψη Wireshark

TTCN

Το TCCN είναι μια τυπική γλώσσα δοκιμής για ορισμό Σενάριο δοκιμής και την εφαρμογή τους για δοκιμές πρωτοκόλλου. Μια σουίτα δοκιμών TCCN περιέχει πολλές περιπτώσεις δοκιμών γραμμένες στη γλώσσα προγραμματισμού TTCN και χρησιμοποιείται για αυτό δοκιμών αντιδραστικά συστήματα ή δοκιμές συμπεριφοράς.

Για παράδειγμα, ένα μηχάνημα αυτόματης πώλησης καφέ που σας δίνει καφέ με την εισαγωγή ενός κέρματος δολαρίου, αλλά δεν ανταποκρίνεται εάν μπει κάτι λιγότερο από ένα δολάριο σε αυτό. Για τον προγραμματισμό τέτοιων μηχανών χρησιμοποιείται η γλώσσα TCCN3. Για να ανταποκριθεί η μηχανή του καφέ κατά την εισαγωγή ενός κέρματος, πρέπει να γράψουμε το στοιχείο TCCN-3 που συμπεριφέρεται ως καφετιέρα. Μας επιτρέπει να εκτελέσουμε τη δοκιμή μας προτού μια πραγματική μηχανή καφέ είναι διαθέσιμη ως προϊόν. Μόλις ολοκληρωθεί, θα συνδέσουμε τη δοκιμαστική σουίτα TCCN3 με την εξωτερική συσκευή.

TTCN

Το σύστημα δοκιμής εκπέμπει ερεθίσματα (νόμισμα δολαρίου) και λαμβάνει απαντήσεις (καφές). Ο προσαρμογέας ερεθισμάτων λαμβάνει ερεθίσματα από το σύστημα δοκιμής και τα μεταβιβάζει στο υπό δοκιμή σύστημα. Ο προσαρμογέας απόκρισης περιμένει τις αποκρίσεις του υπό δοκιμή συστήματος και τις μεταβιβάζει στο δοκιμαστικό σύστημα.

Το TCCN3 μπορεί να χρησιμοποιηθεί σε διάφορους τομείς όπως

  • Κινητές επικοινωνίες (LTE, WiMAX, 3G κ.λπ.)
  • Ευρυζωνικές τεχνολογίες (ATM, DSL)
  • Πλατφόρμες Middleware (Webservices, CORBA κ.λπ.)
  • Πρωτόκολλο Διαδικτύου (SIP, IMS, IPv6)
  • Έξυπνες κάρτες
  • Αυτοκίνητο (AutoSAR, MOST, CAN)

Στο TCCN μπορούμε να ορίσουμε

  • Δοκιμαστικές Σουίτες
  • Test Cases
  • Βήματα δοκιμής
  • Δηλώστε μεταβλητές
  • Δηλώστε χρονοδιακόπτες
  • Δημιουργία PDU κ.λπ.

Το TCCN μπορεί να ενσωματωθεί με τύπους συστημάτων άλλων γλωσσών όπως το ASN.1, XML, C/C++. Η βασική γλώσσα TCCN3 υπάρχει σε μορφή κειμένου εκτός από άλλες μορφές όπως πίνακα, γραφική και παρουσίαση.