11. Protocollo di trasporto a datagramma: User Datagram Protocol (UDP)

Documenti analoghi
Lo strato di Trasporto

UDP. User Datagram Protocol. UDP Connectionless

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

Il livello trasporto: Introduzione e protocollo UDP

Lezione n.3 LIVELLO TRASPORTO

Il livello trasporto: Introduzione e protocollo UDP

Internet Protocol Cenni introduttivi

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

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

17. Indirizzamento Multicast (IGMP)

Livello di trasporto:

Internet Control Message Protocol (ICMP)

Terminologia e concetti fondamentali La struttura di Internet (hardware e software):

Reti di Calcolatori:

Gestione delle Reti di Telecomunicazioni

Corso di Reti di Telecomunicazioni. Giovanni Schembra. Trasmissione trame su canale broadcast

Reti a commutazione di pacchetti I dati vengono divisi in pacchetti I pacchetti vengono spediti singolarmente sulla rete

Transmission Control Protocol

MODELLO TCP/IP LIVELLO 4 Trasporto. Il protocollo per il controllo della trasmissione. La gestione degli errori di trasmissione

MODELLI ISO/OSI e TCP/IP

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano

MODELLI ISO/OSI e TCP/IP

Organizzazione della lezione

3: Architettura TCP/IP

TCP/IP: una breve introduzione

Livello trasporto. Servizi del livello trasporto

TCP/IP: una breve introduzione

Instradamento. Fondamenti di Informatica

TECN.PROG.SIST.INF. I Socket Roberta Gerboni


Lo strato di Trasporto

Telematica di Base. Il livello di trasporto

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci

IP Internet Protocol

Introduzione alle reti ed al TCP/IP

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

ICMP ARP RARP DHCP -NAT

Reti di Telecomunicazione Lezione 8

Le Reti Informatiche

Corso di Laurea in Informatica Esame di Reti Prof. Panzieri frame con source address uguale a MAC_UNI X X X X X

Capitolo 3 - parte 1. Corso Reti ed Applicazioni Mauro Campanella Como 2003

Antonio Cianfrani. Standard Access Control List (ACL)

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery

IPv6: aspetti generali

Configurazione delle interfacce di rete

La tecnologia Ethernet

Parte II: Reti di calcolatori Lezione 11 (35)

Protocolli ARP e RARP

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

Internet Control Message Protocol. IP si basa sulla collaborazione di tutti i computer (router) connessi alla rete

10. Stratificazione dei protocolli

No. Time Source Destination Protocol Info DHCP DHCP Discover - Transaction ID 0xec763e04

(parte 2) DHCP e NAT

INTRODUZIONE AL TCP/IP TCP/IP Trasmission Control Protocol /

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 3

Le Reti Informatiche

Argomenti: ! Servizi dello strato di trasporto! multiplexing/demultiplexing! Servizio senza connessione: UDP

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

Lo strato di applicazione in Internet

Le Reti Informatiche

7. Il protocollo IP Architettura e filosofia di internet APPLICATION SERVICES RELIABLE TRANSPORT SERVICE CONNECTIONLESS PACKET DELIVERY SERVICE

IL LIVELLO RETE IN INTERNET Protocollo IP

Livello rete. Piano di controllo. Introduzione: Piano dei dati e piano di controllo Architettura di un router IP: Internet Protocol

Reti SWITCHED LAN FULL DUPLEX (IEEE 802.3x)

Instradamento in IPv4

Transport Layer & TCP/UDP

Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP

IL LIVELLO TRASPORTO Protocolli TCP e UDP

14/12/2018 Informatici e di Telecomunicazioni

Routing IP. Cosa è il Routing? Routing. Routing Diretto

Reti di Calcolatori. IL LIVELLO RETE IN INTERNET Protocollo IP

Ripresa concetti di networking. Orazio Battaglia

Sistemi e Tecnologie della Comunicazione

Modello OSI (Open System Interconnection) Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Il protocollo IP A.A. 2006/2007. Alessandro Botticelli

4b. Esercizi sul livello di Rete Inoltro in IP

Servizi del livello trasporto, protocollo UDP, intro a TCP

Il protocollo IP A.A. 2005/2006. Walter Cerroni. Internet Protocol (IP) - RFC 791

Uso di Internet: Esempio. Prof. Franco Callegati

Il Modello a scambio di messaggi

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

TCP/IP: elemento unificante

INTERNET PROTOCOL RFC 791

Livello 4 (trasporto): cosa vedremo

Corrispondenza tra OSI e TCP/IP. Il TCP/IP è un protocollo a 4 livelli, ecco l analogia con OSI:

La rete Internet. La Rete Logica. Vincenzo Eramo R 2 R 3 R 4 R 1 R 5. I terminali della rete sono denominati Host

L architettura di TCP/IP

Indirizzamento IPv4. Indirizzamento IP

Introduzione al NATTING

Stratificazione protocollare (Protocol Layering )

III - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete.

Corso di Informatica

Il protocollo IP (Internet Protocol)

API Socket di Berkeley

UD 3 PROTOCOLLO ISO-OSI

Indirizzamento IP. Politecnico di Milano Facoltà di Ingegneria dell Informazione

Transcript:

11. Protocollo di trasporto a datagramma: User Datagram Protocol (UDP) 11.1. Introduzione È il più semplice protocollo di trasporto 11.2. Identificare la destinazione finale La macchine sono multiprogrammate: numerosi processi vogliono accedere ai servizi di comunicazione non basta un servizio da macchina a macchina! Non si può indirizzare i vari processi con il loro nome perché: 1. cambia dinamicamente 2. vorremmo poter cambiare il processo ricevente senza che il mittente ne debba essere informato 3. il processo destinazione deve essere caratterizzato dalla sua funzione 4. un processo potrebbe svolgere più funzioni (ad es. in macchina monoprogrammata) introdurre delle destinazioni astratte, dette protocol port in internet (transport selector in OSI) identificate da numeri interi positivi: il sistema operativo deve fornire chiamate per accedere o registrarsi ad una porta In che modalità si accede ad una porta? Spesso sincrona = il processo si blocca durante tutta l'operazione di accesso alla porta (spedizione o ricezione); spedizione blocca solo per l'elaborazione locale Pagina 11.1

