Protokollatestauksen opetusohjelma (L2 ja L3)

โšก ร„lykรคs yhteenveto

Protokollatestaus validoi, miten verkkolaitteet vaihtavat dataa L2- ja L3-protokollien vรคlillรค. Se varmistaa pakettien rakenteen, vaatimustenmukaisuuden, suorituskyvyn ja yhteentoimivuuden kytkimien, reitittimien, VoIP-laitteiden ja langattomien laitteiden osalta, joita kรคyttรคvรคt esimerkiksi seuraavat toimittajat: Cisco, Juniper ja Alcatel.

  • ๐ŸŒ Soveltamisala: Protokollatestaus kattaa kytkentรค-, langattomat, VoIP- ja reititysprotokollat โ€‹โ€‹OSI-pinossa keskittyen L2- ja L3-kรคyttรคytymiseen.
  • ๐Ÿ”Œ L2 vs. L3: Kerros 2 kรคsittelee MAC-, Ethernet- ja Frame Relay -osoitteita; kerros 3 valitsee optimaaliset polut IP:n, OSPF:n, EIGRP:n ja vastaavien reititysprotokollien avulla.
  • ๐Ÿ› ๏ธ Tyรถkaluketju: Insinรถรถrit luottavat Wireshark live-kuvausta varten, Scapy pakettien luontiin ja TTCN-3 kรคyttรคytymistestisarjoihin testattavaa laitetta vastaan.
  • โœ… Tarkista tyypit: Yhteensopivuus-, yhteentoimivuus-, toiminnallisuus-, rasitus-, kuormitus- ja suorituskykytestit vahvistavat oikeellisuuden, latenssin ja kaistanleveyden kynnysarvot.
  • ๐Ÿงช Tekoรคlyn kulma: Nykyaikaiset laboratoriot kรคyttรคvรคt tekoรคlymalleja liikenteen poikkeavuuksien havaitsemiseen, protokollavirheiden ennustamiseen ja negatiivisten testitapausten automaattiseen luomiseen nopeampien regressiosyklien aikaansaamiseksi.

Protokollan testaus

Ennen kuin opimme protokollatestauksesta, ymmรคrretรครคn sen perusta.

Mikรค on pรถytรคkirja?

Kun tietokoneet kommunikoivat keskenรครคn, on olemassa yhteiset sรครคnnรถt ja ehdot, joita jokaisen tietokoneen on noudatettava. Toisin sanoen protokollat โ€‹โ€‹mรครคrittรคvรคt, miten tiedot siirretรครคn transmittietokoneiden vรคlillรค ja verkkojen kautta. Ilman nรคitรค jaettuja sรครคntรถjรค eri toimittajien laitteet eivรคt voisi vaihtaa liikennettรค luotettavasti.

Mitรค on protokollatestaus?

Protokollan testaus on menetelmรค tietoliikenneprotokollien tarkistamiseen kytkentรค-, langaton-, VoIP-, reititys- ja vastaavilla verkkoalueilla. Protokollatestauksen ensisijainen tavoite on tarkistaa verkon kautta lรคhetettรคvien pakettien rakenne kรคyttรคmรคllรค erityisiรค protokollatestaustyรถkaluja. Reitittimiรค ja kytkimiรค kรคytetรครคn testin aikana muodostamaan osia testattavista laitteista ja tuotteista.

Nyt kun olemme mรครคritelleet kรคytรคnnรถn, tarkastellaanpa, miksi tรคmรค kurinalaisuus on tรคrkeรค tuotantoverkoissa.

Miksi protokollatestaus on tรคrkeรครค

Nykyaikaiset verkot kuljettavat kriittisiรค tyรถkuormia, kuten VoIP-puheluita, maksutapahtumia ja suoratoistovideota. Yksikin protokollavirhe voi rikkoa toimittajien vรคlisen yhteentoimivuuden, pudottaa paketteja tai paljastaa tietoturva-aukkoja. Protokollatestaus varmistaa laadun validoimalla, ettรค jokainen protokollan toteutus vastaa spesifikaatiotaan, skaalautuu kuormituksen alla ja toimii ennustettavasti virheiden aikana.

Kun motivaatio on selvรค, seuraava kysymys on, miten protokollat โ€‹โ€‹luokitellaan todellisissa verkoissa.

Reititys- ja reititysprotokollat

