Il livello transport è il cuore di tutta la gerarchia di protocolli.
Il suo compito è di fornire un trasporto
affidabile ed efficace dall'host di origine a quello di destinazione,
indipendentemente dalla rete utilizzata.
Il software di livello transport è
presente solo sugli host, e non nei router della subnet di comunicazione.
Questi alcuni compiti che spettano al livello Transport:
aprire e chiudere una connessione (messaggi di conferma);
gestire il flusso di dati (diverse applicazioni possono avere bisogno della connessione contemporaneamente).
5.1) Transmission Control Protocol
Il livello transport di Internet è basato su due protocolli:
TCP
(Transmission Control Protocol)
UDP
(User Data Protocol)
Il secondo è di fatto IP con l'aggiunta di un breve header, e fornisce
un servizio di trasporto datagram (quindi non affidabile).
Il protocollo TCP è stato progettato per fornire un flusso di
byte affidabile, da sorgente a destinazione, su una rete non affidabile.
TCP è sviluppato indipendentemente da ogni harware specifico, dal sistema
operativo e dalla struttura fisica della rete.
TCP offre un servizio reliable e connection oriented, e si occupa di:
accettare dati dal livello application;
spezzarli in segment;
consegnarli al livello network, eventualmente ritrasmettendoli;
ricevere segmenti dal livello network;
rimetterli in ordine, eliminando buchi e doppioni;
consegnare i dati, in ordine, al livello application.
I servizi di TCP si ottengono creando connessione
di livello transport identificata da una coppia di punti d'accesso detti
socket. Ogni socket ha
un
socket number che consiste della coppia:
IP address: Port number
I port number hanno 16 bit. Quelli minori di 256 sono i cosidetti
well-known
port, riservati per i servizi standard. Ad esempio: