logo

Voltar N - Protocolo de janela deslizante

Go-Back-N (GBN) é um protocolo ARQ de janela deslizante que permite ao remetente transmitir vários quadros (até um tamanho de janela definido) sem esperar por confirmações individuais.

salvar vídeo do youtube vlc
  • Se um pacote for perdido ou corrompido, o remetente retransmite esse pacote e todos os pacotes subsequentes na janela.
  • Exemplo: Se os pacotes 1–5 forem enviados e o pacote 3 for perdido, os pacotes 3, 4 e 5 serão retransmitidos.

Este mecanismo garante confiabilidade, mas pode desperdiçar largura de banda se erros ocorrerem com frequência.

As três principais características do GBN são:



1. Tamanho da janela do remetente (W é )

É o próprio N. Se dissermos que o protocolo é GB10, então Ws = 10. N deve ser sempre maior que 1 para implementar o pipelining. Para N = 1 reduz-se ao Protocolo Parar e Esperar .

Eficiência de GBN = N/(1+2a)

onde

uma = Tp/Tt
Tp= Atraso de propagação
Tt= Atraso de transmissão do remetente

Qual será a eficiência se o atraso de processamento, o atraso de fila e o atraso de transmissão de confirmação não forem zero?

Eficiência = N * (Tempo útil) / (Tempo total)

onde tempo útil=Tt

Tempo total = Tt+ 2 * Tp+PR+ Pq + Tt(ace)

onde

  • T t = Atraso de transmissão do lado do remetente
  • T p = Atraso de propagação
  • Pr = Atraso no processamento
  • Pq = Atraso na fila
  • T t (ace) = Atraso de Transmissão de Reconhecimento

Se B é a largura de banda do canal então

Largura de banda ou taxa de transferência efetiva
= Eficiência * Largura de banda
= (N/(1+2a)) *B

2. Tamanho da janela do receptor (W R )

  • Sempre 1 em GBN.
  • O receptor aceita apenas o próximo pacote esperado.
  • Pacotes fora de ordem são descartados.

3. Agradecimentos

Reconhecimentos (ACKs) são sinais enviados pelo receptor para confirmar o recebimento bem-sucedido de pacotes de dados. Eles garantem uma comunicação confiável entre remetente e destinatário. Se um ACK não for recebido dentro de um tempo definido, o remetente assume que o pacote foi perdido e o retransmite.

Tipos de ACK

ACK cumulativo

  • Uma única confirmação confirma o recebimento de todos os pacotes até certo ponto.
  • Vantagem: Menos tráfego (menos ACKs).
  • Desvantagem: Menos confiável se um ACK for perdido, vários pacotes parecerão não reconhecidos.

ACK independente

  • Cada pacote é reconhecido individualmente.
  • Vantagem: Alta confiabilidade.
  • Desvantagem: Maior tráfego devido a mais ACKs.

Funcionamento do protocolo GB-N

Enviando página

  • Mantém uma janela de tamanho N (por exemplo, tamanho da janela GB4 = 4).
  • Pode enviar até N pacotes não confirmados.
  • Cada pacote transmitido possui um temporizador.
  • Se um ACK for recebido, a janela desliza para frente.
  • Se ocorrer um tempo limite (para um pacote perdido), o remetente retransmite esse pacote e todos os subsequentes na janela.

Lado do receptor

  • Mantém um tamanho de janela de 1 (WR = 1).
  • Aceita apenas o pacote esperado em sequência.
  • Se o pacote correto chegar: envia um ACK e passa para o próximo número de sequência esperado.
  • Se um pacote fora de ordem chegar: descarta-o e reenvia o ACK para o último pacote recebido corretamente.
Deslizando_SET_2-1' title=

Relação entre tamanho da janela e números de sequência

O tamanho da janela e números de sequência em uma janela deslizante, protocolos como Go-Back-N ou Selective Repeat estão intimamente relacionados.

  • O tamanho da janela determina quantos pacotes o remetente pode transmitir sem precisar de confirmação. É como um limite de quantos dados podem ser enviados antes que o remetente tenha que parar e aguardar a confirmação.
  • Números de sequência são usados ​​para rotular pacotes para que o receptor saiba sua ordem e possa detectar quaisquer pacotes perdidos.

O tamanho da janela deve ser menor ou igual à faixa de disponibilidade números de sequência . Se o tamanho da janela for muito grande comparado ao intervalo de números de sequência, o receptor poderá ficar confuso porque o mesmo número de sequência poderá ser reutilizado antes que o primeiro seja reconhecido. Isso tornaria difícil saber se um pacote é novo ou duplicado.

busca adversária

A relação entre o tamanho da janela e o número de sequência é dada pela fórmula:

EMé+ WR<= ASN

onde Wéé o tamanho da janela do remetente e WRé o tamanho da janela do receptor e ASN é o número de sequência disponível.

EMé+ 1<= ASN because WR= 1 no protocolo GB-N

Portanto, os números de sequência mínimos exigidos em GBN = N + 1

Bits necessários em GBN = ⌈ log2(N + 1)⌉

O 1 extra é necessário para evitar o problema de pacotes duplicados.

Exemplo de Protocolo GB-N

Considere um exemplo de GB4.

  • O tamanho da janela do remetente é 4, portanto, exigimos um mínimo de 4 números de sequência para rotular cada pacote na janela.
  • Agora suponha que o receptor tenha recebido todos os pacotes (0 1 2 e 3 enviados pelo remetente) e, portanto, esteja aguardando novamente o pacote número 0 (não podemos usar 4 aqui, pois temos apenas 4 números de sequência disponíveis, pois N = 4).
  • Agora suponha que o reconhecimento cumulativo dos 4 pacotes acima seja perdido na rede.
  • No lado do remetente haverá tempo limite para o pacote 0 e, portanto, todos os 4 pacotes serão transmitidos novamente.
  • O problema agora é que o receptor está aguardando um novo conjunto de pacotes que deveria ter começado em 0, mas agora receberá as cópias duplicadas dos pacotes aceitos anteriormente.
  • Para evitar isso, precisamos de um número de sequência extra.
  • Agora o receptor poderia facilmente rejeitar todos os pacotes duplicados que começavam em 0 porque agora estará aguardando o pacote número 4 (adicionamos um número de sequência extra agora).

Isto é explicado com a ajuda das ilustrações abaixo. Tentando com números de sequência 4.

Deslizando_SET_2-3' loading='lazy' title=

Agora tentando com um número de sequência extra.

Deslizando_SET_2-4' loading='lazy' title=

Agora está claro por que precisamos de 1 bit extra no protocolo GBN.

Vantagens do protocolo GBN

  • Simples de implementar e eficaz para uma comunicação confiável.
  • Melhor desempenho do que protocolos stop-and-wait para redes livres de erros ou com baixo erro.

Desvantagens do protocolo GBN

  • Ineficiente se os erros forem frequentes, pois vários quadros podem precisar ser retransmitidos desnecessariamente.
  • A largura de banda pode ser desperdiçada devido a retransmissões redundantes.
Criar questionário