Sistemi e Tecnologie della Comunicazione

Slides:



Advertisements
Presentazioni simili
I bridge Standard IEEE 802.1D.
Advertisements

Il livello di trasporto
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
5-1 Protocolli ad accesso multiplo Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
I modelli di riferimento OSI e TCP/IP
La rete in dettaglio: rete esterna (edge): applicazioni e host
Moving Moving Young Young Turin Turin Hydrogen Hydrogen Olympic Olympic Safe RETE MANET informazioni in movimento.
Sistemi e Tecnologie della Comunicazione
Sistemi e Tecnologie della Comunicazione
Esercizio 1 Si consideri un canale via satellite della capacità di 2 Mb/s. Considerando che il tempo di propagazione attraverso un satellite geostazionario.
La rete del futuro nell’autonomia scolastica
Reti e Sistemi operativi
Esercizio 1 Si consideri un canale via satellite della capacità di 2 Mb/s. Considerando che il tempo di propagazione attraverso un satellite geostazionario.
Esercizio 1 Il collegamento fra due punti, A e B, è effettuato con il protocollo Go Back N con piggybacking in modalità full-duplex. I pacchetti trasmessi.
Esercizio 1 Due collegamenti in cascata, AB e BC hanno una velocità rispettivamente di 100 Mb/s e 50 Mb/s e tempi di propagazione pari a 1 ms e 1.2 ms.
Corso di Tecniche e Sistemi di trasmissione Fissi e Mobili
Ricerca della Legge di Controllo
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
Reti di Calcolatori IL LIVELLO RETE.
ADSL VOIP Voice Over IP.
IL MODEM Che cos’è? A cosa serve? Che problemi risolve? Come comunica?
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
Univ. Studi di Roma FORO ITALICO Prof. Stefano Razzicchia 1 UNIVERSITA STUDI DI ROMA FORO ITALICO Corso di Laurea Triennale INFORMATICA Lez. 6.
Delay Tolerant Networking Service per SAMOA. Il framework SAMOA SAMOA è un framework che consente di gestire e popolare la rete sociale e propagare a.
1 Esercizio 1 Un router riceve da un collegamento A lungo 10 km a 100 Mb/s e instrada i pacchetti ricevuti, lunghi 1000 bit verso una linea duscita B a.
Realizzato da Roberto Savino 3-1 Il livello di trasporto r Dobbiamo assumere di avere a che fare con un canale di comunicazione molto particolare 1. Inaffidabile.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 7.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Esercizi.
TRASMISSIONE DATI CON MODEM
Strutture dati per insiemi disgiunti
Il modello di riferimento OSI
Un modem, una scheda di rete, o comunque una unità di comunicazione tra calcolatori elettronici, trasmettendo uninformazione, a causa di disturbi esterni,
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Calcolo timeout Modulo 2 - U.D. 5 - Lez. 6
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Efficienza e controllo derrore. Introduzione Come abbiamo visto il controllo derrore, necessario per ottenere un trasporto affidabile, si basa su: somme.
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
L’architettura a strati
INTERNET e RETI di CALCOLATORI
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
TESINA DI SISTEMI.
Livello di trasporto Protocolli TCP e UDP.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
1 Sistemi e Tecnologie della Comunicazione Lezione 22: transport layer: introduzione, funzionalita’
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
Protocolli avanzati di rete Modulo 3 -Wireless network Unità didattica 3 - Medium Access Control (MAC) Ernesto Damiani Università degli Studi di Milano.
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
Modulo 2 - U.D. 5 - L.3 (parte II)
Complementi sul controllo d’errore (parte I). Introduzione Lo schema di gestione d’errore Idle RQ garantisce che i pacchetti: – arrivino non corrotti.
Flusso e congestione TCP
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Flusso TCP (parte II). Trasferimento di grandi quantità di dati (1) Spesso il mittente deve inviare grandi quantità di dati. Genera un numero elevato.
Fast Retransmit. Fast Retransmit (1) Altri indizi di perdite oltre il timeout: possiamo interpretare il verificarsi di sequenze di 4 ACK per lo stesso.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti: Reti locali (LAN)
Controllo congestione. Controlli: della congestione e di flusso Problema Controllo della congestione Evitare che più mittenti inseriscano troppi dati.
Controllo di flusso TCP. Elementi base del flusso TCP (1) Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso.
Sistemi e Tecnologie della Comunicazione Lezione 2: architettura delle reti e modello OSI.
Sistemi e Tecnologie della Comunicazione
1 Sistemi e Tecnologie della Comunicazione Lezione 12: data link layer: controllo di flusso, protocolli stop-and-wait e sliding window.
Tecniche di gestione della congestione 1/2 Il fenomeno della congestione si ha quando un nodo intermedio (IS)non è più in grado di soddisfare le richieste.
La comunicazione attaverso la rete Presentazione di: Nicola Rispoli Presentazione di: Nicola Rispoli Materia: informatica Materia: informatica Data: 13.
La comunicazione attraverso la rete
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A RETI DI CALCOLATORI Il livello.
Transcript della presentazione:

Sistemi e Tecnologie della Comunicazione Lezione 12: data link layer: controllo di flusso, protocolli stop-and-wait e sliding window

Controllo di flusso L’implementazione del data link layer prevedera’ la realizzazione della interfaccia con i livelli adiacenti, ad esempio due procedure from-network-layer() e to-network-layer() per scambiare dati con il livello superiore, e due procedure analoghe per scambiare dati con lo strato fisico In aggiunta sara’ prevista una procedura wait-for-event() che mettera’ il data link layer in attesa di un evento Questo evento sara’ in generale la segnalazione, da parte di uno dei due livelli adiacenti, che sono disponibili dei dati Infine, saranno definite procedure per il trattamento dei dati (inserimento/rimozione di header, calcolo di checksum, …)

Controllo di flusso (cont.) In ricezione, il data link layer verra’ svegliato per prelevare dati dallo strato fisico, processarli, e passarli allo strato di rete Di fatto il DDL in ricezione non sara’ in grado di rispondere ad eventi per il tempo che intercorre tra la chiamata alla procedura from-physical-layer() e la fine della procedura to-network-layer() In questo intervallo di tempo, dati in arrivo saranno messi in buffer, in attesa di essere processati Poiche’ il tempo di elaborazione non e’ nullo, si deve gestire l’eventualita’ che i dati arrivino troppo velocemente

Controllo di flusso a priori Un semplice meccanismo puo’ essere quello di valutare i tempi di risposta del ricevente, ed inserire dei ritardi nel processo di trasmissione per adattarlo alla capacita’ di ricezione Il problema e’ che il tempo di processamento in ricezione non e’ una costante e puo’ dipendere dal numero di linee che il nodo ricevitore deve gestire Basarsi sul caso peggiore comporta un grosso limite di efficienza Vedremo esempi di protocolli che implementano un controllo di flusso di complessita’ crescente al fine di utilizzare al meglio la banda

Protocollo simplex stop-and-wait Ipotizziamo che il canale sia privo di errori il traffico dati scorra in una direzione sola, dal trasmittente (A) al ricevente (B), cioe’ protocollo simplex Il protocollo stop-and-wait prevede che A, dopo aver inviato il frame, si fermi per attendere un riscontro B, una volta ricevuto il frame, inviera’ ad A un frame di controllo, cioe’ un frame privo di dati, allo scopo di avvisare A che puo’ trasmettere un nuovo frame Il frame di riscontro di indica generalmente con il termine ACK (ACKnowledge) o RR (Receiver Ready) Va osservato che il traffico dati e’ simplex, ma i frame devono viaggiare nelle due direzioni, quindi il canale fisico deve essere almeno half-duplex

Efficienza del protocollo stop-and-wait A inizia ad inviare un frame a B al tempo T=0, e potra’ inviare un altro frame solo dopo aver ricevuto l’ACK da B Il tempo di attesa e’ T = Tframe+Tprop+Tproc+Tack+Tprop+Tproc dove Tframe e Tack sono i tempi necessari a trasmettere il frame e l’ack, Tprop e’ il tempo di propagazione del segnale sul mezzo trasmissivo, Tproc e’ il tempo di processamento dei dati Assumendo nulli Tproc e Tack si ha T = 2Tprop+Tframe

Efficienza stop-and-wait (cont.) Si definisce efficienza dell’utilizzo del canale il rapporto tra il tempo impiegato a trasmettere il frame, ed il tempo totale di attesa prima di poter trasmettere nuovamente: u = Tframe/(2Tprop+Tframe) Definiamo la quantita’ a= Tprop/Tframe Possiamo quindi scrivere u=1/(1+2a) Al crescere di a si riduce l’efficienza di utilizzo del mezzo

Efficienza stop-and-wait (cont.) Il valore di a dipende dalle caratteristiche della linea: detti d la lunghezza in metri del mezzo, V la velocita’ di propagazione del segnale, R il tasso trasmissivo ed L la lunghezza in bit del frame, si ha Tprop = d/V Tframe = L/R --> a = (Rd)/(LV) Quindi possiamo vedere che, a parita’ degli altri fattori, l’efficienza si riduce con: l’aumento del tasso trasmissivo l’aumento della distanza la riduzione della dimensione del frame

Efficienza stop-and-wait (cont.)

Efficienza stop-and-wait (cont.) Il valore di a puo’ essere interpretato come il rapporto tra la lunghezza in bit della linea e la lunghezza in bit del frame (cioe’ quanti frame stanno sulla linea); infatti la durata del bit e’ dato dall’inverso del rate: la lunghezza spaziale del bit e’ data dalla velocita’ di trasmissione del segnale per la durata del bit, quindi il numero di bit che stanno sulla linea e’ dato dal rapporto tra la lunghezza della linea e la lunghezza del bit: quindi

Calcolo di efficienza Connessione via modem a 56 Kbps, distanza di 1 Km dalla centralina, con frame lungo 1000 bit. L’efficienza sara’: Connessione geografica a 1000 Km con frame di 424 bit, e throughput di 155 Mbps:

Protocollo stop-and-wait con errori (cont.) Se aggiungiamo la eventualita’ di avere errori, dovremo gestire la perdita di frame se arriva a B un frame errato, B lo scarta e non fa nulla allo stesso modo se il frame viene perduto, B non sapra’ che e’ stato inviato un frame, e l’ACK non verra’ inviato per evitare che A aspetti per sempre si deve introdurre un timer in A, che viene fatto partire dopo la trasmissione del frame questo implica la necessita’ di disporre di un buffer in cui A possa memorizzare il frame fino alla ricezione del relativo ACK allo scadere del timer, A inviera’ nuovamente il frame il valore del timer va valutato accuratamente per impedire che un timer troppo corto provochi la ritrasmissione prima che l’ACK possa arrivare, mentre un timer troppo lungo costituira’ una inutile inefficienza

Protocollo stop-and-wait con errori (cont.) La stessa procedura permette di fronteggiare la perdita di ACK, pero’ in questo caso A inviera’ nuovamente il frame che B ha gia’ ricevuto Per ovviare a questo problema i frame devono essere numerati poiche’ l’ambiguita’ da risolvere e’ quella di distinguere un frame da quello precedente, e’ sufficiente numerare i frame 0 e 1 (un bit nell’header) gli ACK riporteranno l’informazione di quale sia il frame ricevuto (in generale si riporta il numero del prossimo frame che B si aspetta di ricevere) Qualora B dovesse ricevere un duplicato, lo scarta ma rimanda lo stesso ACK precedentemente inviato

Efficienza stop-and-wait con errori L’efficienza e’ sempre data dal rapporto tra il tempo impiegato per la trasmissione della trama ed il tempo che passa prima che A possa inviare la trama successiva Il tempo che passa sara’ il tempo di timeout per il numero di ritrasmissioni dovute ad errore, piu’ il tempo per la trasmissione con successo: Ipotizzando che il tempo di timeout sia pari all’intervallo di tempo dopo il quale A si aspetta di ricevere l’ACK (in realta’ sara’ leggermente di piu’) si ha: dove NT e’ il numero di trasmissioni effettuate

Efficienza stop-and-wait con errori (cont.) Detta PFE la probabilita’ di avere un errore (rilevato), il numero di trasmissioni dello stesso frame sara’ quindi l’efficienza del protocollo stop-and-wait con errori e’ data da

Trasmissioni full duplex Quando il canale di comunicazione permette l’invio di dati in entrambe le direzioni contemporaneamente e’ possibile definire protocolli di comunicazione detti full duplex In caso di linea full duplex il canale trasmette frame di dati in un verso e frame di ACK relativi alla comunicazione nel verso opposto, mischiati tra loro I frame saranno distinti da una informazione contenuta nell’header del frame, che etichetta i frame come “dati” o come “frame di controllo”

Acknowledge in piggybacking Per motivi di efficienza spesso si utilizza una tecnica (detta “piggybacking”) per evitare di dover costruire e trasmettere un frame di ACK: si dedica un campo dell’header di un frame di dati per trasportare l’ACK della trasmissione in senso inverso Quando si deve trasmettere un ACK, si aspetta di dover trasmettere un frame di dati che possa trasportare l’informazione di ACK Se non ci sono dati da inviare, si dovra’ comunque inviare un frame di ACK prima che scada il timeout del trasmittente questo implica il dover utilizzare un altro timer per decidere dopo quanto tempo inviare comunque l’ACK in caso di mancanza di dati da inviare in senso inverso

Protocolli a finestra scorrevole I protocolli a finestra scorrevole (sliding window) permettono di inviare piu’ di un frame prima di fermarsi per attendere il riscontro, fino ad un valore massimo W fissato a priori Poiche’ in ricezione possono arrivare piu’ frame consecutivi, i frame devono essere numerati per garantire in ricezione che non si siano persi frame: saranno dedicati n bit di controllo per la numerazione, ed i frame potranno avere numero da 0 a 2n-1 In ricezione non e’ necessario riscontrare tutti i frame: il ricevente puo’ attendere di ricevere un certo numero di frame (fino a W) prima di inviare un solo riscontro cumulativo La numerazione dei frame e’ in modulo 2n, cioe’ il frame successivo a quello numerato 2n-1 avra’ come identificativo il numero 0 Per non avere sovrapposizione dei numeri identificativi tra i frame in attesa di riscontro, questi non dovranno essere in numero maggiore di 2n, quindi si avra’ sempre W ≤ 2n; in funzione del protocollo usato si potranno avere restrizioni maggiori

Protocolli a finestra scorrevole (cont.) Questo tipo di protocolli necessita’ di maggiori risorse di buffer: in trasmissione devono essere memorizzati i frame inviati in attesa di riscontro, per poterli ritrasmettere in caso di necessita’ ad ogni riscontro ricevuto, vengono liberati i buffer relativi ai frame riscontrati, per occuparli con i nuovi frame trasmessi a seconda del protocollo anche in ricezione di deve disporre di buffer, ad esempio per memorizzare frame fuori sequenza; ad ogni riscontro inviato, i frame riscontrati vengono passati allo strato di rete ed i relativi buffer vengono liberati per poter accogliere nuovi frame in arrivo ed una maggiore complessita’ di calcolo La dimensione della finestra (W) puo’ essere fissata a priori dal protocollo, ma esistono protocolli che permettono di modificarne il valore dinamicamente tramite informazioni di controllo del protocollo

La finestra in trasmissione In trasmissione si deve tenere conto dei frame inviati e non riscontrati, e del numero massimo di frame che possono essere ancora inviati prima di dover fermare la trasmissione Si utilizza una sequenza di numeri, indicanti gli identificativi dei frame In questa sequenza di numeri si tiene conto di una finestra che contiene l’insieme dei frame che il trasmittente e’ autorizzato ad inviare Con il procedere della trasmissione la finestra scorre in avanti: inizialmente la finestra ha limiti 0 e W-1 ad ogni frame inviato, il limite inferiore della finestra cresce di una unita’; quando la finestra si chiude (cioe’ quando sono stati inviati W frame in attesa di riscontro) la trasmissione deve fermarsi per ogni frame riscontrato, il limite superiore della finestra si sposta in avanti di una unita’ (o piu’ se si e’ ricevuto un riscontro cumulativo), permettendo al trasmittente di inviare nuovi frame La dimensione della finestra di trasmissione varia, ma non puo’ mai superare il valore di W

La finestra in ricezione In ricezione si deve tenere conto dei frame ricevuti di cui non e’ stato ancora inviato l’ACK, e del numero di frame ancora accettabili Si utilizza una finestra analoga a quella in ricezione: la finestra contiene i numeri dei frame accettabili il limite inferiore e’ il numero del frame successivo all’ultimo ricevuto, mentre il limite superiore e’ dato dal primo non ancora riscontrato piu’ W Ad ogni nuovo frame ricevuto il limite inferiore della finestra cresce di una unita’, mentre ad ogni acknowledge inviato il limite superiore avanza di una unita’ La dimensione della finestra non puo’ eccedere il valore di W (tutti i frame ricevuti sono stati riscontrati) Quando la finestra si azzera significa che si devono per forza inviare i riscontri, perche’ la ricezione e’ bloccata Qualsiasi frame ricevuto con numero fuori dalla finestra di ricezione sara’ buttato via La finestra in ricezione non deve necessariamente avere la stessa dimensione della finestra in trasmissione ad esempio una finestra in ricezione piu’ piccola costringera’ il ricevente ad inviare ACK prima che in trasmissione sia stata azzerata la finestra

Esempio con W = 1

Esempio con W = 7

Efficienza del protocollo sliding windows senza errori Un protocollo che permette di trasmettere piu’ frame prima di attendere un riscontro comporta un utilizzo piu’ efficiente della linea: se la finestra e’ sufficientemente ampia da non averla esaurita in trasmissione prima che arrivi l’ ACK del primo frame inviato, il flusso non si interrompe mai, cioe’ l’efficienza vale 1; questo si ha quando il tempo di W trasmissioni supera il tempo necessario a ricevere il riscontro del primo frame:

Efficienza del protocollo sliding windows senza errori (cont.) se la finestra non e’ sufficientemente ampia, si ha: quindi l’efficienza e’ data da: che e’ W volte maggiore rispetto a quella del protocollo stop-and-wait

Calcolo di efficienza Connessione geografica a 1000 Km con frame di 424 bit, e throughput di 155 Mbps stop-and-wait: Stessa connessione con finestra a 8 bit (W=256):