Tutorial sul test dei protocolli (livello 2 e livello 3)
โก Riepilogo intelligente
Il test dei protocolli convalida il modo in cui i dispositivi di rete si scambiano dati attraverso i protocolli L2 e L3. Verifica la struttura dei pacchetti, la conformitร , le prestazioni e l'interoperabilitร per switch, router, apparecchiature VoIP e dispositivi wireless utilizzati da fornitori come Cisco, Juniper e Alcatel.

Prima di approfondire il tema del test dei protocolli, cerchiamo di comprenderne le basi.
Che cos'รจ un protocollo?
Quando i computer comunicano tra loro, esiste un insieme comune di regole e condizioni che ogni computer deve seguire. In altre parole, i protocolli determinano come vengono trasmessi i dati. transmitTra dispositivi informatici e attraverso le reti. Senza queste regole condivise, i dispositivi di diversi produttori non potrebbero scambiare dati in modo affidabile.
Che cos'รจ il test di protocollo?
Test del protocollo Il test dei protocolli รจ un metodo per verificare i protocolli di comunicazione nei settori dello switching, del wireless, del VoIP, del routing e in aree di rete simili. L'obiettivo principale del test dei protocolli รจ verificare la struttura dei pacchetti inviati su una rete utilizzando strumenti specifici. Router e switch vengono utilizzati durante il test come componenti dei dispositivi e dei prodotti in fase di verifica.
Ora che abbiamo definito la pratica, esaminiamo perchรฉ questa disciplina รจ importante nelle reti di produzione.
Perchรฉ testare i protocolli รจ importante
Le reti moderne gestiscono carichi di lavoro critici come chiamate VoIP, transazioni finanziarie e streaming video. Un singolo bug di protocollo puรฒ compromettere l'interoperabilitร tra i fornitori, causare la perdita di pacchetti o esporre falle di sicurezza. Il test dei protocolli salvaguarda la qualitร verificando che ogni implementazione del protocollo corrisponda alle specifiche, sia scalabile sotto carico e si comporti in modo prevedibile in caso di guasti.
Chiarite le motivazioni, la domanda successiva รจ come i protocolli vengono classificati nelle reti reali.
Instradati e protocolli di instradamento
I protocolli si classificano in due categorie: protocolli instradati and protocolli di instradamento.
- Protocolli di routing: I protocolli di routing vengono utilizzati per inviare dati utente da una rete all'altra. Trasportano traffico utente come e-mail, traffico web e trasferimenti di file. Esempi di protocolli di routing sono IP, IPX e AppleTalk.
- Protocolli di instradamento: I protocolli di routing sono protocolli di rete che determinano i percorsi per i router. Vengono utilizzati esclusivamente tra router. Esempi includono RIP, IGRP ed EIGRP.
In parole povere, Un router รจ come un autobus utilizzato per il trasporto, mentre i protocolli di routing sono segnali stradali.
In base al tipo di comunicazione, vengono utilizzati protocolli diversi. Aziende come CiscoJuniper e Alcatel producono dispositivi di rete come router, modem e punti di accesso wireless che utilizzano protocolli diversi per la comunicazione. Ad esempio, Cisco Utilizza EIGRP e OSPF. Il test del protocollo consiste essenzialmente nel verificare se EIGRP (Enhanced Interior Gateway Routing Protocol), OSPF (Open Shortest Path First) o qualsiasi altro protocollo funzioni secondo il rispettivo standard.
Tipi di protocolli informatici
La tabella seguente elenca i protocolli piรน comuni che un tester incontrerร sulla rete.
| 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 tramite Internet. |
| POP3 e SMTP | Viene utilizzato per inviare e ricevere posta |
| Hypertext Transfer Protocol | Viene utilizzato per trasferire pagine HTML in forma crittografata al fine di garantire la sicurezza dei 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 dell'ufficio postale/Semplice Mail Protocollo di trasferimento, HTTP โ Protocollo di trasferimento ipertestuale, FTP โ Protocollo di trasferimento file.
Diversi tipi di protocolli di rete (L2 e L3)
Il modello OSI prevede un totale di sette livelli di comunicazione di rete, di cui il Livello 2 (L2) e il Livello 3 (L3) sono cruciali per il test dei protocolli.
- Livello 2 (L2): Si tratta del livello di collegamento dati. L'indirizzo MAC, Ethernet, Token Ring e Frame Relay sono tutti esempi del livello di collegamento dati.
- Livello 3 (L3): ร il livello di rete che determina il percorso migliore disponibile nella rete per la comunicazione. Un indirizzo IP รจ un esempio di livello 3.
Come eseguire il test del protocollo
- Per testare il protocollo, รจ necessario un analizzatore di protocollo e simulatore.
- L'analizzatore di protocollo garantisce una decodifica corretta, unitamente all'analisi delle chiamate e delle sessioni. Il simulatore riproduce diverse entitร dell'elemento di rete.
- Solitamente, il test dei protocolli viene effettuato tramite un DUT (Device Under Test, dispositivo sotto test) collegato ad altri dispositivi come switch e router, sui quali รจ configurato il protocollo di destinazione.
- Successivamente, il tester verifica la struttura dei pacchetti inviati dai dispositivi.
- Verifica la scalabilitร , le prestazioni e il comportamento dell'algoritmo del protocollo del dispositivo utilizzando strumenti come IxNetwork, Scapye Wireshark.
Tipi di test per il test del protocollo
Il test dei protocolli include la verifica di funzionalitร , prestazioni, stack di protocolli, interoperabilitร e altro ancora. Durante il test dei protocolli, vengono effettuati tre controlli fondamentali.
- Correttezza: Riceviamo il pacchetto X quando ce lo aspettiamo?
- latenza: Quanto tempo impiega un pacchetto a transitare nel sistema?
- Larghezza di banda: Quanti pacchetti possiamo inviare al secondo?
I test di protocollo possono essere suddivisi in due grandi categorie: test di stress e affidabilitร e test funzionali. I test di stress e affidabilitร comprendono Caricare i test, Test di stresse Test di Performance. Test di funzionalitร Comprende test negativi, test di conformitร e test di interoperabilitร .
- Test di conformitร : I protocolli implementati sui prodotti vengono testati per la conformitร a standard quali IEEE e RFC.
- Test di interoperabilitร : Viene verificata l'interoperabilitร tra diversi fornitori. Questa verifica viene effettuata dopo il completamento dei test di conformitร sulla piattaforma appropriata.
- Test delle funzionalitร di rete: Le funzionalitร dei prodotti di rete vengono testate in base alla documentazione di progettazione. Ad esempio, le funzionalitร possono essere la sicurezza delle porte su uno switch o le ACL su un router.
Casi di test campione per il test del protocollo dei dispositivi di rete
Ecco un insieme di casi di test di esempio per router e switch.
| Nome del test | Test di Casi |
|---|---|
| Una VLAN su uno switch | Crea due VLAN diverse. Verifica la visibilitร tra gli host sulle diverse VLAN. |
| Tre VLAN simmetriche su un unico switch | Crea tre VLAN asimmetriche diverse. Verifica la visibilitร tra gli host. |
| Spanning Tree: variazione del costo del percorso radice | Verifica come cambia il costo del percorso radice dopo una variazione della topologia. |
| Spanning Tree: blocco delle porte | Verifica come il protocollo spanning tree evita la formazione di cicli nella rete, bloccando i collegamenti ridondanti, in presenza di VLAN troppo. |
| Root Bridge diverso per MSTI diversi | Dimostra che ogni MSTI puรฒ avere un Root Bridge diverso. |
| Visibilitร tra diverse regioni STP | Utilizzando le stesse VLAN, verificare la visibilitร tra diverse regioni STP. |
| Prestazioni degli switch telefonici | Effettua 1000 chiamate telefoniche e verifica se il centralino telefonico funziona ancora o se le sue prestazioni si sono degradate. |
| Test negativo per il dispositivo | Inserisci la chiave errata e verifica l'autenticazione. L'utente non dovrebbe essere autorizzato ad accedere. |
| Velocitร della linea | Verifica che il dispositivo funzioni a una velocitร di 10 Gbps, utilizzando tutta la larghezza di banda disponibile per gestire il traffico in entrata. |
| Tasso di conversione del protocollo | TracEseguire una conversazione TCP tra due dispositivi e verificare che ciascun dispositivo si comporti correttamente. |
| Tempo di risposta per l'avvio della sessione | Misurare il tempo di risposta di un dispositivo a una richiesta di invito per l'avvio della sessione. |
Strumenti per il test del protocollo
Analizziamo ora i principali strumenti di test utilizzati per verificare i protocolli.
1) Scapy per la creazione di pacchetti
Scapy รจ un potente programma interattivo per la manipolazione dei pacchetti. Consente di:
- Crea pacchetti
- Decodificare i pacchetti sulla rete
- Cattura i pacchetti e analizzali
- Iniettare pacchetti nella rete
Quindi, in sostanza, Scapy Principalmente svolge due funzioni: ricevere risposte e inviare pacchettiDefinisci i pacchetti, il sistema li invia, riceve le risposte, associa le richieste alle risposte e restituisce un elenco di coppie di pacchetti e un elenco di pacchetti non corrispondenti.
Puรฒ anche gestire altri compiti come trace-routing, unit test, attacchi, scoperta di rete, sviluppoping nuovi protocolli e indagini.
Scapy ti consente di scrivere un Python script che consente di eseguire attivitร come l'invio, la ricezione o l'analisi dei pacchetti. Ad esempio, Scapy puรฒ intercettare i pacchetti di dati utilizzando un breve Python script. Il comando per aprire l'editor รจ mostrato di seguito.
#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 # ./scapysniff.py
Analirร 10 pacchetti e, non appena ne avrร analizzati 10, stamperร il riepilogo. Scapy Dispone inoltre di una serie di comandi per l'invio e la ricezione simultanea di pacchetti.
2) Wireshark per l'analisi
Wireshark รจ lo strumento principale utilizzato per l'analisi dei test di protocollo. Consente di acquisire pacchetti in tempo reale e visualizzarli in un formato leggibile. ร possibile analizzare a fondo il traffico di rete e ispezionare i singoli pacchetti utilizzando la codifica a colori e i filtri.
Wireshark cattura i pacchetti che aiutano a determinare quando viene stabilita la sessione, quando รจ stato avviato esattamente il trasferimento dei dati e quanti dati vengono inviati ogni volta.
Wireshark possiede una ricca serie di funzionalitร che includono:
- Un'ispezione approfondita di centinaia di protocolli, con l'aggiunta continua di nuovi protocolli.
- Acquisizione dal vivo e analisi offline
- Ricca analisi VoIP
- Browser di pacchetti standard a tre riquadri
- Funziona su piรน piattaforme come Windows, Linux e macOS
- I dati di rete acquisiti possono essere sfogliati tramite una GUI
- Supporto per la decrittazione di numerosi protocolli, tra cui IPsec, ISAKMP e SSL/TLS.
- ร possibile leggere i dati in tempo reale tramite Ethernet, ATM, Bluetooth, USB e Token Ring.
- L'output puรฒ essere esportato in formato CSV, XML e testo semplice.
3) TTCN
TTCN รจ un linguaggio di test standard per la definizione Scenari di prova e la loro implementazione per il test del protocollo. Una suite di test TTCN contiene molti casi di test scritti nel linguaggio di programmazione TTCN e viene utilizzata per test di sistemi reattivi o test comportamentali.
Ad esempio, si consideri un distributore automatico di caffรจ che eroga caffรจ quando viene inserita una moneta da un dollaro, ma non risponde se viene inserito un importo inferiore. Per programmare tali macchine, si utilizza il protocollo TTCN-3. Per far sรฌ che il distributore di caffรจ risponda all'inserimento di una moneta, si scrive un componente TTCN-3 che si comporti come un distributore di caffรจ. Questo permette di eseguire dei test prima che un distributore di caffรจ reale sia disponibile come prodotto. Una volta completato questo, รจ possibile collegare la suite di test TTCN-3 al dispositivo esterno.
Il sistema di test emette stimoli (una moneta da un dollaro) e riceve risposte (caffรจ). L'adattatore di stimoli riceve gli stimoli dal sistema di test e li trasmette al sistema in esame. L'adattatore di risposta attende le risposte del sistema in esame e le trasmette al sistema di test.
Il TTCN-3 puรฒ essere utilizzato in diversi campi, tra cui:
- Comunicazioni mobili (LTE, WiMAX, 3G)
- Tecnologie a banda larga (ATM, DSL)
- Piattaforme middleware (servizi web, CORBA)
- Protocolli Internet (SIP, IMS, IPv6)
- Smart card
- Settore automobilistico (AutoSAR, MOST, CAN)
In TTCN รจ possibile definire:
- Suite di prova
- Test di Casi
- Passaggi di prova
- Variabili dichiarate
- Cronometri dichiarati
- PDU e altro ancora
TTCN puรฒ essere integrato con sistemi scritti in altri linguaggi come ASN.1, XMLe C/C++Il linguaggio di base TTCN-3 esiste in formato testuale, oltre che in formato tabellare, grafico e di presentazione.
Come applicare i test di protocollo nella pratica
Per applicare queste tecniche a un progetto reale, definire l'ambito del protocollo (L2, L3 o superiore), configurare un DUT con simulatore e analizzatore collegati, redigere casi di test di conformitร e negativi facendo riferimento alle specifiche RFC o IEEE, quindi eseguire controlli di stress, interoperabilitร e anomalie assistiti dall'IA. Acquisire i risultati in Wireshark e ripetere il processo finchรฉ il comportamento del pacchetto non corrisponde allo standard.

