Protokolli testimise õpetus (L2 ja L3)

⚡ Nutikas kokkuvõte

Protokolli testimine valideerib, kuidas võrguseadmed vahetavad andmeid L2 ja L3 protokollide vahel. See kontrollib pakettistruktuuri, vastavust, jõudlust ja koostalitlusvõimet lülitite, ruuterite, VoIP-seadmete ja traadita seadmete puhul, mida kasutavad sellised tootjad nagu Cisco, Juniper ja Alcatel.

  • 🌐 Reguleerimisala: Protokolli testimine hõlmab kommuteerimis-, traadita, VoIP- ja marsruutimisprotokolle kogu OSI-virnas, keskendudes L2 ja L3 käitumisele.
  • 🔌 L2 vs L3: 2. kiht haldab MAC-aadresse, Etherneti ja kaadrireleed; 3. kiht valib optimaalsed teed IP, OSPF, EIGRP ja sarnaste marsruutimisprotokollide kaudu.
  • 🛠️ Tööriistakett: Insenerid toetuvad Wireshark otsepildistamiseks Scapy pakettide loomiseks ja TTCN-3 käitumistestide komplektide jaoks testitava seadme vastu.
  • Kontrolli tüübid: Vastavus-, koostalitlus-, funktsionaalsus-, koormus-, koormus- ja jõudlustestid kinnitavad õigsuse, latentsuse ja ribalaiuse lävesid.
  • 🧪 AI nurk: Kaasaegsed laborid rakendavad tehisintellekti mudeleid liikluse anomaaliate tuvastamiseks, protokolli rikete ennustamiseks ja negatiivsete testide automaatseks genereerimiseks kiiremate regressioonitsüklite jaoks.

Protokolli testimine

Enne kui me protokolli testimise kohta rohkem teada saame, uurime, millele see tugineb.

Mis on protokoll?

Kui arvutid omavahel suhtlevad, on olemas ühine reeglite ja tingimuste kogum, mida iga arvuti peab järgima. Teisisõnu, protokollid määravad, kuidas andmeid edastatakse transmitarvutiseadmete vahel ja võrkude kaudu. Ilma nende jagatud reegliteta ei saaks eri tootjate seadmed usaldusväärselt liiklust vahetada.

Mis on protokolli testimine?

Protokolli testimine on meetod sideprotokollide kontrollimiseks kommuteerimise, traadita side, VoIP, marsruutimise ja sarnaste võrguvaldkondade valdkonnas. Protokolli testimise peamine eesmärk on kontrollida võrgu kaudu saadetavate pakettide struktuuri spetsiaalsete protokolli testimise tööriistade abil. Ruuterid ja lülitid moodustavad testimise ajal testitavate seadmete ja toodete osad.

Nüüd, kui oleme selle praktika defineerinud, uurime, miks see distsipliin on tootmisvõrkudes oluline.

Miks on protokolli testimine oluline

Kaasaegsed võrgud kannavad üle missioonikriitilisi töökoormusi, nagu VoIP-kõned, finantstehingud ja voogedastusvideo. Üksainus protokolliviga võib rikkuda tarnijate koostalitlusvõime, kaotada pakette või paljastada turvaauke. Protokolli testimine tagab kvaliteedi, valideerides, et iga protokolli implementatsioon vastab oma spetsifikatsioonile, skaleerub koormuse all ja käitub rikete korral prognoositavalt.

Kui motivatsioon on selge, on järgmine küsimus, kuidas protokolle reaalsetes võrkudes liigitatakse.

Marsruutimis- ja marsruutimisprotokollid

Protokollid jagunevad kahte kategooriasse: marsruuditud protokollid ja marsruutimise protokollid.

  • Marsruudiprotokollid: Marsruutprotokolle kasutatakse kasutajaandmete saatmiseks ühest võrgust teise. Need edastavad kasutajaliiklust, näiteks e-kirju, veebiliiklust ja failiedastust. Marsruutprotokollide näideteks on IP, IPX ja AppleTalk.
  • Marsruutimisprotokollid: Marsruutimisprotokollid on võrguprotokollid, mis määravad ruuterite marsruudid. Neid kasutatakse ainult ruuterite vahel. Näideteks on RIP, IGRP ja EIGRP.

Lihtsamalt öeldes Ruuter on nagu transpordiks kasutatav buss, samas kui marsruutimisprotokollid on signaalid teel.

Sõltuvalt suhtluse tüübist kasutatakse erinevaid protokolle. Ettevõtted nagu Cisco, Juniper ja Alcatel toodavad võrguseadmeid, näiteks ruutereid, modemeid ja traadita pääsupunkte, mis kasutavad suhtluseks erinevaid protokolle. Näiteks Cisco kasutab EIGRP-d ja OSPF-i. Protokolli testimine on sisuliselt selle kontrollimine, kas EIGRP (täiustatud sisevärava marsruutimisprotokoll), OSPF (avab lühima tee esmalt) või mõni muu protokoll töötab vastavalt oma standardile.

Arvutiprotokollide tüübid

Allolev tabel loetleb kõige levinumad protokollid, millega testija juhtmel kokku puutub.

Protokolli tüübid Protokollide eesmärk
TCP / IP Seda kasutatakse teabe saatmiseks väikeste pakettidena Interneti kaudu
UDP/ICMP Seda kasutatakse väikese hulga teabe saatmiseks andmepakettides Interneti kaudu.
POP3 ja SMTP Seda kasutatakse kirjade saatmiseks ja vastuvõtmiseks
Hüperteksti edastamise protokoll Seda kasutatakse HTML-lehtede krüpteeritud kujul edastamiseks, et tagada tundlike andmete turvalisus.
FTP Seda kasutatakse failide transportimiseks võrgu kaudu ühest sõlmest teise

* TCP / IP - Transmission Juhtimisprotokoll/internetiprotokoll, UDP/ICMP – kasutaja datagrammi protokoll/Interneti-juhtsõnumiprotokoll, POP3 / SMTP – Postkontori protokoll/lihtne Mail edastusprotokoll, HTTP - hüperteksti edastusprotokoll, FTP – Failiedastusprotokoll.

Erinevat tüüpi võrguprotokollid (L2 ja L3)

OSI-mudelil on kokku seitse võrgukommunikatsiooni kihti, millest 2. kiht (L2) ja 3. kiht (L3) on protokolli testimise jaoks väga olulised.

  • 2. kiht (L2): See on andmesidekiht. MAC-aadress, Ethernet, Token Ring ja Frame Relay on kõik andmesidekihi näited.
  • 3. kiht (L3): Võrgukiht määrab võrgus parima saadaoleva suhtlustee. IP-aadress on L3 näide.

Kuidas teha protokolli testimist

  • Protokolli testimiseks on vaja protokollianalüsaator ja simulaator.
  • Protokollianalüsaator tagab korrektse dekodeerimise koos kõnede ja seansside analüüsiga. Simulaator simuleerib võrguelemendi erinevaid üksusi.
  • Tavaliselt teostab protokolli testimist DUT (testitav seade), mis on ühendatud teiste seadmetega, näiteks lülitite ja ruuteritega, ning millel on konfigureeritud sihtprotokoll.
  • Seejärel kontrollib tester seadmete saadetud pakettide struktuuri.
  • See kontrollib seadme skaleeritavust, jõudlust ja protokolli algoritmi käitumist selliste tööriistade abil nagu IxNetwork, Scapyja Wireshark.

Protokolli testimise testimise tüübid

Protokolli testimine hõlmab funktsionaalsuse, jõudluse, protokollipinu, koostalitlusvõime ja muu testimist. Protokolli testimise käigus tehakse kolm põhikontrolli.

  • Korrektsus: Kas me saame paketi X siis, kui me seda ootame?
  • Latentsus: Kui kaua võtab aega paketi süsteemi läbimine?
  • Bandwidth: Mitu paketti saame sekundis saata?

Protokolli testimist saab jagada kahte suurde kategooriasse: stress- ja töökindlustestid ning funktsionaalsed testid. Stress- ja töökindlustestid hõlmavad järgmist: Koormuse testimine, Stressitestimineja Jõudluse testimine. Funktsionaalne testimine hõlmab negatiivset testimist, vastavustestimist ja koostalitlusvõime testimist.

  • Vastavuse testimine: Toodetes rakendatud protokolle testitakse vastavuse osas sellistele standarditele nagu IEEE ja RFC.
  • Koostalitlusvõime testimine: Erinevate tarnijate koostalitlusvõimet testitakse. See testimine tehakse pärast vastavustestimise lõpetamist sobival platvormil.
  • Võrgufunktsioonide testimine: Võrgutoodete funktsioonide funktsionaalsust testitakse projekteerimisdokumendi põhjal. Näiteks võivad funktsioonideks olla pordi turvalisus kommutaatoril või ruuteri pääsuloend (ACL).

Võrguseadmete protokollide testimise näidisjuhtumid

Siin on näidis-testide komplekt ruuterite ja lülitite jaoks.

Testi nimi Testjuhtumid
Üks VLAN ühel lülitil Loo kaks erinevat VLAN-i. Kontrolli nähtavust erinevate VLAN-ide hostide vahel.
Kolm sümmeetrilist VLAN-i ühel kommutaatoril Loo kolm erinevat asümmeetrilist VLAN-i. Kontrolli nähtavust hostide vahel.
Ulatuspuu: juurtetee kulude kõikumine Testi, kuidas juurtee maksumus muutub pärast topoloogia muutmist.
Ulatuspuu: pordi blokeerimine Kontrollige, kuidas ulatuvpuu protokoll väldib võrgus tsüklite teket, blokeerides üleliigseid linke järgmiste tegurite juuresolekul: VLANid ka.
Erinevad juursildad erinevatele MSTI-dele Näita, et igal MSTI-l saab olla erinev juursild.
Nähtavus erinevate STP piirkondade vahel Samade VLAN-ide korral kontrollige nähtavust erinevate STP-piirkondade vahel.
Telefonilüliti jõudlus Genereerige 1000 telefonikõnet ja kontrollige, kas telefonilüliti töötab endiselt või selle jõudlus halveneb.
Seadme negatiivne test Sisestage vale võti ja kontrollige autentimist. Kasutajal ei tohiks olla juurdepääsu lubatud.
Liini kiirus Kontrollige, et seade töötaks kiirusel 10 Gbps, kasutades sissetuleva liikluse haldamiseks kogu saadaolevat ribalaiust.
Protokolli vestluse määr Tracka TCP-vestlus kahe seadme vahel ja kontrollige, kas mõlemad seadmed toimivad õigesti.
Seansi algatamise reageerimisaeg Mõõda seadme reageerimisaega seansi alustamise kutsetaotlusele.

Protokolli testimise tööriistad

Arutagem kõige olulisemaid testimisvahendeid, mida protokollide kontrollimiseks kasutatakse.

1) Scapy Pakettide meisterdamiseks

Scapy on võimas interaktiivne pakettide manipuleerimise programm. See võimaldab teil:

  • Loo paketid
  • Dekodeerige paketid võrgus
  • Püüdke pakette ja analüüsige neid
  • Sisestage paketid võrku

Seega, põhimõtteliselt, Scapy teeb peamiselt kahte asja: vastuste vastuvõtmine ja pakettide saatmineSina defineerid paketid, see saadab need, võtab vastu vastused, sobitab päringud vastustega ning tagastab paketipaaride loendi ja loendi sobimatutest pakettidest.

See saab hakkama ka muude ülesannetega, näiteks trace-marsruutimine, ühiktestid, rünnakud, võrgu avastamine, arendusping uued protokollid ja uurimine.

Scapy võimaldab teil kirjutada Python skript, mis võimaldab teil täita selliseid ülesandeid nagu pakettide saatmine, vastuvõtmine või nuusutamine. Näiteks Scapy saab lühikese abil andmepakette nuusutada Python skript. Redaktori avamise käsk on näidatud allpool.

#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

See nuusutab 10 paketti ja niipea kui see on 10 paketti nuusutanud, prindib see kokkuvõtte. Scapy Samuti on sellel hulk käske pakettide samaaegseks saatmiseks ja vastuvõtmiseks.

Lae Scapy

2) Wireshark analüüsiks

Wireshark on protokolli testimise analüüsi juhtiv tööriist. See võimaldab teil pakette reaalajas jäädvustada ja neid inimloetaval kujul kuvada. Saate süveneda võrguliiklusesse ja kontrollida üksikuid pakette värvikoodide ja filtrite abil.

Wireshark jäädvustab pakette, mis aitavad kindlaks teha seansi loomise aja, täpse andmeedastuse alguse aja ja iga kord saadetud andmete hulga.

Wireshark on rikkalik funktsioonide komplekt, mis sisaldab:

  • Sadade protokollide põhjalik kontroll ja pidevalt lisandub uusi
  • Reaalajas jäädvustamine ja võrguühenduseta analüüs
  • Rikkalik VoIP-analüüs
  • Standardne kolme paaniga pakettbrauser
  • Töötab mitmel platvormil, näiteks Windows, Linux ja macOS
  • Jäädvustatud võrguandmeid saab sirvida GUI kaudu
  • Dekrüpteerimistugi paljudele protokollidele, näiteks IPsec, ISAKMP ja SSL/TLS
  • Reaalajas andmeid saab lugeda Etherneti, sularahaautomaadi, Bluetoothi, USB ja Token Ringi kaudu
  • Väljundit saab eksportida CSV-, XML- ja lihttekstivormingusse

