CAMADA DE ENLACE DE DADOS A camada de enlace de dados executa diversas funções específicas. Dentre elas estão as seguintes: Fornecer uma interface de serviço bem definida à camada de rede; Lidar com erros de transmissão; Regular o fluxo de dados.
CAMADA DE ENLACE DE DADOS A camada de enlace de dados pode ser projetada de modo a oferecer diversos serviços, que podem variar de sistema para sistemas. Três serviços razoáveis são oferecidos com frequência: Serviço sem conexão e sem confirmação; Serviço sem conexão com confirmação; Serviço orientado a conexão com confirmação.
CAMADA DE ENLACE DE DADOS Serviços oferecidos à camada de rede: Enquadramento Contagem de caracteres Bytes de Flags, com inserção de bytes Flags iniciais e finais, com inserção de bits. Controle de Fluxo Controle de Erros
CAMADA DE ENLACE DE DADOS Preenchimento (Transmissor) • Utilizado para remover a bandeira a partir dos dados. • Um 0 é inserido após cinco 1’s consecutivos no quadro. • Porque é necessário inserir 0 em 0111110? – Se não inserirmos, então: 0111110111 -> 0111110111 011111111 -> 0111110111 – Como é possível diferenciar no receptor? Retirando o preenchimento. (DESTUFFING ) (Receptor) • Se 0 é precedido por 011111 no fluxo de bits então é removido. • Se 0 é precedido por 0111111, então é o bit final da bandeira. Exemplo: Bits a serem removidos estão sublinhados abaixo.
Códigos detectores de erro
Códigos detectores de erro CRC detecção de erros em rajadas, erros simples baseia-se em tratar os bits de uma mensagem como coeficientes binários de um polinômio variável x qualquer 1 0 1 0 0 0 1 1 0 1 mensagem x9+x7+x3+x2+x0 1 1 0 1 0 1 polinômio gerador x5+x4+x2+x0
Códigos detectores de erro Cyclic Redundancy Checking O CRC, ou método de detecção polinomial, é um processo de checagem de erros mais sofisticado e utilizado que o método da paridade combinada, permitindo que se detecte praticamente a ocorrência de qualquer grupo de erros. Na transmisssão, os dados de informação a serem transmitidos são transformados em um polinômio D(x), em função dos “0”s e “1”s. O polinômio D(x) é multiplicado pelo termo de maior grau de um polinômio gerador G(x). O resultado desta multiplicação será um novo polinômio D”(x) que será dividido pelo polinômio gerador G(x). O resto desta divisão R(x) será enviado ao término da transmissão de D(x). Esse resto é chamado de FCS.
Códigos detectores de erro Cyclic Redundancy Checking Na recepção, os dadosrecebidos serão divididos pelo mesmo polinômio gerador G(x). Se o restodests divisão for igual a zero, significa que não houve erros na transmissão; caso contrário, foi detectado erro na transmissão, sendo necessário a retransmissão da informação enviada anteriormente As divisões polinomiais são realizadas desconsideranso a existência de sinal(divisão módulo 2). A aplicação do CRC é feita através de circuito elétrico implementado a partir do algoritmo matemático, dispondo, em particular para os polinômios geradores padronizados. Ex: CRC-12 ( x12+x11+x3+x2+x+1) CRC-16 (x16 + x15 +x2 +1)
Códigos detectores de erro 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 mensagem 0 0 0 0 0 1 1 0 1 0 1 polinômio 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 1 1 0 resto mensagem a ser enviada
Códigos detectores de erro 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 mensagem recebida 0 1 1 1 0 polinômio 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 resto mensagem recebida está OK Situação 1
Códigos detectores de erro 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 0 mensagem recebida 1 0 1 1 0 1 1 0 1 0 1 polinômio 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 resto mensagem recebida está com ERRO Situação 2