28
Comunicação de Dados Protocolos de Janela Deslizante

Comunicação de Dados Protocolos de Janela Deslizante

Embed Size (px)

Citation preview

Page 1: Comunicação de Dados Protocolos de Janela Deslizante

Comunicação de Dados

Protocolos de Janela Deslizante

Page 2: Comunicação de Dados Protocolos de Janela Deslizante

Sumário

1) Protocolo de Janela Deslizante de um bit.2) Protocolo que utiliza go-back-n.3) Protocolo que utiliza transmissão seletiva.

Page 3: Comunicação de Dados Protocolos de Janela Deslizante

Introdução

• O que são protocolos de Janela Deslizante.• Questão dos canais.• Pegar carona.• Vantagens e desvantagens.

Page 4: Comunicação de Dados Protocolos de Janela Deslizante

Dois canais• Nos protocolos apresentados anterior mente, os quadros de dados

eram transmitidos em apenas um sentido. • Em situações mais práticas, há necessidade de transmitir dados em

ambos os sentidos.• Você pode obter uma transmissão de dados full-duplex definindo

dois canais de comunicação distintos e usar cada um deles para um tráfego de dados simplex (em diferentes sentidos).

• Se isso for feito, haverá dois circuitos físicos separados, cada um com um canal "direto" (para dados) e um canal "inverso" (para confirmações).

• Em ambos os casos, a largura de banda do canal inverso é quase totalmente perdida. Na verdade, o usuário está pagando por dois circuitos, mas está usando apenas a capacidade de um deles.

Page 5: Comunicação de Dados Protocolos de Janela Deslizante

Uso do canal

• Uma ideia melhor é usar o mesmo circuito para dados em ambos os sentidos. – Afinal de contas, nos protocolos 2 (Protocolo

básico de enlace de dados) e 3 (Protocolo simplex sem restrições) ele já estava sendo usado para transmitir quadros em ambos os sentidos.

• O canal inverso tem a mesma capacidade do canal direto.

Page 6: Comunicação de Dados Protocolos de Janela Deslizante

Tipo de quadro

• Nesse modelo, os quadros de dados enviados de A para B são misturados com os quadros de confirmação enviados de A para B.

• Ao verificar o campo kind do cabeçalho de um quadro recebido, o receptor pode identificar se o quadro é de dados ou de confirmação.

Page 7: Comunicação de Dados Protocolos de Janela Deslizante

Pegar carona

• Apesar de o entrelaçamento de quadros de dados e de controle no mesmo circuito representar um avanço em relação ao uso de dois circuitos físicos separados, ainda é possível introduzir mais um aperfeiçoamento.

• Quando um quadro de dados chega a seu destino, em vez de enviar imediatamente um quadro de controle separado, o receptor se contém e espera até a camada de rede enviar o próximo quadro.

Page 8: Comunicação de Dados Protocolos de Janela Deslizante

Piggybacking

• Quando o quadro chega, o receptor ao invés de mandar imediatamente o reconhecimento, ele aguarda a sua Camada de Rede enviar o próximo pacote.

• A confirmação é acrescentada ao quadro de dados por meio do campo ack.

• Note que a confirmação está pegando carona no quadro de dados. A isto de dá o nome de piggybacking (pegar carona).

Page 9: Comunicação de Dados Protocolos de Janela Deslizante

Janelas de Transmissão e Recepção

• Em qualquer instante o transmissor mantém um conjunto de números de sequência correspondentes a quadros que ele pode enviar.

• O receptor mantém uma janela correspondente a quantidade de quadros que está apto a aceitar.– As janelas não precisam ter os mesmos limites

superior e inferior ou o mesmo tamanho.

Page 10: Comunicação de Dados Protocolos de Janela Deslizante

Janela de Transmissão

• Os números de sequência no transmissor representam os quadros que foram ou que podem ser enviados, mas ainda não confirmados.

• Sempre que chega um novo pacote da Camada de Rede, ele recebe um novo número de sequência, mais alto e o limite superior da janela é aumentado em uma unidade.

• Quando a confirmação é recebida, o limite inferior é incrementado em uma unidade.

• Se a janela chegar ao seu limite máximo, a Camada de Enlace é obrigada a desativar a Camada de Rede até que outro buffer esteja disponível.

Page 11: Comunicação de Dados Protocolos de Janela Deslizante

Janela de Recepção

• Corresponde aos quadros que ela está apta a aceitar.

• Quadros fora da janela são descartados.• Ao receber um quadro, ela o repassa à

Camada de Rede e envia a confirmação.• A Camada de Rede sempre recebe quadros na

ordem em que foram enviados.

Page 12: Comunicação de Dados Protocolos de Janela Deslizante

Vantagens

• O campo ack do cabeçalho de quadro precisa de apenas alguns bits, enquanto um quadro separado precisaria de um cabeçalho, da confirmação e de um total de verificação.

• Além disso, um número menor de quadros enviados significa menor quantidade de interrupções de "chegada de quadro", e

• Talvez menor quantidade de buffers no receptor.

Page 13: Comunicação de Dados Protocolos de Janela Deslizante

Desvantagens

• Quanto tempo a camada de enlace de dados deve esperar por um pacote ao qual deverá ac

• Se a camada de enlace de dados esperar durante um intervalo de tempo maior que o permitido pelo timeout do transmissor, o quadro será retransmitido, o que invalidará todo o processo de confirmação. – Esperar durante um número fixo de milissegundos.– Se nenhum pacote tiver chegado até o final desse

intervalo de tempo, a camada de enlace de dados simplesmente enviará um quadro de confirmação separado.

Page 14: Comunicação de Dados Protocolos de Janela Deslizante

Sumário

1) Protocolo de Janela Deslizante de um bit.2) Protocolo que utiliza go-back-n.3) Protocolo que utiliza transmissão seletiva.

Page 15: Comunicação de Dados Protocolos de Janela Deslizante

Protocolos de Janela Deslizante de 1 bit

• Nos protocolos mostrados anteriormente, a taxa de utilização do enlace é ineficiente.

• Em outro modelo, os quadros de dados e de confirmação são misturados.– O campo kind mostra se o quadro é de dados ou de

confirmação.• Canal bidirecional.• Vamos supor que neste protocolo de Janela

Deslizante, o tamanho máximo da janela é igual a 1.

Page 16: Comunicação de Dados Protocolos de Janela Deslizante

Regra Stop-and-wait

• Esse tipo de protocolo utiliza o stop-and-wait.– O transmissor envia um quadro e aguarda sua

confirmação antes de enviar o quadro seguinte.

Page 17: Comunicação de Dados Protocolos de Janela Deslizante

Variáveis

• Next_frame_to _send.– Informa qual quadro o transmissor está tentando

enviar. • Frame_expected.– Informa que quadro o receptor está esperando.

• Nos dois casos, 0 e 1 são as únicas possibilidades.

Page 18: Comunicação de Dados Protocolos de Janela Deslizante

Funcionamento

• A máquina que inicia busca o primeiro pacote em sua camada de rede.

• Constrói um quadro a partir dele e o envia.• Quando esse (ou qualquer) quadro chega ao

destino, a camada de enlace de dados receptora verifica se ele é uma cópia.

• Se o quadro for o esperado, ele será repassado à camada de rede e a janela do receptor será deslocada para cima.

Page 19: Comunicação de Dados Protocolos de Janela Deslizante

Funcionamento (2)

• O campo de confirmação contém o número do último quadro recebido sem erro.

• Se esse número estiver de acordo com o número de sequência do quadro que o transmissor está tentando enviar, o transmissor saberá que já cuidou do quadro armazenado em buffer e poderá buscar o pacote seguinte em sua camada de rede.

• Se o número de sequência for discordante, o transmissor deve continuar tentando enviar o mesmo quadro.

• Sempre que um quadro é recebido, um outro quadro também é enviado de volta.

Page 20: Comunicação de Dados Protocolos de Janela Deslizante

Exemplificação

Page 21: Comunicação de Dados Protocolos de Janela Deslizante

Sumário

1) Protocolo de Janela Deslizante de um bit.2) Protocolo que utiliza go-back-n.3) Protocolo que utiliza transmissão seletiva.

Page 22: Comunicação de Dados Protocolos de Janela Deslizante

Pipelining

• Técnica de manter vários quadros pendentes.• Quando um quadro chega danificado no

receptor ele é descartado. Porém, o que acontece com os demais quadros que o seguem.

• Há duas estratégias:– Go-back-n.– Retransmissão seletiva.

Page 23: Comunicação de Dados Protocolos de Janela Deslizante

Go-back-n

• O receptor descarta o quadro recebido com erro e todos os quadros subsequentes, recebidos sem erros, até receber a retransmissão do quadro errado.

• Nenhuma confirmação desses quadros descartados sem erros é enviada.

• Em outras palavras, a Camada de Enlace se recusa a aceitar qualquer quadro, exceto o próximo que ela tem de entregar à Camada de Rede.

Page 24: Comunicação de Dados Protocolos de Janela Deslizante

Sumário

1) Protocolo de Janela Deslizante de um bit.2) Protocolo que utiliza go-back-n.3) Protocolo que utiliza transmissão seletiva.

Page 25: Comunicação de Dados Protocolos de Janela Deslizante

Retransmissão seletiva

• Um quadro incorreto recebido é descartado.• Porém, os quadros recebidos depois dele, sem

defeitos, são aceitos e inseridos no buffer.• Quando o temporizador termina, somente o

quadro com erro é retransmitido.

Page 26: Comunicação de Dados Protocolos de Janela Deslizante

Negative Acknowledgement

• Com frequência, a retransmissão seletiva envia um pacote NAK ao detectar um erro.

• Isso evita a necessidade de aguardar o timeout para retransmitir o quadro.

Page 27: Comunicação de Dados Protocolos de Janela Deslizante

Discussão em classe

• Um campo de um único bit, neste modelo em especial, pode ser utilizado com eficiência?

• Como isto funcionaria conceitualmente.

Page 28: Comunicação de Dados Protocolos de Janela Deslizante

Solicitação de Repetição Automática

• Protocolos nos quais o transmissor espera por uma confirmação antes de continuar sua tarefa de transmissão.– Solicitação de repetição automática (ARQ).– Confirmação positiva com repetição (PAR).