La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 1 RETI DI CALCOLATORI Il livello.

Presentazioni simili


Presentazione sul tema: "FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 1 RETI DI CALCOLATORI Il livello."— Transcript della presentazione:

1 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 1 RETI DI CALCOLATORI Il livello Data Link prof. G. Russo (grusso@unina.it) grusso@unina.itgrusso@unina.it prof. E. Burattini (burattini@na.infn.it) prof. E. Burattini (burattini@na.infn.it)burattini@na.infn.itburattini@na.infn.it ing. A. Violetta (violetta@unina.it) ing. A. Violetta (violetta@unina.it)violetta@unina.it ©2008-2009 ©2008-2009

2 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 2 Il DLL ha il compito di offrire una comunicazione affidabile ed efficiente a due macchine adiacenti, cioè connesse fisicamente da un canale di comunicazione (es- doppino, fibra ottica, linea telefonica, ecc.. Data Link Layer

3 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 3 Compiti del DLL  Offrire servizi al livello network con un'interfaccia ben definita;  Determinare come i bit del livello fisico sono raggruppati in frame gestire gli errori di trasmissione;  Regolare il flusso della trasmissione fra sorgente e destinatario.  Poichè il Physical Layer accetta e trasmette sequenze di bit senza far riferimento alla loro struttura, è compito del Data Link Layer creare e riconoscere i limiti dei pacchetti.  Modalità di creazione dei pacchetti:  conteggio dei caratteri;  caratteri di inizio e fine, con character stuffing;  bit pattern di inizio e fine, con bit stuffing;  violazioni della codifica dei bit, usata nel livello fisico.

4 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 4 Conteggio dei caratteri Si utilizza un campo nell'header, per indicare quanti caratteri vi sono nella frame Si utilizza un campo nell'header, per indicare quanti caratteri vi sono nella frame Se durante la trasmissione si rovina il campo del frame che contiene il conteggio, diventa praticamente impossibile ritrovare l'inizio del prossimo frame e di conseguenza anche quello dei successivi. A causa della sua scarsa affidabilità questo metodo è usato ormai pochissimo. Se durante la trasmissione si rovina il campo del frame che contiene il conteggio, diventa praticamente impossibile ritrovare l'inizio del prossimo frame e di conseguenza anche quello dei successivi. A causa della sua scarsa affidabilità questo metodo è usato ormai pochissimo.

5 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 5 Ogni frame inizia e finisce con una particolare la sequenza di caratteri ASCII. Ogni frame inizia e finisce con una particolare la sequenza di caratteri ASCII. Una scelta diffusa è la seguente: Una scelta diffusa è la seguente: – inizio frame: DLE (Data Link Escape), STX (Start of TeXt) DLE (Data Link Escape), STX (Start of TeXt) – fine frame: DLE, ETX (End of TeXt) DLE, ETX (End of TeXt) In questo modo, se la destinazione perde traccia dei confini di un frame la riacquista all'arrivo della prossima coppia DLE, STX e DLE, ETX. In questo modo, se la destinazione perde traccia dei confini di un frame la riacquista all'arrivo della prossima coppia DLE, STX e DLE, ETX.Problema: nella trasmissione di dati binari, il byte corrispondente alla codifica di DLE può apparire dentro il frame, creando ambiguità. Per evitare ciò, il Data Link Layer sorgente aggiunge davanti a tale byte un altro DLE, per cui in arrivo solo i singoli DLE segnano i confini della frame. Questa tecnica è chiamata character stuffing. Caratteri di inizio e fine

6 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 6 Data la frame: Il mittente per evitare problemi di interpretazione inserirà un ulteriore valore DLE nella frame, cioè: Il destinatario rimuoverà il valore DLE ed otterrà la frame corretta. Esempio di Character

7 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 7 Bit Pattern di inizio e fine Ogni frame inizia e finisce con una specifica sequenza di bit (bit pattern), chiamata flag byte. Tale sequenza di bit può però apparire all'interno dei dati che devono essere trasmessi. In questo caso: in trasmissione: ogni volta che il livello due, incontra nei dati da trasmettere, 5 bit consecutivi uguali a 1 inserisce uno zero aggiuntivo; in trasmissione: ogni volta che il livello due, incontra nei dati da trasmettere, 5 bit consecutivi uguali a 1 inserisce uno zero aggiuntivo; in ricezione: quando nei dati ricevuti compaiono 5 bit uguali a uno, si rimuove lo zero che li segue. in ricezione: quando nei dati ricevuti compaiono 5 bit uguali a uno, si rimuove lo zero che li segue. Dunque, il flag byte può apparire solo all'inizio ed alla fine delle frame. Questa tecnica va sotto il nome di bit stuffing.

8 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 8 Esempio di Bit Stuffing Data la sequenza di bit: 011111100111011001011111010001101111110 Viene modificata dal mittente: 0111111001110110010111110010001101111110 Il destinatario alla ricezione della frame, dopo cinque bit 1 consecutivi, eliminerà lo stuffed bit 0, ottenendo la giusta sequenza. Una modalità alternativa può essere la sostituzione del quinto bit 1 copnsecutivo con uno 0 in trasmissione (stuffing) ed il ripristino del valore originale in ricezione (de-stuffing)

9 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 9 In molte reti (sopratutto LAN) si codificano i bit al livello fisico con una certa ridondanza. Ad esempio:  il valore 1 di un bit di dati è codificato con la coppia high/low di bit fisici;  il valore 0 di un bit di dati è codificato con la coppia low/high di bit fisici. Violazione della codifica Codifiche come questa (Manchester encoding, usata in IEEE 802.3) hanno lo scopo di consentire una facile determinazione dei confini di un bit dati, poiché esso ha sempre una trasmissione nel mezzo. Le coppie high/high e low/low possono quindi essere usate per delimitare le frame

10 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 10  Synchronization Field: Consente di distinguere l’inizio e la fine di una frame, mediante l’uso di opportuni pattern di bit.  Address Field: Contiene l’indirizzo del destinatario.  Control Field: Contiene una serie di informazioni di controllo utilizzate per il controllo di sequenza e di flusso.  Data Field: Contiene un pacchetto del Network Layer.  Error Check Field: Contiene una sequenza di byte utilizzati per la rilevazione di errore presenti nella frame. Struttura della generica frame SynchronizationFieldAddressFieldControlFieldDataField Error Check Field

11 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 11 Codice polinomiale o CRC (Cyclic redundancy check – Controllo a ridondanza ciclica) code. Codice polinomiale o CRC code. Un codice polinomiale considera una stringa di “k” bit come un polinomio in “k” termini. La stringa di bit : 1 1 0 1 si traduce in 1*x^3 + 1 *x^2 + 0 *x^1 + 1*x^0 Le operazioni su tali polinomi, addizione e sottrazione, vengono implementate come “OR ESCLUSIVO”. Codici di rilevazione degli errori

12 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 12 I passi da eseguire per implementare un CRC code sono i seguenti:  Mittente e ricevente devono accordarsi sulla scelta di un Generatore Polinomiale G(x).  Porre il bit più alto e quello più basso della stringa da trasmettere a “1”.  Calcolare la checksum relativa al pacchetto da trasmettere e accodarlo alla fine del pacchetto.  In tal modo siamo certi che il polinomio risulta divisibile per G(x).  Se il ricevente, quando ottiene la frame e dividendola per G(x) ottiene un resto diverso da zero siamo sicuri che c’è stato un errore durante la trasmissione. CRC code o Codice Polinomiale

13 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 13 PROBLEMI Perdita della FRAME: Comporterebbe al mittente l’attesa infinita di un ack. Per evitare un tale comportamento il mittente, dopo la spedizione della frame, attiva un timer. Se alla fine del timeout l'ack non è stato ricevuto, il mittente rispedisce la frame. Perdita dell’ACK: Comporta la duplicazione inconsapevole da parte del mittente di una frame. Si inseriscono nelle frame, per tale motivo, dei numeri progressivi (numeri di sequenza).Ciò consente di ricevere tutte le frame in modo ordinato e senza duplicati Controllo degli errori Il controllo di errore viene effettuato in quanto a causa di disturbi elettrici il segnale rappresentante lo stream di bit trasmesso potrebbe essere alterato. I problemi affrontati dal controllo di errore sono relativi alla sicurezza nella ricezione delle frame da parte del livello di rete remoto e nel controllo relativo all'ordine con cui le frame vengono ricevute Il mittente dopo aver spedito una frame al ricevente attenderà una frame di conferma detta ack che il destinatario spedirà dopo aver ricevuto la frame.

14 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 14  Il Physical Layer, il Data Link Layer ed il Network Layer sono indipendenti e comunicano attraverso scambio di messaggi;  Due host A e B per comunicare utilizzano un servizio affidabile orientato alla connessione;  L’host A che spedisce i dati ha una risorsa infinita, cioè non esiste il tempo di attesa per le loro produzioni.  Il Data Link Layer quando riceve un pacchetto di dati introduce in esso due ulteriori campi di controllo Header e Trailer.  L’hardware di trasmissione di ogni host della rete si occuperà di calcolare la checksum del pacchetto e di inserire il campo CRC ad essa Premesse sui protocolli

15 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 15  Simplex non limitato  Stop And Wait  Simplex a canale disturbato  Sliding Window  Go Back n Protocolli

16 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 16 Protocollo più semplice da implementare, ma anche il meno realistico. IPOTESI: Tempo di elaborazione trascurabile; Tempo di elaborazione trascurabile; Buffer di dimensione infinita; Buffer di dimensione infinita; Canale di comunicazione privo di errori; Canale di comunicazione privo di errori; Dati trasmessi in una sola direzione; Dati trasmessi in una sola direzione; Procedure sender e receiver del Simplex non limitato Procedure sender e receiver del Simplex non limitato Simplex non limitato

17 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 17 Sender (loop infinito): oattende un pacchetto dal livello network; ocostruisce un frame dati; opassa il frame al livello fisico; Simplex non limitato Destinatario (loop infinito): oattende un evento:  arriva frame da livello fisico:  estrae pacchetto;  lo passa al livello network;

18 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 18 Simplex stop and unit Sender (loop infinito):  attende un pacchetto dal livello network;  costruisce un frame dati ;  passa il frame al livello fisico;  attende evento: arriva frame di ack (vuoto) Receiver (loop infinito):  attende evento: arriva frame dati da livello fisico  estrae il pacchetto;  consegna il pacchetto al livello network;  invia un frame di ack (vuoto) al mittente;

19 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 19 Buffer di dimensione infinita ; Buffer di dimensione infinita ; Canale di comunicazione privo di errori; Canale di comunicazione privo di errori; Dati trasmessi in una sola direzione ; Dati trasmessi in una sola direzione ; PROBLEMI: Dimensione finita del buffer; Velocità di elaborazione delle frame da parte del destinatario. PROBLEMI: Dimensione finita del buffer; Velocità di elaborazione delle frame da parte del destinatario. SOLUZIONI: SOLUZIONI: Inserire, nel protocollo del Simplex non limitato, un ritardo nella trasmissione del mittente. Inserire, nel protocollo del Simplex non limitato, un ritardo nella trasmissione del mittente. Uso della larghezza di banda sotto l’ottimo Uso della larghezza di banda sotto l’ottimo spedire una informazione di “riscontro” al mittente (Ack). Il canale fisico è Half Duplex Il canale fisico è Half Duplex Simplex stop and wait

20 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 20 Simplex stop and wait

21 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 21 IPOTESI: Canale fisico half duplex. Canale fisico half duplex. Canale di comunicazione non esente da errori ; Canale di comunicazione non esente da errori ; Buffer di dimensione infinita ; Buffer di dimensione infinita ;PROBLEMI:  Frame perdute  Frames danneggiate  Ack perduto (duplicati) Simplex per canale distribuito

22 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 22 La frame ricevuta è danneggiata quindi il ricevente non spedisce l ’ack, e il destinatario rispedisce la stessa frame. Simplex per canale distribuito

23 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 23 La frame non è stata ricevuta quindi il ricevente non spedisce l’ack, e il destinatario rispedisce la stessa frame Simplex per canale distribuito

24 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 24 La frame è stata ricevuta corretta; il ricevente spedisce l’ack, ma questo si perde, il destinatario rispedisce la stessa frame creando un duplicato. Simplex per canale distribuito

25 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 25 Protocolli a finestra scorrevole Sliding window o Sliding window di un solo bit Selective Repeat o Go Back N : Selective Repeat

26 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 26 Sono full-duplex (per i dati), sfruttano il piggy backing e sono più robusti di quelli precedenti. Differiscono fra loro per efficienza, complessità e capacità dei buffer. Il funzionamento, molto semplice, è il seguente :  Sender:  quando invia un frame, fa partire un timer:  se prima che scada il timer arriva un ack con lo stesso numero di sequenza del frame che si sta cercando di trasmettere, si avanza la finestra e si passa a trasmettere il frame successivo;  se arriva un ack diverso o scade il timer, si ritrasmette il frame;  Receiver:  quando arriva un frame corretto, senza errori, invia un ack con il corrispondente numero di sequenza;  se il frame non è un duplicato lo passa al livello network e avanza la finestra Sliding Window

27 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 27 Utilizza un solo canale di comunicazione per dati ed ack, con la variante che gli ack non viaggiano da soli ma vengono accodati alle frame che il riceiver deve rispedire al sender. Vantaggi:  Ottimizzazione dell’uso della larghezza di banda. Svantaggi:  L’utilità di agganciare un ack alla frame che viene spedita in senso opposto è limitata dal tempo che il DLL può attendere per l’ack.  Se il riceiver non ha frame pronte, l’ack verrà spedito da solo PiggyBacking

28 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 28  I protocolli SLIDING WINDOW stabiliscono che sia il mittente che il ricevente mantengano una “finestra” di trasmissione e una di ricezione dove sono memorizzati i numeri progressivi corrispondenti alle frames da ricevere o da spedire.  Le Finestre associate al mittente e al destinatario non devono avere obbligatoriamente la stessa dimensione e neanche gli stessi limiti inferiori e superiori.  Il meccanismo di spedizione di frame e di ricezione di ack è gestito dal MITTENTE tramite l’uso dei numeri progressivi della finestra; questi vengono incrementati di un valore all’estremità superiore della finestra se arriva un nuovo pacchetto dalla rete, oppure vengono incrementati di un valore all’estremità inferiore della stessa se arriva un ack.  Il mittente deve mantenere in memoria tutte le frame spedite di cui non ha ancora ricevuto l’ack. Per tale motivo se la dimensione massima della finestra è “n” il mittente ha bisogno di un buffer di dimensione “n” per la memorizzazione delle frame.  Il meccanismo di spedizione di frame e di ricezione di ack è gestito dal RICEVENTE in maniera simile a quella del mittente; infatti il ricevente aumenta di un valore l’estremità superiore della finestra, se arriva un pacchetto con numero progressivo pari all’estremità superiore prima di essere incrementata, oppure aumenta di un valore l’estremità inferiore della stessa quando invia un ack. Sliding Window

29 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 29 In questo protocollo la dimensione massima della finestra è di un bit e la sua implementazione si basa sul protocollo STOP AND WAIT visto precedentemente. In questo protocollo la dimensione massima della finestra è di un bit e la sua implementazione si basa sul protocollo STOP AND WAIT visto precedentemente. – Vi è un accordo a priori tra i due D.L.L. presenti nelle due macchine su chi deve iniziare per primo la trasmissione. Una volta stabilita la precedenza inizia la trasmissione; il mittente inizia ad inviare le frame, il ricevente controlla, di volta in volta, se il pacchetto ricevuto è un duplicato o meno utilizzando il protocollo 3. Una volta stabilita la precedenza inizia la trasmissione; il mittente inizia ad inviare le frame, il ricevente controlla, di volta in volta, se il pacchetto ricevuto è un duplicato o meno utilizzando il protocollo 3. – Se è il pacchetto atteso viene passato al livello di rete, la finestra viene fatta slittare in avanti e viene inviato un ack con il numero della frame ricevuta. Se il mittente riceve un ack con lo stesso numero della frame che cercava di spedire, carica un nuovo pacchetto e lo manda al livello di rete; altrimenti continua a rispedire la stessa frame. Sliding Window ad 1 solo bit

30 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 30 Limiti: Se il tempo di andata e ritorno del segnale (round-trip time) è alto, con una finestra ad 1 bit c'è un elevata inefficienza,perché si sta quasi sempre fermi aspettando l'ack. Sliding Window ad 1 solo bit: Finestra scorrevole sugli indici del frame

31 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 31  Per migliorare le cose, si può consentire l'invio di un certo numero di frame anche senza aver ricevuto l'ack del primo. Questa tecnica va sotto il nome di pipelining. – se arriva un frame danneggiato o con un numero di sequenza non progressivo, il destinatario ignora tale frame e tutti i successivi, non inviando i relativi ack. Ciò corrisponde ad una finestra di dimensione uno nel ricevitore, che quindi accetta i frame solo nell'ordine giusto; Ciò corrisponde ad una finestra di dimensione uno nel ricevitore, che quindi accetta i frame solo nell'ordine giusto; – il mittente ad un certo punto va in time-out sul frame sbagliato, e poi su tutti quelli successivi (scartati dal destinatario), e quindi provvede a ritrasmettere la sequenza di frame che inizia con quello per il quale si è verificato il time -out. Go Back in

32 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 32 Limiti: il mittente deve mantenere in un apposito buffer tutti i frame non confermati per poterli eventualmente ritrasmettere. Se il buffer si riempie, il mittente deve bloccare il livello network fino a che non si ricrea dello spazio. Inoltre, vi è spreco di banda se il tasso d'errore è alto e/o il timeout è lungo. Funzionamento del protocollo Go Back in

33 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 33 Le frame successive ad una persa o danneggiata, non vengono scartate dal destinatario. – La finestra del ricevente ha dimensione MAX_SEQ costante invece quella del mittente varia da 0 a MAX_SEQ. Il ricevente è provvisto di un buffer per ogni numero progressivo nella finestra, ad ognuno di questi è associato un bit detto arrived che indica se il buffer è pieno o vuoto. – Per ogni frame si controlla che il suo numero progressivo appartenga alla finestra e non sia un duplicato. In tal caso viene memorizzata, altrimenti viene scartata. La frame ricevuta verrà mantenuta nel D.L.L. fino all’arrivo di tutte le frame con numeri progressivi più bassi in modo da consegnarle al livello di rete nell’ordine corretto. Selective Repeat

34 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 34 Il progetto IEEE 802 ha suddiviso il livello data link in due sottolivelli:  LLC (Logical Link Control): Interfaccia comune a tutte le LAN verso il livello network  MAC (Media Access Control): – risolve il problema della condivisione del canale trasmissivo – specifico per ogni LAN I Sottolivelli

35 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 35  Tale tecnologia di rete è stata progettata per il trasporto audio e video in tempo reale, oltre a testo, e-mail e file d’immagini. Due comitati per la standardizzazione:  ITU-T: International Telecomunication Union -Telecommunication Sector, esso ha promosso fortemente ATM in quanto ha adottato gli sforzi degli operatori telefonici che tendevano alla creazione di uno standard per la B-ISDN  ATM Forum: una organizzazione di standardizzazione nata per volontà di industrie manifatturiere del settore informatico e delle reti di calcolatori  IETF (Internet Engineering Task Force) ovvero l'ente standardizzatore di nternet. Questo perchè negli ultimi anni, nonostante carenze negli standard, le reti ATM sono divenute una realtà, per cui si e sentito il bisogno di standardizzare il loro uso in Internet APPROFONDIMENTI: ATM: Asynchronous Transfer Mode

36 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 36 Trasporto integrato, end-to-end di dati, voce e video capace di: Rispettare i requisiti di isocronia e Quality of Service imposti dalla trasmissione di traffico voce e video superando così il paradigma di “Best-effort” di Internet Rispondere alla variabile domanda di banda nel tempo di utenza Basso costo ed alta velocità nel trattare elevate quantità di dati Adattabilità ai molteplici servizi supportati ATM: Obiettivi

37 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 37  Interfaccia di servizio al livello di rete  Trasferimento dati fra i livelli di rete della macchina sorgente e della macchina destinazione  Raggruppamento dei bit del livello fisico in pacchetti  Individuazione dell’inizio e della fine di ciascun pacchetto  Gestione degli errori di trasmissione  Codifica per la rilevazione o correzione degli errori (vedi “Codifica di canale)  Regolazione del flusso di pacchetti (velocità)  Evitare il flooding del ricevente Funzionamento del Livello Data Link

38 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 38  Servizio senza connessione e senza riscontro (ack): La macchina mittente spedisce pacchetti alla macchina destinataria senza verificare la ricezione. Se un pacchetto viene perso non si tenta di recuperarlo. (Linee con tasso di errore basso e controllo a livelli superiori)  Servizio senza connessione e con riscontro Per ogni pacchetto si dà riscontro della ricezione. Se il riscontro non arriva entro un timeout prefissato il mittente rispedisce il pacchetto. (Linee rumorose - wireless)  Servizio orientato alla connessione e con riscontro Ogni pacchetto spedito sulla connessione è numerato. C’è garanzia che tutti i pacchetti vengano ricevuti nell’ordine esatto. Servizi a livello di rete

39 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 39 Fornisce al livello di rete un flusso affidabile di bitFornisce al livello di rete un flusso affidabile di bit Prevede 3 fasi distintePrevede 3 fasi distinte Apertura della connessione Inizializzazione delle variabili e dei contatori per verificare quali pacchetti sono stati ricevuti (e quindi evitare duplicazioni) Trasmissione dei pacchetti Chiusura della connessione Deallocazione delle risorse utilizzate dalla connessione (buffer, contatori) Servizi con connessione e riscontro

40 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 40  Il livello fisico trasporta un flusso di bit  Nel flusso devono essere riconosciuti i singoli pacchetti Conteggio dei caratteri Conteggio dei caratteri Un campo dell’intestazione indica il numero di caratteri nel pacchetto Un campo dell’intestazione indica il numero di caratteri nel pacchetto Se si perde il sincronismo non si riesce a trovare l’inizio di un pacchetto successivo Se si perde il sincronismo non si riesce a trovare l’inizio di un pacchetto successivo Caratteri di inizio e fine, con riempimento dei caratteri Caratteri di inizio e fine, con riempimento dei caratteri Indicatori (flag) di inizio e fine, con riempimento di bit Indicatori (flag) di inizio e fine, con riempimento di bit Violazioni di codifica del livello fisico Violazioni di codifica del livello fisico Framing

41 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 41  I pacchetti sono iniziati dai caratteri ASCII DLE (Data Link Escape - 0x10) e STX (Start of TeXt - 0x02) e terminati da DLE ETX (End of TeXt - 0x03)  Ci si può sincronizzare nuovamente cercando la sequenza DLE STX  I dati nel pacchetto non possono contenere queste due sequenze  In trasmissione si duplica ogni DLE nei dati che poi si elimina in ricezione Un STX o ETX preceduto da due DLE è un dato del pacchetto A DLE B C DLE STX A DLE DLE B C DLE ETX Inizio Fine Pacchetto trasmesso Dati Caratteri di inizio e fine

42 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 42 I pacchetti sono iniziati e terminati con una sequenza speciale di bit 011011111111111111100100 Flag byte = 01111110 Dati Per evitare che il flag byte possa trovarsi all’interno dei dati del pacchetto, viene inserito un bit 0 dopo ogni gruppo di 5 bit a 1. Il bit inserito viene eliminato in ricezione (riempimento di bit) 0111111001101111101111101111100010001111110 Pacchetto Bit di riempimento Indicatori di inizio e fine

43 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 43 Il frame data link prevede un’intestazione (header) e una coda (trailer) aggiunti al pacchetto passato dal livello di rete Tipo del pacchetto (type) (es. data, ack, nack ) Numero di sequenza del pacchetto (seq) Numero di ack (ack)StartflagEndflagtypeseqackChecksum Pacchetto (livello rete) Le informazioni di framing e di checksum sono gestite in hardware La presenza di campi di controllo dipende dal protocollo di comunicazione utilizzato nel livello data link Frame Data Link

44 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 44 Definizione della modalità di scambio dei pacchetti fra mittente e ricevente (ack, stop-and-wait, ritrasmissione,…) Protocollo non limitato Protocollo senza conferma e senza connessione I pacchetti possono andare persi o essere accettati anche se corrotti Notifica dell’arrivo dal livello rete Crea pacchetto Al livello fisico pacchetto Attendi evento leggi pacchetto Al livello rete pacchetto data mittente ricevente Protocolli Data Link

45 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 45 Sincronizzazione della trasmissione con ack Evita il flooding del ricevente Funziona solo se c’è garanzia dell’arrivo dei pacchetti di ack dal livello rete Crea pacchetto Al livello fisico pacchetto Attendi evento leggi pacchetto Al livello rete pacchetto Notifica dell’arrivo Attendi evento Al livello fisico data ack mittente ricevente Protocolli Stop and Wait

46 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 46 Gestisce il caso di canali disturbati (perdita pacchetti) dal livello rete Crea pacchetto Al livello fisico pacchetto Attendi evento leggi pacchetto Al livello rete pacchetto Attendi evento Al livello fisico data ack ricevente Start timer evento? Timer scaduto Incrementa seq Arrivo pacchetto seq mittente Ritrasmissione dopo timeout evento? Errore checksum uguale a seq atteso seq ? Incrementa seq atteso seq diverso da seq atteso Arrivo pacchetto Protocollo con Time Out

47 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 47  Il numero di sequenza (seq) impedisce che il ricevente accetti un pacchetto duplicato (inviato in caso di perdita dell’ack)  Nel caso di ricezione con errore si aspetta lo scadere del timeout  Protocollo PAR (Positive Acnowledgement with Retransmission) o anche ARQ (Automatic Repeat reQuest)  Il tempo di timeout non deve essere troppo corto per evitare continue ritrasmissioni  Il protocollo può fallire se un ack ritarda ad arrivare e nel frattempo scade il timeout e si ritrasmette (si perde il sincronismo dell’ack). Dipende dal fatto che l’ack è anonimo (senza seq) Protocollo con Time Out

48 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 48  Ogni frame spedito contiene un numero progressivo a n bit  Il mittente ha una finestra di trasmissione che corrisponde ai frame che può ritrasmettere (frame ancora senza ack)  Il ricevente ha una finestra di ricezione che indica i frame che può accettare (pacchetti attesi che non sono stati ancora ricevuti) 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 mittente ricevente ack atteso frame atteso W = 1 0 0 data 0 ack 0 Protocollo a finestra scorrevole

49 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 49  Il mittente mantiene in un buffer di dimensione w tutti i frame nella finestra nel caso debbano essere ritrasmessi  Quando il buffer è pieno (non si sono ricevuti ack) il livello data link del mittente non accetta più pacchetti dal livello di rete  Se w=1 si ha un protocollo stop-and-wait (si aspetta l’ack prima di spedire un nuovo frame)  Il protocollo stop-and-wait spreca banda per le attese in caso di mezzo fisico con ritardo non trascurabile velocità del canale = b bps dimensione del frame = l bit tempo del ciclo = R s (tempo di propagazione) t data ack R l/b banda sprecata (bR) ricezione Protocollo a finestra scorrevole

50 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 50  Il mittente ha una finestra di dimensione w > bR/l  Vengono trasmessi frame di continuo, gli ack arrivano con ritardo R  Se l’ack non arriva entro il timeout (>R) si ritrasmette  Il numero di frame da ritrasmettere dipende dalla dimensione della finestra del ricevente Pipelining

51 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 51 Ripetizione selettiva 0123456278910 01 3 45 62 E 0 1 2 3 4 5 timeout 0 1 0 2 1 0 2 1 3 2 3 2 5 3 4 4 2 6 5 4 2 6 5 2 6 7 2 7 8 9 7 8 9 8 finestramittente ricevente w  4 7 8 9 10 6 7 8 9 ack Memorizzati dal livello data link I pacchetti 2-6 sono passati al livello rete Pipelining

52 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 52 Quando il ricevente rileva un errore (es. checksum, perdita della sequenza) può inviare un frame di ack negativo (nak) Quando il ricevente rileva un errore (es. checksum, perdita della sequenza) può inviare un frame di ack negativo (nak) Il nak è una richiesta di ritrasmissione per il frame specificato Il nak è una richiesta di ritrasmissione per il frame specificato Anche se il nak non arriva in modo corretto al mittente, esiste sempre il timeout Anche se il nak non arriva in modo corretto al mittente, esiste sempre il timeout Il nak è utile per migliorare le prestazioni quando si devono usare timeout elevati a causa di una forte variabilità dei ritardi nel ciclo Il nak è utile per migliorare le prestazioni quando si devono usare timeout elevati a causa di una forte variabilità dei ritardi nel ciclo Se il ritardo nel ciclo è abbastanza costante (il tempo di ritorno dell’ack è sempre più o meno lo stesso) si può scegliere un timeout ottimale e non occorre il nak Se il ritardo nel ciclo è abbastanza costante (il tempo di ritorno dell’ack è sempre più o meno lo stesso) si può scegliere un timeout ottimale e non occorre il nak Negative ack

53 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 53  Il PPP è il protocollo per i collegamenti punto-punto in Internet  E’ usato per la connessione via modem ad un Internet Provider  E’ definito negli RFC (Request For Comments) 1661 1662 1663  LCP - Protocollo di controllo del collegamento : aggancio e chiusura della linea, test, negoziazione di opzioni  NCP - Protocollo di controllo di rete: negoziazione delle opzioni del livello di rete (diversi tipi supportati) flag 01111110 address 11111111 control 00000011 checksum payload protocol flag 01111110 byte1 1 1 1/2 variabile 2/4 1 Frame PPP dati Il PPP (Peer to Peer Protocol)

54 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 54 chiusa stabilita convalidata rete aperta terminata configurazione NCP Autenticazione riuscita Accordo sulle opzioni (LCP) fallito Rilevamento della linea Linea persa fallito fatto ~ÿ}#À!}!}!} }4}"}&} } } } }%}&v¸ý}>}'}"}(}"Ø*~ Esempio indirizzo IP dinamico Connessione PPP

55 FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 55  Viene usato il rimpiazzamento di byte (01111110)  Di solito PPP non fornisce trasmissione affidabile usando seq e ack (Control)  address e control possono essere omessi (da LCP) per risparmiare 2 byte  protocol indica il tipo di pacchetto nel campo payload (LCP,NCP,IP,IPX, AppleTalk…)  La lunghezza massima del payload viene negoziata usando LCP durante l’agganciamento della linea (valore base 1500 byte) flag 01111110 address 11111111 control 00000011 checksum payloadprotocol flag 01111110 byte1 1 1 1/2 variabile 2/4 1 Frame PPP


Scaricare ppt "FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A. 2008-2009 1 RETI DI CALCOLATORI Il livello."

Presentazioni simili


Annunci Google