UNEMATFACIEX Camada de Enlace Dr Jos Ral Vento

  • Slides: 64
Download presentation
UNEMAT-FACIEX Camada de Enlace Dr. José Raúl Vento 2005 CAMADA DE ENLACE

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

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 Protocolos da Camada de Enlace CAMADA DE ENLACE

CAMADA DE ENLACE Tipos de canais em camada 2 • Há dois tipos de

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

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

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

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: q compatibilizar taxas

CAMADA DE ENLACE Funções da Camada de Enlace Controle de Fluxo: q 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: q 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 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 Contador de caracteres CAMADA DE ENLACE

CAMADA DE ENLACE Delimitação dos Quadros Caracteres de inicialização e finalização, com caracter de

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

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 CAMADA DE ENLACE

CAMADA DE ENLACE Delimitação dos Quadros Flags de inicialização e finalização, com caracter de

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

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

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

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

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 de 1 Bit: Detecta erros em

Detecção de Erros Uso de Bits de 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” q. Checksum “Internet”: Remetente considera dados como compostos

Detecção de Erros Métodos de “Checksum” q. 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): ü

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*2 r 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

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

Detecção de Erros Métodos de “CRC” Códigos de Redundância Cíclica (Cyclic Redundancy Codes): Implementação de CRC (cont) q Remetente realiza em tempo real por hardware a q q q 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 AAL 5 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

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

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

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 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 é

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 q Protocolo Simplex sem restrições q

CAMADA DE ENLACE Protocolos da Camada de Enlace q Protocolo Simplex sem restrições q Protocolo Simplex Pare-e-Espere (Stop-and-wait) q Protocolo Simplex para um canal com ruído CAMADA DE ENLACE

CAMADA DE ENLACE Protocolos da Camada de Enlace Protocolo Simplex sem restrições q Transmissão

CAMADA DE ENLACE Protocolos da Camada de Enlace Protocolo Simplex sem restrições q Transmissão num único sentido q O nível de rede está sempre pronto para transmitir e receber q O tempo de processamento é ignorado q Buffers infinitos q Canal de comunicação perfeito CAMADA DE ENLACE

CAMADA DE ENLACE Protocolos da Camada de Enlace Protocolo Simplex sem restrições Transmissor CAMADA

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) q Os

CAMADA DE ENLACE Protocolos da Camada de Enlace Protocolo Simplex Pare-e-Espere (Stop-and-wait) q Os buffers não são infinitos q O tempo de processamento não é ignorado q O transmissor não envia outra mensagem até que a anterior tenha sido aceita como correta pelo receptor q 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) 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 Pare-e-Espere (Stop-and-wait) CAMADA DE ENLACE

CAMADA DE ENLACE Protocolo Simplex para um Canal com Ruído (I) Transmissor Liga timer

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

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

CAMADA DE ENLACE Protocolos de Janela Deslizante Protocolos de Janela deslizante ou Sliding Windows q É um mecanismo de controle de fluxo e otimização q Quem transmite tem um limite de quadros para enviar segundo um parâmetro L que estabelece sua janela de Transmissão q 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) q Os quadros

CAMADA DE ENLACE Protocolo Simplex para um Canal com Ruído (III) q Os quadros são numerados seqüencialmente q O tx transmite um quadro q O rx envia uma quadro de reconhecimento se o quadro for recebido corretamente, caso contrário, há um descarte e é aguardada uma retransmissão q Quadros não reconhecidos são retransmitidos (temporização) CAMADA DE ENLACE

CAMADA DE ENLACE Protocolos de Janela Deslizante q Transmissão de dados em ambos sentidos

CAMADA DE ENLACE Protocolos de Janela Deslizante q Transmissão de dados em ambos sentidos q Utilizam a técnica de carona (piggybacking) q 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 q 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 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

CAMADA DE ENLACE Protocolos de Janela Deslizante tamanho 1 Inicialmente CAMADA DE ENLACE Após a tx do 1 o. quadro Após a rx do 1 o. quadro 1 o. Reconhecimento

CAMADA DE ENLACE Protocolos de Janela Deslizante tamanho 1 A janela de tamanho 1

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 q. Solução: q. Deixar o transmissor transmitir até

CAMADA DE ENLACE Protocolos com Pipelining q. Solução: q. Deixar o transmissor transmitir até w quadros (sem receber o reconhecimento do primeiro) antes de ser bloqueado. q. 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 q O que fazer se um quadro no

CAMADA DE ENLACE Protocolos com Pipelining q O que fazer se um quadro no meio da janela for danificado ou perdido? q Abordagens: q Volte a n (Go Back n) q Retransmissão Seletiva (Selective Reject) CAMADA DE ENLACE

CAMADA DE ENLACE Protocolos com Pipelining üVolte a n q O receptor descarta os

CAMADA DE ENLACE Protocolos com Pipelining üVolte a n q O receptor descarta os quadros seguintes ao errado q O transmissor identifica que houve erro, com estouro da temporização sem que tenha recebido um reconhecimento q 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

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 Protocolo Volte a n CAMADA DE ENLACE

CAMADA DE ENLACE Protocolos com Pipelining ü Retransmissão seletiva O nó armazena os quadros

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. q 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 q Janela de recepção maior que 1 q 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 Protocolos com Pipelining Retransmissão seletiva CAMADA DE ENLACE

CAMADA DE ENLACE EXEMPLO Protocolos da Camada de Enlace (HDLC) q. HDLC (High-level Data

CAMADA DE ENLACE EXEMPLO Protocolos da Camada de Enlace (HDLC) q. HDLC (High-level Data link Control) qÉ uma evolução do protocolo SDLC (Synchronous Data Link Control) desenvolvido pela IBM q. Padronizado pela ISO q. 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

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

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

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

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

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 -

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

CAMADA DE ENLACE Quadros Não Numerados DISC (DISConnect) SNRM (Set Normal Response Mode) SABM (Set Asynchronous Balanced Mode) FRMR (FRa. Me Reject) UA (Unnumbered Acknowledgment) CAMADA DE ENLACE

EXEMPLO PPP CAMADA DE ENLACE Protocolos da Camada de Enlace Point to Point Protocol

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

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

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) q Controle de acesso a

CAMADA DE ENLACE Subcamada de Acesso ao Meio (MAC) q Controle de acesso a um meio físico compartilhado entre múltiplas estações q Será estudada no módulo de Redes Locais. CAMADA DE ENLACE