Concetti Chiave
- Il meccanismo Stop and Wait richiede che il mittente attenda un ACK dal destinatario dopo ogni invio di dati prima di proseguire con la trasmissione.
- Tre scenari possono verificarsi durante la trasmissione: ricezione corretta dell'ACK, dati non ricevuti o errati, e ACK non ricevuto o errato, che porta alla ritrasmissione.
- Il timeout impostato dal mittente è cruciale: un timeout troppo corto può causare duplicati, mentre uno lungo aumenta i tempi di trasmissione.
- I protocolli Sliding Window consentono l'invio di più frame senza attendere conferme per ogni singolo messaggio, gestendo efficacemente il buffer del destinatario.
- Due tipi di protocolli Sliding Window sono Go-Back-N, che ignora frame danneggiati, e Selective Repeat, che conserva tutti i frame ricevuti, anche danneggiati, fino alla ritrasmissione.
Indice
Qual è il meccanismo di stop and wait?
Quando avviene uno scambio di dati tra un mittente e un destinatario, prima che il mittente invia un nuovo messaggio al destinatario, quest’ultimo deve confermare se il precedente fosse corretto o meno.
Questo meccanismo si chiama Stop and Wait e prevede che il mittente fermi la trasmissione dopo ogni invio di dati e attenda l’ACK (acknowledge) (messaggio del destinatario al mittente) di riscontro della corretta ricezione di quanto inviato prima di riprendere a trasmettere.
Questo ACK viene inviato solo se il messaggio è stato ricevuto senza errori, in caso contrario l’ACK non verrà inviato e.
Il trasmettitore imposta un timeout all’invio di ogni messaggio se al so scadere non avrà ricevuto l’ACK ritrasmetterà il messaggio.
Scenari di trasmissione
Quindi sono soliti presentarsi tre scenari:
1) Trasmissione corretta: il destinatario invia al mittente l’ACK;
2) Dati non arrivati: al destinatario non è arrivato nulla oppure e arrivata errata la trasmissione;
3) L’ACK non arriva al mittente: o arriva errato. In tal caso allo scadere del timeout il mittente ritrasmette la sequenza.
Timeout e finestra scorrevole
Il timeout del mittente può presentare due falle:
- Se è corto potrebbero essere trasmessi messaggi duplicati o che erano stati trasmessi in precedenza;
- Se è lungo aumentano i tempi di trasmissione.
Questa tecnica permette al mittente di inviare più informazione in pacchetti oppure interi pacchetti al destinatario senza dover ricevere una conferma (ACK) per poter continuare ad inviare frame. Se uno di questi pacchetti non viene riconosciuto entro un determinato lasso di tempo, il pacchetto dovrà essere rinviato al destinatario.
Protocolli sliding window
Prima che il mittente inizi ad inviare frame, il destinatario gli comunica la dimensione della sua finestra (quindi quanti frame può ricevere) in modo che il mittente non riempi del tutto la sua finestra (buffer).
Man mano che il mittente riceve conferma, si svuota la finestra del ricevitore così che il mittente possa inviare altri frame:
• Nei protocolli Sliding Window, il termine finestra scorrevole si riferisce alla scatola immaginaria che può contenere i frame sia dal lato mittente che dal lato ricevente. La finestra del mittente si chiama “finestra di invio” e quella del destinatario invece “finestra di ricezione”. Le due finestre comunicano tra loro grazie al buffer (mezzo che collega due dispositivi)
• Entrambe le finestre possiedono una dimensione specifica dove i frame sono numerati modulo-n, il che significa semplicemente che i frame sono numerati da 0 a n-1 . Ad esempio se n = 10 , i frame sono numerati 0, 1,2,3,4,5,6, 7,8,9
I protocolli della finestra scorrevole possono essere di due tipi:
- Go-Back-N: se arrivano al destinatario dei frame danneggiati, ignora i frame e quelli successivi , non inviando i relativi ACK. Il mittente si curerà di rinviare i frame che erano danneggiati. Il ricevitore accetta inoltre solo messaggi in sequenza, in ordine. Se essi non lo sono, allora li scarta.
-Selective Repeat: il destinatario mantiene nel suo buffer tutti i frame ricevuti, anche quelli danneggiati ma ne richiede comunque la ritrasmissione. Non importa se i messaggi arrivano nel giusto ordine o meno. I messaggi fuori sequenza vengono archiviati nel buffer fino a che non viene inviati l’intera sequenza. Dopo vengono riordinati dal destinatario stesso.
Domande da interrogazione
- Cos'è il meccanismo di Stop and Wait?
- Quali sono i tre scenari di trasmissione nel meccanismo di Stop and Wait?
- Quali problemi possono sorgere con il timeout nel meccanismo di Stop and Wait?
- Come funziona la tecnica della finestra scorrevole nei protocolli di trasmissione?
- Qual è la differenza tra i protocolli Go-Back-N e Selective Repeat?
Il meccanismo di Stop and Wait richiede che il mittente fermi la trasmissione dopo ogni invio di dati e attenda un messaggio di conferma (ACK) dal destinatario prima di inviare ulteriori messaggi.
I tre scenari sono: 1) Trasmissione corretta con ACK ricevuto; 2) Dati non arrivati o trasmissione errata; 3) ACK non ricevuto o errato, portando alla ritrasmissione del messaggio.
Un timeout troppo corto può causare la trasmissione di messaggi duplicati, mentre un timeout troppo lungo può aumentare i tempi di trasmissione.
Nei protocolli Sliding Window, il destinatario comunica la dimensione della sua finestra al mittente, permettendo l'invio di più frame senza attesa di conferma, mentre i frame vengono numerati e gestiti tramite un buffer.
Nel protocollo Go-Back-N, i frame danneggiati e quelli successivi vengono ignorati, mentre nel Selective Repeat, il destinatario conserva tutti i frame ricevuti, anche quelli danneggiati, richiedendo la loro ritrasmissione senza preoccuparsi dell'ordine.