Návod na testování protokolu: L2 & L3
Než se seznámíme s testováním protokolů, pochopme:
Co je protokol?
Když počítač komunikuje mezi sebou, existuje společná sada pravidel a podmínek, které musí každý počítač dodržovat. Jinými slovy, protokoly určují, jak jsou data přenášena mezi počítačovými zařízeními a přes sítě.
Testování protokolu
Testování protokolu je metoda kontroly komunikačních protokolů v doménách Switching, Wireless, VoIP, Routing atd. Primárním cílem testování protokolů je kontrola struktury paketů, které jsou odesílány po síti pomocí nástrojů pro testování protokolů. Směrovače a přepínače se během testu používají k vytvoření součástí testovaných zařízení a produktů.
Směrovací a směrovací protokoly
Protokoly jsou rozděleny do dvou kategorií směrované protokoly si směrovací protokoly
- Směrované protokoly: Směrované protokoly lze použít k odesílání uživatelských dat z jedné sítě do jiné sítě. Přenáší uživatelský provoz, jako jsou e-maily, webový provoz, přenosy souborů atd. Směrované protokoly jsou IP, IPX a AppleTalk.
- Směrovací protokoly: Směrovací protokoly jsou síťové protokoly, které určují trasy pro směrovače. Používá se pouze mezi routery. Například RIP, IGRP, EIGRP atd.
Zjednodušeně řečeno, router je jako sběrnice používaná pro přepravu, zatímco směrovací protokoly jsou signály na silnici.
V závislosti na typu komunikace se používají různé protokoly. Společnosti jako CISCO, JUNIPER, ALCATEL vyrábějí síťová zařízení, jako jsou routery, modemy, bezdrátové přístupové body atd., které používají různé protokoly pro komunikaci, např. Cisco používá EIGRP, OSPF atd. Testování protokolu není nic jiného než kontrola, zda EIGRP (Enhanced Interior Gateway Routing Protocol) nebo OSPF (otevřená nejkratší cesta jako první) nebo jakýkoli jiný protokol funguje podle příslušného standardu.
Typy počítačových protokolů
Typy protokolů | Účel protokolů |
---|---|
TCP / IP | Používá se k odesílání informací v malých balíčcích přes internet |
UDP/ICMP | Používá se k odesílání malého množství informací v datových paketech přes internet |
POP3 a SMTP | Slouží k odesílání a přijímání pošty |
Protokol přenosu hypertextů | Používá se k přenosu HTML stránky v zašifrované podobě, aby byla zajištěna bezpečnost citlivých dat |
FTP | Používá se pro přenos souborů po síti z jednoho uzlu do druhého |
* TCP / IP- Transmission Control Protocol/Internet Protocol, UDP / ICMP– User Datagram Protocol/Internet Control Message Protocol, POP3 / SMTP– Poštovní protokol / Jednoduchý Mail přenosový protokol, HTTP- Hyper Text Transfer Protocol, FTP– Protokol přenosu souborů
Různé typy síťových protokolů (L2 a L3)
Model OSI má celkem 7 vrstev síťové komunikace, přičemž vrstva 2 a vrstva 3 jsou velmi důležité.
- Vrstva 2: Jedná se o vrstvu datového spojení. Mac adresa, Ethernet, Token Ring a Frame Relay jsou příklady vrstvy datového spojení.
- Vrstva 3: Je to síťová vrstva, která určuje nejlepší dostupnou cestu v síti pro komunikaci. IP adresa je příkladem layer3.
Jak provést testování protokolu
- Pro testování protokolu potřebujete analyzátor protokolu a simulátor
- Protokolový analyzátor zajišťuje správné dekódování spolu s analýzou hovorů a relací. Zatímco simulátor simuluje různé entity síťového prvku
- Testování protokolu obvykle provádí DUT (testované zařízení) na jiných zařízeních, jako jsou přepínače a směrovače, a v nich konfiguruje protokol.
- Poté zkontrolujte strukturu paketů odeslaných zařízeními
- Kontroluje škálovatelnost, výkon, algoritmus protokolu atd. zařízení pomocí nástrojů jako lxNetworks, Scapy si Wireshark
Typy testování pro testování protokolů
Testování protokolu zahrnuje testování funkčnosti, výkonu, zásobníku protokolů, interoperability atd. Během testování protokolu se v zásadě provádějí tři kontroly.
- Správnost: Přijmeme paket X, když jsme očekávali
- Latence: Jak dlouho trvá přenos paketu systémem
- Šířka pásma: Kolik paketů můžeme odeslat za sekundu
Testování protokolu lze rozdělit do dvou kategorií. Zátěžové testy a testy spolehlivosti a funkční testy. Pokrývají zátěžové testy a testy spolehlivosti Testování zatížení, Stresové testování, Testování výkonuatd Funkční testování zahrnuje negativní testování, testování shody, testování interoperability atd.
- Testování shody: Protokoly implementované na produktech jsou testovány na dodržování jako IEEE, RFC atd.
- Testování interoperability: Testuje se interoperabilita pro různé dodavatele. Toto testování se provádí po provedení testování shody na příslušné platformě
- Testování síťových funkcí: Funkce síťových produktů jsou testovány na funkčnost s odkazem na návrhový dokument. Funkcemi mohou být například zabezpečení portu na přepínači, ACL na routeru atd.
Vzorové testovací případy pro testování protokolů síťových zařízení
Zde je ukázkový testovací případ pro routery
Název testu | testovacích případů |
---|---|
Jedna VLAN na jednom přepínači | Sestavte dvě různé VLAN. Zkontrolujte viditelnost mezi hostiteli v různých sítích VLAN |
Tři symetrické VLAN na jednom přepínači | Vytvořte tři různé asymetrické sítě VLAN. Zkontrolujte viditelnost mezi hostiteli |
Spanning Tree: Variace nákladů kořenové cesty | Otestujte, jak se změní cena kořenové cesty po změně topologie |
Spanning Tree: Blokování přístavů | Zkontrolujte, jak protokol spanning tree zabraňuje vytváření cyklů v síti a blokuje redundantní odkazy v přítomnosti VLAN příliš |
Odlišný kořenový most pro různé MSTI | Ukažte, že každé MSTI může mít jiný kořenový most |
Viditelnost mezi různými regiony STP | Pomocí stejných VLAN zkontrolujte viditelnost mezi různými oblastmi STP |
Telefonní spínač Výkon | Vygenerujte 1000 telefonních hovorů a zkontrolujte, zda telefonní ústředna stále funguje nebo zda se její výkon snižuje |
Negativní test na zařízení | Zadejte nesprávný klíč a zkontrolujte ověření uživatele. Nemělo by to umožnit uživateli přístup |
Rychlost linky | Zkontrolujte, zda zařízení pracuje rychlostí 10 Gb/s a využívá veškerou dostupnou šířku pásma ke zpracování příchozího provozu |
Rychlost protokolové konverzace | Sledujte konverzaci TCP mezi dvěma zařízeními a ověřte, že se každé zařízení chová správně |
Doba odezvy pro zahájení relace | Změřte dobu odezvy zařízení na žádost o pozvání k zahájení relace |
Nástroje pro testování protokolů
Pojďme diskutovat o nejdůležitějších testovacích nástrojích používaných k ověřování protokolů
1) Scapy Pro tvorbu paketů
Scapy je výkonný interaktivní program pro manipulaci s pakety. Umožňuje vám to
- Vytvářejte pakety
- Dekódujte pakety v síti
- Zachyťte pakety a analyzujte je
- Injektujte pakety do sítě
Takže v podstatě scapy dělá hlavně dvě věci: přijímání odpovědí a odesílání paketů. Vy definujete pakety, on je odesílá, přijímá odpovědi, páruje požadavky s odpověďmi a vrací seznam párů paketů a seznam nespárovaných paketů.
Dokáže také zvládnout další věci, jako je trasování, testy jednotek, útoky nebo zjišťování sítě, vývoj nových protokolů, sondování atd.
Scapy nám umožňuje napsat a Python skript, který nám umožňuje provádět úkoly, jako je odesílání a přijímání paketů nebo sniffování paketů. Například, scapy může čichat datový paket pomocí a Python skript. Příkaz k otevření getdit zadaný v editoru
#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
Vyčmuchá 10 paketů a jakmile vyčmuchá 10 paketů, vytiskne souhrn. Scapy také jako pole příkazů pro odesílání a přijímání paketů současně
2) Wireshark Nástroje pro analýzu
Nástroje používané pro testování protokolů - Wireshark. Umožňuje zachytit pakety v reálném čase a zobrazit je v podobě čitelné pro člověka. Umožňuje vám ponořit se hluboko do síťového provozu a zkontrolovat jednotlivé pakety pomocí barevného kódování a filtrů.
Wireshark zachycuje pakety, které pomáhají určit, kdy je relace navázána, kdy bylo zahájeno přesné přenášení dat a kolik dat je pokaždé odesláno atd.
Wireshark má sadu bohatých funkcí, které zahrnují
- Důkladná kontrola stovek protokolů, další neustále přibývají
- Živé zachycení a offline analýza
- Bohatá analýza VoIP
- Standardní třípanelový prohlížeč
- Běží na multiplatformách jako Windows, Linux, OSX a tak dále
- Zachycená síťová data lze procházet pomocí GUI
- Dešifrování podporuje mnoho protokolů jako IPsec, ISAKMP, SSL/TLS
- Živá data lze číst z Ethernetu, ATM, Bluetooth, USB, tokenu atd.
- Výstup lze exportovat do CSV, XML, prostého textu atd.
TTCN
TCCN je standardní testovací jazyk pro definování Scénář testu a jejich implementace pro testování protokolů. Testovací sada TCCN obsahuje mnoho testovacích případů napsaných v programovacím jazyce TTCN a používá se pro Testování reaktivní systémy nebo behaviorální testování.
Například automat na kávu, který vám dá kávu po vhození dolarové mince, ale nereaguje, pokud do něj vložíte něco menšího než dolar. K programování těchto strojů se používá jazyk TCCN3. Aby kávovar při vhození mince reagoval, musíme napsat komponentu TCCN-3, která se chová jako kávovar. Umožňuje nám to provést náš test předtím, než bude skutečný kávovar k dispozici jako produkt. Jakmile bude hotovo, připojíme testovací sadu TCCN3 k externímu zařízení.
Testovací systém vysílá podněty (dolarové mince) a přijímá odpovědi (káva). Adaptér stimulů získává stimuly z testovacího systému a předává je testovanému systému. Adaptér odpovědí čeká na odpovědi testovaného systému a předává je testovacímu systému.
TCCN3 lze použít v různých oblastech, např
- Mobilní komunikace (LTE, WiMAX, 3G atd.)
- Širokopásmové technologie (ATM, DSL)
- Middlewarové platformy (webové služby, CORBA atd.)
- Internetový protokol (SIP, IMS, IPv6)
- čipové karty
- Automobilový průmysl (AutoSAR, MOST, CAN)
V TCCN můžeme definovat
- Testovací sady
- testovacích případů
- Testovací kroky
- Deklarace proměnných
- Deklarovat časovače
- Vytvořte PDU atd.
TCCN lze integrovat s typy systémů jiných jazyků, jako je ASN.1, XML, C/C++. Základní jazyk TCCN3 existuje v textovém formátu na rozdíl od jiných formátů, jako je tabulkový, grafický a prezentační.