+ All Categories
Home > Documents > Capítulo 10 detecção e correção de erros

Capítulo 10 detecção e correção de erros

Date post: 28-Jun-2015
Category:
Upload: faculdade-mater-christi
View: 5,698 times
Download: 1 times
Share this document with a friend
Popular Tags:
69
10.1 Capítulo 10 Detecção e Correção de erros Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Transcript
Page 1: Capítulo 10   detecção e correção de erros

10.1

Capítulo 10

Detecção e Correção de erros

Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Page 2: Capítulo 10   detecção e correção de erros

10.2

Os dados podem ser corrompidos

durante uma transmissão.

Algumas aplicações exigem que os

erros sejam dectados e corrigidos.

Note

Page 3: Capítulo 10   detecção e correção de erros

10.3

10-1 Introdução

Iremos discutir, inicialmente, as questões

relacionadas, direta ou indiretamente, à detecção e à

correção de erros.

Tipos de Erros

Redundância

Detecção versus Correção

Correção Antecipada de Erros versus Retransmissão

Códigos de Erros

Aritmética Modular (Não será vista)

Topicos discutidos nesta seção:

Page 4: Capítulo 10   detecção e correção de erros

10.4

10-1 Tipos de Erros

• Toda vez que uma cadeia de bits flui de um ponto a outro de uma rede de

computadores, eles estão sujeitos a alterações imprevisíveis por causa das

interferências.

• Essas interferências podem modificar as características do sinal.

• Em um erro de bit, um 0 passa a ser 1 e um 1 passa a ser 0.

• Em um erro em rajada, vários bits são corrompidos.

• Por exemplo, uma rajada de 1/100 s de ruídos impulsivos em uma

transmissão com taxa de dados de 1.200bps poderia alterar todos os 12

bits de informação ou parte deles.

Page 5: Capítulo 10   detecção e correção de erros

10.5

10-1 Tipos de Erros (Erro de Bit)

• O termo erro de bit significa dizer que apenas 1 bit de determinada unidade de

dados (por exemplo, um byte, caractere ou pacote) foi alterado de 1 para 0 ou de 0

para 1.

• A próxima figura mostra efeito do erro de bit sobre uma unidade de dados, para

compreender o impacto desse problema, imagine que cada grupo de 8 bits seja

caractere ASCII com um bit 0 adicionado à esquerda.

• Na figura 10.1, o caractere 00000010 (ASCII STX) foi enviado, significando

início do texto (start of text), mas foi recebido 00001010 (ASCII LF), significando

avanço de linha (line feed).

• Os erros de bit são do tipo de erro de menor probabilidade de ocorrência em uma

transmissão de dados serial, imagine que dados são enviados a 1Mbps. Isso

significa que a duração de cada bit é de apenas 1/1.000.00 s, ou seja, 1 µs, o que é

muito raro na prática; normalmente os ruídos duram muito mais que isso.

Page 6: Capítulo 10   detecção e correção de erros

10.6

Figure 10.1 Single-bit error

Page 7: Capítulo 10   detecção e correção de erros

10.7

10-1 Tipos de Erros (Erro em Rajada)

• O termo erro de rajada significa dizer que 2 ou mais bits na unidade de dados

foram corrompidos.

• A figura 10.2 ilustra o efeitos de um erro em rajada sobre uma unidade de dados,

observe que um erro em rajada não significa, necessáriamente, que os erros

ocorrem em bits consecutivos. O comprimento da rajada é medido do primeiro bit

corrompido até último. Pode ser que alguns bits entre eles não tenham sido

corrompidos.

Page 8: Capítulo 10   detecção e correção de erros

10.8

10-1 Redundância

• O conceito mais importante na detecção e correção de erros é

a redundância.

• Para sermos capazes de detectar ou ccorrigir erros,

precisamos enviar alguns bits extras redundantes junto com

os dados.

• Esses bits redundantes são acrescentados pelo emissor e

posteriomente retirados pelo receptor.

• Sua presença possibilita que o receptor detecte ou corrija bits

corrompidos.

Page 9: Capítulo 10   detecção e correção de erros

10.9

10-1 Detecção versus Correção

• Corrigir erros em uma transmissão de dados é muito mais difícil que a detecção.

• Na detecção de erros, estamos apenas verificando se ocorreu algum erro. A

responta é simples sim ou não.

• Na correção de erros, precisamos saber o número exato de bits que foram

corrompidos e, mas importante, sua localização na mensagem.

• O número de erros e o tamanho da mensagem são fatores essenciais.

• Se precisamos corrigir um único erro em uma unidade de dados de 8 bits,

podemos considerar oito localizações possíveis de erro.

• Se precisarmos corrigir dois erros em uma unidade de dados de mesmo tamanho,

teremos de considerar 28 possibilidades. Pode-se imaginar a dificuldade do

receptor para corrigir dez erros em uma unidade de dados de 1.000 bits?

Page 10: Capítulo 10   detecção e correção de erros

10.10

10-1 Correção antecipada de Erros versus

Retransmissão

• Existem dois métodos principais de correção de erros;

• Na correção antecipada de erros (FEC - Forward Error

Correction), o receptor tenta adivinhar a mensagem pelo uso

de bits redundantes;

• Na correção de erros por retransmissão o receptor detecta a

ocorrência de um erro e solicita ao emissor para reenviar a

mensagem. O reenvio é repetido até mensagem chegar no

receptor livre de erros.

Page 11: Capítulo 10   detecção e correção de erros

10.11

10-1 Código de Erros

• A redundância pode ser implementada por meio de vários

métodos de codificação.

• O emissor adiciona bits redundantes por meio de um processo

que crie uma relação entre os bits redundantes e os bits de dados

reais.

• O receptor verifica essas relações entre os dois conjuntos de bits

para detectar ou corrigir os erros. A razão entre os bits

redundantes e os bits reais, bem como a eficiência do processo,

são fatores determinantes em qualquer esquema de codificação.

• Podemos dividir os códigos de erros em duas categorias amplas:

códigos de blocos e códigos convolucionais.

Page 12: Capítulo 10   detecção e correção de erros

10.12

Figure 10.3 The structure of encoder and decoder

Page 13: Capítulo 10   detecção e correção de erros

10.13

10-1 Aritmédica Modular

• Módulo Aritmédico 2.

Operação XOR em dois bits simples e em duas palavras

Ou exclusivo chamada também disjunção exclusiva, conhecido geralmente por

XOR ou por EOR (também XOU ou EOU), é uma operação lógica em dois

operandos que resulta em um valor lógico verdadeiro se e somente se

exactamente um dos operandos tem um valor verdadeiro.

Page 14: Capítulo 10   detecção e correção de erros

10.14

10-2 Códigos de Blocos

Na codificação de bloco, dividimos a nossa mensagem

em blocos, cada um dos k bits, chamado datawords.

Nós adicionar bits R redundantes para cada bloco

para tornar o comprimento n = k + r. O resultado n

bits blocos são chamados palavras-código.

Detecção de Erros

Correção de Erros

Distância de Hamming

Minimum Hamming Distance

Topics discussed in this section:

Page 15: Capítulo 10   detecção e correção de erros

10.15

Figure 10.5 Palavras de dados e palavras de código no código de blocos

Page 16: Capítulo 10   detecção e correção de erros

10.16

10-2 Códigos de Blocos

A codificação de blocos 4B/5B discutidos no

capítulo 4 é um bom exemplo de codificação. Na

codificação 4B/5B, k=4 e n=5.

Conforme vimos, temos 2k = 16 palavras de dados e

2n = 32 palavras de código. Vimos que 16 das 32

palavras de códigos são usadas para a transmissão de

mensagens e o restante, para outros fins ou então não

são usadas.

Exemplo 10.1

Page 17: Capítulo 10   detecção e correção de erros

10.17

10-2 Códigos de Blocos

Como os erros podem ser detectados usando-se os

códigos de blocos?

Se as duas condições a seguir forem atendidas, o

receptor poderá detectar uma mudança na palavra de

código original.

1. O receptor tem (ou pode encontrar) uma lista

de palavras de código válida.

2. A palavra de código original mudou para uma

palavra inválida.

Detecção de Erros

Page 18: Capítulo 10   detecção e correção de erros

10.18

Figure 10.6 Processo de detecção de erros na codificação de blocos

Page 19: Capítulo 10   detecção e correção de erros

10.19

Vamos supor que k = 2 e n = 3. Tabela 10.1 mostra a lista

de datawords e palavras-código.

Exemplo 10.2

Table 10.1 Exemplo de codificação para detecção de erros (Exemplo 10.2)

Page 20: Capítulo 10   detecção e correção de erros

10.20

Suponha que o remetente codifica os 01 dataword como 011 e a

envie para o receptor. Considere os seguintes casos:

1.O receptor recebe 011. É uma palavra de código válida. O receptor

extrai então dataword 01 a partir dele;

2. A palavra de código é corrompida durante a transmissão, e é

recebido como 111 (o bit mais esquerda foi corrompido). Esta não é

uma palavra de código válido, portanto a palavra de dados será

descartada;

3. A palavra de código é corrompida durante a transmissão e 000 é

recebido. Esta é uma palavra de código válida. O receptor

incorretamente extrai dataword 00. Os dois bits corrompidos

tornaram o erro indetectável.

Example 10.2 (continued)

Page 21: Capítulo 10   detecção e correção de erros

10.21

Um código de detecção de erros é capaz

de detectar apenas os tipos de erros

para os quais ele foi projetado; outros

tipos de erros podem permanecer

indetectáveis.

Note

Page 22: Capítulo 10   detecção e correção de erros

10.22

10-2 Códigos de Blocos

A correção de erros é muito mais fácil que a detecção de

erros;

Na detecção de erros, o receptor precisa saber apenas se a

palavra de código recebida é correta ou inválida;

Na correção de erros, o receptor precisa encontrar (ou

adivinhar) a palavra de código que foi originalmente

transmitida;

Podemos dizer que precisamos de mais bits redundantes para

a correção de erros que para detecção de erros.

Correção de Erros

Page 23: Capítulo 10   detecção e correção de erros

10.23

Figure 10.7 Structure of encoder and decoder in error correction

Page 24: Capítulo 10   detecção e correção de erros

10.24

Acrescentamos mais bits redundantes ao Exemplo 10.2 para ver se o

receptor pode corrigir um erro sem saber o que foi realmente

enviada. Adicionamos 3 bits redundantes para a dataword 2 bit para

fazer palavras-código 5 bit. Tabela 10.2 mostra os datawords e

palavras-código.

Supondo que o dataword é 01. O remetente cria a palavra-código

01011. A palavra de código é corrompida durante a transmissão, e

01001 é recebido.

• Primeiro, o receptor verifica que a palavra de código

recebida não está na tabela.

• Isto significa que ocorreu um erro. (A detecção deve vir

antes da correção)

• O receptor, assumindo que existe apenas 1 bit corrompido,

usa a seguinte estratégia para adivinhar a dataword correta.

Example 10.3

Page 25: Capítulo 10   detecção e correção de erros

10.25

Table 10.2 A code for error correction (Example 10.3)

Page 26: Capítulo 10   detecção e correção de erros

10.26

1.Comparando a palavra de código recebida com a primeira palavra

de código da tabela (01001 contra 00000), o receptor decide que a

palavra de código primeiro não é aquela que foi enviado, pois

existem dois bits diferentes.

2. Seguindo o mesmo raciocínio, a palavra de código original não

pode ser o terceiro ou quarto na tabela.

3. A palavra de código original deve ser a segunda da tabela, porque

esta é a única que difere da palavra de código recebida em um bit. O

receptor substitui 01001 por 01011 e consulta a tabela para encontrar

a dataword 01.

Exemplo 10.3 (continuação)

Page 27: Capítulo 10   detecção e correção de erros

10.27

10-2 Códigos de Blocos

Um dos mais importantes conceitos associados à codificação para

controle de erros é a idéia da distância de Hamming.

A distância de Hamming entre duas palavras do mesmo tamanho é o

número de diferenças entre os bits alinhados correspondentes.

A distância de Hamming entre duas palavras x e y será descrita como

d(x,y).

A distância de Hamming pode ser facilmente encontrada se aplicarmos

a operação XOR entre duas palavras e contarmos o número de 1s

resultado.

Note que a distância de Hamming é um valor maior que zero.

Distância de Hamming

Page 28: Capítulo 10   detecção e correção de erros

10.28

Encontremos a distância de Hamming entre dois pares de

palavras.

1. A distânica de Hamming d(000, 011) é 2 porque

Exemplo 10.4

2. A distânica de Hamming d(10101, 11110) é 3 porque

Page 29: Capítulo 10   detecção e correção de erros

Técnicas de Detecção de Erros

Redes de Computadores e Comunicação de Dados - Tradução da 6ª Edição Norte-Americana

CURT M. WHITE - Editora Cengage Learning

Prof. Rodrigo Ronner

Capítulo 6

Page 30: Capítulo 10   detecção e correção de erros

30

Prevenção de Erros

Para evitar que erros aconteçam, várias técnicas podem ser aplicadas:

Blindagem adequada de cabos para reduzir interferência;

Condicionamento de linha telefônica ou equalização;

Substituição de meios antigos e equipamentos com componentes novos, possivelmente digitais;

O uso adequado de repetidores digitais e amplificadores analógicos para aumentar intensidade do sinal, reduzindo, assim, a probabilidades de erros.

Observe as capacidades indicadas de cada meio.

Page 31: Capítulo 10   detecção e correção de erros

31

Detecção de Erros

Apesar das melhores técnicas de prevenção, os erros ainda podem acontecer;

Para detectar um erro, algo extra tem de ser adicionado aos dados/sinal;

Este extra é um código de detecção de erro;

Duas técnicas básicas para a detecção de erros: verificação de paridade, e soma de verificação de

redundância cíclica (cyclic redundancy checksum).

Page 32: Capítulo 10   detecção e correção de erros

32

Verificação de Paridade

Paridade Simples Com paridade par, o 0 ou 1 adicionado à cadeia

resulta em um número par de “1s” binários.

Com paridade ímpar, o 0 ou 1 adicionado à cadeia resulta em um número ímpar de “1s” binários.

Por exemplo, enviando 1101011 usando paridade par, seria igual 11010111. Agora, há um número par de (6) de “1s”.

Por exemplo, enviando 1101011 usando paridade ímpar, seria igual 11010110.

Page 33: Capítulo 10   detecção e correção de erros

33

Verificação de Paridade (Continuação)

Paridade Simples

O que acontece se utilizando paridade par e fossem enviado caractere 11010111 e os dois primeiros 1s acidentalmente, fossem dois 0s?

Assim, o carácter seguinte é recebido : 00010111 Será que vai haver um erro de paridade?

Problema: a paridade simples detecta apenas os números ímpares de bits em erro

Page 34: Capítulo 10   detecção e correção de erros

34

Paridade longitudinal

Adiciona um bit de paridade para cada caractere, em seguida, adiciona uma linha de bits de paridade após um bloco de caracteres;

A linha de bits de paridade é realmente um bit de paridade para cada "coluna" de caracteres;

A fila de bits de paridade, mais os bits de paridade de coluna adicionar uma grande quantidade de redundância para um bloco de caracteres.

Verificação de Paridade (Continuação)

Page 35: Capítulo 10   detecção e correção de erros

35

Verificação de Paridade (Continuação)

Page 36: Capítulo 10   detecção e correção de erros

36

Verificação de Paridade (Continuação)

Page 37: Capítulo 10   detecção e correção de erros

37

Tanto a paridade simples e paridade longitudinal não pega todos os erros;

Paridade simples só pega os números ímpares de erros de bits;

Paridade longitudinal é melhor na captura de erros, mas requer bits de verificação de muitas adicionados a um bloco de dados;

Precisamos de um método melhor detecção de erros E quanto a soma aritmética?

Verificação de Paridade (Continuação)

Page 38: Capítulo 10   detecção e correção de erros

38

Checksum aritmético

Usado em TCP e IP na Internet;

Caracteres a serem transmitidos são convertidos para a forma numérica e somados;

Soma é colocado em alguma forma, no final da transmissão.

Page 39: Capítulo 10   detecção e correção de erros

39

Receptor executa a conversão mesmo e somando e compara com nova soma soma enviado;

TCP e IP processos um pouco mais complexo,mas idéia é a mesma;

Mas, mesmo soma aritmética pode deixar escapar por entre os erros.

Existe algo mais poderoso ainda?

Checksum aritmético

Page 40: Capítulo 10   detecção e correção de erros

40

Checksum de redundância cíclica CRC método de detecção de erro trata o

pacote de dados a serem transmitidos como um polinómio grande;

Transmissor leva o polinômio mensagem e usando a aritmética polinomial, divide-o por um polinômio gerador dado;

Quociente é descartada, mas o restante é "ligado" para o fim da mensagem.

Page 41: Capítulo 10   detecção e correção de erros

41

A mensagem (com o restante) é transmitida para o receptor;

O receptor divide a mensagem eo resto pelo polinômio gerador mesmo;

Se um resto não é igual a zero resultados, houve um erro durante a transmissão;

Se um resto de zero resultados, não houve erro durante a transmissão.

Checksum de redundância cíclica

Page 42: Capítulo 10   detecção e correção de erros

43

Controle de erros

Uma vez detectado um erro no fluxo de dados recebido, o que o receptor deve fazer?

Não fazer nada(simplesmente enviar o frame ou pacote);

Retornar uma mensagem ao transmissor solicitando reenvio do pacote de dados com erro;

Corrigir o erro sem retransmissão.

Page 43: Capítulo 10   detecção e correção de erros

44

Não Fazer Nada

Parece uma maneira estranha para controlar erros, mas alguns protocolos de camada inferior, como frame relay realizar esse tipo de controle de erro;

Por exemplo, se o frame relay detecta um erro, ele simplesmente descarta o frame;

Nenhuma mensagem é retornada; Frame relay assume que outro protocolo

(como TCP / IP) irá detectar erro no frame e pedir retransmissão

Page 44: Capítulo 10   detecção e correção de erros

45

Retornar uma mensagem

Uma vez que é detectado um erro, uma mensagem de erro é retornado para o transmissor

Existem duas formas básicas:

Stop-and-wait error control

Sliding window error control (Janela Deslizante)

Page 45: Capítulo 10   detecção e correção de erros

46

Stop-and-Wait Error Control

Stop-and-wait é o mais simples dos protocolos de controle de erro;

Um transmissor envia um frame, em seguida, para e espera por uma confirmação

Se uma confirmação positiva acknowledgment (ACK) e recebido, o próximo frame é enviado;

se um confirmação negativa acknowledgment (NAK) e recebida, o mesmo frame é transmitido novamente.

Page 46: Capítulo 10   detecção e correção de erros

47

Stop-and-Wait Error Control (Continuação)

Page 47: Capítulo 10   detecção e correção de erros

48

Controle de erros de janela deslizante

Estas técnicas assumir que vários quadros estão em transmissão de uma só vez;

Um protocolo de janela deslizante permite que o transmissor para enviar um certo número de pacotes de dados de uma só vez antes de receber quaisquer reconhecimentos;

Depende do tamanho da janela;

Quando um receptor não acusar a recepção, o ACK retornado contém o número do quadro esperado seguinte.

Page 48: Capítulo 10   detecção e correção de erros

49

Controle de erros de janela deslizante

Page 49: Capítulo 10   detecção e correção de erros

50

Mais velhos protocolos de janela deslizante numeradas cada quadro ou pacote que foi transmitido;

Mais moderno janela deslizante número protocolos cada byte dentro de um quadro;

Um exemplo em que os pacotes são numerados, seguido por um exemplo em que os bytes são numerados:

Controle de erros de janela deslizante

Page 50: Capítulo 10   detecção e correção de erros

51

Controle de erros de janela deslizante

Page 51: Capítulo 10   detecção e correção de erros

52

Controle de erros de janela deslizante

Page 52: Capítulo 10   detecção e correção de erros

53

Observe que um ACK não é sempre enviado após cada frame é recebido

É mais eficiente que esperar por alguns quadros recebidos antes de retornar um ACK

Quanto tempo você deve esperar até você voltar um ACK?

Controle de erros de janela deslizante

Page 53: Capítulo 10   detecção e correção de erros

54

Usando TCP/IP, existem algumas regras básicas sobre ACKs:

Regra 1: Se um receptor acabou de receber alguns dados e deseja

enviar dados de volta ao emissor, o receptor deve incluir ACK com dados que está para enviar. Isso de chama piggybacking e poupa o receptor de enviar uma mensagem separada de ACK. (Figura 6-12);

Regra 2: Se um receptor não estiver com dados para retornar ao emissor e tiver acabado de confirmar o recebimento do pacote enviado anteriormente, o receptor aguarda 500 ms para que outro pacote chegue. Porém, se um segundo pacote chegue antes do final dos 500ms, o receptor deve enviar imediatamente um ACK;

Regra 3: Se um receptor estiver esperando a chegada de um segundo pacote e os 500ms acabem, ele encerra a espera por esse segundo pacote e emite imediatamente um ACK.

Controle de erros de janela deslizante

Page 54: Capítulo 10   detecção e correção de erros

55

Controle de erros de janela deslizante

Page 55: Capítulo 10   detecção e correção de erros

56

O que acontece se o pacote for perdido?

Como mostrado no slide seguinte, se um frame é perdido, o quadro seguinte será "fora de sequência“

O receptor manterá a sequência de bytes em um buffer e pedir ao remetente para retransmitir o quadro faltando.

Controle de erros de janela deslizante

Page 56: Capítulo 10   detecção e correção de erros

57

Controle de erros de janela deslizante

Page 57: Capítulo 10   detecção e correção de erros

58

O que acontece quando um ACK é perdido?

Como mostrado no slide seguinte, se um ACK é perdido, o remetente vai esperar o ACK chegar e, eventualmente, tempo limite.

Quando o tempo limite ocorre, o remetente reenvia o último quadro.

Controle de erros de janela deslizante

Page 58: Capítulo 10   detecção e correção de erros

59

Controle de erros de janela deslizante

Page 59: Capítulo 10   detecção e correção de erros

60

Correção de Erros

Para um receptor corrigir erros sem ajuda, ainda mais a partir do transmissor, requer uma grande quantidade de informação redundante para acompanhar os dados originais;

Esta informação redundante permite que o receptor determine o erro e efetue as correções.

Este tipo de controle de erro é muitas vezes chamado de correção antecipada de erro e envolve códigos chamados códigos de Hamming.

Page 60: Capítulo 10   detecção e correção de erros

61

Correção de Erros (continuação) Adicionar códigos de Hamming bits de verificação

adicionais a um caractere. Estes bits de verificação executar verificações de paridade em

várias partes.

Exemplo: Pode-se criar um código de Hamming no qual 4 bits de verificação são adicionados a um caractere de 8 bits.

Podemos enumerar os bits de verificação c8, c4, c2 and c1

Vamos numerar os bits de dados b12, b11, b10, b9, b7, b6, b5, and b3

Colocar os bits na seguinte ordem: b12, b11, b10, b9, c8, b7, b6, b5, c4, b3, c2, c1

Page 61: Capítulo 10   detecção e correção de erros

62

Exemplo (continued):

c8 irá executar uma verificação de paridade em bits b12, b11, b10, and b9

c4 irá executar uma verificação de paridade em bits b12, b7, b6 and b5

c2 irá executar uma verificação de paridade em bits b11, b10, b7, b6 and b3

c1 irá executar uma verificação de paridade em bits b11, b9, b7, b5, and b3

Correção de Erros (continuação)

Page 62: Capítulo 10   detecção e correção de erros

63

Correção de Erros (continuação)

Page 63: Capítulo 10   detecção e correção de erros

64

O remetente levará o caractere de 8 bits e gerará os 4 bits de verificação, como descrito Os 4 bits de verificação são então adicionados

para os 8 bits de dados na sequência imediata e depois transmitida

O receptor irá executar as verificações de 4 paridade usando os 4 bits de verificação Se nenhum bit foi alterado durante a

transmissão, então não deve haver nenhum erro de paridade.

O que acontece se um dos bits seja alterado durante a transmissão?

Correção de Erros (continuação)

Page 64: Capítulo 10   detecção e correção de erros

65

Por exemplo, se o bit b9 for corrompido?

O bit c8 checa os bits b12, b11, b10, b9 and c8 (01000)

Podemos perceber que houve um erro de paridade.

O bit c4 checa os bits b12, b7, b6, b5 and c4 (00101)

Isso não causaria um erro de paridade (mesmo número de 1s)

O bit c2 checa os bits b11, b10, b7, b6, b3 and c2 (100111)

Isso não causaria um erro de paridade.

Correção de Erros (continuação)

Page 65: Capítulo 10   detecção e correção de erros

66

Correção de Erros (continuação)

Por exemplo, se o bit b9 for corrompido?

O bit c1 checa os b11, b9, b7, b5, b3 and c1 (100011)

Isso não causaria um erro de paridade.

Escrever os erros de paridade em sequência nos dá 1001, que é o valor binário para 9.

Assim, o erro de bit ocorreu na posição 9.

Page 66: Capítulo 10   detecção e correção de erros

67

Detecção de erro em ação

Asynchronous transfer mode (ATM) incorpora muitos tipos de detecção de erro e controle de erro;

ATM insere um CRC para o quadro de dados, que verifica apenas o cabeçalho e não os dados; Este CRC também é poderoso o suficiente para

realizar a correção de erros simples no cabeçalho

Uma segunda camada de ATM se aplica uma CRC para os dados, com graus variáveis de controlo de erro.

Page 67: Capítulo 10   detecção e correção de erros

68

Resumo

Ruído está sempre presente em redes de computadores, e se o nível de ruído é demasiado elevado, os erros serão introduzido durante a transmissão dos dados.

Entre as técnicas para reduzir o ruído são próprias da blindagem de cabos, o condicionamento de linha telefônica ou equalização, usando equipamentos digitais modernos, usando repetidores digitais e amplificadores analógicos, e observando as capacidades indicadas da mídia.

Page 68: Capítulo 10   detecção e correção de erros

69

Resumo (continuação)

Três formas básicas de detecção de erro são paridade, checksum aritmética e soma de verificação de redundância cíclica;

Verificação de redundância cíclica é um esquema de detecção de erros superior com quase 100 por cento a capacidade de reconhecer os pacotes de dados corrompidos;

Uma vez que um erro foi detectado, há três opções possíveis: não fazer nada, retornar uma mensagem de erro e corrigir o erro

Page 69: Capítulo 10   detecção e correção de erros

70

Stop-and-wait protocol permite que apenas um pacote para ser enviado em um tempo;

A técnica de janelamento é um protocolo que permite múltiplos pacotes para serem enviados de uma só vez;

Correção de erro é uma possibilidade, se os dados transmitidos contém informações suficientes redundante para que o receptor pode corretamente corrigir o erro sem pedir o transmissor para obter informações adicionais.

Resumo (continuação)


Recommended