Il Livello Trasporto III 3. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Trasporto. Il Livello Trasporto

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

Lezione n.3 LIVELLO TRASPORTO

6) Il livello quattro (Transport)

Le Reti Informatiche

Lo strato di Trasporto

Livello di trasporto: meccanismi trasferimento dati affidabile, TCP

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

Appunti del corso di PROF. G. BONGIOVANNI

IL LIVELLO TRASPORTO Protocolli TCP e UDP

Reti di Calcolatori in Tecnologia IP

Il livello Trasporto si occupa di come avviene lo scambio dei dati tra mittente e destinatario, gestisce quindi l invio e la ricezione dei dati.

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

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

MODELLI ISO/OSI e TCP/IP

Livello trasporto. Servizi del livello trasporto

Reti di Calcolatori:

MODELLI ISO/OSI e TCP/IP

2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

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

UNIVERSITA DEGLI STUDI DI PAVIA

Livello 4 (trasporto): cosa vedremo

RETI DI CALCOLATORI. I Protocolli TCP e UDP. Livello TRASPORTO. Reti di Calcolatori A.A Carlo Mastroianni. Internet (IP) Trasporto

Reti di Calcolatori. IL LIVELLO TRASPORTO Protocolli TCP e UDP

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

Il livello trasporto: Introduzione e protocollo UDP

Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Rete: livello trasporto (TCP/IP) Parte 2 - Indice

Il livello trasporto: Introduzione e protocollo UDP

Telematica di Base. Il livello di trasporto

Uso di Internet: Esempio. Prof. Franco Callegati

Livello di trasporto e TSAP

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

UDP. User Datagram Protocol. UDP Connectionless

Livello di trasporto:

IL LIVELLO TRASPORTO Protocolli TCP e UDP

Multiplexing. Modello di servizio TCP 2. Modello di servizio TCP 1. Modello di servizio TCP 3. Modello di servizio TCP 4. Il protocollo TCP 1

Transport Layer & TCP/UDP

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

RETI DI CALCOLATORI. I Protocolli TCP e UDP. Livello TRASPORTO. Reti di Calcolatori A.A Carlo Mastroianni. Internet (IP) Trasporto

Telematica di Base. IL Livello di Trasporto TCP

Appunti del corso di. Reti di elaboratori PROF. G. BONGIOVANNI 6) IL LIVELLO QUATTRO (TRANSPORT) ) Protocolli di livello transport...

Internet Protocol Cenni introduttivi

Corso di Reti di Calcolatori

Livello trasporto (TCP/IP) Architettura degli Elaboratori 2 - T. Vardanega Pagina 424

IL LIVELLO TRASPORTO Protocolli TCP e UDP

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

1) (commutazione pacchetto, prodotto banda-ritardo) 2) (frammentazione, commutazione di pacchetto) 3) (Selective Repeat)

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

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

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

Capitolo 3 - parte 2. Corso Reti ed Applicazioni Mauro Campanella

Servizi del livello trasporto, protocollo UDP, meccanismo stop-and-wait

Parte II: Reti di calcolatori Lezione 13 (37)

Il livello trasporto Protocolli TCP e UDP

Instradamento. Fondamenti di Informatica

Gestione delle Reti di Telecomunicazioni

Collegamento dati per accesso ad Internet. Informatica Generale (CdL in E&C), A.A Informatica Generale (CdL in E&C), A.A.

Controllo di congestione

Introduzione al protocollo TCP. Facoltà di Ingegneria 2 Cesena Lauree specialistiche Reti di Telecomunicazioni LS Prof.

Lo strato di Trasporto

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

UNIVERSITA DEGLI STUDI DI PAVIA

Servizi del livello trasporto, protocollo UDP, intro a TCP

Livello di trasporto: meccanismi trasferimento dati affidabile

TCP/IP: una breve introduzione

Lo strato di Trasporto

Strato 4 (Transport Layer) Protocolli TCP e UDP

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

Programmazione in Rete

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

Recupero I Prova in itinere - Rete Internet (ing. Giovanni Neglia) Lunedì 25 Giugno 2007

TCP/IP: una breve introduzione

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

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

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

Capitolo 3 - parte 3. Corso Reti ed Applicazioni Mauro Campanella

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

14/12/2018 Informatici e di Telecomunicazioni

Reti di Calcolatori:

Capitolo 3 - parte 2. Corso Reti ed Applicazioni Mauro Campanella

Sistemi e Tecnologie della Comunicazione

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni

Corso di Sistemi di Misura Distribuiti. Ing. Domenico Capriglione

Lo strato di applicazione in Internet

Organizzazione della lezione

Capitolo 3 Livello di trasporto

Sistemi e Tecnologie della Comunicazione

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

Protocolli multimediali

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

Esercitazione. Livello di Trasporto [Capitolo 3]

API Socket di Berkeley

Il livello di Trasporto del TCP/IP

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

Il livello trasporto: introduzione Il protocollo UDP

UNIVERSITA DEGLI STUDI DI BERGAMO

