Programmazione su Reti

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

Laboratorio di Telematica
Tecnologie. Reti locati e reti globali Reti locali (LAN, Local Area Networks) –Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti.
Socket Java Alberto Ferrari.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Elaborazione del Book Informatico
Italo Losero S tray B ytes strane cose succedono nelle reti....
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Messaggi di errore e di controllo Alberto Polzonetti
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Protocollo Internet Alberto Polzonetti
I modelli di riferimento OSI e TCP/IP
La rete in dettaglio: rete esterna (edge): applicazioni e host
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
Come programmare servizi di rete?
Sistemi e Tecnologie della Comunicazione
Programmazione su Reti
Architettura del World Wide Web
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Programmazione su Reti
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
1 Protocollo di comunicazione. 2 Reti eterogenee.
EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Modello di riferimento OSI AICA © 2005.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Corso di Laurea in Ingegneria Gestionale
Reti di Calcolatori MODELLI ISO/OSI e TCP/IP.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
ICMP - PING - TRACEROUTE
Corso di Informatica per Giurisprudenza Lezione 7
Modulo 2 – U.D. 1 – Lez. 2 Ernesto Damiani – Sistemi di elaborazione dell'informazione.
Il modello di riferimento OSI
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
EM 09 INTERNET … UN PO DI STORIA. EM 09 Nasce per garantire comunicazioni efficienti … Tra le sedi delle forze armate americane Tra le sedi delle forze.
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
Internet.
L’architettura a strati
Internet: una panoramica
Distributed System ( )7 TCP/IP four-layer model.
Questo modello può essere utilizzato come file iniziale per la presentazione di materiale didattico per la formazione in gruppo. Sezioni Fare clic con.
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
Creato da Riccardo Nuzzone
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
Livello di trasporto Protocolli TCP e UDP.
Comunicazione nelle reti – protocolli
1: Introduction1 Stratificazione protocollare (Protocol “Layering”) Le reti sono complesse! r Molti elementi: m host m router m link fisici dalle caratteristiche.
Consuntivo corso Reti diCalcolatori Reti di Calcolatori (F1I063) Docente Luigi Vetrano Durata Ore di lezione56 di cui, ore di.
1 Luigi Vetrano Esercitazione di Reti di Calcolatori A.A
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Servizi Internet Claudia Raibulet
Reti di calcolatori Modulo 2 -Protocolli di rete TCP/IP Unità didattica 2 – Il protocollo TCP/IP Ernesto Damiani Università degli Studi di Milano - SSRI.
Reti II Stefano Leonardi
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
Strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono comprese negli strati fisico, di collegamento e parte.
1 Sistemi e Tecnologie della Comunicazione Lezione 23: transport layer: TCP e UDP.
Sistemi e Tecnologie della Comunicazione
Software di Packet-Filtering e Port-Filtering su reti TCP/IP Come filtrare il traffico di rete in transito sulle interfacce presenti, frapponendosi tra.
ARCHITETTURA DI RETE Protocollo: insieme di regole che governano le comunicazioni tra i nodi di una rete. La condivisione di queste regole tra tutte gli.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
Il Livello di Trasporto
Transcript della presentazione:

Programmazione su Reti Il livello trasporto di TCP/IP: TCP e UDP Giuseppe Persiano Dipartimento di Informatica ed Applicazioni Università degli Studi di Salerno http://www.dia.unisa.it/~giuper

I protocolli TCP e UDP TCP e UDP OSI Internet Protocol Suite Application Telnet FTP SMTP SNMP NFS Presentation XDR Session RPC Transport TCP e UDP Network IP ICMP Protocolli di routing Arp e Rarp Data Link Non Specificati Physical OSI Internet Protocol Suite G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

Transport Layer in TCP/IP Fornisce un flusso di dati tra due host da passare allo strato Application TCP/IP prevede due protocolli di trasporto TCP (Transmission Control Protocol) garantisce un flusso affidabile di dati tra due host spezzetta i dati in segmenti della taglia appropriata gestisce acknowledgement dei segmenti controllo del flusso UDP (User Datagram Protocol) spedisce datagram tra i due host G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

TCP e UDP: Porte Diverse applicazioni possono usare lo stesso trasporto allo stesso istante sullo stesso host. TCP e UDP identificano le applicazioni mediante numeri di porta a 16 bit. Sistemi UNIX hanno il concetto di porta riservata porte con numero da 1 a 1023 possono essere usate solo da processi con privilegi di superuser G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

TCP e UDP: demultiplexing Appl. 1 porta 24561 Appl. 2 porta 21345 Appl. 3 porta 26890 Trasporto Network G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

TCP e UDP: Porte L'assegnazione della porta di protocollo ad un processo da parte del sistema operativo avviene sotto richiesta del processo stesso. Come si assegna una porta di protocollo ad un processo? Esistono due metodologie fondamentali: Assegnazione statica; Assegnazione dinamica (portmapper). G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

