PARTE 5 LIVELLO TRASPORTO. - Protocolli UDP e TCP. Parte 5. Modulo 1: Servizi del livello trasporto

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PARTE 5 LIVELLO TRASPORTO. - Protocolli UDP e TCP. Parte 5. Modulo 1: Servizi del livello trasporto"

Transcript

1 PARTE 5 LIVELLO TRASPORTO - Protocolli UDP e TCP Parte 5 Modulo 1: Servizi del livello trasporto 1

2 Livello 4 (transport) Il livello trasporto estende il servizio di consegna con impegno proprio del protocollo IP tra due host terminali ad un servizio di consegna a due processi applicativi in esecuzione sugli host Se IP è il protocollo di rete, TCP sarà il protocollo di trasporto? NO! TCP è solo un componente del livello di trasporto della suite TCP/IP L altro componente è costituita dal protocollo UDP (User Datagram Protocol) Imoianti di Elaborazione 2003/ Livello 4 (transport) Il livello transport estende il servizio di consegna con impegno proprio del protocollo IP tra due host terminali ad un servizio di consegna a due processi applicativi in esecuzione sugli host Servizi aggiuntivi rispetto a IP multiplazione e demultiplazione messaggi tra processi rilevamento dell errore (mediante checksum) Esempi di protocolli transport UDP (User Datagram Protocol) TCP (Transmission Control Protocol): offre servizi aggiuntivi rispetto a UDP Imoianti di Elaborazione 2003/

3 Livelli dello stack TCP/IP Applicazioni Processo Processo Sistema operativo TCP UDP IP Spesso hardware Host-tonetwork Imoianti di Elaborazione 2003/ Servizi del livello di trasporto Servizi comuni a UDP e TCP: Estensione del servizio di consegna del protocollo IP tra due nodi terminali ad un servizio di consegna a due processi applicativi in esecuzione sui nodi terminali - multiplazione e demultiplazione - rilevamento dell errore (non correzione!) Servizi aggiuntivi di TCP: Trasferimento affidabile dei dati controllo di flusso, numeri di sequenza, acknowledgement e timer Controllo di congestione regola il tasso di invio dei segmenti da parte del mittente Imoianti di Elaborazione 2003/

4 Parte 5 Modulo 2: Multiplazione e demultiplazione Caratteristiche protocollo UDP User Data Protocol (UDP), definito in [RFC 768], è un protocollo di trasporto leggero, ovvero dotato delle funzionalità minime del trasporto: 1. Servizio di multiplazione/demultiplazione UDP aggiunge al messaggio proveniente dal livello applicativo il numero di porta del mittente e del destinatario 2. Controllo di errore UDP include nell header un campo di checksum Imoianti di Elaborazione 2003/

5 Ulteriori caratteristiche di UDP 3. Servizio di consegna con impegno (best effort) i segmenti UDP possono essere persi, duplicati, consegnati senza ordine 4. Servizio senza connessione non vi è handshaking tra mittente e destinatario del segmento UDP ogni segmento UDP è trattato in modo indipendente dagli altri Imoianti di Elaborazione 2003/ Multiplazione e demultiplazione Il protocollo IP non consegna i dati tra processi applicativi in esecuzione sui nodi terminali (un indirizzo IP per identificare ogni nodo terminale) compito del protocollo di trasporto Ogni segmento dello strato di trasporto possiede un campo contenente l informazione usata per determinare a quale processo deve essere consegnato il segmento demultiplazione La demultiplazione avviene dal lato del nodo destinatario Creazione dei segmenti provenienti dai messaggi di diversi processi applicativi multiplazione La multiplazione avviene dal lato del nodo mittente Imoianti di Elaborazione 2003/

6 Esempio destinatario segment header application-layer data segment Ht M Hn segment P1 M application transport network P3 M M application transport network P4 M P2 application transport network Imoianti di Elaborazione 2003/ Multiplazione e demultiplazione (cont.) UDP e TCP attuano la multiplazione/demultiplazione includendo due campi speciali nell header del segmento: il numero di porta del mittente il numero di porta del destinatario Permettono di identificare in modo univoco i due processi applicativi, residenti su due nodi terminali e comunicanti tra loro. Imoianti di Elaborazione 2003/

7 Multiplazione e demultiplazione (cont.) Numero di porta: numero di 16 bit compreso tra 0 e Numeri di porta noti (well-known ports, assigned numbers in [RFC 1700]): tra 0 e 1023 riservati per protocolli applicativi noti (ad es. HTTP e FTP) - HTTP: numero di porta 80 - Telnet: numero di porta 23 - SMTP: numero di porta 25 - DNS: numero di porta 53 Quando si realizza un nuovo servizio di rete è necessario assegnargli un nuovo numero di porta Occorre sia il numero di porta del mittente che quello del destinatario per distinguere processi dello stesso tipo ed in esecuzione negli stessi istanti Imoianti di Elaborazione 2003/ Assegnazione dei numeri di porta Modello client/server 1. 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) 2. Numero di porta del mittente nel segmento inviato dal client al server corrisponde ad un numero di porta scelto tra quelli non in uso sul client 3. Numero di porta del mittente nel segmento inviato dal server al client corrisponde al numero di porta del servizio richiesto (ad es., 80 per HTTP) 4. Numero di porta del destinatario nel segmento inviato dal server al client corrisponde al numero di porta indicato dal client nel messaggio precedentemente inviato Imoianti di Elaborazione 2003/

8 Esempio: telnet Uso dei numeri di porta in un applicazione client/server (es. Telnet, con numero di porta 23): Imoianti di Elaborazione 2003/ Indirizzo IP e numero di porta Due client, residenti su host diversi e che usano lo stesso numero di porta per comunicare con la stesso servizio applicativo, sono distinti in base al loro indirizzo IP: Imoianti di Elaborazione 2003/

9 Esempi host A source port: x dest. port: 23 server B Web client host C source port:23 dest. port: x porta: simple telnet app Source IP: C Dest IP: B source port: y dest. port: 80 Source IP: C Dest IP: B source port: x dest. port: 80 Web client host A Source IP: A Dest IP: B source port: x dest. port: 80 Web server B porta: Web server Imoianti di Elaborazione 2003/ Indirizzi A livello network (IP) Indirizzo IP A livello trasporto (indirizzo IP, numero porta) Imoianti di Elaborazione 2003/

10 Parte 5 Modulo 3: Protocollo UDP Segmento UDP Segmento UDP (o user datagram) incapsulato in un datagramma IP Header UDP Dati UDP Header IP Dati IP Segmento UDP numero porta mittente lunghezza 32 bit numero porta destinatario checksum dati dell applicazione (messaggio) Imoianti di Elaborazione 2003/

11 Campi del segmento UDP numero di porta del mittente (16 bit) numero di porta del destinatario (16 bit) lunghezza (16 bit): dimensione in byte del segmento lunghezza = header + dati header: dimensione pari a 8 byte checksum non è detto che tutti i link forniscano un servizio di livello 2 per rilevare errori checksum a livello IP limitato all header del datagram IP non c è recupero dell errore (in alcune implementazioni il segmento viene scartato, in altre viene consegnato all applicazione segnalando l errore) dati: contiene il messaggio fornito dal livello applicativo Imoianti di Elaborazione 2003/ Checksum UDP Scopo: individuare errori (es., bit modificati) nel segmento trasmesso Mittente Tratta i contenuti del segmento come sequenza di interi a 16 bit Checksum= somma dei contenuti dei segmenti con complemento a 1 Il mittente invia il valore del checksum nel campo checksum del segmento UDP Destinatario Calcola il checksum del segmento ricevuto Controlla se il valore del checksum calcolato è uguale al valore del campo checksum: NO errore SI non si individua errore. Ci può essere lo stesso un errore?. Imoianti di Elaborazione 2003/

12 Checksum UDP Calcolato usando un maggior numero di informazioni di quelle presenti nel header UDP definizione di uno pseudo-header UDP 32 bit indirizzo IP mittente indirizzo IP destinatario zero padding protocollo lunghezza UDP zero padding: dimensione dello pseudo-header (multiplo di 32 bit) protocollo: campo protocollo del datagram IP pseudo-header anteposto al segmento UDP checksum calcolato su pseudo-header e intero segmento UDP lo pseudo-header non è trasmesso dal mittente Imoianti di Elaborazione 2003/ Checksum UDP Calcolato usando il complemento ad 1 della somma di tutti i campi dello pseudo-header e del segmento UDP Esempio 3 parole da 16 bit l una Somma delle 3 parole complemento ad 1di campo checksum nel segmento UDP trasmesso = il destinatario calcola il suo checksum su pseudo-header e segmento UDP ricevuto (senza calcolare il complemento a 1) checksum dest. + checksum UDP = no errore checksum dest. + checksum UDP errore Imoianti di Elaborazione 2003/

13 Parte 5 Modulo 4: Protocollo TCP - caratteristiche Livello 4 (transport) [ TCP ] Protocollo che fornisce un livello di trasporto affidabile e orientato alla connessione Servizi aggiuntivi rispetto a UDP orientato alla connessione: comprende l instaurazione, l utilizzo e la chiusura della connessione orientato al flusso di dati: considera il flusso di dati dall host mittente fino al destinatario ( considera sia rete sia host terminali) trasferimento con buffer: i dati sono memorizzati in un buffer e poi inseriti in un pacchetto quando il buffer è pieno connessione full duplex (bi-direzionale): una volta instaurata una connessione, è possibile il trasferimento contemporaneo in entrambe le direzioni della connessione Imoianti di Elaborazione 2003/

14 TCP Transmission Control Protocol RFC: 793, 1122, 1323, 2018, 2581 Offre un livello di trasporto affidabile e orientato alla connessione su canale inaffidabile socket door applicazione scrive dati TCP send buffer segmento applicazione legge dati TCP receive buffer socket door Imoianti di Elaborazione 2003/ Attributi di TCP [RFC 793] Protocollo che fornisce un livello di trasporto dell informazione affidabile 1. Orientato alle connessioni 2. Affidabile 3. Trasmissione con buffer 4. Trasmissione byte-stream 5. Connessione full-duplex Imoianti di Elaborazione 2003/

15 1. Orientato alle connessioni Connection oriented significa che una connessione tra host viene stabilita prima del trasferimento di qualunque dato tra le applicazioni (e quindi in modo trasparente) e viene chiusa dopo il completamento del trasferimento dati Instaurazione Utilizzo Chiusura L applicazione di rete viene avvisata se: non si riesce a stabilire la connessione la connessione viene interrotta Imoianti di Elaborazione 2003/ Affidabile Affidabile significa che TCP gestisce un trasferimento ordinato di uno stream di dati: Ogni trasmissione (andata a buon fine) viene notificata (acknowledged) dal processo ricevente Le eventuali perdite sono gestite con ritrasmissione Se il processo mittente non riceve un acknowledgement entro un intervallo di tempo predefinito (time-out), il mittente ritrasmette i dati Imoianti di Elaborazione 2003/

16 3.a Trasmissione con buffer Il protocollo TCP è responsabile della gestione del buffering dei dati e di determinare quando è tempo di inviare un insieme di dati Tipicamente i dati sono memorizzati in un buffer e poi inseriti in un pacchetto quando il buffer è pieno Un applicazione può anche specificare al protocollo TCP di inviare i dati che ha nel buffer, senza aspettare che il buffer sia pieno Scelte a livello TCP congestion control l host mittente deve diminuire il tasso di trasmissione dei pacchetti quando la rete è congestionata flow control l host mittente non deve sovraccaricare l host ricevente Imoianti di Elaborazione 2003/ Trasferimento con buffer: 3.b Uso del buffer 1) Dati inseriti temporaneamente in un buffer del mittente e poi inseriti in un segmento TCP quando il buffer è pieno Maximum Segment Size (MSS): dipende dall implementazione TCP (es., 1460 bye, 536 byte, 512 byte) 2) Il segmento viene poi inserito nel buffer del destinatario Imoianti di Elaborazione 2003/

17 4. Trasmissione byte stream Byte stream significa che la connessione viene trattata come un flusso di byte dal mittente al destinatario Ovvero, l applicazione utente non deve impacchettare i dati in datagrammi individuali (come nel caso del protocollo UDP, che si vedrà in seguito) Imoianti di Elaborazione 2003/ Connessioni full duplex TCP può effettuare trasferimenti contemporanei in entrambe le direzioni della connessione, nell ambito della stessa sessione Full duplex Half duplex Ai programmi applicativi, questi trasferimenti appaiono come due data stream non correlati Tuttavia, tutte le ultime versioni del TCP consentono di sovrapporre (piggybacking) comunicazioni di dati e comunicazioni di controllo, fornendo informazioni di controllo (tipo un ACK) insieme ai dati utente Imoianti di Elaborazione 2003/

18 Parte 5 Modulo 5: Protocollo TCP - funzionamento Protocollo TCP: funzionamento Il trasferimento dati tra host end-to-end avviene in 3 fasi: 1. Handshaking: fase di setup (con trasferimento di 3 segmenti) in cui ci si prepara al trasferimento dei dati Si deve arrivare ad uno stato di setup riconosciuto da parte di entrambi gli host che devono comunicare 2. Trasmissione: fase di trasmissione di uno o più segmenti 3. Chiusura connessione Altre caratteristiche Servizi di multiplazione/demultiplazione, rilevamento dell errore (non correzione!) Connessione punto-punto (unico mittente, unico destinatario): il multicast non è possibile con TCP! Imoianti di Elaborazione 2003/

19 Affidabilità del protocollo TCP Affidabilità: uso della tecnica di acknowledgement positivo con ritrasmissione il destinatario, quando riceve i dati, invia un acknowledgement (ACK) al mittente, che attende di ricevere un ACK prima di inviare il pacchetto successivo Invia pacchetto 1 Riceve ACK 1 Invia pacchetto 2 Riceve ACK 2 Mittente Destinatario Riceve pacchetto 1 Invia ACK 1 Riceve pacchetto 2 Invia ACK 2 tempo Imoianti di Elaborazione 2003/ Affidabilità del protocollo TCP (2) Affidabilità: uso della tecnica di acknowledgement positivo con timeout e ritrasmissione se il mittente non ha ricevuto ACK di un pacchetto dopo un certo periodo (timeout), ritrasmette il pacchetto Mittente Invia pacchetto 1 ACK 1 dovrebbe essere ricevuto Timeout Invia pacchetto 1 Riceve ACK 1 Destinatario Pacchetto 1 perso Pacchetto 1 dovrebbe essere arrivato ACK 1 dovrebbe essere inviato Riceve pacchetto 1 Invia ACK 1 tempo Imoianti di Elaborazione 2003/

20 Affidabilità ed efficienza Poiché l ack positivo (singolo) con ritrasmissione e timeout causa perdita di banda della rete (l invio di un nuovo pacchetto è ritardato fino a che non è stato ricevuto ack del pacchetto precedente) si utilizza una finestra scorrevole, che si muove man mano che dal mittente viene ricevuto l ack (eventualmente multiplo) dei pacchetti già inviati Finestra scorrevole Scorrimento della finestra Imoianti di Elaborazione 2003/ Parte 5 Modulo 6: Protocollo TCP - segmento 20

21 Segmento TCP L insieme di dati che il livello TCP chiede di trasferire al livello IP è detto segmento TCP Ogni segmento contiene: Byte dati del byte stream Informazioni di controllo per identificare i byte dati In generale, l indirizzo della suite TCP/IP include: Internet Address Protocollo (UDP o TCP) Numero di porta della socket Imoianti di Elaborazione 2003/ Formato del segmento TCP SOURCE PORT DESTINATION PORT SEQUENCE NUMBER ACKNOWLEDGEMENT NUMBER HLEN RESERVED CODE BIT WINDOW CHECKSUM TCP OPTIONS URGENT POINT PADDING DATA... Imoianti di Elaborazione 2003/

22 Campi del segmento TCP I campi del segmento TCP sono: source port (16 bit): numero di porta del mittente destination port (16 bit): numero di porta del destinatario sequence number (32 bit): numero di sequenza all interno della finestra scorrevole acknowledgement number (32 bit): ACK relativo ad un numero di sequenza (piggybacking) hlen (4 bit): lunghezza dell header TCP (in multipli di 32 bit) se non vi sono opzioni hlen = 20 byte reserved (4 bit): per usi futuri Imoianti di Elaborazione 2003/ Campi del segmento TCP (cont.) code bit (6 bit): scopo e contenuto del segmento URG (urgent): dati segnati come urgenti dal livello applicativo ACK (acknowledgement): valore del campo acknowledgement è valido PSH (push): il destinatario deve passare i dati all applicazione immediatamente SYN (synchronize), FIN, RST (reset): usati per instaurazione, chiusura e interruzione della connessione window (16 bit): dimensione della finestra indica il numero di bit che il destinatario è disposto ad accettare checksum (16 bit): controllo integrità dei dati trasportati nel segmento urgent point (16 bit): puntatore al termine dei dati urgenti TCP options: campo opzionale di lunghezza variabile (es., MSS) zero padding: per header con lunghezza multipla di 32 bit (se opzioni) data: messaggio fornito dal livello applicativo Imoianti di Elaborazione 2003/

23 Checksum TCP Utilizzato per rilevazione errori nei dati trasportati: calcolato usando un maggior numero di informazioni di quelle presenti nell header TCP (vi sono anche informazioni IP) definizione di uno pseudo-header TCP 32 bit indirizzo IP mittente indirizzo IP destinatario zero padding protocollo lunghezza TCP zero padding: dimensione dello pseudo-header, multiplo di 32 bit protocollo: campo protocollo del datagram IP pseudo-header anteposto al segmento TCP checksum calcolato su pseudo-header e intero segmento TCP lo pseudo-header non è trasmesso dal mittente Imoianti di Elaborazione 2003/ Parte 5 Modulo 7: Protocollo TCP creazione della connessione 23

24 Instaurazione di una connessione Nel TCP il mittente ed il destinatario, prima di iniziare il trasferimento dei segmenti di dati, instaurano la connessione inizializzazione delle variabili del TCP numeri di sequenza buffer, con informazioni per il controllo del flusso (ampiezza della finestra del destinatario) modello client/server client: inizia la connessione server: contattato dal client Imoianti di Elaborazione 2003/ Instaurazione di una connessione (2) Quando un client richiede una connessione, invia un segmento TCP speciale, detto SYN segment (SYN sta per synchronize) al server Il client deve conoscere a chi spedire la richiesta, per cui nel segmento deve specificare: La porta del server? L indirizzo IP? SI NO Per accettare la connessione, il server deve essere già in attesa di ricevere connessioni Imoianti di Elaborazione 2003/

25 Instaurazione di una connessione (3) Il segmento SYN del client (mittente) include: Initial Sequence Number (ISN) del client: un numero pseudo-casuale Maximum Receive Window (MRW) del client: il massimo numero di byte che il client è in grado di ricevere Maximum Segment Size (MSS): la massima dimensione del segmento (informazione non sempre inviata) NON HA payload (dati del messaggio), ma solo il TCP header! Imoianti di Elaborazione 2003/ Instaurazione di una connessione (4) Il segmento SYN del server (destinatario) include: Initial Sequence Number (ISN) del server: un numero pseudo-casuale ACK del server: client_isn+1 Maximum Receive Window (MRW) del server Maximum Segment Size (MSS): la massima dimensione del segmento (informazione non sempre inviata) NON HA payload (dati del messaggio), ma solo il TCP header! Imoianti di Elaborazione 2003/

26 Instaurazione di una connessione (Three-way handshaking) Il client invia al server un segmento di controllo con SYN=1, e specifica nello stesso segmento di controllo il proprio numero di sequenza (client_isn) Il server riceve il segmento del client con SYN=1 Se accetta, il server invia un segmento di controllo con SYN=1, ACK=client_isn+1, ed il proprio numero di sequenza (server_isn) Il client segnala la definitiva apertura della connessione inviando un segmento di controllo con SYN=0, ACK=server_isn+1, e numero di sequenza client_isn +1 Imoianti di Elaborazione 2003/ Three-way handshaking Client: Hy server, voglio parlare con te, e comincerò con il byte che indicherò con il numero X Server: OK, sono disponibile a parlare. Il mio primo byte sarà indicato con il numero Y e so che il tuo primo byte sarà indicato con X Client: D accordo, so che il tuo primo byte sarà indicato con il numero Y Imoianti di Elaborazione 2003/

27 Parte 5 Modulo 8: Protocollo TCP trasmissione Numeri di sequenza e acknowledgment Numero di sequenza per un segmento TCP è dato da: - primo random, poi offset del primo byte del flusso dati inviati dal mittente Esempio: Si supponga di trasferire un file di byte, con MSS=1000 byte. I numeri sequenza saranno: X, X+1000, X+2000, #seq segmento 1 #seq segmento 2 data for 500th segment Il numero iniziale di sequenza è scelto casualmente con l obiettivo di minimizzare la probabilità che sia presente un segmento identificato con lo stesso numero appartenente ad una connessione precedente con identici numeri di porta Imoianti di Elaborazione 2003/

28 Numeri sequenza e acknowledgment (2) Il numero di acknowledgment per un segmento TCP: TCP è full duplex: A può ricevere dati da B mentre sta inviando dati a B sulla stessa connessione Segmento da B a A: Esempi - numero di sequenza: numero sequenziale del byte del flusso dati - numero di acknowledgment: numero di sequenza del successivo byte che A si aspetta di ricevere da B (tutti i byte precedenti sono stati ricevuti (acknowledgement incrementale) A ha ricevuto da B i segmenti da 0 a 999 byte e da 1000 a 1999 byte, per cui il numero di acknowledgment nel segmento da A a B: 2000 A ha ricevuto da B i segmenti da 0 a 999 byte e da 2000 a 2999 byte, per cui il numero di acknowledgment nel segmento da A a B: 1000 Imoianti di Elaborazione 2003/ Esempio Esempio numeri di sequenza ed acknowledgement (Telnet) invia un carattere C a eco del carattere inviato a numeri iniziali di sequenza: 42 per e 79 per Doppio scopo: - avvisa l host che ha ricevuto tutti i byte fino a 42 - trasmette un dato Scopo unico: - avvisa l host che ha ricevuto tutti i byte fino a 43 - il campo dati è vuoto Imoianti di Elaborazione 2003/

29 Parte 5 Modulo 9: Protocollo TCP chiusura della connessione Chiusura (polite) della connessione Il client invia un segmento di controllo con FIN=1 al server Il server riceve FIN, invia ACK Il server chiude la connessione lato client-server ed invia FIN=1 al client close client FIN server Il client riceve il segmento con FIN=1 ed invia ACK Il server riceve ACK ACK FIN closing Il client attende il timeout dell ACK inviato; allo scadere anche la connessione lato server-client viene chiusa closed timed wait ACK closed Imoianti di Elaborazione 2003/

30 Chiusura (polite) della connessione (2) Dopo che la connessione TCP è stata chiusa (ovvero è stato inviato l ultimo ACL dal client), ci potrebbe essere ancora qualcosa da fare. Per esempio: Se l ultimo ACK si perde? L ultimo segmento FIN verrà inviato nuovamente, e dovrà essere notificato con un ACK. Se segmenti persi o duplicati dovessero raggungere la destinazione dopo un lungo ritardo? Pertanto, il client TCP attende per un tempo TIME_WAIT prima di chiudere definitivamente la connessione proprio per poter gestire queste situazioni anomale. Imoianti di Elaborazione 2003/ Chiusura (reset) della connessione Reset della connessione In condizioni normali, la connessione viene chiusa tramite lo scambio di segmenti di controllo FIN e ACK, visto in precedenza Talvolta, si verificano condizioni anormali che forzano l applicazione ad interrompere la connessione TCP fornisce un meccanismo per il reset Il nodo (client o server) che decide il reset pone il campo del segmento RST=1 L altro nodo chiude immediatamente la connessione Le risorse utilizzate dalla connessione sono rilasciate client server closing RST closed Imoianti di Elaborazione 2003/

31 Ciclo di vita delle connessioni TCP Ciclo di vita del client TCP Ciclo di vita del server TCP Imoianti di Elaborazione 2003/ Scenari di ritrasmissione Ritrasmissione causata dalla perdita dell ACK Host A Host B Ritrasmissione causata dalla perdita del segmento Host A Host B Seq=92, 8 bytes data timeout X perdita ACK=100 Seq=92, 8 bytes data Seq=92, 8 bytes data timeout X perdita Seq=92, 8 bytes data ACK=100 ACK=100 time In entrambi i casi, l ack=100 non arriva. Nel primo caso, c è una duplicazione. Imoianti di Elaborazione 2003/

32 Scenari di ritrasmissione (causati da timeout) Host A Host B Host A Host B Seq=100 timeout Seq=92 timeout Seq=92, 8 bytes data Seq=100, 20 bytes data ACK=100 ACK=120 Seq=92, 8 bytes data Seq=100 timeout Seq=92 timeout Seq=92, 8 bytes data Seq=100, 20 bytes data ACK=100 ACK=120 Seq=92 timeout ACK=120 Caso molto particolare in cui ack=100 non arriva entro il timeout prestabilito, L ack=100 arriva, ma oltre il timeout prestabilito. mentre ack=120 arriva addirittura entro il L host A deve rinviare il segmento. Doppia timeout del segmento 92. duplicazione: segmento a host B, ack=120 a host A NON C E RITRASMISSIONE! Perché? Imoianti di Elaborazione 2003/ Parte 5 Modulo 8: Protocollo TCP - controlli 32

33 Buffering Il TCP fa parte del Sistema Operativo, non del livello applicativo che gestisce l invio e la ricezione dei dati Deve tener conto di tutti i dettagli in modo asincrono: il livello TCP non sa quando l applicazione chiederà di prendere i dati arrivati L unica possibilità è inserire temporaneamente i dati ricevuti in un buffer, in modo da poterli trasmettere al livello applicativo quando gli vengono richiesti, e viceversa Imoianti di Elaborazione 2003/ Controllo di flusso Obiettivo: il mittente non deve riempire il buffer del destinatario inviando una quantità eccessiva di dati ad un tasso di trasmissione troppo elevato Il destinatario informa esplicitamente il mittente della quantità di spazio libero nel buffer ricezione TCP. La dimensione della finestra nel segmento TCP varia dinamicamente per cui ogni segmento ACK include il numero massimo di byte ricevibili Window ricezione Dati provenienti dal livello IP Dati TCP nel buffer Dati verso il livello applicazione Buffer in ricezione del livello TCP IP TCP Appl. Imoianti di Elaborazione 2003/

34 Round Trip Time e Timeout Come stabilire il valore del timeout in trasmissioni TCP? Timeout troppo breve: si effettuano ritrasmissioni non necessarie Timeout troppo lungo: reazione lenta alla perdita di segmenti Timeout deve essere maggiore del Round Trip Time (RTT) Segmento TCP RTT ACK Il problema è che il RTT varia dinamicamente sulla base delle condizioni della rete Imoianti di Elaborazione 2003/ Scelta del Timeout Come stimare il valore del RTT? SampleRTT: misura del tempo trascorso dalla trasmissione del segmento alla ricezione del suo ACK - Ignora ritrasmissioni, segmenti con ack cumulativi - SampleRTT varia dinamicamente usare media pesata EstimatedRTT: media pesata per stimare RTT EstimatedRTT(t) = (1-x)*EstimatedRTT(t-1) + x*samplertt(t) Exponential Weighted Moving Average (EWMA) L influenza dei campioni passati diminuisce in modo esponenziale Valore tipici di x compresi tra 0 e 1 Imoianti di Elaborazione 2003/

35 Scelta del Timeout (2) Scelta del timeout: Valore del RTT stimato più un margine di errore Timeout(t) = EstimatedRTT(t) + 4*Deviation(t) dove: Deviation(t) = (1-x)*Deviation(t-1) + x*abs(samplertt(t)-estimatedrtt(t)) Imoianti di Elaborazione 2003/ Controllo della congestione Congestione (def.): Informalmente: un numero elevato di sorgenti inviano contemporaneamente troppi dati generando un traffico che la rete (Internet) non è in grado di gestire Congestione controllo del flusso! Effetti della congestione: perdita di pacchetti (overflow dei buffer nei router) lunghi ritardi (tempi di attesa nei buffer dei router) Imoianti di Elaborazione 2003/

36 Approcci per il controllo congestione Controllo di congestione end-to-end il livello di rete non fornisce un supporto esplicito al livello di trasporto la situazione di congestione è determinata analizzando le perdite di pacchetti ed i ritardi nei nodi terminali approccio utilizzato dal TCP Controllo di congestione assistito dalla rete i router forniscono un feedback esplicito ai nodi terminali riguardante lo stato di congestione nella rete misura della congestione nei router: lunghezza della coda dei buffer singolo bit che indica la congestione di un link (es., controllo di congestione in reti ATM ABR) feedback diretto oppure aggiornando un campo del pacchetto che viaggia tra i nodi terminali Imoianti di Elaborazione 2003/ Controllo della congestione nel TCP Congestione end-to-end - nessuna informazione proveniente dalla rete Timeout e ritrasmissione contribuiscono ad aumentare la congestione - collasso della congestione TCP riduce il tasso di trasmissione in caso di congestione - congwin: dimensione della finestra di congestione - recwin: dimensione della finestra di ricezione window size = min(recwin, congwin) Imoianti di Elaborazione 2003/

37 Controllo della congestione nel TCP (2) Misura delle prestazioni di una connessione TCP: - Throughput (tasso di trasmissione) throughput = w * MSS RTT Bytes/sec w = numero di segmenti nella finestra MSS = dimensione massima del segmento RTT = Round Trip Time Valutazione della banda disponibile: idealmente: trasmettere il più velocemente possibile senza perdita di segmenti (valore massimo di congwin) incrementare congwin il più possibile, finché non si verifica un episodio di congestione diminuire congwin, ricominciando poi a incrementarla nuovamente Imoianti di Elaborazione 2003/ Controllo della congestione nel TCP (3) Tecniche per il controllo della congestione nel TCP Evitare la congestione (congestion avoidance) stato stazionario (non di congestione): la dimensione della finestra è pari a quella indicata dal ricevente (per il controllo di flusso) stato di congestione: riduzione della dimensione della finestra Slow-start all inizio dell utilizzo di una nuova connessione o in seguito a congestione di una connessione la dimensione della finestra è pari a 1 incremento progressivo (esponenziale) della dimensione della finestra threshold: valore della dimensione della finestra, raggiunto il quale la fase di incremento esponenziale termina e si raggiunge lo stato stazionario di incremento lineare Imoianti di Elaborazione 2003/

38 Slow start del TCP Slow start Algoritmo di slow-start Host A Host B Inizializza: congwin = 1 for (ogni segmento ACK) congwin=congwin*2 until ((timeout OR (congwin > threshold)) RTT un segmento due segmenti quattro segmenti log 2 N RTT prima di usare finestra di dimensione N aumento esponenziale time Imoianti di Elaborazione 2003/ Slow start (2) Evitare la congestione (algoritmo dell incremento additivo e decremento moltiplicativo): si incrementa esponenzialmente fino a threshold, e poi si incrementa di 1 Evitare la congestione /* slow-start terminato */ /* congwin > threshold */ if not(perdita) { ogni w segmenti ACK: congwin++ } else { threshold = congwin/2; congwin = 1; esegui slow-start } Imoianti di Elaborazione 2003/

39 Parte 5 Modulo 9: UDP vs. TCP Perché usare UDP anziché TCP Non c è instaurazione della connessione TCP usa un meccanismo di three-way handshaking prima di iniziare il trasferimento dei dati UDP non introduce un ritardo per instaurare la connessione Non c è stato di connessione TCP mantiene lo stato della connessione tra i nodi terminali (buffer di invio/ricezione, parametri per il controllo della congestione, numeri di sequenza ed acknowledgment) un server può supportare un maggior numero di connessioni attive se usa UDP piuttosto che TCP Imoianti di Elaborazione 2003/

40 Perché usare UDP anziché TCP (cont.) Overhead minore dovuto all header del segmento più piccolo segmento TCP: 20 byte segmento UDP: 8 byte Flusso di invio non regolato il controllo di congestione del TCP può avere un forte impatto (negativo) sulle applicazioni di rete in real-time Imoianti di Elaborazione 2003/ Quando si può usare UDP Si opera su rete locale L applicazione mette tutti i dati in un singolo pacchetto Non è importante che tutti i pacchetti arrivino a destinazione (es., alcune applicazioni multimediali) L applicazione gestisce meccanismi di ritrasmissione Imoianti di Elaborazione 2003/

41 Applicazioni e protocollo trasporto Applicazione Prot. strato applicativo Prot. trasporto sottostante posta elettronica SMTP TCP accesso terminale remoto Telnet TCP Web HTTP TCP trasferimento file FTP TCP file server remote NFS solitamente UDP multimedia streaming proprietario solitamente UDP Telefonia Internet proprietario solitamente UDP Gestione della rete SNMP solitamente UDP Protocollo di routing RIP solitamente UDP Traduzione dei nomi DNS solitamente UDP Imoianti di Elaborazione 2003/ Applicazioni e protocollo trasporto 1) Posta elettronica, accesso da terminale remoto, Web, trasferimento di file TCP Necessario il servizio di trasferimento dati affidabile fornito da TCP 2) Aggiornamento tabelle di routing in RIP UDP Aggiornamenti periodici delle tabelle eventuali informazioni perse sostituite da informazioni più aggiornate Imoianti di Elaborazione 2003/

42 Applicazioni di rete per UDP 4) DNS query UDP Si evitano i ritardi dovuti all instaurazione della connessione 5) Telefonia Internet UDP Tolleranza alla perdita di dati (no servizio affidabile) Tasso di trasmissione costante (no controllo di congestione) 6) Applicazioni multimediali UDP TCP non può essere impiegato con multicast (problema della mancanza del controllo di congestione in UDP) Imoianti di Elaborazione 2003/

RETI DI CALCOLATORI. TCP e UDP: Il Livello di Trasporto Internet

RETI DI CALCOLATORI. TCP e UDP: Il Livello di Trasporto Internet Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI RETI DI CALCOLATORI TCP e UDP: Il Livello di Trasporto Internet Prof. Franco Zambonelli (lucidi realizzati con il contributo

Dettagli

UDP. User Datagram Protocol. UDP Connectionless

UDP. User Datagram Protocol. UDP Connectionless UDP User Datagram Protocol IP fornisce un unreliable datagram service tra gli host I Transport protocols forniscono un servizio di consegna end-to-end tra gli endpoints di una connessione UDP Connectionless

Dettagli

Livello di trasporto: meccanismi trasferimento dati affidabile, TCP

Livello di trasporto: meccanismi trasferimento dati affidabile, TCP Livello di trasporto: meccanismi trasferimento dati affidabile, TCP Gaia Maselli Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. - Copyright 2013

Dettagli

Telematica di Base. IL Livello di Trasporto TCP

Telematica di Base. IL Livello di Trasporto TCP Telematica di Base IL Livello di Trasporto TCP TCP RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: Un sender, un receiver affidabile protocollo di tipo pipeline: Meccanismi per evitare la congestione,

Dettagli

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

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano Reti di calcolatori TCP/IP Slide a cura di Simon Pietro Romano spromano@unina.it Il livello rete Stack ISO/OSI Applicazione Presentazione Sessione Trasporto Rete Data Link Fisico Corso di Tecnologie dei

Dettagli

Reti di Calcolatori:

Reti di Calcolatori: Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì

Dettagli

Gestione delle Reti di Telecomunicazioni

Gestione delle Reti di Telecomunicazioni Dipartimento di Elettronica e Telecomunicazioni Gestione delle Reti di Telecomunicazioni Modello TCP/IP Ing. Tommaso Pecorella Ing. Giada Mennuti {pecos,giada}@lenst.det.unifi.it 1 Protocolli di trasporto

Dettagli

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK. 1. Considerare il problema della stima del Round Trip Time. Supporre che inizialmente RTT valga 200 ms. Il mittente invia un segmento e riceve l ACK relativo dopo 100 ms, quindi invia un altro segmento,

Dettagli

Reti di Calcolatori in Tecnologia IP

Reti di Calcolatori in Tecnologia IP Reti di Calcolatori in Tecnologia IP Il Livello Transport e TCP Dott. Marco Bianchi 04/12/2001 1 Agenda Introduzione Indirizzamento Protocolli di livello transport Attivazione e rilascio di una connessione

Dettagli

TCP: rassegna RFCs: 793, 1122, 1323, 2018, 2581

TCP: rassegna RFCs: 793, 1122, 1323, 2018, 2581 TCP: rassegna RFCs: 793, 1122, 1323, 2018, 2581 socket door Protocollo uno-a-uno: Un sender, un receiver Flusso di Byte ordinato e affidabile Protocollo pipelined: TCP ha controllo di flusso e di congestione

Dettagli

Il livello trasporto: Introduzione e protocollo UDP

Il livello trasporto: Introduzione e protocollo UDP Corsi di Laurea in Ingegneria Informatica Ingegneria delle Telecomunicazioni Ingegneria dell Automazione Corso di Reti di Calcolatori Simon Pietro Romano (spromano@unina.it) Antonio Pescapè (pescape@unina.it)

Dettagli

Il livello trasporto: Introduzione e protocollo UDP

Il livello trasporto: Introduzione e protocollo UDP Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori a.a. 2009/10 Roberto Canonico (roberto.canonico@unina.it) Antonio Pescapè (pescape@unina.it) Il livello trasporto: Introduzione e

Dettagli

Controllo di congestione

Controllo di congestione Controllo di congestione Generalità!!In caso di congestione della rete, a causa dei buffer limitati degli apparati di rete, alcuni segmenti potrebbero venire persi!!la perdita dei segmenti e il relativo

Dettagli

Il livello trasporto Protocolli TCP e UDP

Il livello trasporto Protocolli TCP e UDP Il livello trasporto Protocolli TCP e UDP Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi:

Dettagli

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica December 7, 2004 Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6 Sommario 1 La

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

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

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi: le raisons d etre della rete Transport TCP

Dettagli

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

Argomenti: ! Servizi dello strato di trasporto! multiplexing/demultiplexing! Servizio senza connessione: UDP Strato di trasporto Obiettivi:! Comprendere i principi dei servizi dello strato di trasporto: " multiplexing/demultipl exing " Trasferimento affidabile dei dati " Controllo di flusso " Controllo di congestione!

Dettagli

Livello trasporto. Servizi del livello trasporto

Livello trasporto. Servizi del livello trasporto ivello trasporto Servizi Multiplexing e demultiplexing Trasporto senza connessione: UDP Principi di trasferimento affidabile Trasporto orientato alla connessione: TCP Struttura del segmento Trasferimento

Dettagli

I protocolli UDP e TCP

I protocolli UDP e TCP I protocolli UDP e TCP A.A. 2005/2006 Walter Cerroni Il livello di trasporto in Internet APP. APP. TCP UDP IP collegamento logico tra diversi processi applicativi collegamento logico tra diversi host IP

Dettagli

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

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello trasporto: controllo di congestione

Dettagli

Livello trasporto. Controllo del flusso e della congestione

Livello trasporto. Controllo del flusso e della congestione Livello trasporto Servizi Multiplexing e demultiplexing Trasporto senza connessione: UDP Principi di trasferimento affidabile TCP Struttura del segmento Trasferimento dati affidabile Controllo del flusso

Dettagli

Riferimenti. I protocolli TCP e UDP. Sorgente TCP. Principi Fondamentali. TCP header. Ricevitore TCP

Riferimenti. I protocolli TCP e UDP. Sorgente TCP. Principi Fondamentali. TCP header. Ricevitore TCP Riferimenti I protocolli TCP e UDP TCP Illustrated, vol. 1 (Richard Stevens) RFC 1122/1123 (R. T. Braden) Requirements for Internet Hosts (1989) RFC 2001 (R. Stevens) TCP Slow Start, algorithms (1997)

Dettagli

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

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 1 richiami SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 1 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

TCP: trasmissione Source port [16 bit] - Identifica il numero di porta sull'host mittente associato alla connessione TCP. Destination port [16 bit] - Identifica il numero di porta sull'host destinatario

Dettagli

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

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali

Dettagli

Internet (- working). Le basi.

Internet (- working). Le basi. Internet (- working). Le basi. 1 GABRIELLA PAOLINI (GARR) 18 OTTOBRE 2011 Capire come funziona Internet 2 FACCIAMO UN PASSO INDIETRO Internet È un insieme di reti interconnesse fra di loro su tutto il

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier 4 - Livello Rete (parte ) Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Strato di rete e strato di trasporto Lo strato di trasporto

Dettagli

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

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il protocollo TCP I lucidi presentati al corso

Dettagli

Strato di trasporto. Livello di applicazione SAP. Livello di trasporto. Livello di rete SAP

Strato di trasporto. Livello di applicazione SAP. Livello di trasporto. Livello di rete SAP Strato di trasporto Lo strato di trasporto si colloca al livello 4 dello strato ISO-OSI e svolge il compito di mettere in comunicazione diversi processi software. La comunicazione tra applicazioni avviene

Dettagli

Livello di trasporto e TSAP

Livello di trasporto e TSAP Reti di Telecomunicazioni R. Bolla, L. Caviglione, F. Davoli Livello di trasporto e TSAP Three-way handshake Incarnation numbers TCP e UDP 39.2 Sessione T_CONNECT, T_DISCONNECT T_DATA, T_EXP_DATA T_UNITDATA

Dettagli

Introduzione (parte III)

Introduzione (parte III) Introduzione (parte III) Argomenti della lezione Ripasso degli argomenti del primo corso: il livello di trasporto, il meccanismo di controllo delle congestioni e le applicazioni Il livello di trasporto

Dettagli

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

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11) Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori (a.a. 2010/11) Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello trasporto: il protocollo

Dettagli

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto Livello Trasporto Fornire un trasporto affidabile ed efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata Gestisce una conversazione diretta fra sorgente e destinazione

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP 2.1 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti

Dettagli

Controllo della congestione

Controllo della congestione Controllo della congestione Problema: troppe sorgenti inviano troppi dati troppo velocemente perchè la rete riesca a gestirli Effetti: perdita di pacchetti (overflow nei buffer dei router) e ritardi eccessivi

Dettagli

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

MODELLO TCP/IP LIVELLO 4 Trasporto. Il protocollo per il controllo della trasmissione. La gestione degli errori di trasmissione Prof.ssa Daniela Decembrino MODELLO /IP LIVELLO 4 Trasporto Il protocollo per il controllo della trasmissione significa Transmission Control Protocol, cioè Protocollo per il Controllo della Trasmissione.

Dettagli

Livello di Trasporto

Livello di Trasporto Livello di Trasporto Introduzione Problemi e requisiti Livello di trasporto in Internet UDP -UserDatagramProtocol TCP - Transmission Control Protocol Meccanismo di ritrasmissione Controllo del flusso Three-way

Dettagli

Transmission Control Protocol: TCP

Transmission Control Protocol: TCP Transmission Control Protocol: TCP Prof.ssa Gaia Maselli Parte di queste slide sono state prese dal materiale associato ai libri: 1) B.A. Forouzan, F. Mosharraf Reti di calcolatori. Un approccio top-down.

Dettagli

TCP/IP: una breve introduzione

TCP/IP: una breve introduzione Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2007/2008 TCP/IP: una breve introduzione Roberto Paleari 2-4 Settembre 2008 Roberto Paleari TCP/IP: una

Dettagli

Parte II: Reti di calcolatori Lezione 12

Parte II: Reti di calcolatori Lezione 12 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 12 Giovedì 10-04-2014 1 Struttura del segmento

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti wireless

