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.


