Handledning för protokolltestning: L2 & L3

Innan vi lär oss om protokolltestning, låt oss förstå:

Vad är protokoll?

När en dator kommunicerar med varandra finns det en gemensam uppsättning regler och villkor som varje dator måste följa. Med andra ord bestämmer protokoll hur data överförs mellan datorenheter och över nätverk.

Protokolltestning

Protokolltestning är en metod för att kontrollera kommunikationsprotokoll inom domänerna Switching, Wireless, VoIP, Routing, etc. Det primära målet med protokolltestning är att kontrollera strukturen för paket som skickas över ett nätverk med hjälp av protokolltestverktyg. Routrar och switchar används under testet för att bilda delar av enheter och produkter som testas.

Routade och routingprotokoll

Protokoll delas in i två kategorier dirigerade protokoll och routingprotokoll

  • Ruttade protokoll: Routerade protokoll kan användas för att skicka användardata från ett nätverk till ett annat nätverk. Den bär användartrafik som e-post, webbtrafik, filöverföringar, etc. Routerade protokoll är IP, IPX och AppleTalk.
  • Routingprotokoll: Routningsprotokoll är nätverksprotokoll som bestämmer rutter för routrar. Den används bara mellan routrar. Till exempel RIP, IGRP, EIGRP, etc.

I enkla termer, en router är som en buss som används för transport medan routingprotokoll är signaler på vägen.

Beroende på typen av kommunikation används olika protokoll. Företag som CISCO, JUNIPER, ALCATEL producerar nätverksenheter som routrar, modem, trådlösa åtkomstpunkter, etc. som använder olika protokoll för kommunikation, till exempel, Cisco använder EIGRP, OSPF, etc. Protokolltestning är inget annat än att kontrollera om EIGRP (Enhanced Interior Gateway Routing Protocol) eller OSPF (Open Shortest Path First) eller något annat protokoll fungerar enligt respektive standard.

Typer av datorprotokoll

Typer av protokoll Syftet med protokollen
TCP / IP- Den används för att skicka information i små paket över Internet
UDP/ICMP Det används för att skicka en liten mängd information i datapaket över internet
POP3 och SMTP Den används för att skicka och ta emot post
Protokoll för hypertextöverföring Den används för att överföra HTML-sida i krypterad form för att ge säkerhet åt känsliga data
FTP Den används för att transportera filer över ett nätverk från en nod till en annan

* TCP / IP-- Transmission Kontrollprotokoll/Internetprotokoll, UDP / ICMP– User Datagram Protocol/Internet Control Message Protocol, POP3 / SMTP– Post Office Protocol / Enkelt Mail Överföringsprotokoll, HTTP– Hyper Text Transfer Protocol, FTP- Filöverföringsprotokoll

Olika typer av nätverksprotokoll (L2 och L3)

OSI-modellen har totalt 7 lager av nätverkskommunikation, där lager 2 och lager 3 är mycket avgörande.

  • Layer 2: Det är ett datalänkslager. Mac-adress, Ethernet, Token Ring och Frame Relay är alla exempel på datalänkslager.
  • Layer 3: Det är ett nätverkslager som bestämmer den bästa tillgängliga vägen i nätverket för kommunikation. En IP-adress är ett exempel på lager3.

Hur man gör protokolltestning

  • För protokolltestning behöver du protokollanalysator och simulator
  • Protokollanalysator säkerställer korrekt avkodning tillsammans med samtals- och sessionsanalys. Medan simulator simulerar olika enheter av nätverkselement
  • Vanligtvis utförs en protokolltestning av DUT (enhet under test) till andra enheter som switchar och routrar och konfigurerar protokoll i den
  • Därefter kontrolleras paketstrukturen för de paket som skickas av enheterna
  • Den kontrollerar skalbarhet, prestanda, protokollalgoritm etc. för enheten med hjälp av verktyg som lxNetworks, Scapy och Wireshark

Testtyper för protokolltestning

Protokolltestning inkluderar testning av funktionalitet, prestanda, protokollstack, interoperabilitet, etc. Under protokolltestning görs i princip tre kontroller.

  • korrekt~~POS=TRUNC: Får vi paket X när vi förväntade oss
  • Latens: Hur lång tid tar ett paket att överföra systemet
  • Bandbredd: Hur många paket vi kan skicka per sekund

Protokolltestning kan delas upp i två kategorier. Stress- och tillförlitlighetstester och funktionstester. Stress- och tillförlitlighetstester täcker Lasttestning, Stresstestning, Prestandatester, etc. Medan funktions~~POS=TRUNC inkluderar negativ testning, överensstämmelsetestning, interoperabilitetstestning, etc.

  • Överensstämmelsetestning: Protokollen som implementeras på produkter är testade för efterlevnad som IEEE, RFC och så vidare
  • Interoperabilitetstestning: Interoperabiliteten för olika leverantörer testas. Denna testning görs efter att överensstämmelsetestning har gjorts på lämplig plattform
  • Nätverksfunktionstestning: Funktionerna hos nätverksprodukter testas för funktionalitet med hänvisning till designdokumentet. Funktioner kan till exempel vara port-säkerhet på en switch, ACL på en router etc.

Exempel på testfall för protokolltestning av nätverksenheter

Här är ett exempel på testfallet för routrar

Testnamn Test Cases
Ett VLAN på en switch Bygg två olika VLAN. Kontrollera synligheten mellan värdar på olika VLAN
Tre symmetriska VLAN på en switch Skapa tre olika asymmetriska VLAN. Kontrollera synligheten mellan värdarna
Spännande träd: Variation av rotvägskostnad Testa hur kostnaden för rotvägen ändras efter en topologivariation
Spännande träd: Portblockering Kontrollera hur spaning tree-protokollet undviker bildandet av cykler i nätverket, blockerar redundanta länkar, i närvaro av VLAN alltför
Olika rotbryggor för olika MSTI Visa att varje MSTI kan ha olika Root Bridge
Synlighet mellan olika STP-regioner Med samma VLAN kontrollera synligheten mellan olika STP-regioner
Telefonväxel Prestanda Generera 1000 telefonsamtal och kontrollera om telefonväxeln fortfarande fungerar eller om dess prestanda försämras
Negativt test för enhet Ange felaktig nyckel och kontrollera användarens autentisering. Det bör inte tillåta en användare att komma åt
Linjens hastighet Kontrollera att enheten fungerar med en hastighet på 10 Gbps och använd all tillgänglig bandbredd för att hantera inkommande trafik
Protokollkonversationshastighet Spåra en TCP-konversation mellan två enheter och verifiera att varje enhet har ett korrekt beteende
Svarstid för sessionsinitiering Mät svarstiden för en enhet på en inbjudningsförfrågan för sessionsinitiering

Verktyg för protokolltestning

Låt oss diskutera de viktigaste testverktygen som används för att verifiera protokoll

1) Scapy För Packet Crafting

Scapy är ett kraftfullt interaktivt paketmanipuleringsprogram. Det gör det möjligt för dig

  • Skapa paket
  • Avkoda paket på nätverket
  • Fånga paket och analysera dem
  • Injicera paket i nätverket

Så i grund och botten gör scapy huvudsakligen två saker: ta emot svar och skicka paket. Du definierar paketen, den skickar dem, tar emot svar, matchar förfrågningar med svar och returnerar en lista över paketpar och en lista med omatchade paket.

Den kan också hantera andra saker som spår-routing, enhetstester, attacker eller nätverksupptäckt, utveckla nya protokoll, sondering, etc.

Scapy gör det möjligt för oss att skriva en Python skript som låter oss utföra en uppgift som att skicka och ta emot paket eller sniffa paket. Till exempel kan scapy sniffa datapaketet genom att använda en Python manus. Kommandot för att öppna getdit angavs i editorn

#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
# ./scaotsbuff.py

Den kommer att sniffa 10 paket och snart när den har sniffat 10 paket kommer den att skriva ut sammanfattningen. Scapy även som en uppsättning av kommandon för att skicka och ta emot paket samtidigt

Download Scapy

2) Wireshark Verktyg för analys

Verktyg som används för protokolltestning- Wireshark. Det gör det möjligt att fånga paket i realtid och visa dem i läsbar form. Det låter dig gräva djupt i nätverkstrafiken och inspektera enskilda paket genom att använda färgkodning och filter.

Wireshark fångar paket som hjälper till att avgöra när sessionen etableras, när den exakta dataresan initierades och hur mycket data som skickas varje gång, etc.

Wireshark har en uppsättning rika funktioner som inkluderar

  • En grundlig inspektion av hundratals protokoll, fler läggs till hela tiden
  • Livefångst och offlineanalys
  • Rik VoIP-analys
  • Standard webbläsare med tre paneler
  • Körs på flera plattformar som Windows, Linux, OSX och så vidare
  • Fångad nätverksdata kan bläddras via ett GUI
  • Dekryptering stöder många protokoll som IPsec, ISAKMP, SSL/TLS
  • Livedata kan läsas från Ethernet, ATM, Bluetooth, USB, token etc.
  • Utdata kan exporteras till CSV, XML, vanlig text, etc.

Download Wireshark

TTCN

TCCN är ett standardtestspråk för att definiera Testscenario och deras implementering för protokolltestning. En TCCN-testsvit innehåller många testfall skrivna i TTCN-programmeringsspråket och den används för testning reaktiva system eller beteendetestning.

Till exempel en kaffeautomat som ger dig kaffe när du sätter in ett dollarmynt men som inte svarar om något mindre än en dollar sätts in i den. För att programmera sådana maskiner används TCCN3-språket. För att få kaffemaskinen att reagera när man sätter in ett mynt måste vi skriva TCCN-3 komponent som beter sig som en kaffemaskin. Det gör att vi kan köra vårt test innan en riktig kaffemaskin är tillgänglig som produkt. När det är gjort kommer vi att ansluta TCCN3-testsviten med den externa enheten.

TTCN

Testsystemet avger stimuli (dollarmynt) och tar emot svar (kaffe). Stimuliadaptern hämtar stimuli från testsystemet och skickar dem till systemet som testas. Svarsadaptern väntar på svar från systemet som testas och skickar dem till testsystemet.

TCCN3 kan användas inom olika områden som

  • Mobil kommunikation (LTE, WiMAX, 3G etc)
  • Bredbandsteknik (ATM, DSL)
  • Mellanvaruplattformar (webbtjänster, CORBA etc)
  • Internetprotokoll (SIP, IMS, IPv6)
  • smarta kort
  • Fordon (AutoSAR, MOST, CAN)

I TCCN kan vi definiera

  • Testsviter
  • Test Cases
  • Teststeg
  • Deklarera variabler
  • Ange timer
  • Skapa PDUs etc.

TCCN kan integreras med typer av system för andra språk som ASN.1, XML, C/C++. TCCN3 kärnspråk finns i textformat förutom andra format som tabellform, grafisk och presentation.