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: