Controle de s Redes de Computadores Controle de Aula 8 É o processo de garantir a entrega confiável dos dados, isto é, sem s, sem duplicação e entregues na ordem da emissão Fundamental para entrega confiável (serviços orientados a conexão) Técnicas usuais: Envio de confirmação ao transmissor por parte do receptor: Positiva: quadro foi recebido corretamente Negativa: um quadro não foi recebido corretamente Em caso de confirmação negativa retransmite o quadro Reenvio automático de um quadro de dados após um tempo pré-determinado (time-out) caso não seja recebido uma confirmação (positiva ou negativa) Automatic Repeat request (ARQ) Redes de Computadores Protocolos Automatic Repeat request (ARQ) Stop and Wait ARQ Stop and Wait - ARQ Go-Back n Selective Repeat (selective reject ou selective retransmission) Emissor envia um quadro i e espera confirmação do receptor Se receptor detecta s no quadro de dados descarta quadro Após time-out, o transmissor reenvia o quadro de dados Se transmissor detecta s no quadro de ACK descarta quadro Transmissor reenvia quadro de dados quando ocorrer time-out timeout ack timeout ack ack Duplicado!!! Solução: Numerar quadros Q (n) e a sua confirmação Redes de Computadores Redes de Computadores
Esquema stop-and-wait Protocolo Go-back n Ack Ack Ack Time-out Ack Ack Time-out Vantagens e desvantagens: Simples Ineficiente (afinal é um stop-and-wait!!!) Ack Ack Time-out Janela deslizante Ack Ack Ack (d) Baseado no princípio de janela deslizante Na ausência de s faz confirmação positiva Envia número do próximo quadro a ser recebido (ACK positivo RR n ou RNRn) Na presença de s faz confirmação negativa Descarta quadro de dados e sinaliza (ACK negativo REJ n) Em caso de detecção de : Destino: descarta o quadro com e todos os subsequentes até que o quadro com seja corretamente recebido Fonte: reenvia o quadro c/ e todos os subsequentes que porventura já tenham sido enviados (go back n) Controle de fluxo é o tamanho da janela Redes de Computadores Redes de Computadores Go-back n ARQ: princípio de funcionamento Janela para Go-back N ARQ: Receptor k =, números de sequência de a, janela máxima de k = bits (,,,) Janela = quadros Quadros recebidos e Quadros que ainda não podem ser aceitos Tamanho da janela: k - (o por quê veremos na sequência) Redes de Computadores Quadro recebido, mas Quadro a receber Redes de Computadores 8
Janela para Go-back N ARQ: Emissor Go-back n: s possíveis k =, números de sequência de a, janela máxima de Quadros podem ser perdidos ou adulterados () Resultado final é o mesmo, pois um quadro adulterado é descartado Quadros enviados e Quadro enviado, mas a ser enviado Quadros que poderão ser enviados Três situações genéricas: /perda no quadro de dados /perda no quadro de confirmação positiva (RR n ou RNR n) /perda no quadro de confirmação negativa (REJ n) Recuperação do /perda baseada: Na retransmissão apropriada de quadros Estouro de timeout OU via solicitação explícita Efeito acumulativo do RR n ou RNR n Redes de Computadores 9 Redes de Computadores Go-back n: em quadro de dados Go-back n: em quadro de controle (RR ou RNR) Otimização possível: Confirmação negativa + + + + RR i+ + RR i+ RR i+ RR, i+ Com quadro RNR o comportamento é idêntico. Descarte (duplicado) RNR i+ + RNR i+ Redes de Computadores Redes de Computadores
Go-back n: em quadro de controle (REJ) Protocolo Selective Repeat ARQ + + + RR i+ Descarta (rejeita) apenas os quadros com Literatura também se encontra o termo selective reject Quadros corretos subseqüentes a um quadro com (ou perdido) são aceitos Necessário bufferizar quadros no receptor Minimiza retransmissões porém exige um controle mais complexo + + + + + Para o selective repeat o tamanho da janela é (k-) Redes de Computadores Redes de Computadores Selective repeat: em quadro de dados e controle Janela para Selective repeat ARQ: receptor - + RR i+ + + RR i+ - + + k =, números de sequência de a, janela máxima de Quadros recebidos e Quadro recebido, mas Quadros que não podem ser aceitos Quadros a receber Redes de Computadores Redes de Computadores
Janela para Selective repeat ARQ: emissor Problema: tamanho da janela k =, números de sequência de a, janela máxima de Quadros são numerados em módulo m Consequência direta: repetição cíclica da sequência de numeração Quadros enviados e Quadro enviado, mas Quadros que não podem ser aceitos Quadros possíveis de Serem enviados Questão: como diferenciar um quadro i novo de uma retransmissão de um quadro i antigo? Estratégia: evitar que uma sequência nova sobreponha a numeração de uma antiga limitando o tamanho da janela Go back n: receptor espera um quadro Selective repeat: receptor espera um conjunto de quadros Redes de Computadores Redes de Computadores 8 Problema do tamanho da janela Go back n: tamanho da janela n - RR Sem s ( a ) RR Com s Retransmissão é, neamente, recebida como um quadro de uma nova série RR Sem s ( a ) RR Com s Retransmissão é descartada, pois se espera o quadro Redes de Computadores 9 Redes de Computadores
Selective repeat: tamanho da janela (n-) Análise de desempenho (probabilidade P s) Antiga série retransmitida RR Tamanho da janela: n - (não funciona!!!) Possíveis Recebidos incorretamente Antiga série retransmitida RR Tamanho da janela: (n-) Descartado (retransmissão) Stop-and-wait Go back N eficiência Selective Repeat eficiência para para para para Redes de Computadores Redes de Computadores Leituras complementares Stallings, W. Data and Computer Communications ( th edition), Prentice Hall 999. Capítulo, seção. e. Tanenbaum, A. Redes de Computadores ( a edição), Editora Campus,. Capítulo, seções. e. Redes de Computadores