I protocolli TCP/UDP prof.: Alfio Lombardo.

Slides:



Advertisements
Presentazioni simili
Laboratorio di Telematica
Advertisements

Il livello di trasporto
Tiziana FerrariCorso di Telematica, Anno Acc. 2000/20011 TCP: Transport Control Protocol Tiziana Ferrari, INFN-CNAF
RTP MIDI – parte 2 Lezione 16
Network Musical Performance: RTP MIDI
Corso di laurea in INFORMATICA
Programmazione con socket
SINTESI PUNTI SALIENTI Da shared bus a network on chip Concetto di nodo Standard commerciali shared bus: AMBA, Wishbone, CoreConnect Opzioni avanzate shared.
Alma Mater Studiorum - Universita' di Bologna Sede di Cesena
4-1 Il Livello di Rete Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
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.
Esercizi sulle architetture
Esercizio 1 Due collegamenti in cascata, AB e BC hanno una velocità rispettivamente di 100 Mb/s e 50 Mb/s e tempi di propagazione pari a 1 ms e 1.2 ms.
Programmazione su Reti
Programmazione su Reti
Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso.
Trasporto affidabile (principi) Di fondamentale importanza negli strati applicativi, di trasporto e di collegamento! Le caratteristiche del canale determinano.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Internet Control Message Protocol rfc. Error Reporting Testing di affidabilità Controllo di congestione Notifica di route-change Misurazione di performance.
Il modello cliente/servente per l’implementazione di applicazioni
Il livello di trasporto
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.
RETI DI CALCOLATORI Parte Settima
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Reti di Calcolatori MODELLI ISO/OSI e TCP/IP.
I protocolli di trasporto per multimedia RTP e RTCP
1 Esercizio 1 Un router riceve da un collegamento A lungo 10 km a 100 Mb/s e instrada i pacchetti ricevuti, lunghi 1000 bit verso una linea duscita B a.
Realizzato da Roberto Savino 3-1 Il livello di trasporto r Dobbiamo assumere di avere a che fare con un canale di comunicazione molto particolare 1. Inaffidabile.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Calcolo timeout Modulo 2 - U.D. 5 - Lez. 6
Modulo 2 – U.D. 4 – Lez. 5 (parte I)
Laureando: Giuseppe BRUSCELLA
Corso di Reti di Calcolatori A.A Prof. D. Rosaci
TCP/IP.
L’architettura a strati
A cura di Stefano Scarpellini
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
Reti Stratificazione del Protocollo. 2 Andrea Asta I protocolli oSpecificano e Rendono Comprensibile la comunicazione oNon è necessario conoscere.
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.
1 Sistemi e Tecnologie della Comunicazione Lezione 22: transport layer: introduzione, funzionalita’
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
MUSE Progetto di un servizio di audio streaming in reti wireless Progetto realizzato da: Leardini Francesco Mercati Alberto Morsiani Marco Bologna
1: Introduction1 Stratificazione protocollare (Protocol “Layering”) Le reti sono complesse! r Molti elementi: m host m router m link fisici dalle caratteristiche.
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
Flusso e congestione TCP
Flusso TCP (parte II). Trasferimento di grandi quantità di dati (1) Spesso il mittente deve inviare grandi quantità di dati. Genera un numero elevato.
Fast Retransmit. Fast Retransmit (1) Altri indizi di perdite oltre il timeout: possiamo interpretare il verificarsi di sequenze di 4 ACK per lo stesso.
Controllo timeout. Il modo più ovvio per individuare delle perdite è usare il timeout del timer di ritrasmissione. Timeout (1) Attenzione! Con valori.
Servizi continui su rete IEEE – Music Everywhere Presentazione di Alberto Mercati Reti di Calcolatori LS.
Controllo di congestione avanzato. Controllo della congestione TCP Prima del 1988, solo controllo del flusso! TCP Tahoe 1988 − TCP con Slow Start, Congestion.
Controllo di flusso TCP. Elementi base del flusso TCP (1) Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
1 Sistemi e Tecnologie della Comunicazione Lezione 23: transport layer: TCP e UDP.
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
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.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Prof. G.Mastronardi1 IL PROBLEMA DEL “DENIAL of SERVICE” Politecnico di Bari – Sicurezza dei Sistemi Informatici -
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Slide #: 1/232 Internet - Architettura, principali protocolli e linee evolutive Nicola Blefari Melazzi Copyright © 2005 – The McGraw-Hill Companies srl.
Ing. L. A. Grieco DEE – Telematics Lab. 1 Protocolli UDP e TCP – Telematica I – - I Facoltà di Ingegneria – CdL in Ingegneria Informatica.
Transmission Control Protocol: TCP
Il Livello di Trasporto
Transcript della presentazione:

I protocolli TCP/UDP prof.: Alfio Lombardo

Formato del messaggio TCP

Stream oriented protocol Application process Application process write bytes read bytes TCP send buffer TCP receiver buffer segments

Il TCP interpreta lo stream dati come sequenza di ottetti Lo stream dati è suddiviso in segmenti ... ... ... Header TCP (Port address) TCP data TCP data IP data Header IP (IP address) Header TCP (Port address) TCP data IP data Header IP (IP address) Header TCP (Port address) Header IP (IP address) IP data

Apertura di connessione: Problemi. utilizzare identificatori delle connessioni sempre diversi (ad es. un numero sempre crescente)

Apertura di connessione: Problemi. TCP 1 TCP 2 Seqnum =X SYN =1 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Tempo ?

Instaurazione della connessione three way handshake TCP 1 TCP 2 Seqnum =X SYN =1 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Tempo Seqnum=X+1 Acknum =Y+1 ACK=1 SYN=1

Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Seqnum=X+1 Acknum =Y+1 ACK=1 RST=1 three way handshake: duplicato CR TCP 1 TCP 2 Seqnum =X SYN =1 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Tempo ? Seqnum=X+1 Acknum =Y+1 ACK=1 RST=1

three way handshake: duplicato CR, Ack ? ? TCP 1 TCP 2 Tempo Seqnum =X SYN =1 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Tempo ? Seqnum=X+1 Acknum =z ACK=1 SYN=1 ? Seqnum=X+1 Acknum =Y+1 ACK=1 RST=1

Instaurazione simultanea TCP 1 TCP 2 Seqnum =X SYN =1 Seqnum =Y SYN =1 Tempo Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Seqnum=X Acknum =Y+1 ACK=1 SYN=1

Chiusura di connessione TCP 1 TCP 2 L’applicazione 1 chiude la connessione Seqnum =X FIN =1 Il TCP 2 informa l’applicazione 2 della richiesta di disconnessione Tempo Acknum =X+1 ACK =1 L’applicazione 2 chiude la connessione Seqnum =Y Acknum=X+1 FIN =1 Acknum =Y+1 ACK =1

Chiusura di connessione: three way handshake TCP 1 TCP 2 L’applicazione 1 chiude la connessione Seqnum =X FIN =1 Il TCP 2 informa l’applicazione 2 della richiesta di disconnessione e questa decide di chiudere la connessione Tempo Seqnum=Y Acknum =X+1 ACK=1 FIN =1 Acknum =Y+1 ACK =1

Chiusura di connessione: three way handshake con perdite

Chiusura simultanea TCP 1 TCP 2 L’applicazione 1 chiude la connessione Seqnum =X FIN =1 L’applicazione 2 chiude la connessione Seqnum =Y FIN =1 Il TCP 2 informa l’applicazione 2 della richiesta di disconnessione Il TCP 1 informa l’applicazione 1 della richiesta di disconnessione Acknum =X+1 ACK =1 Tempo Acknum =Y+1 ACK =1

Ack e Ritrasmissioni Esercizio consigliato: TCP Viene attivato il Seqnum=5 Data=100 Acknum=5000 Seqnum=105 Data=200 Acknum=5000 Seqnum=5000 Data=100 Acknum=305 Viene attivato il timer Seqnum=305 Data=1000 Acknum=5100 Seqnum=5100 Data=500 Acknum=305 Time-out !!! ritrasmissione Seqnum=305 Data=2000 Acknum=5600 Seqnum=5600 Data=100 Acknum=2305

