TCP/IP : Livello 3 di rete ARP (Address Resolution Protocol)



Documenti analoghi
TCP/IP : Livello 3 di rete ARP (Address Resolution Protocol)

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Transmission Control Protocol

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 8

Gestione degli indirizzi

Reti di Calcolatori. Il software

Inizializzazione degli Host. BOOTP e DHCP

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Gestione degli indirizzi

Dal protocollo IP ai livelli superiori

Indice. Prefazione XIII

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Protocolli di Comunicazione

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

Protocollo IP e collegati

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

IP Internet Protocol

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Informatica per la comunicazione" - lezione 8 -

Elementi di Informatica e Programmazione

Laurea in INFORMATICA

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Standard di comunicazione

4 - Il livello di trasporto

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

ARP (Address Resolution Protocol)

Internet e protocollo TCP/IP

Elementi di Informatica e Programmazione

Introduzione alle applicazioni di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Lo scenario: la definizione di Internet

Interconnessione di reti

Internet. Introduzione alle comunicazioni tra computer

ARP e instradamento IP

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Introduzione alla rete Internet

Reti e Internet: introduzione

Il livello trasporto Protocolli TCP e UDP

Reti di Calcolatori

Internetworking TCP/IP: esercizi

Protocollo ICMP, comandi ping e traceroute

Laboratorio di Programmazione in rete

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Cenni di programmazione distribuita in C++ Mauro Piccolo

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

MODELLI ISO/OSI e TCP/IP

TCP/IP. Principali caratteristiche

Reti standard. Si trattano i modelli di rete su cui è basata Internet

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

IL LIVELLO RETE IN INTERNET Protocollo IP

Introduzione alla rete Internet

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

P2-11: BOOTP e DHCP (Capitolo 23)

12.5 UDP (User Datagram Protocol)

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Classe bit: net id host id. 1 0 net id host id net id host id multicast address

DA SA Type Data (IP, ARP, etc.) Padding FCS

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

Il modello TCP/IP. Sommario

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Il protocollo IP (Internet Protocol)

Il firewall Packet filtering statico in architetture avanzate

Introduzione alla rete Internet

ESERCIZIO NUMERO 1 ESERCIZIO NUM. 2


I canali di comunicazione

Multicast e IGMP. Pietro Nicoletti

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Livello di Rete. Gaia Maselli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Parte II: Reti di calcolatori Lezione 16

ARP/RARP. Problema della Risoluzione dell Indirizzo. Corrispondenza statica e dinamica. Scenari

Argomenti della lezione

Socket API per il Multicast

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

L architettura di TCP/IP

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP

I protocolli UDP e TCP

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

Prof. Filippo Lanubile

Transcript:

CdS in INFORMATICA e COMUNICAZIONE DIGITALE Anno Accademico 2012-2013 Corso di Reti di Calcolatori e Comunicazione Digitale Modulo 5 TCP/IP : i protocolli a livello 3 e 4 Prof. Sebastiano Pizzutilo Dipartimento di Informatica TCP/IP : Livello 3 di rete ARP (Address Resolution Protocol) Il protocollo ARP si occupa di tradurre un indirizzo IP (indirizzo logico) del destinatario in indirizzo MAC (indirizzo fisico) per poter costruire un frame a livello 2 in cui incapsulare un datagram IP inviato all indirizzo fisico del destinatario. Processo di risoluzione 2 Richiesta ARP in broadcast su una LAN 1 cache 3 Risposta in unicast 1. Il MAC del destinatario viene cercato nella cache. 2. Se il MAC non è nella cache, si cerca il destinatario con un messaggio ARP con l indirizzo IP del destinatario in broadcast sulla rete. 3. Il destinatario riceve la richiesta ARP con il proprio indirizzo IP e restituisce in unicast al mittente (del quale conosce l IP ed il MAC) il proprio indirizzo MAC. 4. Il mittente memorizza nella propria cache una tabella ARP con le associazioni IP-MAC che conosce 5. Se l indirizzo IP del destinatario è su un altra rete, il processo si ripete considerando mittente e ricevente i router ( o i proxy ARP) delle rispettive reti. 1

TCP/IP : Livello 3 di rete Con il comando arp è possibile visualizzare il contenuto della cache. Net to Media Table Device IP Address Mask Flags Phys Addr ------ -------------------- --------------- ----- --------------- hme0 sv_nt_00 255.255.255.255 00:60:08:71:de:49 hme0 www.xxxxxx.com 255.255.255.255 00:60:08:73:2f:cf hme0 192.9.200.30 255.255.255.255 00:60:08:54:c5:ed hme0 192.9.200.42 255.255.255.255 00:50:ba:05:fe:dd hme0 192.9.200.98 255.255.255.255 00:10:4b:af:96:75 hme0 venus 255.255.255.255 SP 08:00:20:9a:02:64 hme0 jupiter 255.255.255.255 08:00:20:9a:08:21 hme0 224.0.0.0 240.0.0.0 SM 01:00:5e:00:00:00 - ARP per conversione IP > ind.mac La risoluzione inversa consiste nella conversione ind.mac > IP Ciò è necessario quando un host conosce solo il proprio indirizzo fisico, senza essere in grado di sapere quale sia il proprio indirizzo logico IP. Per esempio un nodo non conosce il proprio indirizzo IP quando è senza dischi e quindi al momento in cui viene acceso non può leggere su un file l indirizzo IP con cui è stato configurato sulla rete. Oppure quando si è su una rete con disponibilità limitata di indirizzi IP che vengono quindi assegnati dinamicamente (DHCP). TCP/IP : Livello 3 di rete RARP (Reverse ARP) Il protocollo RARP permette ad un nodo della rete, che conosce solo il proprio indirizzo fisico, di trovare il proprio indirizzo logico IP. Il nodo crea un messaggio di richiesta RARP, in cui inserisce il proprio indirizzo fisico e lo spedisce in broadcast allo strato di collegamento (tutti 1) sulla rete locale, dove ci sarà qualcuno (un server RARP) che conosce tutti gli indirizzi IP associati agli indirizzi fisici dei nodi connessi su quella rete. Quindi il processo di risoluzione inversa è molto simile al protocollo ARP, solo che il RARP richiede necessariamente la presenza di un server RARP per ognuna delle reti o sottoreti gestite da una organizzazione. PROBLEMA : se si gestiscono più reti e sottoreti occorrono più server RARP uno per ogni rete. 2

TCP/IP : Livello 3 di rete BOOTP e DHCP come supporto dal livello di applicazione - BOOTP ( Bootstrap Protocol ), protocollo client/server a livello di applicazione che opera impacchettando in UDP e in IP i messaggi del protocollo ed utilizzando un nodo relay agent come intermediario che conosce l indirizzo IP del server BOOTP e che invia in unicast la risposta al client. Il BOOTP non consente però una gestione dinamica degli indirizzi IP. - DHCP (Dynamic Host Configuration Protocol), è un protocollo a livello applicativo che consente la gestione sia di indirizzi IP statici (come BOOTP) che dinamici utilizzando un Data Base di indirizzi IP assegnati staticamente ed un data base di indirizzi assegnati dinamicamente all interno di un range predeterminato. TCP/IP : Livello 3 di rete ICMP (Internet Control Message Protocol) è un protocollo di servizio che si preoccupa di notificare o correggere errori a livello IP ( trasmettere dati riguardanti malfunzionamenti, informazioni di controllo o messaggi tra i vari componenti di una rete ). Il protocollo ICMP può svolgere le seguenti funzioni: ü fornire messaggi di echo e di risposta per verificare l attendibilità di una connessione tra due host, ü reindirizzare il traffico per fornire un instradamento più efficiente nel caso di intasamento di un router, ü emettere un messaggio di time-out quando il TTL di un datagram viene superato, ü fornire un messaggio di inibizione dell origine per dire ad un host di rallentare le proprie comunicazioni per non intasare un router. Tipo codice checksum dati Header ICMP di 4*8= 32 bit + dati 3

ICMP Tipi di messaggi Verifica lo stato della rete Echo request ed Echo reply Riporta anomalie Destination Unreachable Time Exceeded for a Datagram Parameter Problem on a Datagram Scopre la netmask Introdotto nelle ultime versioni Mask Request Address Mask Reply Migliora il routing Redirect Valore Tipo di Messaggio 0 Echo Reply 3 Destination Unreachable 4 Source Quence 5 Redirect 8 Echo Request 11 Time Exceeded for a Datagram 12 Parameter Problem on a Datagram 13 Timestamp Request 14 Timestamp Reply 15 Information Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply ICMP ICMP fornisce il supporto a comandi per la diagnosi di problemi sulla rete: un meccanismo di monitoraggio sugli errori di routing (traceroute o tracert) e per stabilire se un host è attivo e se risponde (ping). Uno dei comandi più comunemente usati che fanno uso di questo protocollo è il PING (Packet INternet Groper) di cui riportiamo un esempio di esecuzione: Esecuzione di Ping venus.sysdata.it [192.9.200.199] : Risposta da 192.9.200.199: byte=32 durata<10ms TTL=255 Risposta da 192.9.200.199: byte=32 durata<10ms TTL=255 Risposta da 192.9.200.199: byte=32 durata<10ms TTL=255 Risposta da 192.9.200.199: byte=32 durata<10ms TTL=255 Statistiche Ping per 192.9.200.199: Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% persi), Tempo approssimativo percorsi andata/ritorno in millisecondi: Minimo Per verificare quale sia il percorso utilizzato dai pacchetti per raggiungere una destinazione, si utilizza il comando traceroute, che determina il percorso per una destinazione inviando messaggi ICMP di Echo Request verso la destinazione ed incrementando di volta in volta il TTL. # traceroute portatile.plip.dg traceroute to portatile.plip.dg (192.168.254.1), 30 hops max, 40 byte packets 1 dinkel.brot.dg (192.168.1.1) 0.433 ms 0.278 ms 0.216 ms 2 router.brot.dg (192.168.1.254) 2.335 ms 2.278 ms 3.216 ms 3 * * * 4 * * * 5 portatile.plip.dg (192.168.254.1) 10.654 ms 13.543 ms 11.344 ms 4

TCP/IP : Livello 3 di rete IGMP (Internet Group Management Protocol) E un protocollo IPv4 che permette la gestione di gruppi di destinatari per poter implementare la comunicazione multicast (indirizzi di classe D). Il Multicast è uno schema di comunicazione asincrono con un singolo mittente ed un insieme (>1) di riceventi (gruppo). La comunicazione broadcast è un caso particolare della multicast, in cui il messaggio è spedito a tutti i nodi connessi alla rete. Gruppo aperto in cui ciascun processo del sistema può mandare un messaggio al gruppo L IGMP permette la gestione di gruppi di destinatari per poter implementare a livello applicativo la comunicazione multicast. L'Internet Group Management Protocol permette ad un host di informare il router ad esso collegato che una applicazione che funziona nell'host vuole connettersi ad uno specifico gruppo di nodi. TCP/IP : Livello 3 di rete IGMP IGMP opera fra un host e il router ad esso collegato direttamente. Per coordinare i router multicast invece è richiesto un altro protocollo, così che i datagrammi multicast possano essere instradati alle loro destinazioni finali. Tipi di messaggi Formato del messaggio IGMP 32 bit tipo T max di risposta checksum Indirizzo classe D del gruppo Membership query:generale : inviato da un router: richiede i gruppi che si sono uniti agli host a cui è collegato Membership query:specifica: inviato da un router: richiede se uno specifico gruppo si è unito agli host a cui è collegato Membership report: inviato da un host: registra che un host si vuole unire o che appartiene a un dato gruppo Leave group: inviato da un host: registra l abbandono di un certo gruppo 5

Indirizzi di host e di processi/porte La comunicazione tra programmi è possibile se si conosce l indirizzo dei programmi che devono comunicare Indirizzo Internet (usato da IP) identificatori a 32 bit notazione: 193.204.187.194 identifica una interfaccia 193.204.187.194 209.134.xxx.xxx Numero di porta (interpretato da TCP o UDP) identificatori a 16 bit (sempre in relazione ad un IP) range: Well-Known: 0 1023 Registered: 1024 49151 Dynamic (private) 49152 65535 http://www.iana.org/assignments/port-numbers Aplicazione www Porta E-mail 80 23 www.di.uniba.it 193.204.1.. 193.204.187.194 Le socket (livello di sessione) Organizzazione a livelli: relazione tra protocolli, applicazioni e API socket Applicazione Socket API Implementazione dei protocolli (S.O.) Applicazione Socket API TCP TCP IP HOST canale IP canale Es: ethernet Router IP HOST 6

I tipi di Socket Il tipo di una socket definisce una modalità di comunicazione che una socket usa per inviare dati: Streaming Socket (SOCK_STREAM): Fornisce una connessione sequenziale, affidabile e full-duplex. Il protocollo TCP è basato su questo tipo di socket. Datagram socket (SOCK_DGRAM): Supporta i datagrammi (privo di connessione, messaggi inaffidabili di una lunghezza massima prefissata). Il protocollo UDP è basato su questo tipo di socket Osserviamo che: AF_INET + SOCK_STREAM determineranno una connessione TCP, AF_INET + SOCK_DGRAM determineranno una trasmissione UDP Socket, Protocolli e Porte su un singolo host Una socket che usa la famiglia di protocolli TCP/IP è univocamente determinata da un indirizzo internet, un protocollo di comunicazione (TCP o UDP) e un numero di porta Applicazioni Socket TCP Applicazioni Socket UDP Porte TCP 1 2 65535 1 2 65535 TCP UDP Porte UDP IP Host Sockets bound to ports Descriptor reference 7

TCP/IP : Livello 4 di Trasporto Lo strato di trasporto permette la comunicazione tra processi ( permette di creare un canale di comunicazione end-to-end tra processi remoti). Infatti i protocolli di questo strato usano come indirizzo il numero di porta del processo mittente e del processo ricevente. Per far comunicare due processi che operano su host diversi è però necessaria la combinazione del numero di porta con l indirizzo IP dell host. Per questo motivo si usano le socket (a livello di sessione) per identificare completamente il mittente ed il ricevente. La comunicazione può avvenire mediante socket con connessione (sock-stream: il processo mittente ed il processo destinatario prima instaurano una connessione e poi spediscono i segmenti che compongono il messaggio) o senza connessione (sock-dgram: il segmento viene trasmesso senza stabilire prima una connessione ed i dati viaggiano indipendentemente l uno dall altro) PORTE CONOSCIUTE per processi applicativi: 22 FTP 23 TELNET 25 SMTP 53 DOMAIN server DNS 80 HTTP server WEB 110 POP Multidatagram messages MTU = Maximum Transfert Unit = dimensione limite dei dati trasmissibili in una unità di tempo (legato alla tipologia della rete) Un messaggio più grande della MTU viene frammentato a livello di trasporto in più MTU, ciascun frammento viene spedito separatamente al livello inferiore IP, dove vengono inseriti header IP creando così i datagrammi. L assemblaggio ed il disassemblaggio dei frammenti è compito del livello di trasporto. L assemblaggio ed il disassemblaggio dei datagrammi è compito del livello di rete. L assemblaggio ed il disassemblaggio dei frame è compito del livello di data link. Al Livello di rete un messaggio viene suddiviso in pacchetti per essere inviato. Il pacchetto in un servizio senza connessione (connectionless), denominato datagramma, viene spedito seguendo un percorso indipendente dagli altri datagrammi. Ciascun datagramma, infatti, segue le strade stabilite dai router, e queste possono cambiare per evitare router non piu' attivi o congestioni di rete. Diversamente, se la scelta del routing viene fatta in anticipo, si parlerà di circuito virtuale connection oriented. Se un router dovesse subire un guasto in un servizio senza connessione i datagrammi verrebbero indirizzati su altri router, mentre, se il servizio è con connessione ( con circuito virtuale), cade anche la connessione. dat1 dat1 b d a f dat1 dat2 dat3 dat1 dat2 dat3 dat2 c dat3 e 8

TCP/IP : Livello 4 di Trasporto Header TCP TCP opera in modalità connection oriented (streamed), utilizzando come identificazione dei punti di connessione le socket (combinazione di indirizzo IP dell host ed il numero di porta su cui avviene la comunicazione). TCP svolge le funzioni di controllo di errore, di controllo di flusso, di controllo di sequenza e di multiplazione delle connessioni su una singola socket. 0 4 8 16 19 24 31 Data Offset Res Source Port Sequence Number Destination Port Acknowledgement Number Control Checksum Options Window Urgent Pointer TCP Header = 24 byte Padding TCP è utilizzato da applicativi che richiedono la trasmissione affidabile dell informazione: telnet ftp (file transfer protocol) smtp (simple mail transfer protocol) DNS RPC TCP/IP : Livello 4 di Trasporto TCP (Transmission Control Protocol) Il TCP si occupa delle comunicazioni orientate alla connessione (connection oriented). Questo significa che, quando due processi su due host diversi comunicano utilizzando come trasporto il TCP, è necessario che tra di essi si instauri una sessione (streamsock). Nel corso di trasmissioni di questo tipo ci si serve di numeri sequenziali e di conferme (acknowledge) per assicurare il trasferimento con successo dei dati. In pratica ciascun segmento di dati viene numerato e spedito al livello inferiore di rete. Qui il segmento ui trasformato in datagramma e spedito al destinatario. Il destinatario una volta ricevuti i datagramm provvede ad inviare al mittente un messaggio di avvenuta ricezione. Questo meccanismo ovviamente appesantisce la trasmissione, ma assicura un elevato grado di affidabilità. 9

TCP/IP : Livello 4 di Trasporto Trasmissione TCP q TCP con i byte in arrivo provenienti dall'ip, il livello sottostante, si limita a riordinare i pacchetti, elimina i duplicati, calcola il checksum per intero e non solo del suo header (come fa l'ip), esegue il controllo di flusso per regolare differenti velocita' tra macchina mittente e destinatario, smista i segmenti ai processi secondo la porta di destinazione e per finire informa mittente e destinatario che il Livello Network non puo' operare nel caso ci siano inconvenienti quali interruzioni inaspettate di connessione. q In trasmissione TCP accetta un flusso di byte da un'applicazione, frammenta il flusso di byte in datagrammi. Se vuole creare segmenti grandi allora li bufferizza prima di spedirli. Con opportuni software e' possibile definire la grandezza dei segmenti (MSS). Esempio di trasmissione TCP su Ethernet 1. TCP riceve il flusso di dati dall applicazione, lo suddivide in segmenti numerati e li consegna singolarmente al protocollo IP per la costruzione di datagrammi; 2. Il protocollo IP accetta i segmenti e li include in pacchetti IP (datagrammi) secondo il formato previsto. IP decide inoltre le forme di routing. 3. Una volta costruiti i pacchetti, l IP deve utilizzare il protocollo dello strato inferiore (data link) per trasmetterli. In particolare dovrà ottenere dall ARP l indirizzo MAC dell host destinazione. 4. Il protocollo dello strato data link aggiunge ai pacchetti IP altri campi di controllo ed ottenuto così il frame Ethernet da trasmettere, utilizza i servizi messi a disposizione dal livello fisico per trasmettere i segnali (i bit) che compongono il frame. TCP/IP : Livello 4 di Trasporto UDP (User Datagram Protocol) Il protocollo UDP è connectionless, cioè non vi è certezza dell avvenuta ricezione da parte del destinatario dei dati spediti, ma in compenso la trasmissione risulta più semplice e veloce. Questo protocollo viene utilizzato nei casi in cui la velocità di trasmissione sia più importante della sicurezza della trasmissione (per es. in applicazioni real-time) UDP Header = 8 byte 0 4 8 16 19 24 31 UDP Source Port UDP Destination Port UDP Message Length Checksum del datagram Le applicazioni principali che utilizzano UDP sono: NFS (Network File System); SNMP (Simple Network Management Protocol); ICMP Applicazioni Runix (rwho, ruptime,...). 10

TCP/IP : Livello 4 di Trasporto UDP ü UDP come protocollo di tipo connectionless, non gestisce il riordinamento dei segmenti né la ritrasmissione di quelli persi, ed è perciò di minore affidabilità. È in compenso molto rapido ed efficiente per le applicazioni "leggere" o time-sensitive. Ad esempio, è usato spesso per la trasmissione di informazioni audio o video. Dato che le applicazioni in tempo reale spesso richiedono un ritmo minimo di spedizione, non vogliono ritardare eccessivamente la trasmissione dei pacchetti e possono tollerare qualche perdita di dati, il modello di servizio TCP può non essere particolarmente adatto alle loro caratteristiche. ü L'UDP fornisce soltanto i servizi basilari del livello di trasporto: multiplazione delle connessioni, ottenuta attraverso il meccanismo delle porte verifica degli errori mediante una checksum, inserita in un campo dell'intestazione del pacchetto. ü L'UDP è un protocollo stateless, ovvero non tiene nota dello stato della connessione, dunque ha rispetto al TCP informazioni in meno da memorizzare. ü Un server dedicato ad una particolare applicazione che scelga UDP come protocollo di trasporto può supportare molti più client attivi. TCP/IP : Livello 4 di Trasporto Trasmissione UDP 1. La trasmissione di un pacchetto UDP avviene incapsulandolo all'interno di un pacchetto IP. 2. Giunto a destinazione, il pacchetto viene inviato alla porta di destinazione indicata nell'intestazione UDP. 3. Qualora la porta non fosse disponibile, viene inviato un paccheto ICMP (Internet Control Message Protocol) all'host mittente con messaggio di port unreachable (porta irraggiungibile). ü Il protocollo di trasmissione UDP realizza di fatto un modello di comunicazione di tipo message passing con ricezione bloccante e invio non bloccante. E' demandato al programmatore il compito di assicurare la corretta ricezione dei messaggi (datagram) se essa è importante per l'applicazione. ü La comunicazione in UDP avviene mediante indirizzamento indiretto di tipo molti a uno: la primitiva send indirizza il proprio messaggio ad uno specifico identificatore del port (che gioca il ruolo di una mailbox) di accesso al processo destinazione (hostname e port). ü Il processo destinazione conosce l'identità del processo sorgente mediante hostname e port specificati in testa al messaggio. ü Mediante UDP, è anche possibile che molti client si mettano in ascolto di messaggi inviati (in broadcast) da un processo server. 11