Tutorial zum Protokolltest: L2 und L3

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

Was ist ein Protokoll?

Wenn ein Computer miteinander kommuniziert, gibt es gemeinsame Regeln und Bedingungen, die jeder Computer befolgen muss. Mit anderen Worten: Protokolle bestimmen, wie Daten zwischen Computergeräten und über Netzwerke übertragen werden.

Protokolltests

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

Routed- und Routing-Protokolle

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

  • Geroutete Protokolle: Geroutete Protokolle können verwendet werden, um Benutzerdaten von einem Netzwerk an ein anderes zu senden. Sie transportieren Benutzerverkehr wie E-Mails, Web-Verkehr, Dateiübertragungen usw. Geroutete 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, Ein Router ist 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 und ALCATEL stellen Netzwerkgeräte wie Router, Modems, drahtlose Zugriffspunkte usw. her, die unterschiedliche Protokolle für die Kommunikation verwenden, zum Beispiel: Cisco verwendet EIGRP, OSPF usw. Beim Protokolltesten wird lediglich überprüft, ob EIGRP (Enhanced Interior Gateway Routing Protocol) oder OSPF (Open Shortest Path First) oder ein anderes Protokoll gemäß dem jeweiligen Standard funktioniert.

Arten von Computerprotokollen

Arten von Protokollen Zweck der Protokolle
TCP / IP Es dient dazu, Informationen in kleinen Paketen über das Internet zu versenden
UDP/ICMP Es wird verwendet, um 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 wird verwendet, um 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 Steuerprotokoll/Internetprotokoll, UDP / ICMP– User Datagram Protocol/Internet Control Message Protocol, POP3 / SMTP– Post-Office-Protokoll / Einfach Mail Übertragungsprotokoll, HTTP- Hypertext Transfer Protocol, 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.

  • Ebene 2: Es handelt sich um eine Datenverbindungsschicht. Mac-Adresse, Ethernet, Token Ring und Frame Relay sind Beispiele für die Datenverbindungsschicht.
  • Ebene 3: Es handelt sich um 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 Protokollanalysator und Simulator
  • Der Protokollanalysator gewährleistet die ordnungsgemäße Dekodierung sowie die Anruf- und Sitzungsanalyse. Während der Simulator verschiedene Einheiten von Netzwerkelementen simuliert
  • Normalerweise wird ein Protokolltest durch das DUT (zu testendes Gerät) an anderen Geräten wie Switches und Routern durchgeführt und darin das Protokoll konfiguriert
  • Anschließend Überprüfung der Paketstruktur der von den Geräten gesendeten Pakete
  • Es überprüft Skalierbarkeit, Leistung, Protokollalgorithmus usw. des Geräts mithilfe von Tools wie lxNetworks, Scapy und Wireshark

Testtypen für Protokolltests

Zum Testen von Protokollen gehört das Testen von Funktionalität, Leistung, Protokollstapel, Interoperabilität usw. Beim Testen von Protokollen werden grundsätzlich drei Prüfungen durchgeführt.

  • Richtigkeit: Erhalten wir Paket X wie erwartet?
  • Latency: Wie lange dauert die Übertragung eines Pakets durch das System?
  • Bandbreite: Wie viele Pakete können wir pro Sekunde senden?

Protokolltests können in zwei Kategorien unterteilt werden. Belastungs- und Zuverlässigkeitstests und Funktionstests. Stress- und Zuverlässigkeitstests umfassen Load Testing, Belastbarkeitstest, Performance Testingusw. Während Funktionsprüfung umfasst Negativtests, Konformitätstests, Interoperabilitätstests usw.

  • Konformitätstests: Die auf Produkten implementierten Protokolle werden auf Einhaltung getestet, z. B. IEEE, RFC usw.
  • Interoperabilitätstests: Die Interoperabilität für verschiedene Anbieter wird getestet. Dieser Test wird durchgeführt, nachdem die Konformitätstests auf der entsprechenden Plattform durchgeführt wurden.
  • Testen der Netzwerkfunktionen: Die Merkmale von Netzwerkprodukten werden anhand des Designdokuments auf Funktionalität getestet. Funktionen können beispielsweise Portsicherheit 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
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 Hosts
Spanning Tree: Variation der Root-Pfadkosten Testen Sie, wie sich die Root-Pfadkosten nach einer Topologievariation ändern
Spanning Tree: Portblockierung Überprüfen Sie, wie das Spanning Tree-Protokoll die Bildung von Zyklen im Netzwerk vermeidet und redundante Verbindungen blockiert, wenn vorhanden VLANs auch
Unterschiedliche Root-Bridge für unterschiedliche MSTI Zeigen Sie, dass jeder MSTI eine andere Root Bridge haben kann
Sichtbarkeit zwischen verschiedenen STP-Regionen Überprüfen Sie bei gleichen VLANs die Sichtbarkeit zwischen verschiedenen STP-Regionen
Leistung der Telefonvermittlung Generieren Sie 1000 Telefonanrufe und prüfen Sie, ob der Telefonschalter noch funktioniert oder seine Leistung nachlässt
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
Liniengeschwindigkeit Überprüfen Sie, ob das Gerät mit einer Geschwindigkeit von 10 Gbit/s arbeitet und die gesamte verfügbare Bandbreite zur Bewältigung des eingehenden Datenverkehrs nutzt.
Protokollkonversationsrate Verfolgen Sie eine TCP-Konversation zwischen zwei Geräten und überprüfen Sie, ob sich jedes Gerät korrekt verhält
Reaktionszeit für die Sitzungsinitiierung Messen Sie die Reaktionszeit eines Geräts auf eine Einladungsanfrage zur Sitzungsinitiierung

Tools zum Protokolltesten

Lassen Sie uns die wichtigsten Testtools besprechen, die zur Überprüfung von Protokollen verwendet werden

1) Scapy Für die Paketherstellung

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

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

Im Wesentlichen macht scapy hauptsächlich zwei Dinge: Antworten empfangen und Pakete senden. Sie definieren die Pakete, es sendet sie, empfängt Antworten, gleicht Anfragen mit Antworten ab und gibt eine Liste von Paketpaaren und eine Liste nicht übereinstimmender Pakete zurück.

Es kann auch andere Dinge wie Trace-Routing, Unit-Tests, Angriffe oder Netzwerkerkennung, die Entwicklung neuer Protokolle, Sondierungen usw. bewältigen.

Scapy ermöglicht es uns, eine zu schreiben Python Skript, mit dem wir Aufgaben wie das Senden und Empfangen von Paketen oder das Aufspüren von Paketen ausführen können. Beispielsweise kann scapy das Datenpaket aufspüren, indem es ein Python Skript. Der Befehl zum Öffnen des im Editor eingegebenen 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

Es erschnüffelt 10 Pakete und sobald es 10 Pakete erschnüffelt hat, druckt es die Zusammenfassung aus. Scapy auch als Befehlsarray zum gleichzeitigen Senden und Empfangen von Paketen

Herunterladen Scapy

2) Wireshark Werkzeuge zur Analyse

Tools zum Testen von Protokollen – Wireshark. Es ermöglicht die Erfassung von Paketen in Echtzeit und deren Anzeige in menschenlesbarer Form. Es ermöglicht Ihnen, tief in den Netzwerkverkehr einzudringen und einzelne Pakete mithilfe von Farbcodierung und Filtern zu untersuchen.

Wireshark Erfasst Pakete, anhand derer ermittelt werden kann, wann die Sitzung aufgebaut wird, wann die genaue Datenübertragung initiiert wurde und wie viele Daten jedes Mal gesendet werden usw.

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

  • Eine gründliche Prüfung von Hunderten von Protokollen, es kommen ständig weitere hinzu
  • Live-Erfassung und Offline-Analyse
  • Umfangreiche VoIP-Analyse
  • Standardbrowser mit drei Fenstern
  • Läuft auf mehreren Plattformen wie Windows, Linux, OSX und so weiter
  • 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, Nur-Text usw. exportiert werden.

Herunterladen Wireshark

TTCN

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

Zum Beispiel ein Kaffeeautomat, der beim Einwerfen einer Dollarmünze Kaffee ausgibt, aber nicht reagiert, wenn weniger als ein Dollar hineingeworfen wird. Zur Programmierung 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. Dadurch können wir unseren Test durchführen, bevor eine echte Kaffeemaschine als Produkt verfügbar ist. Sobald dies erledigt ist, verbinden wir die TCCN3-Testsuite mit dem externen Gerät.

TTCN

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

TCCN3 kann in verschiedenen Bereichen eingesetzt werden, z

  • Mobilfunk (LTE, WiMAX, 3G etc.)
  • Breitbandtechnologien (ATM, DSL)
  • Middleware-Plattformen (Webservices, CORBA usw.)
  • Internetprotokoll (SIP, IMS, IPv6)
  • Smart Cards
  • 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 integriert werden. XML, C/C++. Die Kernsprache von TCCN3 liegt im Textformat vor, neben anderen Formaten wie Tabellen-, Grafik- und Präsentationsformaten.