Ricerca sui protocolli di comunicazione
di Eleonora Tanzini
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


·       Generalità sui protocolli

·       Tcp/Ip

·        Protocolli delle workstation

·       Primo protocollo di comunicazione

·       Secondo protocollo di comunicazione

·       Confronto fra i due protocolli

·       Post Office Protocol

 

  Torna a pubblicazioni

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Protocolli di comunicazione 

 


Generalità

In un sistema di trasmissione dati è necessario stabilire una serie di regole hardware e software, denominate protocolli, indispensabili per assicurare un corretto collegamento e funzionamento tra apparato trasmittente e ricevente.

La parte essenziale delle funzioni di un protocollo per garantire il trasferimento delle informazioni tra due o più computer interconnessi, chiamate nel loro complesso DLC (data link control), è raggruppabile in un insieme che assicura la funzionalità del collegamento. Tali funzioni sono:

§    formazione del collegamento e suo abbattimento al termine della fase di trasferimento dati;

§    controllo di correttezza dei dati ricevuti;

§    segnalazione di ricezione corretta o errata verso la stazione trasmittente e gestione della fase di reinvio dei messaggi errati;

§    gestione della fase di polling (invito a trasmettere) o selecting (invito a ricevere);

§         gestione dei comandi di reset del collegamento, sconnessione o sospensione della trasmissione.

 Esistono anche altre funzioni per protocolli più avanzati più specifiche e che non sono essenziali.

Gli standard ISO ed ECMA suddividono la struttura di un protocollo come formata da sette livelli, di cui i primi quattro costituiscono i cosiddetti livelli di trasporto, permettono, cioè, l'effettivo invio e ricezione dei messaggi, mentre i rimanenti tre costituiscono i cosiddetti livelli di controllo della sessione di comunicazione, di presentazione ai terminali in modo intelligibile e di controllo di eventuali processi applicativi, se presenti.

In generale, un protocollo, a secondo della complessità delle funzioni realizzate, sarà costituito da uno o più di questi livelli.

E' da notare che ogni livello non è conscio del significato del messaggio che gli proviene dal livello superiore e di quali siano le elaborazioni che su di esso compie il livello inferiore e ciò perché è in grado di interpretare correttamente solamente messaggi provenienti da livelli di analogo valore.

 

TCP/IP

TCP/IP è un protocollo open standard, ovvero le sue specifiche sono libere e utilizzabili da chiunque e ciò ha permesso il rapido diffondersi di implementazioni per ogni sistema operativo e piattaforma, implementazioni spesso distribuite gratuitamente o integrate in modo nativo nello stesso sistema operativo.

Il TCP/IP è indipendente dal modo in cui la rete è fisicamente realizzata: una rete TCP/IP può appoggiarsi indifferentemente su una rete locale Ethernet, su una linea telefonica, su un cavo in fibra ottica ATM, su una rete di trasmissione satellitare, considerato che consente di integrare facilmente diverse tecnologie hardware in una unica struttura logica di comunicazione, come è avvenuto per Internet.

TCP/IP è, inoltre, un protocollo di comunicazione che risolve in maniera molto efficiente le problematiche di ogni sistema telematico:

§         sfruttare al meglio le risorse di comunicazione disponibili;

§         permettere un indirizzamento efficiente e sicuro;

§         garantire il buon fine della comunicazione con la massima sicurezza;

§         permettere lo sviluppo di risorse e servizi di rete evoluti e facilmente utilizzabili dall'utente.

Il TCP/IP in realtà è un protocollo a strati, costituito da un vero e proprio insieme di protocolli di comunicazione, ognuno con un compito specifico, organizzati in maniera gerarchica.

Per la precisione TCP/IP si basa su un modello a quattro strati:

§         rete fisica;

§         indirizzamento dei computer e dell'invio dei dati;

§         controllo e organizzazione dei dati per la trasmissione;

§         applicazioni e servizi di rete per l'utente.

