Tutorial sul test del protocollo: L2 & L3

Sommario:

Anonim

Prima di apprendere il test del protocollo, capiamo:

Cos'è il protocollo?

Quando un computer comunica tra loro, esiste un insieme comune di regole e condizioni che ogni computer deve seguire. In altre parole, i protocolli determinano il modo in cui i dati vengono trasmessi tra i dispositivi informatici e sulle reti.

Test del protocollo

Il test del protocollo è un metodo per controllare i protocolli di comunicazione nei domini di Switching, Wireless, VoIP, Routing, ecc. L'obiettivo principale del test del protocollo è controllare la struttura dei pacchetti inviati su una rete utilizzando strumenti di test del protocollo. Router e switch vengono utilizzati durante il test per formare parti di dispositivi e prodotti in fase di test.

Protocolli di instradamento e instradamento

I protocolli sono classificati in due categorie protocolli di routing e protocolli di routing

  • Protocolli instradati : i protocolli instradati possono essere utilizzati per inviare i dati utente da una rete a un'altra rete. Trasporta il traffico degli utenti come e-mail, traffico web, trasferimenti di file, ecc. I protocolli instradati sono IP, IPX e AppleTalk.
  • Protocolli di routing : i protocolli di routing sono protocolli di rete che determinano le route per i router. Viene utilizzato solo tra router. Ad esempio RIP, IGRP, EIGRP, ecc.

In termini semplici, un router è come un autobus utilizzato per il trasporto mentre i protocolli di routing sono segnali sulla strada.

In base al tipo di comunicazione vengono utilizzati diversi protocolli. Aziende come CISCO, JUNIPER, ALCATEL producono dispositivi di rete come router, modem, punti di accesso wireless, ecc. Che utilizzano protocolli diversi per la comunicazione, ad esempio, Cisco utilizza EIGRP, OSPF, ecc. Il test del protocollo non è altro che verificare se EIGRP (Enhanced Interior Gateway Routing Protocol) o OSPF (Open Shortest Path First) o qualsiasi altro protocollo funziona secondo il rispettivo standard.

Tipi di protocolli per computer

Tipi di protocolli Scopo dei protocolli
TCP / IP Viene utilizzato per inviare informazioni in piccoli pacchetti su Internet
UDP / ICMP Viene utilizzato per inviare una piccola quantità di informazioni in pacchetti di dati su Internet
POP3 e SMTP Viene utilizzato per inviare e ricevere posta
Protocollo di trasferimento ipertestuale Viene utilizzato per trasferire la pagina HTML in forma crittografata per fornire sicurezza ai dati sensibili
FTP Viene utilizzato per il trasporto di file su una rete da un nodo a un altro

* TCP / IP - Protocollo di controllo della trasmissione / Protocollo Internet, UDP / ICMP - Protocollo datagramma utente / Protocollo messaggi di controllo Internet, POP3 / SMTP - Protocollo Post Office / Simple Mail Transfer Protocol, HTTP - Hyper Text Transfer Protocol, FTP - File Transfer Protocol

Diversi tipi di protocolli di rete (L2 e L3)

Il modello OSI ha un totale di 7 livelli di comunicazione di rete, in cui il livello 2 e il livello 3 sono molto cruciali.

  • Livello 2 : è un livello di collegamento dati. Indirizzo Mac, Ethernet, Token Ring e Frame Relay sono tutti esempi di livello di collegamento dati.
  • Livello 3 : è un livello di rete che determina il miglior percorso disponibile nella rete per la comunicazione. Un indirizzo IP è un esempio di layer3.

Come eseguire il test del protocollo

  • Per il test del protocollo, è necessario un analizzatore e un simulatore di protocollo
  • L'analizzatore di protocollo garantisce una decodifica adeguata insieme all'analisi delle chiamate e delle sessioni. Mentre il simulatore simula varie entità di elementi di rete
  • Di solito, un test del protocollo viene eseguito da DUT (dispositivo sotto test) ad altri dispositivi come switch e router e il protocollo di configurazione in esso
  • Successivamente controllare la struttura dei pacchetti dei pacchetti inviati dai dispositivi
  • Controlla la scalabilità, le prestazioni, l'algoritmo del protocollo ecc. Del dispositivo utilizzando strumenti come lxNetworks, Scapy e Wireshark

Tipi di test per il test del protocollo

Il test del protocollo include il test di funzionalità, prestazioni, stack del protocollo, interoperabilità, ecc. Durante il test del protocollo, fondamentalmente, vengono eseguiti tre controlli.

  • Correttezza : riceviamo il pacchetto X quando ce lo aspettavamo
  • Latenza : quanto tempo impiega un pacchetto per transitare nel sistema
  • Larghezza di banda : quanti pacchetti possiamo inviare al secondo

Il test del protocollo può essere suddiviso in due categorie. Test di stress e affidabilità e test funzionali. I test di stress e affidabilità coprono i test di carico, i test di stress, i test delle prestazioni, ecc. Mentre i test funzionali includono test negativi, test di conformità, test di interoperabilità, ecc.

  • Test di conformità : i protocolli implementati sui prodotti sono testati per l'aderenza come IEEE, RFC ecc.
  • Test di interoperabilità : viene testata l'interoperabilità per diversi fornitori. Questo test viene eseguito dopo che il test di conformità è stato eseguito sulla piattaforma appropriata
  • Test delle funzionalità di rete : le funzionalità dei prodotti di rete vengono testate per la funzionalità con riferimento al documento di progettazione. Ad esempio, le funzionalità possono essere la sicurezza della porta su uno switch, ACL su un router ecc.

Esempi di casi di test per il test del protocollo di dispositivi di rete

Ecco il caso di test di esempio per i router

Nome del test Casi test
  1. Una VLAN su uno switch
  • Crea due diverse VLAN. Controlla la visibilità tra host su diverse VLAN
  1. Tre VLAN simmetriche su uno switch
  • Crea tre diverse VLAN asimmetriche. Controlla la visibilità tra gli host
  1. Spanning Tree: variazione del costo del percorso radice
  • Verifica come cambia il costo del percorso radice dopo una variazione della topologia
  1. Spanning Tree: blocco delle porte
  • Verifica come il protocollo spanning tree eviti la formazione di cicli in rete, bloccando collegamenti ridondanti, anche in presenza di VLAN
  1. Root Bridge diverso per MSTI diversi
  • Mostra che ogni MSTI può avere un Root Bridge diverso
  1. Visibilità tra diverse regioni STP
  • Con le stesse VLAN controllare la visibilità tra diverse regioni STP
  1. Commutatore telefonico Prestazioni
  • Genera 1000 chiamate telefoniche e controlla se lo switch telefonico funziona ancora o se le sue prestazioni peggiorano
  1. Test negativo per il dispositivo
  • Immettere la chiave errata e verificare l'autenticazione dell'utente. Non dovrebbe consentire a un utente di accedere
  1. Velocità della linea
  • Verificare che il dispositivo funzioni alla velocità di 10 Gbps, utilizzando tutta la larghezza di banda disponibile per gestire il traffico in entrata
  1. Tasso di conversazione del protocollo
  • Tieni traccia di una conversazione TCP tra due dispositivi e verifica che ogni dispositivo abbia assunto un comportamento corretto
  1. Tempo di risposta per l'inizio della sessione
  • Misura il tempo di risposta di un dispositivo a una richiesta di invito per l'avvio di una sessione

Strumenti per il test del protocollo

Parliamo degli strumenti di test più importanti utilizzati per verificare i protocolli

Scapy per la creazione di pacchetti

Scapy è un potente programma interattivo di manipolazione dei pacchetti. Ti permette di farlo

  • Crea pacchetti
  • Decodifica i pacchetti sulla rete
  • Cattura i pacchetti e analizzali
  • Inietta pacchetti nella rete

Quindi, fondamentalmente, scapy fa principalmente due cose: ricevere risposte e inviare pacchetti . Tu definisci i pacchetti, li invia, riceve risposte, confronta le richieste con le risposte e restituisce un elenco di coppie di pacchetti e un elenco di pacchetti non abbinati.

Può anche gestire altre cose come il routing della traccia, i test di unità, gli attacchi o la scoperta della rete, lo sviluppo di nuovi protocolli, il rilevamento, ecc.

Scapy ci consente di scrivere uno script Python che ci consente di eseguire un'attività come l'invio e la ricezione di pacchetti o lo sniffing di pacchetti. Ad esempio, scapy può annusare il pacchetto di dati utilizzando uno script Python. Il comando per aprire il getdit inserito nell'editor

#gedit scapysniff.py#! / usr / bin / env pythonda scapy.all import *a = annusare (conteggio = 10)a. riepilogo ()salvare e modificare la modalità del file in un formato eseguibile# chmod + x scapysniff.py# ./scaotsbuff.py

Analizzerà 10 pacchetti e non appena avrà rilevato 10 pacchetti stamperà il riepilogo. Scapy anche come array di comandi per inviare e ricevere pacchetti contemporaneamente

Scarica Scapy

Strumenti di Wireshark per l'analisi

Strumenti utilizzati per il test del protocollo: Wireshark. Permette di catturare i pacchetti in tempo reale e visualizzarli in forma leggibile dall'uomo. Ti consente di scavare in profondità nel traffico di rete e di ispezionare i singoli pacchetti utilizzando codici colore e filtri.

Wireshark acquisisce pacchetti che aiutano a determinare quando viene stabilita la sessione, quando è stato avviato il viaggio esatto dei dati e quanti dati vengono inviati ogni volta, ecc.

Wireshark ha una serie di ricche funzionalità che include

  • Un'ispezione approfondita di centinaia di protocolli, altri vengono aggiunti continuamente
  • Acquisizione in tempo reale e analisi offline
  • Ricca analisi VoIP
  • Browser standard a tre riquadri
  • Funziona su più piattaforme come Windows, Linux, OSX e così via
  • I dati di rete acquisiti possono essere sfogliati tramite una GUI
  • La decrittografia supporta molti protocolli come IPsec, ISAKMP, SSL / TLS
  • I dati in tempo reale possono essere letti da Ethernet, ATM, Bluetooth, USB, token, ecc.
  • L'output può essere esportato in CSV, XML, testo normale, ecc.

Scarica Wireshark

TTCN

TCCN è un linguaggio di test standard per la definizione dello scenario di test e la loro implementazione per il test del protocollo. Una suite di test TCCN contiene molti casi di test scritti nel linguaggio di programmazione TTCN e viene utilizzata per testare sistemi reattivi o test comportamentali .

Ad esempio, un distributore automatico di caffè che ti dà il caffè inserendo una moneta da un dollaro ma non risponde se viene inserito qualcosa di meno di un dollaro. Per programmare tali macchine viene utilizzato il linguaggio TCCN3. Affinché la macchina da caffè risponda all'inserimento di una moneta, dobbiamo scrivere un componente TCCN-3 che si comporta come una macchina da caffè. Ci consente di eseguire il nostro test prima che una vera macchina da caffè sia disponibile come prodotto. Una volta terminato, collegheremo la suite di test TCCN3 con il dispositivo esterno.

Il sistema di test emette stimoli (moneta da un dollaro) e riceve risposte (caffè). L'adattatore di stimoli ottiene gli stimoli dal sistema di test e li trasmette al sistema da testare. L'adattatore di risposta attende le risposte del sistema sottoposto a test e le passa al sistema di test.

TCCN3 può essere utilizzato in vari campi come

  • Comunicazioni mobili (LTE, WiMAX, 3G ecc.)
  • Tecnologie a banda larga (ATM, DSL)
  • Piattaforme middleware (servizi Web, CORBA ecc.)
  • Protocollo Internet (SIP, IMS, IPv6)
  • Smart card
  • Automotive (AutoSAR, MOST, CAN)

In TCCN possiamo definire

  • Suite di test
  • Casi test
  • Passaggi del test
  • Dichiarare le variabili
  • Dichiara i timer
  • Crea PDU ecc.

TCCN può essere integrato con tipi di sistemi di altri linguaggi come ASN.1, XML, C / C ++. Il linguaggio di base di TCCN3 esiste in formato testo oltre ad altri formati come tabulare, grafico e presentazione.