Capitolo 10 Lo Strato di Trasporto in Internet

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Capitolo 10 Lo Strato di Trasporto in Internet"

Transcript

1 Capitolo 10 Lo Strato di Trasporto in Internet 1

2 Sommario del capitolo Modelli di servizio per lo Strato di Trasporto Funzioni svolte dallo Strato di Trasporto: i. Rivelazione di errore ii. Multiplazione iii. Controllo di flusso iv. Trasferimento affidabile di dati v. Controllo di congestione Il protocollo UDP di Internet Il protocollo TCP di Internet Prestazioni del protocollo TCP 2

3 A cosa serve lo Strato di Trasporto (1/6) Consideriamo due applicazione P S e P D (ossia, due programmi) che risiedono su due terminali di utente H S e H D distinti, in generale non tra di loro adiacenti. Supponiamo che l applicazione P S voglia inviare una sequenza di messaggi {M 1, M 2 } all applicazione P D, impiegando la Rete Internet come rete di trasferimento. Informalmente, lo scopo dello Strato di Trasporto residente nei terminali H S e H D è quello di mettere a disposizione delle due applicazioni P S e P D un canale logico di tipo punto-punto e full-duplex che permetta a P S di inviare/ricevere messaggi a/da P D. 3

4 A cosa serve lo Strato di Trasporto application transport network data link physical messaggio segmento (2/6) application transport network data link physical messaggio segmento Baccarelli, Cordeschi, Patriarca, Polli 4

5 A cosa serve lo Strato di Trasporto (3/6) Informalmente, per canale logico tra i processi P S (residente nel terminale H S ) e P D (residente nel terminale H D ) intendiamo l insieme di router, sotto-reti, canalitrasmissivi, protocolli di gestione che permettono di stabilire un collegamento punto-punto, bidirezionale e full-duplex direttamente tra i due processi P S e P D. 5

6 A cosa serve lo Strato di Trasporto (4/6) I protocolli di Strato di Trasporto residenti presso i terminali di utente H S e H D effettuano le seguenti funzioni di base: i. Il protocollo di trasporto residente nel terminale sorgente (H S ) riceve messaggi dall applicazione P S, li incapsula in segmenti e invia la sequenza ordinata di segmenti nel canale logico. Questa operazione è detta multiplazione di ii. segmenti. Il protocollo di trasporto residente nel terminale di destinazione (H D ), riceve la sequenza di segmenti in uscita dal canale logico, frammenta la sequenza in segmenti, estrae da ciascun segmento il corrispondente messaggio, passa il messaggio al processo P D residente nel terminale H D. 6

7 A cosa serve lo Strato di Trasporto (5/6) I protocolli di Strato di Trasporto sono attuati solo presso i terminali d utente (host) ma non sono attuati nè nei router né nei bridge. Questo porta a 3 conseguenze: i. I protocolli di Strato di Trasporto e le funzioni da essi svolte sono attuati solo ai bordi della rete (nella Edge Network) ma non al suo interno (Core Network); ii. Solo gli Strati di Trasporto dei terminali d utente di sorgente e di destinazione sono al corrente del canale logico che li interconnette e ne mantengono, quindi, i parametri necessari per la gestione; iii. I router, bridge e canali trasmissivi della rete non sono al corrente di quanti e quali canali logici di Strato di Trasporto sono attivi. 7

8 A cosa serve lo Strato di Trasporto (6/6) Lo Strato di Trasporto della rete Internet mette a disposizione delle applicazioni che sono attive in ciascun terminale d utente due distinti protocolli di trasporto: i. L User Datagarma Protocol (UDP); ii. Il Transport Control Protocol TCP. UDP e TCP svolgono funzioni diverse, cioè offrono servizi diversi allo Strato Applicativo. Ogni applicazione (processo) attiva presso un terminale d utente deve scegliere quale dei due protocolli usare (TCP o UDP), prima di iniziare a trasmettere/ricevere messaggi. 8

9 Inter-Relazione tra Strato di Rete e Strato di Trasporto (1/3) Lo scopo principale dello Strato di Rete è quello di dar luogo ad un canale logico tra due utenti terminali H S e H D che vogliono comunicare. Lo scopo principale dello Strato di Trasporto è quello di dar luogo a un canale logico: i. Punto-punto; ii. Bidirezionale; iii. Full-duplex. tra una coppia di applicazione P S e P D residenti presso due terminali d utente H S e H D distinti. 9

10 Inter-Relazione tra Strato di Rete e Strato di Trasporto (2/3) Analogia con il servizio di posta ordinario. o 12 ragazzi inviano lettere a 12 ragazzi: o processi = ragazzi o messaggi delle applicazioni = lettere nelle buste o host = case o protocollo di trasporto = Anna e Andrea o Protocollo del livello di rete = servizio postale 10

11 Inter-Relazione tra Strato di Rete e Strato di Trasporto (3/3) Il servizio offerto allo Strato Applicativo dallo Strato di Trasporto si basa ovviamente sul servizio che lo Strato di Rete offre a sua volta allo Strato di Trasporto. Quindi, alcune delle caratteristiche del servizio offerto dallo Strato di Trasporto dipendono dalle caratteristiche del servizio offerto dallo Strato di Rete. Lo Strato di Rete di Internet offre un servizio di tipo besteffort, cioè un servizio di trasferimento di datagrammi in cui non sono garantiti né il ritardo massimo con il quale ciascun datagramma è trasferito né la velocità minima (dat/sec) con cui i datagrammi sono trasferiti. Come conseguenza, nella rete Internet, TCP e UDP offrono servizi di trasferimento di segmenti nei quali non sono garantiti né i ritardi massimi né le velocità minime (in segm/sec). 11

12 Servizi offribili dallo Strato di Trasporto (1/2) I principali servizi che i protocolli di uno Strato di Trasporto possono offrire sono: i. Multiplazione/Demultiplazione Al lato sorgente, lo Strato di Trasporto riceve i messaggi generati da uno o più processi attivi nel terminale sorgente e li ordina in una sequenza di segmenti (operazione di multiplazione). Al lato destinazione, lo Strato di Trasporto riceve la corrispondente sequenza di segmenti e ne estrae le sotto-sequenze di messaggi da trasferire ad una o più applicazioni attive nel terminale di destinazione (operazione di demultiplazione). ii. Rivelazione di errori al lato sorgente, il protocollo di trasporto immette in ciascun segmento da trasmettere una sequenza di bit di controllo della parità che, al lato ricezione, vengono utilizzati per rivelare la presenza di eventuali errori. iii. Trasferimento affidabile di segmenti lo Strato di Rete di Internet fornisce un canale logico tra due utenti che può indurre errori e/o perdite nei datagrammi trasmessi. Lo Strato di Trasporto può attuare tecniche di ARQ per fornire un canale logico tra due processi che è affidabile, ossia che non introduce errori/perdite/duplicazioni/ ri-ordino nella sequenza dei messaggi scambiati dalle applicazioni comunicanti 12

13 Servizi offribili dallo Strato di Trasporto (2/2) iv. Controllo del flusso dei segmenti trasmessi dal processo P S al processo P D, con lo scopo di evitare che il buffer presente allo Strato di Trasporto del terminale di destinazione vada in saturazione (over-flow). v. Controllo di congestione ha lo scopo di prevenire che gli scambi di segmenti (ossia, il traffico) tra tutte le coppie di processi comunicanti in un certo istante provochino fenomeni di saturazione (over-flow) dei buffer presenti nei router e nei bridge della rete. A questo scopo, il protocollo di Trasporto al lato sorgente del canale logico regola (ossia, aumenta o diminuisce) la velocità con cui i segmenti vengono immessi nella rete. vi. Gestione della connessione lo Strato di Trasporto può anche offrire il servizio di: i. Instaurazione; ii. Gestione; iii. Abbattimento della connessione tra due processi comunicanti attraverso un canale logico. 13

14 Modelli di servizio di Trasporto in Internet Anticipiamo che, nella Rete Internet, UDP fornisce un servizio di trasferimento di segmenti privo di connessione e non affidabile. UDP fornisce solo i due seguenti servizi: i. Multiplazione/demultiplazione; ii. Rivelazione degli errori. TCP fornisce un servizio di trasferimento dei segmenti orientato alla connessione e affidabile. TCP fornisce i seguenti servizi: i. Multiplazione/demultiplazione; ii. Rivelazione degli errori; iii. Trasferimento affidabile; iv. Controllo di flusso; v. Controllo di congestione; vi. Gestione della connessione. 14

