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