Vejledning til testning af protokol: L2 & L3

Indholdsfortegnelse:

Anonim

Lad os forstå, før vi lærer om protokolprøvning:

Hvad er protokol?

Når en computer kommunikerer med hinanden, er der et fælles sæt regler og betingelser, som hver computer skal følge. Med andre ord bestemmer protokoller, hvordan data overføres mellem computerenheder og over netværk.

Protokolprøvning

Protokolprøvning er en metode til kontrol af kommunikationsprotokoller i domænerne Switching, Wireless, VoIP, Routing osv. Det primære mål med protokolprøvning er at kontrollere strukturen af ​​pakker, der sendes over et netværk ved hjælp af protokoltestværktøjer. Routere og switche bruges under testen til at danne dele af enheder og produkter, der testes.

Routed og Routing-protokoller

Protokoller klassificeres i to kategorier rutede protokoller og routingsprotokoller

  • Routede protokoller : Routede protokoller kan bruges til at sende brugerdataene fra et netværk til et andet netværk. Den bærer brugertrafik som e-mails, webtrafik, filoverførsler osv. Routede protokoller er IP, IPX og AppleTalk.
  • Routing Protocols : Routing Protocols er netværksprotokoller, der bestemmer ruter til routere. Det bruges kun mellem routere. For eksempel RIP, IGRP, EIGRP osv.

Enkelt sagt er en router som en bus, der bruges til transport, mens routingsprotokoller er signaler på vejen.

Baseret på kommunikationstypen anvendes forskellige protokoller. Virksomheder som CISCO, JUNIPER, ALCATEL producerer netværksenheder som routere, modemer, trådløse adgangspunkter osv., Der bruger forskellige protokoller til kommunikation, for eksempel bruger Cisco EIGRP, OSPF osv. Protokolletest er ikke andet end at kontrollere, om EIGRP (Enhanced Interior) Gateway Routing Protocol) eller OSPF (Open Shortest Path First) eller enhver anden protokol fungerer i henhold til respektive standard.

Typer af computerprotokoller

Typer af protokoller Formål med protokoller
TCP / IP Det bruges til at sende information i små pakker over internettet
UDP / ICMP Det bruges til at sende en lille mængde information i datapakker over internettet
POP3 og SMTP Det bruges til afsendelse og modtagelse af post
Protokol til hypertekstoverførsel Det bruges til at overføre HTML-side i krypteret form for at give sikkerhed til følsomme data
FTP Det bruges til at transportere filer over et netværk fra en node til en anden

* 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

Forskellige typer netværksprotokoller (L2 og L3)

OSI-modellen har i alt 7 lag netværkskommunikation, hvor lag 2 og lag 3 er meget vigtige.

  • Lag 2 : Det er et datalinklag. Mac-adresse, Ethernet, Token Ring og Frame Relay er alle eksempler på datalinklag.
  • Lag 3 : Det er et netværkslag, der bestemmer den bedst tilgængelige sti i netværket til kommunikation. En IP-adresse er et eksempel på layer3.

Sådan udføres protokoltest

  • Til protokolprøvning skal du bruge protokolanalysator og simulator
  • Protokolanalysator sikrer korrekt afkodning sammen med opkalds- og sessionsanalyse. Mens simulator simulerer forskellige enheder af netværkselement
  • Normalt udføres en protokolprøvning af DUT (enhed under test) til andre enheder som switche og routere og konfiguration af protokol i den
  • Derefter kontrolleres pakkestrukturen af ​​de pakker, der sendes af enhederne
  • Det kontrollerer enhedens skalerbarhed, ydeevne, protokolalgoritme osv. Ved hjælp af værktøjer som lxNetworks, Scapy og Wireshark

Testtyper til protokoltest

Protokol test inkluderer test af funktionalitet, ydeevne, protokol stack, interoperabilitet osv. Under protokoll test grundlæggende er der tre kontroller udført.

  • Korrekthed : Modtager vi pakke X, når vi forventede
  • Latency : Hvor lang tid tager en pakke at gennemføre systemet
  • Båndbredde : Hvor mange pakker vi kan sende pr. Sekund

Protokolprøvning kan opdeles i to kategorier. Stress- og pålidelighedstest og funktionelle tests. Stress- og pålidelighedstest dækker belastningstest, stresstest, ydelsestest osv. Mens funktionstestning inkluderer negativ test, overensstemmelsestest, interoperabilitetstest osv.

  • Overensstemmelsestest : De protokoller, der implementeres på produkter, testes for overholdelse som IEEE, RFC osv.
  • Interoperabilitetstest : Interoperabiliteten for forskellige leverandører testes. Denne test udføres, efter at overensstemmelsestest er udført på den relevante platform
  • Netværksfunktionstest: Funktionerne i netværksprodukter testes for funktionalitet med henvisning til designdokumentet. For eksempel kan funktioner være port-sikkerhed på en switch, ACL på en router osv.

Eksempel på testtilfælde til protokoltestning af netværksenheder

Her er prøveeksemplet på routere

Testnavn Test tilfælde
  1. Ét VLAN på en switch
  • Byg to forskellige VLAN'er. Kontroller synligheden mellem værter på forskellige VLAN'er
  1. Tre symmetriske VLAN'er på en switch
  • Opret tre forskellige asymmetriske VLAN'er. Kontroller synligheden mellem værter
  1. Spændende træ: Variation i rodstien
  • Test, hvordan omkostningerne til rodstien ændres efter en topologivariation
  1. Spændende træ: Portblokering
  • Kontroller, hvordan spændende træprotokol undgår dannelse af cyklusser i netværket, blokering af overflødige links i tilstedeværelse af VLAN'er også
  1. Different Root Bridge til forskellige MSTI
  • Vis, at hver MSTI kan have forskellige rodbroer
  1. Synlighed mellem forskellige STP-regioner
  • Kontroller synligheden mellem forskellige STP-regioner med samme VLAN
  1. Telefonskift ydeevne
  • Generer 1000 telefonopkald, og kontroller, om telefonafbryderen stadig fungerer, eller hvis dens ydelse forringes
  1. Negativ test for enhed
  • Indtast den forkerte nøgle, og kontroller brugeren for godkendelse. Det bør ikke give en bruger adgang
  1. Liniehastighed
  • Kontroller enheden, der kører med 10 Gbps hastighed, og brug al den tilgængelige båndbredde til at håndtere indgående trafik
  1. Protokol samtalsrate
  • Spor en TCP-samtale mellem to enheder, og kontroller, at hver enhed har en korrekt opførsel
  1. Svartid for initiering af sessionen
  • Mål svartiden på en enhed til en anmodning om invitation til sessionsinitiering

Værktøjer til protokolprøvning

Lad os diskutere de vigtigste testværktøjer, der bruges til at kontrollere protokoller

Scapy til pakkefremstilling

Scapy er et kraftfuldt interaktivt pakke manipulationsprogram. Det gør det muligt for dig at

  • Opret pakker
  • Afkode pakker på netværket
  • Indfang pakker og analyser dem
  • Injicér pakker i netværket

Så grundlæggende gør scapy hovedsageligt to ting: modtagelse af svar og afsendelse af pakker . Du definerer pakkerne, den sender dem, modtager svar, matcher anmodninger med svar og returnerer en liste over pakker og en liste over uovertruffen pakker.

Det kan også håndtere andre ting som spor-routing, enhedstest, angreb eller netværksopdagelse, udvikling af nye protokoller, sondering osv.

Scapy giver os mulighed for at skrive et Python-script, der giver os mulighed for at udføre en opgave som at sende og modtage pakker eller snuse pakker. For eksempel kan scapy snuse datapakken ved hjælp af et Python-script. Kommandoen til at åbne getdit indtastes i editoren

#gedit scapysniff.py#! / usr / bin / env pythonfra scapy.all import *a = sniff (count = 10)a.nsummary ()gem, og skift filtilstand til en eksekverbar form# chmod + x scapysniff.py# ./scaotsbuff.py

Det vil snuse 10 pakker, og så snart det har snust 10 pakker, udskriver det resuméet. Scapy også som en række kommandoer til afsendelse og modtagelse af pakker på samme tid

Download Scapy

Wireshark-værktøjer til analyse

Værktøjer, der bruges til protokolprøvning - Wireshark. Det gør det muligt at fange pakker i realtid og vise dem i menneskelig læsbar form. Det giver dig mulighed for at grave dybt ned i netværkstrafikken og inspicere individuelle pakker ved hjælp af farvekodning og filtre.

Wireshark fanger pakker, der hjælper med at bestemme, hvornår sessionen er ved at blive etableret, hvornår den nøjagtige dataforbrug blev startet, og hvor meget data der sendes hver gang osv.

Wireshark har et sæt rige funktioner, som inkluderer

  • En grundig inspektion af hundredvis af protokoller, der tilføjes flere hele tiden
  • Live capture og offline analyse
  • Rich VoIP-analyse
  • Standard browser med tre ruder
  • Kører på multi-platforme som Windows, Linux, OSX og så videre
  • Indfangede netværksdata kan browses via en GUI
  • Dekryptering understøtter mange protokoller som IPsec, ISAKMP, SSL / TLS
  • Live data kan læses fra Ethernet, ATM, Bluetooth, USB, token osv.
  • Output kan eksporteres til CSV, XML, almindelig tekst osv.

Download Wireshark

TTCN

TCCN er et standard testsprog til at definere testscenario og deres implementering til protokoltest. En TCCN-testpakke indeholder mange testcases, der er skrevet på TTCN-programmeringssproget, og den bruges til test af reaktive systemer eller adfærdstest .

For eksempel en kaffeautomat, der giver dig kaffe ved indsættelse af en dollarmønt, men som ikke reagerer, hvis der sættes noget mindre end en dollar i den. For at programmere sådanne maskiner bruges TCCN3 sprog. For at få kaffemaskinen til at reagere, når du indsætter en mønt, skal vi skrive TCCN-3-komponent, der opfører sig som en kaffemaskine. Det giver os mulighed for at køre vores test, før en egentlig kaffemaskine er tilgængelig som et produkt. Når det er gjort, forbinder vi TCCN3-testpakken med den eksterne enhed.

Testsystemet udsender stimuli (dollarmønt) og modtager svar (kaffe). Stimuliadapteren opnår stimuli fra testsystemet og sender dem til det testede system. Svaradapteren venter på svar fra det system, der testes, og sender dem til testsystemet.

TCCN3 kan bruges i forskellige felter som f.eks

  • Mobil kommunikation (LTE, WiMAX, 3G osv.)
  • Bredbåndsteknologier (ATM, DSL)
  • Middleware-platforme (webservices, CORBA osv.)
  • Internetprotokol (SIP, IMS, IPv6)
  • Smart Cards
  • Automotive (AutoSAR, MOST, CAN)

I TCCN kan vi definere

  • Test suiter
  • Test tilfælde
  • Test trin
  • Erklær variabler
  • Erklære timere
  • Opret PDU'er osv.

TCCN kan integreres med typer af systemer på andre sprog som ASN.1, XML, C / C ++. TCCN3-kernesprog findes i tekstformat bortset fra andre formater som tabelform, grafisk og præsentation.