Handledning för testning av protokoll: L2 och 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 beräkningsenheter och över nätverk.

Protokolltestning

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

Routed and Routing Protocols

Protokoll indelas i två kategorier dirigerade protokoll och routningsprotokoll

  • Dirigerade protokoll : Dirigerade protokoll kan användas för att skicka användardata från ett nätverk till ett annat nätverk. Den transporterar användartrafik som e-post, webbtrafik, filöverföringar etc. Routade protokoll är IP, IPX och AppleTalk.
  • Routing Protocols : Routingsprotokoll är nätverksprotokoll som bestämmer rutter för routrar. Det 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 routingsprotokoll är signaler på vägen.

Baserat på kommunikationstyp 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 använder Cisco 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 Syfte med protokoll
TCP/IP Den används för att skicka information i små paket över Internet
UDP/ ICMP Den 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 e -post
Hypertextöverföringsprotokoll Den används för att överföra HTML -sida i krypterad form för att ge känslig data säkerhet
FTP Den används för att transportera filer över ett nätverk från en nod till en annan

* TCP/IP - Transmission Control Protocol/ Internet protocol, UDP / ICMP - User Datagram Protocol/Internet Control Message Protocol, POP3/SMTP - Protokoll för postkontor / Simple Mail Transfer Protocol, HTTP - Hyper Text Transfer Protocol, FTP - Filöverföringsprotokoll

Olika typer av nätverksprotokoll (L2 och L3)

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

  • Skikt 2 : Det är ett datalänkskikt. Mac -adress, Ethernet, Token Ring och Frame Relay är alla exempel på datalänkskikt.
  • Skikt 3 : Det är ett nätverkslager som bestämmer den bästa tillgängliga sökvä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 simulatorn simulerar olika enheter i nätverkselement
  • Vanligtvis utförs en protokolltestning av DUT (enhet under testning) till andra enheter som switchar och routrar och konfigurerar protokoll i den
  • Kontrollera därefter paketstrukturen för de paket som skickas av enheterna
  • Den kontrollerar enhetens skalbarhet, prestanda, protokollalgoritm etc. med hjälp av verktyg som lxNetworks, Scapy och Wireshark

Testtyper för protokolltestning

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

  • Korrekthet : Får vi paket X när vi förväntade oss
  • Latens : Hur lång tid tar ett paket att transportera systemet
  • Bandbredd : Hur många paket kan vi skicka per sekund

Protokollprovning kan delas in i två kategorier. Stress- och tillförlitlighetstester och funktionella tester. Stress- och tillförlitlighetstester omfattar Lastprovning , Stresstest , Prestandatester , etc. Medan Funktionell testning inkluderar negativ testning, överensstämmelsestest, driftskompatibilitetstest etc.

  • Överensstämmelsestestning : Protokollen som implementeras på produkter testas för överensstämmelse som IEEE, RFC etc.
  • Interoperabilitetstest : Interoperabilitet för olika leverantörer testas. Denna testning görs efter att överensstämmelsestest har utförts på lämplig plattform
  • Nätverksfunktionstestning: Funktionerna i nätverksprodukter testas för funktionalitet med hänvisning till designdokumentet. Till exempel kan funktioner vara portsäkerhet på en switch, ACL på en router etc.

Provtest för protokolltestning av nätverksenheter

Här är provtestfallet för routrar

Testnamn Testfall
  1. Ett VLAN på en switch
  • Bygg två olika VLAN. Kontrollera synligheten mellan värdar på olika VLAN
  1. Tre symmetriska VLAN på en switch
  • Skapa tre olika asymmetriska VLAN. Kontrollera synligheten mellan värdar
  1. Spanning Tree: Root Path Cost Variation
  • Testa hur rotvägskostnaden ändras efter en topologivariant
  1. Spanningsträd: Portblockering
  • Kontrollera hur spanträdprotokoll undviker bildandet av cykler i nätverket, blockerar redundanta länkar, även i närvaro av VLAN
  1. Olika rotbro för olika MSTI
  • Visa att varje MSTI kan ha olika Root Bridge
  1. Synlighet mellan olika STP -regioner
  • Med samma VLAN kontrollerar du synligheten mellan olika STP -regioner
  1. Telefonbrytare Prestanda
  • Generera 1000 telefonsamtal och kontrollera om telefonomkopplaren fortfarande fungerar eller att dess prestanda försämras
  1. Negativt test för enheten
  • Ange fel nyckel och kontrollera användarens autentisering. Det bör inte tillåta en användare att komma åt
  1. Linjehastighet
  • Kontrollera att enheten fungerar med 10 Gbps hastighet och utnyttja all tillgänglig bandbredd för att hantera inkommande trafik
  1. Protokollkonversationshastighet
  • Spåra en TCP -konversation mellan två enheter och kontrollera att varje enhet har ett korrekt beteende
  1. Svarstid för sessionstart
  • Mät responstiden för en enhet på en inbjudningsbegäran för sessionstart

Verktyg för protokolltestning

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

Scapy för pakettillverkning

Scapy är ett kraftfullt interaktivt paketmanipuleringsprogram. Det gör att du kan

  • Skapa paket
  • Avkoda paket i nätverket
  • Fånga paket och analysera dem
  • Mata in paket i nätverket

Så i princip gör scapy huvudsakligen två saker: ta emot svar och skicka paket . Du definierar paketen, det skickar dem, tar emot svar, matchar förfrågningar med svar och returnerar en lista med paketpar och en lista med oöverträffade paket.

Det kan också hantera andra saker, såsom spårning, enhetstester, attacker eller nätverksupptäckt, utveckla nya protokoll, sondering etc.

Scapy gör att vi kan skriva en Pytonorm skript som gör att vi kan utföra en uppgift som att skicka och ta emot paket eller sniffa paket. Till exempel kan scapy sniffa upp datapaketet med ett Python -skript. Kommandot för att öppna getdit som anges i redigeraren | _+_ |

Det kommer att sniffa 10 paket och så snart det har nosat 10 paket kommer det att skriva ut sammanfattningen. Scapy också som en uppsättning kommandon för att skicka och ta emot paket samtidigt

Ladda ner Scapy

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 med hjälp av 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
  • Live capture och offline -analys
  • Rik VoIP -analys
  • Standard webbläsare med tre rutor
  • Körs på flera plattformar som Windows, Linux, OSX och så vidare
  • Insamlade nätverksdata kan bläddras via ett GUI
  • Dekryptering stöder många protokoll som IPsec, ISAKMP, SSL/TLS
  • Levande data kan läsas från Ethernet, bankomat, Bluetooth, USB, token etc.
  • Utdata kan exporteras till CSV, XML, vanlig text, etc.

Ladda ner Wireshark

TTCN

TCCN är ett standardtestspråk för att definiera testscenario och deras implementering för protokolltestning. En TCCN -testserie innehåller många testfall skrivna på TTCN -programmeringsspråket och den används för testning reaktiva system eller beteendemässiga tester .

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

Testsystemet avger stimuli (dollarmynt) och tar emot svar (kaffe). Stimuleringsadaptern får stimuli från testsystemet och skickar dem till systemet som testas. Svarskortet 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)
  • Middleware -plattformar (Webservices, CORBA etc)
  • Internetprotokoll (SIP, IMS, IPv6)
  • Smarta kort
  • Fordon (AutoSAR, MOST, CAN)

I TCCN kan vi definiera

  • Testsviter
  • Testfall
  • Teststeg
  • Deklarera variabler
  • Deklarera timer
  • Skapa PDU etc.

TCCN kan integreras med systemtyper på andra språk som ASN.1, XML, C/C ++. TCCN3 -kärnspråk finns i textformat bortsett från andra format som tabell, grafik och presentation.