slide1
Download
Skip this Video
Download Presentation
Complementi sul controllo d’errore (parte III)

Loading in 2 Seconds...

play fullscreen
1 / 10

Complementi sul controllo d’errore (parte III) - PowerPoint PPT Presentation


  • 124 Views
  • Uploaded on

Complementi sul controllo d’errore (parte III). Selective Repeat (richiesta esplicita). Come nello schema Idle RQ, per velocizzare la ritrasmissione di un pacchetto difettoso, il mittente M può inviare al ricevente R il pacchetto NAK di not-acknowledgment.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Complementi sul controllo d’errore (parte III)' - chase


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Complementi sul controllo

d’errore (parte III)

selective repeat richiesta esplicita
Selective Repeat (richiesta esplicita)
  • Come nello schema Idle RQ, per velocizzare la ritrasmissione di un pacchetto difettoso, il mittente M può inviare al ricevente R il pacchetto NAK di not-acknowledgment.
  • Alternativamente, dopo un NAK, R può smettere di inviare ACK.
slide3

Selective Repeat [richiesta esplicita]

Frame N+1 corrotto

Usando l’explicit request, ACK(N) notifica la ricezione di tutti i frame fino ad N compreso!

ACK(N+4)

X

Dopo l’invio di un NAK, R smette di inviare ACK. Altrimenti un NAK corrotto porterebbe alla perdita del pacchetto!

go back n 1
Go-Back-N (1)
  • Il metodo Selective Repeat è molto costoso in termini di buffer al ricevente. Viene utilizzato soprattutto:
    • quando l’ordine di ricezione dei pacchetti non è importante (per esempio, quando i pacchetti sono molto piccoli);
    • quando i pacchetti vengono riassemblati direttamente dal ricevente, prima di essere inviati al livello superiore (bit rate elevati, pacchetti piccoli).
  • Nei casi in cui i pacchetti possono essere più grandi, viene preferito lo schema Go-Back-N.
  • Go-Back-N è lo schema usato per TCP/IP
go back n 2
Go-Back-N (2)

Frame N+1 corrotto

go back n 3
Go-Back-N (3)

ACK N e N+1 corrotti

ACK(N) notifica la ricezione di tutti i frame fino ad N compreso!

go back n lato mittente
Go-Back-N lato mittente
  • [V(S) = 0]
  • [RL] = retransmission list;
  • start:
  • switch(evento) {
  • case ‘arriva pacchetto dal livello superiore’ :
  • assegnagli il numero V(S); V(S)++; mettilo in [RL];
  • trasmettilo; Timer pacchetto V(S) start;
  • case ‘ACK[N]’ :
  • if(corretto)
  • Elimina pacchetti <= N da [RL], Stop Timers;
  • else
  • Trascura ACK;
  • case ‘NAK[N]’ :
  • case ‘scade timer pacchetto’ :
  • for(i=1; i<=numero pacchetti in [RL], i++)
  • trasmetti pacchetto i in [RL]; Timer pacchetto start;
  • }
  • goto start;
go back n lato destinatario
Go-Back-N lato destinatario
  • [V(R) = 0]
  • stato = "normale"
  • start:
  • switch(evento) {
  • case ‘pacchetto[N]’ :
  • if(corretto)
  • if(N == V(R))
  • stato = "normale"; timer NAK stop;
  • manda ACK[V(R)];
  • passa pacchetto al livello superiore, V(R)++;
  • else if( (N > V(R)) && (stato == "normale") )
  • invia NAK[V(R)]; Timer NAK start; stato = "nak";
  • else
  • manda ACK[V(R)], elimina pacchetto;
  • else
  • elimina pacchetto;
  • case ‘scade timer nak’ :
  • invia NAK[V(R)]; Timer NAK start;
  • }
  • goto start;
commenti
Commenti
  • Con lo schema Go-Back-N, al ricevente è richiesta una finestra di ricezione di solo 1 frame.
  • Il mittente invece deve avere una retransmission list abbastanza grande da contenere tutti i pacchetti in attesa di un ACK dal secondario.
  • La lista deve quindi contenere almeno (Tix+2Tp)/Tix pacchetti.
piggybacking

FINE

Piggybacking
  • Nei tre schemi ARQ considerati abbiamo sempre supposto che la comunicazione fosse half-duplex.
  • In genere, le connessioni sono full-duplex e ciascuno dei due host si comporta sia da mittente che da ricevente.
  • In ciascuna delle due direzioni fluiscono quindi sia pacchetti che ACK e NAK.
  • Per ridurre il flusso di pacchetti si utilizza una tecnica detta piggyback (portare sulla schiena).
  • Tutti i pacchetti contengono un codice I(N) che indica il loro ordine nella sequenza di spedizione e un codice di ACK o NAK N(R) che indica l’ ordine per la direzione opposta.
ad