Tutorial sul test del protocollo: L2 e L3

Prima di conoscere i test del protocollo, comprendiamo:

Cos'è il protocollo?

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

Test del protocollo

Test del protocollo è un metodo per verificare i protocolli di comunicazione nei domini di commutazione, wireless, VoIP, routing, ecc. L'obiettivo principale del test del protocollo è verificare la struttura dei pacchetti che vengono 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.

Instradati e protocolli di instradamento

I protocolli sono classificati in due categorie protocolli instradati e protocolli di instradamento

  • Protocolli instradati: I protocolli instradati possono essere utilizzati per inviare i dati utente da una rete a un'altra. Trasportano traffico utente 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 i percorsi per i router. Viene utilizzato solo tra router. Ad esempio RIP, IGRP, EIGRP, ecc.

In parole povere, un router è come un autobus utilizzato per il trasporto mentre i protocolli di instradamento sono segnali sulla strada.

In base al tipo di comunicazione vengono utilizzati protocolli diversi. 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 informatici

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
Hypertext Transfer Protocol Viene utilizzato per trasferire la pagina HTML in forma crittografata per garantire sicurezza ai dati sensibili
FTP Viene utilizzato per trasportare file su una rete da un nodo a un altro

* TCP / IP- Transmission Protocollo di controllo/protocollo Internet, UDP/ICMP– Protocollo datagramma utente/Protocollo messaggi di controllo Internet, POP3 / SMTP– Protocollo Postale / Semplice Mail Protocollo di trasferimento, HTTP– Protocollo di trasferimento ipertestuale, 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.

  • Strato 2: È un livello di collegamento dati. Indirizzo Mac, Ethernet, Token Ring e Frame Relay sono tutti esempi di livello di collegamento dati.
  • Strato 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 i test del protocollo, è necessario analizzatore e simulatore di protocollo
  • L'analizzatore di protocollo garantisce la corretta decodifica 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 dal DUT (dispositivo sotto test) su altri dispositivi come switch e router e configurando il protocollo in esso
  • Successivamente verificare la struttura 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 test di funzionalità, prestazioni, stack di protocollo, interoperabilità, ecc. Durante il test del protocollo vengono eseguiti sostanzialmente tre controlli.

  • Correttezza: Riceviamo il pacchetto X quando previsto
  • 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. Prove di stress e affidabilità e prove funzionali. Copertura dei test di stress e affidabilità Caricare i test, Test di stress, Test di Performance, ecc. Mentre Test di funzionalità include 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 aver eseguito il test di conformità sulla piattaforma appropriata
  • Test delle funzionalità di rete: La funzionalità dei prodotti di rete viene testata con riferimento al documento di progettazione. Ad esempio, le funzionalità possono essere la sicurezza della porta su uno switch, l'ACL su un router ecc.

Casi di test campione per il test del protocollo dei dispositivi di rete

Ecco il caso di test di esempio per i router

Nome del test Test di Casi
Una VLAN su uno switch Costruisci due VLAN diverse. Controlla la visibilità tra host su VLAN diverse
Tre VLAN simmetriche su uno switch Crea tre diverse VLAN asimmetriche. Controlla la visibilità tra gli host
Spanning Tree: variazione del costo del percorso radice Testare come cambia il costo del percorso root dopo una variazione della topologia
Spanning Tree: blocco delle porte Verificare come il protocollo spanning tree evita la formazione di cicli nella rete, bloccando collegamenti ridondanti, in presenza di VLAN pure
Root Bridge diverso per MSTI diversi Mostrare che ogni MSTI può avere Root Bridge diverso
Visibilità tra diverse regioni STP Con le stesse VLAN controlla la visibilità tra diverse regioni STP
Interruttore telefonico Prestazioni Generare 1000 telefonate e verificare se il commutatore telefonico funziona ancora o se le sue prestazioni peggiorano
Test negativo per il dispositivo Immettere la chiave errata e verificare l'autenticazione dell'utente. Non dovrebbe consentire l'accesso a un utente
Velocità della linea Controlla che il dispositivo funzioni a una velocità di 10 Gbps, utilizzando tutta la larghezza di banda disponibile per gestire il traffico in entrata
Velocità di conversazione del protocollo Tieni traccia di una conversazione TCP tra due dispositivi e verifica che ciascun dispositivo abbia un comportamento corretto
Tempo di risposta per l'avvio 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

1) Scapy Per la creazione di pacchetti

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

  • Crea pacchetti
  • Decodificare i pacchetti sulla rete
  • Cattura i pacchetti e analizzali
  • Iniettare pacchetti nella rete

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

Può anche gestire altre cose come il trace-routing, i test unitari, gli attacchi o il rilevamento della rete, lo sviluppo di nuovi protocolli, il sondaggio, ecc.

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

#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

Annuserà 10 pacchetti e non appena avrà annusato 10 pacchetti stamperà il riepilogo. Scapy anche come una serie di comandi per inviare e ricevere pacchetti contemporaneamente

Scaricare Scapy

2) Wireshark Strumenti per l'analisi

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

Wireshark cattura pacchetti che aiutano a determinare quando viene stabilita la sessione, quando è stato avviato l'esatto viaggio 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, a cui se ne aggiungono continuamente altri
  • Acquisizione dal vivo e analisi offline
  • Ricca analisi VoIP
  • Browser standard a tre riquadri
  • Funziona su multipiattaforma 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 semplice, ecc.

Scaricare Wireshark

TTCN

TCCN è un linguaggio di test standard per la definizione Scenario di prova 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 ed è utilizzata per analisi 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 vi viene inserito qualcosa di meno di un dollaro. Per programmare tali macchine viene utilizzato il linguaggio TCCN3. Per far sì che la macchina da caffè risponda quando si inserisce una moneta, dobbiamo scrivere il 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.

TTCN

Il sistema di test emette stimoli (moneta da un dollaro) e riceve risposte (caffè). L'adattatore di stimoli ottiene stimoli dal sistema di test e li trasmette al sistema sotto test. L'adattatore di risposta attende le risposte del sistema sotto 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
  • Settore automobilistico (AutoSAR, MOST, CAN)

In TCCN possiamo definire

  • Suite di prova
  • Test di Casi
  • Passaggi di prova
  • Dichiarare variabili
  • Dichiarare i timer
  • Creare PDU ecc.

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