Lae Wireshark

3) TTCN

TTCN on standardne testimiskeel defineerimiseks Teststsenaariumid ja nende rakendamine protokolli testimiseks. TTCN-i testikomplekt sisaldab palju TTCN-i programmeerimiskeeles kirjutatud testijuhtumeid ja seda kasutatakse reaktiivsete süsteemide või käitumuslike testide testimine.

Näiteks vaatleme kohviautomaati, mis väljastab kohvi dollari mündi sisestamisel, kuid ei reageeri, kui sisestatakse vähem kui dollar. Selliste masinate programmeerimiseks kasutatakse TTCN-3. Selleks, et kohvimasin reageeriks mündi sisestamisel, kirjutate TTCN-3 komponendi, mis käitub kohvimasinana. See võimaldab teil teste käivitada enne, kui tegelik kohvimasin on tootena saadaval. Kui see on tehtud, saate TTCN-3 testikomplekti ühendada välise seadmega.

TTCN

Testimissüsteem saadab välja stiimuleid (dollarimünt) ja võtab vastu vastuseid (kohv). Stimuleerimisadapter saab testsüsteemilt stiimuleid ja edastab need testitavale süsteemile. Vastusadapter ootab testitava süsteemi vastuseid ja edastab need testsüsteemile.

TTCN-3 saab kasutada erinevates valdkondades, näiteks:

  • Mobiilside (LTE, WiMAX, 3G)
  • Lairibatehnoloogiad (ATM, DSL)
  • Vahevara platvormid (veebiteenused, CORBA)
  • Internetiprotokollid (SIP, IMS, IPv6)
  • Kiipkaardid
  • Autod (AutoSAR, MOST, CAN)

TTCN-is saate defineerida:

  • Testsviidid
  • Testjuhtumid
  • Testi sammud
  • Deklareeritud muutujad
  • Deklareeritud taimerid
  • PDU-d ja palju muud

TTCN-i saab integreerida teistes keeltes, näiteks ASN.1-s, kirjutatud süsteemidega. XMLja C/C++TTCN-3 põhikeel eksisteerib tekstivormingus lisaks tabeli-, graafilisele ja esitlusvormingule.

Kuidas protokolli testimist praktikas rakendada

Nende tehnikate rakendamiseks reaalses projektis tuleb määratleda protokolli ulatus (L2, L3 või kõrgem), seadistada DUT koos simulaatori ja analüsaatoriga, koostada vastavus- ja negatiivsete testide mustandid, mis viitavad RFC või IEEE spetsifikatsioonidele, ning seejärel käivitada stressi-, koostalitlusvõime- ja tehisintellekti abil teostatavad anomaaliakontrollid. Tulemused salvestada. Wireshark ja itereerida seni, kuni paketi käitumine vastab standardile.

KKK

Protokolli testimine kontrollib, kas kommutaatorite, ruuterite ja sarnaste seadmete sideprotokollid saadavad korrektselt vormindatud pakette ja käituvad standardite kohaselt kommuteerimise, marsruutimise, VoIP ja traadita domeenides.

L2 testimine keskendub andmesidekihile, nagu MAC, Ethernet ja Frame Relay, samas kui L3 testimine valideerib võrgukihi marsruutimisprotokolle, nagu IP, OSPF ja EIGRP, mis valivad võrkude vahel optimaalsed teed.

Wireshark reaalajas jäädvustamiseks ja dekodeerimiseks Scapy Pakettide loomiseks, liikluse genereerimiseks IxNetwork ja käitumistestide komplektide jaoks on võrgutestimisinseneride standardsed tööriistad TTCN-3.

Vastavustestimine kontrollib, kas protokolli rakendamine järgib rangelt selle spetsifikatsiooni, näiteks IEEE standardit või IETF RFC-d, et erinevate tootjate seadmed saaksid samas võrgus prognoositavalt koostööd teha.

Tehisintellekti mudelid õpivad tundma baaspaketimustreid ja genereerivad seejärel negatiivseid testjuhtumeid, ennustavad marsruutimismuudatuste regressiooniriski ning seavad automaatselt tähtsuse järjekorda ebaõnnestunud stsenaariumid, et testimisinsenerid kataksid lühema ajaga rohkem protokolliteid.

Jah. Masinõppe klassifikaatorid neelavad Wireshark või NetFlow jäädvustab, märgistab ebatavalise latentsuse, värina või paketikuju õpitud baasjoonte suhtes ja pinnaprotokolli väärkäitumise enne, kui see tootmisvõrkudes katkestusi käivitab.

Võta see postitus kokku järgmiselt: