Tutorial sul test del protocollo: L2 e L3

Prima di conoscere i test del protocollo, comprendiamo:

Cos'รจ il protocollo?

Quando un computer comunica con un altro, esiste un insieme comune di regole e condizioni che ogni computer deve seguire. In altre parole, i protocolli determinano come vengono trasmessi i dati. transmitcomunicazione tra dispositivi informatici e tramite 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 Tracka conversazione TCP tra due dispositivi e verificare che ciascun dispositivo abbia intrapreso 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รฒ gestire anche altre cose come trace-routing, unit test, attacchi o scoperta di rete, sviluppoping nuovi protocolli, sondaggi, 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.

Riassumi questo post con: