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.

Slides:



Advertisements
Presentazioni simili
I bridge Standard IEEE 802.1D.
Advertisements

Stack TCP/IP - Socket Douglas E. Comer, "Internetworking con TCP/IP, principi, protocolli, architettura.", Gruppo Editoriale Jackson W. Richard. Stevens,
Il livello di trasporto
Corso di laurea in INFORMATICA RETI di CALCOLATORI A.A. 2003/2004 Messaggi di errore e di controllo Alberto Polzonetti
E.Mumolo. DEEI Reti di calcolatore e Applicazioni Telematiche – Livello Dati Lezioni di supporto al corso teledidattico E.Mumolo. DEEI.
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
I modelli di riferimento OSI e TCP/IP
La rete in dettaglio: rete esterna (edge): applicazioni e host
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.
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.
1 Università degli studi G. DAnnunzioChieti-Pescara Facoltà di Economia Corso di laurea Specialistica in Economia Informatica Reti di calcolatori e Sicurezza.
Architettura FDDI (Parte Prima).
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
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.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori MODELLI ISO/OSI e TCP/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.
Corso di Informatica per Giurisprudenza Lezione 7
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.
Modulo 2 – U.D. 1 – Lez. 2 Ernesto Damiani – Sistemi di elaborazione dell'informazione.
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.
Il modello di riferimento OSI
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.
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
L’architettura a strati
L O STACK TCP/IP. LAN LAN è un sistema di comunicazione che permette ad apparecchiature indipendenti di comunicare tra loro, entro un’area limitata, utilizzando.
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
Reti Stratificazione del Protocollo. 2 Andrea Asta I protocolli oSpecificano e Rendono Comprensibile la comunicazione oNon è necessario conoscere.
TESINA DI SISTEMI.
Livello di trasporto Protocolli TCP e UDP.
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.
Complementi sul controllo d’errore (parte III). Selective Repeat (richiesta esplicita) Come nello schema Idle RQ, per velocizzare la ritrasmissione di.
Reti di computer Condivisione di risorse e
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
Reti di calcolatori Modulo 2 -Protocolli di rete TCP/IP Unità didattica 2 – Il protocollo TCP/IP Ernesto Damiani Università degli Studi di Milano - SSRI.
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
Flusso TCP (parte II). Trasferimento di grandi quantità di dati (1) Spesso il mittente deve inviare grandi quantità di dati. Genera un numero elevato.
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)
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
Fondamenti di Informatica1 Tipi di reti Cluster: –elaborazione parallela, rete interna Rete locale: –edificio, rete privata Rete metropolitana: –città,
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.
Strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono comprese negli strati fisico, di collegamento e parte.
Sistemi e Tecnologie della Comunicazione
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.
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.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
Università degli Studi di Napoli “Federico II” Facoltà di Scienze MM. FF. NN. – Sez. Informatica Sistemi per l’Elaborazione dell’Informazione: RETI a.a.
Prof. Guido Russo 1 Livello Data Link prof. G. Russo
Trasmissione. Codifica Elettrica I segnali si propagano su un mezzo fisico modulando onde elettromagnetiche variando voltaggi I dati binari devono essere.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Transcript della presentazione:

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A RETI DI CALCOLATORI Il livello Data Link prof. G. Russo prof. E. Burattini prof. E. Burattini ing. A. Violetta ing. A. Violetta © ©

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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.

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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.

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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.

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A Esempio di Bit Stuffing Data la sequenza di bit: Viene modificata dal mittente: 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)

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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 : 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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.

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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;

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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;

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

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

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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  Tale tecnologia di rete è stata progettata per il trasporto audio e video in tempo reale, oltre a testo, 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A I pacchetti sono iniziati e terminati con una sequenza speciale di bit Flag byte = 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) Pacchetto Bit di riempimento Indicatori di inizio e fine

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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) mittente ricevente ack atteso frame atteso W = data 0 ack 0 Protocollo a finestra scorrevole

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A Ripetizione selettiva E timeout finestramittente ricevente w  ack Memorizzati dal livello data link I pacchetti 2-6 sono passati al livello rete Pipelining

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  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)  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 address control checksum payload protocol flag byte /2 variabile 2/4 1 Frame PPP dati Il PPP (Peer to Peer Protocol)

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A 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

FACOLTA’ DI SCIENZE MM. FF. NN. - Corso di laurea magistrale in Informatica – corso di RETI DI CALCOLATORI A.A  Viene usato il rimpiazzamento di byte ( )  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 address control checksum payloadprotocol flag byte /2 variabile 2/4 1 Frame PPP