Trasporto non orientato alla connessione - UDP

I pacchetti UDP vengono normalmente chiamati datagrammi UDP, mentre i pacchetti TCP sono chiamati segmenti TCP. Essi, diventano poi, al livello di rete, entrambi datagrammi IP. Per una trattazione più semplice il libro preferisce chiamare segmenti sia i pacchetti TCP che UDP e datagrammi i pacchetti del livello di rete.
Pasted image 20230921095210.png
Il campo dati contiene, per esempio, nel caso di DNS (che usa UDP) un messaggio di richiesta o di risposta. L'intestazione UDP contiene solo quattro campi di due byte.

  • Numero di porta di origine: è il numero di porta della socket da cui è partito il messaggio
  • Numero di porta di destinazione: è il numero di porta della socket di destinazione cui è diretto il messaggio
  • Lunghezza: lunghezza del segmento UDP (la lunghezza può variare tra un segmento ed un altro)
  • L'host ricevente utilizza il checksum per verificare che non siano avvenuti errori nel segmento durante il percorso verso la destinazione.

Checksum
...

Il checksum UDP server per verificare che non siano avvenuti errori durante il tragitto percorso dal segmento UDP.
Lato mittente: UDP effettua il complemento a 1 della somma di tutte le word di 16 bit nel segmento, e l'eventuale riporto finale viene sommato al primo bit. Il risultato viene posto nel campo checksum del segmento.

Esempio: supponiamo di avere le seguenti tre word di 16 bit
La somma tra le prime due:
La somma del tra il risultato almeno ottenuto e l'ultima word:
Notiamo che tale somma ha il riporto di 1. Tale riporto viene sommato al risultato stesso appena ottenuto:
Per fare il complemento a 1 si invertono i bit (gli 1 diventano 0):
Quando viene ricevuto il messaggio dal destinatario saranno sommate le tre parole iniziali più il checksum (che viene inviato insieme al pacchetto), se non si sono verificati errori, il destinatario otterrà: .