Handledning för protokolltestning (N2 och N3)
⚡ Smart sammanfattning
Protokolltestning validerar hur nätverksenheter utbyter data mellan L2- och L3-protokoll. Det verifierar paketstruktur, överensstämmelse, prestanda och interoperabilitet för switchar, routrar, VoIP-utrustning och trådlös utrustning som används av leverantörer som Cisco, Juniper och Alcatel.

Innan vi lär oss om protokolltestning, låt oss förstå grunden den bygger på.
Vad är ett protokoll?
När datorer kommunicerar med varandra finns det en gemensam uppsättning regler och villkor som varje dator måste följa. Med andra ord avgör protokoll hur data hanteras. transmitmellan datorenheter och över nätverk. Utan dessa delade regler skulle enheter från olika leverantörer inte kunna utbyta trafik på ett tillförlitligt sätt.
Vad är protokolltestning?
Protokolltestning är en metod för att kontrollera kommunikationsprotokoll inom områdena switching, trådlös kommunikation, VoIP, routing och liknande nätverksområden. Det primära målet med protokolltestning är att kontrollera strukturen hos paket som skickas över ett nätverk med hjälp av dedikerade protokolltestningsverktyg. Routrar och switchar används under testet för att bilda delar av enheter och produkter som testas.
Nu när vi har definierat praktiken, låt oss undersöka varför denna disciplin är viktig i produktionsnätverk.
Varför protokolltestning är viktigt
Moderna nätverk hanterar verksamhetskritiska arbetsbelastningar som VoIP-samtal, finansiella transaktioner och strömmande video. En enda protokollbugg kan bryta interoperabiliteten mellan leverantörer, tappa paket eller avslöja säkerhetsluckor. Protokolltestning säkerställer kvalitet genom att validera att varje protokollimplementering matchar dess specifikation, skalar under belastning och beter sig förutsägbart vid fel.
Med motivationen tydlig är nästa fråga hur protokoll kategoriseras i verkliga nätverk.
Routade och routingprotokoll
Protokoll klassificeras i två kategorier: dirigerade protokoll och routingprotokoll.
- Routade protokoll: Routade protokoll används för att skicka användardata från ett nätverk till ett annat. De transporterar användartrafik såsom e-post, webbtrafik och filöverföringar. Exempel på routade protokoll är IP, IPX och AppleTalk.
- Routingprotokoll: Routingprotokoll är nätverksprotokoll som bestämmer rutter för routrar. De används endast mellan routrar. Exempel inkluderar RIP, IGRP och EIGRP.
I enkla termer, En router är som en buss som används för transport, medan routingprotokoll är signaler på vägen.
Beroende på kommunikationstyp används olika protokoll. Företag som CiscoJuniper och Alcatel tillverkar nätverksenheter som routrar, modem och trådlösa åtkomstpunkter som använder olika protokoll för kommunikation. Till exempel, Cisco använder EIGRP och OSPF. Protokolltestning går i huvudsak ut på att kontrollera om EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First) eller något annat protokoll fungerar enligt respektive standard.
Typer av datorprotokoll
Tabellen nedan listar de vanligaste protokollen som en testare kommer att stöta på på kabeln.
| Typer av protokoll | Syftet med protokollen |
|---|---|
| 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 post |
| Protokoll för hypertextöverföring | Den används för att överföra HTML-sidor i krypterad form för att skydda 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 – Postkontorsprotokoll/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 sju lager av nätverkskommunikation, varav lager 2 (L2) och lager 3 (L3) är mycket avgörande för protokolltestning.
- Lager 2 (L2): Det är datalänklagret. MAC-adress, Ethernet, Token Ring och Frame Relay är alla exempel på datalänklagret.
- Lager 3 (L3): Det är nätverkslagret som avgör den bästa tillgängliga vägen i nätverket för kommunikation. En IP-adress är ett exempel på L3.
Hur man gör protokolltestning
- För protokolltestning behöver du en protokollanalysator och en simulator.
- Protokollanalysatorn säkerställer korrekt avkodning tillsammans med samtals- och sessionsanalys. Simulatorn simulerar olika enheter i nätverkselementet.
- Vanligtvis utförs protokolltestning av en DUT (Device Under Test) ansluten till andra enheter som switchar och routrar, med målprotokollet konfigurerat på den.
- Därefter kontrollerar testaren paketstrukturen för de paket som skickas av enheterna.
- Den kontrollerar skalbarhet, prestanda och protokollalgoritmens beteende hos enheten med hjälp av verktyg som IxNetwork, Scapyoch Wireshark.
Testtyper för protokolltestning
Protokolltestning omfattar testning av funktionalitet, prestanda, protokollstack, interoperabilitet med mera. Under protokolltestning utförs tre grundläggande kontroller.
- Korrekthet: Får vi paket X när vi förväntar oss det?
- Latens: Hur lång tid tar det för ett paket att passera genom systemet?
- Bandbredd: Hur många paket kan vi skicka per sekund?
Protokolltestning kan delas in i två breda kategorier: stress- och tillförlitlighetstester och funktionstester. Stress- och tillförlitlighetstester täcker Lasttestning, Stresstestningoch Prestandatester. funktions~~POS=TRUNC inkluderar negativ testning, överensstämmelsetestning och interoperabilitetstestning.
- Överensstämmelsetestning: De protokoll som implementeras på produkter testas för att säkerställa att de uppfyller standarder som IEEE och RFC.
- Interoperabilitetstestning: Interoperabiliteten för olika leverantörer testas. Denna testning görs efter att överensstämmelsetestningen är slutförd på lämplig plattform.
- Testning av nätverksfunktioner: Funktionerna i nätverksprodukter testas med hänvisning till designdokumentet. Funktioner kan till exempel vara portsäkerhet på en switch eller åtkomstkontrolllista på en router.
Exempel på testfall för protokolltestning av nätverksenheter
Här är ett exempel på testfall för routrar och switchar.
| 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ärdar. |
| Spännande träd: Variation av rotvägskostnad | Testa hur rotvägskostnaden ändras efter en topologivariation. |
| Spännande träd: Portblockering | Kontrollera hur spanning tree-protokollet undviker bildandet av cykler i nätverket, vilket blockerar redundanta länkar, i närvaro av VLAN också. |
| Olika rotbryggor för olika MSTI | Visa att varje MSTI kan ha en annan rotbrygga. |
| Sikt mellan olika STP-regioner | Kontrollera synligheten mellan olika STP-regioner med samma VLAN. |
| Telefonväxelns prestanda | Generera 1000 telefonsamtal och kontrollera om telefonväxeln fortfarande fungerar eller om dess prestanda försämras. |
| Negativt test för enhet | Ange fel nyckel och kontrollera autentiseringen. Användaren ska inte ha åtkomst. |
| Linjehastighet | Kontrollera att enheten arbetar med en hastighet på 10 Gbps och använder all tillgänglig bandbredd för att hantera inkommande trafik. |
| Protokollkonversationsfrekvens | Tracka TCP-konversation mellan två enheter och verifiera att varje enhet beter sig korrekt. |
| 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 paketskapande
Scapy är ett kraftfullt interaktivt pakethanteringsprogram. Det låter dig:
- Skapa paket
- Avkoda paket på nätverket
- Fånga paket och analysera dem
- Injicera paket i nätverket
Så, i grund och botten, Scapy gör huvudsakligen två saker: ta emot svar och skicka paketDu definierar paketen, den skickar dem, tar emot svar, matchar förfrågningar med svar och returnerar en lista över paketpar och en lista över omatchade paket.
Den kan även hantera andra uppgifter som t.ex. trace-routing, enhetstester, attacker, nätverksidentifiering, utvecklingping nya protokoll och sondering.
Scapy gör att du kan skriva en Python skript som låter dig utföra uppgifter som att skicka, ta emot eller sniffa paket. Till exempel, Scapy kan sniffa datapaket med hjälp av en kort Python skript. Kommandot för att öppna redigeraren visas nedan.
#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 # ./scapysniff.py
Den kommer att sniffa 10 paket, och så snart den har sniffat 10 paket kommer den att skriva ut sammanfattningen. Scapy har också en rad kommandon för att skicka och ta emot paket samtidigt.
2) Wireshark för analys
Wireshark är det ledande verktyget som används för protokolltestningsanalys. Det låter dig fånga paket i realtid och visa dem i läsbar form. Du kan 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 upprättas, när den exakta dataöverföringen initierades och hur mycket data som skickas varje gång.
Wireshark har en rik uppsättning funktioner som inkluderar:
- En grundlig inspektion av hundratals protokoll, och fler läggs till hela tiden
- Livefångst och offlineanalys
- Rik VoIP-analys
- Standard paketläsare med tre rutor
- Körs på flera plattformar som t.ex. Windows, Linux och macOS
- Fångad nätverksdata kan bläddras via ett GUI
- Dekrypteringsstöd för många protokoll som IPsec, ISAKMP och SSL/TLS
- Livedata kan läsas från Ethernet, ATM, Bluetooth, USB och Token Ring
- Utdata kan exporteras till CSV, XML och vanlig text
3) TTCN
TTCN är ett standardiserat testspråk för att definiera Testa scenarier och deras implementering för protokolltestning. En TTCN-testsvit innehåller många testfall skrivna i programmeringsspråket TTCN och används för testning av reaktiva system eller beteendetestning.
Tänk dig till exempel en kaffeautomat som släpper ut kaffe när ett dollarmynt sätts in, men som inte svarar om mindre än en dollar sätts in. För att programmera sådana maskiner används TTCN-3. För att få kaffemaskinen att svara när ett mynt sätts in skriver du en TTCN-3-komponent som fungerar som en kaffemaskin. Detta gör att du kan köra tester innan en faktisk kaffemaskin blir tillgänglig som produkt. När det är klart kan du ansluta TTCN-3-testsviten till den externa enheten.
Testsystemet avger stimuli (ett dollarmynt) och tar emot svar (kaffe). Stimuliadaptern tar emot stimuli från testsystemet och skickar dem till det testade systemet. Svarsadaptern väntar på svar från det testade systemet och skickar dem till testsystemet.
TTCN-3 kan användas inom olika områden, såsom:
- Mobil kommunikation (LTE, WiMAX, 3G)
- Bredbandsteknik (ATM, DSL)
- Middleware-plattformar (webbtjänster, CORBA)
- Internetprotokoll (SIP, IMS, IPv6)
- Smarta kort
- Fordon (AutoSAR, MOST, CAN)
I TTCN kan du definiera:
- Testsviter
- Test Cases
- Teststeg
- Deklarerade variabler
- Deklarerade timers
- PDU:er och mer
TTCN kan integreras med system skrivna i andra språk, såsom ASN.1, XMLoch C/C++Kärnspråket TTCN-3 finns i textformat, tillsammans med tabell-, graf- och presentationsformat.
Hur man tillämpar protokolltestning i praktiken
För att tillämpa dessa tekniker på ett verkligt projekt, definiera protokollets omfattning (L2, L3 eller högre), konfigurera en DUT med inkopplade simulatorer och analysatorer, utarbeta överensstämmelse- och negativa testfall med hänvisning till RFC- eller IEEE-specifikationer, och kör sedan stress-, interoperabilitets- och AI-assisterade anomalikontroller. Registrera resultaten i Wireshark och iterera tills paketbeteendet matchar standarden.