15 Servizio di Multiplazione/ Demultiplazione: Principi Generali 15

16 Porte e Socket (1/4) Consideriamo un terminale d utente H con assegnato indirizzo IP: <IPAdd.H> a 32 bit. Supponiamo che uno o più processi P 1, P 2,,P N siano simultaneamente attivi (ossia, trasmettono o ricevono messaggi) nel terminale H. All interno del terminale H dove risiede, ciascuno dei suddetti processi attivi viene univocamente individuato (identificato) assegnandogli un numero intero compreso tra 0 e Questo numero è detto numero di porta (port number) associato al processo in oggetto ed è costituito da una stringa di 16bit. 16

17 Porte e Socket (2/4) Nel momento in cui diviene attivo, a ciascun processo all interno del terminale H è assegnato un numero di porta che lo identifica univocamente all interno del terminale H per tutto il tempo in cui il processo è attivo. Nel momento in cui il processo termina di essere attivo, il corrispondente numero di porta viene deallocato e torna ad essere libero (ossia, nuovamente assegnabile). I numeri di porta da 0 a 1023 sono riservati ad applicazioni particolari (quali HTTP, FTP, DNS, TelNet etc ) e costituiscono i cosiddetti well-known port numbers. 17

18 Porte e Socket (3/4) La lista completa dei well-known port numbers è reperibile al sito: Esempi di well-known port numbers sono i seguenti: Applicazione (processo) Numero di porta FTP 21 TelNet 23 SMTP 25 DNS 53 HTTP 80 18

19 Porte e Socket (4/4) Il numero di porta individua univocamente un processo P solo all interno del terminale H in cui il processo P è attivo (risiede). Per individuare globalmente (cioè, all interno della intera rete Internet) un processo P attivo all interno di un terminale H bisogna specificare: i. Il numero di porta di P; ii. L indirizzo IP del terminale H in cui risiede P. A questo fine, ad ogni processo P attivo è associato un Socket. Per definizione il Socket è costituito dal numero di porta di P e dall indirizzo IP del terminale H in cui risiede. Socket = < numero di porta del processo, indirizzo IP del terminale > 19

20 Canale Logico Definizione formale Consideriamo un processo P S residente nel terminale H S che comunica con un processo P D residente nel terminale H D. Indichiamo con : o o S S = < numero di porta di P S, indirizzo IP di HS>, il socket associato a P S ; S D = < numero di porta di P D, indirizzo IP di H D >, il socket associato a P D. Allora per definizione, il canale logico tra P S e P D è definito dalla corrispondente coppia di socket: S S e S D. 20

21 Formato generale di un segmento (1/2) In generale, un Segmento di Strato di Trasporto è costituito da una Intestazione (Header) e da un campo dati (Payload). Il campo dati contiene il messaggio generato dall applicazione. Esso può essere di dimensioni variabili. La dimensione massima (in byte) del campo dati viene fissata, di volta in volta, al momento in cui viene stabilito il canale logico tra i due processi comunicanti. La suddetta dimensione massima è detta Maximum Segment Size (MSS) ed è espressa in byte. L intestazione (Header) contiene vari sotto-campi tra cui: i. Numero di porta dell applicazione sorgente che ha generato il messaggio (16 bit); ii. Numero di porta dell applicazione di destinazione alla quale il messaggio è destinato (16 bit). 21

22 Formato generale di un segmento (2/2) 32 bits Source port # Dest port # Other header fields Application data (message) 22

23 Il servizio di Multiplazione Al lato sorgente, il Protocollo di Trasporto effettua le seguenti operazioni (servizio di Multiplazione): i. Incapsula i messaggi ricevuti dai vari Sockets ii. iii. attivi al terminale-sorgente in segmenti; Compila l header di ciascun segmento, specificando i corrispondenti numeri di porta sorgente e destinazione; Passa la sequenza ordinata dei segmenti allo Strato di Rete. 23

24 Il servizio di Demultiplazione Al lato destinazione, il Protocollo di Trasporto effettua le seguenti operazioni (servizio di Demultiplazione): i. Frammenta la sequenza di dati ricevuta dallo strato di rete in segmenti; ii. iii. iv. Legge il numero di porta di destinazione presente nell header di ciascun segmento; Estrae il messaggio dal segmento; Dirige il messaggio al socket specificato dal numero di porta destinazione. 24

25 Multiplazione/Demultiplazione: Demultiplazione al Terminale-destinazione Consegnare i segmenti ricevuti ai socket corretti = socket riepilogo = process Multiplazione al Terminale-sorgente Raccogliere dati da più socket, incapsularli con un header (usato in seguito per la demultiplazione) application P3 P1 P1 application P2 P4 application transport transport transport network network network link link link physical physical host 1 host 2 host 3 physical 25

26 Il servizio di Trasferimento Affidabile: Principi generali 26

27 Il servizio di Trasferimento Affidabile Generalità (1/2) Consideriamo due socket S S e S D che si scambiano segmenti attraverso un canale logico gestito dallo Strato di Trasporto. Per definizione, il Servizio di Trasferimento offerto dallo Strato di Trasporto è detto affidabile se: i. Tutti i messaggi sono consegnati a S D senza errori ii. iii. (no errori né perdita di messaggi); Ciascun messaggio è consegnato a S D una e una sola volta (no duplicazione); I messaggi sono consegnati nello stesso ordine in cui sono generati da S S. 27

28 Il servizio di Trasferimento Affidabile Generalità (2/2) Lo strato di Rete di Internet implementa un servizio di trasferimento di segmenti che non è affidabile, ossia è soggetto a perdite ed errori. Lo Strato di Trasporto deve, allora, attuare meccanismi di tipo ARQ che permettano di eliminare gli errori e le perdite introdotte allo Strato di Rete. L obiettivo è quello di offrire un servizio di trasferimento affidabile dei messaggi allo Strato Applicativo. 28

29 Schema generale di riferimento (1/2) Strato di trasporto Segm. L Canale diretto con Segm. F Strato di trasporto sorgente errori e perdite destinazione ACK. no M Canale di ritorno con perdite ACK. no N 29

30 Schema generale di riferimento (2/2) Introduciamo le seguenti assunzioni: i. Il canale diretto può introdurre errori e/o perdite nei segmenti in ii. transito; Il canale di ritorno può introdurre perdite nei messaggi di riscontro in transito. Introduciamo i seguenti parametri: i. Il Round Trip Time (RTT) è l intervallo di tempo che intercorre tra l istante in cui un segmento inizia ad essere trasmesso dalla sorgente e l istante in cui la sorgente ne riceve il relativo messaggio di riscontro. ii. C (bit/sec) indica la capacità trasmissiva del canale diretto; iii. L intervallo di Time-Out (Retransmission Time Out: RTO) indica il massimo intervallo di tempo che può intercorrere tra l istante di trasmissione di un segmento e l istante di ricezione del corrispondente riscontro prima che la sorgente consideri perso il segmento stesso. 30

31 Meccanismi impiegati In generale, i meccanismi impiegati per realizzare un trasferimento di segmenti affidabile attraverso l (inaffidabile) canale diretto della figura precedente sono quelli già esaminati allo Strato di Collegamento, e cioè: i. Rivelazione degli errori in ricezione; ii. Numerazione dei segmenti trasmessi; iii. Ritrasmissione dei segmenti persi o in cui sono stati rivelati errori; iv. Trasmissione di messaggi di riscontro con numero di sequenza; v. Impiego di finestre in trasmissione e in ricezione; vi. Impiego di un temporizzatore (timer) in trasmissione. 31

32 Numerazione dei segmenti trasmessi (1/2) Ai fini della numerazione, lo strato di trasporto considera la sequenza (ordinata) dei segmenti trasmessi come una sequenza ordinata di byte. Ovviamente ogni segmento è composto da più byte. Lo Strato di Trasporto numera progressivamente la sequenza dei byte trasmessi. Ciascun numero è un intero compreso tra 0 e (2 32-1). Quindi, la numerazione effettuata dallo strato di trasporto è di tipo ciclico, ovvero: mod. 2 b con b=32. Per definizione, il numero di sequenza associato ad un segmento è il numero d ordine del primo byte che compone il segmento stesso. 32

33 Numerazione dei segmenti trasmessi (2/2) Ciò significa che se: i. Il numero di sequenza del segmento attuale è L {0,, (2 32-1)}; ii. Il segmento attuale è composto da k 1 byte; Allora il numero di sequenza del prossimo segmento è: (L+k) mod

34 Messaggi di riscontro positivi con numerazione (1/2) Di tanto in tanto, il Protocollo di Trasporto al lato destinazione invia al Protocollo di Trasporto al lato sorgente messaggi di riscontro positivi con numerazione del tipo ACK(m). I messaggi di riscontro si propagano dalla destinazione alla sorgente mediante il canale di ritorno e quindi possono essere soggetti a perdite. 34

35 Messaggi di riscontro positivi con numerazione (2/2) Quando la sorgente riceve dalla destinazione il riscontro ACK (m) allora per definizione, la sorgente acquisisce le seguenti due informazioni: i. Il prossimo byte che la destinazione si attende di ricevere è quello con numero d ordine m. Il byte m-simo o non è stato ricevuto o è stato ricevuto ii. con errore; Tutti i byte con numeri d ordine (m-1) sono già stati ricevuti correttamente dalla destinazione. Quindi, il riscontro che arriva alla sorgente è di tipo cumulativo. 35

36 NACK impliciti I protocolli di Strato di Trasporto non prevedono l impiego esplicito di messaggi NACK (riscontri negativi). Essi impiegano messaggi NACK di tipo implicito. Ciò significa che: Quando la sorgente riceve tre o più messaggi ACK con lo stesso numero di sequenza m (cioè, tre o più ACK(m)), allora comprende che l intero segmento con numero di sequenza m deve essere ri-trasmesso. 36

37 Finestra di trasmissione (1/4) Per gestire la ritrasmissione di segmenti andati persi o ricevuti con errori, lo Strato di Trasporto del terminale sorgente mantiene e aggiorna la finestra di trasmissione. La finestra di trasmissione ha dimensione W S 1 byte. Essa memorizza tutti i numeri di sequenza dei byte che la sorgente può trasmettere senza bisogno di ricevere alcun messaggio ACK da parte della destinazione. 37

38 Finestra di trasmissione (2/4) La sorgente implementa e aggiorna la finestra di trasmissione avvalendosi di 2 variabili (2 puntatori): o Sendbase: rappresenta il numero d ordine del byte più vecchio tra quelli trasmessi ma non ancora riscontrati positivamente dalla destinazione. In altri termini, sendbase individua l estremo inferiore della finestra di trasmissione corrente. o Nextseqnum: rappresenta il numero d ordine del prossimo byte che cade nella finestra corrente e che deve ancora essere trasmesso per la prima volta. 38

39 Finestra di trasmissione (3/4) W S (byte) 39

40 Finestra di trasmissione Aggiornamento (4/4) Quando la sorgente riceve un riscontro ACK(y) dalla destinazione, allora aggiorna l estremo inferiore sendbase della finestra di trasmissione come segue: a. Se y sendbase, allora sendbase è lasciato inalterato; b. Se y > sendbase, allora sendbase è posto pari a y. Quando la sorgente trasmette per la prima volta k 1 bytes con numeri d ordine consecutivi, allora incrementa nextseqnum di k unità, ossia pone: nextseqnum= (nextseqnum + k) mod

41 Finestra di ricezione (1/5) Per gestire la richiesta di ritrasmissione di segmenti ricevuti con errori o mai ricevuti (persi), lo Strato di Trasporto del terminale di destinazione mantiene e aggiorna la finestra di ricezione. La finestra di ricezione ha dimensione W D 1 byte. Per definizione, la finestra di ricezione memorizza i numeri d ordine dei byte che la destinazione è disposta a ricevere consecutivamente, ossia senza bisogno di inviare alcun messaggio ACK alla sorgente. 41

42 Finestra di ricezione (2/5) La destinazione implementa e aggiorna (fa scorrere in avanti) la finestra di ricezione avvalendosi della sola variabile: Rcvbase è il più piccolo numero d ordine del byte che la destinazione attende di ricevere ma che i. Non ha mai ancora ricevuto (perdita di segmento); ii. Ha ricevuto con errori (segmento corrotto). In altri termini, rcvbase è l estremo inferiore della finestra di ricezione. 42

43 Finestra di ricezione (3/5) W D (byte) 43

44 Finestra di ricezione (4/5) Supponiamo che la destinazione riceva un segmento con numero di sequenza n s e lungo L 1 bytes. Allora, i. Se la destinazione rivela errori nel segmento ricevuto, ii. iii. scarta il segmento; Se la destinazione non rivela errori e inoltre se il segmento cade nella finestra di ricezione, ossia se è verificata la relazione seguente: n s + L rcvbase + W D, allora il segmento è accettato; Se la destinazione non rivela errori nel segmento ma il segmento non cade nella finestra di ricezione, ossia se n s + L > rcvbase + W D, allora la destinazione scarta il segmento. 44

45 Finestra di ricezione Aggiornamento (5/5) La destinazione aggiorna l estremo inferiore rcvbase della Finestra di ricezione alla generazione di ogni messaggio ACK. Supponiamo che la destinazione generi il messaggio ACK(z), allora l estremo inferiore della Finestra di ricezione è posto uguale a z, ossia: Rcvbase = z. 45

46 Temporizzatore e Retransmission Time Out (RTO) (1/2) Poiché uno o più segmenti inviati dalla sorgente nel canale diretto e/o uno o più riscontri inviati dalla destinazione nel canale di ritorno possono andare persi, il Protocollo di Trasporto al lato sorgente implementa e gestisce un temporizzatore (Timer). La sorgente associa il temporizzatore all (intero) segmento già trasmesso e non ancora riscontrato che, tra tutti i segmenti trasmessi e non ancora riscontrati, è quello che è stato trasmesso per primo (il più vecchio). Il timer è avviato (fatto partire) quando il suddetto segmento è trasmesso (per la prima volta o meno). Il timer è bloccato (fermato) quando la sorgente riceve un riscontro positivo per il segmento in oggetto. 46

47 Temporizzatore e Retransmission Time Out (RTO) (2/2) Quando (Timer RTO) (ossia il tempo di attesa è scaduto), allora: i. La sorgente ri-inizializza il timer; ii. La sorgente ritrasmette il segmento in oggetto. Quando (Timer < RTO) e la sorgente riceve un riscontro positivo circa il segmento in oggetto, allora: i. La sorgente blocca il timer. 47

48 Il servizio di Controllo di Congestione Principi generali 48

49 Quando si verifica una congestione di Rete I router e i canali trasmissivi della Rete Internet sono, in ogni istante, condivisi (ossia, utilizzati simultaneamente) da più canali logici impiegati da più coppie di processi per scambiarsi tra di loro messaggi. Informalmente, la Rete Internet diventa congestionata quando il numero totale di messaggi che i processi-sorgenti immettono nella rete Internet nell unità di tempo supera la velocità con cui i router e i canali trasmissivi della rete sono in grado di inoltrare i suddetti messaggi verso i corrispondenti processi di destinazione. 49

50 Effetti negativi della congestione di Rete (1/4) Il verificarsi di una congestione da luogo a due principali effetti negativi: i. Il ritardo medio che ciascun datagramma sperimenta a ciascun router che attraversa cresce al crescere del livello di congestione e, al limite, diviene infinito (rete completamente bloccata). ii. Un datagramma che arriva ad un router può trovare il corrispondente buffer già completamente occupato (buffer overflow al router) e, quindi, il datagramma viene scartato (perdita di datagrammi). 50

51 Effetti negativi della congestione di Rete (2/4) Supponiamo che, per effetto della congestione, un datagramma sia stato scartato ad un certo router R. Se il Protocollo di Trasporto adottato non fornisce un servizio di trasferimento dati affidabile (caso UDP), il messaggio contenuto nel datagramma scartato non raggiungerà mai il processo-destinazione. Ciò provoca una perdita di informazione alla destinazione. Se il protocollo di Trasporto adottato fornisce un servizio di trasferimento dati affidabile (caso di TCP), il messaggio contenuto nel datagramma scartato verrà ri-trasmesso una o più volte da parte del processo-sorgente. Ovviamente, ogni ri-trasmissione richiede l immissione nella Rete di un nuovo segmento (contenente sempre lo stesso messaggio) che andrà ad incrementare il livello di congestione della rete. 51

52 Effetti negativi della congestione di Rete Incremento dei ritardi (3/4) Host A λ λ in : original data out due sorgenti, due destinazioni buffer di dimensione infinita nessuna ritrasmissione Host B Baccarelli, Cordeschi, Patriarca, Polli unlimited shared output link buffers Grandi ritardi quando congestionata massimo throughput 52 raggiungibile

53 Effetti negativi della congestione di Rete Ritrasmissioni (4/4) un router, buffer di dimensione finita ogni sorgente ritrasmette i segmenti persi Host A λ in : original data λ' in : original data, plus retransmitted data λ out Host B finite shared output link buffers 53

54 Strategie per controllare le congestioni (1/2) Per eliminare (controllare) una congestione in atto, i processi-sorgente debbono ridurre le velocità con le quali immettono nuovi messaggi nella Rete. 54

55 o o Strategie per controllare le congestioni (2/2) Il controllo della velocità con la quale ciascun singolo processosorgente immette nuovi messaggi in Rete può essere effettuato in accordo a due differenti strategie. Nel controllo di congestione di tipo end-to-end, lo strato di rete non fornisce alcun servizio allo Strato di Trasporto per controllare le congestione. La stessa presenza di congestione deve essere rivelata dallo Strato di Trasporto presso gli utenti terminali autonomamente, basandosi, cioè, solamente sul valore assunto da indici prestazionali (quali, RTT e/o il tasso di perdita di segmenti) misurabili direttamente presso i terminali d utente. Questo è il tipo di controllo di congestione adottato dal TCP. Nel controllo di congestione assistito dalla rete, lo Strato di Rete (o, meglio, i router di rete) generano e inviano allo Strato di Trasporto dei terminali-sorgente espliciti messaggi contenenti informazioni circa: i. Il livello di occupazione dei buffers dei router; ii. Il ritardo medio di coda ai buffers dei router. Le reti ATM attuano strategie di controllo di congestione assistite dalla rete. 55

56 Il Protocollo UDP 56

57 UDP - Generalità L User Datagram Protocol (UDP) è un protocollo di trasporto che fornisce un servizio di trasferimento messaggi i. Privo di connessione; ii. Non affidabile. Inoltre, UDP dà luogo ad una modalità di trasferimento tra processi di tipo i. Punto-punto; ii. Bidirezionale; iii. Full-duplex. UDP attua solo due funzioni sui segmenti che trasferisce: i. Rivelazione degli errori una volta rivelato un errore in un segmento ricevuto, UDP scarta il segmento oppure lo passa al processo-destinazione notificando contestualmente la presenza di errori. ii. Multiplazione/demultiplazione dei segmenti trasferiti tra i processi 57

58 Perché usare UDP (1/2) Nonostante UDP fornisca un servizio di trasferimento non affidabile la sua utilizzazione presenta i seguenti vantaggi: o o o o Essendo UDP privo di connessione, il suo impiego non introduce i ritardi temporali necessari per instaurare una connessione tra i processi comunicanti; L header di un segmento UDP è molto più corto (8byte) dell header di un segmento TCP (almeno 20byte); Essendo UDP privo di connessione, non richiede che gli Strati di Trasporto dei processi comunicanti mantengano e gestiscano i parametri della connessione; Poiché UDP non attua controllo di congestione, la velocità con cui UDP immette i segmenti nella rete dipende solo dalla velocità con cui il corrispondente processo-sorgente genera i suoi messaggi. 58

59 Perché usare UDP (2/2) UDP è impiegato dalle applicazioni (ossia, dai processi di Strato Applicativo) che richiedono bassi ritardi di trasferimento end-to-end ma tollerano perdite/errori nei segmenti ricevuti dai processi di destinazione. Applicazione Protocollo di strato applicativo Protocollo di trasporto impiegato SMTP TCP Accesso al terminale TelNet TCP Web HTTP TCP Trasferimento file FTP TCP Applicazione multimediale UDP Telefonia via Internet VoIP UDP Protocolli di instradamento RIP UDP 59

60 Il formato del segmento UDP (1/2) Il segmento UDP è costituito da i. Un header (8byte) ii. Un campo payload (di lunghezza variabile ma non superiore a MSS byte) 32 bit n porta sorgente n porta dest. lunghezza checksum Dati dell applicazione (messaggio) 60

61 Il formato del segmento UDP (2/2) L header di un segmento UDP è composta dai seguenti campi: o o o o Num. porta sorgente (16 bit) indica il numero della porta alla quale è connesso il processo sorgente del terminale sorgente; Num. porta destinazione (16 bit) indica il numero della porta alla quale è connesso il processo destinazione del terminale destinazione; Lunghezza (16 bit) indica la lunghezza in byte dell intero segmento; Checksum (16 bit) è il campo dei bit di controllo di parità impiegato in ricezione per verificare la eventuale presenza di errori sull intero segmento ricevuto. 61

62 Multiplazione/Demultiplazione in UDP (1/3) UDP fornisce un servizio di trasferimento di messaggi privo di connessione. Ciò implica che le operazioni di multiplazione/demultiplazione effettuate da UDP hanno le seguenti caratteristiche: i. In UDP, un canale logico tra un processo sorgente e un processo destinazione è identificato solo dalla seguente coppia di parametri: <indirizzo IP del terminale di dest., num. Porta di dest.> ii. Quando il terminale di destinazione riceve un segmento UDP, allora: o Legge il numero della porta di destinazione; o Estrae il messaggio contenuto nel segmento; o Invia il messaggio alla socket col numero di porta di destinazione specificato. 62

63 Multiplazione/Demultiplazione in UDP (2/3) La conseguenza è che in UDP : o Segmenti che hanno differenti indirizzi IP sorgente e/o numeri di porta sorgente ma hanno lo stesso indirizzo IP di destinazione e lo stesso numero di porta destinazione vengono consegnati allo stesso socket all interno del terminale di destinazione. 63

64 Multiplazione/Demultiplazione in Esempio illustrativo UDP (3/3) P2 P3 P1 P1 SP: 6428 DP: 9157 SP: 6428 DP: 5775 SP: 9157 SP: 5775 client IP: A DP: 6428 server IP: C DP: 6428 Client IP:B SP provides return address 64

65 Il Protocollo TCP 65

66 TCP Generalità (1/4) o o Il Transport Control Protocol (TCP) fornisce allo Strato Applicativo un servizio di trasferimento di messaggi che è: Orientato alla connessione Affidabile. Inoltre, la modalità del trasferimento dati attuata dal TCP tra un processo sorgente e un processo destinazione è di tipo: i. Punto-punto; ii. Bidirezionale; iii. Full-duplex. Specificatamente, TCP offre i seguenti servizi e implementa le seguenti funzioni: i. Rivelazione di errori nei segmenti ricevuti; ii. iii. iv. Multiplazione/demultiplazione dei segmenti; Trasferimento affidabile dei segmenti; Controllo della velocità di emissione dei segmenti da parte del terminale sorgente (controllo di flusso); v. Controllo di congestione; vi. Gestione della connessione. 66

67 TCP Generalità (2/4) Essendo TCP orientato alla connessione, due processi che vogliano scambiare messaggi mediante TCP debbono preliminarmente instaurare una connessione (fase di handshaking). La fase di handshaking si compone di 3 passi: i. Il processo-cliente invia uno speciale segmento TCP al processo-servente (segmento di notifica); ii. Il processo-servente risponde inviando al processocliente un secondo speciale segmento TCP (segmento di risposta); iii. Il processo-cliente invia un terzo segmento TCP al processo-servente comunicandogli che è pronto a inviare/ricevere messaggi (segmento di O.K.). 67

68 TCP Generalità (3/4) Uno degli scopi della fase di handshaking è quello di permettere: i. al terminale-sorgente, di predisporre (allocare) un buffer di trasmissione in cui memorizzare temporaneamente i messaggi che sono stati generati dal processo sorgente ma non ancora trasmessi dal TCP operante al terminale sorgente; ii. al terminale-destinazione, di predisporre (allocare) un buffer di ricezione in cui memorizzare temporaneamente i messaggi estratti dai segmenti ricevuti che non sono ancora stati inoltrati (letti dal) processo di destinazione. 68

69 TCP Generalità (4/4) 69

70 Il segmento TCP (1/2) Ciascun segmento TCP è costituito da un: i. Header, la cui dimensione minima è di 20 byte; ii. Un campo Payload contiene il messaggio generato dall applicazione sorgente. Il campo payload può essere di dimensioni variabili, ma la dimensione massima è di MSS byte. 70

71 Il segmento TCP (2/2) source port # dest port # head len 32 bits sequence number acknowledgement number not used U A P R S F checksum Receive window Urg data pointer Options (variable length) application data (variable length) 71

72 L Header del segmento TCP (1/3) L Header di ciascun segmento TCP è costituito dai seguenti campi: o Source port # (16 bit) indica il numero della porta del processo sorgente; o Dest. port # (16 bit) indica il numero della porta del processo destinazione; o Seq. Number (32 bit) è il numero di sequenza del segmento in oggetto, ossia è il numero di sequenza del primo byte che costituisce il segmento in oggetto; o ACK Number (32 bit) è il numero d ordine del prossimo byte che il processo che genera il segmento si aspetta di ricevere dal processo al quale sta inviando il segmento; o Header Len. (4 bit) è la lunghezza dell header (comprese le eventuali opzioni), espressa in multipli di 32 bit; o Urg (1 bit) indica la presenza nel payload di dati urgenti (se urg=1) la cui posizione finale all interno del payload è specificata dal campo urgent pointer. 72

73 L Header del segmento TCP (2/3) o ACK (1 bit) indica se il contenuto del campo ACK number è valido (ACK=1), oppure se deve essere ignorato dal terminale che riceve il segmento in oggetto (ACK=0); o Push (1 bit) richiede (P=1) al terminale che riceve il segmento in oggetto di consegnarne il payload all opportuno socket, indipendentemente dal livello di occupazione del buffer di ricezione; o Reset (1 bit) segnala (R=1) l abbattimento di una connessione in atto oppure il rifiuto di una richiesta di apertura di una connessione; o Syn (1 bit) usato (S=1) per instaurare una connessione TCP; a seconda dello stato del bit ACK, distingue tra: Richiesta di connessione (S=1, ACK=0); Accettazione della richiesta di connessione (S=1, ACK=1). 73

74 L Header del segmento TCP (3/3) o Fin (1 bit) usato (F=1) per richiedere la chiusura (abbattimento) di una connessione in atto; o Receive Window (16 bit) indica il numero di byte che il processo che genera il segmento in oggetto è disposto a ricevere dal processo al quale il segmento è diretto; o Checksum (16 bit) bit di controllo della parità per la rivelazione alla destinazione di eventuali errori presenti in tutto il segmento ricevuto; o Urg. data pointer (16 bit) indica la posizione all interno del payload dell ultimo byte che costituisce i dati urgenti trasportati (eventualmente) dal payload; o Options campo di lunghezza variabile, ma in ogni caso multipla di 32 bit. Viene usato per negoziare il valore di MSS tra i processi comunicanti. 74

75 Il servizio di Mux/Demux in TCP (1/3) TCP offre un servizio orientato alla connessione. Ciò significa che, in TCP, ogni canale logico tra processo sorgente (residente nel terminale sorgente) e processo destinazione (residente nel terminale destinazione) è identificato da 4 parametri: i. Indirizzo IP del terminale sorgente; ii. Il numero di porta del terminale sorgente; iii. Indirizzo IP del terminale destinazione; iv. Il numero di porta del terminale destinazione. Per ogni segmento che riceve, il TCP al lato destinazione usa tutti e 4 parametri per inoltrare il messaggio contenuto nel segmento verso la socket di destinazione appropriata. 75

76 Il servizio di Mux/Demux in TCP (2/3) In particolare, ciò significa che, se il terminale destinazione riceve due segmenti con gli stessi valori dei campi: <indirizzo IP dest., Numero porta dest.> ma con valori diversi dei campi: <indirizzo IP sorg., Numero porta sorg. > allora il terminale destinazione inoltrerà i due segmenti a due socket distinti residenti nel terminale destinazione. 76

77 Il servizio di Mux/Demux in TCP- Esempio (3/3) P1 P4 P5 P6 P2 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C SP: 9157 SP: 9157 client IP: A DP: 80 S-IP: A D-IP:C server IP: C DP: 80 S-IP: B D-IP:C Client IP:B 77

78 Stima del RTT e calcolo del RTO in TCP 78

79 Stima del RTT di una connessione (1/4) Consideriamo la trasmissione di segmenti da un processo sorgente ad un processo destinazione mediante un assegnato canale logico (connessione TCP). Definiamo come Round Trip Time (RTT) (sec) sperimentato da uno specifico segmento l intervallo di tempo che intercorre tra l istante t 0 in cui il segmento inizia ad essere trasmesso dallo Strato di Trasporto del terminale sorgente e l istante t 1 in cui lo strato di trasporto del terminale sorgente riceve il corrispondente messaggio ACK inviatogli dal terminale di destinazione, ossia: RTT = t 1 -t 0 (sec). 79

80 Stima del RTT di una connessione (2/4) Ovviamente, ciascun segmento trasmesso sperimenterà un suo proprio valore di RTT che, in genere, varia da segmento a segmento. Indichiamo, allora, con RTTsample (sec) il valore del RTT del segmento correntemente trasmesso (per la prima volta) dallo strato di trasporto del terminale sorgente. 80

81 Valore medio del RTT (3/4) Indichiamo con RTT (sec) il valore medio degli RTTs dei segmenti trasmessi attraverso la connessione Proc. Sorgente Proc. Destinazione. Ogni volta che un nuovo RTTsample è misurato, il TCP al lato sorgente aggiorna il valore RTT del RTT medio in accordo alla seguente formula: RTT = (1-α) RTT + α RTTsample (sec), dove tipicamente α =

82 Valore medio del RTT Esempio illustrativo (4/4) L esempio mostra che: i. RTTsample può assumere valori medi molto diversi in istanti di tempo vicini tra di loro; ii. Il risultante valore medio RTT (sec) ha un andamento nel tempo molto meno fluttuante (più continuo) Baccarelli, Cordeschi, Patriarca, Polli 82

83 Deviazione media di RTT Può accadere che, di volta in volta, il valore correntemente misurato di RTTsample possa essere molto vicino o molto lontano al corrispondete valore medio RTT. Lo scostamento medio di RTTsample da RTT è misurato dalla variabile DevRTT (sec). Specificatamente, in corrispodenza ad ogni nuovo valore di RTTsample, il TCP al alto trasmissione aggiorna DevRTT in accordo alla relazione seguente: DevRTT = (1- β) DevRTT + β RTTsample - RTT, dove tipicamente β =

84 Calcolo del Re-Transmission Time Out (RTO) (1/2) Ricordiamo che il Re-transmission Time Out (RTO) (sec) è l intervallo temporale massimo che può trascorrere tra l istante di trasmissione di un segmento e l istante di ricezione del corrispondete ACK prima che il TCP al lato sorgente ri-trasmetta di nuovo il segmento in oggetto. Quindi, i. valori troppo piccoli di RTO possono provocare ritrasmissioni non necessarie di uno o più segmenti; ii. valori troppo grandi di RTO possono introdurre ritardi troppo elevati nel trasferimento di segmenti che sono stati soggetti a perdita. 84

85 Calcolo del Re-Transmission Time Out (RTO) (2/2) Allora, alla misurazione di ciascun nuovo RTTsample, il TCP al lato trasmissione effettua le seguenti operazioni: i. Aggiorna il valore di RTT; ii. Aggiorna il valore di DevRTT; e, infine, calcola il valore corrente di RTO (sec) sulla base della seguente formula: RTO= RTT + 4 DevRTT (sec). 85

86 Il servizio di trasferimento dati affidabile di TCP 86

87 Il servizio di trasferimento dati affidabile di TCP Generalità (1/3) Consideriamo il trasferimento di segmenti da un processo sorgente P S ad un processo destinazione P D attraverso una connessione (canale logico) gestita dal TCP. Ricordiamo che TCP deve implementare un servizio di trasferimento di segmenti da P S a P D affidabile, avvalendosi di un servizio di trasferimento di datagrammi non affidabile dal terminale sorgente H S al terminale destinazione H D realizzato dallo strato di rete di Internet. 87

88 Il servizio di trasferimento dati affidabile di TCP Generalità (2/3) Per dar luogo al servizio di trasferimento di segmenti affidabile, TCP fa ricorso all impiego: o Della strategia ARQ; o Della numerazione (ciclica) dei segmenti trasmessi; o Della numerazione (ciclica) dei messaggi di riscontro (ACK); o Delle finestre di trasmissione e di ricezione; o Del temporizzatore e del RTO; o Del NACK implicito (3ACK con stesso numero di sequenza) o già descritti in precedenza. 88

89 Il servizio di trasferimento dati affidabile di TCP Generalità (3/3) Quindi, non ci rimane altro che passare alla descrizione dettagliata degli algoritmi (operazioni) che il TCP implementa: o Al lato trasmissione (TCP sender algorithm); o Al lato ricezione (TCP receiver algorithm). 89

90 Trasferimento dati affidabile di TCP Lato Sorgente (1/5) Al lato sorgente, la trasmissione di nuovi segmenti o la ri-trasmissione di segmenti già trasmessi in precedenza è, di volta in volta, regolata dal verificarsi o meno di uno dei seguenti 3 eventi: a. Un nuovo messaggio è ricevuto dal processo sorgente - in questo caso, il TCP opera come o o o segue: Incapsula il messaggio in un nuovo segmento, al quale assegna come numero di sequenza il numero d ordine del primo byte che costituisce il segmento stesso; Passa il segmento allo strato di Rete; Se non è già stato attivato, attiva il Timer. 90

91 Trasferimento dati affidabile di TCP Lato Sorgente (2/5) b. Si verifica un TimeOut (ossia, Timer > RTO) in questo caso il TCP: Ri-inizializza il timer; Ri-trasmette il segmento che ha causato il timeout. 91

92 Trasferimento dati affidabile di TCP Lato Sorgente (3/5) c. E ricevuto ACK (y) - in questo caso, il TCP aggiorna l estremo inferiore: sendbase della finestra di trasmissione, operando come segue: i. Se y > sendbase, allora: iii. o Sendbase è posto pari a y; o Se ci sono nella finestra di trasmissione segmenti già trasmessi non ancora riscontrati, allora ri-inizializza il timer. Se y sendbase, allora: o Sendbase non viene modificato; o Se è il terzo ACK che ricevi con numero di sequenza y, allora ri-trasmetti l intero segmento y-mo. 92

93 Trasferimento dati affidabile di TCP Lato Sorgente (4/5) 1. NextSeqNum : = InitialSeqNum; /* inizializzazione */ 2. SendBase : = InitialSeqNum; /* inizializzazione */ In definitiva, l algoritmo che il TCP implementa al Lato Sorgente della connessione per garantire il trasferimento affidabile dei dati assume la forma seguente: switch(event) event: data received from application above 3. create TCP segment with sequence number NextSeqNum; 4. if (timer currently not running) start timer; 5. pass segment to IP; 6. NextSeqNum := NextSeqNum + length(data); event: timer timeout 7. retransmit not-yet-acknowledged segment with 8. smallest sequence number; start timer; event: ACK received, with ACK field value of y if (y > SendBase) { 9. SendBase := y if (there are currently not-yet-acknowledged segments) 10. start timer; } else{ 11. increment count of dup ACKs received for y; if (count of dup ACKs received for y = 3) { Baccarelli, resend segment with sequence number y; Cordeschi, Patriarca, } Polli

94 Trasferimento dati affidabile di TCP Lato Sorgente (5/5) E interessante osservare che se la sorgente riceve tre ACKs con uno stesso numero di sequenza y, allora al sorgente ri-trasmette l intero segmento no.y, anche se non si è ancora verificato alcun timeout. Questo meccanismo di ri-trasmissione di un segmento causato dalla ricezione di tre ACK è detto Fast- Retransmission Mechanism. Il suo scopo è quello di anticipare l istante di ritrasmissione di un segmento che (verosimilmente) è andato perso, senza attendere che il Timer ad esso associato scada. 94

95 Trasferimento dati affidabile di TCP Lato Destinazione (1/2) Alla ricezione di ciascun segmento, il Lato Destinazione opera come segue: i. Verifica se il segmento è affetto da errori; ii. iii. Se rivela errori nel segmento, scarta il segmento; Se non rivela errori nel segmento, genera un messaggio ACK e aggiorna la finestra di ricezione in accordo a quanto riportato nella tabella seguente: 95

96 Trasferimento dati affidabile di TCP Lato Destinazione (2/2) Evento alla destinazione Arrivo ordinato di un segmento con numero di sequenza atteso. Tutti i dati fino al numero di sequenza atteso sono già stati riscontrati. Azione della destinazione TCP ACK ritardato. Attende fino a 500ms l arrivo del prossimo segmento. Se il segmento non arriva, invia un ACK. Arrivo ordinato di un segmento con numero di sequenza atteso. Un altro segmento è in attesa di trasmissione dell ACK. Invia immediatamente un singolo ACK cumulativo, riscontrando entrambi i segmenti ordinati. Arrivo non ordinato di un segmento con numero di sequenza superiore a quello atteso. Viene rilevato un buco. Invia immediatamente un ACK duplicato, indicando il numero di sequenza del prossimo byte atteso. Arrivo di un segmento che colma parzialmente o completamente il buco. Invia immediatamente un ACK, ammesso che il segmento cominci all estremità inferiore del buco. 96

97 Trasferimento di Dati affidabile in TCP - Conclusioni Che tipo di strategia ARQ è quella attuata dal TCP e descritta dalle precedenti slides? Poiché ogni messaggio ACK(y) riscontra positivamente tutti i bytes ricevuti dalla destinazione con numero d ordine (y-1), il tipo di messaggio ACK impiegato dal TCP è cumulativo. L impiego di ACK cumulativi è tipico della strategia Go-back-N. D altra parte, mediante l impiego delle strategie di TimeOut e di Fast Retransmission, il TCP è in grado di ri-trasmettere singoli segmenti. La capacità di ritrasmettere singoli segmenti è tipica della strategia Selective Repeat (SR). In conclusione, la strategia ARQ attuata dal TCP è un ibrido delle strategie Go-back-N e Selective Repeat. 97

98 Il servizio di controllo di flusso in TCP 98

99 Controllo di Flusso in TCP Generalità (1/2) Consideriamo una connessione (canale logico) TCP da un processo sorgente P S (residente nel terminale sorgente H S ) ad un processo destinazione P D (residente nel terminale destinazione H D ). Abbiamo già visto che, all atto dell instaurazione della connessione, il TCP al lato destinazione alloca un buffer di ricezione per la memorizzazione temporanea dei segmenti ricevuti che non sono ancora stati passati al processo di destinazione. Indichiamo con RcvBuffer la dimensione (in byte) del buffer di ricezione allocato dal TCP alla destinazione al momento dell instaurazione della connessione in oggetto. 99

100 Controllo di Flusso in TCP Generalità (2/2) Lo scopo del servizio di Controllo di Flusso è quello di regolare (aumentare o diminuire) la velocità (byte/ sec) con cui lo Strato di Trasporto al lato sorgente immette byte nella connessione in modo da garantire che il numero di byte da memorizzare nel buffer di ricezione non superi mai il valore: RcvBuffer. Per implementare il suddetto servizio, il lato sorgente e il lato destinazione della connessione TCP mantengono e aggiornano una finestra di trasmissione e una finestra di ricezione, le dimensioni delle quali possono variare nel tempo, come di seguito specificheremo. 100

101 Controllo di Flusso in TCP Lato Destinazione (1/4) Per implementare il controllo di flusso, il lato Destinazione della connessione TCP mantiene e aggiorna le due seguenti variabili: o Last_Byte_Rcvd è il numero d ordine dell ultimo byte (ossia del byte più recente) che la destinazione ha ricevuto dalla connessione; o Last_Byte_Read - è il numero d ordine dell ultimo byte (ossia del byte più recente) che il processo destinazione ha prelevato (letto) dal buffer di ricezione; Ovviamente, affinchè il buffer di ricezione non trabocchi, deve sempre essere verificata la seguente condizione: (Last_Byte_Rcvd) (Last_Byte_Read) RcvBuffer 101

102 Controllo di Flusso in TCP Lato Destinazione (2/4) Sulla base dei valori correnti di: Last_Byte_Rcvd e di Last_Byte_Read, il TCP al Lato Destinazione effettua le seguenti 3 operazioni: i. Aggiorna la variabile: RcvWindow in accordo alla seguente relazione: RcvWindow := RcvBuffer [Last_Byte_Rcvd Last_Byte_Read] ovviamente, RcvWindow costituisce il numero di byte che sono ancora liberi nel buffer di ricezione (vedi la figura seguente). 102

103 Controllo di Flusso in TCP Lato Destinazione (3/4) 103

104 ii. Controllo di Flusso in TCP Lato Destinazione (4/4) Memorizza il valore della variabile: RcvWindow nel campo: ReceiveWindow di un nuovo segmento che il processo destinazione invierà al processo sorgente; iii. Invia il suddetto segmento al processo sorgente, così che il TCP operante al lato sorgente della connessione possa conoscere quanti byte sono correntemente liberi nel buffer di ricezione. 104

105 Controllo di Flusso in TCP Lato Sorgente (1/2) Per implementare il controllo di flusso, il TCP al lato sorgente mantiene e aggiorna le due seguenti variabili: o Last_Byte_Sent - è il numero d ordine dell ultimo byte (ossia del byte più recente) che la sorgente ha inviato nella connessione; o Last_Byte_Acked - è il numero d ordine dell ultimo byte (ossia del byte più recente) di cui la sorgente ha ricevuto un riscontro positivo da parte della destinazione. Quindi la differenza: (Last_Byte_Sent) (Last_Byte_Acked) Ha l ovvio significa di numero di byte che sono stati trasmessi dalla sorgente ma dei quali non ha ancora ricevuto alcun riscontro. 105

106 Controllo di Flusso in TCP Lato Sorgente (2/2) Nel momento in cui la sorgente riceve un nuovo segmento dalla destinazione, il TCP al lato sorgente effettua le seguenti operazioni: i. Estrae dal segmento ricevuto dalla destinazione il contenuto del campo: Receive Window (ossia, legge il valore di RcvWindow); ii. Aggiorna la variabile: Last_Byte_Sent (ossia, eventualmente trasmette un certo numero di byte) in modo che risulti in ogni caso soddisfatta la seguente relazione: Last_Byte_Sent Last_Byte_Acked + RcvWindow Sintanto che il TCP a lato sorgente garantisce il soddisfacimento della relazione precedente, il buffer di ricezione non subirà mai trabocchi. 106

107 Il servizio di Controllo di Congestione in TCP 107

108 Il Controllo di Congestione in TCP Generalità (1/3) Consideriamo una connessione (canale logico) TCP da un processo sorgente P S (residente nel terminale sorgente H S ) ad un processo destinazione P D (residente nel terminale destinazione H D ). Poiché la connessione P S P D impiega router e canali trasmissivi che possono essere contemporaneamente utilizzati da altre connessioni attive nella Rete Internet, può accadere che il numero totale di segmenti che ciascun router e canale trasmissivo deve inoltrare nell unità di tempo (traffico aggregato) sia più grande delle velocità di inoltro (switching speed) dei router e delle capacità dei canali trasmissivi. Quando ciò accade, la Rete è detta essere congestionata. 108

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

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

IP Internet Protocol

IP Internet Protocol IP Internet Protocol Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 13 IP - 1/20 IP IP è un protocollo a datagrammi In spedizione: Riceve i dati dal livello trasporto e

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

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

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

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

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

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

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 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

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Una definizione di Rete Una moderna rete di calcolatori può essere definita come:

Dettagli

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008 Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome: Corso di laurea e anno: Matricola:

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

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

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

Dettagli

Esercizi Reti di TLC A Parte II. Indirizzamento IP. Esercizio 9.1. Esercizio 9.2. Luca Veltri

Esercizi Reti di TLC A Parte II. Indirizzamento IP. Esercizio 9.1. Esercizio 9.2. Luca Veltri Esercizi Reti di TLC A Parte II Indirizzamento IP Luca Veltri (mail.to: luca.veltri veltri@unipr.it) Corso di Reti di Telecomunicazione,, a.a. 2011/2012 http://www.tlc tlc.unipr.it/.it/veltri Esercizio

Dettagli

Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia

Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia Controllo di flusso in TCP Prof. Ing. Maurizio Casoni Dipartimento di Ingegneria dell Informazione Università degli Studi di Modena e Reggio Emilia Meccanismo a finestra La dimensione della finestra viene

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette.

Dettagli

Strato trasporto. Per capir meglio la cosa analizziamo il seguente esempio:

Strato trasporto. Per capir meglio la cosa analizziamo il seguente esempio: Reti Mod 2 Strato trasporto Lo strato trasporto si colloca al livello 4 della pila ISO-OSI. Ha la funzione di stabilire un collegamento logico tra le applicazioni dei diversi host collegati tra di loro.

Dettagli

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

Capitolo 3 - parte 2. Corso Reti ed Applicazioni Mauro Campanella Capitolo 3 - parte 2 Corso Reti ed Applicazioni Mauro Campanella Principi di un trasferimento dati affidabile strato di trasporto strato di applicazione (a) Servizio fornito (b) la realizzazione del Servizio

Dettagli

Capitolo 8 Strato di Collegamento- Accesso Multiplo e Reti in Area Locale

Capitolo 8 Strato di Collegamento- Accesso Multiplo e Reti in Area Locale Capitolo 8 Strato di Collegamento- Accesso Multiplo e Reti in Area Locale 1 Sommario del Capitolo Servizi offerti dallo Strato di Collegamento o Rivelazione di errore e controllo di errore (ARQ) o Indirizzamento

Dettagli

Reti di Calcolatori. Il software

Reti di Calcolatori. Il software Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla

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

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Il livello Network del TCP/IP. Il protocollo IP (versione 4) Il livello Network del TCP/IP. Il protocollo IP (versione 4) L architettura TCP/IP (il cui nome più preciso è ) è formata da diversi componenti, che si posizionano nello stack dei protocolli a partire

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 4

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 4 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II Lezione 4 Giovedì 13-03-2014 1 Ritardi e perdite nelle reti a commutazione

Dettagli

DA SA Type Data (IP, ARP, etc.) Padding FCS 6 6 2 0-1500 0-46 4

DA SA Type Data (IP, ARP, etc.) Padding FCS 6 6 2 0-1500 0-46 4 Esercizio Data la rete in figura, si assuma che i terminali T1-T12 e T13-T24 siano connessi tramite collegamenti di tipo UTP a due switch Fast Ethernet. Si assuma che le tabelle ARP di tutti i dispositivi

Dettagli

Avoidance, Fast Retransmit, And Fast Recovery

Avoidance, Fast Retransmit, And Fast Recovery Università degli Studi di Modena e Reggio Emilia Dipartimento di Ingegneria dell Informazione TCP: Algoritmi di Slow Start, Congestion Avoidance, Fast Retransmit, And Fast Recovery rfc 2001 M.L. Merani

Dettagli

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1 Introduzione Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio Livello applicativo Principi delle applicazioni di rete 2-1 Pila di protocolli Internet Software applicazione: di

Dettagli

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete 1. Si consideri un protocollo per il trasporto non affidabile di dati realtime. Il sender spedisce un pacchetto

Dettagli

Livello di Rete. Gaia Maselli maselli@di.uniroma1.it

Livello di Rete. Gaia Maselli maselli@di.uniroma1.it Livello di Rete Gaia Maselli maselli@di.uniroma1.it Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. All material copyright 1996-2007 J.F Kurose

Dettagli

Corsi di Reti di Calcolatori (Docente Luca Becchetti)

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Corsi di Reti di Calcolatori (Docente Luca Becchetti) NOT : le soluzioni proposte sono volutamente sintetiche. Lo studente dovrebbe fare uno sforzo per risolvere i quesiti in modo autonomo, espandendo

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

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

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

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

Reti di Calcolatori. Lezione 2

Reti di Calcolatori. Lezione 2 Reti di Calcolatori Lezione 2 Una definizione di Rete Una moderna rete di calcolatori può essere definita come: UN INSIEME INTERCONNESSO DI CALCOLATORI AUTONOMI Tipi di Rete Le reti vengono classificate

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

Modulo 11. Il livello trasporto ed il protocollo TCP Indice

Modulo 11. Il livello trasporto ed il protocollo TCP Indice Pagina 1 di 14 Il livello trasporto ed il protocollo TCP Indice servizi del livello trasporto multiplexing/demultiplexing trasporto senza connesione: UDP principi del trasferimento dati affidabile trasporto

Dettagli

Il livello Data-Link e i suoi protocolli

Il livello Data-Link e i suoi protocolli Il livello Data-Link e i suoi protocolli Modulo 5 (Integrazione) Livello Data-Link Abbiamo visto che il Livello Data link provvede a: o offrire servizi al livello network con un'interfaccia ben definita;

Dettagli

Strato di Col o l l e l g e a g m a e m n e t n o

Strato di Col o l l e l g e a g m a e m n e t n o Strato di Collegamento Romeo Giuliano romeo.giuliano@uniroma2.it 1 Argomenti Principi di funzionamento dello strato di collegamento Rivelazione e correzione degli errori Protocolli data link elementari

Dettagli

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

Capitolo 3 - parte 4. Corso Reti ed Applicazioni Mauro Campanella Capitolo 3 - parte 4 Corso Reti ed Applicazioni Mauro Campanella TCP Dalla prima RFC ad oggi, sono state introdotti in TCP vari meccanismi per: - rendere più efficente il trasferimento dei segmenti - rendere

Dettagli

Esercizi Reti di TLC Parte II LAN. Esercizio 5.2. Esercizio 5.1. Luca Veltri

Esercizi Reti di TLC Parte II LAN. Esercizio 5.2. Esercizio 5.1. Luca Veltri UNIVERSITA DEGLI STUDI DI PARMA Dipartimento di Ingegneria dell Informazione Esercizi Reti di TLC Parte II LAN Luca Veltri (mail.to: luca.veltri@unipr.it) Corso di Reti di Telecomunicazione, a.a. 2013/2014

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

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

Capitolo 1 - parte 1. Corso Reti ed Applicazioni Mauro Campanella Capitolo 1 - parte 1 Corso Reti ed Applicazioni Mauro Campanella Precisazione Noi ci occuperemo solo della trasmissione di informazione in formato digitale. Un segnale analogico è basato su una variazione

Dettagli

Elementi di Reti per Telecomunicazioni

Elementi di Reti per Telecomunicazioni Elementi di Reti per Telecomunicazioni (Parte II) Topologie ed Interfacciamento di Reti Corso di Telecomunicazioni Anno Accademico 2004/2005 Contenuti Introduzione alle reti di TLC. Topologie di Reti per

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005 Si svolga il compito su questi fogli. Nel caso di domande a risposta aperta, lo spazio lasciato sul foglio

Dettagli

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori I semestre 03/04 Internet Control Message Protocol ICMP Comunica messaggi di errore o altre situazioni che richiedono intervento Errore di indirizzo o di istradamento Congestione in un router Richiesta

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 1 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 1 Giovedì 5-03-2015 TESTO DI RIFERIMENTO RETI DI CALCOLATORI E INTERNET un

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 1 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II Lezione 1 Martedì 4-03-2014 1 TESTO DI RIFERIMENTO RETI DI CALCOLATORI

Dettagli

Introduzione alle Reti Telematiche

Introduzione alle Reti Telematiche Introduzione alle Reti Telematiche Esercizi Copyright Gruppo Reti Politecnico di Torino INTROUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons Noerivs-NonCommercial.

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP

Dettagli

Il modello TCP/IP. Sommario

Il modello TCP/IP. Sommario Il modello TCP/IP Il protocollo IP Mario Cannataro Sommario Introduzione al modello TCP/IP Richiami al modello ISO/OSI Struttura del modello TCP/IP Il protocollo IP Indirizzi IP Concetto di sottorete Struttura

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

TCP/IP. Principali caratteristiche

TCP/IP. Principali caratteristiche TCP/IP Principali caratteristiche 1 TCP/IP Caratteristiche del modello TCP/IP Struttura generale della rete Internet IL MONDO INTERNET Reti nazionali e internazionali ROUTER Rete Azienade ROUTER ROUTER

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00 Alcune domande hanno risposta multipla: si richiede di identificare tutte le risposte corrette.

Dettagli

Laurea in INFORMATICA

Laurea in INFORMATICA Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 24/25 Capitolo MESSAGGI di ERRORE e di CONTROLLO alberto.polzonetti@unicam.it Internet Control Message Protocol Il protocollo è un servizio best

Dettagli

Reti di calcolatori. Architettura delle reti. Mezzi trasmissivi

Reti di calcolatori. Architettura delle reti. Mezzi trasmissivi Reti di calcolatori Architettura delle reti Una di calcolatori è costituita da molti calcolatori (nodi o host della ) collegati tra loro che interagiscono usufruendo dei servizi di per lo scambio delle

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

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

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema contenuto della comunicazione sistema per la gestione della comunicazione sottosistema C sottosistema B sottosistema A

Dettagli

Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon

Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi

Dettagli

Reti basate sulla stack di protocolli TCP/IP

Reti basate sulla stack di protocolli TCP/IP Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1 Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo

Dettagli

Internet Parte II Romeo Giuliano romeo.giuliano@uniroma2.it 1

Internet Parte II Romeo Giuliano romeo.giuliano@uniroma2.it 1 Internet Parte II Romeo Giuliano romeo.giuliano@uniroma2.it 1 Argomenti Introduzione a Internet ARPANET, NSFNET, Struttura di base di Internet Architettura protocollare di Internet Pila protocollare, Protocollo

Dettagli

Reti standard. Si trattano i modelli di rete su cui è basata Internet

Reti standard. Si trattano i modelli di rete su cui è basata Internet Reti standard Si trattano i modelli di rete su cui è basata Internet Rete globale Internet è una rete globale di calcolatori Le connessioni fisiche (link) sono fatte in vari modi: Connessioni elettriche

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 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Reti di calcolatori e Internet

Reti di calcolatori e Internet Corso di Laboratorio di Tecnologie dell'informazione Reti di calcolatori e Internet Copyright Università degli Studi di Firenze - Disponibile per usi didattici Cos è Internet: visione dei componenti Milioni

Dettagli

Il Trasporto di Dati Real-time

Il Trasporto di Dati Real-time Il Trasporto di Dati Real-time Ormai molte applicazioni scambiano informazioni in cui le relazioni temporali sono molto importanti. La Telefonia via Internet, Videoconferenza, Lezioni a distanza, Meeting

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Reti di Calcolatori Claudio Marrocco Componenti delle reti Una qualunque forma di comunicazione avviene: a livello hardware tramite un mezzo fisico che

Dettagli

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

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

5 Architettura protocollare

5 Architettura protocollare 5 Architettura protocollare L architettura protocollare del GPRS è basata sul principio della stratificazione dei protocolli, in accordo col modello ISO/OSI; lo standard GPRS distingue due tipi di piani

Dettagli

Il protocollo TCP. Obiettivo. Procedura

Il protocollo TCP. Obiettivo. Procedura Il protocollo TCP Obiettivo In questo esercizio studieremo il funzionamento del protocollo TCP. In particolare analizzeremo la traccia di segmenti TCP scambiati tra il vostro calcolatore ed un server remoto.

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Il Mondo delle Intranet

Il Mondo delle Intranet Politecnico di Milano Advanced Network Technologies Laboratory Il Mondo delle Intranet Network Address Translation (NAT) Virtual Private Networks (VPN) Reti Private e Intranet EG sottorete IG IG rete IG

Dettagli

Tempo svolgimento della prova: 2ore

Tempo svolgimento della prova: 2ore sempio della prova scritta di Internet Per chi non ha superato la prova N Sull indirizzamento IP vedere anche il file sercizi Indirizzamento IP Uso degli appunti NON consentito Tempo svolgimento della

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

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

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 4 Reti di Calcolatori Sommario Software di rete Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) Software di rete Livello Rete (IP, Routing, ICMP) Se i protocolli

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 1 Reti di Calcolatori MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 2 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto

Dettagli