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: