·
Protocolli delle workstation
· Primo protocollo di
comunicazione
· Secondo protocollo
di comunicazione
· Confronto fra i
due protocolli
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 è 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.
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.
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.
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.
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.