Dettagli

Livello di trasporto: TCP, controllo flusso, controllo congestione

Livello di trasporto: TCP, controllo flusso, controllo congestione Livello di trasporto: TCP, controllo flusso, controllo congestione Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright.

Dettagli

TCP/IP: una breve introduzione

TCP/IP: una breve introduzione TCP/IP: una breve introduzione Andrea Lanzi, Davide Marrone, Roberto Paleari Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica 29 novembre

Dettagli

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.3 9 novembre 2005 Laura Ricci IL LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti comunicazione logica = astrazione che consente

Dettagli

Livello di trasporto: meccanismi trasferimento dati affidabile

Livello di trasporto: meccanismi trasferimento dati affidabile Livello di trasporto: meccanismi trasferimento dati affidabile Gaia Maselli Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. - Copyright 2013 McGraw-Hill

Dettagli

Esercitazione. Livello di Trasporto [Capitolo 3]

Esercitazione. Livello di Trasporto [Capitolo 3] Esercitazione Livello di Trasporto [Capitolo 3] 1 È possibile che un'applicazione che gira su UDP ottenga un trasferimento dati affidabile? Si. Lo sviluppatore dell'applicazione può inserire il trasferimento

Dettagli

L architettura di TCP/IP

L architettura di TCP/IP L architettura di TCP/IP Mentre non esiste un accordo unanime su come descrivere il modello a strati di TCP/IP, è generalmente accettato il fatto che sia descritto da un numero di livelli inferiore ai

Dettagli

TCP e UDP: il livello trasporto dell'architettura TCP/IP. OSI vs. TCP/IP. Transport layer. A.Lioy - Politecnico di Torino ( ) A-1

TCP e UDP: il livello trasporto dell'architettura TCP/IP. OSI vs. TCP/IP. Transport layer. A.Lioy - Politecnico di Torino ( ) A-1 TCP e UDP: il livello trasporto dell'architettura TCP/IP Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica OSI vs. TCP/IP 7 6 5 application presentation session process

Dettagli

TCP e UDP: il livello trasporto dell'architettura TCP/IP

TCP e UDP: il livello trasporto dell'architettura TCP/IP TCP e UDP: il livello trasporto dell'architettura TCP/IP Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica OSI vs. TCP/IP 7 6 5 application presentation session process

Dettagli

Reti di Telecomunicazioni 1

Reti di Telecomunicazioni 1 Reti di Telecomunicazioni 1 AA2011/12 Parte 10 Ing. Francesco Zampognaro e-mail: zampognaro@ing.uniroma2.it 1 OSI Internet: TCP/IP 2 1 IP Il protocollo IP (RFC 791, 919, 922, 950, 1349) è il protocollo

Dettagli

IL LIVELLO TRASPORTO Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori ed Internet IL LIVELLO TRASPORTO Protocolli TCP e UDP 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli di Trasporto Livello

Dettagli

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 2 SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 2 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

Il livello di trasporto

Il livello di trasporto Politecnico di Milano Facoltà di Ingegneria dell Informazione Il livello di trasporto -Il protocollo UDP (User Datagram Protocol) -Il protocollo TCP (Transport Control Protocol) Servizio di trasporto il

Dettagli

TCP. Servizio di Trasporto Affidabile. Transmission Control Protocol. Caratteristiche di TCP 1

TCP. Servizio di Trasporto Affidabile. Transmission Control Protocol. Caratteristiche di TCP 1 TCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Servizio di Trasporto Affidabile Il livello di trasporto deve fornire un servizio di consegna orientato alla

Dettagli

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

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35.

Livello trasporto: TCP / UDP. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35. Livello trasporto: TCP / UDP Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 14 TCP/UDP - 1/35 TCP e UDP Internet Protocol (IP) fornisce un servizio non affidabile di trasmissione

Dettagli

IL LIVELLO TRASPORTO Protocolli TCP e UDP

IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP D. Talia RETI DI CALCOLATORI - UNICAL 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli

Dettagli

Nome e Cognome : Anno di corso Numero di matricola : Como, 7 maggio Quiz a risposta multipla

Nome e Cognome : Anno di corso Numero di matricola : Como, 7 maggio Quiz a risposta multipla Università dell Insubria Sede di Como Laurea in Informatica Corso di Reti ed Applicazioni AA 2003 Test 2 Nome e Cognome : Anno di corso Numero di matricola : Como, 7 maggio 2003 Istruzioni Nei quiz a risposta

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 8 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Il Livello di Trasporto: 1 L utente non ha il controllo sulla rete; non può risolvere i problemi di un servizio inadeguato

Dettagli

Strato di Trasporto Multiplazione a livello di trasporto

Strato di Trasporto Multiplazione a livello di trasporto Strato di Trasporto Multiplazione a livello di trasporto 1 Multiplexing/demultiplexing Demultiplexing nell host ricevente: consegnare i segmenti ricevuti alla socket appropriata Multiplexing nell host

Dettagli

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 Sommario della

Dettagli

Capitolo 3 Livello di trasporto

Capitolo 3 Livello di trasporto Capitolo 3 Livello di trasporto Nota per l utilizzo: Abbiamo preparato queste slide con l intenzione di renderle disponibili a tutti (professori, studenti, lettori). Sono in formato PowerPoint in modo

Dettagli

Corso di Sistemi di Misura Distribuiti. Ing. Domenico Capriglione

Corso di Sistemi di Misura Distribuiti. Ing. Domenico Capriglione Corso di Sistemi di Misura Distribuiti Ing. Domenico Capriglione capriglione@unicas.it ARCHITETTURE CLIENT-SERVER I PROTOCOLLI TCP/IP E UDP ARCHITETTURE CLIENT-SERVER Cosa è un applicazione Client-Server?

Dettagli

Parte II: Reti di calcolatori Lezione 14 (38)

Parte II: Reti di calcolatori Lezione 14 (38) Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Parte II: Reti di calcolatori Lezione 14 (38) Venerdì 28-04-2017 1 Controllo

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Livello trasporto in Internet Due protocolli di trasporto alternativi: TCP e UDP Modelli di servizio diversi TCP orientato alla connessione, affidabile, controllo di flusso

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi Matematici 4 - Il livello di trasporto Architetture e Protocolli per Internet 1 Servizio di trasporto il livello di trasporto

Dettagli

Livello di trasporto: TCP

Livello di trasporto: TCP Livello di trasporto: TCP Prof.ssa Gaia Maselli maselli@di.uniroma1.it Parte di queste slide sono state prese dal materiale associato ai libri: 1) B.A. Forouzan, F. Mosharraf Reti di calcolatori. Un approccio

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ LIVELLO TRASPORTO IN INTERNET - 1 Livello trasporto in Internet Due protocolli di trasporto alternativi:

Dettagli

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome:

Dettagli

Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015

Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015 Soluzione dell esercizio 2 (TCP) dell esame del 16 giugno 2015 La soluzione di questo esercizio per quanto riguarda la parte di perdita di pacchetti è data assumendo l'algoritmo di FAST RECOVERY, ossia

Dettagli

Il livello di trasporto

Il livello di trasporto Politecnico di Milano Advanced Network Technologies Laboratory Il livello di trasporto - Il protocollo UDP (User Datagram Protocol) - Il protocollo TCP (Transport Control Protocol) Servizio di trasporto

Dettagli

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Livello di trasporto: meccanismi trasferimento dati affidabile (2), TCP

Livello di trasporto: meccanismi trasferimento dati affidabile (2), TCP Livello di trasporto: meccanismi trasferimento dati affidabile (2), TCP Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da

Dettagli

Transmission Control Protocol (TCP) Andrea Detti

Transmission Control Protocol (TCP) Andrea Detti Transmission Control Protocol (TCP) Andrea Detti Transmission Control Protocol (TCP) Trasferisce un flusso informativo bi-direzionale non strutturato tra due host ed effettua operazioni di multiplazione

Dettagli

Reti di Calcolatori. IL LIVELLO TRASPORTO Protocolli TCP e UDP

Reti di Calcolatori. IL LIVELLO TRASPORTO Protocolli TCP e UDP Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP D. Talia RETI DI CALCOLATORI - UNICAL 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli

Dettagli

TCP/IP: elemento unificante

TCP/IP: elemento unificante TCP/IP: elemento unificante L elemento unificante di Internet è la suite di protocolli TCP/IP (non solo TCP e IP!) per la trasmissione dei dati Non sono elementi unificanti di Internet: tecnologia di accesso

Dettagli

Parte II: Reti di calcolatori Lezione 13

Parte II: Reti di calcolatori Lezione 13 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 13 Martedì 15-04-2014 1 Instaurazione della

Dettagli

Gestione della Connessione in TCP

Gestione della Connessione in TCP I semestre 03/04 Gestione della Connessione in TCP Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Riscontro e Ritrasmissione Per ogni segmento spedito la sorgente

Dettagli

R. Cusani - F. Cuomo, Telecomunicazioni - Data link layer: Protocolli, Maggio 2010

R. Cusani - F. Cuomo, Telecomunicazioni - Data link layer: Protocolli, Maggio 2010 1 21: Transport layer: TCP e UDP Sommario 2 Trasporto in TCP/IP User Datagram Protocol (UDP) Transmission Control Protocol (TCP) MTU, RTU, MSS Controllo della congestione Header TCP 1 Trasporto in TCP/IP

Dettagli

Livello 4 (trasporto): cosa vedremo

Livello 4 (trasporto): cosa vedremo Il livello Trasporto Livello 4 (trasporto): cosa vedremo Servizi di livello trasporto multiplexing/demultiplexing Protocollo non orientato alla connessione: UDP Principi di trasferimento end-to-end affidabile

Dettagli

ESERCIZIARIO. Risposte ai quesiti:

ESERCIZIARIO. Risposte ai quesiti: ESERCIZIARIO Risposte ai quesiti: 3.1. Sebbene qualsiasi numero di porta possa essere utilizzato per il client e il server in questa comunicazione privata (il numero può anche essere lo stesso), si raccomanda

Dettagli

Livello Trasporto Protocolli TCP e UDP

Livello Trasporto Protocolli TCP e UDP Livello Trasporto Protocolli TCP e UDP Davide Quaglia Reti di Calcolatori - Liv Trasporto TCP/UDP 1 Motivazioni Su un host vengono eseguiti diversi processi che usano la rete Problemi Distinguere le coppie

Dettagli

Configurazione delle interfacce di rete

Configurazione delle interfacce di rete Configurazione delle interfacce di rete A.A. 2006/2007 Alessandro Botticelli Instradamento dei datagrammi IP Routing : scelta del percorso su cui inviare i dati i router formano struttura interconnessa

Dettagli

Introduzione. Obiettivo: Sommario: Introduzione alle reti di telecomunicazioni approccio:

Introduzione. Obiettivo: Sommario: Introduzione alle reti di telecomunicazioni approccio: Introduzione Obiettivo: Introduzione alle reti di telecomunicazioni approccio: descrittivo uso di Internet come esempio Sommario: Introduzione Cos è Internet Cos è un protocollo? network edge network core

Dettagli

Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo

Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo Controllo di Congestione in Reti Internet Docente: Vincenzo Eramo Controllo di Congestione (/) Ha lo scopo di evitare condizioni di sovraccarico nei nodi della rete limitando il traffico offerto alla rete

Dettagli

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di calcolatori Protocolli di Trasmissione: Il modello ISO/OSI L architettura TCP/IP Protocolli di trasmissione Un protocollo di

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE A INTERNET - 1 Internet: nomenclatura Host: calcolatore collegato a Internet ogni host

Dettagli

Reti di Comunicazione e Internet

Reti di Comunicazione e Internet Dipartimento di Elettronica e Informazione Politecnico di Milano Reti di Comunicazione e Internet Transmission Control Protocol Esercitazione Ipotesi semplificative per gli esercizi RTT (Round Trip Time)

Dettagli

Reti di Calcolatori. Livello Data Link. Il livello di trasporto. 7 - Applicazione. Applicaz.: HTTP, Presentazione

Reti di Calcolatori. Livello Data Link. Il livello di trasporto. 7 - Applicazione. Applicaz.: HTTP, Presentazione Reti di Calcolatori Il livello di trasporto Università degli Studi di Verona Dipartimento di Informatica Docente: Damiano Carra Livello Data Link 7 - Applicazione 6 - Presentazione 5 - Sessione 4 - Trasporto

Dettagli

Il livello di Trasporto del TCP/IP

Il livello di Trasporto del TCP/IP Il livello di Trasporto del TCP/IP Il compito del livello transport (livello 4) è di fornire un trasporto efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata.

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ Copyright Gruppo Reti Politecnico di Torino INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest

Dettagli

OSI vs. TCP/IP. TCP e UDP: il livello trasporto dell'architettura TCP/IP. Transport layer. Transport layer. Cosa misuriamo?

OSI vs. TCP/IP. TCP e UDP: il livello trasporto dell'architettura TCP/IP. Transport layer. Transport layer. Cosa misuriamo? CP e UDP: il livello trasporto dell'architettura CP/IP Antonio Lioy < lioy@polito.it > Politecnico di orino Dip. Automatica e Informatica 7 6 5 4 3 2 1 network data link physical OSI vs. CP/IP packet frame

Dettagli

Uso di UDP per client-server UDP. Porte e multiplexing. TCP e UDP. Connessione TCP (o messaggio UDP) Caratteristiche delle porte TCP e UDP

Uso di UDP per client-server UDP. Porte e multiplexing. TCP e UDP. Connessione TCP (o messaggio UDP) Caratteristiche delle porte TCP e UDP CP e UDP: il livello trasporto dell'architettura CP/IP Antonio Lioy < lioy@polito.it > 7 6 5 4 3 network OSI vs. CP/IP packet process (DNS, HP, SMP, ) (CP, UDP) network (IP) Politecnico di orino Dip. Automatica

Dettagli

Livello trasporto in Internet

Livello trasporto in Internet Copyright Livello trasporto in Internet Gruppo Reti TLC Nome.cognome@polito.it http://www.telematica.polito.it/ Quest opera è protetta dalla licenza Creative Commons NoDerivs-NonCommercial. Per vedere

Dettagli

Protocolli multimediali

Protocolli multimediali Protocolli multimediali RTP, RTCP, RTSP Ormai molte applicazioni scambiano informazioni in cui le relazioni temporali sono molto importanti. La Telefonia via Internet, Videoconferenza, Lezioni a distanza,

Dettagli

Principi di trasferimento affidabile

Principi di trasferimento affidabile Principi di trasferimento affidabile Il livello rete è inaffidabile: Presenza di errori Perdita e duplicazione di pacchetti Ordine dei pacchetti non garantito In caso di errori è necessario: Rilevare e/o

Dettagli