Sei sulla pagina 1di 14

54

Protocolli Generalit
Un protocollo un insieme di regole che permettono a diversi apparati di comunicare. I protocolli sono di tipo: software; hardware.

I protocolli software sono quelli che stabiliscono le regole per la modalit della comunicazione e per il controllo della correttezza della trasmissione. I protocolli hardware sono quelli che normalizzano i segnali elettrici e le interfacce tra i diversi dispositivi interessati alla comunicazione, per esempio linterfaccia seriale RS-232 o V.24/V.28, RS-422. I protocolli software sono classificati in base al tipo di trasmissione in:

asincrono; sincrono.

Fig. 1.

Lelemento base che costituisce linformazione pu essere il carattere (a 7 oppure 8 bit) o il bit. I protocolli asincroni sono orientati al carattere, mentre quelli sincroni possono essere orientati sia al carattere sia al bit. In una trasmissione dati tra elaboratori, per garantire la correttezza della comunicazione, necessario stabilire degli standard da rispettare in modo da poter interconnettere qualunque sistema o dispositivo atto alla trasmissione dei dati stessi. LOrganizzazione Internazionale per gli Standard (ISO) ha realizzato un modello chiamato OSI (Open System Interconnection) a 7 livelli illustrato nella figura 1. Ogni livello ha una funzione specifica. I livelli ISO-OSI sono i seguenti. 1. Fisico (Physical Layer): definisce i metodi e i mezzi impiegati per trasmettere e ricevere i dati. Esempio: cavi (cavo coassiale, fibra ottica), connettori, interfacce (RS 232). 2. Linea dati (Data Link Layer): definisce le tecniche per la trasmissione dei dati, il controllo e la correzione degli errori, la ritrasmissione dei dati. Esempio: metodo CRC, metodo della Parit, protocolli BSC, HDLC. 3. Rete (Network Layer): controlla la trasmissione di dati tra le stazioni trasmittenti e riceventi; suddivide i dati in pacchetti e indirizza il flusso dei dati attraverso la rete. 4. Trasporto (Transport Layer): gestisce il collegamento tra la stazione trasmittente e quella ricevente. 5. Sessione (Session Layer): un protocollo di elaborazione; converte il nome di una stazione in un indirizzo fisico e permette il collegamento al livello superiore.

6. Presentazione (Presentation Layer): effettua la conversione dei formati dei dati forniti dal livello superiore di applicazione. Esempio: codice ASCII. 7. Applicazione (Application Layer): utilizzato dalle applicazioni dellutente. Nel modello OSI, ogni livello comunica solo con il livello immediatamente inferiore o superiore. Per esempio, per comunicare dal livello 5 al livello 3 necessario passare attraverso il livello 4. Nel modello OSI non possibile il collegamento diretto tra livelli dello stesso ordine appartenenti a due sistemi di comunicazione. Pertanto il collegamento tra livelli corrispondenti deve interessare tutti i livelli di ordine inferiore di entrambi i sistemi.
Esempio 1 Connessione tra il livello 4 del sistema 1 con il livello 4 del sistema 2.

Fig. 2.

55
Fig. 1.

Protocolli software asincroni


Un protocollo si dice asincrono perch lintervallo di tempo che intercorre tra linvio di un carattere ed il successivo indefinito. Ogni carattere, codificato generalmente secondo il codice ASCII a 7 o a 8 bit, preceduto da un bit di start e seguito da uno o due bit di stop. Per tale motivo il protocollo detto anche start-stop.

Esempio 1 Trasmissione della lettera o carattere B. La lettera B codificata in codice ASCII dalla configurazione 1000010; la trasmissione sar:

Fig. 2. Nella figura 4, la durata del singolo bit potrebbe essere uguale a 52 [s] se la trasmissione di 19 200 [bps].

1. Protocollo XON-XOFF
Il protocollo XON-XOFF non consente il controllo della correttezza della comunicazione, pertanto impiegato solitamente nella trasmissione di file di testo. La comunicazione gestita dal terminale Rx mediante linvio, al terminale Tx, di due caratteri ASCII: XON e XOFF.

Quando il terminale Rx pronto per ricevere i dati invia il carattere XON al terminale remoto Tx. Se il terminale Rx deve sospendere la comunicazione invia il carattere XOFF al terminale Tx.

Fig. 3.

Fig. 4. Diagramma temporale del protocollo XON-XOFF.

2. Protocollo XMODEM
un protocollo asincrono lento, adatto per velocit fino a 2 400 [bps]. La comunicazione gestita dal terminale Rx mediante linvio di caratteri di conferma in codice ASCII. il terminale Rx che comincia e termina la comunicazione. Quando il terminale Rx pronto a ricevere i dati, invia ogni 10 secondi il carattere NAK (Negative Acknowledge) al terminale Tx. Se il terminale Tx disponibile alla trasmissione di un file, esso suddivide il file in blocchi da 128 byte. II Tx trasmette un blocco di dati alla volta. Ogni blocco di dati preceduto e seguito da caratteri di controllo. La trasmissione dei dati organizzata secondo la trama indicata nella figura 5:

Fig. 5.

dove:

SOH (Start of Header): un campo a 8 bit per linizio del blocco. N Blocco: campo a 8 bit per indicare il numero del blocco; possono essere indicati sequenzialmente 256 blocchi. Se i blocchi dati sono in numero superiore a 256, la numerazione ricomincia da 0. Complemento a 1 del N Blocco: campo a 8 bit per controllare la sequenzialit dei blocchi trasmessi. Dati: campo a 128 byte riservato al file. Checksum: campo a 8 bit per controllare la correttezza dei dati ricevuti. Il campo del Checksum (somma di controllo) uguale al resto della divisione della somma di tutti i byte relativi ai dati per 255.

Il terminale Rx, dopo aver ricevuto il blocco, effettua il controllo sui campi della trama: a. controlla il campo SOH; b. verifica che il no del blocco corrente sia uguale al n blocco precedente 1; c. controlla la sequenzialit dei blocchi ricevuti eseguendo loperazione di ex-or, bit a bit, tra i campi 2 e 3; loperazione ha esito favorevole se il risultato fornisce la configurazione (FF)HEX; d. calcola il campo di controllo con il metodo del Checksum e lo confronta con quello ricevuto. Se il controllo ha esito positivo allora Rx invia a Tx il carattere ACK (Acknowledge), altrimenti invia il carattere NAK per richiedere la ritrasmissione del blocco corrente. Quando Tx non ha alcuna informazione da trasmettere, invia il carattere

EOT (End of Transmission); Rx, dopo aver riconosciuto il carattere EOT, termina la comunicazione inviando al Tx il carattere ACK. I campi di controllo non sono protetti dagli errori, ed eventuali errori sui caratteri ACK, NAK, EOT determinano il blocco della comunicazione con limpossibilit da parte del sistema di riprendere la trasmissione dal punto di interruzione. Pertanto il protocollo XMODEM stato sostituito dai protocolli YMODEM e ZMODEM. Il protocollo ZMODEM oltre a essere pi veloce (oltre 9600 [bps], con campo dati da 1 [Kbyte]), in grado di ricominciare la trasmissione dal punto di interruzione.

Fig. 6. Diagramma temporale del protocollo XMODEM.

56

Protocolli software sincroni


La sincronizzazione della trasmissione effettuata inviando uno o pi caratteri di sincronismo (SYN) allinizio di ciascun blocco di dati.

1. Protocollo BSC (Binary Syncronous Communications)


Il protocollo BSC un protocollo di 2o livello orientato al carattere, utilizzato per trasmissioni half-duplex con velocit fino a 19 200 [bps]. Il codice binario solitamente impiegato lASCII. Il protocollo BSC classificato in base al tipo di linea utilizzata, come:

BSC1: nei collegamenti di tipo punto-punto, su linea dedicata;

BSC2: nei collegamenti di tipo punto-punto, su linea commutata, pubblica o privata;

BSC3: nei collegamenti di tipo multipunto su linea dedicata.

La trasmissione dei dati organizzata secondo la trama indicata nella figura 1:

Fig. 1.

dove:

SOH (Start of Header): campo a 8 bit che identifica linizio del blocco dei dati; HEADING: campo a n byte per lintestazione o titolo del blocco;

STX (Start of Text): campo a 8 bit che indica linizio dei dati; Dati: campo a n byte dedicato al file da trasmettere; ETB (End Transmission Block): campo a 8 bit per indicare se il blocco dei dati intermedio; nel caso della trasmissione dellultimo blocco di dati, il carattere ETB sostituito da ETX (End of Text). BCC (Block Character Check): campo a 1 o 2 byte per il controllo degli eventuali errori in trasmissione mediante il codice CRC.

La richiesta della trasmissione fatta dal terminale Tx mediante linvio di caratteri di sincronismo SYN seguiti dal carattere ENQ (Enquiry cio richiesta). Alla fine della trasmissione il terminale Tx invia il carattere EOT.

2. Protocollo HDLC (High Data Link Control)


Il protocollo HDLC un protocollo sincrono di 2o livello orientato al bit, utilizzato per trasmissioni half-duplex e full-duplex su linee punto-punto e multipunto. Linformazione suddivisa in blocchi trasmessi insieme a particolari byte di controllo. La trama del protocollo indicata nella figura 3:

Fig. 2. Diagramma temporale secondo il protocollo BSC.

Fig. 3.

dove:

F (Flag): campo a 8 bit 01111110 (7E esadecimale) utilizzato per indicare linizio e la fine della trasmissione; A (Address): campo dedicato allindirizzo del terminale ricevente; questo campo lungo 8 bit, quindi permette di indirizzare al massimo 256 terminali riceventi; C (Control): campo a 8 oppure 16 bit dedicato al controllo della comunicazione, e assume formato diverso a seconda del tipo di trama; I (Information): campo a n byte utilizzato per la trasmissione dei dati. FCS (Frame Check Sequence): campo a 16 bit per il controllo della correttezza della trasmissione dati sui campi 2, 3 e 4, mediante il codice ciclico ridondante CRC.

Le trame sono di tre tipi: 1. informative (I), utilizzate per la trasmissione dei dati; 2. di supervisione (S), utilizzate per la gestione del collegamento e non contengono il campo I; 3. non numerate (U), impiegate per il controllo delle procedure di trasmissione. A seconda del tipo di trama, il campo C assume il formato della figura 4.

Fig. 4.

Per le trame informative il campo C ha il formato della figura 4 caso a), dove:

NS contatore di sorgente: un campo a 3 bit destinato alla numerazione delle trame informative trasmesse; essendo un campo a 3 bit, il massimo numero di trame informative che possono essere trasmesse consecutivamente uguale a 8. NR contatore di ricezione: un campo a 3 bit e definisce la trama informativa successiva NR; con il campo NR, il ricevitore segnala al trasmettitore che le trame numerate fino a NR-1 sono state ricevute correttamente. P/F: bit di interrogazione P (polling) o bit finale F (final). Tale bit impiegato come bit di tipo P (P 1) da parte della stazione master per chiedere, alla stazione slave, informazioni sulle trame ricevute. Il bit P/F utilizzato come bit F (F 1) dalla stazione periferica slave nelle trame di risposta alla stazione master.

Per le trame di supervisione il campo di controllo costituito come nella figura 4, caso b), dove la coppia di bit SS definisce quattro tipi di trame di supervisione: 1. RR (Received Ready) con SS 00 per indicare che la stazione slave pronta a ricevere trame informative e che sono state ricevute correttamente (NR-1) trame; 2. REJ (Reject) con SS 01 per indicare che bisogna ritrasmettere le trame a cominciare dalla NR; 3. RNR (Receive Not Read) con SS 10 per indicare che la stazione slave non disponibile alla ricezione di trame informative. La disponibilit a ricevere indicata mediante una trama di tipo RR; 4. SREJ (Selective Reject) con SS 11 per sollecitare la ritrasmissione della trama informativa numero NR. Per una trama non numerata il campo di controllo C rappresentato come nella figura 4, caso c), dove i bit M (modifica) permettono di indicare 32 trame non numerate utilizzate per la gestione delle procedure di trasmissione.

Esempio 1 Trasmissione di trame HDLC in un collegamento half-duplex da parte della sola stazione master. La stazione master (SM) trasmette sequenzialmente le trame informative, numerandole, da 0 a 7, e ponendo il bit P uguale a 0 e il contatore NR 0; la tabella 1 indica come viene aggiornato il campo di controllo di ogni trama. Tab. 1. Campo di controllo C 0 Trama 0 Trama 1 Trama 2 Trama 3 0 0 0 0 0 0 0 0 NS 0 0 1 1 0 1 0 1 P/F 0 0 0 0 0 0 0 0 NR 0 0 0 0 0 0 0 0

Se dopo la trasmissione della trama 3, la stazione master vuole informazioni sulle trame trasmesse, pone il bit P 1 nel campo della trama 4, come indicato nella tabella 2. Tab. 2. Trama 4 0 1 0 0 1 0 0 0

La stazione slave (SS) risponde con una trama di supervisione S di tipo RR, ponendo il bit F 1 e indicando il numero dellultima trama ricevuta correttamente. Se lultima trama ricevuta correttamente la no 2, il campo di controllo C della trama RR illustrata nella tabella 3. Tab. 3. Trama RR Trama RR 1 1 0 0 S 0 S 0 F 1 0 NR 1 1

La stazione master (SM) ritrasmette le trame informative 3 e 4 ponendo il bit P 1 nella trama 4, tabella 4. Tab. 4. Trama 3 Trama 4 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0

La stazione slave (SS) deve rispondere trasmettendo una trama di supervisione di tipo RR e se le trame ricevute sono entrambe corrette, il campo di controllo della trama RR risulta come indicato nella tabella 5. Tab. 5. Trama RR 1 0 0 0 1 1 0 1

Il diagramma temporale del protocollo HDLC relativo allesempio 1 il seguente:

Fig. 5. Esempio 2 Si disegna il diagramma temporale di una trasmissione di trame HDLC, in un collegamento di tipo half-duplex, in cui la stazione master (SM) e la stazione slave (SS) trasmettono alternativamente. Nel diagramma temporale della figura 6, la stazione master (SM) trasmette 3 trame consecutive; nellultima trama il bit P uguale a 1; la stazione slave risponde inviando 2 trame informative e nellultima trama pone il bit F uguale a 1 per indicare che ha terminato di trasmettere i propri dati. In ogni trama, sia la stazione SM sia la stazione SS, indicano, allinterno del campo di controllo C, il numero NS della trama trasmessa e il numero NR della trama successiva da ricevere.

Fig. 6.

3. Protocollo TCP-IP
Un protocollo adottato dalla rete Internet a livello mondiale il TCP-IP. Esso costituito da due parti: il protocollo di trasmissione TCP e quello di rete IP. Il protocollo TCP (Transmission Control Protocol) svolge il compito del controllo e del trasferimento dei dati. In particolare:

suddivide i dati in pacchetti; invia i pacchetti al destinatario; ricompone i pacchetti giunti a destinazione.

Il protocollo IP (Internet Protocol) ha il compito di instradare i pacchetti attraverso i diversi percorsi della rete. A tale scopo il protocollo IP inserisce in ogni pacchetto delle informazioni aggiuntive come il numero identificativo del pacchetto, lindirizzo IP del mittente, lindirizzo IP del destinatario, il campo di controllo degli errori. Il protocollo TCP-IP organizzato in quattro livelli come mostra la figura 7, dove: 1. Interfaccia di rete (Network Interface Layer): uninterfaccia di rete che trasmette il pacchetto IP sulla linea di trasmissione. 2. Rete (Internet Layer): gestisce la comunicazione tra due computer collegati in rete. Tale livello, detto IP (Internet Protocol), riceve e trasmette i pacchetti di dati. 3. Trasporto (Transport Layer): permette la connessione in rete tra due utenti. Il protocollo del terzo livello divide i dati in pacchetti. 4. Applicazione (Application Layer): utilizzato dalle applicazioni dellutente. Il protocollo IP il principale protocollo del modello TCP-IP e ha il compito di frammentare, assemblare i dati, rilevare gli errori e instradare i pacchetti; a ogni pacchetto di dati vengono aggiunte delle informazioni organizzate secondo la trama rappresentata nella figura 8:

Fig. 7.

Fig. 8.

Le informazioni relative a ogni pacchetto costituiscono la testata (heading) del pacchetto stesso e, come si nota dalla figura 8, sono distribuite su sei strati:

1o strato versione: numero della versione del protocollo; heading Length: lunghezza della testata del pacchetto; tipo di servizio: informazione per il protocollo superiore sul trattamento del pacchetto; total Length: lunghezza totale del pacchetto, testata pi dati. 2o strato identification: numero che identifica il pacchetto, utile per il riassemblaggio dei pacchetti; flag: tale campo segnala se si tratta dellultimo pacchetto e indica la possibilit della frammentazione. fragment offset: unit di frammentazione indicata in multipli di 8 byte. 3o strato tempo di vita: contatore del tempo di vita del pacchetto; il contatore si decrementa e quando arriva a zero, il pacchetto viene eliminato; protocollo: tale campo indica il protocollo di livello superiore; controllo heading: campo dedicato al controllo della correttezza dei dati. 4o strato indirizzo IP mittente: indirizzo IP del mittente. 5o strato indirizzo IP Destinatario: indirizzo IP del destinatario. 6o strato opzioni e padding: sono campi impiegati per la sicurezza e il routing; per routing sintende il metodo di instradamento dei pacchetti il cui percorso pu dipendere sia dalla topologia della rete che dal traffico. Gli indirizzi IP sono indirizzi numerici e individuano in modo univoco ogni computer collegato in rete. Un indirizzo IP formato da quattro numeri, separati da un punto, compresi tra 0 e 255; ogni numero rappresentato da un byte e pertanto lindirizzo IP di una macchina costituito da 32 bit. Nella tabella 6 mostrato lesempio dellindirizzo: IP 201.102.108.40 Tab. 6.
Posizione sx dx 1 2 3 4 Numero 201 102 108 40 Byte 11001001 01100110 01101100 00101000

Ciascun indirizzo IP in pratica costituito da due parti: la parte superiore che identifica la rete e la parte inferiore che identifica il computer finale (host) (fig. 9).

Fig. 9.

Gli indirizzi IP sono suddivisi in cinque classi (A, B, C, D, E), ma in Internet vengono utilizzate soltanto le classi A, B e C, che sono strutturate nel modo descritto nella tabella 7. Un indirizzo IP indicato nel seguente modo: N11N10N9. N8N7N6. N5N4N3. N2N1N0

La classe A destinata alle reti di grandi dimensioni, cio 16 reti da circa 16 milioni di macchine. La classe B riservata alle reti di dimensioni medie, cio circa 16 000 reti da 65 536 macchine. La classe C per le moltissime reti di piccole dimensioni, cio da 256 macchine.

Tab. 7.
Classe A B C Rete N11N10N9 N11N10N9. N8N7N6 N11N10N9. N8N7N6. N5N4N3 Host N8N7N6. N5N4N3. N2N1N0 N5N4N3. N2N1N0 N2N1N0

Larchitettura di una rete di media dimensione pu essere rappresentata come nella figura 10:

Fig. 10.

La rete identificata in Internet nel seguente modo:


i primi due byte indicano la rete; il terzo byte indica la sottorete; il quarto byte indica una macchina (host) della sottorete. rete 201.102 sottorete A 108 host 40 rete 201.102 sottorete B 103 host 22

Esempio:

Esempio:

Pertanto il percorso completo per individuare lhost nella rete : 201.102.103.22. Quando digitiamo lindirizzo di un sito web, per esempio lhttp://www.comune.bologna.it, in pratica ci colleghiamo con il nostro computer al computer (host) della rete del Comune di Bologna. Il percorso che indichiamo con nomi simbolici viene sostituito da un server database chiamato DNS (Domain Name System) in indirizzo numerico IP. In questo caso lindirizzo IP 213.174.160.1.