UNEMAT-FACIEX
Camada de Enlace
Dr. José Raúl Vento
2005
CAMADA DE ENLACE
CAMADA DE ENLACE
ROTEIRO
Serviços
Detecção de Erros
Protocolos Elementares
Protocolos de Janela Deslizante
Exemplo de Protocolo
Subcamada de Acesso ao Meio (MAC)
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos da Camada de Enlace
CAMADA DE ENLACE
CAMADA DE ENLACE
Tipos de canais em camada 2
• Há dois tipos de canais em camada de enlace, completamente
diferente :
• Broadcast
• Redes locais (Lans), Lans sem fio, redes por satélite e
redes de acesso híbrido de cabo coaxial e de fibra.
• Ponto-a-ponto
• Conexão entre dois roteadores, um modem residencial
e um roteador ISP (PPP)
CAMADA DE ENLACE
CAMADA DE ENLACE
Funções da Camada de Enlace
• Conexão de Enlace
• Sequenciação
• Notificação de Erros
Ack/ Nack, time out,
Paridade, FCS (Frame Check sequence), CRC
• Controle de Fluxo
Stop and wait
Sliding window
CAMADA DE ENLACE
CAMADA DE ENLACE
Funções da Camada de Enlace
Funções Internas
Estabelecimento e liberação de conexões
Compartilhamento do meio físico - sub-camada MAC
Receber dados do nível de rede e dividi-los em frames
Receber bits do nível físico agrupá-los em frames
Delimitação e sincronização de quadros
• Character stuffing
• Bit stuffing
CAMADA DE ENLACE
CAMADA DE ENLACE
Funções da Camada de Enlace
Enquadramento e acesso ao enlace:
encapsula datagrama num quadro incluindo cabeçalho e
cauda,
implementa acesso ao canal se meio for compartilhado,
‘endereços físicos’ são usados em cabeçalhos de quadros
para identificar origem e destino de quadros em enlaces
multiponto
Entrega confiável:
Pouco usada em fibra óptica, cabo coaxial e alguns tipos de
pares trançados devido a taxas de erro de bit muito baixas.
Usada em enlaces de rádio, onde a meta é reduzir erros
evitando assim a retransmissão fim a fim.
CAMADA DE ENLACE
CAMADA DE ENLACE
Funções da Camada de Enlace
Controle de Fluxo:
 compatibilizar taxas de produção e consumo de quadros
entre remetentes e receptores
Detecção de Erros:
erros são causados por atenuação do sinal e por ruído
receptor detecta presença de erros
receptor sinaliza ao remetente para retransmissão, ou
simplesmente descarta o quadro em erro
Correção de Erros:
 mecanismo que permite que o receptor localize e corrija o
erro sem precisar da retransmissão
CAMADA DE ENLACE
CAMADA DE ENLACE
Quadros (FRAME)
CAMADA DE ENLACE
CAMADA DE ENLACE
Quadros (FRAME)
CAMADA DE ENLACE
CAMADA DE ENLACE
Delimitação dos Quadros
Contador de caracteres
CAMADA DE ENLACE
CAMADA DE ENLACE
Delimitação dos Quadros
Caracteres de inicialização e finalização,
com caracter de enchimento
CAMADA DE ENLACE
CAMADA DE ENLACE
Delimitação dos Quadros
flag byte
pattern
in data
to send
flag byte pattern plus
stuffed byte in
transmitted data
CAMADA DE ENLACE
CAMADA DE ENLACE
Delimitação dos Quadros
CAMADA DE ENLACE
CAMADA DE ENLACE
Delimitação dos Quadros
Flags de inicialização e finalização, com
caracter de enchimento
CAMADA DE ENLACE
CAMADA DE ENLACE
Delimitação dos Quadros
Flags de inicialização e finalização, com caracter de
enchimento
CAMADA DE ENLACE
CAMADA DE ENLACE
Delimitação dos Quadros
Violação de código no nível físico
(RDSI- Interfaz ST)
CAMADA DE ENLACE
CAMADA DE ENLACE
Detecção de Erros
CAMADA
REDE
CAMADA
ENLACE
CAMADA
FISICA
CAMADA DE ENLACE
EDC= bits de Detecção e Correção de Erros (redundância)
D = Dados protegidos por verificação de erros,
podem incluir alguns campos do cabeçalho
CAMADA DE ENLACE
Detecção de Erros
Detecção de erros não é 100% perfeita;
Protocolo pode não identificar alguns
erros, mas é raro
Maior campo de EDC permite melhorar
detecção e correção
CAMADA DE ENLACE
Detecção de Erros
Uso de Bits de Paridade
Paridade de 1 Bit:
Detecta erros em um único
bit
CAMADA DE ENLACE
Paridade de Bit Bidimensional:
Detecta e corrige em um único bit
Detecção de Erros
Métodos de “Checksum”
Checksum “Internet”: Remetente
considera dados como compostos de
inteiros de 16 bits; soma todos os
campos de 16 bits (usando aritmética
de complemento de um) e acrescenta a
soma ao quadro; o receptor repete a
mesma operação e compara o resultado
com o checksum enviado com o quadro.
CAMADA DE ENLACE
Detecção de Erros
Métodos de “CRC”
Códigos de Redundância Cíclica (Cyclic Redundancy Codes):



Dados considerados como a seqüência de coeficientes
de um polinômio (D)
É escolhido um polinômio Gerador, (G), (=> r+1 bits)
Divide-se (módulo 2) o polinômio D*2r por G.
Acrescenta-se o resto (R) a D. Observa-se que, por
construção, a nova seqüência <D,R> agora é
exatamente divisível por G
CAMADA DE ENLACE
Detecção de Erros
Métodos de “CRC”
Implementação de
CRC
Códigos de Redundância Cíclica (Cyclic Redundancy Codes):
Exemplo de CRC
CAMADA DE ENLACE
Detecção de Erros
Métodos de “CRC”
Códigos de Redundância Cíclica (Cyclic Redundancy Codes):
Implementação de
CRC (cont)
 Remetente realiza em tempo real por hardware a





divisão da seqüência D pelo polinômio G e acrescenta
o resto R a D
O receptor divide <D,R> por G; se o resto for
diferente de zero, a transmissão teve erro
Padrões internacionais de polinômios G de graus 8,
12, 15 e 32 já foram definidos
A ARPANET utilizava um CRC de 24 bits no protocolo
de enlace de bit alternado
ATM utiliza um CRC de 32 bits em AAL5
HDLC utiliza um CRC de 16 bits
CAMADA DE ENLACE
Detecção de Erros
Métodos de “CRC” em Ethernet
EXEMPLO
CRC ETHERNET
Códigos de Redundância Cíclica (Cyclic Redundancy Codes):
CAMADA DE ENLACE
Detecção de Erros
Métodos de “CRC” em Ethernet
EXEMPLO
CRC ETHERNET
Códigos de Redundância Cíclica (Cyclic Redundancy Codes):
CAMADA DE ENLACE
Detecção de Erros
Métodos de “CRC” em Ethernet
EXEMPLO
CRC ETHERNET
Códigos de Redundância Cíclica (Cyclic Redundancy Codes):
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos da Camada de Enlace
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos da Camada de Enlace
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos da Camada de Enlace
Protocolo da camada de enlace é implementado totalmente
no adaptador (p.ex., cartão PCMCIA). Adaptador tipicamente
inclui: RAM, circuitos de processamento digital de sinais,
interface do barramento do computador, e interface do enlace
Operações de transmissão do adaptador: encapsula (coloca
número de seqüência, info de realimentação, etc.), inclui bits
de detecção de erros, implementa acesso ao canal para meios
compartilhados, coloca no enlace
Operações de recepção do adaptador: verificação e correção
de erros, interrompe computador para enviar quadro para a
camada superior, atualiza info de estado a respeito de
realimentação para o remetente, número de seqüência, etc.
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos da Camada de Enlace
 Protocolo Simplex sem restrições
 Protocolo Simplex Pare-e-Espere
(Stop-and-wait)
 Protocolo Simplex para um canal
com ruído
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos da Camada de Enlace
Protocolo Simplex sem restrições
 Transmissão num único sentido
 O nível de rede está sempre pronto para
transmitir e receber
 O tempo de processamento é ignorado
 Buffers infinitos
 Canal de comunicação perfeito
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos da Camada de Enlace
Protocolo Simplex sem restrições
Transmissor
CAMADA DE ENLACE
Enlace
Receptor
CAMADA DE ENLACE
Protocolos da Camada de Enlace
Protocolo Simplex Pare-e-Espere
(Stop-and-wait)
 Os buffers não são infinitos
 O tempo de processamento não é ignorado
 O transmissor não envia outra mensagem
até que a anterior tenha sido aceita como
correta pelo receptor
 Embora o tráfego de dados seja simplex, há
fluxo de quadros em ambos os sentidos
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolo Simplex Pare-e-Espere
(Stop-and-wait)
Transmissor
CAMADA DE ENLACE
Enlace
Receptor
CAMADA DE ENLACE
Protocolo Simplex
Pare-e-Espere
(Stop-and-wait)
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolo Simplex para um
Canal com Ruído (I)
Transmissor
Liga timer
Enlace
X
(erro)
Estoura timer
Religa timer
Desliga timer
CAMADA DE ENLACE
Receptor
Detectado erro.
Quadro ignorado
CAMADA DE ENLACE
Protocolo Simplex para um
Canal com Ruído (II)
Transmissor
Enlace
Receptor
Liga timer
X
(erro)
Estoura timer
Religa timer
Desliga timer
CAMADA DE ENLACE
DUPLICATA!
SOLUÇÃO: Números de
Seqüência
CAMADA DE ENLACE
Protocolos de Janela Deslizante
Protocolos de Janela deslizante ou Sliding
Windows
 É um mecanismo de controle de fluxo e
otimização
 Quem transmite tem um limite de quadros
para enviar segundo um parâmetro L que
estabelece sua janela de Transmissão
 Após o envio de L quadros sem receber
nenhum ACK o transmissor interrompe o envio
de quadros
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolo Simplex para um
Canal com Ruído (III)
 Os quadros são numerados seqüencialmente
 O tx transmite um quadro
 O rx envia uma quadro de reconhecimento
se o quadro for recebido corretamente,
caso contrário, há um descarte e é
aguardada uma retransmissão
 Quadros não reconhecidos são
retransmitidos (temporização)
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos de Janela Deslizante
Transmissão de dados em ambos sentidos
Utilizam a técnica de carona (piggybacking)
Possui janelas para transmissão e recepção
Janela de transmissão
números de seqüência habilitados para transmissão
Janela de recepção
números de seqüência habilitados para recepção
Os quadros são mantidos na memória para
possível retransmissão
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos de Janela Deslizante
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos de Janela Deslizante
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos de Janela Deslizante
tamanho 1
Inicialmente
CAMADA DE ENLACE
Após a tx do
1o. quadro
Após a rx do Após a rx do
1o. quadro 1o. Reconhecimento
CAMADA DE ENLACE
Protocolos de Janela Deslizante
tamanho 1
A janela de tamanho 1 compromete
a eficiência para
longo tempo de trânsito (ida e volta)
alta largura de banda
comprimento de quadro curto
Solução: Protocolos com Pipelining
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com Pipelining
Solução:
Deixar o transmissor transmitir até w
quadros (sem receber o reconhecimento
do primeiro) antes de ser bloqueado.
Devemos escolher w de modo que o
transmissor possa transmitir quadros por
um tempo igual ao de trânsito, antes de
encher a janela
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com Pipelining
 O que fazer se um quadro no meio da
janela for danificado ou perdido?
 Abordagens:
 Volte a n (Go Back n)
 Retransmissão Seletiva (Selective Reject)
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com Pipelining
Volte a n
 O receptor descarta os quadros seguintes ao
errado
 O transmissor identifica que houve erro, com
estouro da temporização sem que tenha recebido
um reconhecimento
 Ineficiente se a taxa de erros for alta
Janela de recepção  1
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com Pipelining
Protocolo Volte a n
Alternativa: quadro correto fora da seqüência dispara a
transmissão de um quadro de NAK antecipando o início
da retransmissão dos quadros.
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos
com Pipelining
Protocolo Volte a n
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com Pipelining
 Retransmissão seletiva
O nó armazena os quadros corretos que
chegarem após o com erro. O transmissor
retransmite apenas o com erro.
 Ao receber o quadro que faltava, o nó entrega os
diversos quadros já recebidos rapidamente e envia
um reconhecimento do quadro de ordem mais alta

Janela de recepção  maior que 1

Necessita de maior quantidade de memória no nó
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com Pipelining
Retransmissão seletiva
CAMADA DE ENLACE
CAMADA DE ENLACE
EXEMPLO
Protocolos da Camada de Enlace
(HDLC)
HDLC (High-level Data link Control)
É uma evolução do protocolo SDLC (Synchronous
Data Link Control) desenvolvido pela IBM
Padronizado pela ISO
O ITU-T modificou o HDLC para o seu LAPB
(Link Access Procedure Balanced) utilizado no
X.25
CAMADA DE ENLACE
CAMADA DE ENLACE
EXEMPLO
Protocolos Orientados a Bits
Formato do Quadro HDLC
O High Level Data Link Control (HDLC) foi padronizado
pela ISO em 1979, ele é considerado o pai de todos os
protocolos de nível 2.
• Orientado a bit, início e fim de frame 01111110
• Numero de seqüência
• CRC
A partir de sua generalidade foram definidos diversos
protocolos de nível 2 para algumas arquiteturas de redes
específicas, baseados em subconjuntos funcionais do
HDLC.
• LAP-B de redes X.25 (ex.: RENPAC),
• LAP-D para redes ISDN,
• LAP-M para modens inteligentes,
• LLC (Logical Link Control ) do IEEE-802.2 para redes locais
CAMADA DE ENLACE
CAMADA DE ENLACE
EXEMPLO
Protocolos Orientados a Bits
Formato do Quadro HDLC
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos Orientados a Bits
Formato do Quadro HDLC
Flags
Endereço: usado para
identificar terminais em
canais multiponto ou
para distinguir comandos
de respostas.
CAMADA DE ENLACE
CRC-CCITT
Dados: de comprimento
variável.
Controle: inclui nos. de seqüência,
reconhecimentos, etc.
CAMADA DE ENLACE
Protocolos Orientados a Bits
Quadro HDLC
Campo de Controle
Quadro de Informação:
Quadro de Supervisão:
Quadro Não Numerado:
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos Orientados a Bits
Quadro HDLC
Campo de Controle
CAMADA DE ENLACE
CAMADA DE ENLACE
Quadros de Supervisão
Tipo 0: quadro de reconhecimento
positivo (RR - Receive Ready)
Tipo 1: quadro de reconhecimento
negativo (REJ - REJect)
Tipo 2: quadro de reconhecimento (RNR Receive Not Ready)
Tipo 3: quadro de rejeição seletiva (SREJ
- Selective Reject)
CAMADA DE ENLACE
CAMADA DE ENLACE
Quadros Não Numerados
DISC (DISConnect)
SNRM (Set Normal Response Mode)
SABM (Set Asynchronous Balanced Mode)
FRMR (FRaMe Reject)
UA (Unnumbered Acknowledgment)
CAMADA DE ENLACE
EXEMPLO PPP
CAMADA DE ENLACE
Protocolos da Camada de Enlace
Point to Point Protocol
CAMADA DE ENLACE
EXEMPLO PPP
CAMADA DE ENLACE
Protocolos da Camada de Enlace
Point to Point Protocol
CAMADA DE ENLACE
EXEMPLO PPP
CAMADA DE ENLACE
Protocolos da Camada de Enlace
Point to Point Protocol
CAMADA DE ENLACE
CAMADA DE ENLACE
Subcamada de Acesso ao Meio
(MAC)
 Controle de acesso a um meio físico
compartilhado entre múltiplas estações
 Será estudada no módulo de Redes Locais.
CAMADA DE ENLACE
Download

Protocolo Simplex sem restrições