In generale le porte sono bufferizzate = quando un messaggio viene ricevuto viene memorizzato se il ricevente non ha già eseguito la system call di ricezione (notare: non in tutti i sistemi operativi!); bufferizzazione anche in spedizione, per congestione locale sulla interfaccia Quindi per poter comunicare con il proprio pari, un processo deve conoscere l'indirizzo IP della macchina su cui il pari esegue e il numero di porta su cui il pari ascolta: destination port. È necessario comunicare la source port sulla quale ci si attende la risposta 11.3. UDP È un servizio di trasporto a datagramma, cioè connectionless (quindi molto simile a IP). Oltre ai dati spediti, ogni messaggio UDP contiene la destination port e la source port L'affidabilità è la stessa di IP (non c'è!), perché l'unico servizio aggiunto a IP è l'indirizzamento su porta (la prima delle funzioni fondamentali di un servizio di comunicazione!) 11.4. Formati dei messaggi UDP 0 16 31 UDP SOURCE PORT UDP MESSAGE LENGHT DATA... UDP DESTINATION PORT UDP CHECKSUM Come si vede le porte sono interi positivi a 16bit. SOURCE PORT può essere lasciata a zero (assente). LENGTH include l'header. CHECKSUM a zero indica che è assente (quando viene zero per la somma in complemento a 1, si usa lo zero con tutti i bit a uno) Pagina 11.2

11.5. UDP pseudo-header UDP vuole controllare non solo la correttezza dei propri dati ma manche che il messaggio sia stato consegnato (da IP) all'indirizzo giusto, dalla sorgente giusta, con il PROTOCOL giusto. Allora prima di spedire e alla ricezione calcola la checksum prependendo al messaggio uno pseudo-header (che non viene trasmesso): 0 8 16 31 SOURCE IP ADDRESS DESTINATION IP ADDRESS ZERO PROTO UDP LENGTH PROTO = 17 per UDP Pagina 11.3

11.6. Incapsulamento e stratificazione Stratificazione concettuale Applicazione UDP IP Network Interface Notare che questa stratificazione implica anche un completo incapsulamento di UDP nei dati di IP UDP HEADER UDP DATA IP HEADER IP DATA AREA FRAME HEADER FRAME DATA AREA Le protocol data unit (PDU) di ciascun protocollo (UDP e IP) sono imbustate una nell'altra e infine nel frame della sottorete fisica. All'arrivo ciascuno strato esamina il proprio header, decide cosa fare su questa base, e se è il caso consegna all'utilizzatore sovrastante la PDU relativa (più informazioni utili di sua pertinenza, quali gli IP address sorgente e destinazione) IP identifica gli host sorgente e destinazione; UDP identifica le porte sorgente e destinazione Pagina 11.4

11.7. Stratificazione e calcolo della checksum UDP UDP ha bisogno degli IP address sorgente e destinazione per calcolare la sua checksum. È questa una violazione dl principio della stratificazione? Il libro sostieni di sì, ma dimentica che informazioni quali PROTOCOL number, e IP address sono necessarie perché l'interazione fra IP e IP-user avvenga come l'ip-user desidera: mancherebbe altro che fosse IP a decidere dove spedire un pacchetto, oppure non informasse l'ip-user della sorgente di un pacchetto che gli consegna: è un esempio dei deliri a cui si può arrivare quando si scambiano considerazioni progettuali con dogmi religiosi! 11.8. UDP: multiplexing, demultiplexing, e porte Come anticipato, UDP esegue un multiplexing (e relativo demultiplexing, non c'è uno senza l'altro!) di IP mediante il concetto di porta Porta 1 Porta 2 Porta 3 Porta A Porta B Porta C UDP: Demultiplexing basato su Porte UDP: Multiplexing basato su Porte Arriva un datagramma UDP Spedisce un datagramma UDP Strato IP Strato IP Pagina 11.5

Una porta può esser pensata come una coda realizzata dal sistema operativo. Prima di operare su una porta, un processo deve chiedere al sistema operativo di essere l'utilizzatore di tale porta. A questo punto il SO crea la coda Se arriva un datagramma per una porta non in uso, il SO lo scarta e invia un messaggio ICMO di port unreachable. Se al coda della porta è piena il SO scarta il datagramma in arrivo (Source Quench? provare!) Attenzione: alcuni sistemi operativi (si dice) non associano alcuna coda ad una porta UDP: se il processo non è già in attesa quando arriva il datagramma UDP, questo viene scartato! 11.9. Numeri di porta UDP riservati e disponibili Come fa un mittente a sapere il numero di porta su cui spedire? La risposta giusta è che ci dovrebbe essere un directory sul quale andare a cercare quale sia il numero di porta che corrisponde su una certa macchina a una certa applicazione distribuita Internet ha sempre cercato prima soluzioni semplici anche se più limitate. Quindi in internet i numeri di porta sono di due tipi: wellknown e dinamiche Le porte well-known sono assegnate da un Internet Standard. Sul libro sono listate alcune. Non si dovrebbero usare se non per l'uso per cui sino state definite. In Unix c'è un file di sistema (/etc/services) che contiene la lista delle porte well-known Le altre porte sono usabili dinamicamente dai programmi applicativi Pagina 11.6

11.10. Conclusioni Abbiamo visto il primo (dei due) servizi di trasporto definiti in internet: UDP È educativo perché la sua unica funzione è quella di rendere disponibile la prima funzionalità fondamentale di un servizio di trasporto: la consegna end-to-end di messaggi da processo a processo (invece che da macchina a macchina come fa la rete). Conseguentemente, deve fornire una funzione di mux-demux sulle porte definite su una macchina UDP non fa altro che questo, perché per il resto utilizza IP come portatore dei propri messaggi Pagina 11.7