I Protocolli

Standard Lan  |  CablingISO-OSITcp

Protocollo tcp/ip

Sono l'insieme delle regole o procedure che occorre impostare , a livello di programmazione, perchè due o più terminali (DTE) possano comunicare interscambiandosi i dati in loro possesso

 

Modello OSI

 

Ogni programma realizza, nell’ambito di un livello, un insieme ben preciso e delimitato di funzioni ed il processo che gli corrisponde " parla" con i processi del livello che lo precede e che lo segue mediante dei messaggi opportunamente codificati.

 

Quando un programma viene eseguito si ha quello che comunemente viene definito un processo.

 

Facendo riferimento alla precedente figura ipotizziamo che i due DTE devono scambiarsi un file contenuto nel data-base del DTE1

Nel DTE1 a Livello applicativo vi ?il processo che preleva il file dall’archivio e lo passa all’entit?processo di presentazione.

L’entit?di presentazione "formatta" opportunamente i dati ricevuti e li passa all’entit?di trasporto.

L’entit?di trasporto provvede alla trasmissione all’entit?di trasporto del DTE2

Possono, in una rete coesistere pi?processi nello stesso livello ed alternative nel trasporto dati.

E’ l’entit?del livello applicativo che chiede ai livelli sottostanti di realizzare la presentazione e il trasporto con determinate modalit?

Facendo riferimento agli elementi di un flusso di dati vediamo quali sono gli elementi costitutivi di un protocollo.

 

ESEMPIO: TELEFONATA

1. Il DTE1 aspetta che dalla rete telefonica gli giunga il segnale che abilita alla selezione del numero

2. Il DTE1 seleziona il numero del DTE2 e attende dalla rete un segnale di risposta che indica se l’utente chiamato ?libero o occupato

3 .Se DTE2 è occupato, il DTE 1 chiude

4. Se il DTE2 è libero, attende la risposta e scambia informazioni per l’identificazione

5. Se il DTE2 non corrisponde il DTE1 riaggancia

6. Se il numero è corretto DTE1 e DTE2 si scambiano informazioni

 7. Terminato il dialogo chiudono

Le parti interessate alla comunicazione sono tre DTE1, DTE2 e la rete telefonica

Le fasi 4, 6 interessano DTE1 e DTE2

Le fasi 1, 2, 3, 5, 7. Interessano il canale

questo ci permette di capire una modalit?tipica di rappresentazione di un protocollo, cio?la sua suddivisione in livelli.

Il livello inferiore ?costituito dal supporto fisico

Il livello superiore è interessato esclusivamente al dialogo tra i due DTE

Sempre facendo riferimento all’esempio è possibile introdurre una ulteriore suddivisione del protocollo

.

Se i due utenti non parlano la stessa lingua ci sar?una fase di negoziazione del protocollo

 

PROTOCOLLI PER TRASFERIMENTO DATI

Prendiamo in considerazione collegamento di un terminale con un elaboratore

Poich?all’elaboratore risultano connessi molti terminali, gli stessi vengono connessi direttamente ad una unità di controllo :Front End Processor

Abbiamo già visto che sono necessarie delle interfacce (RS232 ), ma ci?non ci assicura sul fatto che possano colloquiare correttamente.

Occorre definire il formato dei messaggi, la loro lunghezza e altri parametri. ( Ad esempio basti solo pensare a cosa potrebbe capitare se usassero differenti velocità)

 

SISTEMI COOPERANTI

Nel contesto di reti di elaborazione distribuite, notevole importanza ha assunto l’interconnessione diretta di elaboratori su cui sono eseguiti programmi applicativi che cooperano fra loro.

Qualunque sia il supporto o il mezzo fisico utilizzato, il trasporto delle informazioni da un DTE all’altro deve avvenire senza perdite di parte dei dati trasmessi e senza modifiche.

La cooperazione tra i due sistemi cooperanti deve avvenire utilizzando un mezzo fisico in accordo con una serie di norme in grado di permettere il corretto trasferimento dei dati, norme indicate generalmente come PROTOCOLLI DI BASSO LIVELLO

Il servizio di trasporto deve risultare trasparente per i dati che lo attraversano.

Altra caratteristica del servizio di trasporto delle informazioni è che lo stesso deve provvedere in modo autonomo all’individuazione e all’eliminazione degli errori di trasmissione.

I protocolli di basso livello sono l’insieme delle regole che le funzioni di basso livello seguono per realizzare lo scambio corretto dei dati

I protocolli di alto livello sono l’insieme di regole che i programmi applicativi utilizzano per scambiarsi dati e informazioni, senza preoccuparsi di come realizzare un trasferimento corretto.

Gli standard internazionali, oltre a definire un insieme di regole volte a permettere una corretta suddivisione in livelli, hanno anche introdotto una terminologia di validità generale .

Gli utenti di un livello sono chiamati entit?e le entità che appartengono a livelli di uguale importanza sono indicati come pari( peer ).

L’entità di un livello dialoga, mediante un protocollo del livello, con un’entitàpari posta in altra sede.

Valgono le seguenti regole:

Un livello deve contenere un numero limitato di funzioni. Il confine con i livelli adiacenti deve essere realizzato dove le interazioni risultano minime.

Un livello deve contenere funzionalità ben localizzate in modo da poter essere riprogettato e riscritto senza dover intervenire sui livelli adiacenti.

Un protocollo deve agire esclusivamente all’interno di un livello.

Le interfacce tra i livelli e le modalit?di richiesta dei relativi servizi devono essere le pi?semplici possibili.

Prevedere dei sottolivelli laddove si prevedano future evoluzioni.

GENERALITA’ SUI PROTOCOLLI

I dati che l’ elaboratore deve trasmettere vengono passati all’unitàdi comunicazione in un’unica operazione. Quest’ultima unità provvede poi alla loro trasmissione suddividendo il messaggio in Trame di informazioni, ognuna composta da un numero massimo di caratteri predefinito.

Ogni trama ?composta da un campo dati, contenente una parte delle informazioni ricevute dall’elaboratore, e da un campo contenente caratteri di controllo. In coda alla trama vengono aggiunti dei caratteri che permettono di controllare la correttezza del messaggio richiedondene così la ritrasmissione.

Riprendiamo in considerazione il modello OSI

Possiamo ora comprendere meglio la funzione dei vari livelli:

Livello 1 (fisico)

Si riferisce a tutto ci?che riguarda le specifiche elettriche, funzionali, meccaniche e procedurali dell’interconnessione fisica della risorsa al mezzo trasmissivo. Ogni interfaccia elettrica è regolata da raccomandazioni e informazioni riguardanti l’ampiezza del segnale elettrico,la frequenza di lavoro, la larghezza di banda, il numero dei fili, i segnali di servizio, il modo con cui codificare i dati, l’impedenza del mezzo trasmissivo e le caratteristiche dello stesso.

Dicendo per esempio RS-232, si capisce immediatamente e senza equivoci quali caratteristiche vengono attribuite in quella specifica riferita al livello 1 del modello OSI.

Quando l’applicazione utilizza al livello 1 OSI l’interfaccia RS-422 si riferisce a una serie di specifiche proprie, in particolare l’interfaccia elettrica è di tipo bilanciato e richiede il doppino, il doppino schermato o il cavo coassiale bilanciato.

Il livello 1 si occupa anche degli aspetti meccanici

Livello 2 ( Data Link )

Regolamenta le caratteristiche del protocollo , il modo logico con cui le stazioni accedono al mezzo trasmissivo, le regole per il controllo degli errori. Il protocollo di riferimento per le reti locali è di tipo bit-oriented e si basa su strutture (frame) composte da un insieme di bit di lunghezza fissa o variabile. I bit sono gestiti a ottetti e compongono una serie di campi. Le strutture di questo tipo sono ispirate al protocollo HDLC definito nelle raccomandazioni CCITT.

A questo strato del modello OSI sono assegnati anche le funzioni del metodo d’accesso al mezzo trasmissivo. Al livello 2 è attribuita la risoluzione delle contese.

Ad un sottolivello del data Link sono assegnate le tipiche funzioni di supporto ai dati, incapsulamento in trasmissione e l’estrapolazione in ricezione.

LIVELLO 3 (RETE)

Svolge funzioni di controllo sulla sequenza logica dei pacchetti dati, sulla consegna al livello 2 e sulla costruzione di una testata di livello 3.

A livello Rete avvengono le seguenti operazioni:

Costruzione dei pacchetti dati da incapsulare all’interno del campo dati di livello 2

Completamento del pacchetto mediante una testata in cui si inserisce l’indirizzo del nodo di destinazione

Controllo del flusso dati e delle procedure logiche associate

Eventuale tarrifazione

Gestione multicanale basata su un unico Link di livello 2

Gestione dei servizi di circuiti virtuale o Datagram

LIVELLO 4 (TRASPORTO)

Segmentazione dei messaggi o dei dati ricevuti dal livello 5 e consegna dei medesimi al livello 3

Ricomposizione del messaggio o dei dati nel passaggio inverso

Scelta di una gestione dei dati secondo i criteri del datagram( gestione e consegna dei singoli pacchetti) o del circuito virtuale ( apertura permanente di un canale logico adibito al trasporto dati)

Apertura e chiusura delle procedure di trasporto

Controllo del flusso dati a livello utente-utente affinch? gli utenti finali possano ricevere correttamente i dati anche a velocit?di comunicazione differente

Gestione delle interconnessioni ad altre reti eterogenee tramite dispositivi o protocolli specifici

Il livello 4 ?in grado di risolvere situazioni mono- o multiutente anche nei casi in cui bisogna ricevere o trasmettere messaggi di interesse comune (broadcast)

LIVELLO 5 (SESSIONE)

Il livello 5 è il responsabile dell’organizzazione del dialogo tra due programmi applicativi e del conseguente scambio di dati. Esso consente:

conversione degli indirizzi fisici in indirizzi simbolici

Gli indirizzi di rete sono costituiti da ottetti di bit

Decisione del tipo di comunicazione

In caso di full-duplex vengono aperte simultaneamente le sessioni di trasmissione e ricezione e viene gestita la sessione dello scambio dati

La gestione del token ( per effettuare la mutua esclusione nell’utilizzo di una risorsa condivisa)

monitoraggio diagnostico del carico di rete

LIVELLO 6 ( PRESENTAZIONE)

Il sesto livello si occupa della trasformazione e della presentazione dei dati in un formato comprensibile agli utenti finali.

Codifica dei dati

compressione dei testi

crittogafia

gestione di terminali virtuali

gestione di file virtuali

Si deduce che lo scopo di questo livello è di rendere il più possibile indipendente un dispositivo dall’altro.

Se i terminali usano formati diversi possono ugualmente comunicare. Anche due macchine connesse in rete che trattano testi con word processor e che codificano i dati secondo codifiche differenti possono scambiare i testi senza problemi. La crittografia risolve i problemi di sicurezza in ambienti bancari.

LIVELLO 7 (APPLICAZIONE)

Qui si collocano tutti i servizi, le funzioni e le caratteristiche dei programmi applicativi dell’utente finale: word processing, fogli elettronici, data base, x.400 (posta elettronica) ecc...