1. MISURE PER LA QUALIFICAZIONE
DELLE RETI DI TELECOMUNICAZIONI
Anno Accademico 2005/2006
Protocol Analysis
and
Protocol Analyzers
Starring:
Vitulano Lucia
Visone Silvia
Testa Salvatore
Tavolaro Diego
Rosolia Giosuè
Ruotolo Alfonso
Director:
Leopoldo Angrisani
Domenicantonio Grillo
2. Outline
Protocolli e Architetture di Rete
Ciclo di Vita di una Rete ed Analisi di Protocollo
Misurazioni di Analisi di Protocollo
Analizzatori di Protocollo e loro Implementazione
Offerta Commerciale Agilent
Analizzatore di Protocollo J6800A
3. Nell’uso comune un protocollo è un codice o un
insieme di regole che specificano la corretta
procedura per lo scambio di informazioni.
Tale concetto è molto semplice da comprendere
se si considera un’analogia con l’uomo.
Fondamentalmente un protocollo è un accordo
fra le parti che comunicano sul modo in cui deve
procedere la comunicazione.
Che Cos’è un Protocollo? (1/2)
4. “Quando una donna viene
presentata ad un uomo può
decidere di porgere la mano.
Lui, a sua volta, può decidere di
stringerle la mano o di baciarla,
a seconda del fatto che sia un
avvocato americano in una
riunione di affari o una
principessa europea ad un ballo
ufficiale.”
Violare il protocollo rende la
comunicazione più difficile,
se non del tutto impossibile.
Che Cos’è un Protocollo? (2/2)
5. Un’architettura di rete è il progetto e la struttura di una rete di computer
è definita dalla sua implementazione fisica, dalle pile protocollari e dalla
topologia
Proprietarie: sviluppate dai fornitori, possono essere o meno accessibili
ad esterni (ad esempio l’IBM Systems Network Architecture);
Pubbliche: si tratta di implementazioni largamente diffuse ed usate in
ambito pubblico (ad esempio l’architettura di rete TCP/IP);
Standard: sviluppate da organizzazioni nazionali ed internazionali
deputate alla stesura degli standards (ad esempio le specifiche della rete
X.25 definite dal CCITT).
Le specifiche che caratterizzano l’architettura si definiscono:
Protocolli ed Architettura di Rete
6. L’ISO (International Standard Organization) ha definito un modello di
riferimento per la comunicazione all’interno di una rete di computer,
detto OSI (Open System Interconnection);
Il modello OSI ha una struttura gerarchica a sette livelli;
Ad ogni livello corrisponde una specifica funzione;
Ogni livello n fornisce uno o più servizi al livello n+1;
Sistemi complessi sono creati assemblando tecnologie differenti, la cui
interoperabilità è garantita dalla presenza di interfacce;
Con una struttura a livelli si possono sostituire componenti
mantenendo le interfacce e incapsulando i cambiamenti all’interno dei
livelli, oppure sostituendo le interfacce stesse;
La sostituzione dei livelli avviene senza discutere l’intera architettura
del sistema.
Modello di Riferimento OSI (1/2)
7. Esistono tre differenti tipi di connessione:
Connessione fisica: collegamento
effettivamente esistente tra due
terminali di rete.
Connessione software: relativa ai
livelli sul medesimo terminale.
Connessione logica: si riferisce al
collegamento tra entità paritarie tra
sorgente e destinazione.
Modello di Riferimento OSI (2/2)
8. Introduzione all’Analisi di
Protocollo (1/4)
Due applicazioni, in esecuzione su sistemi di
computer diversi, per comunicare tra di loro,
devono scambiarsi continuamente,
efficientemente e correttamente informazioni.
Si richiede l’esistenza della connessione fisica.
Le caratteristiche fisiche e le specifiche dei mezzi
di trasmissione devono esser standardizzate in
modo che differenti sistemi di computer possano
essere connessi elettricamente tra loro.
9. Come due persone per comunicare tra di loro
devono parlare lo stesso linguaggio, così due
diversi sistemi di computer devono parlare lo
stesso linguaggio per poter comunicare;
Il flusso di bit che essi si scambiano deve dunque
conformarsi ad uno standard che definisca gli
schemi di decodifica, l’ordine dei bit e le modalità
di rilevazione o correzione di errori.
Introduzione all’Analisi di
Protocollo (2/4)
10. Si usa un analizzatore di protocollo per esaminare
il flusso di bit e garantire che esso sia conforme
agli standards del protocollo che definiscono gli
schemi di decodifica, le sequenze di bit e le
condizioni di errore.
L’informazione è scambiata in unità logiche; una
frame di protocollo, un pacchetto, un messaggio o
una cella costituiscono l’unità logica trasmessa
sulla infrastruttura fisica della rete di computer.
Introduzione all’Analisi di
Protocollo (3/4)
11. In base al tipo di rete e di protocollo in esame viene
fissata la dimensione dell’unità logica di base dei
dati (ad esempio le frames usate nelle reti Ethernet
vanno da 64 a1500 Byte).
Nelle reti c’è più di un percorso tra i dispositivi e i
pacchetti contenenti i dati, dunque, devono essere
opportunamente indirizzati in modo da attraversare
percorsi singoli o multipli attraverso la rete.
Introduzione all’Analisi di
Protocollo (4/4)
12. I protocolli vengono definiti allo scopo di rendere
efficiente lo scambio di informazione tra due
terminali connessi in rete.
In termini di computer networking, i protocolli si
occupano di sincronizzazione, indirizzamento,
correzione degli errori, informazioni di controllo,
intestazione, trasferimento dati, routing,
frammentazione e riassemblaggio,
incapsulamento e controllo del flusso.
Classificazione dei protocolli (1/2)
13. Message Framing
Delivery Mechanism
Timing
Control
La classificazione dei protocolli avviene in base
alle diverse caratteristiche che ciascun protocollo
possiede in materia di:
Classificazione dei protocolli (2/2)
14. Message Framing (1/2)
Bit-oriented
Byte-oriented
Character-oriented
Il messaggio è l’unità logica di informazione
che viene trasferita tra due terminali. In questo
ambito vi sono tre tipologie di protocolli:
15. Bit-oriented protocols: usano delle specifiche
sequenze di bit per delimitare l’inizio e la fine del
messaggio da trasferire ed includono in esso delle
informazioni di controllo;
Byte-oriented protocols: usano un header di
protocollo che include un particolare conteggio di
byte;
Character-oriented protocols: usano degli
speciali caratteri di controllo per segnalare l’inizio e
la fine del trasferimento dei messaggi. I caratteri di
controllo dipendono dal codice dati in uso sulla
rete, come ad esempio ASCII oppure EBCDIC.
Message Framing (2/2)
16. Connection-oriented: client e server si
scambiano pacchetti di controllo prima di spedire
pacchetti contenenti dati reali. Queste procedure
dette handshaking allertano client e server in
modo che possano prepararsi all’arrivo di
pacchetti. E’ previsto un riscontro di avvenuta
ricezione dei pacchetti spediti;
Connectionless: non prevede alcuna procedura
di handshaking. I dati sono inviati più
velocemente e non esiste alcun messaggio di
riscontro dell’avvenuta ricezione.
Il meccanismo di distribuzione dei dati può essere:
Delivery Mechanism
17. Reti sincrone: sono sincronizzate da un clock
principale e trasmettono ad intervalli determinati.
Esse sono costose da implementare ma
forniscono una trasmissione più efficiente;
Reti asincrone: trasferiscono l’informazione un
byte alla volta, senza tener conto di alcuna
cadenza temporale (un nodo può trasmettere in
un qualsiasi momento ed in modo continuo).
Le reti di computer, dal punto di vista temporale,
possono esser suddivise in due categorie:
Timing
18. master/slave: la rete è controllata da un nodo
principale che regola la trasmissione dati degli altri
nodi sulla rete;
peer-to-peer: i nodi della rete possono trasmettere
informazione senza dover ottenere alcun permesso e
senza vincoli temporali.
Il sistema di controllo in una rete di computer può essere:
Control
19. Gli standard assicurano l’interoperabilità tra
dispositivi e servizi relativi a differenti fornitori;
Tali standard possono essere definiti e
implementati nel settore privato dai fornitori di
componenti di computer e di reti (CISCO, IBM) ma
il maggior numero di standard e raccomandazioni
viene creato da organizzazioni nazionali o
internazionali (ANSI, CCITT, ETSI, IEEE, ISO,
ITU). Il forum ATM e IETF sono gruppi di lavoro
per lo sviluppo di standard per prodotti di
networking.
Standard Protocollari (1/4)
20. ANSI (American National Standards Institute): è il
rappresentante statunitense dell’ISO. Divulga
specifiche per FDDI. ANSI lavora con IEEE per
l’approvazione delle specifiche relative alle reti LAN;
ATM Forum: è un gruppo formato da tecnici che
lavorano sulle specifiche ATM;
CCITT (Consultative Committee on International
Telegraphy and Telephony): fa parte dell’ITU. Si
occupa di raccomandazioni in materia di telefonia e
interfacce di comunicazione dati. CCITT è
responsabile per X.25, X.75, X.21 e ISDN;
Standard Protocollari (2/4)
21. ETSI (European Telecommunications Standards
Institute): è l’equivalente Europeo dell’ANSI. Definisce
specifiche per il settore delle TLC;
IEEE (Institute of Electrical and Electronic
Engineers): è responsabile per il livello fisico e di
collegamento per le reti LAN come IEEE 802.3
CSMA/CD e IEEE Token-Ring. IEEE è un membro
dell’ANSI;
IETF (Internet Engineering Task Force): è un gruppo
tecnico formato da rappresentanti dell’industria che
divulga standard per TCP/IP;
Standard Protocollari (3/4)
22. ISO (International Standards Organization): divulga
standard internazionali per la comunicazione dati
come OSI (Open Systems Interconnection);
ITU (International Telecommunication Union): divulga
standard per le telecomunicazioni. Specifica alcuni
standard per ATM.
Standard Protocollari (4/4)
23. I protocolli sono caratterizzati da regole semantiche e
sintattiche.
Semantica: fa riferimento al significato
dell’informazione contenuta nei pacchetti di dati,
includendo informazioni di controllo per il
coordinamento e il trattamento degli errori;
Sintassi: fa riferimento alla struttura, all’adattamento,
all’ordine del protocollo includendo il formato dei dati
ed il livello del segnale.
L’analisi di protocollo riguarda sia la sintassi che la
semantica dei protocolli.
Regole Semantiche e Sintattiche
24. Incapsulamento di una Frame (1/2)
In una pila protocollare tutte le informazioni di protocollo provenienti da
un particolare livello della pila vengono incapsulate come dati nel livello
sottostante.
Si consideri come esempio un’applicazione FTP (File Transfer Protocol),
che può essere eseguita su una pila protocollare TCP/IP:
• I dati provenienti dalla sorgente, giunti al livello applicazione,
vengono incrementati con dei bit di controllo, che costituiscono
l’header;
• La procedura viene ripetuta su tutti i livelli ed ognuno di essi
attaccherà il proprio header ai dati provenienti dal livello superiore;
• In ricezione si preleva l’header corrispondente a ciascun livello
della pila;
• I rimanenti dati sono inviati al livello superiore fino a raggiungere
l’host di destinazione.
25. Il livello Data Link è formato
da due sottolivelli.
Il livello MAC (Media Access
Control) regola l’accesso al
mezzo da parte di più utenti.
Il livello 2 della pila TCP/IP
esplica funzioni di framing,
controllo d’errore e di flusso.
Il sottolivello MAC esegue
solo le prime due di tali
funzioni.
Per completare il livello Data
Link è stato introdotto il
sottolivello LLC (Logical Link
Control).
Incapsulamento di una Frame (2/2)
26. Ogni architettura di rete possiede una propria pila
protocollare, caratterizzata da differenti livelli che, in molti
casi, hanno funzioni equivalenti a quelle del modello OSI.
Nonostante la grande varietà di protocolli, alcune funzioni
di base sono comuni a tutti;
Tali funzioni svolgono la maggior parte del lavoro
all’interno dell’architettura di rete e per questo sono più
sensibili ad eventuali malfunzionamenti della stessa;
Costituiscono pertanto i punti di maggior interesse per il
monitoraggio delle prestazioni della rete.
L’analisi di protocollo viene utilizzata per esaminare
l’informazione protocollare che esegue tali funzioni.
Funzioni del Protocollo (1/6)
27. Le funzioni di maggior interesse nell’analisi di
protocollo sono le seguenti:
• Sincronizzazione
• Indirizzamento
• Correzione d’errore
• Header e controllo
• Payload
• Routing
• Frammentazione e riassemblaggio
• Incapsulamento
• Controllo di flusso
Funzioni del Protocollo (2/6)
28. Sincronizzazione
• Utilizzata per determinare l’inizio e la fine di una frame
d’informazione;
• Essa è realizzata con diverse segnalazioni quali sequenze
specifiche di bit o di caratteri.
Indirizzamento
• Le frames contengono gli indirizzi della sorgente e del destinatario;
• L’ indirizzamento può essere fatto al livello 2 o 3;
• L’ indirizzamento può essere svolto anche a livello Rete mediante
indirizzi logici detti di rete;
• A livello 2 l’ indirizzamento viene svolto point-to-point mentre a
livello 3 viene svolto end-to-end;
• Alcuni elementi di rete, quali i routers, possono manipolare gli
indirizzi per rendere più agevole il routing delle frames attraverso la
rete.
Funzioni del Protocollo (3/6)
29. Correzione d’errore
• La trasmissione delle frames è sempre soggetta ad un rumore
addizionale che può causare errori nella valutazione del singolo
bit;
• Il protocollo può prevedere la rivelazione d’errore e la
correzione automatica, la richiesta di ritrasmissione o può
ignorare l’eventuale presenza di errori;
• Spesso la rivelazione è agevolata dalla presenza di una Frame
Check Sequences.
Header e Controllo
• L’ header ed i campi di controllo delle frames contengono
l’informazione necessaria per gestire le operazioni di protocollo
come priorità, indirizzamento, routing, informazioni di comando
e di risposta.
Funzioni del Protocollo (4/6)
30. Payload
• La maggior parte delle frames contiene dati;
• Alcune frames invece contengono solo specifiche informazioni di
rete e non includono un campo dati;
• Ogni livello protocollare considera l’informazione proveniente dal
livello superiore come dati.
Routing
• I routers vengono usati per connettere reti di differenti estensioni
fornendo l’accesso a più ampi internetworks;
• Gli ambiti di rete risultanti sono costituiti da LANs e WANs spesso
implementate con protocolli ed architetture di rete molto diverse ma
il routing garantisce l’interoperabilità tra un protocollo e l’altro;
• Le frames trasmesse sulla rete contengono informazioni di routing
per rendere più agevole il loro stesso trasferimento.
Funzioni del Protocollo (5/6)
31. Frammentazione e riassemblaggio
• Per assicurare una trasmissione efficiente delle frames è spesso
opportuno limitarne la dimensione, dividendole in frammenti che
devono essere successivamente riassemblati in ricezione.
Incapsulamento
• Molte frames devono attraversare diverse reti intermedie prima di
giungere a destinazione;
• Per favorire le transizioni tra reti differenti, le frames vengono
incapsulate all’interno di altre frame adatte a protocolli differenti;
• Ad esempio le frames TCP/IP possono essere incapsulate in altre
relative al protocollo Frame-relay.
Controllo di flusso
• Nodi differenti su una rete possono avere diverse capacità di
trasmissione e ricezione dei dati;
• I due terminali pertanto negozieranno preventivamente il tasso di
trasferimento dei dati per evitare eventuali perdite.
Funzioni del Protocollo (6/6)
32. Necessità dell’Analisi
di Protocollo (1/3)
Chi progetta, implementa e lavora con reti costituite
da un gran numero di computer deve costantemente
fronteggiare problemi legati a guasti interni alla rete,
colli di bottiglia, errate configurazione e ritardi.
I managers di rete fanno uso di una grande varietà
di tools e di metodologie per l’installazione ed il
mantenimento delle reti.
I tools per l’analisi di protocollo forniscono ad essi
una sorta di finestra sulla rete per osservare ed
analizzare il traffico di rete.
33. Mentre nuove tecnologie e componenti di rete a prestazioni
sempre più elevate vengono introdotti sul mercato, si sta
sviluppando la tendenza a ridurre fortemente i costi,
incrementando le prestazioni.
Man mano che i progetti di nuove architetture di rete diventano
sempre più affidabili, i fattori trainanti di costo e prestazioni
escludono la possibilità di includere capacità estensive di
autoanalisi all’interno della rete stessa.
Tools addizionali come sistemi di network management, sistemi di
monitoraggio distribuiti ed analizzatori di protocollo sono necessari
per garantire che il tempo di downtime del servizio, con
conseguenti costi e perdita di produttività, sia minimo.
Tali tools impiegano protocolli di analisi per implementare le
necessarie funzionalità di testing.
Necessità dell’Analisi
di Protocollo (2/3)
34. L’analisi di protocollo consta di specifiche operazioni
che l’utente esegue per localizzare il problema
all’interno della rete o per monitorarne le prestazioni.
L’utente invoca misurazioni specifiche, come la
decodifica di protocollo o delle statistiche di
protocollo, per poter eseguire tali operazioni.
Per acquisire statistiche relative ad un particolare
nodo o ad un insieme di nodi, è necessario un
opportuno set up dei filtri, con specifici indirizzi di
rete.
Necessità dell’Analisi
di Protocollo (3/3)
35. Applicazioni dell’Analisi
di Protocollo
Window into the network
Fault isolation and troubleshooting
Performance monitoring
Network baselining
Security
Stress testing
Network mapping
Connectivity testing
Conformance testing
36. Window into the network
Permette al network manager di ottenere una stima del
comportamento della rete attraverso la visione dei pacchetti che la
attraversano. Alcuni problemi possono essere risolti velocemente.
rete rete
37. Fault isolation and
Troubleshooting
Questa metodologia consiste nell’osservare la presenza di un
problema, raccogliere dati relativi ad esso, formulare delle ipotesi e
provare e riprovare le ipotesi. Questo processo è ripetuto fin tanto che
il problema è risolto.
L’analisi di protocollo è usata nel processo di troubleshooting, in un
primo momento per osservare che un problema sta accadendo, poi
per raccogliere dati sul problema in questione e infine per monitorare
la rete con le correzioni apportate.
38. Performance monitoring
Serve per determinare l’utilizzo della rete, gli errori che stanno
avvenendo, le applicazione che si stanno eseguendo, gli utenti
registrati e per capire se la capacità della rete è sufficiente.
Nel breve periodo questa applicazione può servire per il
troubleshooting dei problemi mentre nel lungo periodo può servire
per determinare i profili di traffico e ottimizzare la configurazione e la
topologia della rete.
39. Network baselining
Questa applicazione serve per determinare il profilo di una particolare
rete nel tempo. Il profilo è definito attraverso dati statistici che
includono: mappe della rete, numero di utenti, protocolli in uso,
informazioni di errore e livelli di traffico. Queste informazioni possono
essere utilizzate per generare reports che descrivono la topologia della
rete, le prestazioni e le operazioni che si compiono su di essa.
Network mapping
I tools dell’analisi di protocollo, in questo caso, sono usati per fornire
automaticamente una lista di nodi di tutti gli utenti connessi al fine di
creare una mappa della rete e di facilitare il troubleshooting.
40. Security
Siccome le reti sono interconnesse su scala globale, può
succedere che le reti vengono violate da accessi non autorizzati.
Attraverso i tools dell’analisi di protocollo, con filtri, trigger,
capacità di decodifica, è possibile rilevare queste intrusioni.
Stress testing
Molti errori della rete sono intermittenti e possono essere ricreati
solo generando traffico per congestionare la rete e ricreare le
situazioni di errore. Attraverso questi tipi di test è possibile
scoprire molti problemi della rete.
41. Conformance testing
Questo tipo di test è usato per verificare che le interfacce siano
tutte compatibili ai vari standard e che quindi possano “parlare”
tra loro.
Tale tipologia di test è “ben stabilita” dallo standard ISO 9646
Connectivity testing
Un analizzatore di protocollo può, in questo caso, diventare
un nodo della rete e mandare delle frame (come i ping) alle
varie interfacce di rete per determinare se esse sono attive,
inoltre è possibile misurare anche il tempo di risposta.
42. Un analizzatore di protocollo è un sistema dedicato,
special-purpose, che agisce come un nodo di rete.
A differenza di un tipico nodo di rete, tuttavia, monitora e
cattura tutto il traffico di rete per farne analisi e testing.
Il termine analizzatore di protocollo fu introdotto all’inizio
degli anni 80 per descrivere una nuova classe di
prodotti, dedicati al testing in serie dei dati sulle reti di
telecomunicazione.
Questi primi prodotti fornivano un set di funzioni,
focalizzate all’analisi dei protocolli di comunicazione e
alla verifica della loro conformità agli standards.
Primi Analizzatori di Protocollo (1/2)
43. Questa classe di prodotti si è sviluppata velocemente,
includendo supporti per ogni tipo di computer, rete di
telecomunicazione, architettura e protocollo.
Prodotti di tal tipo consentono:
• il confronto delle frames di dati con gli standard
protocollari (protocol decodes);
• il caricamento della rete, generando traffico, per
congestionare la rete;
• il monitoraggio delle prestazioni di rete con analisi
statistiche.
Le misurazioni possibili vanno estese ad un ampio set
di applicazioni: troubleshooting, network performance
monitoring, network planning, network security, protocol
conformance testing, network equipment development.
Primi Analizzatori di Protocollo (2/2)