Distribuzione dei tempi di round-trip Probabilita’ Probabilita’ 0 10 20 30 0 10 20 30 40 50 Tempo (ms) Tempo (ms) Livello di Data Link Livello di Trasporto

Algoritmo di Jacobson (1988) RTT = Round Trip Time RTT = a RTT + (1 - a) M a =7/8 T = b RTT b = f(s)

Gestione di flusso Write 2K Write 3K Tx bloccato Esercizio consigliato: Controllo di Flusso Write 2K Seq=0 Data=2K 2K 4K TCP TX TCP RX Ack =2048 WIN =2048 4K Write 3K Seq=2048 Data=2K 1K Tx bloccato Ack =4096 WIN =0 Prelievo 2K Ack =4096 WIN =2048 2K Seq=4096 Data=1K 3K

Parametri utilizzati per il controllo di congestione Finestra permessa = minimo tra Fissata dal ricevitore Finestra d controllo di flusso Finestra di congestione Fissata dal trasmettitore

Rilevazione degli stati di congestione Rumore su una linea di trasmissione Scadenza di un timeout = Congestione di un nodo

Numero di trasmissioni 60 50 40 30 20 10 timeout Finestra di congestione (Kbyte) timeout 1 3 5 7 9 11 13 15 17 19 21 23 25 Numero di trasmissioni

Numero di trasmissioni Slow Start 60 50 40 30 20 10 Congestion Avoidance (Additive increase) timeout soglia Finestra di congestione (Kbyte) Slow start Slow start 1 3 5 7 9 11 13 15 17 19 21 23 25 1 3 5 7 9 11 13 15 17 19 21 23 25 Numero di trasmissioni

Numero di trasmissioni Fast Recovery timeout 60 50 40 30 20 10 Additive increase timeout Multiplicative decrease Finestra di congestione (Kbyte) soglia Slow start 1 3 5 7 9 11 13 15 17 19 21 23 25 Numero di trasmissioni

Servizi offerti da UDP Trasferimento dati appartenenti a diverse applicazioni residenti nello stesso host (multiplexing) Controllo d’errore (opzionale)

Processo Applicativo A Processo Applicativo B UDP A UDP B 1. Send (n ottetti) 3. Deliver (n ottetti) UDP SERVICE PROVIDER 2. DATA UDP A UDP B

UDP Header, data, Pseudo header 0 16 31 source port destination port 0 16 31 source port destination port length checksum data UDP è l’altro protocollo utilizzato nell’architettura Internet come protocollo di livello 4. Esso è un protocollo, alternativo a TCP, di tipo connectionless. UDP è un protocollo molto più semplice di TCP ed è utilizzato quando l’affidabilità di TCP non è richiesta. Non avendo funzioni di sicurezza, controllo di flusso o correzione degli errori, UDP svolge principalmente il ruolo di multiplatore/demultiplatore per la ricezione e la trasmissione di dati IP e dati delle applicazioni Aggiunge solo 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. UDP non prevede un controllo di flusso e, al contrario di TCP, non è in grado di adattarsi autonomamente a variazioni di traffico. Non prevede meccanismi di ritrasmissione in caso di errori, quindi eventuali meccanismi di ritrasmissione, se necessari, devono essere garantiti e gestiti direttamente dall’applicativo d’utente, o comunque da un protocollo di livello superiore. E’ presente un meccanismo di controllo dell’errore (fatto su tutto il pacchetto e non solo sull’intestazione), ma il protocollo non si preoccupa di correggere in alcun modo l’errore: semplicemente, scarta il pacchetto. Header, data, Pseudo header

Protocolli di Trasporto emergenti in INTERNET Real-time Transport Protocol (RTP) Real-time Transport Control Protocol (RTCP)

APPLICAZIONE Livello di trasporto RTP RTCP UDP IP

Trasporto end-to-end dell’informazione Macrolezione 7 Trasporto end-to-end dell’informazione