Modello Client Server (informale) Due attori: client e server Server: fornisce un servizio Web server rende disponibile pagine html ed altri servizi. Applicazione server si lega ad una porta locale ed attende richieste di servizio dal client. Client: richiede un servizio dal server Web browser richiede una pagina html al web server. Applicazione client si lega ad una porta locale ed invia una richiesta al server. G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

Dove è il server? Il client deve conoscere l’indirizzo applicativo del server per potersi connettere: Indirizzo IP dell’host su cui gira l’applicazione server. Porta a cui è legata l’applicazione server. Il server non ha bisogno di conoscere l’indirizzo del client: Quando questi si connetterà, il server conoscerà l’indirizzo del client. G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

Localizzazione del server La parte server di applicazioni C/S di larga diffusione si legano sempre alla stessa porta chiamata la well-known port dell’applicazione. Ad esempio: server web (Apache, MSIS) si legano alla porta 80 di TCP (protocollo HTTP) server telnet (telnetd) è associato alla porta 23 di TCP (protocollo telnet) Server per gestione posta (sendmail) utilizza la porta 25 di TCP (protocollo SMTP) G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: User Datagram Protocol (RFC 768) Protocollo di trasporto di tipo non connesso Aggiunge due funzionalità a quelle di IP: multiplexing delle informazioni tra le varie applicazioni tramite il concetto di porta checksum (opzionale) per verificare l’integrità dei dati Ogni operazione di output di un’applicazione che utilizza UDP come trasport produce esattamente un datagram UDP G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: Header 4 8 16 19 24 31 UDP Source Port UDP Destination Port 4 8 16 19 24 31 UDP Source Port UDP Destination Port UDP Message Length UDP Checksum DATA G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: PDU Porta di provenienza UDP: Porta di destinazione UDP: è un campo di 16 bit che contiene il numero di porta di protocollo del processo mittente, è facoltativa. Viene usata per comunicare al processo destinazione il numero di porta a cui dovrebbe spedire eventuali risposte. Porta di destinazione UDP: è un campo il cui contenuto è analogo al precedente, ma riferito alla destinazione. Infatti contiene il numero di porta di protocollo del processo destinazione. G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: PDU Lunghezza del messaggio: Checksum: Contiene il numero totale di ottetti (parole di 8 bit) del datagramma UDP. In esso saranno contenuti dei valori positivi superiori o uguali ad 8, che rappresenta il valore minimo ammissibile (datagramma formato dalla sola intestazione). Checksum: Campo facoltativo di 16 bit E’ calcolato come funzione dell’header UDP, dati UDP e pseudo-header UDP (parte dell’header TCP) G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: PDU Per calcolare il valore da inserire nel campo Checksum, il software crea una pseudo-intestazione composta dai seguenti campi: G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: PDU G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: Caratteristiche User Datagram Protocol (UDP) fornisce un servizio di recapito dei datagrammi connectionless ed inaffidabile, usando l'IP per trasportare messaggi da una macchina ad un'altra; E' simile all'IP, ma il messaggio UDP contiene sia il numero di porta di destinazione che quello di origine, rendendo possibile al software UDP di destinazione di recapitare il messaggio al corretto ricevente (programma od utente), ed a quest'ultimo di inviare una replica. G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: Caratteristiche L'inaffidabilità è quella propria dell'IP, in quanto l'UDP non prevede nessun protocollo per il controllo dell'errore: non usa acknowledgement per assicurare al mittente che i messaggi siano arrivati, Non dispone le sequenze di datagrammi in ordine e non fornisce una retroazione per il controllo del rate del flusso di informazioni tra macchine. I messaggi UDP possono essere persi, duplicati oppure arrivare fuori ordine; inoltre i datagrammi possono arrivare più velocemente di quanto il ricevente sia in grado di processarli. G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: applicabilità Utile quando: si opera su rete locale l’applicazione mette tutti i dati in un singolo pacchetto non è importante che tutti i pacchetti arrivino a destinazione l’applicazione gestisce meccanismi di ritrasmissione G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

UDP: applicazioni Le applicazioni principali che utilizzano UDP sono: NFS (Network File System) Talk Applicazioni Runix rwho ruptime ... G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

Frammentazione IP Ogni interfaccia ha un MTU (Maximum Transferable Unit) associata che definisce la grandezza massima di un frame. Esempio: frame ethernet <= 1500byte di dati 20 byte header IP 8 byte header UDP 1472 byte di dati Datagrammi IP che eccedono la MTU devono essere frammentati. G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

Frammentazione IP Identification flag fragment offset total length viene copiato in ciascun frammento flag more fragment=1 per tutti i frammenti tranne l’ultimo don’t fragment=1 il datagramma non deve essere frammentato fragment offset contiene offset del frammento relativamente all’inizio del datagramma originario total length modificato per riflettere la nuova lunghezza G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper

ICMP Unreachable Error (Fragmentation Required) Se per un datagram con flag DF settato è necessaria la frammentazione viene generato un errore unreachable type 3 code 4 contiene MTU della rete del next hop Path MTU può essere scoperta anche con traceroute G. Persiano -- Dipartimento di Informatica ed Appl. Università di Salerno -- http://www.unisa.it/~giuper