• Non ci sono risultati.

Socket e UDP

N/A
N/A
Protected

Academic year: 2021

Condividi "Socket e UDP"

Copied!
2
0
0

Testo completo

(1)

Azzolini Riccardo 2020-11-10

Socket e UDP

1 Porte e socket

Tipicamente, ogni host ha assegnato un solo indirizzo IP, ma esegue numerose applica- zioni che comunicano sulla rete, quindi deve stabilire diversi flussi informativi contempo- raneamente. A tale scopo, il livello di trasporto (nella pila TCP/IP, quindi in Internet) esegue il multiplexing (e demultiplexing) di più flussi informativi su un singolo indirizzo IP.

Per distinguere i flussi informativi multiplati a livello di trasporto, sono definiti dei valori numerici chiamati numeri di porta. Alcuni numeri di porta, detti well known ports, sono assegnati ad applicazioni precise, standardizzate: ad esempio, la porta 80 (con il protocollo di trasporto TCP) è assegnata a HTTP, mentre la porta 53 (con il protocollo di trasporto UDP) è assegnata a DNS.

Ogni flusso informativo tra due host è definito da (una tupla di) 5 parametri:

• indirizzo IP dell’host locale;

• numero di porta locale;

• indirizzo IP dell’host remoto;

• numero di porta remoto;

• protocollo di trasporto.

Tali parametri identificano un socket, che è l’interfaccia tra il livello di trasporto e il livello applicativo.

2 Modello client/server

Il modello client/server è un modello astratto di comunicazione tra processi, che costi- tuisce la base della maggior parte delle applicazioni di rete. Esso presuppone l’esistenza di un processo server, che offre un qualche servizio, e di un processo client, che richiede tale servizio.

Lo schema di funzionamento di questo modello è il seguente:

1. Il server attende richieste di servizio.

1

(2)

2. Il client richiede il servizio al server.

3. Il server può accettare o rifiutare la richiesta:

• se rifiuta, il client può riprovare in seguito;

• se invece accetta, si crea una sessione, avviene il trasferimento di informazioni, e infine la sessione è chiusa.

3 User Datagram Protocol

Come già detto, nella pila TCP/IP esistono due protocolli di trasporto, TCP e UDP, che offrono diversi tipi di servizio, quindi ciascuno di essi è più adatto a particolari tipi di applicazioni.

UDP, User Datagram Protocol, offre un servizio inaffidabile connectionless (cioè ap- punto a datagramma, come suggerisce il nome), senza la garanzia che i pacchetti arrivino a destinazione, né tanto meno che arrivino in ordine di invio, senza duplicati, ecc. L’unica funzione del protocollo UDP è il multiplexing/demultiplexing dei flussi informativi.

Il vantaggio di UDP è un basso overhead: non ci sono ritardi dovuti all’instaurazione della connessione, alla ritrasmissione di pacchetti persi, ecc. Ciò rende questo protocollo adatto soprattutto per applicazioni real-time.

Il datagramma UDP contiene i seguenti campi:

0 8 16 24 32 bit

Source port Destination port

Length Checksum

Data

• source e destination port: i numeri di porta associati, rispettivamente, alle applicazioni mittente e destinataria del datagramma;

• length: la lunghezza del datagramma, espressa in byte;

• checksum: un campo di controllo per rivelare eventuali errori;

• data: la SDU di livello 4, che corrisponde alla PDU di livello applicativo.

2

Riferimenti

Documenti correlati

• Per scoprire a quale router first-hop deve essere inoltrato il messaggio viene confrontato l’indirizzo di destinazione con gli indirizzi di rete contenuti nella tabella di

  Il problema è determinare il valore del timeout migliore (i ritardi possono essere molto variabili nel tempo

n quando viene creata una connessione, la finestra di congestione è uguale alla dimensione del massimo segmento che può essere inviato sulla connessione. n se questo è

Il metodo intranet utilizza al meglio la dimensione massima della rete cui deve spedire il pacchetto, ma perde il tempo relativo alla ricostruzione dell’intero pacchetto, che

In generale, quando si passa da un server in grado di gestire un unico client alla volta a un server multi-client, non si tratta di scrivere del codice in più (a parte le poche

• I livelli data link e fisico del modello OSI sono uniti in un unico “livello” network access, che non è un vero livello (secondo la definizione ISO-OSI) perché non ha una

Numero di porta del destinatario nel segmento inviato dal client al server corrisponde al numero di porta del servizio richiesto (ad es. 80 per HTTP). Numero di porta del mittente

2.  Il Browser invoca il resolver per conoscere l’IP dell’URL cercato, 3.  Il Browser attiva una connessione TCP sulla porta 80 del server, 4.  Il Browser chiede al server