Baixe o app para aproveitar ainda mais
Prévia do material em texto
- -1 PROTOCOLOS DE COMUNICAÇÃO PROTOCOLOS DE TRANSFERÊNCIA CONFIÁVEL DE DADOS - -2 Olá! Nesta aula, você irá: 1. Conhecer os conceitos e princípios de um protocolo de transferência confiável de dados; 2. Listar os principais elementos de um protocolo de transferência confiável de dados; 3. Definir e caracterizar o protocolo stop and wait; 4. Definir e caracterizar protocolos com paralelismo; 5. Conhecer e analisar diagramas/cenários do protocolo go-back-n. 6. Conhecer e analisar diagramas/cenário do protocolo de dados. 1 Introdução Entre os diversos desafios existentes para a implementação de redes de computadores, a transferência confiável de dados é um dos principais. A camada de transporte deverá ter a possibilidade de fornecer à aplicação um serviço confiável. Essa tarefa torna-se um desafio maior de ser implementada caso a camada inferior oferte à mesma um serviço não confiável. Em termos práticos > o TCP (camada de transporte) é um protocolo de transferência de dados confiável implementado sobre o uma camada de rede não confiável (utilizando o protocolo IP). - -3 Para que um protocolo da camada de transporte efetue uma transferência confiável de dados, algumas questões devem ser analisadas e solucionadas. Questão principal: Quando um receptor detecta a ausência de um pacote ou erros em uma rajada de pacotes, como poderá avisar ao transmissor para reenviar o pacote? A ideia básica da transmissão de um serviço de transferência confiável é garantir que todos os pacotes transmitidos sejam recebidos EM ORDEM E SEM ERROS pelo destinatário. Os protocolos que se prestem à confiabilidade de transferência de dados deverá ser capaz de resolver este problema. É necessário que tenhamos a retransmissão automática de pacotes perdidos ou com erros. 2 Análise de cenários > Transferência confiável de dados Cenário 1 Transferência confiável de dados sobre canais perfeitamente confiáveis. Nesse cenário, não há erro de bits na transmissão (bits corrompidos) e também não há perdas de pacotes. Sendo assim, o papel do remetente é simplesmente aguardar o pedido de envio da camada superior e enviar o pacote, voltando ao seu estado de espera de nova solicitação. O lado do destinatário fica em estado de espera de chegada de pacotes da camada inferior; recebe os dados, extrai e os envia para a camada superior. Cenário 2 Transferência confiável de dados por um canal com erros de bits. Consideramos, nesse caso, que bits de um pacote poderão ser corrompidos, o que, normalmente, ocorre nos componentes físicos da rede, durante a transmissão, propagação e armazenamento do pacote. Nesse cenário, considera-se, também, que todos os pacotes transmitidos foram recebidos na ordem, ainda que com possibilidade de bis corrompidos. Para isto, três tarefas deverão ser executadas pelos protocolos ARQ: Detecção de erros O destinatário deve ser capaz de detectar que ocorreram erros. Existem várias técnicas que permitem ao destinatário detectar e, algumas vezes, corrigir erros de bits de pacotes. Uma técnica, que será analisada em aulas posteriores, é através do envio, pelo transmissor de um campo chamado "soma de verificação" com o total de bits transmitidos. No receptor, uma nova soma será feita e conferido com a informação recebido no campo "soma de verificação". - -4 Realimentação d o destinatário O destinatário deverá fornecer uma realimentação ao remetente sobre o erro. Temos respostas de reconhecimento positivo (ACK) ou negativo (NAK). Retransmissão O pacote recebido com erro será retransmitido. A imagem mostra um procedimento básico de troca de pacotes com envio de ACK e NAK. Podemos perceber que tanto o AKC e NAK constituem, também, pacotes. Se um pacote ACK ou NAK estiver corrompido, como o remetente saberá se o destinatário recebeu ou não corretamente a última parcela de dados transmitida? A solução para este problema, adotada na prática no TCP, é adicionar um campo no cabeçalho do pacote, fazendo com que o remetente numere seus pacotes de dados, inserindo um número de sequência. Sendo assim, caberia ao destinatário apenas verificar o número de sequência para determinar se o pacote recebido é ou não uma retransmissão. Cenário 3 Transferência confiável de dados por um canal com perda e com erros de bits. Temos, agora, um ponto novo desafio > como detectar perda de pacote. Para resolver este problema, é necessária a utilização de um temporizador de contagem regressiva, que será acionado, ao enviar cada pacote do remetente ao destinatário. - -5 Vamos entender: se nenhuma resposta ACK chegar ao remetente, o mesmo deverá esperar um “tempo” suficiente para ter certeza de que o pacote foi perdido. Tendo esta certeza, ele poderá providenciar a retransmissão do mesmo. Quanto tempo o remetente deverá esperar para retransmitir? O tempo a se esperar deve levar em conta um atraso de ida e volta entre transmissor e receptor, onde estará incluso buffers em roteadores e outros equipamentos intermediários. Na prática, o remetente faz uma escolha ponderada de um valor de tempo dentro do qual seria provável que a perda tivesse acontecido. Caso não seja recebido um ACK neste período, este será retransmitido. Em resumo os elementos fundamentais de um protocolo de transferência confiável de dados são: • Soma de verificação. • Número de sequência. • Temporizadores. • Pacotes de reconhecimento negativo (NAK) e positivo (ACK.) 3 Protocolos ARQ Detalharemos, a seguir, três principais protocolos que utilizam o princípio de solicitação automática de repetição, também denominados Protocolos ARQ > Automatic Repeat reQuest. Stop & Wait As principais características do protocolo Stop and Wait já foram detalhadas anteriormente. Como o nome diz, para cada pacote enviado, deverá ser aguardada a confirmação para que um novo pacote seja enviado. Go-Back-N O Go-Back-N (vamos facilitar o texto utilizando a sigla GBN) permite a transmissão de um determinado número de pacotes sem que os pacotes anteriores tenham sido confirmados. Fique ligado Sobre o : o temporizador de contagem regressivatemporizado de contagem regressiva interromperá o processo remetente, após decorrido um dado tempo. Percebemos, então, que o remetente deverá acionar o temporizador toda vez que um pacote for enviado e pará-to, em caso de timeout. • • • • - -6 Selective Repeat Neste protocolo, não ocorrerão retransmissões desnecessárias. Somente o pacote que tiver com erro ou perdido será retransmitido. Isso propiciará um melhor rendimento (menor delay) na transferência de dados. 4 Consequência do Paralelismo Ampliação da faixa de números de sequência visto que, cada pacote em trânsito precisará de um número de sequência exclusivo, podendo haver vários pacotes, ainda não reconhecidos em trânsito. Ex: Se utilizássemos apenas 3 bits para o número de sequência, não poderíamos ter mais que 4 (23) pacotes em trânsito, ou teríamos números de sequência duplicados. Uso de buffers remetente e destinatário. Um exemplo: o remetente terá de providenciar buffers para pacotes que foram transmitidos, mas ainda não foram reconhecidos O que vem na próxima aula Na próxima aula, abordaremos os seguintes assuntos: • Endereçamento e primitivas. • TPDU: unidade de dados do protocolo de transporte. • Endereçamento. • TSAP (ponto de acesso de serviço de transporte). -> Características e portas bem conhecidas. • Primitivas do serviço de Transporte. • Multiplexação e Demultiplexação de Aplicações. CONCLUSÃO Nesta aula, você: • Compreendeu a necessidade da utilização de protocolos de transferência confiável; • Conheceu os principais elementos necessários para um serviço de entrega confiável; • Detalhou e analisou os cenários do protocolo de transferência confiável de dados com paralelismo -> protocolos go-back-n; • Detalhou e analisou os cenários do protocolo de transferência confiável de dados de repetição seletiva. • • • • • • • • • • Olá! 1 Introdução 2 Análise de cenários > Transferência confiávelde dados 3 Protocolos ARQ 4 Consequência do Paralelismo O que vem na próxima aula CONCLUSÃO
Compartilhar