Baixe o app para aproveitar ainda mais
Prévia do material em texto
Redes de Computadores 1 10a Aula:10a Aula: Camada de Enlace: protocolos HDLC e PPP - Suposições do modelo de comunicação: - Tratar cada camada como processos separados; - Os protocolos da camada de enlace devem saber lidar com o envio de longos Camada de Enlace: Protocolos - Os protocolos da camada de enlace devem saber lidar com o envio de longos fluxos de dados da maneira mais confiável possível, de preferência, utilizando processos orientados à conexão; - Os protocolos também devem lidar com erros de comunicação, mas não com os problemas causados por panes no computador; - Os protocolos da camada de enlace trabalham de maneira diferenciada no processo de transmissão e recepção: - Na transmissão, o protocolo deve encapsular os dados recebidos da camada de rede num quadro e preencher o campo de total de verificação e, de acordo com as características do serviço prestado pelo mesmo, envia os quadros a Camada de Enlace: Protocolos com as características do serviço prestado pelo mesmo, envia os quadros a camada física; - Na recepção, o protocolo deve tratar os quadros que chegarem da camada física, calcular o total de verificação e, em caso de tudo estar correto, remover os cabeçalhos de enlace encaminhar o datagrama para a camada de rede. - Na maioria dos protocolos, supoem-se o uso de um canal não confiável que perde quadros inteiros ocasionalmente. Para superar esse problemas, a camada de enlace transmissora precisa de um timer ou relógio sempre que envia um quadro. Se nenhuma informação de Camada de Enlace: Protocolos confirmação for recebida no intervalo definido, a camada de enlace é informada; - Outro ponto importante, é a sequência dos quadros para garantir que a informação enviada foi completamente recebida pelo destino; - As mensagens de confirmação (ACKs) também são importantes para garantir a confiabilidade da entrega dos quadros transmitidos da origem para o destino; - Protocolo simplex sem restrições: Camada de Enlace: Protocolos - Protocolo Utópico - Dados são transmitidos somente em um sentido, o espaço de buffer é infinito, canal de dados de enlace nunca é danificado nem perde quadros. - Protocolo simplex stop-and-wait: - O canal de comunicação não apresenta erros e que o tráfego de dados é simplex, mas há restrição no tamanho de buffer; - Para não “inundar” o receptor, é comum fazer com que o receptor enviar um feedback ao transmissor, informando que está pronto para receber o próximo Camada de Enlace: Protocolos feedback ao transmissor, informando que está pronto para receber o próximo quadro (controle de fluxo) => O canal de controle deve ser half-duplex. - Protocolo simplex para um canal do ruído: - Precisa passar a tratar o número de sequência dos quadros, para evitar que perdas de quadros de dados ou de quadros de confirmação gerem datagramas duplicados sejam encaminhados para a camada de rede (timeout + reenvio); - Protocolo de janela deslizante: - Uso de canais full-duplex para melhor a aproveitamento da banda disponível; Camada de Enlace: Protocolos - Outra otimização é a transmissão da informação de controle (confirmações) juntamente com o quadro de dados => esta técnica chama-se piggybacking (superposição); - Problema: o quanto esperar por um quadro de dados antes de enviar a confirmação? Normalmente existe um tempo máximo fixo. - Protocolo de janela deslizante (Cont.): - A essência dos protocolos de janela deslizante: - O transmissor mantém um conjunto de números de sequência correspondentes a quadros que ele pode enviar => janela de transmissão. Esta janela representa os quadros enviados ou que podem ser enviados Camada de Enlace: Protocolos Esta janela representa os quadros enviados ou que podem ser enviados mas que ainda não foram confirmados; - O receptor mantém um conjunto de quadros que está apto a aceitar => janela de recepção. Qualquer quadro que ficar fora da janela será simplesmente descartado; - O tamanho da janela de transmissão não precisa ser o mesmo da janela de recepção; - Protocolo de janela deslizante (Cont.): - Para melhor aproveitamento da banda, pode-se alterar o protocolo para que ele envie n quadros antes da confirmação ao invés de apenas 1 => esta técnica chama-se pipelining; - E quando ocorrem erros no pipelining? Há duas estratégias básicas para Camada de Enlace: Protocolos - E quando ocorrem erros no pipelining? Há duas estratégias básicas para tratar esse problema: - go back n: o receptor simplesmente descarta todos os quadros subsequentes e não envia qualquer confirmação desses quadros descartados. Assim o transmissor interromperá a transmissão e restransmitirá todos os quadros não confirmados em ordem; - Protocolo de janela deslizante (Cont.): - E quando ocorrem erros no pipelining? Há duas estratégias básicas para tratar esse problema: - Retransmissão seletiva: o quadro recebido com erros é descartado, mas os quadros sem defeitos recebidos depois dele são inseridos no buffer. Camada de Enlace: Protocolos os quadros sem defeitos recebidos depois dele são inseridos no buffer. Quando o transmissor chega ao timeout, apenas o quadro não confirmado mais antigo é retransmitido. Para melhorar o desempenho, pode-se usar essa técnica junto com o envio de NACK para o quadro defeituoso, permitindo a retransmissão do mesmo antes do timeout; - HDLC = High-level Data Link Control; - Variação do protocolos SDLC criado pela IBM após modificações realizadas pela ANSI e ISO; - É um protocolo orientado a bit que utiliza a estrutura de quadro Camada de Enlace: Protocolo HDLC - É um protocolo orientado a bit que utiliza a estrutura de quadro apresentada a seguir: - O campo Endereço é importante principamente nas linhas com diversos terminais. Em circuitos ponto-a-ponto, às vezes esse campo é utilizado para fazer distinção entre comandos e respostas; - Quadro HDLC (Cont.): - O campo Controle é usado para números de sequência, confirmações, além de outras finalidades que serão apresentadas; - O campo Dados pode conter qualquer informação; - O campo Checksum (total de verificação) é uma variação do código CRC; Camada de Enlace: Protocolo HDLC - O campo Checksum (total de verificação) é uma variação do código CRC; - Além disso, há os campos de flag que delimitam o início e o final do quadro. Em linhas ponto-a-ponto ociosas, as sequências de flags são transmitidas de forma contínua; - Utiliza a técnica de janela deslizante com um número de sequência de 3 bits, ou seja, pode haver até 7 quadros não confirmados pendentes; - Permite comunicação síncrona e assíncrona usando um modelo semelhante a mestre e escravo; - Existem 3 tipos de quadros de controle: (a) Quadro de informação Camada de Enlace: Protocolo HDLC (b) Quadro supervisor (c) Quadro não numerado - O bit P/F representa Poll/Final. Ele é utilizado quando um computador ou concentrador está consultando um grupo de terminais; - Quando utilizado como P: computador está convidando o terminal a enviar Camada de Enlace: Protocolo HDLC dados. Todos os quadros enviados pelo terminal, exceto o último, possuem esse bit como P; - O quadro final é definido como F; - Os diversos tipos de quadros supervisores se distinguem pelo campo Tipo : - Tipo 0: quadro de confirmação usado para indicar o próximo quadro esperado; - Tipo 1: quadro de confirmação negativa; usado para indicar a detecção de Camada de Enlace: Protocolo HDLC - Tipo 1: quadro de confirmação negativa; usado para indicar a detecção de um erro de transmissão. O campo Próximo indica o 1º quadro da sequência não recebido corretamente; - Tipo 2: confirma todos os quadros até o Próximo, sem incluí-lo, mas solicita que o transmissorinterrompa o envio de quadros até nova informação; - Tipo 3: solicita a retransmissão apenas para o quadro especificado. - O quadro não-numerado pode ser utilizado para fins de controle e também pode transportar dados quando é utilizado o serviço não confiável sem conexão. Camada de Enlace: Protocolo HDLC - PPP = Point-to-Point Protocol - Protocolos ponto-a-ponto podem ser utilizados para diversos fins: Na Internet, eles podem ser utilizados para cuidar do tráfego entre roteadores e de usuários domésticos para ISP (Provedor de Serviço da Camada de Enlace: Protocolo PPP Internet); - Definido na RFC 1661 e é mais elaborados em várias outras RFCs, tais como as RFCs 1662 e 1663; - Com os avanços de tecnologia, variantes do PPP surgiram como PPPoE (PPP over Ethernet) e o PPPoA (PPP over ATM); - Esse protocolo trata da detecção de erros, aceita vários protocolos, permite que endereços IP sejam negociados em tempo de conexão, permite a autenticação e inclui muitas outras características; - Ele dispõe de 3 recursos: Camada de Enlace: Protocolo PPP - Método de enquadramento que delineia de forma não ambígua o fim de um quadro e o início do quadro seguinte. O formato do quadro também lida com a detecção de erros; - É usado para ativar linhas, testá-las, negociar opções e desativá-las novamente quando não forem mais necessárias. Esse protocolo é denominado LCP (Link Control Protocol). Ele admite circuitos síncronos e assíncronos, e também codificações orientadas a bytes e bits; - Ele dispõe de 3 recursos (Cont.): - Uma maneira de negociar as opções da camada de rede de modo independente do protocolo da camada de rede a ser utilizado. O método escolhido deve ter um NCP (Network Control Protocol) diferente para cada camada de rede aceita; Camada de Enlace: Protocolo PPP camada de rede aceita; - Para entender esses pontos, consideraremos um exemplo: Um usuário doméstico se conecta ao ISP para transformar seu PC em um host temporário da Internet utilizando uma conexão discada. - Primeiro o PC chama o roteador do provedor por meio de um modem; - Depois do modem atender à solicitação e estabelecer uma conexão física, o PC envia ao roteador uma série de pacotes LCP no campo de carga útil de um ou mais quadros PPP. Esses pacotes e suas respostas selecionam os parâmetros PPP a serem utilizados; - Após a definição dos parâmetros em comum acordo, uma série de pacotes Camada de Enlace: Protocolo PPP NCP é enviada para configurar a camada de rede. Como este PC está se conectando a Internet que utiliza a arquitetura de protocolos TCP/IP, ele necessita de um endereço IP. Para permitir um melhor aproveitamento dos endereços IP Públicos disponíveis para o ISP, normalmente, se opta pela distribuição dinâmica de endereços IP, atividade que é realizada pelo NCP; - Nesse momento, o PC passa a ser um host da Internet e pode enviar e receber pacotes IP, da mesma forma que os hosts fisicamente conectados; - Quando o usuário termina, o NCP é utilizado para desativar a conexão da camada de rede e liberar o endereço IP. Em seguida, o LCP encerra a conexão da camada de enlace de dados. Finalmente, o PC solicita que o Camada de Enlace: Protocolo PPP modem desligue a chamada, liberando a conexão física. - Atualmente, não é comum utilizar conexões discadas e sim acessos xDSL, que podem utilizar diversos protocolos como IP, PPP, entre outras; - Em comunicações entre roteadores, o protocolo PPP ainda é bastante utilizado; - O formato do quadro PPP foi definido de modo a ter uma aparência semelhante ao formato do quadro HDLC. A principal diferença entre os protocolos PPP e HDLC é que o primeiro é orientado a caracteres e não a bits. O PPP utiliza a técnica de inserção de bytes em linhas, Camada de Enlace: Protocolo PPP portanto, todos os quadros representam um número inteiro de bytes; - Todos os quadros PPP começam pelo byte de flag padrão do HDLC (01111110), que é complementado por inserção de bytes se ocorrer dentro do campo de carga útil; - Em seguida temos o campo Endereço, que sempre é definido como o valor binário 11111111, indicando que todas as estações devem aceitar o quadro; - A utilização desse valor evita o problema da necessidade de atribuição de endereços de enlace de dados, uma vez que esse protocolo conecta sempre Camada de Enlace: Protocolo PPP endereços de enlace de dados, uma vez que esse protocolo conecta sempre dois pontos; - O campo Controle é exibido após o campo Endereço e seu valor padrão é 00000011. Esse valor indica um quadro não numerado, ou seja, o PPP não oferece uma transmissão confiável com o uso de números de sequência e confirmações como padrão; - Em ambientes ruidosos é possível utilizar uma transmissão confiável que emprega o modo numerado conforme definido na RFC 1663, mas, na prática, raramente ele é utilizado; Camada de Enlace: Protocolo PPP - Como os campos Endereço e Controle são sempre constantes na configuração, o LCP fornece o mecanismo necessário para que as duas partes negociem uma opção que os omita totalmente e que economize 2 bytes por quadro; -O quarto campo do quadro PPP é o campo Protocolo. Sua tarefa é informar o tipo de pacote que se encontra no campo Carga útil. Os códigos são definidos para representar os protocolos LCP, NCP, IPIPX, AppleTalk e outros; Camada de Enlace: Protocolo PPP - Os protocolos que começam por um bit 0 são os protocolos da camada de rede, como IP, IPX, OSI, entre outros; - Aqueles que começam por um bit 1 são utilizados na negociação de outros protocolos. Entre eles estão incluídos o LCP e um NCP diferente para cada protocolo da camada de rede admitido. O tamanho padrão do campo Protocolo é 2 bytes, mas é possível negociar uma redução para 1 byte, utilizando-se o LCP; - O campo Carga útil tem comprimento variável, podendo se estender até o tamanho máximo negociado. Se o comprimento não for negociado com o uso do LCP durante a configuração da linha, será Camada de Enlace: Protocolo PPP empregado um comprimento padrão de 1500 bytes. Poderá haver um preenchimento logo após a carga útil, caso seja necessário; - Depois do campo Cargo útil, temos o campo Total de verificação, que normalmente tem 2 bytes, embora seja possível negociar um total de verificação de 4 bytes; - O protocolo PPP é um mecanismo de enquadramento multiprotocolo, adequado para a utilização de camadas físicas. Ele aceita a detecção de erros, a negociação de opções, a compactação de cabeçalhos e, opcionalmente, a transmissão confiável com o uso de Camada de Enlace: Protocolo PPP um formato de quadro do tipo HDLC; - Passaremos agora a analisar a maneira como as conexões PPP são ativadas e desativadas: - O protocolo começa com a conexão em estado DEAD, o que significa que não há nenhuma portadora da camada física presente e nem qualquer conexão física; - Passaremos agora a analisar a maneira como as conexões PPP são ativadas e desativadas (Cont.): - Depois de estabelecida a conexão, passa-se para a fase ESTABLISH; - Começa então a negociação de opções do LCP, que se for bem sucedida, levará a fase AUTHENTICATE. Nesse momento, as duas partes poderão Camada de Enlace: Protocolo PPP levará a fase AUTHENTICATE. Nesse momento, as duas partes poderão verificar suas identidades mutuamente, se desejarem; - Quando a fase NETWORK é alcançada, o protocolo NCP apropriado é invocado para configurar a camada de rede. Se a configuração for bem sucedida, a fase OPEN é alcançada e o transporte de dados pode ser realizado; - Passaremos agora a analisar a maneira como as conexões PPP são ativadas e desativadas (Cont.): - Quando a transmissão de dados é concluída, a linha entra na fase TERMINATEe, de lá, volta a DEAD quando a portadora é desativada. - O LCP é utilizado para negociar opções de protocolos de enlace de Camada de Enlace: Protocolo PPP - O LCP é utilizado para negociar opções de protocolos de enlace de dados durante a fase ESTABLISH: - Ele se preocupa com o mecanismo de negociação, proporcionando um meio para o processo inicial faça uma proposta que será aceita ou rejeitada, total ou parcialmente, pelo processo de resposta; - Ele também permite que os dois processos testem a qualidade da linha, além de permitir que a conexão seja desativada quando não for mais necessária; - Um resumo sobre a maneira como as conexões PPP são ativadas e desativadas é apresentado na figura abaixo: Camada de Enlace: Protocolo PPP
Compartilhar