Vodič za testiranje protokola (L2 i L3)

⚡ Pametni sažetak

Testiranje protokola potvrđuje kako mrežni uređaji razmjenjuju podatke putem L2 i L3 protokola. Provjerava strukturu paketa, usklađenost, performanse i interoperabilnost za prekidače, usmjerivače, VoIP opremu i bežičnu opremu koju koriste dobavljači kao što su Cisco, Juniper i Alcatel.

  • 🌐 Opseg: Testiranje protokola obuhvaća komutacijske, bežične, VoIP i usmjeravajuće protokole u OSI stogu s naglaskom na ponašanje L2 i L3.
  • 🔌 L2 u odnosu na L3: Sloj 2 obrađuje MAC, Ethernet i Frame Relay; Sloj 3 odabire optimalne putove putem IP-a, OSPF-a, EIGRP-a i sličnih protokola usmjeravanja.
  • 🛠️ Alatna shema: Inženjeri se oslanjaju na Wireshark za snimanje uživo, Scapy za izradu paketa i TTCN-3 za skupove testova ponašanja na uređaju koji se testira.
  • Vrste provjera: Testovi sukladnosti, interoperabilnosti, funkcionalnosti, stresa, opterećenja i performansi potvrđuju ispravnost, latenciju i pragove propusnosti.
  • 🧪 Kut umjetne inteligencije: Moderni laboratoriji primjenjuju AI modele za otkrivanje anomalija u prometu, predviđanje kvarova protokola i automatsko generiranje negativnih testnih slučajeva za brže regresijske cikluse.

Testiranje protokola

Prije nego što saznamo o testiranju protokola, shvatimo temelje na kojima se temelji.

Što je protokol?

Kada računala međusobno komuniciraju, postoji zajednički skup pravila i uvjeta kojih se svako računalo mora pridržavati. Drugim riječima, protokoli određuju kako se podaci transmitizmeđu računalnih uređaja i preko mreža. Bez ovih zajedničkih pravila, uređaji različitih dobavljača ne bi mogli pouzdano razmjenjivati ​​promet.

Što je testiranje protokola?

Testiranje protokola je metoda provjere komunikacijskih protokola u domenama komutacije, bežičnog povezivanja, VoIP-a, usmjeravanja i sličnih mrežnih područja. Primarni cilj testiranja protokola je provjera strukture paketa koji se šalju putem mreže pomoću namjenskih alata za testiranje protokola. Usmjerivači i sklopke koriste se tijekom testiranja kao dijelovi uređaja i proizvoda koji se testiraju.

Sada kada smo definirali praksu, ispitajmo zašto je ova disciplina važna u proizvodnim mrežama.

Zašto je testiranje protokola važno

Moderne mreže nose kritična opterećenja poput VoIP poziva, financijskih transakcija i streaminga videa. Jedna greška u protokolu može prekinuti interoperabilnost između dobavljača, izgubiti pakete ili otkriti sigurnosne propuste. Testiranje protokola štiti kvalitetu provjerom odgovara li svaka implementacija protokola svojoj specifikaciji, skalira li se pod opterećenjem i ponaša li se predvidljivo tijekom kvarova.

S jasnom motivacijom, sljedeće pitanje je kako se protokoli kategoriziraju u stvarnim mrežama.

Usmjeravanje i protokoli usmjeravanja

Protokoli se klasificiraju u dvije kategorije: usmjeravani protokoli i protokoli usmjeravanja.

  • Usmjereni protokoli: Usmjereni protokoli koriste se za slanje korisničkih podataka iz jedne mreže u drugu. Oni prenose korisnički promet kao što su e-pošta, web promet i prijenos datoteka. Primjeri usmjerenih protokola su IP, IPX i AppleTalk.
  • Protokoli usmjeravanja: Protokoli usmjeravanja su mrežni protokoli koji određuju rute za usmjerivače. Koriste se samo između usmjerivača. Primjeri uključuju RIP, IGRP i EIGRP.

Jednostavnim riječima, Ruter je poput autobusa koji se koristi za prijevoz, dok su protokoli usmjeravanja signali na cesti.

