Tutorial zum Testen von Protokollen (L2 & L3)

โšก Intelligente Zusammenfassung

Protokolltests validieren, wie Netzwerkgerรคte Daten รผber L2- und L3-Protokolle austauschen. Sie รผberprรผfen Paketstruktur, Konformitรคt, Leistung und Interoperabilitรคt von Switches, Routern, VoIP-Gerรคten und drahtlosen Gerรคten, die von Herstellern wie beispielsweise [Herstellername] verwendet werden. Cisco, Juniper und Alcatel.

  • ๐ŸŒ Umfang: Protokolltests umfassen Switching-, Wireless-, VoIP- und Routing-Protokolle im gesamten OSI-Stack mit Schwerpunkt auf dem Verhalten von L2 und L3.
  • ???? L2 vs L3: Schicht 2 verarbeitet MAC, Ethernet und Frame Relay; Schicht 3 wรคhlt optimale Pfade รผber IP, OSPF, EIGRP und รคhnliche Routing-Protokolle aus.
  • ๏ธ Werkzeugkette: Ingenieure verlassen sich auf Wireshark fรผr Live-Aufnahmen Scapy fรผr die Paketerstellung und TTCN-3 fรผr Verhaltenstestreihen gegen ein zu testendes Gerรคt.
  • โœ… Prรผfarten: Konformitรคts-, Interoperabilitรคts-, Funktions-, Stress-, Last- und Leistungstests bestรคtigen Korrektheit, Latenz und Bandbreitenschwellenwerte.
  • ๐Ÿงช KI-Perspektive: Moderne Labore setzen KI-Modelle ein, um Verkehrsanomalien zu erkennen, Protokollfehler vorherzusagen und automatisch negative Testfรคlle zu generieren, um schnellere Regressionszyklen zu ermรถglichen.

Protokolltests

Bevor wir uns mit dem Thema Protokolltests befassen, wollen wir zunรคchst die Grundlagen verstehen, auf denen sie aufbauen.

Was ist ein Protokoll?

Wenn Computer miteinander kommunizieren, gibt es gemeinsame Regeln und Bedingungen, die jeder Computer befolgen muss. Mit anderen Worten: Protokolle legen fest, wie Daten verarbeitet werden. transmitDie Kommunikation zwischen Computern und รผber Netzwerke ist unerlรคsslich. Ohne diese gemeinsamen Regeln kรถnnten Gerรคte verschiedener Hersteller keinen zuverlรคssigen Datenaustausch durchfรผhren.

Was ist Protokollprรผfung?

Protokolltests Protokolltests sind eine Methode zur รœberprรผfung von Kommunikationsprotokollen in den Bereichen Vermittlung, Drahtloskommunikation, VoIP, Routing und รคhnlichen Netzwerkbereichen. Hauptziel der Protokolltests ist die รœberprรผfung der Struktur von Datenpaketen, die รผber ein Netzwerk gesendet werden, mithilfe spezieller Protokolltest-Tools. Router und Switches werden wรคhrend des Tests als Bestandteile der zu testenden Gerรคte und Produkte eingesetzt.

Nachdem wir die Vorgehensweise definiert haben, wollen wir nun untersuchen, warum diese Disziplin in Produktionsnetzwerken von Bedeutung ist.

Warum Protokolltests wichtig sind

Moderne Netzwerke verarbeiten geschรคftskritische Anwendungen wie VoIP-Anrufe, Finanztransaktionen und Videostreaming. Ein einziger Protokollfehler kann die Interoperabilitรคt zwischen verschiedenen Anbietern beeintrรคchtigen, Paketverluste verursachen oder Sicherheitslรผcken aufdecken. Protokolltests sichern die Qualitรคt, indem sie รผberprรผfen, ob jede Protokollimplementierung ihrer Spezifikation entspricht, unter Last skaliert und sich im Fehlerfall vorhersehbar verhรคlt.

Nachdem die Motivation geklรคrt ist, stellt sich die nรคchste Frage: Wie werden Protokolle in realen Netzwerken kategorisiert?

Routed- und Routing-Protokolle

Protokolle werden in zwei Kategorien eingeteilt: geroutete Protokolle und Routing-Protokolle.

  • Geroutete Protokolle: Geroutete Protokolle dienen der รœbertragung von Benutzerdaten zwischen Netzwerken. Sie transportieren Benutzerdaten wie E-Mails, Web-Traffic und Dateiรผbertragungen. Beispiele fรผr geroutete Protokolle sind IP, IPX und AppleTalk.
  • Routing-Protokolle: Routingprotokolle sind Netzwerkprotokolle, die Routen fรผr Router festlegen. Sie werden ausschlieรŸlich zwischen Routern verwendet. Beispiele hierfรผr sind RIP, IGRP und EIGRP.

In einfachen Worten, Ein Router ist wie ein Bus, der fรผr den Transport eingesetzt wird, wรคhrend Routing-Protokolle die Signale auf der StraรŸe sind.

Je nach Art der Kommunikation werden unterschiedliche Protokolle verwendet. Unternehmen wie CiscoJuniper und Alcatel produzieren Netzwerkgerรคte wie Router, Modems und WLAN-Zugangspunkte, die unterschiedliche Kommunikationsprotokolle verwenden. Zum Beispiel Cisco verwendet EIGRP und OSPF. Protokolltests prรผfen im Wesentlichen, ob EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First) oder ein anderes Protokoll gemรครŸ seinem jeweiligen Standard funktioniert.

Arten von Computerprotokollen

Die folgende Tabelle listet die gebrรคuchlichsten Protokolle auf, denen ein Tester in der Leitung begegnen wird.

Arten von Protokollen Zweck der Protokolle
TCP / IP Es dient dazu, Informationen in kleinen Paketen รผber das Internet zu versenden
UDP/ICMP Es dient dazu, eine kleine Menge an 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 dient dazu, HTML-Seiten in verschlรผsselter Form zu รผbertragen, um die Sicherheit sensibler Daten zu gewรคhrleisten.
fTP Es wird zum Transport von Dateien รผber ein Netzwerk von einem Knoten zu einem anderen verwendet

* TCP / IP - Transmission Kontrollprotokoll/Internetprotokoll, UDP/ICMP โ€“ User Datagram Protocol/Internet Control Message Protocol, POP3 / SMTP โ€“ Post Office Protocol/Simple Mail รœbertragungsprotokoll, HTTP - Hypertext Transfer Protocol, fTP โ€“ Dateiรผbertragungsprotokoll.

Verschiedene Arten von Netzwerkprotokollen (L2 und L3)

Das OSI-Modell verfรผgt รผber insgesamt sieben Schichten der Netzwerkkommunikation, von denen Schicht 2 (L2) und Schicht 3 (L3) fรผr das Protokolltesting von entscheidender Bedeutung sind.

  • Schicht 2 (L2): Es handelt sich um die Sicherungsschicht. MAC-Adresse, Ethernet, Token Ring und Frame Relay sind Beispiele fรผr die Sicherungsschicht.
  • Schicht 3 (L3): Die Netzwerkschicht bestimmt den besten verfรผgbaren Pfad im Netzwerk fรผr die Kommunikation. Eine IP-Adresse ist ein Beispiel fรผr die Netzwerkschicht 3.

So fรผhren Sie Protokolltests durch

  • Fรผr Protokolltests benรถtigen Sie ein Protokollanalysator und Simulator.
  • Der Protokollanalysator gewรคhrleistet die korrekte Dekodierung sowie die Anruf- und Sitzungsanalyse. Der Simulator simuliert verschiedene Komponenten des Netzwerkelements.
  • รœblicherweise wird das Protokolltesting mit einem DUT (Device Under Test) durchgefรผhrt, das mit anderen Gerรคten wie Switches und Routern verbunden ist, auf denen das Zielprotokoll konfiguriert ist.
  • AnschlieรŸend รผberprรผft der Tester die Paketstruktur der von den Gerรคten gesendeten Pakete.
  • Es รผberprรผft Skalierbarkeit, Leistung und das Verhalten von Protokollalgorithmen des Gerรคts mithilfe von Tools wie IxNetwork. Scapy und Wireshark.

Testtypen fรผr Protokolltests

Protokolltests umfassen die Prรผfung von Funktionalitรคt, Leistung, Protokollstapel, Interoperabilitรคt und mehr. Im Rahmen der Protokolltests werden drei grundlegende Prรผfungen durchgefรผhrt.

  • Richtigkeit: Erhalten wir Paket X zum erwarteten Zeitpunkt?
  • Latenz: Wie lange benรถtigt ein Datenpaket fรผr die Durchquerung des Systems?
  • Bandbreite: Wie viele Pakete kรถnnen wir pro Sekunde senden?

Protokolltests lassen sich in zwei Hauptkategorien unterteilen: Belastungs- und Zuverlรคssigkeitstests sowie Funktionstests. Belastungs- und Zuverlรคssigkeitstests umfassen Load Testing, Belastbarkeitstest und Performance Testing. Funktionsprรผfung umfasst Negativtests, Konformitรคtstests und Interoperabilitรคtstests.

  • Konformitรคtsprรผfung: Die auf den Produkten implementierten Protokolle werden auf Einhaltung von Standards wie IEEE und geprรผft. RFC.
  • Interoperabilitรคtstests: Die Interoperabilitรคt verschiedener Anbieter wird getestet. Dieser Test erfolgt nach Abschluss der Konformitรคtsprรผfung auf der jeweiligen Plattform.
  • Netzwerkfunktionstests: Die Funktionen von Netzwerkprodukten werden anhand der Konstruktionsdokumentation auf ihre Funktionalitรคt geprรผft. Beispiele fรผr Funktionen sind die Port-Sicherheit eines Switches oder die Zugriffskontrollliste (ACL) eines Routers.

Beispieltestfรคlle fรผr Protokolltests von Netzwerkgerรคten

Hier ist eine Beispielsammlung von Testfรคllen fรผr Router und Switches.

Testname Testfรคlle
Ein VLAN auf einem Switch Erstellen Sie zwei verschiedene VLANs. รœberprรผfen Sie die Sichtbarkeit zwischen Hosts in verschiedenen VLANs.
Drei symmetrische VLANs auf einem Switch Erstellen Sie drei verschiedene asymmetrische VLANs. รœberprรผfen Sie die Sichtbarkeit zwischen den Hosts.
Spanning Tree: Variation der Root-Pfadkosten Testen Sie, wie sich die Wurzelpfadkosten nach einer Topologieรคnderung verรคndern.
Spanning Tree: Portblockierung Prรผfen Sie, wie das Spanning Tree Protocol die Bildung von Zyklen im Netzwerk vermeidet und redundante Verbindungen blockiert, in Gegenwart von VLANs Auch.
Unterschiedliche Root-Bridge fรผr unterschiedliche MSTI Zeigen Sie, dass jedes MSTI eine andere Wurzelbrรผcke haben kann.
Sichtbarkeit zwischen verschiedenen STP-Regionen Prรผfen Sie bei Verwendung derselben VLANs die Sichtbarkeit zwischen verschiedenen STP-Regionen.
Leistungsfรคhigkeit von Telefonvermittlungsanlagen Generieren Sie 1000 Telefonanrufe und prรผfen Sie, ob die Telefonanlage noch funktioniert oder ob sich ihre Leistung verschlechtert.
Negativer Test fรผr Gerรคt Bei Eingabe des falschen Schlรผssels wird die Authentifizierung รผberprรผft. Dem Benutzer sollte der Zugriff verweigert werden.
Liniengeschwindigkeit Prรผfen Sie, ob das Gerรคt mit einer Geschwindigkeit von 10 Gbit/s arbeitet und die gesamte verfรผgbare Bandbreite zur Verarbeitung des eingehenden Datenverkehrs nutzt.
Protokollkonversionsrate Tracรœberprรผfen Sie die TCP-Kommunikation zwischen zwei Gerรคten und stellen Sie sicher, dass sich jedes Gerรคt korrekt verhรคlt.
Reaktionszeit fรผr den Sitzungsstart Messen Sie die Reaktionszeit eines Gerรคts auf eine Einladungsanfrage zur Sitzungsinitiierung.

Tools zum Protokolltesten

Lassen Sie uns die wichtigsten Testwerkzeuge zur รœberprรผfung von Protokollen besprechen.

1) Scapy fรผr die Paketgestaltung

Scapy ist ein leistungsstarkes, interaktives Programm zur Paketmanipulation. Es ermรถglicht Ihnen Folgendes:

  • Pakete erstellen
  • Pakete im Netzwerk dekodieren
  • Erfassen Sie Pakete und analysieren Sie sie
  • Pakete in das Netzwerk einschleusen

Im Grunde genommen Scapy Hauptsรคchlich tut es zwei Dinge: Antworten empfangen und Pakete sendenSie definieren die Pakete, es sendet sie, empfรคngt Antworten, gleicht Anfragen mit Antworten ab und gibt eine Liste von Paketpaaren und eine Liste von nicht zugeordneten Paketen zurรผck.

Es kann auch andere Aufgaben รผbernehmen, wie zum Beispiel tracE-Routing, Unit-Tests, Angriffe, Netzwerkerkennung, Entwicklungping neue Protokolle und Untersuchungen.

Scapy ermรถglicht es Ihnen, einen Text zu schreiben. Python Ein Skript, mit dem Sie Aufgaben wie das Senden, Empfangen oder Abfangen von Datenpaketen durchfรผhren kรถnnen. Zum Beispiel: Scapy kann Datenpakete mithilfe eines kurzen Python Das Skript. Der Befehl zum ร–ffnen des Editors wird unten angezeigt.

#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

Es wird 10 Pakete abfangen, und sobald es 10 Pakete abgefangen hat, wird es die Zusammenfassung ausgeben. Scapy verfรผgt auรŸerdem รผber eine Reihe von Befehlen zum gleichzeitigen Senden und Empfangen von Paketen.

Herunterladen Scapy

2) Wireshark zur Analyse

Wireshark ist das fรผhrende Tool fรผr die Protokollanalyse. Es ermรถglicht die Echtzeit-Erfassung von Paketen und deren lesbare Darstellung. Sie kรถnnen den Netzwerkverkehr detailliert analysieren und einzelne Pakete mithilfe von Farbkennzeichnungen und Filtern untersuchen.

Wireshark Erfasst Pakete, die dabei helfen festzustellen, wann die Sitzung aufgebaut wird, wann genau die Datenรผbertragung initiiert wurde und wie viele Daten jeweils gesendet werden.

Wireshark verfรผgt รผber einen umfangreichen Funktionsumfang, der Folgendes umfasst:

  • Eine grรผndliche รœberprรผfung hunderter Protokolle, wobei stรคndig neue hinzukommen.
  • Live-Erfassung und Offline-Analyse
  • Umfangreiche VoIP-Analyse
  • Standard-Dreispalten-Paketbrowser
  • Lรคuft auf mehreren Plattformen wie z. B. Windows, Linux und macOS
  • Erfasste Netzwerkdaten kรถnnen รผber eine GUI durchsucht werden
  • Unterstรผtzung fรผr die Entschlรผsselung vieler Protokolle wie IPsec, ISAKMP und SSL/TLS
  • Live-Daten kรถnnen รผber Ethernet, ATM, Bluetooth, USB und Token Ring ausgelesen werden.
  • Die Ausgabe kann in die Formate CSV, XML und Klartext exportiert werden.

Herunterladen Wireshark

3) TTCN

TTCN ist eine Standardtestsprache zur Definition Testszenarien und deren Implementierung fรผr Protokolltests. Eine TTCN-Testsuite enthรคlt viele Testfรคlle, die in der TTCN-Programmiersprache geschrieben sind, und wird verwendet fรผr Testen reaktiver Systeme oder Verhaltenstests.

Nehmen wir beispielsweise einen Kaffeeautomaten, der Kaffee ausgibt, sobald eine Ein-Dollar-Mรผnze eingeworfen wird, aber nicht reagiert, wenn weniger als ein Dollar eingeworfen wird. Zur Programmierung solcher Automaten wird TTCN-3 verwendet. Damit der Kaffeeautomat auf einen Mรผnzeinwurf reagiert, schreibt man eine TTCN-3-Komponente, die sich wie ein Kaffeeautomat verhรคlt. So lassen sich Tests durchfรผhren, bevor ein tatsรคchlicher Kaffeeautomat als Produkt erhรคltlich ist. AnschlieรŸend kann die TTCN-3-Testsuite mit dem externen Gerรคt verbunden werden.

TTCN

Das Testsystem sendet Reize (eine Dollar-Mรผnze) und empfรคngt Reaktionen (Kaffee). Der Reizadapter empfรคngt Reize vom Testsystem und leitet sie an das zu testende System weiter. Der Reaktionsadapter wartet auf Reaktionen des zu testenden Systems und leitet diese an das Testsystem weiter.

TTCN-3 kann in verschiedenen Bereichen eingesetzt werden, zum Beispiel:

  • Mobilkommunikation (LTE, WiMAX, 3G)
  • Breitbandtechnologien (ATM, DSL)
  • Middleware-Plattformen (Webdienste, CORBA)
  • Internetprotokolle (SIP, IMS, IPv6)
  • Chipkarten
  • Automobil (AutoSAR, MOST, CAN)

In TTCN kรถnnen Sie Folgendes definieren:

  • Testsuiten
  • Testfรคlle
  • Testschritte
  • Deklarierte Variablen
  • Deklarierte Timer
  • PDUs und mehr

TTCN kann in Systeme integriert werden, die in anderen Sprachen wie ASN.1 geschrieben sind. XMLund C/C++Die TTCN-3-Kernsprache existiert im Textformat sowie in tabellarischen, grafischen und Prรคsentationsformaten.

Wie man Protokolltests in der Praxis anwendet

Um diese Techniken in einem realen Projekt anzuwenden, definieren Sie den Protokollumfang (L2, L3 oder hรถher), richten Sie ein Prรผfobjekt (DUT) mit angeschlossenem Simulator und Analysator ein, erstellen Sie Konformitรคts- und Negativtests unter Bezugnahme auf RFC- oder IEEE-Spezifikationen und fรผhren Sie anschlieรŸend Stresstests, Interoperabilitรคtstests und KI-gestรผtzte Anomalieprรผfungen durch. Erfassen Sie die Ergebnisse in Wireshark und wiederholen, bis das Paketverhalten dem Standard entspricht.

Hรคufig gestellte Fragen

Protokolltests รผberprรผfen, ob Kommunikationsprotokolle auf Switches, Routern und รคhnlichen Gerรคten wohlgeformte Pakete senden und sich in den Bereichen Switching, Routing, VoIP und Wireless gemรครŸ den Standards verhalten.

Beim L2-Testing liegt der Fokus auf der Sicherungsschicht (Data Link Layer), wie z. B. MAC, Ethernet und Frame Relay, wรคhrend beim L3-Testing Routing-Protokolle der Netzwerkschicht (Network Layer) wie IP, OSPF und EIGRP validiert werden, die optimale Pfade zwischen Netzwerken auswรคhlen.

Wireshark fรผr Live-Aufnahme und -Dekodierung Scapy Fรผr die Paketerstellung, fรผr die Verkehrserzeugung IxNetwork und fรผr Verhaltenstest-Suites TTCN-3 sind die Standardwerkzeuge, die von Netzwerktestingenieuren verwendet werden.

Konformitรคtstests รผberprรผfen, ob eine Protokollimplementierung ihre Spezifikation, wie beispielsweise einen IEEE-Standard oder einen IETF RFC, strikt einhรคlt, sodass Gerรคte verschiedener Hersteller im selben Netzwerk vorhersehbar interoperabel sind.

KI-Modelle lernen Basispaketmuster und generieren dann negative Testfรคlle, sagen das Regressionsrisiko bei Routingรคnderungen voraus und priorisieren automatisch fehlschlagende Szenarien, sodass Testingenieure mehr Protokollpfade in kรผrzerer Zeit abdecken kรถnnen.

Ja. Machine-Learning-Klassifikatoren verarbeiten Daten. Wireshark oder NetFlow-Aufzeichnungen, die ungewรถhnliche Latenz, Jitter oder Paketformen im Vergleich zu gelernten Referenzwerten kennzeichnen und Fehlverhalten des Protokolls aufdecken, bevor es zu Ausfรคllen in Produktionsnetzwerken kommt.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: