Buscar

Rede de computadores Aula 10

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

Continue navegando