Ovisno o vrsti komunikacije, koriste se različiti protokoli. Tvrtke poput Cisco, Juniper i Alcatel proizvode mrežne uređaje poput usmjerivača, modema i bežičnih pristupnih točaka koji koriste različite protokole za komunikaciju. Na primjer, Cisco koristi EIGRP i OSPF. Testiranje protokola u biti provjerava radi li EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First) ili bilo koji drugi protokol prema odgovarajućem standardu.

Vrste računalnih protokola

U donjoj tablici navedeni su najčešći protokoli s kojima će se tester susresti na žici.

Vrste protokola Svrha protokola
TCP / IP Koristi se za slanje informacija u malim paketima preko Interneta
UDP/ICMP Koristi se za slanje male količine informacija u podatkovnim paketima putem interneta.
POP3 i SMTP Koristi se za slanje i primanje pošte
Protokol prijenosa hiperteksta Koristi se za prijenos HTML stranica u šifriranom obliku kako bi se osigurala sigurnost osjetljivih podataka.
FTP Koristi se za prijenos datoteka preko mreže s jednog čvora na drugi

* TCP / IP - Transmission Kontrolni protokol/Internetski protokol, UDP/ICMP – Protokol korisničkog datagrama/protokol internetske kontrolne poruke, POP3 / SMTP – Poštanski protokol/Jednostavno Mail Protokol prijenosa, HTTP – Protokol za prijenos hiperteksta, FTP – Protokol za prijenos datoteka.

Različite vrste mrežnih protokola (L2 i L3)

OSI model ima ukupno sedam slojeva mrežne komunikacije, od kojih su sloj 2 (L2) i sloj 3 (L3) vrlo ključni za testiranje protokola.

  • Sloj 2 (L2): To je sloj podatkovne veze. MAC adresa, Ethernet, Token Ring i Frame Relay su primjeri sloja podatkovne veze.
  • Sloj 3 (L3): Mrežni sloj određuje najbolji dostupni put u mreži za komunikaciju. IP adresa je primjer L3 sloja.

Kako napraviti testiranje protokola

  • Za testiranje protokola potreban vam je analizator protokola i simulator.
  • Analizator protokola osigurava pravilno dekodiranje uz analizu poziva i sesija. Simulator simulira različite entitete mrežnog elementa.
  • Obično se testiranje protokola provodi pomoću DUT-a (uređaja koji se testira) spojenog na druge uređaje poput preklopnika i usmjerivača, na kojima je konfiguriran ciljni protokol.
  • Nakon toga, tester provjerava strukturu paketa koje su poslali uređaji.
  • Provjerava skalabilnost, performanse i ponašanje protokola algoritma uređaja pomoću alata poput IxNetworka, Scapyi Wireshark.

Vrste testiranja za testiranje protokola

Testiranje protokola uključuje testiranje funkcionalnosti, performansi, protokolnog stoga, interoperabilnosti i još mnogo toga. Tijekom testiranja protokola provode se tri osnovne provjere.

  • Ispravnost: Primamo li paket X kada ga očekujemo?
  • Latentnost: Koliko dugo paket prolazi kroz sustav?
  • Propusnost: Koliko paketa možemo poslati u sekundi?

Testiranje protokola može se podijeliti u dvije široke kategorije: testovi opterećenja i pouzdanosti te funkcionalni testovi. Testovi opterećenja i pouzdanosti obuhvaćaju Testiranje opterećenja, Ispitivanje stresai Ispitivanje performansi. Funkcionalno ispitivanje uključuje negativna testiranja, testiranja sukladnosti i testiranja interoperabilnosti.

  • Testiranje sukladnosti: Protokoli implementirani na proizvodima testirani su na usklađenost sa standardima kao što su IEEE i RFC.
  • Testiranje interoperabilnosti: Testira se interoperabilnost za različite dobavljače. Ovo testiranje se provodi nakon što je testiranje sukladnosti završeno na odgovarajućoj platformi.
  • Testiranje mrežnih značajki: Funkcionalnost mrežnih proizvoda testira se s obzirom na dokumentaciju o dizajnu. Na primjer, značajke mogu biti sigurnost portova na preklopniku ili ACL na usmjerivaču.

Primjeri testnih slučajeva za testiranje protokola mrežnih uređaja

Evo primjera skupa testnih slučajeva za usmjerivače i preklopnike.

