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.

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.
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
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.
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.

