Servizi a connessione e senza connessione
Il livello trasporto implementa due modalita' di servizio:
- connection oriented - orientato alla connessione
- connectionless - senza connessione
Questi due modi offrono funzionalita' differenti e non si puo' dire
che uno sia intrinsecamente migliore o peggiore dell'altro: dipende
tutto dai requisiti degli applicativi.
E' pur vero che se la filosofia di Internet e' intrinsecamente
legata alla modalita' senza connessione, tant'e' che il protocollo
IP e' di questo tipo, i servizi che il livello di Trasporto
offre agli applicativi sempre di piu' si vanno orientando verso
una modalita' orientata alla connessione.
Modo orientato alla connessione
Una istanza di scambio messaggio tra due sistemi remoti viene gestita
dal livello trasporto il quale come prima cosa spezza il messaggio
in 'pacchetti a livello trasporto', detti TPDU o Transport Protocol
Data Unit. Ciascun TPDU e' corredato di una testata, contenente in
un campo il numero di sequenza del TPDU, che serve al destinatario
per ricostruire il messaggio originale.
La connessione viene gestita in tre fasi:
- apertura della connessione - viene inviato il primo TPDU in un
pacchetto con funzionalita' 'esplorative'. I router intermedi che
smistano il pacchetto acquisiscono, se non l'hanno, una linea di routing
fisso per questo pacchetto e per i successivi. Il percorso da mittente
a destinazione che cosi' si apre viene detto un circuito virtuale.
- uso della connessione - i TPDU successivi vengono inviati in pacchetti
in sequenza
- abbattimento della connessione - l'utimo pacchetto contiene un flag
indicante che il circuito virtuale non e' piu' desiderato: le linee di
routing dei router intermedi possono essere cancellate o se ne possono usare
delle altre con metrica migliore. E' da notare che se la connessione cade,
le linee di routing intermedie non usate per piu' di 5 minuti decadono
comunque automaticamente
Vantaggi di questo modo di comunicazione sono:
- il ricevente ottiene i pacchetti in sequenza, con due conseguenze:
- il sistema ricevente non ha bisogno di buffer locali grossi per
poter parcheggiare i pacchetti fuori sequenza
- se un pacchetto manca dalla sequenza, il ricevente inizia subito
le procedure che ne richiedono la ritrasmissione
- e' possibile filtrare i pacchetti, per scopi di accounting o
di sicurezza, anche da parte di un router intermedio
Svantaggi sono:
- occorre un tempo discreto per lo stabilimento della connessione,
che si fa' sentire per i messaggi corti
- in caso di mancanza di un router intermedio, l'intera connessione
cade e sia il mittente che il ricevente e la rete devono rinegoziare
una nuova connessione
- se sopravvengono congestioni nel circuito virtuale la velocita'
di scambio pacchetti diminuisce, anche se vi fossero in rete
percorsi alternativi piu' veloci
Servizio senza connessione
Il mittente considera ogni TPDU come pacchetto indipendente, detto
datagramma e lo affida alla rete senza gestire alcuna connessione.
Non viene mantenuto alcun record di stato ne' da parte del mittente,
ne' del ricevente: ciascun datagramma viaggia in modo indipendente
dagli altri.
I vantaggi di questo modo sono:
- non vi e' alcun overhead all'invio di pacchetti
- in caso di congestione o di caduta di un segmento di rete
i pacchetti automaticamente vengono reidirizzati su un percorso
alternativo: ogni pacchetto viaggia per il percorso ottimale
nell'istante di transito
- non essendovi il concetto di connessione, non vi e' nessuna
differenza tra un segmento impassabile ed uno infinitamente lento:
se la destinazione e' temporaneamente iraaggiungibile, per un timeout
ragionevole, al suo ripristino i pacchetti continuano a transitare
dal punto in cui erano rimasti
Gli svantaggi sono:
- il ricevente puo' ottenere i pacchetti fuori sequenza e doverli
parcheggiare in buffer temporanei prima di poter ricostruire il messaggio
- il fatto che un pacchetto sia fuori sequenza
non ne provoca automaticamente la richiesta di ritrasmissione: il ricevente
imposta un timeout allo scadere del quale richiede la ritrasmissione; se
nel frattempo il ritardatario arriva, il ricevente deve gestire
il caso di pacchetti duplicati
Applicativi diversi usano i due modi diversi. Solitamente i file
transfer o scambio di messaggi lunghi, o l'uso di reti con elevate
possibilita' di errori ma stabilita' relativa di configurazione, portano
alla scelta del modo a connessione. Applicativi che scambiano
pacchetti corti e/o indipendenti l'uno dall'altro (chiamate a procedure remote,
sincronizzazione orologi, ecc.), e in reti a forte potenzialita' di
riconfigurazione (satelliti) o reti a basso tasso d'errore, si trovano
meglio con la modalita' senza connessione.
Spesso il protocollo di trasporto senza connessione non offre di suo
alcun metodo di recupero errori, proprio per mantenersi il piu' snello
possibile. Mancandogli inoltre tabelle di stato, non e' in grado
di gestire lock di file o transazioni atomiche coinvolgenti piu'
pacchetti. In questi casi tutte queste funzionalita' devono
essere offerte da protocolli a livelli superiori (sessione ad applicativo).