Protokollat โ€‹โ€‹luokitellaan kahteen luokkaan: reititetyt protokollat ja reititysprotokollat.

  • Reititetyt protokollat: Reititettyjรค protokollia kรคytetรครคn kรคyttรคjรคdatan lรคhettรคmiseen verkosta toiseen. Ne kuljettavat kรคyttรคjรคliikennettรค, kuten sรคhkรถposteja, verkkoliikennettรค ja tiedostojen siirtoa. Esimerkkejรค reititetyistรค protokollista ovat IP, IPX ja AppleTalk.
  • Reititysprotokollat: Reititysprotokollat โ€‹โ€‹ovat verkkoprotokollia, jotka mรครคrittรคvรคt reitittimien reitit. Niitรค kรคytetรครคn vain reitittimien vรคlillรค. Esimerkkejรค ovat RIP, IGRP ja EIGRP.

Yksinkertaisesti sanottuna, Reititin on kuin kuljetukseen kรคytettรคvรค bussi, kun taas reititysprotokollat โ€‹โ€‹ovat signaaleja tiellรค.

Viestintรคtyypistรค riippuen kรคytetรครคn erilaisia โ€‹โ€‹protokollia. Yritykset, kuten Cisco, Juniper ja Alcatel valmistavat verkkolaitteita, kuten reitittimiรค, modeemeja ja langattomia tukiasemia, jotka kรคyttรคvรคt eri protokollia tiedonsiirtoon. Esimerkiksi Cisco kรคyttรครค EIGRP:tรค ja OSPF:รครค. Protokollatestauksella tarkistetaan pohjimmiltaan, toimiiko EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First) tai jokin muu protokolla oman standardinsa mukaisesti.

Tietokoneprotokollien tyypit

Alla olevassa taulukossa luetellaan yleisimmรคt protokollat, joihin testaaja tรถrmรครค langalla.

Protokollatyypit Pรถytรคkirjojen tarkoitus
TCP / IP Sitรค kรคytetรครคn tiedon lรคhettรคmiseen pienissรค paketeissa Internetin kautta
UDP/ICMP Sitรค kรคytetรครคn pienen tietomรครคrรคn lรคhettรคmiseen datapaketeissa Internetin kautta.
POP3 ja SMTP Sitรค kรคytetรครคn postin lรคhettรคmiseen ja vastaanottamiseen
Hypertext Transfer Protocol Sitรค kรคytetรครคn HTML-sivujen siirtรคmiseen salatussa muodossa arkaluonteisten tietojen suojaamiseksi.
FTP Sitรค kรคytetรครคn tiedostojen siirtรคmiseen verkon yli solmusta toiseen

* TCP / IP - Transmission Ohjausprotokolla/Internet-protokolla, UDP/ICMP โ€“ User Datagram Protocol/Internet Control Message Protocol, POP3 / SMTP โ€“ Postitoimiston protokolla/Yksinkertainen Mail siirtoprotokolla, HTTP - Hyper Text Transfer Protocol, FTP โ€“ Tiedostonsiirtoprotokolla.

Erilaiset verkkoprotokollat โ€‹โ€‹(L2 ja L3)

OSI-mallissa on yhteensรค seitsemรคn verkkoyhteyden kerrosta, joista kerros 2 (L2) ja kerros 3 (L3) ovat erittรคin tรคrkeitรค protokollatestauksessa.

  • Taso 2 (L2): Se on tiedonsiirtokerros. MAC-osoite, Ethernet, Token Ring ja Frame Relay ovat kaikki esimerkkejรค tiedonsiirtokerroksesta.
  • Taso 3 (L3): Verkkokerros mรครคrittรครค parhaan kรคytettรคvissรค olevan polun verkossa tiedonsiirtoa varten. IP-osoite on esimerkki L3:sta.

Kuinka tehdรค protokollatestaus

  • Protokollatestausta varten tarvitset protokolla-analysaattori ja simulaattori.
  • Protokolla-analysaattori varmistaa asianmukaisen dekoodauksen sekรค puhelu- ja istuntoanalyysin. Simulaattori simuloi verkkoelementin eri yksikรถitรค.
  • Yleensรค protokollatestauksen suorittaa DUT (Device Under Test), joka on kytketty muihin laitteisiin, kuten kytkimiin ja reitittimiin, ja johon kohdeprotokolla on konfiguroitu.
  • Tรคmรคn jรคlkeen testaaja tarkistaa laitteiden lรคhettรคmien pakettien rakenteen.
  • Se tarkistaa laitteen skaalautuvuuden, suorituskyvyn ja protokolla-algoritmin kรคyttรคytymisen kรคyttรคmรคllรค tyรถkaluja, kuten IxNetwork, Scapyja Wireshark.

Protokollatestauksen testaustyypit

Protokollatestaus sisรคltรครค toiminnallisuuden, suorituskyvyn, protokollapinon, yhteentoimivuuden ja muiden asioiden testaamisen. Protokollatestauksen aikana tehdรครคn kolme perustarkistusta.

  • Oikeus: Saammeko paketin X silloin, kun odotamme sitรค?
  • Viive: Kuinka kauan paketin kulkeminen jรคrjestelmรคn lรคpi kestรครค?
  • Kaistanleveys: Kuinka monta pakettia voimme lรคhettรครค sekunnissa?

Protokollatestaus voidaan jakaa kahteen pรครคluokkaan: stressi- ja luotettavuustestit sekรค toiminnalliset testit. Stressi- ja luotettavuustestit kattavat Kuormitustesti, Stressitestausja Suorituskykytestaus. Toiminnallinen testaus sisรคltรครค negatiivisen testauksen, vaatimustenmukaisuustestauksen ja yhteentoimivuustestauksen.

  • Vaatimustenmukaisuuden testaus: Tuotteissa toteutetut protokollat โ€‹โ€‹testataan standardien, kuten IEEE:n ja RFC.
  • Yhteentoimivuuden testaus: Eri toimittajien yhteentoimivuus testataan. Tรคmรค testaus tehdรครคn sen jรคlkeen, kun vaatimustenmukaisuustestaus on suoritettu asianmukaisella alustalla.
  • Verkko-ominaisuuksien testaus: Verkkotuotteiden ominaisuuksien toimivuutta testataan suunnitteludokumentin avulla. Ominaisuuksia voivat olla esimerkiksi kytkimen porttisuojaus tai reitittimen kรคyttรถoikeusluettelo.

Esimerkkitestitapauksia verkkolaitteiden protokollatestaukseen

Tรคssรค on esimerkkisarja testitapauksia reitittimille ja kytkimille.

Testin nimi Testitapaukset
Yksi VLAN yhdellรค kytkimellรค Rakenna kaksi eri VLANia. Tarkista nรคkyvyys eri VLANien isรคntien vรคlillรค.
Kolme symmetristรค VLANia yhdellรค kytkimellรค Luo kolme erilaista epรคsymmetristรค VLANia. Tarkista nรคkyvyys isรคntien vรคlillรค.
Virtaava puu: juuripolun kustannusvaihtelu Testaa, miten juuripolun kustannus muuttuu topologian vaihtelun jรคlkeen.
Virtaava puu: Portin esto Tarkista, miten virityspuuprotokolla estรครค syklien muodostumisen verkossa ja estรครค redundantteja linkkejรค, jos lรคsnรค on vlans liikaa.
Eri juurisilta eri MSTI:lle Osoita, ettรค jokaisella MSTI:llรค voi olla eri juurisilta.
Nรคkyvyys eri STP-alueiden vรคlillรค Tarkista samoilla VLAN-verkoilla nรคkyvyys eri STP-alueiden vรคlillรค.
Puhelinkytkimen suorituskyky Soita 1000 puhelua ja tarkista, toimiiko puhelinvaihde edelleen vai heikkeneekรถ sen suorituskyky.
Negatiivinen testitulos laitteelle Syรถtรค vรครคrรค avain ja tarkista todennus. Kรคyttรคjรคlle ei pitรคisi olla kรคyttรถoikeutta.
Linjan nopeus Tarkista, ettรค laite toimii 10 Gbps:n nopeudella ja hyรถdyntรครค kaikkea kรคytettรคvissรค olevaa kaistanleveyttรค tulevan liikenteen kรคsittelyyn.
Protokollan keskustelunopeus Tracka TCP-keskustelu kahden laitteen vรคlillรค ja varmista, ettรค molemmat laitteet toimivat oikein.
Istunnon aloituksen vasteaika Mittaa laitteen vasteaikaa istunnon aloituskutsuun.

Protokollatestauksen tyรถkalut

Keskustellaan tรคrkeimmistรค testaustyรถkaluista, joita kรคytetรครคn protokollien todentamiseen.

1) Scapy pakettien askartelua varten

Scapy on tehokas interaktiivinen pakettien kรคsittelyohjelma. Sen avulla voit:

  • Luo paketteja
  • Purkaa paketit verkossa
  • Kaappaa paketteja ja analysoi niitรค
  • Lisรครค paketteja verkkoon

Joten, pohjimmiltaan, Scapy tekee pรครคasiassa kahta asiaa: vastaanottaa vastauksia ja lรคhettรครค pakettejaSinรค mรครคrittelet paketit, se lรคhettรครค ne, vastaanottaa vastaukset, yhdistรครค pyynnรถt vastauksiin ja palauttaa luettelon pakettipareista ja luettelon yhteensopimattomista paketeista.

Se pystyy hoitamaan myรถs muita tehtรคviรค, kuten tracsรคhkรถinen reititys, yksikkรถtestit, hyรถkkรคykset, verkon lรถytรคminen, kehitysping uudet protokollat โ€‹โ€‹ja luotaukset.

Scapy antaa sinulle mahdollisuuden kirjoittaa Python skripti, jonka avulla voit suorittaa tehtรคviรค, kuten pakettien lรคhettรคmistรค, vastaanottamista tai nuuskimista. Esimerkiksi Scapy voi nuuskia datapaketteja kรคyttรคmรคllรค lyhyttรค Python skripti. Editorin avaava komento nรคkyy alla.

#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

Se nuuhtelee 10 pakettia, ja heti kun se on nuuhkaissut 10 pakettia, se tulostaa yhteenvedon. Scapy sisรคltรครค myรถs joukon komentoja pakettien samanaikaiseen lรคhettรคmiseen ja vastaanottamiseen.

Lataa Scapy

2) Wireshark analyysiรค varten

Wireshark on johtava protokollatestauksen analyysityรถkalu. Sen avulla voit kaapata paketteja reaaliajassa ja nรคyttรครค ne ihmisen luettavassa muodossa. Voit kaivautua syvรคlle verkkoliikenteeseen ja tarkastella yksittรคisiรค paketteja vรคrikoodauksen ja suodattimien avulla.

Wireshark kaappaa paketteja, jotka auttavat mรครคrittรคmรครคn istunnon ajankohdan, tiedonsiirron tarkan aloitusajankohdan ja lรคhetetyn datan mรครคrรคn.

Wireshark on rikas ominaisuusvalikoima, joka sisรคltรครค:

  • Satojen protokollien perusteellinen tarkastus, ja uusia lisรคtรครคn jatkuvasti
  • Livekaappaus ja offline-analyysi
  • Rikas VoIP-analyysi
  • Vakiokokoinen kolmiruutuinen pakettiselain
  • Toimii useilla alustoilla, kuten Windows, Linux ja macOS
  • Kaapattuja verkkotietoja voidaan selata graafisen kรคyttรถliittymรคn kautta
  • Salauksen purkutuki useille protokollille, kuten IPsec, ISAKMP ja SSL/TLS
  • Reaaliaikaista dataa voidaan lukea Ethernetistรค, pankkiautomaatista, Bluetoothista, USB:stรค ja Token Ringistรค
  • Tuloste voidaan viedรค CSV-, XML- ja pelkkรคteksti-muotoon

Lataa Wireshark

3) TTCN

TTCN on standarditestauskieli, jolla mรครคritellรครคn Testiskenaariot ja niiden toteutus protokollatestausta varten. TTCN-testipaketti sisรคltรครค useita TTCN-ohjelmointikielellรค kirjoitettuja testitapauksia, ja sitรค kรคytetรครคn reaktiivisten jรคrjestelmien tai kรคyttรคytymistestauksen testaaminen.

Tarkastellaan esimerkiksi kahviautomaattia, joka annostelee kahvia, kun siihen asetetaan dollarin kolikko, mutta ei reagoi, jos siihen asetetaan alle dollarin kolikko. Tรคllaisten koneiden ohjelmointiin kรคytetรครคn TTCN-3-komponenttia. Jotta kahviautomaatti reagoisi, kun siihen asetetaan kolikko, kirjoitetaan TTCN-3-komponentti, joka kรคyttรคytyy kahviautomaatin tavoin. Nรคin voit suorittaa testejรค ennen kuin varsinainen kahviautomaatti on saatavilla tuotteena. Kun tรคmรค on tehty, voit yhdistรครค TTCN-3-testisarjan ulkoiseen laitteeseen.

