Tutorial zum Testen von Protokollen: L2 & L3

Inhaltsverzeichnis:

Anonim

Bevor wir uns mit Protokolltests befassen, sollten wir Folgendes verstehen:

Was ist ein Protokoll?

Wenn ein Computer miteinander kommuniziert, gibt es einen gemeinsamen Satz von Regeln und Bedingungen, denen jeder Computer folgen muss. Mit anderen Worten, Protokolle bestimmen, wie Daten zwischen Computergeräten und über Netzwerke übertragen werden.

Protokolltests

Das Testen von Protokollen ist eine Methode zum Überprüfen von Kommunikationsprotokollen in den Bereichen Switching, Wireless, VoIP, Routing usw. Das Hauptziel von Protokolltests besteht darin, die Struktur von Paketen zu überprüfen, die mithilfe von Protokolltesttools über ein Netzwerk gesendet werden. Router und Switches werden während des Tests verwendet, um Teile von Geräten und Produkten zu bilden, die getestet werden.

Routing- und Routing-Protokolle

Protokolle werden in zwei Kategorien gerouteter Protokolle und Routing-Protokolle eingeteilt

  • Routing-Protokolle : Routing-Protokolle können verwendet werden, um Benutzerdaten von einem Netzwerk an ein anderes Netzwerk zu senden. Es überträgt Benutzerverkehr wie E-Mails, Webverkehr, Dateiübertragungen usw. Weitergeleitete Protokolle sind IP, IPX und AppleTalk.
  • Routing-Protokolle : Routing-Protokolle sind Netzwerkprotokolle, die Routen für Router bestimmen. Es wird nur zwischen Routern verwendet. Zum Beispiel RIP, IGRP, EIGRP usw.

In einfachen Worten ist ein Router wie ein Bus, der für den Transport verwendet wird, während Routing-Protokolle Signale auf der Straße sind.

Je nach Art der Kommunikation werden unterschiedliche Protokolle verwendet. Unternehmen wie CISCO, JUNIPER, ALCATEL stellen Netzwerkgeräte wie Router, Modems, drahtlose Zugangspunkte usw. her, die unterschiedliche Kommunikationsprotokolle verwenden. Cisco verwendet beispielsweise EIGRP, OSPF usw. Protokolltests sind nichts anderes als die Überprüfung, ob EIGRP (Enhanced Interior) Gateway Routing Protocol) oder OSPF (Open Shortest Path First) oder ein anderes Protokoll funktionieren gemäß dem jeweiligen Standard.

Arten von Computerprotokollen

Arten von Protokollen Zweck der Protokolle
TCP / IP Es wird verwendet, um Informationen in kleinen Paketen über das Internet zu senden
UDP / ICMP Es wird verwendet, um eine kleine Menge von Informationen in Datenpaketen über das Internet zu senden
POP3 und SMTP Es wird zum Senden und Empfangen von E-Mails verwendet
Hypertext Transfer Protocol Es wird verwendet, um HTML-Seiten in verschlüsselter Form zu übertragen, um die Sicherheit sensibler Daten zu gewährleisten
FTP Es wird zum Transportieren von Dateien über ein Netzwerk von einem Knoten zu einem anderen verwendet

* TCP / IP - Übertragungssteuerungsprotokoll / Internetprotokoll, UDP / ICMP - Benutzerdatagrammprotokoll / Internetsteuerungsnachrichtenprotokoll, POP3 / SMTP - Post-Office-Protokoll / einfaches Mail-Übertragungsprotokoll, HTTP - Hyper-Text-Übertragungsprotokoll, FTP - Dateiübertragungsprotokoll

Verschiedene Arten von Netzwerkprotokollen (L2 und L3)

Das OSI-Modell verfügt über insgesamt 7 Schichten der Netzwerkkommunikation, wobei Schicht 2 und Schicht 3 sehr wichtig sind.

  • Schicht 2 : Es ist eine Datenverbindungsschicht. Mac-Adresse, Ethernet, Token Ring und Frame Relay sind Beispiele für die Datenverbindungsschicht.
  • Schicht 3 : Dies ist eine Netzwerkschicht, die den besten verfügbaren Pfad im Netzwerk für die Kommunikation bestimmt. Eine IP-Adresse ist ein Beispiel für Layer3.

So führen Sie Protokolltests durch

  • Für Protokolltests benötigen Sie einen Protokollanalysator und einen Simulator
  • Der Protokollanalysator stellt die ordnungsgemäße Dekodierung zusammen mit der Anruf- und Sitzungsanalyse sicher. Während der Simulator verschiedene Entitäten des Netzwerkelements simuliert
  • Normalerweise wird ein Protokolltest vom Prüfling (zu testendes Gerät) an anderen Geräten wie Switches und Routern durchgeführt und das Protokoll darin konfiguriert
  • Überprüfen Sie anschließend die Paketstruktur der von den Geräten gesendeten Pakete
  • Es überprüft die Skalierbarkeit, Leistung, den Protokollalgorithmus usw. des Geräts mithilfe von Tools wie lxNetworks, Scapy und Wireshark

Testtypen für Protokolltests

Das Testen von Protokollen umfasst das Testen von Funktionalität, Leistung, Protokollstapel, Interoperabilität usw. Während des Protokolltests werden grundsätzlich drei Überprüfungen durchgeführt.

  • Richtigkeit : Erhalten wir Paket X, wenn wir es erwartet haben?
  • Latenz : Wie lange dauert es, bis ein Paket das System durchläuft?
  • Bandbreite : Wie viele Pakete können wir pro Sekunde senden?

Protokolltests können in zwei Kategorien unterteilt werden. Stress- und Zuverlässigkeitstests und Funktionstests. Stress- und Zuverlässigkeitstests umfassen Lasttests, Stresstests, Leistungstests usw. Während Funktionstests negative Tests, Konformitätstests, Interoperabilitätstests usw. umfassen.

  • Konformitätstests : Die auf Produkten implementierten Protokolle werden auf Einhaltung wie IEEE, RFC usw. getestet.
  • Interoperabilitätstests : Die Interoperabilität für verschiedene Anbieter wird getestet. Dieser Test wird durchgeführt, nachdem der Konformitätstest auf der entsprechenden Plattform durchgeführt wurde
  • Testen von Netzwerkfunktionen : Die Funktionen von Netzwerkprodukten werden anhand des Designdokuments auf Funktionalität getestet. Zum Beispiel können Funktionen Port-Sicherheit auf einem Switch, ACL auf einem Router usw. sein.

Beispieltestfälle für Protokolltests von Netzwerkgeräten

Hier ist der Beispieltestfall für Router

Testname Testfälle
  1. Ein VLAN auf einem Switch
  • Erstellen Sie zwei verschiedene VLANs. Überprüfen Sie die Sichtbarkeit zwischen Hosts in verschiedenen VLANs
  1. Drei symmetrische VLANs auf einem Switch
  • Erstellen Sie drei verschiedene asymmetrische VLANs. Überprüfen Sie die Sichtbarkeit zwischen Hosts
  1. Spanning Tree: Variation der Wurzelpfadkosten
  • Testen Sie, wie sich die Root-Pfadkosten nach einer Topologieänderung ändern
  1. Spanning Tree: Portblockierung
  • Überprüfen Sie, wie das Spanning Tree-Protokoll die Bildung von Zyklen im Netzwerk vermeidet und redundante Verbindungen blockiert, auch wenn VLANs vorhanden sind
  1. Unterschiedliche Root Bridge für unterschiedliche MSTI
  • Zeigen Sie, dass jeder MSTI eine andere Root Bridge haben kann
  1. Sichtbarkeit zwischen verschiedenen STP-Regionen
  • Überprüfen Sie mit denselben VLANs die Sichtbarkeit zwischen verschiedenen STP-Regionen
  1. Telefonschalter Leistung
  • Generieren Sie 1000 Telefonanrufe und prüfen Sie, ob der Telefonschalter noch funktioniert oder seine Leistung beeinträchtigt
  1. Negativer Test für Gerät
  • Geben Sie den falschen Schlüssel ein und überprüfen Sie den Benutzer auf Authentifizierung. Es sollte einem Benutzer keinen Zugriff ermöglichen
  1. Liniengeschwindigkeit
  • Überprüfen Sie, ob das Gerät mit einer Geschwindigkeit von 10 Gbit / s arbeitet, und nutzen Sie die gesamte verfügbare Bandbreite, um eingehenden Datenverkehr zu verarbeiten
  1. Protokollkonversationsrate
  • Verfolgen Sie eine TCP-Konversation zwischen zwei Geräten und stellen Sie sicher, dass jedes Gerät ein korrektes Verhalten aufweist
  1. Antwortzeit für die Sitzungsinitiierung
  • Messen Sie die Antwortzeit eines Geräts auf eine Einladungsanforderung zur Sitzungsinitiierung

Tools zum Testen von Protokollen

Lassen Sie uns die wichtigsten Testwerkzeuge diskutieren, mit denen Protokolle überprüft werden

Scapy für die Paketherstellung

Scapy ist ein leistungsstarkes interaktives Paketmanipulationsprogramm. Es ermöglicht Ihnen

  • Pakete erstellen
  • Dekodieren Sie Pakete im Netzwerk
  • Erfassen Sie Pakete und analysieren Sie sie
  • Injizieren Sie Pakete in das Netzwerk

Im Grunde genommen macht scapy hauptsächlich zwei Dinge: Antworten empfangen und Pakete senden . Sie definieren die Pakete, senden sie, empfangen Antworten, ordnen Anforderungen Antworten zu und geben eine Liste von Paketpaaren und eine Liste von nicht übereinstimmenden Paketen zurück.

Es kann auch andere Dinge wie Trace-Routing, Unit-Tests, Angriffe oder Netzwerkerkennung, Entwicklung neuer Protokolle, Prüfung usw. erledigen.

Mit Scapy können wir ein Python-Skript schreiben, mit dem wir Aufgaben wie das Senden und Empfangen von Paketen oder das Schnüffeln von Paketen ausführen können. Zum Beispiel kann scapy das Datenpaket mithilfe eines Python-Skripts abhören. Der im Editor eingegebene Befehl zum Öffnen des getdit

#gedit scapysniff.py#! / usr / bin / env pythonvon scapy.all importieren *a = schnüffeln (Anzahl = 10)a.nsummary ()Speichern Sie und ändern Sie den Modus der Datei in eine ausführbare Form# chmod + x scapysniff.py# ./scaotsbuff.py

Es wird 10 Pakete schnüffeln und sobald es 10 Pakete gerochen hat, wird die Zusammenfassung gedruckt. Scapy auch als Befehlsarray zum gleichzeitigen Senden und Empfangen von Paketen

Laden Sie Scapy herunter

Wireshark-Tools für die Analyse

Tools für Protokolltests - Wireshark. Es ermöglicht die Erfassung von Paketen in Echtzeit und deren Anzeige in lesbarer Form. Es ermöglicht Ihnen, tief in den Netzwerkverkehr einzudringen und einzelne Pakete mithilfe von Farbcodierung und Filtern zu überprüfen.

Wireshark erfasst Pakete, mit deren Hilfe festgestellt werden kann, wann die Sitzung eingerichtet wird, wann die genaue Datenübertragung eingeleitet wurde und wie viele Daten jedes Mal gesendet werden usw.

Wireshark verfügt über eine Reihe umfangreicher Funktionen, darunter

  • Eine gründliche Überprüfung von Hunderten von Protokollen, wobei ständig weitere hinzugefügt werden
  • Live-Erfassung und Offline-Analyse
  • Rich VoIP-Analyse
  • Standard-Browser mit drei Fenstern
  • Läuft auf mehreren Plattformen wie Windows, Linux, OSX usw.
  • Erfasste Netzwerkdaten können über eine GUI durchsucht werden
  • Die Entschlüsselung unterstützt viele Protokolle wie IPsec, ISAKMP, SSL / TLS
  • Live-Daten können von Ethernet, ATM, Bluetooth, USB, Token usw. gelesen werden.
  • Die Ausgabe kann in CSV, XML, Klartext usw. exportiert werden.

Laden Sie Wireshark herunter

TTCN

TCCN ist eine Standardtestsprache zum Definieren von Testszenarien und deren Implementierung für Protokolltests. Eine TCCN-Testsuite enthält viele Testfälle, die in der Programmiersprache TTCN geschrieben sind, und wird zum Testen reaktiver Systeme oder Verhaltenstests verwendet .

Zum Beispiel ein Kaffeeautomat, an dem Sie beim Einlegen einer Dollarmünze Kaffee erhalten, der jedoch nicht reagiert, wenn weniger als ein Dollar eingelegt wird. Zum Programmieren solcher Maschinen wird die Sprache TCCN3 verwendet. Damit die Kaffeemaschine beim Einwerfen einer Münze reagiert, müssen wir eine TCCN-3-Komponente schreiben, die sich wie eine Kaffeemaschine verhält. Es ermöglicht uns, unseren Test durchzuführen, bevor eine tatsächliche Kaffeemaschine als Produkt verfügbar ist. Sobald dies erledigt ist, verbinden wir die TCCN3-Testsuite mit dem externen Gerät.

Das Testsystem sendet Reize aus (Dollarmünze) und erhält Antworten (Kaffee). Der Stimulusadapter erhält Stimuli vom Testsystem und leitet sie an das zu testende System weiter. Der Antwortadapter wartet auf Antworten des zu testenden Systems und leitet sie an das Testsystem weiter.

TCCN3 kann in verschiedenen Bereichen wie verwendet werden

  • Mobilkommunikation (LTE, WiMAX, 3G usw.)
  • Breitbandtechnologien (ATM, DSL)
  • Middleware-Plattformen (Webservices, CORBA usw.)
  • Internetprotokoll (SIP, IMS, IPv6)
  • Smartcards
  • Automobil (AutoSAR, MOST, CAN)

In TCCN können wir definieren

  • Testsuiten
  • Testfälle
  • Testschritte
  • Variablen deklarieren
  • Timer deklarieren
  • Erstellen Sie PDUs usw.

TCCN kann in Systemtypen anderer Sprachen wie ASN.1, XML, C / C ++ integriert werden. Die TCCN3-Kernsprache existiert neben anderen Formaten wie Tabellen, Grafiken und Präsentationen im Textformat.