Tutorial de testare a protocolului: L2 & L3

Cuprins:

Anonim

Înainte de a afla despre testarea protocolului, să înțelegem:

Ce este Protocolul?

Atunci când un computer comunică între ele, există un set comun de reguli și condiții pe care fiecare computer trebuie să le respecte. Cu alte cuvinte, protocoalele determină modul în care datele sunt transmise între dispozitivele de calcul și prin rețele.

Testarea protocolului

Testarea protocolului este o metodă de verificare a protocoalelor de comunicații în domeniile Switching, Wireless, VoIP, Routing etc. Scopul principal al testării protocolului este de a verifica structura pachetelor care sunt trimise printr-o rețea folosind instrumente de testare a protocolului. Routerele și comutatoarele sunt utilizate în timpul testului pentru a forma părți ale dispozitivelor și produselor supuse testării.

Protocoale de rutare și rutare

Protocoalele sunt clasificate în două categorii de protocoale rutate și protocoale de rutare

  • Protocoale rutate : Protocoalele rutate pot fi utilizate pentru a trimite datele utilizatorului dintr-o rețea în alta rețea. Acesta transportă traficul utilizatorilor, cum ar fi e-mail-uri, trafic web, transferuri de fișiere, etc.
  • Protocoale de rutare : protocoalele de rutare sunt protocoale de rețea care determină rutele pentru routere. Este utilizat numai între routere. De exemplu RIP, IGRP, EIGRP etc.

În termeni simpli, un router este ca un autobuz folosit pentru transport, în timp ce protocoalele de rutare sunt semnale pe drum.

Pe baza tipului de comunicare sunt utilizate diferite protocoale. Companii precum CISCO, JUNIPER, ALCATEL produc dispozitive de rețea precum routere, modemuri, puncte de acces wireless etc., care utilizează diferite protocoale pentru comunicații, de exemplu, Cisco folosește EIGRP, OSPF etc. Gateway Routing Protocol) sau OSPF (Open Shortest Path First) sau orice alt protocol funcționează conform standardului respectiv.

Tipuri de protocoale de computer

Tipuri de protocoale Scopul protocoalelor
TCP / IP Este folosit pentru a trimite informații în pachete mici prin Internet
UDP / ICMP Este folosit pentru a trimite o cantitate mică de informații în pachete de date prin internet
POP3 și SMTP Este utilizat pentru trimiterea și primirea de e-mail
Protocol de transfer hipertext Este folosit pentru a transfera pagina HTML în formă criptată pentru a oferi securitate datelor sensibile
FTP Este folosit pentru transportul fișierelor printr-o rețea de la un nod la altul

* TCP / IP - Protocol de control al transmisiei / protocol Internet, UDP / ICMP - User Datagram Protocol / Internet Control Message Protocol, POP3 / SMTP - Post Office Protocol / Simple Mail Transfer Protocol, HTTP - Hyper Text Transfer Protocol, FTP - File Transfer Protocol

Diferite tipuri de protocoale de rețea (L2 și L3)

Modelul OSI are în total 7 straturi de comunicare în rețea, în care stratul 2 și stratul 3 sunt foarte importante.

  • Stratul 2 : Este un strat de legătură de date. Adresa Mac, Ethernet, Token Ring și Frame Relay sunt toate exemple de strat de legătură de date.
  • Stratul 3 : Este un strat de rețea care determină cea mai bună cale disponibilă în rețea pentru comunicare. O adresă IP este un exemplu de layer3.

Cum se face testarea protocolului

  • Pentru testarea protocolului, aveți nevoie de un analizor și simulator de protocol
  • Analizatorul de protocol asigură o decodificare adecvată, împreună cu analiza apelurilor și sesiunilor. În timp ce simulatorul simulează diferite entități ale elementului de rețea
  • De obicei, o testare a protocolului este efectuată de DUT (dispozitiv sub test) către alte dispozitive, cum ar fi switch-uri și routere și configurarea protocolului în acesta
  • Ulterior se verifică structura pachetelor pachetelor trimise de dispozitive
  • Verifică scalabilitatea, performanța, algoritmul de protocol etc. al dispozitivului utilizând instrumente precum lxNetworks, Scapy și Wireshark

Tipuri de testare pentru testarea protocolului

Testarea protocolului include testarea funcționalității, performanței, stivei de protocol, interoperabilitate etc. În timpul testării protocolului, practic, se fac trei verificări.

  • Corectitudine : Primim pachetul X când ne așteptam
  • Latență : cât durează un pachet pentru a tranzita sistemul
  • Lățime de bandă : câte pachete putem trimite pe secundă

Testarea protocolului poate fi separată în două categorii. Teste de stres și fiabilitate și teste funcționale. Testele de stres și fiabilitate acoperă testarea sarcinii, testarea stresului, testarea performanței etc. În timp ce testarea funcțională include testarea negativă, testarea conformității, testarea interoperabilității etc.

  • Testarea conformității : Protocoalele implementate pe produse sunt testate pentru aderență, cum ar fi IEEE, RFC etc.
  • Testarea interoperabilității : interoperabilitatea pentru diferiți furnizori este testată. Această testare se face după ce testarea conformității se face pe platforma corespunzătoare
  • Testarea caracteristicilor de rețea : Caracteristicile produselor de rețea sunt testate pentru funcționalitate cu referire la documentul de proiectare. De exemplu, caracteristicile pot fi securitatea portului pe un switch, ACL pe un router etc.

Exemple de cazuri de testare pentru testarea protocolului dispozitivelor de rețea

Iată exemplul de caz de testare pentru routere

Numele testului Cazuri de testare
  1. Un VLAN pe un singur comutator
  • Construiți două VLAN-uri diferite. Verificați vizibilitatea între gazde pe diferite VLAN-uri
  1. Trei VLAN-uri simetrice pe un singur comutator
  • Creați trei VLAN-uri asimetrice diferite. Verificați vizibilitatea între gazde
  1. Arborele care se întinde: Variația costului traseului rădăcină
  • Testați cum se modifică Costul traseului rădăcină după o variație a topologiei
  1. Arborele de întindere: blocarea porturilor
  • Verificați modul în care protocolul arborescențial evită formarea de cicluri în rețea, blocând legăturile redundante, și în prezența VLAN-urilor
  1. Pod diferit pentru diferite MSTI
  • Arată că fiecare MSTI poate avea Root Bridge diferit
  1. Vizibilitate între diferite regiuni STP
  • Cu aceleași VLAN-uri verificați vizibilitatea între diferite regiuni STP
  1. Performanța comutatorului telefonic
  • Generați 1000 de apeluri telefonice și verificați dacă întrerupătorul telefonului funcționează în continuare sau dacă performanța acestuia se degradează
  1. Test negativ pentru dispozitiv
  • Introduceți cheia incorectă și verificați utilizatorul pentru autentificare. Nu ar trebui să permită accesul unui utilizator
  1. Viteza liniei
  • Verificați dispozitivul care funcționează la o viteză de 10 Gbps, utilizând toată lățimea de bandă disponibilă pentru a gestiona traficul de intrare
  1. Rata conversației protocolului
  • Urmăriți o conversație TCP între două dispozitive și verificați dacă fiecare dispozitiv a avut un comportament corect
  1. Timp de răspuns pentru inițierea sesiunii
  • Măsurați timpul de răspuns al unui dispozitiv la o solicitare de invitație pentru inițierea sesiunii

Instrumente pentru testarea protocolului

Să discutăm cele mai importante instrumente de testare utilizate pentru verificarea protocoalelor

Scapy pentru realizarea pachetelor

Scapy este un puternic program interactiv de manipulare a pachetelor. Vă permite

  • Creați pachete
  • Decodează pachetele din rețea
  • Captează pachete și analizează-le
  • Injectați pachete în rețea

Deci, practic, scapy face în principal două lucruri: primirea răspunsurilor și trimiterea pachetelor . Definiți pachetele, le trimite, primește răspunsuri, potriveste cererile cu răspunsurile și returnează o listă de cupluri de pachete și o listă de pachete de neegalat.

Poate gestiona și alte lucruri, cum ar fi traseul de rutare, testele unitare, atacurile sau descoperirea rețelei, dezvoltarea de noi protocoale, sondarea etc.

Scapy ne permite să scriem un script Python care ne permite să realizăm o sarcină precum trimiterea și primirea pachetelor sau adulmecarea pachetelor. De exemplu, scapy poate adulmeca pachetul de date folosind un script Python. Comanda de deschidere a getdit-ului introdusă în editor

#gedit scapysniff.py#! / usr / bin / env pythondin import scapy.all *a = sniff (count = 10)a. rezumat ()salvați și schimbați modul fișierului într-o formă executabilă# chmod + x scapysniff.py# ./scaotsbuff.py

Va adulmeca 10 pachete și, de îndată ce a adulmecat 10 pachete, va imprima rezumatul. Scapy, de asemenea, ca o serie de comenzi pentru trimiterea și primirea pachetelor în același timp

Descărcați Scapy

Instrumente Wireshark pentru analiză

Instrumente utilizate pentru testarea protocolului - Wireshark. Permite capturarea pachetelor în timp real și afișarea lor într-o formă care poate fi citită de om. Vă permite să vă adânciți în traficul de rețea și să inspectați pachetele individuale utilizând codarea culorilor și filtrele.

Wireshark captează pachete care ajută la determinarea momentului în care se stabilește sesiunea, când a fost inițiată călătoria exactă a datelor și cât de multe date sunt trimise de fiecare dată etc.

Wireshark are un set de caracteristici bogate, care include

  • O inspecție amănunțită a sutelor de protocoale, mai multe fiind adăugate tot timpul
  • Captură live și analiză offline
  • Analiză bogată VoIP
  • Browser standard cu trei panouri
  • Se execută pe mai multe platforme precum Windows, Linux, OSX și așa mai departe
  • Datele de rețea capturate pot fi parcurse printr-o interfață grafică
  • Decriptarea acceptă multe protocoale precum IPsec, ISAKMP, SSL / TLS
  • Datele live pot fi citite de pe Ethernet, ATM, Bluetooth, USB, token etc.
  • Ieșirea poate fi exportată în CSV, XML, text simplu etc.

Descărcați Wireshark

TTCN

TCCN este un limbaj de testare standard pentru definirea scenariului de testare și implementarea lor pentru testarea protocolului. O suită de testare TCCN conține multe cazuri de test scrise în limbajul de programare TTCN și este utilizată pentru testarea sistemelor reactive sau testarea comportamentală .

De exemplu, un automat de cafea care vă oferă cafea la introducerea unei monede de dolar, dar nu răspunde dacă este introdus ceva mai mic decât un dolar. Pentru a programa astfel de mașini se folosește limbajul TCCN3. Pentru a face ca mașina de cafea să răspundă la introducerea unei monede, trebuie să scriem componenta TCCN-3 care se comportă ca o mașină de cafea. Ne permite să efectuăm testul înainte ca un aparat de cafea să fie disponibil ca produs. Odată ce ați terminat, vom conecta suita de testare TCCN3 cu dispozitivul extern.

Sistemul de testare emite stimuli (monedă în dolari) și primește răspunsuri (cafea). Adaptorul de stimuli obține stimuli din sistemul de testare și îi trece la sistemul testat. Adaptorul de răspuns așteaptă răspunsurile sistemului testat și le transmite sistemului de testare.

TCCN3 poate fi utilizat în diferite domenii, cum ar fi

  • Comunicații mobile (LTE, WiMAX, 3G etc.)
  • Tehnologii de bandă largă (ATM, DSL)
  • Platforme middleware (servicii web, CORBA etc.)
  • Protocol Internet (SIP, IMS, IPv6)
  • Carduri inteligente
  • Automobile (AutoSAR, MOST, CAN)

În TCCN putem defini

  • Suită de testare
  • Cazuri de testare
  • Pașii de testare
  • Declarați variabilele
  • Declarați cronometrele
  • Creați PDU-uri etc.

TCCN poate fi integrat cu tipuri de sisteme din alte limbi, cum ar fi ASN.1, XML, C / C ++. Limbajul de bază TCCN3 există în format text, în afară de alte formate, cum ar fi tabel, grafic și prezentare.