640 likes | 749 Views
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
E N D
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 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 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 Paridade de Bit Bidimensional: Detecta e corrige em um único bit CAMADA DE ENLACE
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” Códigos de Redundância Cíclica (Cyclic Redundancy Codes): Implementação de CRC Exemplo de CRC CAMADA DE ENLACE
Detecção de Erros 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 Implementação de CRC (cont) CAMADA DE ENLACE
Detecção de Erros Métodos de “CRC” em Ethernet Códigos de Redundância Cíclica (Cyclic Redundancy Codes): EXEMPLO CRC ETHERNET CAMADA DE ENLACE
Detecção de Erros Métodos de “CRC” em Ethernet Códigos de Redundância Cíclica (Cyclic Redundancy Codes): EXEMPLO CRC ETHERNET CAMADA DE ENLACE
Detecção de Erros Métodos de “CRC” em Ethernet Códigos de Redundância Cíclica (Cyclic Redundancy Codes): EXEMPLO CRC ETHERNET 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 Enlace Receptor CAMADA DE ENLACE
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 Enlace Receptor 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 Enlace Receptor X (erro) Liga timer Detectado erro. Quadro ignorado Estoura timer Religa timer Desliga timer CAMADA DE ENLACE
X (erro) CAMADA DE ENLACE Protocolo Simplex para um Canal com Ruído (II) Transmissor Enlace Receptor Liga timer Estoura timer DUPLICATA! Religa timer Números de Seqüência Desliga timer SOLUÇÃO: 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ã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
Inicialmente Após a tx do 1o. quadro Após a rx do 1o. quadro Após a rx do 1o. Reconhe- cimento CAMADA DE ENLACE Protocolos de Janela Deslizante tamanho 1 CAMADA DE ENLACE
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