Protocolli di trasporto in internet

Il protocollo IP dello strato di rete in internet non è orientato alla connessione (senza controllo di flusso e senza correzione di errori), non garantisce quindi la consegna affidabile dei datagrammi. Il TCP è invece orientato alla connessione, è in grado di garantire una consegna affidabile grazie a dei meccanismi di timeout e di ritrasmissione che permettono di ridurre gli errori o comunque di impedire di validre informazioni corrotte; è un protocollo a finestra scorrevole.
Quando il TCP riceve da un'applicazione del livello superiore una sequenza di byte, la memorizza temporaneamente in uno slot temporaneo per poi dividerla in segmenti TCP. La dimensione massima effettiva del segmento dipende dalla dimensione massima del carico utile (1500 byte) detta MTU (maximum transfer unit).
Anche segmenti TCP sono formati da un'intestazione di dimensione variabile (minimo 20 byte) e da un campo dati la cui dimensione massima detta MSS (maximum segment size) si ottiene:

MTU - 20 byte (intestazione IP)-20 byte (intestazione TCP) = MTU - 40 byte


Sono evidenziati i seguenti campi:


  • Source port (16 bit) contiene il numero di porta sorgente che individua l'applicazione locale;

  • Destination port (16bit) contiene il numero di porta destinazione che individua l'applicazione remota;

  • Sequence number (32 bit) indica il numero progressivo di sequenza del primo byte di dati contenuto nel segmento TCP;

  • Acknowledgement number (32 bit) indica il numero di sequenza del prossimo segmento che ci si aspetta di ricevere;

  • Data offset (4 bit) indica il numero di parole da 32 bit che compongono l'intestazione TCP (TCP header lenght);

  • RES (6 bit) campo riservato e non utilizzato;

  • URG, ACK, PSH, RST, SYN, FIN sono flag da un bit utilizzati per la connessione;

  • Window (16 bit) indica il numero di byte che possono essere inviati a partire da quello che ha ricevuto il flag ACK;

  • Checksum (16 bit) contiene il controllo su tutto il segmento comprensivo di intestazione e dati;

  • Urgent pointer (16 bit) indica i byte urgenti considerati a partire da quello indicato nel sequence number;

  • Options (variabile) campo opzionale che può essere usato per comunicare il proprio MSS;

  • Padding (variabile) campo di riempimento per portare la dimensione dell'intestazione ad un un multiplo di 32 bit;


I campi sopra menzionati, fanno parte dell'intestazione del segmento TCP.


Protocollo UDP

È un altro protocollo di trasporto utilizzato da applicazioni di tipo client-server senza connessione che scambiano tra loro pochissimi datagrammi. UDP non prevede il controllo degli errori e il controllo di flusso (compiti svolti dalle applicazioni di livello superiore) per offrire una velocità di molto maggiore a quella del protocollo TCP, a discapito della sicurezza nella riuscita della trasmissione.

I segmenti UDP sono formati da una breve intestazione di 8 byte e dal campo dati. I campi dell'intestazione sono:

  • Source Port (16 bit) contiene il numero di porta sorgente che individua l'applicazione locale;

  • Destination Port (16 bit) contiene il numero di porta destinazione che individua l'applicazione remota;

  • UDP lenght (16 bit) indica la dimensione totale del segmento, comprensiva di intestazione e dati; la dimensione massima di un datagramma UDP è quindi di 2^16=65536 byte;

  • UDP checksum (16 bit) è un campo opzionale che contiene il controllo per gli errori nell'intestazione.

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email