Protokolltesthandledning: L2 & L3

Innehållsförteckning:

Anonim

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 omkopplare används under testet för att bilda delar av enheter och produkter som testas.

Routed och Routing-protokoll

Protokoll klassificeras i två kategorier dirigerade protokoll och dirigeringsprotokoll

  • Routed Protocols : Routed Protocols 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. Ruttade protokoll är IP, IPX och AppleTalk.
  • Routing Protocols : Routing protocols är nätverksprotokoll som bestämmer rutter för routrar. Den används endast mellan routrar. Till exempel RIP, IGRP, EIGRP, etc.

Enkelt uttryckt är en router som en buss som används för transport medan routingprotokoll är signaler på vägen.

Baserat 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 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
Protokoll för hypertextöverföring Den används för att överföra HTML-sida i krypterad form för att ge känslig information känslig 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 - Post Office Protocol / Simple Mail Transfer Protocol, HTTP - Hyper Text Transfer Protocol, FTP - File Transfer Protocol

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 viktiga.

  • Layer 2 : Det är ett datalänklager. Mac-adress, Ethernet, Token Ring och Frame Relay är alla exempel på datalänklager.
  • Layer 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å layer3.

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
  • Kontrollera därefter paketstrukturen för paketen 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, protokollstack, interoperabilitet etc. Under protokolltestning görs i princip tre kontroller.

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

Protokolltestning kan delas in i två kategorier. Stress- och tillförlitlighetstester och funktionstester. Stress- och tillförlitlighetstest omfattar belastningstest, stresstestning, prestandatestning etc. Medan funktionstestning inkluderar negativa tester, överensstämmelsestest, interoperabilitetstest etc.

  • Test av överensstämmelse : De protokoll som implementeras på produkter testas för att följa dem som IEEE, RFC etc.
  • Interoperabilitetstest : Interoperabilitet för olika leverantörer testas. Denna testning görs efter överensstämmelsestestning på lämplig plattform
  • Test av nätverksfunktioner : Funktionerna i nätverksprodukter testas för funktionalitet med hänvisning till designdokumentet. Till exempel kan funktioner vara port-säkerhet på en switch, ACL på en router etc.

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

Här är exempel på testfall för routrar

Testnamn Testfall
  1. En 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ärdarna
  1. Spanning Tree: Variation på rotvägs kostnad
  • Testa hur rotvägen kostar förändras efter en topologivariation
  1. Spanning Tree: Portblockering
  • Kontrollera hur spännande trädprotokoll undviker bildandet av cykler i nätverket, blockerar redundanta länkar, i närvaro av VLAN-enheter också
  1. Olika rotbro för olika MSTI
  • Visa att varje MSTI kan ha olika rotbroar
  1. Synlighet mellan olika STP-regioner
  • Med samma VLAN kontrollerar du synligheten mellan olika STP-regioner
  1. Telefonomkopplare Prestanda
  • Generera 1000 telefonsamtal och kontrollera om telefonomkopplaren fortfarande fungerar eller om dess prestanda försämras
  1. Negativt test för enhet
  • Ange fel nyckel och kontrollera användaren för autentisering. Det bör inte tillåta en användare att komma åt
  1. Linjehastighet
  • Kontrollera enheten som arbetar med 10 Gbps hastighet och utnyttja all tillgänglig bandbredd för att hantera inkommande trafik
  1. Protokoll konversationsfrekvens
  • Spåra en TCP-konversation mellan två enheter och verifiera att varje enhet har rätt beteende
  1. Svarstid för sessionens initiering
  • Mät svarstiden för en enhet till en inbjudningsförfrågan om sessionsinitiering

Verktyg för protokolltestning

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

Scapy för pakethantverk

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
  • Injicera paket i nätverket

Så i grund och botten gör scapy huvudsakligen två saker: att få 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 oöverträffade paket.

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

Scapy gör det möjligt för oss att skriva ett Python-skript som gör att vi kan utföra en uppgift som att skicka och ta emot paket eller sniffa paket. Scapy kan till exempel sniffa datapaketet med hjälp av ett Python-skript. Kommandot för att öppna getdit in i redigeraren

#gedit scapysniff.py#! / usr / bin / env pythonfrån scapy.all import *a = sniffa (räkna = 10)a.nsummary ()spara och ändra filens läge till en körbar form# chmod + x scapysniff.py# ./scaotsbuff.py

Det kommer att sniffa 10 paket och så snart det har snusat 10 paket kommer det att skriva ut sammanfattningen. Scapy också som en rad 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 dataresen startades och hur mycket data 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-inspelning och offline-analys
  • Rik VoIP-analys
  • Standard webbläsare med tre rutor
  • Körs på flera plattformar som Windows, Linux, OSX och så vidare
  • Fångade nätverksdata kan bläddras via ett GUI
  • Dekryptering stöder många protokoll som IPsec, ISAKMP, SSL / TLS
  • Live data kan läsas från Ethernet, ATM, Bluetooth, USB, token etc.
  • Utdata kan exporteras till CSV, XML, vanlig text, etc.

Ladda ner Wireshark

TTCN

TCCN är ett standardspråk för att definiera testscenario och deras implementering för protokolltestning. En TCCN-testsvit innehåller många testfall skrivna på TTCN-programmeringsspråket och används för testning av reaktiva system eller beteendestestning .

Till exempel en kaffeautomat som ger dig kaffe när du sätter in ett dollarmynt men 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åk. För att få kaffemaskinen att reagera när vi sätter in ett mynt måste vi skriva TCCN-3-komponent som fungerar som en kaffemaskin. Det gör att vi kan köra vårt test innan en verklig kaffemaskin finns tillgänglig som produkt. När det är klart ansluter vi TCCN3-testsviten till den externa enheten.

Testsystemet avger stimuli (dollarmynt) och får 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

  • Mobilkommunikation (LTE, WiMAX, 3G etc)
  • Bredbandsteknik (ATM, DSL)
  • Middleware-plattformar (webbtjänster, CORBA etc)
  • Internetprotokoll (SIP, IMS, IPv6)
  • Smartkort
  • Fordon (AutoSAR, MEST, KAN)

I TCCN kan vi definiera

  • Test sviter
  • Testfall
  • Teststeg
  • Deklarera variabler
  • Förklara timers
  • Skapa PDU: er etc.

TCCN kan integreras med olika system av andra språk som ASN.1, XML, C / C ++. TCCN3-kärnspråk finns i textformat bortsett från andra format som tabellformat, grafiskt och presentation.