TCP/IP può essere visto come una sorta di servizio di recapito basato su un meccanismo a scatole cinesi: al momento della spedizione i dati sono "avvolti" in una scatola, che riporterà all'esterno alcune indicazioni sul contenuto, questa scatola viene inserita in un'altra, con all'esterno un altro tipo di indicazioni e così via.

Al momento della ricezione le scatole vengono "aperte" una dopo l'altra, ricavando da ognuna le informazioni su di essa riportate (figura in alto).

Qualsiasi interazione tra due computer di una rete che utilizza il protocollo TCP/IP è costituita dalla "confezione" e dall'invio di una serie di "scatole".

Il gruppo di protocolli TCP/IP in senso stretto non si occupa della gestione diretta della infrastruttura hardware della rete.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Protocolli delle worksation

 

Le workstation NetWare possono utilizzare protocolli come IPXTM (Internetwork Packet Exchange; Scambio di Pacchetti Internetwork), SPXTM (Sequence Packet Exchange; Scambi di Pacchetti in Sequenza), TCP/IP (Transmission Control Protocol/Internetwork Protocol; Protocollo di Controllo Trasmissione/Protocollo Internetwork), NetBIOS, OSI (Open Systems Interconnection; Interconnessione di sistemi Aperta) e AppleTalk (per Macintosh).

 

Il NetBIOS è il protocollo usato nei sistemi interni ed è anche quello utilizzato nella nostra scuola.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Primo Protocollo di comunicazione

 

In questo tipo di protocollo ogni documento viene inserito in uno ed un solo pacchetto, formato da tre sezioni:

La Unique Word è una particolare sequenza di bit che permette al Radio Modem di sincronizzarsi con la trasmissione dei pacchetti. La determinazione della lunghezza ottimale della Unique Word è determinata dai seguenti fattori:

 

 

 

Per stimare la lunghezza opportuna ci si riferisca a quanto avviene nei satelliti con accesso multiplo a divisione di tempo per la sincronizzazione di parola, dove la Unique Word è costituita da una stringa di simboli binari con lunghezza media dell' ordine di 10 bit. Ha quindi senso proporre una lunghezza di 2 bytes.
Il sotto-protocollo per la trasmissione dei Dati è suddiviso nei seguenti campi:

Il documento può essere un testo, un programma, un disegno o un file di codifica particolare.

Secondo Protocollo di comunicazione

In questo secondo tipo di protocollo, il documento viene scomposto in blocchi formanti il campo Dati che saranno inseriti all' interno di pacchetti, ognuno dei quali oltre ai dati conterrà un Header ed un Checksum per la determinazione degli errori. La lunghezza dei pacchetti è fissa ed indipendente dalla lunghezza del documento.
Anche in questo caso la determinazione dell' inizio del pacchetto è affidata alla individuazione di una Unique Word e per questa valgono le considerazioni svolte nella precedente sezione, viene, inoltre aggiunta una seconda Unique Word alla fine del pacchetto per delimitarlo.
La struttura che otteniamo, pertanto, è la seguente:

Il documento viene spedito scomposto in pacchetti; c'è la possibilità di corredarlo con un abstract che viene spedito come pacchetto zero, in cui sono inseriti altre informazioni utili, per la corretta ricezione della trasmissione.
L' Header, che ha lunghezza fissa, contiene le informazioni relative alla trasmissione, ed a quel pacchetto in particolar modo, cioè gli identificatori della trasmissione, del pacchetto, del tipo di pacchetto,...
Per documento intendiamo non solo file ASCII ma anche eseguibili, e grafici ed anche particolari messaggi che devono essere interpretati dal Computer in ricezione; essi sono una specie di comandi inviati via etere ed eseguiti localmente

 

da particolari applicazioni.
Il campo Dati contiene il documento vero e proprio; è suddiviso in quattro sottoblocchi ognuno dei quali corredato da un Checksum di due byte per la rilevazione degli errori. Il Crc è un campo di due byte, è il Checksum dell' intero pacchetto.
Abbiamo scomposto, così, il nostro documento in pacchetti, contenente ognuno tutta l' informazione necessaria per ricostruire il file spedito indipendentemente dall' ordine in cui sono ricevuti. Ogni pacchetto contiene dei byte di controllo che permettono di decidere sulla correttezza della ricezione. Si può discriminare sulla posizione dell' errore, individuando se è intervenuto nell' Header, o in uno dei sottoblocchi dei Dati.
Trasmettendo di nuovo il documento, si possono, allora, sostituire i pacchetti errati con quelli ricevuti in modo corretto in un secondo tempo, incrementando, così, il numero delle ritrasmissioni, si aumenta la probabilità di ricevere correttamente l' intero documento. In caso di canale molto disturbato è possibile che non si riceva un pacchetto corretto neanche dopo tre trasmissioni, anche se per ognuno di questi si hanno soltanto pochi bit sbagliati. Abbiamo implementato, allora, una routine che si basa sull' assunzione che, dati tre pacchetti, non si abbiano due bit sbagliati nella stessa posizione. In questo modo, per confronto di almeno tre pacchetti, si riesce ad eliminare l' errore ed a salvare la trasmissione anche in un caso di canale rumoroso.
Un protocollo di questo tipo permette di avere lo stesso cliché per documenti di qualsiasi lunghezza e l' aumento di informazione aggiunta e strettamente proporzionale a questa; è anche indipendente dalla probabilità con cui vuole essere ricevuto, in quanto, questa, è legata direttamente al numero di ritrasmissioni.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Confronto tra i due protocolli

I due protocolli presentano soluzioni differenti ed entrambi hanno difetti e pregi, analizziamoli in questa sezione.
Il primo protocollo è meno voluminoso in quanto bastano pochi bit di controllo per ottenere una trasmissione corretta, anche se necessita di un tempo di calcolo superiore e non proporzionale alla lunghezza del documento. Un ulteriore problema è quello di tenere occupato il canale trasmissivo per la durata della irradiazione dell' intero file e, non è possibile mescolare trasmissioni diverse, ma il grosso handicap che presenta il primo protocollo, e che ci ha fatto propendere per la scelta del secondo è quello di essere sensibilissimo alla corruzione del bit di start e del bit di stop della trasmissione seriale, in questo caso infatti viene distrutto irrimediabilmente il sincronismo tra trasmettitore e ricevitore.
Il secondo protocollo, invece, nei casi di bit di framing sbagliati perde soltanto il pacchetto e questo può essere sostituito con il nuovo invio della trasmissione.
Data la distribuzione del rumore in trasmissione, cioè pochi errori rilevati in media nel tempo ma distributi a sciami, il primo protocollo è meno efficiente, basandosi sul fatto che gli errori siano distribuiti in modo uniforme nel tempo, mentre nel secondo protocollo non ha importanza, anzi, sembra funzionare meglio, quando i pacchetti sono per lo più esatti inframmezzati con qualcuno di completamente sbagliato; in tal modo il tempo di calcolo per il calcolatore locale è minore.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

POP3

 

Il Post Office Protocol (POP) e' un protocollo concepito per lo scarico posta da un server che riceve posta ad un client. Tipicamente:

Vi sono alcune versioni di POP. La piu' recente e' la POP 3, che risponde al porto 110.

Nell'interscambio tra client e server, dapprima il client apre una connessione al porto 110 del server ed invia un messaggio 'HELO'; il server risponde identificandosi.

Il client si identifica col comando USER seguito dal nome utente. Il server invita il client ad inviare la password, anche se l'utente indicato non esiste.

Il client invia la password preceduta dal comando PASS. Il server da' un messaggio di errore se l'utente o la password non corrispondono; altrimenti il server indica il numero di messaggi in attesa nella buca delle lettere ed il totale in bytes.

Il client puo' farsi inviare uno dei messaggi col comando RETR seguito dal numero del messaggio. Il client puo' cancellare un messaggio col comando DELE seguito dal suo numero.

Il comando QUIT termina la connessione.

Naturalmente non e' quasi mai il caso in cui il client invii i comandi in chiaro al server: l'operazione e' di solito mediata da un programma front end.