Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 9.

Slides:



Advertisements
Presentazioni simili
Modello dati LISTA LISTA: LISTA: sequenza finita di 0 o più elementi LISTA di tipo T: lista in cui tutti gli elementi sono dello stesso tipo T. es. lista.
Advertisements

WSDL (Web Services Description Language) Laurea Magistrale in Informatica Reti 2 (2006/07) dott. Federico Paoloni
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
4-1 Routing Gerarchico Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
5-1 Link Wireless Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
5-1 Point to Point Data Link Control Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (©
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.
Modello dati LISTA LISTA: LISTA: sequenza finita di 0 o più elementi LISTA di tipo T: lista in cui tutti gli elementi sono dello stesso tipo T. es. lista.
Linux firewalls Massimo Ianigro - CNR Area di Ricerca - Bari
Gestione File System e I/O in Windows 2000 Implementazione del File System FAT-12, FAT-16, FAT-32 NTFS API relative al File System Gestione dei dispositivi.
Sequence. CREARE UNA SEQUENCE CREATE SEQUENCE nome [INCREMENT BY n] [START WITH n] [MAXVALUE n | NOMAXVALUE] [MINVALUE n | NOMINVALUE] [CYCLE | NOCYCLE]
FUNZIONI DI GRUPPO Le funzioni di gruppo operano su un set di record restituendo un risultato per il gruppo. AVG ([DISTINCT|ALL] n) media, ignora i valori.
DATA LINK PHYSICAL IP TRASPORTO APPLICATIVOclient PHYSICAL IP TRASPORTO APPLICATIVOserver Un Client è interconnesso ad un Server attraverso una porzione.
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.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 14.
Sistemi di elaborazione dellinformazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 1 – Richiami.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 2.
Un esempio: Registrazione e lettura di dati in un file
Corso di Telecomunicazioni
Comunicare con il computer. Posta elettronica2 La posta elettronica La posta elettronica, conosciuta come , abbreviazione del termine inglese electronic.
Modelli di latenza. Non è semplice stabilire quanto tempo serve per ricevere un oggetto da un server remoto dopo aver inviato una richiesta. Anche se.
Microsoft Access Maschere.
Muoversi tra le finestre
7 cose da sapere su Volume Activation con Windows 7 © 2009 Microsoft Corporation. Tutti i diritti riservati. Come professionista IT, devi sapere che l'attivazione.
JavaScript Lezione 5 Tipizzazione ed operazioni tra tipi diversi Istruzioni di input.
PRIMI DISEGNI CON CABRI Realizzato da Daniel Bulgarini e Matteo Co CLASSE 2°C LICEO PASCAL MANERBIO.
Riprendendo Il tag il tag Div rappresenta un contenitore. Tutto quello che è incluso fra il tag iniziale e quello di chiusura reagisce secondo gli stili.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 12.
DISPOSITIVI ASIC Application Specific Integrated Circuit De Faveri Martina Classe 3 BET.
Copyright © 2005 KENWOOD All rights reserved. May not be copied or reprinted without prior written approval. Il nuovo standard radio DRM (Digital Radio.
El Kaouam Reda Clemente Vincenzo
OUTPUT FORMATTATO La funzione printf consente di effettuare la stampa a video formattata. Sintassi: printf ( stringa_formato, arg0, arg1, … ); La stringa.
Tutorial relativo al Mio EBSCOhost. Benvenuti al tutorial dedicato a Mio EBSCOhost, verranno fornite le istruzioni per la configurazione e lutilizzo ottimizzato.
Internet e ADSL A cura dellIng. Claudio TRAINI _________________________________________________________________ Trade System Srl - Viale Gran Sasso 7.
Modulo 1 bis Menù Incolla Esercitazione Un computer è quasi umano, a parte il fatto che non attribuisce i propri errori a un altro computer. (Anonimo)
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Meteo e stato del mare (modelli) 09 febbraio 2010 Minimo barometrico nel mediterraneo occidentale. Stato del mare in crescente agitazione nel corso della.
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
TCP/IP.
Corso di Reti di Calcolatori A.A Prof. D. Rosaci Capitolo Terzo: Esempi di Reti.
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web: modelli per la qualità dei siti (Ingegneria del Web)
LE RETI INFORMATICHE.
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
Cosè una rete Scambio di informazioni Perchè una rete.
La nascita di internet Luigi Di Chiara Arci Solidarietà Napoli.
Le reti informatiche Modulo 7. Internet Il browser La navigazione Motori di ricerca Raccogliere dati La stampa sommario.
Guida alla registrazione ILNarrastorie. Registrazione al sito Dovete registrarvi prima di poter iniziare a raccontare una favola andate QUI. Vi apparirà
LE RETI E IL DDNS.
LAVORO ED ENERGIA L’energia è la capacità di un sistema di compiere lavoro In natura esistono diverse forme di energia e ognuna di esse si trasforma continuamente.
Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A.
Realizzato da Roberto Savino 3-1 Il livello di trasporto r Dobbiamo assumere di avere a che fare con un canale di comunicazione molto particolare 1. Inaffidabile.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 7.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Esercizi.
24 aprile 2002 Avvisi: Risultati 1 o Esonero: (entro) lunedi 27 disponibili nella pag. WEB, ma anche esposti nella bacheca fuori dal corridoio 2 o dente,
Reti di Calcolatori Lezione 11 a.a. 2005/06 Reti di Calcolatori
Controllo remoto di dispositivi tecnologici via TCP/IP.
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Corso di Web Services A A Domenico Rosaci Patterns di E-Business D. RosaciPatterns per l'e-Business.
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
1 Sistemi e Tecnologie della Comunicazione Lezione 13: data link layer: protocolli go-back-n e selective reject; esempi: HDLC, PPP.
Internet Internet è conosciuta come la "rete delle reti". E' una grande rete di comunicazione che si estende in tutto il mondo che collega tra loro computer.
Università degli Studi - “ G. d'Annunzio ” Chieti - Pescara FACOLTÀ DI ECONOMIA Corso di laurea in Economia Informatica/s Seminario di: Giovanni Placentino.
TCP/IP.
La comunicazione attraverso la rete
TCP/IP. Sommario  Introduzione al TCP/IP  Indirizzi IP  Subnet Mask  Frame IP  Meccanismi di comunicazione tra reti diverse  Classi di indirizzi.
Il modello ISO/OSI e l’architettura TCP-IP
Sistemi e Tecnologie della Comunicazione
Corso base per Operatori di Protezione Civile
Transcript della presentazione:

Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 9

Reti di CalcolatoriAndrea Frosini2 Nel modello di riferimento: Application Transport Network Data Link Fisico

Reti di CalcolatoriAndrea Frosini3 Protocolli bi-direzionali Nei protocolli di livello Data Link uni-direzionali i frame dati viaggiano sempre nella stessa direzione ed i frame ack nellaltra Una comunicazione bi-direzionale si può realizzare con due canali di comunicazione (almeno half-duplex) ciascuno utilizzante un protocollo uni-direzionale In questo caso la banda passante di un canale è sotto-utilizzata se i frame dati viaggiano prevalentemente in una sola direzione I protocolli bi-direzionali consentono di far viaggiare frame dati e frame ack sullo stesso canale di comunicazione full-duplex in entrambe le direzioni Per distinguere i due tipi di frame si utilizza il campo kind posto nella testata del frame

Reti di CalcolatoriAndrea Frosini4 Il piggybacking (letter. portare sulle spalle) è una tecnica che minimizza loverhead dovuto alla trasmissione delle informazioni di acknowledgement Funziona solo con protocolli bi-direzionali Una entità di livello Data Link A invia un frame dati ad una entità di pari livello B Lentità B che riceve il frame dati non invia subito un frame ack al mittente A. Al contrario, lacknowledgement è trasmesso codificando linformazione nel campo ack del successivo frame dati che B dovrà spedire a A Si evita così loverhead della costruzione del frame ack, del calcolo del checksum, e della sua trasmissione (quindi si realizza un miglior uso della banda del canale) Piggybacking I

Reti di CalcolatoriAndrea Frosini5 Non è possibile che B attenda ad oltranza un frame dati a cui affidare lacknowledgement Se lattesa fosse troppo lunga, il frame ack non potrebbe arrivare al mittente A prima della scadenza del timer, e quindi A rispedirebbe inutilmente il frame dati Lattesa di B per un frame dati a cui affidare il trasporto dellacknowledgement deve essere regolata da un timer Scaduto il termine (pochi millisecondi), B deve inviare un normale frame ack Piggybacking II

Reti di CalcolatoriAndrea Frosini6 Protocolli sliding window (a finestra scorrevole) I protocolli sliding window sono una classe di protocolli per il livello Data Link sono bi-direzionali possono utilizzare il piggybacking sono più efficienti dei protocolli PAR Lassunzione di base di questi protocolli è che il canale di comunicazione (livello Fisico) sia wire-like: due frame senza errori saranno ricevuti nello stesso ordine in cui sono stati trasmessi

Reti di CalcolatoriAndrea Frosini7 In generale, nei protocolli sliding window non è necessario attendere lacknowledgement di un frame dati prima di inviare il successivo Di conseguenza, sono necessari più di due numeri di sequenza In generale, assumiamo che il campo seq del frame sia costituito da n bit, e che dunque il numero di sequenza vari tra 0 e 2 n – 1 Ad ogni istante sia chi trasmette che chi riceve mantiene una finestra (intervallo) di numeri di sequenza ammessi Protocolli sliding window – Numeri di sequenza

Reti di CalcolatoriAndrea Frosini8 In ogni protocollo sliding window, al trasmittente è consentito inviare solo frame dati aventi un numero di sequenza compreso nella finestra di trasmissione (od anche finestra di invio) La dimensione della finestra di trasmissione può variare, così come la sua posizione allinterno dellinsieme di numeri di sequenza. Ad esempio, se n=3 abbiamo 2 3 = 8 numeri di sequenza Protocolli sliding window – Finestra di trasmissione Nota Bene: se la finestra di trasmissione è vuota (ha dimensione zero), è sempre possibile estendere la sua dimensione ed inviare un frame! finestra di dimensione 3

Reti di CalcolatoriAndrea Frosini9 In ogni protocollo sliding window, al ricevente è consentito accettare solo frame dati aventi un numero di sequenza compreso in un determinato intervallo chiamato finestra di ricezione. La posizione allinterno dellinsieme di numeri di sequenza della finestra di ricezione può variare; in genere (ma non sempre) la dimensione è fissata Protocolli sliding window – Finestra di ricezione La finestra di ricezione di una certa entità non è in alcun modo legata alla finestra di trasmissione della stessa entità. In generale, nel protocollo sliding window, la finestra di trasmissione del trasmittente e quella di ricezione del ricevente non sono identiche (possono essere in posizioni differenti nella sequenza di numeri, possono avere dimensioni differenti, eccetera) finestra di dimensione 4 del ricevente

Reti di CalcolatoriAndrea Frosini10 I numeri di sequenza allinterno della finestra di trasmissione rappresentano frame dati inviati, ma non ancora confermati Quando il livello Network fornisce un nuovo pacchetto da inviare, lentità del livello Data Link: 1. controlla che la finestra di trasmissione non abbia già raggiunto la dimensione massima 2. assegna al nuovo frame dati il più vicino numero di sequenza alla destra della finestra di trasmissione 3. trasmette il frame dati 4. allarga la finestra di trasmissione per includere il nuovo numero di sequenza (ovviamente non dovrà essere possibile allargare la finestra fino a comprendere tutti i 2 n numeri) Protocolli sliding window – Trasmissione I

Reti di CalcolatoriAndrea Frosini11 Tutti i frame dati il cui numero di sequenza è allinterno della finestra di trasmissione devono essere conservati in memoria Infatti, la mancanza di conferma della loro ricezione implica la possibilità che essi debbano essere ritrasmessi Quando si riceve un acknowledgement per il numero di sequenza più a sinistra della finestra di trasmissione: 1. la finestra viene accorciata escludendo tale numero 2. il buffer contenente il frame dati viene liberato Protocolli sliding window – Trasmissione II

Reti di CalcolatoriAndrea Frosini12 I numeri di sequenza allinterno della finestra di ricezione rappresentano i frame dati che lentità Data Link può accettare. La finestra di ricezione generalmente conserva sempre la stessa dimensione Quando lentità Data Link riceve un frame dati: 1. Se il suo numero di sequenza è al di fuori della finestra di ricezione, il frame dati viene scartato 2. Se il suo numero di sequenza è uguale al numero più a sinistra nella finestra, il pacchetto viene trasmesso al livello Network e la finestra di ricezione viene spostata verso destra e viene inviato lack corrispondente 3. Se il suo numero di sequenza è dentro la finestra di ricezione, ma non è il numero più a sinistra, il frame viene salvato in un buffer e NON viene inviato lack corrispondente (si ricordi lassunzione che il canale è supposto wire-like, quindi il pacchetto più a sinistra è necessariamente andato perduto) Protocolli sliding window – Ricezione

Reti di CalcolatoriAndrea Frosini13 Protocolli sliding window – Esempio Trasmissione Ricezione InizialmenteInvio seq = 1Ricez. seq = 1Ricez. ack = 1

Reti di CalcolatoriAndrea Frosini14 E un protocollo stop-and-wait La dimensione massima della finestra di trasmissione è 1 La dimensione della finestra di ricezione è fissata a 1 Simile al protocollo PAR, ma è bi-direzionale e usa il piggybacking I numeri di sequenza sono solo 0 e 1 In trasmissione si controlla il campo ack di ciascun frame ricevuto: contiene il numero dellultimo frame passato al livello Network dallaltra entità: Se coincide con quello nella finestra di trasmissione, la finestra si svuota ed un nuovo pacchetto del livello Network può essere accettato Se il numero non coincide, il frame nella finestra di trasmissione viene ritrasmesso Se scade il timer fatto partire allinvio di un frame si ha ritrasmissione Protocollo one bit sliding windows I

Reti di CalcolatoriAndrea Frosini15 In ricezione si accettano solo i frame il cui campo seq ha il valore incluso nella finestra di ricezione: Si pone nel campo ack del prossimo frame uscente il numero di sequenza del frame accettato Si fa avanzare la finestra di ricezione (si inverte il valore del numero di sequenza) Anche quando il frame non è accettato, si continua ad impostare il campo ack dei successivi frame uscenti con il numero dellultimo frame accettato Protocollo one bit sliding windows II

Reti di CalcolatoriAndrea Frosini16 Protocollo One Bit Sliding Window – Esempio I host1host2 (0,1,A2) (0,0,B0) (1,0,A1) (1,1,B1) (0,1,A0) (0,0,B0) (1,0,A1) (1,1,B1) (0,1,A2) Network host1 Network host2 Leggi: (seq, ack, packet number)

Reti di CalcolatoriAndrea Frosini17 Protocollo One Bit Sliding Window – Anomalia Una strana anomalia accade quando host1 e host2 trasmettono i propri pacchetti simultaneamente, come mostrato nel lucido seguente: sia host1 che host2 ricevono due volte tutti i pacchetti inviati nella rete non ci sono perdite o errori nei pacchetti tale situazione può verificarsi anche nel caso in cui ci sia un primo trasmettitore, ma uno dei due timeout sia troppo breve

Reti di CalcolatoriAndrea Frosini18 Protocollo One Bit Sliding Window – Esempio II host1host2 (0,1,B0) (0,1,A0) (1,0,A1) (0,1,A0) (0,1,B0) (0,0,A0) (0,0,B0) (1,0,A1) Network host1 Network host2 (0,0,A0) (0,0,B0) (1,0,B1) (1,1,B1) (1,1,A1) Leggi: (seq, ack, packet number)

Reti di CalcolatoriAndrea Frosini19 Protocolli sliding window con pipelining I Il protocollo One Bit Sliding Window, ed in generale tutti i protocolli stop-and-wait, sono altamente inefficienti se il canale di comunicazioni ha un elevato round trip time (tempo di andata e ritorno del segnale) Esempio: in un canale satellitare il ritardo tra la trasmissione di un frame e la ricezione di un ack può essere dellordine di 500 millisecondi I protocolli sliding window con una finestra di trasmissione maggiore di uno sono molto più efficienti: è possibile inviare diversi frame prima di bloccare per attendere la conferma La tecnica è in effetti un particolare tipo di pipelining

Reti di CalcolatoriAndrea Frosini20 Se il canale ha una capacità di b bit/sec, la dimensione del frame è l bit e il round trip time è R secondi, il massimo utilizzo della linea (in una direzione) è pari a Utilizzo del canale con un protocollo stop and wait Se il prodotto b R è grande, lefficienza sarà bassa, a meno di non utilizzare frame molto lunghi Ad esempio, lefficienza di un protocollo stop and wait su un canale satellitare con b = 100 kbps, l = 1000 bit e R = 500 millisecondi è l / b l / b + R = l l + b R · 0.5 = % tempo invio frame tempo totale operazione

Reti di CalcolatoriAndrea Frosini21 Utilizzo del canale con pipelining Supponiamo di spedire W frame prima di bloccare in attesa della prima conferma. Lutilizzo del canale sarà allora pari a: Ad esempio, lefficienza di un protocollo pipelining su un canale satellitare con b = 100 kbps, l = 1000 bit, R = 500 millisecondi e W = 26 è W · l / b W · l / b + (R - (W - 1) · l / b ) = W l l + b R 26 · · 0.5 = %

Reti di CalcolatoriAndrea Frosini22 Se un frame inviato insieme a tanti altri è danneggiato, esso deve essere scartato Cosa fare con tutti gli altri frame ricevuti dopo quello scartato? Vi sono essenzialmente due distinte strategie: Protocollo Go back n Protocollo Selective repeat Protocolli sliding window con pipelining II

Reti di CalcolatoriAndrea Frosini23 Nel protocollo Go back n, tutti i frame ricevuti dopo un frame danneggiato (o perso) sono scartati: la finestra di ricezione è lunga 1 Se un frame ricevuto è scartato perché fuori sequenza, esso non viene mai confermato e neppure si confermano i successivi frame che arrivano (però il protocollo è bidirezionale, quindi continuano ad essere inviate le conferme relative allultimo frame passato al livello Network) Quando il trasmittente va in time-out sul primo frame errato, ritrasmette lintera sottosequenza di frame Se il trasmittente riceve conferma per un certo frame, tale conferma vale anche per tutti i frame inviati precedentemente a lui e non ancora confermati Questa strategia minimizza il numero di buffer dellentità ricevente: vengono accettati solo i frame che possono essere immediatamente inviati al livello Network sovrastante Protocollo Go back n

Reti di CalcolatoriAndrea Frosini24 Protocollo Go back n – Esempio

Reti di CalcolatoriAndrea Frosini25 Data una finestra di trasmissione di dimensione N + 1, i numeri di sequenza dei frame che potranno essere inviati saranno compresi tra 0 e N +1 Attenzione! Se venissero utilizzati soltanto numeri di sequenza da 0 a N, il protocollo non funzionerebbe, come mostra lesempio: 1. Il trasmittente invia N +1 frame con numeri da 0 a N 2. Alla fine si riceve una conferma per il frame N 3. Il trasmittente invia altri N +1 frame con numeri da 0 a N 4. Alla fine si riceve unaltra conferma (via piggybacking) per il frame N Problema: Se tutti i frame trasmessi al passo 3 fossero persi (o semplicemente venisse perso il frame 0, e tutti gli altri fossero scartati dal ricevente), il ricevente continuerebbe a trasmettere lacknowledgement dellultimo frame del passo 1 accettato (frame N) e si creerebbe una situazione anomala Protocollo Go back n – Numeri di sequenza

Reti di CalcolatoriAndrea Frosini26 Il protocollo Go back n non è efficiente su canali di comunicazione con elevato tasso derrore. In questi casi il protocollo Selective repeat è migliore perché ha una finestra di ricezione di lunghezza maggiore di 1 Il destinatario memorizza in un buffer tutti i frame ricevuti dopo larrivo di un frame rovinato, con il rispettivo numero di sequenza allinterno della finestra di ricezione. Nessun ack viene inviato Non appena il frame danneggiato viene ricevuto nuovamente, il destinatario passa tutti i frame presenti nel buffer al livello Network e invia un acknowledgment con il più alto numero di frame trasmesso al livello Network, ossia lultimo frame della sequenza completa ricevuta Il trasmittente ritrasmette un frame solo in conseguenza di un timeout (oppure in caso di NAKNegative Acknowledgement) Protocollo Selective repeat

Reti di CalcolatoriAndrea Frosini27 Protocollo Selective repeat – Esempio

Reti di CalcolatoriAndrea Frosini28 Osserviamo: mittente e destinatario devono entrambi gestire un buffer per mantenervi i frame non confermati (mittente) successivi ad un errore (destinatario) Protocollo Selective repeat – Gestione frame host1host2 per entrambi i precedenti protocolli: - è necessaria la gestione di timer multipli (uno per ogni frame inviato e non confermato) - il ricevente, per inviare gli ack, usa il piggybacking se possibile, altrimenti invia un apposito frame X hack

Reti di CalcolatoriAndrea Frosini29 Protocollo Selective repeat – Numeri di sequenza I Date finestre di trasmissione e ricezione di dimensione N, i numeri di sequenza dei frame saranno compresi tra 0 e 2N - 1 Attenzione! Se venissero utilizzati una quantità inferiore di numeri di sequenza il protocollo non funzionerebbe. Siano i numeri tra 0 e M, con M < 2N Il trasmittente invia frame con numeri da 0 a N Il ricevente li accetta e aggiorna la finestra di ricezione; se M < 2N - 1, 0 è incluso nella nuova finestra 3. Tutte le conferme sono perse, ed il trasmittente invia nuovamente il frame 0

Reti di CalcolatoriAndrea Frosini30 Protocollo Selective repeat – Numeri di sequenza II 4. il frame 0 viene memorizzato come nuovo, e si invia lack per N - 1 (ultimo trasmesso a livello Network) 5. Il trasmittente assume che tutti i frame inviati nel passo 1 sono stati accettati, quindi invia N, N +1, N +2,..., M Il ricevente vede il frame M, che è allinterno della finestra di ricezione e lo passa al livello Network. 7. Il ricevente controlla il buffer per il frame 0: è pieno, dunque lo passa al livello Network Problema: il frame 0 passato al livello Network la seconda volta appartiene alla prima sequenza!

Reti di CalcolatoriAndrea Frosini31 Negative Acknowledgement Fino ad ora un frame con errori era considerato come un frame non arrivato e quindi semplicemente scartato La tecnica chiamata NAK (Negative Acknowledgement) permette di migliorare lefficienza dei protocolli Un frame NAK è inviato al mittente quando il destinatario riceve un frame con errori, oppure riceve un frame con un numero di sequenza diverso da quello atteso Il frame NAK contiene il numero di sequenza del frame che deve essere rispedito. Migliora le prestazioni perché il trasmittente non deve aspettare la scadenza del timeout relativo

Reti di CalcolatoriAndrea Frosini32 Protocollo Selective repeat con NAK– Esempio

Reti di CalcolatoriAndrea Frosini33 Approfondimenti Consideriamo il paragrafo 3.5 PROTOCOL VERIFICATION del libro di testo Computer Networks di A.S. Tanenbaum 1.Cosa è un automa a stati finiti (finite state machine)? 2.Cosa è una rete di Petri (Petri net)? 3.Come possono essere utilizzati entrambi questi strumenti per specificare formalmente un protocollo?

Reti di CalcolatoriAndrea Frosini34 Protocollo HDLC Il protocollo HDLC = High-level Data Link Control è un protocollo Data Link standard emanato dallISO ed è derivato dal protocollo SDLC (Synchronous Data Link Control) della architettura IBM SNA. Si è evoluto nei protocolli CCITT LAP (Link Access Procedure) e LAPB dello standard X.25 è orientato al bit (non ai caratteri): usa la tecnica del bit stuffing per il framing il codice per la rilevazione di errori è una variante del CRC-CCITT (la variante facilita la rilevazione dei flag byte persi) la gestione della trasmissione e flusso è essenzialmente un protocollo sliding window Go back N con numeri di sequenza a tre bit, dimensione massima della finestra di trasmissione pari a 7, NAK e piggybacking

Reti di CalcolatoriAndrea Frosini35 Address: nelle linee multi-punto identifica i diversi terminali Control: informazioni di controllo quali numeri di sequenza e ack. Identifica anche il tipo di frame: 1. Information, per la trasmissione dei dati 2. Supervisory, per le conferme e per controllare diverse modalità di trasmissione 3. Unnumbered, per traffico di controllo o comunque non affidabile Protocollo HDLC – Struttura del frame AddressControlDataChecksum 8 bit 0 bit 16 bit 8 bit

Reti di CalcolatoriAndrea Frosini36 Il protocollo SLIP = Serial Line IP è il più vecchio protocollo Data Link utilizzato nellarchitettura Internet Protocol Suite (1984), nato per collegare workstation Sun alla rete Internet tramite modem spedisce pacchetti IP terminati dal carattere 0xC0 (usa character stuffing sostituendo 0xDB 0xDC al posto di 0xC0 entro il pacchetto IP) Protocollo SLIP Non ha controllo di errori Ha solo IP con indirizzi statici, e non ha alcuna forma di autenticazione Non è standard ufficiale di Internet (regolato da RFC 1055 e 1144, ma esistono molte implementazioni incompatibili)

Reti di CalcolatoriAndrea Frosini37 Livello Data Link in Internet In Internet cè la necessità di un protocollo point-to-point (PPP protocol) per la gestione delle funzioni Data Link di framing, controllo errori, controllo del flusso etc. home PC router modem processo client che usa TCP/IP linea telefonica convenzionale connessione TCP/IP basata su PPP

Reti di CalcolatoriAndrea Frosini38 Il protocollo PPP (= Point-to-Point Protocol) è uno standard Internet ufficiale (RFC 1661, 1662, 1663, 2153, e molti altri) meccanismo di framing basato su character stuffing, ove i byte delimitatori sono il flag byte , e il carattere di stuffing è il byte rilevazione derrori con codice polinomiale, con 16 o 32 bit di controllo per frame supporta diversi protocolli di livello Network: IP, IPX, AppleTalk,... anche contemporaneamente generalmente non usa numeri di sequenza e ack, quindi non offre realmente un servizio affidabile (ma possono essere attivati, cfr RFC 1663) Protocollo PPP

Reti di CalcolatoriAndrea Frosini39 Il protocollo PPP definisce due sotto-protocolli, i cui pacchetti vengono trasportati allinterno dei frame PPP LCP (Line Control Protocol): attiva e disattiva la linea seriale di comunicazione, e negozia i parametri a basso livello quali formato del frame, velocità di trasmissione… NCP (Network Control Protocol): negozia opzioni di livello network: 1.Per ogni livello network supportato c'è un differente NCP 2.Nel IP, NCP viene usato per negoziare un indirizzo IP dinamico 3.Il traffico derivante dall'uso dei protocolli LCP e NCP viene trasportato nei frame PPP Sotto-protocolli LCP e NCP

Reti di CalcolatoriAndrea Frosini40 Formato del frame PPP Protocol: indica il protocollo di livello Network utilizzato (RFC 1700) Address: indica trasmissione broadcast, può essere assente Control: niente numero di sequenza e ack, può essere assente Address Control DataChecksum 8 bit variabile2 o 4 byte 8 bit Protocol 8 bit

Reti di CalcolatoriAndrea Frosini41 Esercizi 1.Sia data la seguente codifica: A: B: FLAG: ESC: Mostrare la sequenza binaria per il messaggio A B ESC FLAG con i framing - conteggio dei caratteri - flag bytes con byte stuffing - flag di inizio e fine e bit stuffing 2.La stringa di bit deve essere trasmessa dal livello Data Link. Come si presenta tale stringa dopo il bit stuffing? 3.Messaggi di sedici bits sono trasmessi utilizzando il codice di Hamming per la correzione del singolo errore. Quanti check bits sono necessari? Assumendo la parità pari, qual è il messaggio trasmesso per la stringa di bit ? 4.Qual è il messaggio inviato se vogliamo utilizzare la codifica CRC per il messaggio con polinomio generatore G(x)=1001?

Reti di CalcolatoriAndrea Frosini42 Esercizi 5.La stringa di bit viene trasmessa utilizzando la codifica CRC con G(x)=1001. Durante la trasmissione il terzo bit del messaggio viene invertito. Mostrare che tale errore viene riconosciuto. 6.Un canale ha un bit rate di 4 kbps e un tempo di propagazione di 20 msec. Per quali valori della lunghezza del messaggio un protocollo stop-and-wait raggiunge lefficienza del 50%? 7.Si consideri un canale satellitare privo di errore con velocità 64 kbps che invia messaggi di 512 byte ciascuno, con lunghezza dellAck trascurabile. Qual è il massimo bit rate se si utilizzano finestre di dimensione 1, 7, 15 e 127? Si assuma che il tempo di propagazione di un canale satellitare è posto a 270 msec. 8.Si consideri un cavo T1 (24 canali di ampiezza 8 bit ciascuno, con frequenza di invio di ciascun frame 8000 Hz) lungo 100 Km. La velocità di propagazione al suo interno è circa 2/3 c. Quanti bits entrano allinterno del cavo ad un determinato istante?

Reti di CalcolatoriAndrea Frosini43 Esercizi 9.Calcolare la lunghezza minima di un frame per ottenere unefficienza del 40% su di un canale con bit rate di 600 kbps, tempo di propagazione di 200 msec e protocollo a finestra scorrevole con ampiezze W uguale a 1, 30, 100. Nel caso di W=30 qual è linformazione massima (in bit) codificata in ciascun frame se si utilizza lo standard HDLC con correzione derrore di Hamming per singolo bit? 10.Simulare la comunicazione tra due stazioni su di un canale con tasso derrore del 20% e protocolli i) Go back n ii) Selective repeat usando piggybacking, finestra trasmittente di ampiezza 6, finestra ricevente massima (caso ii)) di ampiezza 3 e 3 bit nel campo Seq.