1 / 28

Comunicação de Dados

Comunicação de Dados. Protocolos de Janela Deslizante. Sumário. Protocolo de Janela Deslizante de um bit. Protocolo que utiliza go- back -n. Protocolo que utiliza transmissão seletiva. Introdução. O que são protocolos de Janela Deslizante. Questão dos canais. Pegar carona.

Download Presentation

Comunicação de Dados

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comunicação de Dados Protocolos de Janela Deslizante

  2. Sumário • Protocolo de Janela Deslizante de um bit. • Protocolo que utiliza go-back-n. • Protocolo que utiliza transmissão seletiva.

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

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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).

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. Sumário • Protocolo de Janela Deslizante de um bit. • Protocolo que utiliza go-back-n. • Protocolo que utiliza transmissão seletiva.

  15. 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.

  16. 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.

  17. 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.

  18. 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.

  19. 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.

  20. Exemplificação

  21. Sumário • Protocolo de Janela Deslizante de um bit. • Protocolo que utiliza go-back-n. • Protocolo que utiliza transmissão seletiva.

  22. 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.

  23. 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.

  24. Sumário • Protocolo de Janela Deslizante de um bit. • Protocolo que utiliza go-back-n. • Protocolo que utiliza transmissão seletiva.

  25. 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.

  26. 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.

  27. Discussão em classe • Um campo de um único bit, neste modelo em especial, pode ser utilizado com eficiência? • Como isto funcionaria conceitualmente.

  28. 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).

More Related