Sei sulla pagina 1di 10

Domotica e

Supervisione di Impianti
1.3 Gestione della Comunicazione 2

Roberto Setola: r.setola@unicampus.it


Luca Faramondi: l.faramondi@unicampus.it
Gestione della Comunicazione
?????

Chi si assicura che un pacchetto sia stato


recapitato al destinatario della comunicazione?

La tecnica più semplice per garantire che tutti i byte trasmessi in un flusso giungano a
destinazione è nota come riscontro positivo con ritrasmissione.

Quando un ricevitore riceve un pacchetto risponde al pacchetto inviando un riscontro


(acknowledgment, ACK) al trasmettitore per confermare di averlo ricevuto.

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2


Gestione della Comunicazione
S1 S2

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2


Gestione della Comunicazione
Quando il trasmettitore deve inviare un pacchetto, nel momento in cui lo spedisce ne
mantiene una copia e fa partire un timer.

Se allo scadere del timer non ha ancora ricevuto il relativo ACK ritrasmette il pacchetto.

• Poiché può capitare che la rete duplichi un


pacchetto, può capitare di ricevere un ACK per
un pacchetto che era già stato riscontrato in
precedenza, e di scambiarlo per un riscontro di
un successivo pacchetto per cui attendevamo
un ACK.

• Per ovviare al problema dei riscontri duplicati, i


pacchetti vengono numerati sequenzialmente,
e l’ACK contiene il numero sequenziale del
pacchetto che vuole riscontrare.

• Il trasmettitore deve attendere il riscontro di ogni


pacchetto prima di inviare il successivo, la rete
risulta sottoutilizzata e si introduce un ritardo
notevole nella comunicazione

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2


Gestione della Comunicazione
Sliding Windows

La tecnica delle finestre scorrevoli (Sliding Windows) invece permette al trasmettitore di poter continuare ad
inviare un certo numero N (dimensione della finestra) di pacchetti successivi all’ultimo per cui ha ricevuto il
riscontro, ovvero permette di trasmettere fino ad altri N pacchetti mentre si è in attesa di ricevere il riscontro di un
pacchetto precedentemente inviato. In tal modo la rete viene utilizzata anche nei periodi di attesa.

In figura vengono trasmessi 3 pacchetti prima di ricevere un riscontro.

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2


Gestione della Comunicazione
• Definiamo non riscontrato un pacchetto trasmesso per il quale non è ancora stato ricevuto il riscontro.

• La finestra del trasmettitore inizia col primo pacchetto non riscontrato.

• I pacchetti successivi, che stanno dentro alla finestra, possono essere trasmessi,

• I pacchetti che seguono la finestra non possono essere trasmessi.

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2


Gestione della Comunicazione
Sliding Windows vs ACK
S1 S2 S1 S2
Trasmissione P1 Trasmissione P1

Trasmissione P2 Ricezione P1 Ricezione P1


Trasmissione
Trasmissione

Trasmissione P3 ACK1 ACK1


Ricezione P2 Ricezione ACK1
Ricezione ACK1 Trasmissione

ACK2 Trasmissione P2
Ricezione P3
Ricezione ACK2 Ricezione P2
Trasmissione

ACK3 Trasmissione

Ricezione ACK3 ACK2


Ricezione ACK2
Trasmissione P3

Ricezione P3
Trasmissione

ACK3
Ricezione ACK3

Per inviare un nuovo


pacchetto dovrei attendere
la ricezione del primo ACK

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2


Gestione della Comunicazione
Go-Back-N
• Le finestre continuano a scorrere finché si ricevono riscontri, permettendo di trasmettere i nuovi pacchetti
che entrano nella finestra.

• Velocità della rete e dimensione della finestra definiscono la velocità della comunicazione

• Se la dimensione della finestra è 1, si ritorna all’algoritmo di riscontro positivo.

• All’aumentare della dimensione della finestra diminuisce il periodo di non utilizzo della rete.

• Con un opportuna scelta della dimensione della finestra è possibile mantenere la rete satura di pacchetti
senza congestionarla.

• Per ogni pacchetto trasmesso viene comunque ancora fatto partire un timer, allo scadere del quale, se
non è ancora stato ricevuto il riscontro, il pacchetto deve essere ritrasmesso e con lui i successivi

In caso di mancato arrivo di un pacchetto:


• In fase di ricezione, se si rileva il mancato arrivo di un pacchetto (si ricordi che sono numerati) non si
invia l’ACK in attesa di far scadere il timer del trasmettitore e si scartano i successivi in ingresso

• Se un ACK inviato non arriva al destinatario (trasmettitore) allora si attenderà il successivo per
spostare la finestra in avanti.

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2


Gestione della Comunicazione
Cumulative ACK
Una alternativa all’invio di un pacchetto di ACK in risposta ad ogni ricezione consiste nell’inviare
un ACK cumulativo che conferma la ricezione di n pacchetti precedenti a quello a cui è riferito
l’ACK.

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2


Gestione della Comunicazione
Esercizio
• Si supponga che il tempo richiesto per la scrittura di un pacchetto sul mezzo trasmissivo sia Ts = 1

• Il ritardo nella propagazione è pari a 5Ts

• Il trasmettitore è impegnato nel trasferimento di 8 pacchetti

• La lunghezza della Sliding Window è pari a 4

• Il timer del trasmettitore è pari a 12Ts

1) Si simuli il mancato recapito del secondo pacchetto al destinatario

2) In un nuovo esercizio si simuli il mancato recapito del primo ACK al trasmettitore

Domotica e Supervisione di Impianti 1.3 Gestione della Comunicazione 2

Potrebbero piacerti anche