Download - Dr. José Raúl Vento 2005
Dr. José Raúl Vento2005
Camada de Enlace
UNEMAT-FACIEX
CAMADA DE ENLACE
CAMADA DE ENLACEROTEIRO
ServiçosDetecção de Erros Protocolos ElementaresProtocolos de Janela DeslizanteExemplo de ProtocoloSubcamada de Acesso ao Meio (MAC)
CAMADA DE ENLACE
CAMADA DE ENLACEProtocolos da Camada de Enlace
CAMADA DE ENLACE
CAMADA DE ENLACETipos de canais em camada 2
CAMADA DE ENLACE
• 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 ENLACEFunções da Camada de Enlace
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
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 ENLACEFunçõ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 ENLACEFunçõ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 ENLACEFunções da Camada de Enlace
CAMADA DE ENLACEQuadros (FRAME)
CAMADA DE ENLACE
CAMADA DE ENLACEQuadros (FRAME)
CAMADA DE ENLACE
CAMADA DE ENLACEDelimitação dos Quadros
Contador de caracteres
CAMADA DE ENLACE
CAMADA DE ENLACEDelimitação dos Quadros
Caracteres de inicialização e finalização,
com caracter de enchimento
CAMADA DE ENLACE
CAMADA DE ENLACEDelimitação dos Quadros
CAMADA DE ENLACE
flag bytepatternin datato send
flag byte pattern plusstuffed byte in transmitted data
CAMADA DE ENLACEDelimitação dos Quadros
CAMADA DE ENLACE
CAMADA DE ENLACEDelimitação dos Quadros
Flags de inicialização e finalização, com caracter de enchimento
CAMADA DE ENLACE
CAMADA DE ENLACEDelimitação dos Quadros
Flags de inicialização e finalização, com caracter de enchimento
CAMADA DE ENLACE
CAMADA DE ENLACEDelimitação dos Quadros
Violação de código no nível físico
(RDSI- Interfaz ST)
CAMADA DE ENLACE
CAMADA DE ENLACEDetecção de Erros
CAMADAFISICA
CAMADAENLACE
CAMADAREDE
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
CAMADA DE ENLACEDetecçã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 ErrosUso de Bits de Paridade
CAMADA DE ENLACE
Paridade de 1 Bit:Detecta erros em um único bit
Paridade de Bit Bidimensional:Detecta e corrige em um único bit
Detecção de ErrosMétodos de “Checksum”
CAMADA DE ENLACE
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.
Detecção de Erros
CAMADA DE ENLACE
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
Métodos de “CRC”Códigos de Redundância Cíclica (Cyclic Redundancy
Codes):
Detecção de Erros
CAMADA DE ENLACE
Métodos de “CRC”Códigos de Redundância Cíclica (Cyclic Redundancy
Codes):
Exemplo de CRC
Imp
lem
enta
ção
de
CR
C
Detecção de Erros
CAMADA DE ENLACE
Métodos de “CRC”Códigos de Redundância Cíclica (Cyclic Redundancy
Codes): 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
Imp
lem
enta
ção
de
CR
C (
cont)
Detecção de Erros
CAMADA DE ENLACE
Métodos de “CRC” em EthernetCódigos de Redundância Cíclica (Cyclic Redundancy
Codes):
EX
EM
PLO
CR
C E
TH
ER
NET
Detecção de Erros
CAMADA DE ENLACE
Métodos de “CRC” em EthernetCódigos de Redundância Cíclica (Cyclic Redundancy
Codes):
EX
EM
PLO
CR
C E
TH
ER
NET
Detecção de Erros
CAMADA DE ENLACE
Métodos de “CRC” em EthernetCódigos de Redundância Cíclica (Cyclic Redundancy
Codes):
EX
EM
PLO
CR
C E
TH
ER
NET
CAMADA DE ENLACEProtocolos da Camada de Enlace
CAMADA DE ENLACE
CAMADA DE ENLACEProtocolos da Camada de Enlace
CAMADA DE ENLACE
CAMADA DE ENLACEProtocolos da Camada de EnlaceProtocolo 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 enlaceOperaçõ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 enlaceOperaçõ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 ENLACEProtocolos da Camada de Enlace
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 ENLACEProtocolos da Camada de Enlace
CAMADA DE ENLACE
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
Protocolo Simplex sem restrições
CAMADA DE ENLACEProtocolos da Camada de Enlace
CAMADA DE ENLACE
Protocolo Simplex sem restriçõesTransmissor ReceptorEnlace
CAMADA DE ENLACEProtocolos da Camada de Enlace
CAMADA DE ENLACE
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
Protocolo Simplex Pare-e-Espere(Stop-and-wait)
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolo Simplex Pare-e-Espere
(Stop-and-wait)Transmissor ReceptorEnlace
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolo Simplex Pare-e-Espere
(Stop-and-wait)
CAMADA DE ENLACE
CAMADA DE ENLACE
Transmissor ReceptorEnlace
X(erro)
Detectado erro.Quadro ignorado
Liga timer
Estoura timer
Desliga timer
Religa timer
Protocolo Simplex para um
Canal com Ruído (I)
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolo Simplex para um
Canal com Ruído (II)Transmissor ReceptorEnlace
Liga timer
Estoura timer
X(erro)
DUPLICATA!
Desliga timer
Religa timer
SOLUÇÃO:Números deSeqüência
CAMADA DE ENLACE
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ãonúmeros de seqüência habilitados para transmissão
Janela de recepçãonú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 Deslizantetamanho 1
Inicialmente Após a tx do1o. quadro
Após a rx do1o. quadro
Após a rx do1o. Reconhe-
cimento
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos de Janela Deslizantetamanho 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 curtoSoluçã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
Alternativa: quadro correto fora da seqüência dispara atransmissão de um quadro de NAK antecipando o inícioda retransmissão dos quadros.
Protocolo Volte a n
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com PipeliningProtocolo Volte a n
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com PipeliningRetransmissã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
Necessita de maior quantidade de memória no nó
Janela de recepção maior que 1
CAMADA DE ENLACE
CAMADA DE ENLACE
Protocolos com PipeliningRetransmissão seletiva
CAMADA DE ENLACEProtocolos da Camada de Enlace
(HDLC)
CAMADA DE ENLACE
HDLC (High-level Data link Control)É uma evolução do protocolo SDLC
(Synchronous Data Link Control) desenvolvido pela IBM
Padronizado pela ISOO ITU-T modificou o HDLC para o seu LAPB
(Link Access Procedure Balanced) utilizado no X.25
EX
EM
PL
O
CAMADA DE ENLACE
CAMADA DE ENLACE
EX
EM
PL
OO High Level Data Link Control (HDLC) foi padronizadopela ISO em 1979, ele é considerado o pai de todos osprotocolos 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 diversosprotocolos de nível 2 para algumas arquiteturas de redesespecíficas, baseados em subconjuntos funcionais doHDLC.
• 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
Protocolos Orientados a BitsFormato do Quadro HDLC
CAMADA DE ENLACE
CAMADA DE ENLACE
EX
EM
PL
OProtocolos Orientados a Bits
Formato do Quadro HDLC
CAMADA DE ENLACE
CAMADA DE ENLACE
Flags
Endereço: usado paraidentificar terminais emcanais multiponto ou para distinguir comandosde respostas. Controle: inclui nos. de seqüência,
reconhecimentos, etc.
Dados: de comprimentovariável.
CRC-CCITT
Protocolos Orientados a BitsFormato do Quadro HDLC
CAMADA DE ENLACE
CAMADA DE ENLACE
Quadro de Informação:
Quadro de Supervisão:
Quadro Não Numerado:
Campo de Controle
Protocolos Orientados a BitsQuadro HDLC
CAMADA DE ENLACE
CAMADA DE ENLACE
Campo de Controle
Protocolos Orientados a BitsQuadro HDLC
CAMADA DE ENLACE
CAMADA DE ENLACE
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)
Quadros de Supervisão
CAMADA DE ENLACE
CAMADA DE ENLACE
DISC (DISConnect)SNRM (Set Normal Response Mode)SABM (Set Asynchronous Balanced Mode)FRMR (FRaMe Reject)UA (Unnumbered Acknowledgment)
Quadros Não Numerados
CAMADA DE ENLACEProtocolos da Camada de Enlace
Point to Point Protocol
CAMADA DE ENLACE
EX
EM
PLO
PPP
CAMADA DE ENLACEProtocolos da Camada de Enlace
Point to Point Protocol
CAMADA DE ENLACE
EX
EM
PLO
PPP
CAMADA DE ENLACEProtocolos da Camada de Enlace
Point to Point Protocol
CAMADA DE ENLACE
EX
EM
PLO
PPP
CAMADA DE ENLACE
CAMADA DE ENLACE
Controle de acesso a um meio físico compartilhado entre múltiplas estações
Será estudada no módulo de Redes Locais.
Subcamada de Acesso ao Meio
(MAC)