UNIVERSITA DEGLI STUDI DI BERGAMO

Università degli Studi di Bergamo

I protocolli UDP e TCP

Transcript:

Corso di RETI DI CALCOLATORI (9 CFU) a.a. 2017-2018 II anno / II semestre Servizi forniti ai livelli superiori (entità di trasporto) Servizio di trasporto orientato alla connessione Servizio di trasporto senza connessione Connessione END-TO-END 02 Servizi offerti ai livelli superiori Primitive del servizio di trasporto Permettono agli utenti (ad esempio programmi applicativi) di accedere al servizio. Simili ai servizi di rete. Servizio in genere affidabile. TPDU 03 04 1

Macchina a stati finiti della gestione delle connessioni TPDU (Transport Protocol Data Unit). Caratterizza i messaggi spediti tra entità di trasporto. Sono contenuti in pacchetti a livello rete, e in trame a livello data link 05 06 Socket per TCP (primitive di trasporto) Elementi del protocollo di trasporto Indirizzamento C S S S S C C S C S C S Quando un applicazione crea una connessione, deve specificare con chi vuole connettersi. Il metodo usualmente utilizzato definisce gli indirizzi di trasporto utilizzabili dai processi. In Internet questi punti finali sono denominati porte locali (port). Vengono chiamati genericamente TSAP (Transport Service Access Point), mentre i punti di accesso a livello rete vengono chiamati NSAP 07 08 2

TSAP, NSAP e Connessioni TSAP 1208 (origine richiesta) TSAP 1522 (dest. richiesta) Protocollo di connessione iniziale (Process server) Elenco dei servizi e server disponibili (Directory server) 09 10 Attivazione di una connessione Attivazione di una connessione Gestione del tempo di vita di un pacchetto. Non è sufficiente spedire una TPDU CONNECTION REQUEST, ed attendere una risposta CONNECTION ACCEPTED. 1. Progettazione ristretta delle reti. 2. Inserimento di un contatore di hop in ogni pacchetto. Risolvere problemi di perdita, memorizzazione o duplicazione dei pacchetti. 3. Inserimento di un orario in ogni pacchetto. E necessario garantire che un pacchetto sia defunto, e, inoltre, che siano defunti tutti i suoi ack 11 12 3

Risolvere il problema dei duplicati in una connessione. three-way handshaking (Tomlinson, 1975) il richiedente invia un TPDU di tipo conn.request con un numero x proposto come inizio della sequenza; il destinatario invia un TPDU di tipo ack contenente: la conferma di x; e la proposta di un proprio numero y di inizio sequenza; il richiedente invia un TPDU di tipo dati contenente: i primi dati del dialogo; la conferma di y. Creazione di una connessione: I valori x e y possono essere generati sfruttando l'orologio di sistema, in modo da avere valori ogni volta diversi. (a) (b) (c) instaurazione normale; con una vecchia CONNECTION REQUEST duplicata che appare dal nulla; con presenza di CONNECTION REQUEST e ACK duplicati. 13 14 Rilascio di una connessione l'entità di trasporto rimuove le informazioni sulla connessione dalle proprie tavole e informa l'utente di livello superiore che la connessione è chiusa. Rilascio asimmetrico. Rilascio simmetrico. Rilascio asimmetrico improvviso con perdita di dati. 15 16 4

Il problema dei due eserciti Rilascio di una connessione: (a) caso normale di three handshake; (b) ACK finale perduto; (c) risposta perduta; (d) risposta perduta e DR successivo perduto. 17 18 Controllo di Flusso e gestione del buffer Simile al controllo del livello data link di norma i protocolli di livello transport consentono alle peer entity di mettersi d'accordo in anticipo (al setup della connessione) sui meccanismi di bufferizzazione da usare. spesso la gestione della dimensione delle finestre scorrevoli è disaccoppiata dalla gestione degli ack (caso di TCP). Solo un segmento stop-and-wait, altrimenti sliding window Problema di gestione dovuto alla grande variabilità di dimensione dei TPDU traffico bursty ma poco gravoso (es. in una sessione di emulazione di terminale): niente buffer a destinazione, bastano buffer alla sorgente; traffico gravoso (es. file transfer): buffer cospicui a destinazione, per poter sempre accettare ciò che arriva. (a) buffer concatenati a dimensione fissa; (b) buffer concatenati a dimensione variabile; (c) buffer circolare di grandi dimensioni per ogni connessione. 19 20 5

Multiplexing Multiplexing delle sessioni di livello transport su quelle di livello network. In connessioni di livello network costose è conveniente convogliare molte conversazioni transport su un'unica connessione network (upward multiplexing). TSAP Per ottenere una banda superiore a quella consentita a una singola connessione network, si ripartisce la conversazione transport su più connessioni network (downward multiplexing). Transport TSAP Transport Network NSAP Network NSAP Data link Canale satellitare Data link Linea del router Fisico Fisico 21 22 Ripristino dopo il crash Protocolli di trasporto di Internet (UDP e TCP) Il livello transport di Internet è basato su due protocolli: UDP (User Data Protocol) RFC 768; TCP (Transmission Control Protocol) RFC 793, 1122 e 1323. 23 24 6

UDP (User Data Protocol) Il protocollo UDP è di fatto IP con l'aggiunta di un breve header. Fornisce un servizio di trasporto datagram (quindi non affidabile). UDP (User Data Protocol) RPC (Remote Procedure Call) caratterizzato da chiamate a procedure di libreria (stub del client, stub del server). La checksum puo non essere considerata; cio avviene tipicamente nel caso di sessioni real-time. 25 26 UDP (User Data Protocol) UDP (User Data Protocol) RTP (Real-time Transport Protocol) RTCP (Real-time Transport Control Protocol) RTCP (Real-time Transport Control Protocol) riproduzione con buffering playback point 27 28 7

UDP (User Data Protocol) RTCP (Real-time Transport Control Protocol) Il Protocollo TCP (Transmission Control Protocol) Servizio reliable e connection oriented: controllo del jitter accettare dati dal livello application; spezzarli in segment, il nome usato per i TPDU (dimensione massima 64 Kbyte, tipicamente circa 1.500 byte); consegnarli al livello network, eventualmente ritrasmettendoli; ricevere segmenti dal livello network; rimetterli in ordine, eliminando buchi e doppioni; consegnare i dati, in ordine, al livello application. il protocollo TCP è stato progettato per fornire un flusso di byte affidabile, da sorgente a destinazione, su una rete non affidabile, e' un servizio full-duplex con gestione di ack e controllo del flusso 29 30 I servizi di TCP si ottengono creando connessione di livello transport identificata da una coppia di punti d'accesso detti socket. I port number hanno 16 bit. Quelli minori di 1024 sono i cosidetti well-known port, riservati per i servizi standard. Ogni socket ha un socket number che consiste della coppia: IP address: Port number Il socket number costituisce il TSAP. 31 32 8

Le connessioni TCP sono full duplex e point to point. Sono identificate dalla coppia di socket number alle due estremità. Esistenza di un flag urgent per interrompere una computazione remota già iniziata (esempio CTRL-C di una sessione di emulazione terminale). E possibile che su un singolo host più connessioni siano attestate localmente sullo stesso socket number. 33 34 Il protocollo TCP Ogni byte del flusso TCP è numerato con un numero d'ordine a 32 bit, usato sia per il controllo di flusso che per la gestione degli ack; Un segmento TCP non può superare i 65.535 byte; TCP usa un meccanismo di sliding window di tipo go-back-n con timeout. Se il timeout scade, il segmento si ritrasmette. Un segmento TCP è formato da: un header, a sua volta costituito da: una parte fissa di 20 byte; una parte opzionale; Le dimensioni della finestra scorrevole ed i valori degli ack sono espressi in numero di byte. idatidatrasportare; 35 36 9

Instaurazione connessione TCP intestazione TCP Normale Simultanea 37 38 Rilascio connessione TCP Il rilascio della connessione avviene considerando la connessione fullduplex come coppia di connessioni simplex indipendenti. Per evitare il problema dei 2 eserciti si usano i timer, impostati al doppio della vita massima di un pacchetto. quando una delle due parti non ha più nulla da trasmettere, invia un fin; quando esso viene confermato, la connessione in uscita viene rilasciata; Il protocollo di gestione delle connessioni si rappresenta comunemente come una macchina a stati finiti. quando anche l'altra parte completa lo stesso procedimento e rilascia la connessione nell'altra direzione, la connessione full-duplex termina. 39 40 10

Criterio di trasmissione a finestra scorrevole in TCP La dimensione delle finestre scorrevoli non è strettamente legata agli ack Viene continuamente adattata mediante un dialogo fra destinazione e sorgente. Quando la destinazione invia un ack di conferma, dice anche quanti ulteriori byte possono essere spediti. esempio di controllo del flusso TCP 41 42 Controllo congestione TCP Il protocollo TCP assume che, se gli ack non tornano in tempo, ciò sia dovuto a congestione della subnet piuttosto che a errori di trasmissione TCP è preparato ad affrontare due tipi di problemi: scarsità di buffer a destinazione; congestione della subnet. La scarsità di buffer a destinazione e la congestione della subnet vengono gestisti da una specifica finestra mantenuta dal mittente: la finestra del buffer del ricevitore la congestion window, che rappresenta quanto si può spedire senza causare congestione. Il mittente si regola sulla più piccola delle due. 43 44 11

Metodi pratici di gestione delle finestre scorrevoli Gestione dei timer delayed acknowledgement RTT, SRTT= α SRTT + (1- α)r con R tempo di attraversamento e α pari 7/8 algoritmo di Nagle timer di persistenza silly window syndrome timer keepalive cumulative acknowledgement timed wait 45 46 Controllo della congestione Congestion window è 40K, si verifica un timeout 40K 32K 20K 16K Threshold viene ridotta (da 32K a 20K) 8K 4K 2K 1K Congestion window è 1K Congestion window torna ad 1K Esempio di controllo della congestione TCP 47 12