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: