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



Documenti analoghi
LIVELLO DATA LINK (DI LINEA)

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Il livello Data-Link e i suoi protocolli

Livello di trasporto: meccanismi trasferimento dati affidabile

Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta Università degli studi di Salerno Laurea in Informatica

ARCHITETTURA DI RETE FOLEGNANI ANDREA

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

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

Transmission Control Protocol

Introduzione (parte III)

Gestione della Connessione in TCP

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

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

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

VideoStreaming su IP

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

Per essere inviato il dato deve essere opportunamente codificato in modo da poter essere trasformato in SEGNALE, elettrico oppure onda luminosa.

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

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

Reti di Calcolatori. Il software

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

Introduzione alle Reti Telematiche

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Il livello trasporto Protocolli TCP e UDP

Il Livello di Collegamento II 2. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello di Collegamento

Reti di Telecomunicazione Lezione 8

DA SA Type Data (IP, ARP, etc.) Padding FCS

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

Componenti della rete

Protocolli di accesso multiplo

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

IL LIVELLO DI LINEA O LIVELLO DI DATA LINK 1. Servizi offerti 2. Struttura dei pacchetti 3 CAMPO DATI 3. Character stuffing 4.

Livello di Rete. Gaia Maselli

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

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

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

IP Internet Protocol

M286 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE. Indirizzo: ELETTRONICA E TELECOMUNICAZIONI CORSO DI ORDINAMENTO. Tema di: TELECOMUNICAZIONI

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

Quanto sono i livelli OSI?

MODELLI ISO/OSI e TCP/IP

Protocolli a finestra

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

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

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

Universal Serial Bus (USB)

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

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Reti di Telecomunicazioni 1

Esercizi su: Ritardi di trasferimento Commutazione Sorgenti di Traffico

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

Parte II: Reti di calcolatori Lezione 13

Approfondimento di Marco Mulas

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

RC4 RC4. Davide Cerri. Davide Cerri CEFRIEL - Politecnico di Milano cerri@cefriel.it


Internet e protocollo TCP/IP

Rete di accesso / Rete di trasporto

Strato di Trasporto Romeo Giuliano 1

Standard di comunicazione

Tecniche ARQ (protocolli a finestra)

4 - Il livello di trasporto

Reti LAN. IZ3MEZ Francesco Canova

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Informatica per la comunicazione" - lezione 8 -

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

xdsl Generalità xdsl fa riferimento a tutti i tipi di Digital Subscriber Line

Esercizi Multiplazione TDM Accesso Multiplo TDMA

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

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

Page 1. Elementi Base del Modello OSI. Il modello di riferimento ISO/OSI OSI: Open Systems Interconnection. Struttura a Livelli.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Internetworking TCP/IP: esercizi

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

Livello di Trasporto

LABORATORIO DI RETI. 02 La Multiplazione Statistica nelle Reti a Paccchetto

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Utilizzo efficiente del canale di comunicazione

Evoluzione della rete Ethernet

Direct Sequence o Frequency Hopping

Gestione della memoria centrale

Comunicazione. Prof. Antonino Mazzeo. Corso di Laurea Specialistica in Ingegneria Informatica

Istruzioni (1): L elaborato verrà letto, compilato e fatto girare per verificare la correttezza della sintassi e delle operazioni svolte

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

RoutingInternet Protocol. Algoritmi di instradamento di tipo Distance vector

Esercizio 1. Traccia di soluzione

Lo Stack TCP/IP: Le Basi

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

STRUTTURE DEI SISTEMI DI CALCOLO

Le reti. Introduzione al concetto di rete. Classificazioni in base a

Classificazione delle tecniche di accesso multiplo

Livello Data Link. Davide Quaglia. Scopi

Una panoramica su HL7

RETI DI TELECOMUNICAZIONE

ESERCIZIO 1 1. Traccia 1. Analisi 2. Codifica programma 7. frame nel seguente modo: il primo byte dice la lunghezza complessiva del frame,

Utilizzo efficiente del canale di comunicazione

Utilizzo efficiente del canale di comunicazione

Introduzione alle reti LE RETI INFORMATICHE. A cosa serve una rete. Perché... TECNOLOGIE E PRINCIPI DI COSTRUZIONE

Transcript:

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 (simplex) Senza ritrasmissioni Stop-and-wait Per canali rumorosi Protocolli sliding window 1 bit Go back n Ripetizione selettiva 2

Obiettivi Introduzione allo strato 2 (strato di collegamento) Progetto generale dello strato di collegamento Servizi forniti allo strato di rete, suddivisione in trame, controllo degli errori, controllo di flusso Presentazione di tecniche per la rivelazione e la correzione degli errori Descrizione di algoritmi elementari per ottenere comunicazioni affidabili a livello di strato 2 Sorgente invia semplicemente i dati Destinazione non sia inondata di dati Canali rumorosi Descrivere e analizzare i protocolli utilizzati in situazioni realistiche Comunicazione bidirezionale (duplex) Tempi di trasmissione/elaborazione non trascurabili Pacchetti non sempre disponibili dallo strato di rete Errori a causa del canale di trasmissione (perdita di pacchetti e fuori sequenza) 3

Strato di Collegamento Correzione degli errori e protocolli data link elementari Romeo Giuliano romeo.giuliano@uniroma2.it 4

Argomenti Descrizione dello strato di collegamento Obiettivo, funzioni, servizi Framing, Controllo di errore, Controllo di flusso Protocolli elementari 5

Obiettivo dello strato di collegamento Scopo dello strato data link: ottenere una comunicazione affidabile ed efficiente tra due macchine Ovvero creare un cavo logico tra mittente e destinatario: bit instradati nello stesso ordine in cui sono stati trasmessi Problemi: Connessioni di strato fisico sono affette da errori Presenza di ritardi di propagazione 6

Funzioni dello strato di collegamento Fornire servizi allo strato di rete Incapsulare i flusso di bit in trame (framing) Gestire gli errori di trasmissione (error control) Regolare il flusso di dati (flow control) Ricevitori lenti non devono essere inondati da trasmettitori veloci 7

Funzioni dello strato di collegamento La gestione dei frame è un attività fondamentale nello strato di data link Relazione tra pacchetti e trame 8

Servizi forniti allo strato di rete (a) Comunicazione virtuale (b) Comunicazione reale 9

Servizi forniti allo strato di rete Servizio unacknowledged senza connessione: la macchina sorgente invia frame indipendenti alla macchina destinazione senza aspettare di ricevere acknowledgement No connessione logica, no correzioni di frame errati nello strato data link Servizi real time, canali affidabili Servizio acknowledged senza connessione: la macchina sorgente invia frame indipendenti alla macchina destinazione la quale risponde con acknowledgement. No connessione logica Canali non affidabili (è ripagato il costo della maggiore ridondanza) Servizio acknowledged con connessione: la macchina sorgente e destinatario stabiliscono una connessione logica. Frame numerati. Fasi connessione: instaurazione, trasferimento, abbattimento. 10

Servizi forniti allo strato di rete Posizione del protocollo data link 11

Suddivisione in trame (framing) Garantire che il flusso di bit forniti allo strato di collegamento dallo strato fisico sia privo di errori Suddividere il flusso in trame e calcolare un checksum per ognuna di esse: Conteggio caratteri Flag byte con byte stuffing Flag di inizio e fine con bit stuffing Violazione della codifica dello strato fisico 12

Framing: conteggio caratteri Usa un campo nell intestazione per specificare il numero di caratteri Problema: l algoritmo non funziona in presenza anche di un solo errore Esempio di flusso di caratteri (a) senza errori. (b) con errori. 13

Framing: flag byte con byte stuffing Inserisce un byte speciale (flag byte) all inizio e alla fine di ogni frame Problema: flag byte presente nel dato. Inserimento del byte ESC (byte stuffing). Esempio: a. Una trama delimitata dai byte flag b. Quattro esempi di sequenze di byte prima e dopo il byte stuffing 14

Framing: flag di inizio e fine con bit stuffing Ogni frame incomincia e finisce con un gruppo speciale di bit: 01111110 Bit stuffing: si inserisce uno 0 dopo cinque 1 consecutivi. a. Dati originali b. Dati come appaiono in linea c. Dati come sono memorizzati dopo il destuffing 15

Framing: violazione della codifica dello strato fisico Uso di combinazioni due bit consecutivi uguali per delimitare le trame Può essere usata solo per tecniche di trasmissione che usano codifiche particolari: bit 1 alto-basso bit 0 basso-alto Trame delimitate da trasmissioni alto-alto o basso-basso Nota finale Molti protocolli data link usano l abbinamento della tecnica del conteggio dei caratteri con uno degli altri metodi. 16

Controllo degli errori Problema degli errori nelle linee di trasmissione. Tecniche per assicurare l affidabilità: Acknowledgement positivi (ACK) o negativi (NACK): forma di reazione della destinazione Introduzione di timer: trame non ricevute Assegnazione di numeri in sequenza alle trame: trame duplicate Codici a correzione d errore: inserire informazioni ridondanti per permettere la ricostruzione del blocco in caso di errore. Usato in canali molto rumorosi Codici a rilevazione d errore: inserire informazioni ridondanti per permettere la rilevazione del errore ma non di correggerlo. Usato in canali poco rumorosi 17

Codici a correzione d errore (forward error correction, FEC) Codeword (n bit): dati (m bit) + bit di controllo (r bit) Distanza di Hamming (attraverso XOR) Per rilevare d errori: serve una codifica con distanza d+1 Per correggere d errori: serve una codifica con distanza 2d+1 Uso di una codifica di Hamming per correggere gli errori burst: kr bit di controllo per proteggere km bit dati da errori a burst di lunghezza k Esempio di XOR tra due caratteri Distanza tra le due parole pari al numero di 1 i.e. 3 18

Codici a rilevazione d errore (cyclic redundancy check, CRC) Bit di parità Codifica a blocchi: matrice k x n con riga di parità Codifica polinomiale CRC: si aggiunge un checksum alla fine del frame in modo che il polinomio rappresentato dal frame sia divisibile per il polinomio generatore G(x) In figura è presentato il calcolo del checksum a codifica polinomiale: Generatore: x 4 +x+1 Rileva errori di lunghezza 4 Reminder Trama originale Trama trasmessa 19

Controllo di flusso Frame scartati dalla macchina destinatario se la sorgente trasmette frame troppo velocemente Due approcci: Controllo di flusso tramite feedback: la destinazione manda indietro informazioni per abilitare la sorgente alla trasmissione o per informarla del suo stato Controllo di flusso tramite limitazione della velocità: il protocollo è dotato di un meccanismo per limitare la velocità di trasmissione della sorgente senza alcun feedback (poco usati a livello di strato 2) 20

Protocolli elementari dello strato di collegamento Protocollo simplex senza restrizioni Caso ideale, senza controllo di flusso nè controllo di errori Protocollo simplex stop-and-wait Canale ideale privo di errori Protocollo simplex per canali rumorosi Uso della tecnica ARQ 21

Definizioni di base per i protocolli data link Alcune definizioni necessarie per i protocolli descritti in seguito. Esse si trovano nel file protocol.h trama Kind Seq Ack Info (dati) Continued 22

Definizione dei protocolli (2) 23

Protocollo simplex senza restrizioni Canale ideale no controllo di errore Processamen- to destinatario infinito no controllo di flusso 24

Protocollo simplex stop-andwait La sorgente deve attendere l arrivo dell ack prima di trasmettere un altro frame controllo di flusso Canale privo di errori NOTA: trasmissione simplex ma canale duplex 25

Protocollo simplex per canali rumorosi Protocollo con ACK controllo di flusso Canale rumoroso i.e. possibili trame danneggiate, perse o duplicate ritrasmissioni controllo di errore Acknowledgement positivo o Automatic Repeat request (ARQ) Continued 26

Protocollo simplex per canali rumorosi (2) frame_exp=0 frame_exp=1 SEQ=0 frame_exp=1 ACK=0 frame_exp=1 ACK=0 SEQ=1 frame_exp=0 ACK=1 frame_exp=0 ACK=1 27

Strato di Collegamento Protocolli sliding window Romeo Giuliano romeo.giuliano@uniroma2.it 28

Argomenti Concetto della sliding window Protocolli sliding window 1 bit, go back n, ripetizione selettiva Buffer 29

Protocolli sliding window Nelle situazioni reali serve un canale duplex (bidirezionale) Dati in un verso e ack nell altro Due canali full-duplex: spreco di banda Canale half-duplex: campo kind nell intestazione del frame Tecnica del piggy-backing: ack trasmessi in frame dati Protocolli sliding window (SW): finestra di invio e finestra di ricezione. Protocolli SW: a 1-bit che usa go-back-n che usa la ripetizione selettiva 30

Protocolli sliding window (2) Una sliding window con dimensione 1 e numero di sequenza a 3 bit. a. Inizialmente b. Dopo l invio del primo frame c. Dopo la ricezione del primo frame d. Dopo la ricezione del primo acknowledgement 31

Protocollo Sliding Window a 1-bit Lato trasmittente s.seq trama da trasmettere s.ack ultima trama ricevuta correttamente Lato ricevente s.seq trama attesa s.ack ack della trama trasmessa Continued 32

Protocollo Sliding Window a 1-bit (2) 33

Protocollo Sliding Window a 1 bit (3) Due scenari per il protocollo 4. (a) Caso normale. (b) Caso con problemi. La notazione è (seq, ack, packet number). Un asterisco indica il momento in cui lo strato network accetta un pacchetto 34

Efficienza dei protocolli e utilizzazione del canale Tempo di trasmissione non nullo Combinazione tempi di transito lunghi e larga banda con frame corti è disastrosa per l efficienza Soluzione: permettere alla sorgente di inviare w frame (invece di 1) prima di bloccarsi per attendere l arrivo dell ack Prodotto banda-ritardo di trasmissione elevato necessita di una finestra larga La finestra è saturata rapidamente se la banda del canale è larga La finestra è saturata rapidamente se il ritardo è grande Il prodotto banda-ritardo indica la capacità della pipeline (tubo): Capacità = b bit/s; dimensione frame = g bit; ritardo propagaz. a 2 vie = r s Tempo di trasmissione singolo frame = g/b s; attesa (ritardo) = r s Utilizzazione canale (stop-and-wait), η = (g/b)/(g/b+r) = g/(g+br); Per g<br, η <0.5 Si utilizza il canale per trasmettere w frame (con w>1) quando è in attesa di ack: pipelining η=w g / (g+br); η=100% per w=br/g+1 35

Protocollo Sliding Window basato su goback-n e ripetizione selettiva Pipelining e ripristino degli errori. Effetto di un errore quando a. La finestra della destinazione ha dimensione 1 b. La finestra della destinazione è grande 36

Protocollo Sliding Window basato su goback- n Continued 37

Protocollo Sliding Window basato su goback-n (2) Continued 38

Protocollo Sliding Window basato su goback-n (3) Continued 39

Protocollo Sliding Window basato su goback-n (4) 40

Protocollo Sliding Window basato su goback-n (5) Numero massimo di frame di cui si attende l ack è MAX_SEQ (non MAX_SEQ+1) Problema dei buffer: si ha in trasmissione perché bisogna conservare i frame finché non si è sicuri che siano arrivati correttamente (ack ricevuto) Se arriva l ack n, si rilasciano i buffer dei frame fino a n (, n-2, n-1, n): Ack cumulativi. Si riabilita lo strato network a trasmettere (network_layer_ready) Protocollo 5 ha bisogno di più timer. Ognuno può andare in time out indipendentemente Simulazione di timer multipli via software attraverso un singolo orologio hardware 41

Protocollo Sliding Window basato sulla ripetizione selettiva Continued 42

Protocollo Sliding Window basato sulla ripetizione selettiva (2) Continued 43

Protocollo Sliding Window basato sulla ripetizione selettiva (3) Continued 44

Protocollo Sliding Window basato sulla ripetizione selettiva (4) 45

Protocollo Sliding Window basato sulla ripetizione selettiva (5) Finestra sorgente: da 0 a MAX_SEQ(=7 nell esempio); finestra destinatario: fissa a MAX_SEQ. Problema: sovrapposizione di numeri di sequenza a. Situazione iniziale con una finestra di dimensione sette b. Dopo che sette frame sono stati inviati e ricevuti, ma ancora in attesa di acknowledgement Soluzione: massima dimensione finestra pari alla metà della sequenza di numeri c. Situazione iniziale con una finestra di dimensione quattro d. Dopo che quattro frame sona stati inviati e ricevuti, ma ancora in attesa di acknowledgement 46

Buffer e timer Numero dei buffer è pari alla dimensione della finestra (non al numero di sequenza dei frame) Numero di timer pari al numero di buffer Uso del piggybacking Problema per la trasmissione degli ack se non c è traffico (caso protocollo 5) Nel protocollo 6 si è inserito un timer ausiliario (start_ack_timer) Nel protocollo 6, la destinazione manda indietro un NAK se sospetta un errore Frame danneggiato Frame diverso da quello atteso Scelta time out. Ritardo di propagazione degli ACK: Costante time out > del ritardo cost. Variabile Time out corti: ritrasmissioni inutili Time out lunghi: bassa efficienza (attese lunghe dopo un errore) Impostazione rigida o flessibile del time out 47