A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Ricardo Luís Lachi

Apresentações semelhantes


Apresentação em tema: "Prof. Ricardo Luís Lachi"— Transcrição da apresentação:

1 Prof. Ricardo Luís Lachi
Redes de Computadores Prof. Ricardo Luís Lachi

2 Camada de Enlace – objetivos da aula de hoje
Detecção e Correção de Erros Tipos de erros Detecção de erros Correção de erros

3 Camada de Enlace Importância do tratamento de erros:
Se ocorre um erro de 0,1s em uma transmissão de 10 Mbps, isso implica que 1 Megabit de dados são afetados. Como evitar erros? Impossível! Nosso objetivo é detectá-los e tratá-los.

4 Camada de Enlace – Tipos de erros
Erros simples Corresponde a um erro isolado Rajada de erros Quando uma sequência de bits é corrompida. Se em uma transmissão de uma seqüência de 8bits e um deles chega corrompido, como descobrir?

5 Camada de Enlace – Detecção de erros
Para um quadro com F bits, a probabilidade de que não sofra erros é: PF = (1 – Pb)F Pb = probabilidade de um erro de bit simples (ou taxa de erro de bit Métodos de detecção: Teste de paridade Teste de redundância cíclica (CRC) Checksum Ex: para um quadro de 1500 bytes, e um meio de transmissão com taxa de erro de bit de 10-6, qual a probabilidade de um quadro não sofrer erros ? P12000= (1 – 10-6)12000= 0,9881

6 Camada de Enlace – Detecção de erros
Teste de paridade unidimensional Suponha que se deseja enviar a a seguinte sequência de bits: O emissor da sequência de bits, irá contar quantos “1s” têm na sequência de bits a ser enviada, no caso, são três “1s”: Se essa quantidade for ímpar, então é adicionado um bit “1” a mais na sequência de bits a ser enviada. Se essa quantidade for par, então é adicionado um bit “0” a mais na sequência de bits a ser enviada. .

7 Camada de Enlace – Detecção de erros
No caso do exemplo seria enviada a sequência : Bit em vermelho é o bit de paridade (conta-se a quantidade de “1s”, calcula-se o resto da divisão dessa quantidade por 2 e obtém-se o bit de paridade) Daí o nome: bit de paridade, pois o bit é incluso para garantir uma quantidade par de “1s”. Teste da paridade: ao receber a sequência de bits, o receptor conta o número de “1s” e testa essa quantidade com o valor do bit de paridade passado na sequência de bits

8 Camada de Enlace – Detecção de erros
Problemas do teste de paridade unidimensional: Detecta erros nos casos em que uma quantidade ímpar de bits é alterada. Mas se for alterada uma quantidade par de bits, ele não é capaz de detectar o erro. Explique! Não permite identificar/corrigir o(s) bit(s) que foram alterados. Memórias que suportam ECC (Error Correction Code) têm bits extras para paridade e correção de erros

9 Camada de Enlace – Detecção de erros
Teste de paridade bidimensional: VRC – Vertical Redundancy Check LRC – Longitudinal Redundancy Check

10 Camada de Enlace – Detecção de erros
Teste de paridade bidimensional: Permite não só a detecção de um erro mas a correção de até 1 bit errado

11 Camada de Enlace – Detecção de erros
Teste de paridade bidimensional: Detecta erros duplos, mas não é possível identificar quais os bits com problemas. 1 1

12 Camada de Enlace – Detecção de erros
Teste de paridade bidimensional: Detecta erros de rajada de até n bits, onde n é o número de bits de uma linha. 1 1 1 1

13 Camada de Enlace – Detecção de erros
De acordo com Tenenbaum (2003, p ): Em canais altamente confiáveis, como os de fibra, é mais econômico utilizar um código de detecção de erros e simplesmente retransmitir o bloco defeituoso ocasional. Porém em canais com enlaces sem fio que geram muitos erros, é melhor adicionar a cada bloco redundância suficiente para que o receptor seja capaz de descobrir qual era o bloco original, em vez de confiar em uma retransmissão, que pode ela própria conter erros.

14 Camada de Enlace – Detecção e correção de erros
Método do Checksum: “soma de verificação”. O conceito é simples: Quando estivermos transmitindo uma informação de um lado para o outro, vamos mantendo uma "soma" de todos os bytes que estamos enviando, e no final enviamos a "soma de verificação" para que o sistema de destino possa verificar se esse valor bate certo com o que ele próprio calculou.

15 Camada de Enlace – Detecção e correção de erros
Exemplo aplicação método checksum: Transmitir os bytes: e Soma desses bytes: (checksum) (checksum invertido) Bytes transmitidos:

16 Camada de Enlace – Detecção e correção de erros
Exemplo aplicação método checksum: Receptor soma novamente os bytes recebidos: (novo checksum calculado pelo receptor) O receptor soma (XOR) o novo checksum que ele próprio gerou com o checksum recebido: (checksum recebido pelo transmissor) (novo checksum gerado pelo receptor) se valor recebido for igual a 1, então bytes foram transmitidos sem erro

17 Camada de Enlace – Detecção e correção de erros
Não garante que não houve erros na transmissão, pois se os bits a serem somados de uma mesma coluna tiverem sido transmitidos errados, o checksum não detectará esse fato! Tentar gerar um checksum que minimize a possibilidade de alterações de bits não serem detectadas. Algoritmo MD5

18 Camada de Enlace – Detecção e correção de erros
Algoritmo MD5 (RFC 1321) Muito utilizado para garantir integridade de arquivos baixados da Internet. Função md5sum: computa e checa checksum gerado via algoritmo MD5. A probabilidade de 2 mensagens distintar gerarem o mesmo checksum por meio do MD5 é da ordem de 264.

19 Camada de Enlace – Detecção e correção de erros
Método CRC (Cyclic Redundancy Check): Verificação de redundância cíclica Código de detecção de erros mais poderoso Enxerga os bits de dados, D, como um número binário Escolhe padrão de r+1 bits (denominado de gerador), G Objetivo: escolher r bits de CRC, R, tal que: <D,R> exatamente divisível por G (módulo 2) Receptor sabe G, divide <D,R> por G. Se resto diferente de zero: erro detectado!

20 Camada de Enlace – Detecção e correção de erros
Vamos detalhar a definição formal do método CRC: Emissor/receptor concordam em usar um polinômio gerador G(x), em que quanto maior for o seu grau maior será a capacidade de detecção de erros. Neste polinômio tanto o bit de maior ordem quanto o de menor ordem devem ser iguais a 1. O padrão inicial de n bits é representado por G(x) de ordem n - 1 padrão = G(x) = x7 + x5 + x4 + 1

21 Camada de Enlace – Detecção e correção de erros
Exemplo: Mensagem a transmitir: Polinômio gerador G(X) = x4 + x + 1 = 10011 Acrescenta-se à mensagem inicial, a quantidade de zeros equivalentes ao grau de G(x), ficando: Seguidamente divide-se a mensagem pelo polinômio gerador A divisão de dois polinômios (na sua forma binária) é feita recorrendo à operação XOR

22 Camada de Enlace – Detecção e correção de erros
→ Resto da Divisão (R) O resto que da divisão é finalmente adicionado à mensagem original, pelo que a mensagem transmitida será:

23 Camada de Enlace – Detecção e correção de erros
Para descodificar a mensagem, o procedimento deve ser repetido. → 1 bit transmitido errado → ≠ 0, logo a mensagem foi recebida com erro

24 Camada de Enlace – Detecção e correção de erros
Para descodificar a mensagem, o procedimento deve ser repetido. → 1 bit transmitido errado → ≠ 0, logo a mensagem foi recebida com erro

25 Camada de Enlace – Detecção e correção de erros
Alguns valores padrão de CRC: CRC-8: x8 + x7 + x6 + x4+ x2 + 1 CRC-16: x16 + x12 + x5 + 1 CRC-32: x32+ x26 +x23+ x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4+ x2 + 1 CRC é a técnica de detecção de erro usada pela maioria dos protocolos Ethernet e WiFi: CRC-32

26 Camada de Enlace – Detecção e correção de erros
Calcule o valor R de CRC-8 para a mensagem M:

27 Camada de Enlace – Detecção e correção de erros
Próxima aula: Apresentação de trabalho individual; Códigos de Hamming; Valor: acréscimo de até 1,0 ponto na nota da prova P1. Diretrizes: Apresentação no Powerpoint; Critérios de avaliação: Organização dos slides, Conteúdo e conhecimento do assunto. Entre 30 e 40 minutos.

28 Fazer as listas de exercícios: mãos à obra!


Carregar ppt "Prof. Ricardo Luís Lachi"

Apresentações semelhantes


Anúncios Google