Protocolli a Finestra Flashcards

1
Q

Cos’è e cosa permette di fare un protocollo a finestra?

A

permette di migliorare l’efficienza e la sicurezza delle trasmissioni e soprattutto
- controllare il flusso
- recupero di errori

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Tra che intervalli varia la probabilità di errori sui bit?

A

da 10^-12 della fibra ottica a 10^-3 di un canale rumoroso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cos’è il bit di parità e cosa permette di fare?

A
  • caso particolare di CRC ovvero cycling redundancy check
  • conta gli 1 presenti nel dato e mette 1 se sono in numero dispari e 0 se sono in numero pari
  • riconosce gli errori in numero dispari
  • non corregge
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cos’è il CRC?

A
  • cycling redundancy check
  • viene calcolato prima e dopo la trasmissione e confrontato
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cos’è il codice a ripetizione e cosa permette di fare? Qual è lo svantaggio?

A
  • ongi byte di dato è mandato tre volte
  • si riconosce il dato corretto per maggioranza
  • svantaggio: c’è più ridondanza
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cos’è la parità di riga e di colonna e cosa permette di fare? Qual è lo svantaggio?

A

MANCA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cosa sono FEC e ARQ?

A

FEC: forward error correction

ARQ: automatic repeat request

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quali sono gli algoritmi dei protocolli a finestra?

A

FEC e ARQ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Caratteristiche FEC

A

FEC: forward error correction
ci sono tanti bit di parità e vengono usati per correggere gli errori senza che venga ritrasmesso il pacchetto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Caratteristiche ARQ: cosa utilizza e cosa permette di fare

A

ci sono pochi bit di parità che si accorgono dell’errore in ricezione e richiedono la ritrasmissione -> i pacchetti sbagliati vengono buttati via
Per il controllo di sequenza bisogna avere anche il numero di sequenza oltre ai bit di parità

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quali sono le tecniche ARQ

A
  • stop and wait
  • go back n
  • selective repeat
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cos’è l’ACK e cosa contiene?

A

È la PCI del pacchetto di riscontro e contiene i bit di parità e il numero di sequenza

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Come funziona lo stop and wait?

A
  • Il trasmettitore fa una copia della PDU da inviare
  • invia la PDU
  • fa partire il timeout e attende l’ACK
  • Il ricevitore controlla se la PDU è corretta (altrimenti la scarta), poi controlla il numero di sequenza e se non ci sono errori viene inviata una conferma di ricezione, ovvero il numero della PDU
  • Se il numero di sequenza è errato il ricevitore manda il numero del pacchetto atteso.
  • Successivamente la PDU viene consegnata ai livelli superiori.
  • Se il timeout scade prima dell’arrivo della conferma, il trasmettitore ripete la trasmissione facendo ripartire il timeout.
  • Se invece riceve l’ACK ne controlla la correttezza: se è errato viene buttato via, se è corretto viene controllato il numero di sequenza. Se entrambi i parametri sono corretti il trasmettitore butta la copia e prosegue con la PDU successiva: aumentando il proprio numero di sequenza.

Il protocollo Stop and Wait in assenza di errori permette di trasferire con successo un pacchetto per RTT (Round Trip Time) e ciò può essere poco efficiente a causa di elevati ritardi di attesa delle conferme.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cos’è l’RTT?

A

Durata del ciclo di trasmissione - ricezione (andata e ritorno)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Alternating bit

A

Questa variante prevede che il numero di sequenza possa assumere in modo alternato solo i valori $(0, 1)$.
- ACK(1): riceve il pacchetto 0 e si aspetta il pacchetto 1
- ACK(0): riceve il pacchetto 1 e si aspetta il pacchetto 0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cosa cambia nel Go back N rispetto allo stop and wait?

A

si possono mandare N PDU mentre la finestra di ricezione è sempre la stessa

17
Q

da cosa dipende la dimensione di W_T e W_R?

A

dallo quantità di memoria allocata in trasmissione e ricezione

18
Q

Quanto valgono W_R e W_T nel go back n?

A

W_T è generico mentre W_R = 1

19
Q

Come sono WT e WR tra loro?

A

indipendenti

20
Q

Qual è il termine corretto per la WT? Perchè?

A

sliding window, pensare all’immagine

21
Q

Quando la finestra scorre?

A

Alla ricezione di un’ACK

22
Q

algoritmo go back n

A

il trasmettitore:
- può inviare fino a N = W_T PDU e di ognuna si fa una copia
- attiva un solo orologio per le N PDU che viene resettato ad ogni trasmissione: se per esempio si mandano i pacchetti da 1 a 10 viene attivato l’orologio per l’1 che passerà al 2 quando l’ACK dell’1 è arrivato
- per ogni ACK in sequenza ricevuto fa scorrere in avanti la finestra di tanti pacchetti quanti sono i pacchetti confermati
- se il timeout scade prima della conferma di ricezione \textit{relativa alla PDU che ha settato il timeout} ripete la trasmissione di tutte le PDU non ancora confermate

Il ricevitore invece:
- controlla la correttezza della PDU e controlla il numero di sequenza
- se la PDU è corretta invia la conferma di ricezione
- se la PDU contiene il primo numero di sequenza non ancora ricevuto, viene consegnata ai livelli superiori

23
Q

problemi stop and wait

A

permette di trasferire un solo pacchetto per RTT

24
Q

problemi go back n

A

il ricevitore può accettare solo PDU in sequenza

POI?

25
Q

problemi selective repeat

A

se si usano gli ACK cumulativi e se il trasmettiore riceve la richiesta del pacchetto i-esimo (ACK(i)), dal momento che non sa se ci siano stati problemi solo con l’i-esimo o anche con i successivi, mandi anche tutti quelli dopo sovraccaricando il canale.
Se invece l’ACK è selettivo viene rimandato solo il singolo pacchetto.

POI?

26
Q

cosa cambia nel selective repeat

A
  • W_T = N e W_R = M (di solito N=M).
  • Se nel protocollo Go Back N il ricevitore può accettare solo PDU in sequenza, nel selective repeat il ricevitore può accettare anche PDU corrette ma fuori sequenza.
27
Q

algoritmo selective repeat

A

Esistono diverse possibili implementazioni: qui consideriamo ACK cumulativi e timer associati alla finestra.

Questo protocollo è molto utile nei canali non sequenziali poiché si ha modo di immagazzinare i pacchetti fuori sequenza nell’attesa di quelli che li precedono.

Il trasmettitore si comporta come nel Go-Back-N, mentre il ricevitore deve:
- controllare la correttezza della PDU
- controllare il numero di sequenza
- se la PDU è corretta ed in sequenza viene consegnata al livello superiore (eventualmente a tutte le altre PDU ricevute in sequenza)
- se la PDU è corretta ma non in sequenza: se è dentro la finestra di ricezione la memorizza, altrimenti la scarta.
- invia comunque un ACK relativo all’ultima PDU ricevuta in sequenza

Il rischio è che se si usano gli ACK cumulativi e se il trasmettiore riceve la richiesta del pacchetto i-esimo (ACK(i)), dal momento che non sa se ci siano stati problemi solo con l’i-esimo o anche con i successivi, mandi anche tutti quelli dopo sovraccaricando il canale.
Se invece l’ACK è selettivo viene rimandato solo il singolo pacchetto.

28
Q

tipi di ack

A

ACK cumulativo: si notifica la corretta ricezione di tutti i pacchetti con numero di sequenza inferiore a quello specificato nell’ACK (utilizzato negli esercizi)

ACK selettivo (o individuale): si notifica la corretta ricezione di un pacchetto particolare (“ho ricevuto il pacchetto n, ma non ti do indicazioni sui pacchetti successivi o precedenti”)

ACK negativo (NAK): si notifica la richiesta di ritrasmissione di un singolo pacchetto (se l’ACK significa \textit{è stato ricevuto}, il NACK significa \textit{non è stato ricevuto})). In questo caso è il ricevitore che ha la responsabilità di identificare pacchetti persi. NAK(n) significa “ritrasmetti il pacchetto n” ma non dà indicazioni su quali pacchetti siano stati ricevuti.

Piggybacking: nel caso di flussi di informazione bidirezionali, è sovente possibile scrivere l’informazione di riscontro (ACK) nella intestazione di PDU di informazione che viaggiano nella direzione opposta. Permette di risparmiare ACK.

29
Q

efficienza e throughput

A

manca

30
Q

Cosa si intende per finestra di trasmissione e di ricezione?

A

La finestra di trasmissione $W_T$ rappresenta la quantità massima di PDU in sequenza che il trasmettitore è autorizzato ad inviare in rete senza averne ricevuto riscontro (ACK). La dimensione della $W_T$ è limitata dalla quantità di memoria allocata in trasmissione. La finestra di trasmissione $W_T$ rappresenta anche il numero massimo di PDU presenti contemporaneamente sul canale o in rete (inviate da uno stesso trasmettitore).

La finestra di ricezione $W_R$ rappresenta la sequenza di PDU che il ricevitore è disposto ad accettare e memorizzare. La dimensione della finestra è limitata dalla quantità di memoria allocata in ricezione.
Questa finestra di ricezione serve per memorizzare i pacchetti nel caso in cui durante l’invio in sequenza qualche pacchetto venga perso (i pacchetti non possono essere inviati subito al livello superiore ma bisogna aspettare la ritrasmissione del pacchetto perso).