Naziv testa Testni slučajevi
Jedan VLAN na jednom prekidaču Izgradite dva različita VLAN-a. Provjerite vidljivost između hostova na različitim VLAN-ovima.
Tri simetrična VLAN-a na jednom preklopniku Izradite tri različite asimetrične VLAN mreže. Provjerite vidljivost između hostova.
Spanning Tree: varijacija troškova korijenskog puta Testirajte kako se mijenja cijena korijenskog puta nakon varijacije topologije.
Spanning Tree: Blokiranje priključaka Provjerite kako protokol spanning tree izbjegava stvaranje ciklusa u mreži, blokirajući redundantne veze, u prisutnosti vlans previše.
Različiti korijenski most za različite MSTI Pokažite da svaki MSTI može imati drugačiji korijenski most.
Vidljivost između različitih STP regija S istim VLAN-ovima provjerite vidljivost između različitih STP regija.
Performanse telefonske sklopke Generirajte 1000 telefonskih poziva i provjerite radi li telefonska centrala još uvijek ili su se njezine performanse pogoršale.
Negativan test za uređaj Unesite netočan ključ i provjerite autentifikaciju. Korisniku ne bi trebao biti dopušten pristup.
Linijska brzina Provjerite radi li uređaj brzinom od 10 Gbps, koristeći svu dostupnu propusnost za obradu dolaznog prometa.
Brzina razgovora protokola Tracka TCP razgovor između dva uređaja i provjerava da li se svaki uređaj ispravno ponaša.
Vrijeme odgovora za pokretanje sesije Izmjerite vrijeme odgovora uređaja na zahtjev za poziv za pokretanje sesije.

Alati za testiranje protokola

Razmotrimo najvažnije alate za testiranje koji se koriste za provjeru protokola.

1) Scapy za izradu paketa

Scapy je moćan interaktivni program za manipulaciju paketima. Omogućuje vam:

  • Stvorite pakete
  • Dekodirajte pakete na mreži
  • Hvatajte pakete i analizirajte ih
  • Ubaciti pakete u mrežu

Dakle, u osnovi, Scapy uglavnom radi dvije stvari: primanje odgovora i slanje paketaDefinirate pakete, on ih šalje, prima odgovore, uspoređuje zahtjeve s odgovorima i vraća popis parova paketa i popis neusklađenih paketa.

Također može obavljati i druge zadatke kao što su trace-usmjeravanje, jedinični testovi, napadi, otkrivanje mreže, razvojping novi protokoli i sondiranje.

Scapy omogućuje vam da napišete Python skripta koja vam omogućuje izvršavanje zadataka poput slanja, primanja ili njuškanja paketa. Na primjer, Scapy može njuškati podatkovne pakete koristeći kratki Python skripta. Naredba za otvaranje uređivača prikazana je u nastavku.

#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

Njuškat će 10 paketa i čim ih bude njuškao, ispisati će sažetak. Scapy također ima niz naredbi za istovremeno slanje i primanje paketa.

Preuzimanje Scapy

2) Wireshark za analizu

Wireshark je vodeći alat koji se koristi za analizu testiranja protokola. Omogućuje vam snimanje paketa u stvarnom vremenu i njihov prikaz u obliku čitljivom ljudima. Možete duboko istražiti mrežni promet i pregledati pojedinačne pakete pomoću kodiranja bojama i filtera.

Wireshark hvata pakete koji pomažu u određivanju kada se sesija uspostavlja, kada je točno pokrenut prijenos podataka i koliko se podataka šalje svaki put.

Wireshark ima bogat skup značajki koji uključuje:

  • Temeljit pregled stotina protokola, a stalno se dodaju novi
  • Snimanje uživo i offline analiza
  • Bogata VoIP analiza
  • Standardni preglednik paketa s tri panela
  • Radi na više platformi kao što su Windows, Linux i macOS
  • Snimljeni mrežni podaci mogu se pregledavati putem GUI-ja
  • Podrška za dešifriranje mnogih protokola kao što su IPsec, ISAKMP i SSL/TLS
  • Podaci uživo mogu se čitati s Etherneta, ATM-a, Bluetootha, USB-a i Token Ringa
  • Izlaz se može izvesti u CSV, XML i običan tekst

Preuzimanje Wireshark

3) TTCN

TTCN je standardni jezik za testiranje koji definira Testni scenariji i njihovu implementaciju za testiranje protokola. TTCN testni paket sadrži mnogo testnih slučajeva napisanih u programskom jeziku TTCN i koristi se za testiranje reaktivnih sustava ili testiranje ponašanja.

Na primjer, razmotrite aparat za kavu koji toči kavu kada se ubaci kovanica od jednog dolara, ali ne reagira ako se ubaci manje od dolara. Za programiranje takvih aparata koristi se TTCN-3. Da bi aparat za kavu reagirao kada se ubaci kovanica, pišete komponentu TTCN-3 koja se ponaša kao aparat za kavu. To vam omogućuje pokretanje testova prije nego što stvarni aparat za kavu postane dostupan kao proizvod. Nakon što to učinite, možete spojiti TTCN-3 testni paket s vanjskim uređajem.

TTCN

Testni sustav emitira podražaje (kovanicu od jednog dolara) i prima odgovore (kavu). Adapter podražaja prima podražaje iz testnog sustava i prosljeđuje ih testiranom sustavu. Adapter odgovora čeka odgovore testiranog sustava i prosljeđuje ih testnom sustavu.

TTCN-3 se može koristiti u raznim područjima kao što su:

  • Mobilne komunikacije (LTE, WiMAX, 3G)
  • Širokopojasne tehnologije (ATM, DSL)
  • Middleware platforme (web servisi, CORBA)
  • Internetski protokoli (SIP, IMS, IPv6)
  • Smart kartice
  • Automobili (AutoSAR, MOST, CAN)

U TTCN-u možete definirati:

  • Kompleti za testiranje
  • Testni slučajevi
  • Ispitni koraci
  • Deklarirane varijable
  • Deklarirani tajmeri
  • PDU-ovi i više

TTCN se može integrirati sa sustavima napisanim u drugim jezicima kao što je ASN.1, XMLi C/C++Osnovni jezik TTCN-3 postoji u tekstualnom formatu, uz tablični, grafički i prezentacijski format.

Kako primijeniti testiranje protokola u praksi

Za primjenu ovih tehnika na stvarnom projektu, definirajte opseg protokola (L2, L3 ili više), postavite DUT s priključenim simulatorom i analizatorom, izradite nacrte testnih slučajeva sukladnosti i negativnih testnih slučajeva s referencom na RFC ili IEEE specifikacije, a zatim pokrenite provjere naprezanja, interoperabilnosti i anomalija uz pomoć umjetne inteligencije. Snimite rezultate u Wireshark i ponavljati sve dok ponašanje paketa ne odgovara standardu.

Pitanja i odgovori

Testiranje protokola provjerava šalju li komunikacijski protokoli na preklopnicima, usmjerivačima i sličnim uređajima dobro oblikovane pakete i ponašaju li se prema standardima u domenama preklopa, usmjeravanja, VoIP-a i bežičnih mreža.

L2 testiranje fokusira se na sloj podatkovne veze kao što su MAC, Ethernet i Frame Relay, dok L3 testiranje validira protokole usmjeravanja mrežnog sloja poput IP-a, OSPF-a i EIGRP-a koji odabiru optimalne putove između mreža.

Wireshark za snimanje i dekodiranje uživo, Scapy Za izradu paketa, IxNetwork za generiranje prometa i TTCN-3 za pakete testova ponašanja standardni su alati koje koriste inženjeri za testiranje mreža.

Testiranje sukladnosti provjerava da implementacija protokola strogo slijedi svoju specifikaciju, kao što je IEEE standard ili IETF RFC, tako da uređaji različitih dobavljača predvidljivo međusobno djeluju na istoj mreži.

Modeli umjetne inteligencije uče osnovne obrasce paketa, a zatim generiraju negativne testne slučajeve, predviđaju rizik regresije u promjenama usmjeravanja i automatski određuju prioritet neuspjelih scenarija kako bi inženjeri testiranja pokrili više protokolnih putova u kraćem vremenu.

Da. Klasifikatori strojnog učenja unose Wireshark ili NetFlow bilježi, označava neuobičajenu latenciju, podrhtavanje ili oblike paketa u odnosu na naučene osnovne vrijednosti i prikriva nepravilno ponašanje protokola prije nego što izazove prekide u produkcijskim mrežama.

Sažmite ovu objavu uz: