Strato di collegamento (DL)
Transcript
Strato di collegamento (DL)
Strato di collegamento (DL) Data Link ARQ ARQ: Automatic Retransmission reQuest z Controllo congiunto di: ¾ Errore ¾ Flusso ¾ Sequenza su una connessione 2 1 Data Link Controllo di flusso z Ha il compito di assicurare che ritmo di arrivo delle UI non superi la capacità di memorizzazione e elaborazione della entità ricevente, in modo che non si verifichino perdite di informazione ¾ regolazione dell’emissione del flusso di dati di una entità emittente da parte della entità ricevente ¾ dipende dalle capacità di memorizzazione del ricevente (buffer) e dalla sua velocità di elaborazione e smaltimento ¾ spesso viene realizzata in interazione con la funzione di recupero di errore e/o di controllo di congestione z Livello 2 e 4 3 Data Link Controllo di flusso 4 2 Data Link Controllo di flusso: esempi z Esempio: seriale RS-232 ¾ RTS/CTS (Controllo di flusso HW) • E’ presente una coppia di fili corrispondenti ai segnali RTS (Request To Send - pin 4) e CTS (Clear To Send - pin 5). Quando un dispositivo ricevente rileva l'attivazione del segnale RTS da parte del dispositivo trasmittente ed è pronto per ricevere, allora risponde attivando il CTS. Per interrompere l'invio dei dati da parte del trasmettitore, il ricevitore può disattivare il segnale CTS, e riattivarlo quando sarà nuovamente in grado di ricevere i dati. ¾ XON/XOFF (Controllo di flusso SW) • L'utilizzo dei caratteri XON e XOFF (codici 17 e 19 della tabella ASCII, talvolta identificati come DC1 e DC3 - device control numero 1 e 3 - e corrispondenti ai codici di controllo CTRL-Q e CTRL-S) permette di realizzare un controllo di flusso senza bisogno di segnali hardware dedicati, in quanto XON e XOFF viaggiano sugli stessi canali dei dati. Il ricevitore trasmette un XOFF quando non è più in grado di ricevere i dati e un XON quando è nuovamente in grado di riceverli 5 Data Link Controllo di flusso: esempi z Esempio: HDLC/X.25 livello 2 ¾ controllo di flusso tramite trama (HDLC-PDU) di controllo RNR (Receiver Not Ready). È una trama utilizzata per indicare che la stazione è temporaneamente impossibilitata a ricevere nuovi I-frame (trame informative) z Esempio: TCP livello 4 ¾ controllo di flusso a finestra scorrevole di ampiezza variabile e operante a livello di ottetti (byte) numerati sequenzialmente ¾ un segmento (TCP-PDU) di riscontro con ACK Number=n e Window=w significa che il trasmittente è autorizzato a trasmettere fino a ulteriori w ottetti a partire da n, ovvero fino all’ottetto numerato con n+w-1 6 3 Data Link ARQ ARQ: Automatic Retransmission reQuest z Controllo congiunto di ¾ Errore ¾ Flusso ¾ Sequenza su una connessione 7 Data Link Controllo di sequenza z Recupero in ricezione della corretta sequenza delle UI inviate, in modo da consegnare le UI allo strato superiore nel corretto ordine z Utilizzo di numeri di sequenza delle UI ¾ alle UI emesse viene aggiunto un numero di sequenza (in ordine crescente e modulo N) • vengono contate direttamente le UI, oppure • vengono contati i byte emessi; in questo caso nelle UI viene inserito il numero di sequenza del primo byte trasportato (e.g. TCP) z Sono possibili tecniche che fanno ricorso a memorizzazione in ricezione delle UI e successivo riordinamento, oppure tramite tecniche generali di recupero di errore 8 4 Data Link 9 Data Link Riscontri positivi z I riscontri positivi sono trasferibili, ¾ con trame apposite (trame-ACK), contenenti solo informazione di controllo, protette con un CRC ¾ con trame contenenti dati di utente (trame-dati) e trasferite nel verso contrario a quello dell’informazione da riscontrare: in tal caso il riscontro è contenuto nell’intestazione della trama come parte dell’informazione di controllo 10 5 Data Link ARQ z Tre tipi: ¾ Modalità a riscontro positivo con riemissione (Stop-and-Wait) ¾ Modalità a finestra variabile con riemissione non selettiva (Go-back-N) ¾ Modalità a finestra variabile con riemissione selettiva (Selective Repeat) ¾ La strategia ARQ più semplice è detta Stop&Wait: • l’idea base : assicurare che ogni UI sia ricevuta correttamente dall’entità ricevente prima di iniziare a trasmettere la prossima UI. 11 Data Link Stop and wait Il trasmettitore: 1. 2. 3. 4. Invia una PDU Attiva un orologio (timeout) Attende la conferma di ricezione (ack) Se scade il timeout prima dell’arrivo di ack, ripete la trasmissione ¾ Quando riceve un ACK 1. Controlla la correttezza dell’ACK 2. Controlla il numero di sequenza 3. SE l’ACK e’ relativo all’ultima PDU trasmessa, si abilita la trasmissione della prossima PDU 12 6 Data Link Stop and wait z Il ricevitore: 1. 2. 3. 4. Riceve una PDU Controlla la correttezza della PDU Controlla il numero di sequenza SE la PDU e’ corretta, invia la conferma di ricezione 13 Data Link Riscontri Entità A Trama A ACK Trama B NACK Trama B ACK Entità B Trama A ACK Trama B NACK Trama B ACK 14 7 Data Link Attenzione z Non è sufficiente il solo meccanismo dei riscontri: si crea una situazione di stallo se non arriva il riscontro o se la UI viene perduta z Si introducono allora dei meccanismi di temporizzazione: quando una entità emette una UI fa contemporaneamente partire un temporizzatore allo scadere del quale la UI viene ri-emessa 15 Data Link Piggybacking z Quando il flusso dati è bidirezionale è possibile includere nell’intestazione della PDU dati un campo con l’informazione di riscontro (ACK) per il flusso dati che sta fluendo in direzione opposta La tecnica è detta “piggybacking” z I protocolli ARQ prevedono che una UI sia: • solo dati • solo controllo • sia dati che controllo z Col “piggybacking” si ritarda leggermente l’invio di ACK relativi ad un flusso nell’attesa di eventuali UI dati nel verso opposto 16 8 Data Link Efficienza z Viene valutata mediante il rendimento di trasferimento η= Ti Tr z Ti: valore atteso del tempo necessario a trasferire PDU tenendo conto del SOLO ritmo binario di trasferimento z Tr: valore atteso del tempo necessario a trasferire PDU tenendo conto ANCHE di: ¾ Extra informazioni legate al protocollo ¾ Vincoli imposti dalla procedura di recupero (in assenza di errori) ¾ Tempi di riemissione delle PDU 17 Data Link ARQ prestazioni z Ipotesi: ¾ trame (PDU) di lunghezza costante ¾ riscontri inviati con la tecnica dell’addossamento (si trascura la lunghezza della parte di PDU dedicata al riscontro e si adotta una emissione senza ritardo) ¾ lunghezza dell’informazione di protocollo dedicata al riscontro trascurabile ¾ riscontri individuali ¾ emettitori operanti in condizioni di pieno carico 18 9 Data Link Stop&Wait: prestazioni in assenza di errori z Efficienza del canale ¾ in assenza di errori η= Tt Tt + Ta + 2Tp + 2τ z nell’ipotesi che A abbia sempre una trama da trasmettere 19 Data Link Stop&Wait: prestazioni Trascurando η= Tp e Ta e dividendo per Tt: 1 1 = 1 + 2τ / Tt 1 + 2a z Il rapporto a=τ/Tt influenza l’efficienza del protocollo: ¾ a è piccolo su reti di piccola estensione e a basso bit rate (efficienza maggiore) ¾ a è grande su reti molto estese e ad alto bit rate (bassa efficienza) Il protocollo Stop and Wait può essere poco efficiente a causa di elevati ritardi di attesa delle conferme 20 10 Data Link Stop&Wait: prestazioni parametro a=τ/Tt è noto anche come tempo di propagazione normalizzato Il a= ¾ ¾ ¾ ¾ τ Tt = d / v dC = L / C Lv d estensione del collegamento AB [m] v velocità di propagazione sul collegamento AB [m/s] L lunghezza di una trama (si assume costante) [bit] C bit rate sul collegamento [bit/s] 21 Data Link Stop&Wait: prestazioni Interpretazione a= τ Tt = del parametro a=τ/Tt d / v dC = L / C Lv z a rappresenta il rapporto tra la lunghezza del mezzo in bit (dC/v) e la lunghezza della trama L 22 11 Data Link Stop&Wait: prestazioni z Es.: link da 1 Gb/s, ritardo di propagazione end-to-end 15 ms, pacchetti da 1KB Tt = 8 kbit/pkt 9 10 bit/s = 8 µs Utilizzazione = U = Frazione di tempo = in cui il trasmettitore è occupato 8 µs 30.008 ms = 0.00027 ¾ un pacchetto da 1KB ogni 30 ms -> 33kB/s di throughput su un link da 1 Gb/s ¾ il protocollo limita l’uso delle risorse fisiche! 23 Data Link Stop&Wait: prestazioni in presenza di errori z Nel caso di errori sul canale, l’efficienza diventa: η= 1 Nr (1 + 2τ / T ) ¾ Nr è il numero medio di tentativi di trasmissione necessari a trasmettere una trama z Nr si può trovare conoscendo la probabilità di errore p sulla trama Nr=1/(1-p) ¾ Se p=0.5, mediamente il 50% delle trame sono corrotte e ogni trama dovrà essere trasmessa 2 volte (Nr=2) 24 12 Data Link Stop&Wait: prestazioni in presenza di errori z Dimostriamolo. z La probabilità che il numero n di trasmissioni di una trama sia pari a i, quando la probabilità d’errore su una trama è p : P[n = i ] = p i −1 (1 − p ) z numero medio di tentativi di trasmissione per trama: N r = E [n] = +∞ ∑i i =1 P[n = i ] = 1 1− p (1) P[n=i]=P(avere 1 trasmissione con successo e i-1 fallimenti) distribuzione geometrica 25 Data Link Stop&Wait: prestazioni in presenza di errori z Dimostriamo la (1) N r = E [n] = + ∞ i −1 ∑ i p (1 − i =1 p ) = (1 − i + ∞ dp p) ∑ i =1 dp = ∞ i⎫ d ⎧ d ⎧ 1 ⎫ = (1 − p) ⎨− 1 + ∑ p ⎬ = (1 − p) ⎨− 1 + ⎬= i =0 ⎭ dp ⎩ dp ⎩ 1− p ⎭ = (1 − p) 1 (1 − p)2 = 1 (1 − p) 26 13 Data Link Stop&Wait: prestazioni in presenza di errori z Quindi l’efficienza in presenza di errori: η= Tt ( Nr − 1)(Tt + T ) + Tt + Ta + 2Tp + 2τ z L’efficienza max si ottiene nel caso limite in cui il timeout T scatta nell’istante in cui avrebbe dovuto essere ricevuto il riscontro in assenza di errori, cioè: T = Ta + 2Tp + 2τ 27 Data Link Stop&Wait: prestazioni in presenza di errori z Quindi l’efficienza max in presenza di errori: ηmax = Tt (1 − p) (1 − p) ≈ Tt + Ta + 2Tp + 2τ 1 + 2a 28 14 Tecniche ARQ (protocolli a finestra) Data Link Protocolli “pipeline” z Pipelining: al trasmettitore è consentito l’invio di trame multiple senza che debba aspettare i riscontri ¾ le trame in transito possono essere viste come il riempimento di un canale (pipeline) ¾ il range di numeri di sequenza aumenta (piu’ pacchetti di ack in transito) ¾ necessità di buffering al sender e/o al receiver 30 15 Data Link Protocolli “pipeline” z Due tipi di protocolli pipeline: go-Back-N, selective repeat 31 Data Link Protocolli a finestra PDU PDU PDU PDU confermate in attesa che possono che non possono di conferma essere trasmesse ancora essere trasmesse WT n Trasmettitore WT: finestra di trasmissione (dimensione N) La finestra scorre in avanti sullo spazio dei numeri di sequenza ogni volta che si riceve un riscontro. 32 Si parla di protocolli a finestra scorrevole (sliding window). 16 Data Link ACK Cumulativi La semantica associata alla trama di riscontro può essere: • ACK individuale: si notifica la corretta ricezione di una trama particolare • ACK cumulativo: si notifica la corretta ricezione di tutte le trame con numero di sequenza inferiore a quello specificato nell’ACK 33 Data Link Protocolli a finestra WT avanza di una posizione ogni volta che riceve una PDU di tipo ACK relativa alla posizione più bassa della finestra. Se il trasmettitore riceve un ACK-n relativo a una PDU-n che non è nella posizione più bassa, può avanzare WT fino alla posizione n, ignorando il fatto che alcuni ACK non siano ancora stati ricevuti. 34 17 Data Link Go back N 35 Data Link Go back N Il trasmettitore • invia fino ad N PDU facendo di ognuna una copia • attiva un orologio per ogni PDU • si pone in attesa delle conferme di ricezione (ACK) • se scade un timeout prima dell’arrivo delle conferme, ripete la trasmissione di tutte le PDU non ancora confermate 36 18 Data Link Go back N Il ricevitore, quando riceve una PDU • controlla la correttezza della PDU • controlla il numero di sequenza • se la PDU contiene il primo numero di sequenza non ancora ricevuto, viene consegnata ai livelli superiori, altrimenti viene scartata • invia la conferma di ricezione I pacchetti vengono scartati anche se CORRETTI per semplificare il ricevitore e ridurre la necessità di buffering 37 Data Link Go back N La numerazione delle PDU è ciclica • k bit di numerazione • numerazione modulo 2k 38 19 Data Link Finestra E’ la sequenza di numeri consecutivi che sono compresi tra un limite inferiore e uno superiore (estremi inclusi) z Scorrevole: se aumentando Lsup la sua dimensione W resta inalterata z In emissione: e’ il numero massimo di PDU che posso emettere sequenzialmente senza ricevere riscontro per alcuna di esse z In ricezione: e’ il numero massimo di PDU che posso essere accolte senza emettere riscontro per alcuna di esse 39 Data Link Go back N il trasmettitore e` significativamente piu` complesso rispetto al caso dello Stop and wait • memoria • orologi • algoritmi 40 20 Data Link Si possono usare conferme cumulative • orologio al ricevitore 41 Data Link •La finestra di trasmissione non può avere dimensioni arbitrarie WT < 2k •La numerazione modulo M impone un vincolo sul numero massimo (<=M-1) di PDU che si possono emettere senza avere un ricontro per alcuna di esse. Questo per evitare ambiguita’ nei riscontri. 42 21 Data Link Il protocollo Go back N è più efficiente dello Stop and wait ma richiede • memoria • più orologi • algoritmi più complicati al trasmettitore • Se non si verificano errori più è grande WT migliore è l’efficienza 43 Data Link La complessità del ricevitore rimane inalterata La finestra di ricezione ha ancora dimensione 1 Gli ACK cumulativi però richiedono un orologio 44 22 Data Link Problemi Quando la dimensione della finestra e il ritardo end-to-end sono entrambi grandi • • molte trame in transito; un errore su una sola trama può costringere il GBN a ritrasmettere un gran numero di trame, molte delle quali potrebbero non essere necessarie all’aumentare della probabilità di errore sul canale questo può diventare saturo di ritrasmissioni 45 Data Link Prestazioni del Go back- N In assenza di errori: L’utilizzazione U del link dipende dal confronto tra il tempo necessario a svuotare la finestra di trasmissione (WTt, dove W è la dimensione della finestra in trame e Tt il tempo di trasmissione di trama) e il tempo necessario a ricevere un ack (Tt+2τ) ⎧ ⎪ 1 ⎪ U =⎨ ⎪ WTt W ⎪T + 2τ = 1 + 2a ⎩ t dove a=τ/Tt WTt ≥ Tt + 2τ WTt < Tt + 2τ 46 23 Data Link Prestazioni del Go back- N Nota Anche in questo caso, come per lo Stop & Wait l’efficienza dipende dal parametro a in modo inversamente proporzionale, però, a differenza dello Stop & Wait, in questo caso l’efficienza può essere aumentata aumentando la dimensione della finestra di trasmissione W. 47 Data Link Prestazioni del Go back- N 1 1 2 2 3 3 4 4 W=4 WTt ≥ Tt+2τ W=2 WTt< Tt+2τ 48 24 Data Link Prestazioni del Go back- N In presenza di errori: L’utilizzazione si riduce del numero medio di ritrasmissioni per trama Nr: 1 ⎧ ⎪ N se W ≥ 1 + 2a r ⎪ U =⎨ ⎪ W ⎪ N (1 + 2a) se W < 1 + 2a ⎩ r 49 Data Link Prestazioni del Go back- N Calcolo di Nr Per ogni trama errata vengono ritrasmesse K trame (0<K<W) 1 trama con probabilità di successo (1-p) K+1 trame con probabilità di successo (1-p)p 2K+1 trame con probabilità di successo (1-p)p2 … iK+1 trame con probabilità di successo (1-p)pi 50 25 Data Link Prestazioni del Go back- N Calcolo di Nr (continua) Il numero medio di trame ritrasmesse Nr: Nr = ∞ ∑ i =0 ∞ (iK + 1) pi (1 − p) = (1 − p) ∑ (iK + 1) pi = i =0 ∞ ∞ ⎡ ∞ 1 ⎤ = (1 − p)⎡ ∑ iKpi + ∑ pi ⎤ = (1 − p)⎢Kp ∑ ipi −1 + ⎥= ⎢⎣i =0 = 0 i =0 ⎥ i ⎦ 1 p − ⎣ ⎦ = (1 − p)Kp 1 Kp + 1 = 1 + (1 − p) (1 − p)2 51 Data Link Prestazioni del Go back- N Calcolo di K Dipende dalla dimensione della finestra ⎧1 + 2a WTt ≥ Tt + 2τ ⎪ K ≈⎨ ⎪ W WTt < Tt + 2τ ⎩ 52 26 Data Link Prestazioni del Go back- N Allora Nr ⎧ p(1 + 2a) 1 + 2ap ⎪1 + 1 − p = 1 − p ⎪ Nr = ⎨ ⎪ pW 1 − p + pW ⎪1 + 1 − p = 1 − p ⎩ W ≥ 1 + 2a W < 1 + 2a 53 Data Link Prestazioni del Go back- N E l’efficienza 1 1− p ⎧ = + 1 ⎪ Nr 1 + 2ap ⎪ η =⎨ ⎪ W W (1 − p) = ⎪ N (1 + 2a) (1 + 2a)(1 − p + pW ) ⎩ r W ≥ 1 + 2a W < 1 + 2a per W=1 si comporta come lo Stop & Wait 54 27 Data Link Nel protocollo Go back N il ricevitore può accettare solo PDU in sequenza Accettare PDU corrette, ma fuori sequenza, può migliorare le prestazioni Selective repeat 55 Data Link Il Selective repeat chiede la ritrasmissione soltanto di quelle trame arrivate errate o non arrivate Il ricevitore riscontra una trama ricevuta correttamente, che sia o meno in ordine. Le trame fuori sequenza sono archiviate in memoria finché non siano ricevute tutte le trame perse (con numeri di sequenza più bassi), quindi il gruppo di trame è inviato in ordine allo strato superiore 56 28 Data Link Riordino delle trame ¾ occorre mantenere un buffer in ricezione e inoltrare ai livelli superiori solo le sequenze corrette 57 Data Link Il protocollo Selective repeat usa • finestra di trasmissione • finestra di ricezione di dimensioni maggiori di 1 58 29 Data Link Selective repeat: finestre • Le finestre di trasmissione e ricezione non devono necessariamente essere sincronizzate! 59 Data Link Selective repeat Il trasmettitore • invia fino ad N PDU • attiva un orologio per ogni PDU • si pone in attesa delle conferme di ricezione (ACK) • se scade un timeout prima dell’arrivo della conferma, ripete la trasmissione della sola PDU 60 30 Data Link Selective repeat il ricevitore • riceve una PDU • controlla la correttezza della PDU • controlla il numero di sequenza • se la PDU è corretta ed in sequenza invia un ACK 61 Data Link Selective repeat • se la PDU è corretta ma non in sequenza • • se è entro la finestra di ricezione, la memorizza ed invia un ACK relativo all’ultima PDU ricevuta in sequenza se è fuori dalla finestra di ricezione, la scarta ed invia un ACK relativo all’ultima PDU ricevuta in sequenza 62 31 Data Link Vantaggi Selective repeat Il vantaggio del Selective repeat sul Go backN è significativo se WR è sufficientemente grande. Per avere vantaggi rispetto al Go back-N occorre utilizzare ACK individuali oppure avere timer associati alla finestra. 63 Data Link Trasmissione degli Ack ¾ ACK singoli per ogni trama • ritrasmissione per le trame senza ACK dopo un timeout ¾ ACK cumulativi: bitmap RN=5 0 1 1 1 0 1 1 1 1 0 ¾ l’informazione necessaria è maggiore 64 32 Data Link Selective repeat: dilemma 1 2 Esempio: 3 K=2, Num. Seq: 0, 1, 2, 3 WT=3 z Il receiver non vede differenza tra i due scenari! z Erroneamente passa i dati duplicati come fossero nuovi (in (a)) z Che relazione deve esserci tra il max numero di sequenza e la dimensione della finestra? 1 2 3 65 Data Link In questo caso deve essere WT + WR ≤ 2k 66 33 Data Link Selective repeat: finestre Esempio z Trasmettitore e ricevitore hanno una finestra di dimensione WT=WR=7; i numeri di sequenza usano k=3 bit: Tx 01234567 Rx 01234567 z Il Tx invia le trame da 0 a 6; le trame arrivano correttamente, il Rx invia i riscontri e fa avanzare la finestra per ricevere le trame 7, 0, 1, 2, 3, 4, 5: Tx 01234567 Rx 01234567 67 Data Link Esempio (continua) z I riscontri si perdono e non arrivano a destinazione. z Lo scadere del timeout al trasmettitore provoca la ritrasmissione della trama 0 z La trama 0 è accettata dal ricevitore, essendo inclusa nella sua finestra (errore!) z Causa del problema: il nuovo range di numeri di sequenza validi si sovrappone al vecchio range. Il ricevitore non ha modo di distinguere se le trame sono nuove o duplicate z Soluzione: usare una dimensione di finestra tale che non ci sia sovrapposizione W + WR ≤ 2 k T 68 34 Data Link Esempio (continua) z Se Tx e Rx usano WT= WR= 4, il problema si risolve z Condizione iniziale Tx 01234567 Rx 01234567 z Dopo l’invio di 4 trame correttamente ricevute Tx 01234567 Rx 01234567 z Se anche i riscontri andassero persi, non ci sarebbe ambiguità e la ritrasmissione della trama 0 dopo lo scadere del timeout verrebbe scartata dal ricevitore 69 Data Link Selective repeat: finestre z La scelta ottimale della dimensione delle finestre è: WT=WR=2k/2 z Scegliere WT > WR implica che la stazione ricevente potrebbe scartare alcune trame corrette ricevute fuori sequenza perché non rientrano nell’apertura corrente della finestra di ricezione z Scegliere WT < WR implica predisporre un’apertura della finestra di ricezione che non potrà mai essere sfruttata pienamente 70 35 Data Link Si possono usare conferme negative (NAK) L’uso del NAK può avvantaggiare anche • Stop and Wait • Go back N 71 Go back - N 2 3 4 5 6 Data Link NAK 4 può essere inviata solo dopo la corretta ricezione della trama 5! NAK 4 indica la mancata ricezione della trama 4 e la corretta ricezione di tutte le trame fino alla (41) Dopo l’invio del NAK la stazione ricevente scarta tutte le trame ricevute con numeri di sequenza >4 (5, 6, 7) fino alla corretta ricezione della trama 4 72 36 Data Link Selective repeat NAK i indica solo la mancata ricezione della trama i B accetta le trame successive alla corretta ricezione della trama i viene inviato un ACK cumulativo 2 2 3 3 4 4 5 0 1 1 73 Data Link Prestazioni del Selective Repeat In assenza di errori: Funziona come il Go back N ⎧ ⎪ 1 ⎪ U =⎨ ⎪ WTt W ⎪T + 2τ = 1 + 2a ⎩ t WTt ≥ Tt + 2τ WTt < Tt + 2τ dove a=τ/Tt 74 37 Data Link Prestazioni del Selective Repeat In presenza di errori: Come per il Go back N, l’utilizzazione si riduce del numero medio di ritrasmissioni per trama Nr: 1 ⎧ ⎪ N se W ≥ 1 + 2a r ⎪ U =⎨ ⎪ W ⎪ N (1 + 2a) se W < 1 + 2a ⎩ r quello che cambia è il calcolo di Nr 75 Data Link Prestazioni del Selective Repeat Calcolo di Nr In questo caso, Nr coincide col valore calcolato per la tecnica Stop&Wait Nr = 1 1− p 76 38 Data Link Prestazioni del Selective Repeat Quindi l’efficienza 1 ⎧ =1− p ⎪ Nr ⎪ η =⎨ ⎪ W W (1 − p) ⎪ N (1 + 2a) = (1 + 2a) ⎩ r W ≥ 1 + 2a W < 1 + 2a 77 Data Link Confronti 78 39 Data Link Considerazioni go-back N : efficienza molto maggiore rispetto allo stop&wait richiede un’elaborazione supplementare minima. selective repeat: efficienza moderatamente maggiore rispetto al go-back N costi (memoria, processing) tali da fa preferire go-back N 79 Data Link Considerazioni Efficienza IN ASSENZA di ERRORI z Nei tre metodi e’ limitata (nello stesso modo) dalla parte di extra informazione, (pari al rapporto tra la lunghezza della intestazione h e la lunghezza del campo dati della PDU) rispetto all’informazione utile. z Stop&wait e’ limitata anche dal parametro a z Anche GBN e SR sono ulteriormente penalizzate da a perche’ questo parametro condiziona la larghezza della finestra critica (1+2a) in emissione e quindi anche il valore del modulo di numerazione. Se la larghezza di finestra e’ maggiore uguale di quella critica, non si ha ulteriore dipendenza da a 80 40 Data Link Considerazioni In presenza di errori l’efficienza z S&W e SR e‘ ulteriormente limitata dalla probabilita’ che il trasferimento di una PDU avvenga senza errore (1-p) z GBN: limitata ulteriormente rispetto a SR. Termine (1+2ap) al denominatore ¾ Ogni volta che si presenta un errore, vengono ritrasmesse TUTTE le PDU presenti nel mezzo di comunicazione ¾ Efficienza dipende dal prodotto 2ap -> al crescere di a o p o di entrambe, l’eff. peggiora. 81 Data Link Considerazioni z La numerazione delle PDU e’ ¾ Indispensabile ¾ Ciclica z Basta un solo bit per la numerazione 0 - 1 z so opposto 82 41