Buscar

Camada de Enlace

Prévia do material em texto

Área de Ciências Exatas e Engenharias
Redes de Computadores
Camada de Enlace
Funções e Protocolos WAN
Professora: 
Maria de Fátima Webber do Prado Lima
Camada de enlaceCamada de enlace
• Função: proporcionar serviços à camada de 
rede.
• Principal serviço: transferir dados da 
camada de rede origem para camada de 
rede destino.
• Serviços oferecidos:
– serviço sem conexão não-confirmado; 
– serviço sem conexão confirmado; 
– serviço baseado em conexão. 
Camada de enlaceCamada de enlace
• Principais atividades realizadas:
– Enquadramento
– Controle de Fluxo
– Controle de Erro
• Enquadramento:
– Delimita o início e o final do quadro
– Métodos utilizados:
• sincronização 
• contagem de caracteres 
• caracteres de início, fim com preenchimento 
• flags de início e fim com preenchimento de bits 
Camada de enlaceCamada de enlace
• Controle de fluxo:
– Se o destino possuir uma capacidade de 
processamento menor que a origem, então a 
origem deve enviar somente a quantidade de 
quadros que o destino possa processar.
Códigos de Detecção e Correção de Códigos de Detecção e Correção de 
ErrosErros
• Códigos de detecção de erros:
– O sistema através dos códigos de correção apenas 
detecta o erro
– Quando um erro é detectado, ou o quadro é 
descartado ou é solicitada a retransmissão (mais 
comum)
• Códigos de detecção e correção de erros:
– Além de detectar o erro, o sistema possui condições 
para que o erro seja corrigido sem necessidade de 
uma retransmissão.
Camada de enlaceCamada de enlace
Códigos de Detecção e Correção de Códigos de Detecção e Correção de 
ErrosErros
• Paridade par/ímpar
• Paridade combinada
• CRC (Cyclic Redundancy Checking)
• Código de Hamming
Códigos de detecção de errosCódigos de detecção de erros
• Paridade par:
Caractere Bit de Paridade Sequência a 
Transmitir
1000100 0 10001000
1110000 1 11100001
• Paridade ímpar:
Caractere Bit de Paridade Sequência a 
Transmitir
1000100 1 10001001
1110000 0 11100000
Códigos de detecção de errosCódigos de detecção de erros
• Paridade Combinada:
 M E N S A G E M BCC
Bit 1 1 1 0 1 1 1 1 1 1
 2 0 0 1 1 0 1 0 0 1
 3 1 1 1 0 0 1 1 1 0
 4 1 0 1 0 0 0 0 1 1
 5 0 0 0 1 0 0 0 0 1
 6 0 0 0 0 0 0 0 0 0
 7 1 1 1 1 1 1 1 1 0
VRC 0 1 0 0 0 0 1 0 0
Códigos de detecção de errosCódigos de detecção de erros
• Paridade Combinada – recepção de bloco com erro:
 M E N S A G E M BCC
Bit 1 1 1 0 1 1 1 1 1 1
 2 0 0 0 1 0 1 0 0 0
 3 1 1 1 0 0 1 1 1 0
 4 1 0 1 0 0 0 0 1 1
 5 0 0 0 1 0 0 0 0 1
 6 0 0 0 0 0 0 0 0 0
 7 1 1 1 1 1 1 1 1 0
VRC 0 1 0 0 0 0 1 0 0
CRC – Cyclic Redundancy CheckCRC – Cyclic Redundancy Check
• Método que se baseia no tratamento de bits como 
representações de polinômios com coeficientes 0 
e 1
• A aritmética polinomial é feita em módulo 2 
conforme a teoria algébrica:
– Não há transporte para a adição nem empréstimos 
para subtração
– Adição e subtração são idênticas à operação OU 
exclusivo
CRC – Cyclic Redundancy CheckCRC – Cyclic Redundancy Check
• Deve ser utilizado um polinômio gerador único 
para origem e para o destino:
– O bit de mais alta ordem e o bit de mais baixa 
ordem do polinômio gerador obrigatoriamente 
deve ser 1
– Para calcular os bits de verificaçao (checksum) de 
um quadro com m bits, o quadro deve conter mais 
bits que o polinômio gerador
CRC – Cyclic Redundancy CheckCRC – Cyclic Redundancy Check
• Para transmitir um bloco:
– Acrescentar uma quantidade de bits 0 (zero) na 
extremidade de baixa ordem do bloco a ser 
transmitido, que corresponda ao grau do polinômio 
gerador
– Dividir o polinômio resultante (original + bits 
zeros) pelo polinômio gerador
– O resto da divisão será acrescentado ao final do 
bloco original, como a sequência de bits de 
verificação
Exemplo de Transmissão CRCExemplo de Transmissão CRC
• Sequência a ser transmitida: 1101011011
• Polinômio gerador utilizado:10011
• 1º Passo: Acrescentar bits 0 na extremidade de 
baixa ordem do bloco a ser transmitido:
– Polinômio gerador possui grau 4, portanto 
acrescenta-se 4 bits zero: 11010110110000
• 2º Passo: Dividir o polinômio resultante pelo 
polinômio gerador:
– 11010110110000 / 10011
Exemplo de Transmissão CRCExemplo de Transmissão CRC
1 1 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1
1 0 0 1 1 1 1 0 0 0 1 0 1 0
 1 0 0 1 1
 1 0 0 1 1
 0 0 0 0 1
 0 0 0 0 0 
 0 0 0 1 0
 0 0 0 0 0
 0 0 1 0 1
 0 0 0 0 0
 0 1 0 1 1
 0 0 0 0 0
 1 0 1 1 0
 1 0 0 1 1
 0 1 0 1 0
 0 0 0 0 0
 1 0 1 0 0
 1 0 0 1 1
 0 1 1 1 0
 0 0 0 0 0
 1 11 0 Resto 
CRC – Cyclic Redundancy CheckCRC – Cyclic Redundancy Check
• Sequência transmitida: 11010110111110
• No destino, é realizada a divisão do bloco 
recebido pelo mesmo polinômio gerador:
– Se o resto for 0 (zero), a transmissão foi 
realizada com sucesso
– Se o resto for diferente de 0 (zero), houve 
problemas na transmissão
Exemplo Transmissão sem ErrosExemplo Transmissão sem Erros
1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1
1 0 0 1 1 1 1 0 0 0 1 0 1 0
 1 0 0 1 1
 1 0 0 1 1
 0 0 0 0 1
 0 0 0 0 0 
 0 0 0 1 0
 0 0 0 0 0
 0 0 1 0 1
 0 0 0 0 0
 0 1 0 1 1
 0 0 0 0 0
 1 0 1 1 1
 1 0 0 1 1
 0 1 0 0 1
 0 0 0 0 0
 1 0 0 1 1
 1 0 0 1 1
 0 0 0 0 
 0 0 0 0 0
 0 0 0 0 Resto 
Exemplo Transmissão com ErrosExemplo Transmissão com Erros
1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 0 0 1 1
1 0 0 1 1 1 1 0 0 0 1 0 1 0
 1 0 0 1 1
 1 0 0 1 1
 0 0 0 0 1
 0 0 0 0 0 
 0 0 0 1 0
 0 0 0 0 0
 0 0 1 0 1
 0 0 0 0 0
 0 1 0 1 0
 0 0 0 0 0
 1 0 1 0 1
 1 0 0 1 1
 0 1 1 0 1
 0 0 0 0 0
 1 1 0 1 1
 1 0 0 1 1
 1 0 0 0 0
 0 0 0 0 0
 1 0 0 0 0 Resto 
CRC (Cyclic Redundancy CRC (Cyclic Redundancy 
Checking)Checking)
• Polinômios geradores padronizados:
Polinômio Gerador Comprimento de 
caractere
Capacidade de Detecção de 
Erros
CRC 12 x12 + x11+ x3 + x2 + x +1 6 bits Até 12 erros simultâneos, ao 
longo do comprimento da 
mensagem
CRC-CCITT - V41 x16 + x12+ x5 +1 8 bits Até 16 erros simultâneos ou 
99% dos casos para sequências 
maiores que 12 erros 
simultâneos.
CRC - 16 x16 + x15+ x2 +1 8 bits Até 16 erros simultâneos ou 
99% dos casos para sequências 
maiores que 16 bits
Protocolos da Camada de EnlaceProtocolos da Camada de Enlace
• Existem diversos protocolos de enlace, que são 
utilizados de acordo com o tipo de rede e seu 
modo de funcionamento:
– Protocolos utilizados em redes WAN: HDLC, PPP, 
10GEthernet, etc.
– Protocolos utilizados em redes locais cabeadas: 
Ethernet, FastEthernet, GigaEthernet, 802.4, 
802.5
– Protocolos utilizados em redes locais sem fio: 
802.11
– ......
HDLC - High-Level Data Link ControlHDLC - High-Level Data Link Control
• Principais funções: 
– detecção e correção de erros, utilizando a 
técnica de requisição de repetição automática 
– delimitação de quadros
– verificação do sequenciamentode quadros 
recebidos, para detectar duplicidade ou perda de 
quadros
– inicialização da conexão 
– desconexão ou reset da conexão 
HDLC - High-Level Data Link ControlHDLC - High-Level Data Link Control
• Formato do quadro:
HDLC - High-Level Data Link ControlHDLC - High-Level Data Link Control
• São utilizados três tipos de quadros:
– Quadros de Informação (I): transferência de 
informação. 
– Quadros de Supervisão (S): utilizados como 
respostas de funções transmitidas pelo outro 
computador. 
– Não-Numerados (U): utilizados para iniciar, 
desconectar ou liberar uma ligação. 
HDLC - High-Level Data Link ControlHDLC - High-Level Data Link Control
• Formato do campo de controle do 
quadro:
HDLC - High-Level Data Link ControlHDLC - High-Level Data Link Control
• Principais comandos e respostas 
utilizados:
PPP – Point to Point ProtocolPPP – Point to Point Protocol
• Padrão Oficial Internet 
• Descrito pelas RFC1661, RFC1662 e 
RFC1663. 
• Permite: 
– detecção de erros; 
– múltiplos protocolos; 
– que o endereço IP seja negociado durante a 
conexão; 
– autenticação; 
PPP – Point to Point ProtocolPPP – Point to Point Protocol
• Proporciona: 
– método de framing para delimitar final do 
quadro e o início do próximo
– protocolo de controle de link (LCP - Link Control 
Protocol)
– caminho para negociar opções do nível de rede 
independente do protocolo de rede utilizado 
(NCP - Network Control Protocol)
PPP – Point to Point ProtocolPPP – Point to Point Protocol
• Formato do quadro:
PPP – Point to Point ProtocolPPP – Point to Point Protocol
• Exemplo de chamada casa -> provedor, sendo 
o computador um host temporário: 
– PC chama roteador do provedor via modem; 
– estabelecimento da conexão física; 
– PC envia ao roteador uma série de pacotes LCP 
para selecionar os parâmetros do PPP a serem 
utilizados; 
– Pacotes NCP são enviados para configurar o 
nível de rede; 
PPP – Point to Point ProtocolPPP – Point to Point Protocol
• ...continuação: 
– PC é um host Internet; 
– Acesso a Internet pelo PC;
– Usuário solicita término da conexão: 
• NCP acaba com a conexão do nível de rede e 
libera o endereço IP; 
• LCP libera a conexão com o nível de enlace; 
• término da conexão do nível físico. 
PPP – Point to Point ProtocolPPP – Point to Point Protocol
• Diagrama de estados:
PPP – Point to Point ProtocolPPP – Point to Point Protocol
• LCP - Link Control Protocol:
– Negocia opções do protocolo de enlace durante a 
fase de estabelecimento da conexão 
– Possui 11 (onze) tipos de pacotes definidos. Os tipos 
genéricos são os seguintes: configure , terminate , 
code-reject, protocol-reject, echo, discard 
– Opções que podem ser negociadas: 
– atribuição do tamanho máximo dos dados 
– habilitar a autenticação 
– escolha do protocolo 
– habilitar a monitoração da qualidade da linha 
– seleção das opções de compressão do cabeçalho 
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32

Continue navegando