TTCN

Testijรคrjestelmรค lรคhettรครค รคrsykkeitรค (dollarin kolikko) ja vastaanottaa vastauksia (kahvi). ร„rsykeadapteri vastaanottaa รคrsykkeitรค testijรคrjestelmรคltรค ja vรคlittรครค ne testattavalle jรคrjestelmรคlle. Vastausadapteri odottaa testattavan jรคrjestelmรคn vastauksia ja vรคlittรครค ne testijรคrjestelmรคlle.

TTCN-3:a voidaan kรคyttรครค useilla eri aloilla, kuten:

  • Mobiiliviestintรค (LTE, WiMAX, 3G)
  • Laajakaistatekniikat (ATM, DSL)
  • Vรคliohjelmistoalustat (verkkopalvelut, CORBA)
  • Internet-protokollat โ€‹โ€‹(SIP, IMS, IPv6)
  • ร„lykortit
  • Autot (AutoSAR, MOST, CAN)

TTCN:ssรค voit mรครคrittรครค:

  • Testaa Suites
  • Testitapaukset
  • Testin vaiheet
  • Ilmoitetut muuttujat
  • Ilmoitetut ajastimet
  • PDU:t ja paljon muuta

TTCN voidaan integroida muilla kielillรค, kuten ASN.1:llรค, kirjoitettujen jรคrjestelmien kanssa. XMLja C/C++TTCN-3-ydinkieli on olemassa tekstimuodossa sekรค taulukko-, graafi- ja esitysmuodoissa.

Protokollatestauksen soveltaminen kรคytรคnnรถssรค

Nรคiden tekniikoiden soveltamiseksi todelliseen projektiin mรครคritetรครคn protokollan laajuus (L2, L3 tai korkeampi), asetetaan DUT simulaattorilla ja analysaattorilla varustettuna, laaditaan RFC- tai IEEE-spesifikaatioihin viittaavat luonnokset vaatimustenmukaisuudesta ja negatiivisista testitapauksista ja suoritetaan sitten rasitus-, yhteentoimivuus- ja tekoรคlyavusteiset poikkeamatarkistukset. Kerรครค tulokset Wireshark ja iteroidaan, kunnes paketin kรคyttรคytyminen vastaa standardia.

UKK

Protokollatestaus tarkistaa, ettรค kytkimien, reitittimien ja vastaavien laitteiden tietoliikenneprotokollat โ€‹โ€‹lรคhettรคvรคt oikein muodostettuja paketteja ja toimivat standardien mukaisesti kytkentรค-, reititys-, VoIP- ja langattomissa verkoissa.

L2-testaus keskittyy tiedonsiirtokerrokseen, kuten MAC-, Ethernet- ja Frame Relay-osoitteisiin, kun taas L3-testaus validoi verkkokerroksen reititysprotokollia, kuten IP, OSPF ja EIGRP, jotka valitsevat optimaaliset polut verkkojen vรคlillรค.

Wireshark reaaliaikaista tallennusta ja dekoodausta varten, Scapy Verkkotestausinsinรถรถrien vakiotyรถkaluja ovat pakettien luonti, IxNetwork liikenteen generointiin ja TTCN-3 kรคyttรคytymistestaussarjoihin.

Yhteensopivuustestaus varmistaa, ettรค protokollan toteutus noudattaa tarkasti sen mรครคrittelyรค, kuten IEEE-standardia tai IETF RFC:tรค, jotta eri toimittajien laitteet toimivat ennustettavasti samassa verkossa.

Tekoรคlymallit oppivat pakettien peruskuviot ja luovat sitten negatiivisia testitapauksia, ennustavat reititysmuutosten regressioriskin ja priorisoivat automaattisesti epรคonnistuneita skenaarioita, jotta testi-insinรถรถrit kattavat enemmรคn protokollapolkuja lyhyemmรคssรค ajassa.

Kyllรค. Koneoppimisen luokittelijat kรคsittelevรคt Wireshark tai NetFlow tallentaa, merkitsee epรคtavallisen latenssin, jitterin tai pakettien muodot opittuja perusviivoja vasten ja tunnistaa protokollan toimintahรคiriรถt ennen kuin ne laukaisevat katkokset tuotantoverkoissa.

Tiivistรค tรคmรค viesti seuraavasti: