Handleiding voor protocoltesten (L2 & L3)

โšก Slimme samenvatting

Protocoltesten valideren hoe netwerkapparaten gegevens uitwisselen via L2- en L3-protocollen. Het verifieert de pakketstructuur, conformiteit, prestaties en interoperabiliteit voor switches, routers, VoIP-apparatuur en draadloze apparatuur die gebruikt worden door leveranciers zoals... CiscoJuniper en Alcatel.

  • ๐ŸŒ Domein: Protocoltesten omvatten schakel-, draadloze, VoIP- en routeringsprotocollen over de gehele OSI-stack, met een focus op het gedrag op laag 2 en laag 3.
  • ???? L2 versus L3: Laag 2 behandelt MAC, Ethernet en Frame Relay; laag 3 selecteert optimale paden via IP, OSPF, EIGRP en vergelijkbare routeringsprotocollen.
  • ๏ธ Gereedschapsketen: Ingenieurs vertrouwen op Wireshark voor live-opname, Scapy voor het samenstellen van testpakketten, en TTCN-3 voor gedragstests tegen een te testen apparaat.
  • โœ… Controleer de typen: Conformiteits-, interoperabiliteits-, functionele, stress-, belasting- en prestatietests bevestigen de correctheid, latentie en bandbreedtedrempels.
  • ๐Ÿงช AI-hoek: Moderne laboratoria passen AI-modellen toe om verkeersanomalieรซn te detecteren, protocolfouten te voorspellen en automatisch negatieve testgevallen te genereren voor snellere regressietests.

Protocol testen

Voordat we meer leren over protocoltesten, laten we eerst de basis ervan begrijpen.

Wat is een protocol?

Wanneer computers met elkaar communiceren, is er een gemeenschappelijke set regels en voorwaarden waaraan elke computer zich moet houden. Met andere woorden, protocollen bepalen hoe gegevens worden uitgewisseld. transmitEr werden regels vastgesteld voor gegevensuitwisseling tussen computerapparaten en via netwerken. Zonder deze gedeelde regels zouden apparaten van verschillende fabrikanten geen betrouwbaar verkeer kunnen uitwisselen.

Wat is protocoltesten?

Protocol testen Protocoltesten is een methode om communicatieprotocollen te controleren in de domeinen van switching, draadloze netwerken, VoIP, routing en vergelijkbare netwerkgebieden. Het primaire doel van protocoltesten is het controleren van de structuur van pakketten die over een netwerk worden verzonden met behulp van speciale protocoltesttools. Routers en switches worden tijdens de test gebruikt als onderdeel van de te testen apparaten en producten.

Nu we de praktijk hebben gedefinieerd, laten we eens kijken waarom deze discipline belangrijk is in productienetwerken.

Waarom protocoltesten belangrijk zijn

Moderne netwerken verwerken bedrijfskritische taken zoals VoIP-gesprekken, financiรซle transacties en videostreaming. Een enkele protocolfout kan de interoperabiliteit tussen leveranciers verstoren, datapakketten laten verloren gaan of beveiligingslekken blootleggen. Protocoltesten waarborgen de kwaliteit door te valideren dat elke protocolimplementatie voldoet aan de specificaties, schaalbaar is onder belasting en zich voorspelbaar gedraagt โ€‹โ€‹bij storingen.

Nu de motivatie duidelijk is, rijst de vraag hoe protocollen in daadwerkelijke netwerken worden gecategoriseerd.

Gerouteerde en routeringsprotocollen

Protocollen worden in twee categorieรซn ingedeeld: gerouteerde protocollen en routeringsprotocollen.

  • Gerouteerde protocollen: Gerouteerde protocollen worden gebruikt om gebruikersgegevens van het ene netwerk naar het andere te verzenden. Ze transporteren gebruikersverkeer zoals e-mails, webverkeer en bestandsoverdrachten. Voorbeelden van gerouteerde protocollen zijn IP, IPX en AppleTalk.
  • Routeringsprotocollen: Routingprotocollen zijn netwerkprotocollen die routes voor routers bepalen. Ze worden alleen gebruikt tussen routers. Voorbeelden zijn RIP, IGRP en EIGRP.

In simpele termen, Een router is als een bus die gebruikt wordt voor transport, terwijl routingprotocollen de signalen op de weg zijn.

Afhankelijk van het type communicatie worden verschillende protocollen gebruikt. Bedrijven zoals CiscoJuniper en Alcatel produceren netwerkapparaten zoals routers, modems en draadloze toegangspunten die verschillende communicatieprotocollen gebruiken. Bijvoorbeeld: Cisco maakt gebruik van EIGRP en OSPF. Protocoltesten houden in principe in dat er wordt gecontroleerd of EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First) of een ander protocol werkt volgens de respectievelijke standaarden.

Soorten computerprotocollen

De onderstaande tabel geeft een overzicht van de meest voorkomende protocollen die een tester op de kabel zal tegenkomen.

Soorten protocollen Doel van protocollen
TCP / IP Het wordt gebruikt om informatie in kleine pakketjes via internet te verzenden
UDP/ICMP Het wordt gebruikt om een โ€‹โ€‹kleine hoeveelheid informatie in datapakketten via internet te verzenden.
POP3 en SMTP Het wordt gebruikt voor het verzenden en ontvangen van post
Hypertext Transfer Protocol Het wordt gebruikt om HTML-pagina's in versleutelde vorm over te dragen en zo de veiligheid van gevoelige gegevens te waarborgen.
FTP Het wordt gebruikt voor het transporteren van bestanden via een netwerk van het ene knooppunt naar het andere

* TCP / IP - Transmission Besturingsprotocol/Internetprotocol, UDP/ICMP โ€“ Gebruikersdatagramprotocol/internetcontroleberichtprotocol, POP3/SMTP โ€“ Postkantoorprotocol/Eenvoudig Mail Overdrachtsprotocol, HTTP โ€“ Hypertekstoverdrachtprotocol, FTP โ€“ Bestandsoverdrachtprotocol.

Verschillende soorten netwerkprotocollen (L2 en L3)

Het OSI-model heeft in totaal zeven netwerkcommunicatielagen, waarvan laag 2 (L2) en laag 3 (L3) cruciaal zijn voor protocoltesten.

  • Laag 2 (L2): Dit is de datalinklaag. MAC-adressen, Ethernet, Token Ring en Frame Relay zijn allemaal voorbeelden van de datalinklaag.
  • Laag 3 (L3): De netwerklaag bepaalt het best beschikbare pad in het netwerk voor communicatie. Een IP-adres is een voorbeeld van L3.

Protocoltesten uitvoeren

  • Voor protocoltesten heb je het volgende nodig: protocolanalysator en een simulator.
  • De protocolanalysator zorgt voor een correcte decodering, samen met een analyse van gesprekken en sessies. De simulator simuleert verschillende onderdelen van het netwerk.
  • Protocoltesten worden doorgaans uitgevoerd met een DUT (Device Under Test) die is aangesloten op andere apparaten zoals switches en routers, waarop het betreffende protocol is geconfigureerd.
  • Vervolgens controleert de tester de pakketstructuur van de pakketten die door de apparaten worden verzonden.
  • Het controleert de schaalbaarheid, prestaties en het gedrag van protocolalgoritmen van het apparaat met behulp van tools zoals IxNetwork. Scapyen Wireshark.

Testtypen voor protocoltesten

Protocoltesten omvatten het testen van functionaliteit, prestaties, protocolstack, interoperabiliteit en meer. Tijdens protocoltesten worden drie basiscontroles uitgevoerd.

  • Juistheid: Ontvangen we pakket X op het verwachte tijdstip?
  • Vertraging: Hoe lang duurt het voordat een datapakket het systeem doorkruist?
  • bandbreedte: Hoeveel pakketten kunnen we per seconde verzenden?

Protocoltesten kunnen worden onderverdeeld in twee brede categorieรซn: stress- en betrouwbaarheidstesten en functionele testen. Stress- en betrouwbaarheidstesten omvatten onder andere: load Testen, Stress testenen Performance Testing. Functioneel testen Dit omvat negatieve tests, conformiteitstests en interoperabiliteitstests.

  • Conformiteitstesten: De protocollen die op producten worden toegepast, worden getest op naleving van standaarden zoals IEEE en RFC.
  • Interoperabiliteitstesten: De interoperabiliteit tussen verschillende leveranciers wordt getest. Deze test wordt uitgevoerd nadat de conformiteitstest op het betreffende platform is afgerond.
  • Testen van netwerkfuncties: De functionaliteit van netwerkproducten wordt getest aan de hand van het ontwerpdocument. Voorbeelden van functionaliteiten zijn poortbeveiliging op een switch of ACL op een router.

Voorbeeldtestgevallen voor protocoltesten van netwerkapparaten

Hier volgt een voorbeeldset testgevallen voor routers en switches.

Test naam Test Cases
Eรฉn VLAN op รฉรฉn switch Maak twee verschillende VLAN's aan. Controleer de zichtbaarheid tussen hosts op de verschillende VLAN's.
Drie symmetrische VLAN's op รฉรฉn switch Maak drie verschillende asymmetrische VLAN's aan. Controleer de zichtbaarheid tussen de hosts.
Spanningsboom: variatie in kosten van rootpad Test hoe de kosten van het hoofdpad veranderen na een topologieverandering.
Spanning Tree: poortblokkering Ontdek hoe het Spanning Tree Protocol de vorming van cycli in het netwerk voorkomt en redundante verbindingen blokkeert, in aanwezigheid van... VLAN's ook.
Verschillende rootbridges voor verschillende MSTI's Laat zien dat elke MSTI een andere wortelbrug kan hebben.
Zichtbaarheid tussen verschillende STP-regio's Controleer met dezelfde VLAN's de zichtbaarheid tussen verschillende STP-regio's.
Prestaties van telefooncentrales Genereer 1000 telefoongesprekken en controleer of de telefooncentrale nog steeds werkt of dat de prestaties ervan verslechteren.
Negatieve test voor apparaat Voer een onjuiste sleutel in en controleer de authenticatie. De gebruiker mag geen toegang krijgen.
Lijnsnelheid Controleer of het apparaat op een snelheid van 10 Gbps werkt en alle beschikbare bandbreedte benut om inkomend verkeer te verwerken.
Protocolgespreksnelheid TracEen TCP-gesprek tussen twee apparaten uitvoeren en controleren of elk apparaat zich correct gedraagt.
Reactietijd voor sessie-initiatie Meet de reactietijd van een apparaat op een uitnodigingsverzoek voor het starten van een sessie.

Hulpmiddelen voor protocoltesten

Laten we de belangrijkste testinstrumenten bespreken die worden gebruikt om protocollen te verifiรซren.

1) Scapy voor pakketvervaardiging

Scapy is een krachtig interactief programma voor het manipuleren van datapakketten. Hiermee kunt u:

  • Pakketten maken
  • Decodeer pakketten op het netwerk
  • Leg pakketten vast en analyseer ze
  • Pakketten in het netwerk injecteren

Dus, in principe, Scapy Het doet hoofdzakelijk twee dingen: antwoorden ontvangen en pakketten verzendenJe definieert de pakketten, het programma verzendt ze, ontvangt antwoorden, koppelt verzoeken aan antwoorden en retourneert een lijst met pakketparen en een lijst met niet-overeenkomende pakketten.

Het kan ook andere taken uitvoeren, zoals trace-routing, unit tests, aanvallen, netwerkdetectie, ontwikkelingping nieuwe protocollen en onderzoek.

Scapy stelt je in staat om een โ€‹โ€‹te schrijven Python Een script waarmee je taken kunt uitvoeren zoals het verzenden, ontvangen of onderscheppen van datapakketten. Bijvoorbeeld: Scapy kan datapakketten onderscheppen met behulp van een korte Python script. De opdracht om de editor te openen wordt hieronder weergegeven.

#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

Het zal 10 pakketten analyseren en zodra het 10 pakketten heeft geanalyseerd, zal het de samenvatting afdrukken. Scapy Het beschikt ook over een reeks commando's voor het gelijktijdig verzenden en ontvangen van pakketten.

Downloaden Scapy

2) Wireshark voor analyse

Wireshark Het is de meest gebruikte tool voor protocoltestanalyse. Hiermee kunt u pakketten in realtime vastleggen en in een leesbare vorm weergeven. U kunt diep in het netwerkverkeer duiken en individuele pakketten inspecteren met behulp van kleurcodering en filters.

Wireshark Het systeem legt pakketten vast die helpen bepalen wanneer de sessie tot stand wordt gebracht, wanneer de exacte gegevensoverdracht is gestart en hoeveel gegevens er elke keer worden verzonden.

Wireshark Het beschikt over een uitgebreide set functies, waaronder:

  • Een grondige inspectie van honderden protocollen, en er worden er voortdurend meer toegevoegd.
  • Live vastleggen en offline analyse
  • Uitgebreide VoIP-analyse
  • Standaard pakketbrowser met drie vensters
  • Draait op meerdere platformen zoals Windows, Linux en macOS
  • Vastgelegde netwerkgegevens kunnen worden doorzocht via een GUI
  • Ondersteuning voor decryptie van diverse protocollen zoals IPsec, ISAKMP en SSL/TLS.
  • Live data kan worden uitgelezen via Ethernet, ATM, Bluetooth, USB en Token Ring.
  • De uitvoer kan worden geรซxporteerd naar CSV, XML en platte tekst.

Downloaden Wireshark

3) TTCN

TTCN is een standaard testtaal voor het definiรซren van Testscenario's en hun implementatie voor protocoltesten. Een TTCN-testsuite bevat veel testgevallen die zijn geschreven in de TTCN-programmeertaal en wordt gebruikt voor het testen van reactieve systemen of gedragstesten.

Neem bijvoorbeeld een koffieautomaat die koffie geeft wanneer er een munt van รฉรฉn dollar in wordt geworpen, maar niet reageert als er minder dan รฉรฉn dollar wordt ingeworpen. Om dergelijke automaten te programmeren, wordt TTCN-3 gebruikt. Om de koffieautomaat te laten reageren wanneer er een munt wordt ingeworpen, schrijf je een TTCN-3-component die zich gedraagt โ€‹โ€‹als een koffieautomaat. Dit stelt je in staat om tests uit te voeren voordat een daadwerkelijke koffieautomaat als product beschikbaar is. Zodra dat is gedaan, kun je de TTCN-3-testsuite koppelen aan het externe apparaat.

TCN

Het testsysteem zendt stimuli uit (een muntstuk van een dollar) en ontvangt reacties (koffie). De stimulusadapter ontvangt stimuli van het testsysteem en geeft deze door aan het te testen systeem. De responsadapter wacht op reacties van het te testen systeem en geeft deze door aan het testsysteem.

TTCN-3 kan op diverse gebieden worden gebruikt, zoals:

  • Mobiele communicatie (LTE, WiMAX, 3G)
  • Breedbandtechnologieรซn (ATM, DSL)
  • Middlewareplatforms (webservices, CORBA)
  • Internetprotocollen (SIP, IMS, IPv6)
  • Slimme kaarten
  • Automobiel (AutoSAR, MOST, CAN)

In TTCN kunt u het volgende definiรซren:

  • Testsuites
  • Test Cases
  • Teststappen
  • Gedeclareerde variabelen
  • Aangegeven timers
  • PDU's, en meer

TTCN kan worden geรฏntegreerd met systemen die in andere talen zijn geschreven, zoals ASN.1. XML, en C/C++De TTCN-3-kerntaal bestaat in tekstformaat, naast tabel-, grafiek- en presentatieformaten.

Hoe pas je protocoltesten in de praktijk toe?

Om deze technieken toe te passen op een echt project, definieer je de protocolomvang (L2, L3 of hoger), stel je een DUT in met een aangesloten simulator en analyzer, stel je conformiteits- en negatieve testgevallen op met verwijzing naar RFC- of IEEE-specificaties, en voer je vervolgens stress-, interoperabiliteits- en AI-ondersteunde anomaliecontroles uit. Leg de resultaten vast in Wireshark en herhaal dit proces totdat het gedrag van de pakketten overeenkomt met de standaard.

Veelgestelde vragen

Protocoltesten controleren of communicatieprotocollen op switches, routers en soortgelijke apparaten correct opgemaakte pakketten verzenden en zich aan de standaarden houden binnen de domeinen Switching, Routing, VoIP en Wireless.

L2-testen richten zich op de datalinklaag, zoals MAC, Ethernet en Frame Relay, terwijl L3-testen de routeringsprotocollen op de netwerklaag valideren, zoals IP, OSPF en EIGRP, die de optimale paden tussen netwerken selecteren.

Wireshark voor live-opname en decodering, Scapy Voor het samenstellen van pakketten worden IxNetwork, voor het genereren van verkeer en voor gedragstests TTCN-3 gebruikt. Dit zijn de standaardtools die netwerktestengineers gebruiken.

Conformiteitstesten verifiรซren of een protocolimplementatie strikt voldoet aan de specificatie, zoals een IEEE-standaard of een IETF RFC, zodat apparaten van verschillende leveranciers voorspelbaar met elkaar samenwerken op hetzelfde netwerk.

AI-modellen leren basispakketpatronen en genereren vervolgens negatieve testgevallen, voorspellen het regressierisico bij routeringswijzigingen en prioriteren automatisch falende scenario's, zodat testengineers meer protocolpaden in minder tijd kunnen afdekken.

Ja. Machine learning-classificatiesystemen verwerken gegevens. Wireshark Of NetFlow-captures signaleren ongebruikelijke latentie, jitter of pakketvormen ten opzichte van geleerde basislijnen, en brengen protocolafwijkingen aan het licht voordat deze storingen in productienetwerken veroorzaken.

Vat dit bericht samen met: