Escolar Documentos
Profissional Documentos
Cultura Documentos
• Inicialmente consideramos uma janela de cinco pacotes. Assim ele transmite 5 mensagens e
fica aguardando a confirmação do primeiro pacote. Quando ela chega ao transmissor este
pode enviar mais um pacote, para manter a janela de 5. Se receber todas as 5 confirmações
sem retransmissão o transmissor pode aumentar a janela, por exemplo para 6. Se houver
alguma perda de pacote ou confirmação o transmissor pode diminuir a janela, por exemplo
para 3. Esse mecanismo de ajuste do tamanho da janela é chamado slow-start. O protocolo
TCP é um exemplo que utiliza o mecanismo de janela deslizante.
Detecção de Erros
• A detecção de erro é um método de se incluir um código que segue junto à
mensagem e possibilita que o receptor verifique se a mensagem está integra,
idêntica à mensagem transmitida. O diagrama mostrado na Figura a seguir
mostra o funcionamento da detecção de erro.
Detecção de Erros
• O transmissor calcula um número em função dos dados que vai transmitir. O
transmissor inclui esse número ao final da mensagem e transmite. O receptor
lê a mensagem e separa o número dos dados. O receptor calcula o número
baseado na mensagem recebida. Se o número calculado for igual ao número
recebido a mensagem está íntegra, senão a mensagem apresenta algum erro.
Códigos de Detecção de Erros
• Um conceito importante para determinar códigos de correção e detecção de erros é o
da distância de Hamming. Existem diversos tipos de códigos, alguns mais indicados
para tratamento serial, outros para paralelo. Algumas palavras de código são
construídas concatenando ao final dos bits de informação o código correspondente,
estes códigos são ditos separáveis, como é o caso dos códigos de paridade. Nos
códigos não-separáveis, a palavra de código é obtida com o entrelaçamento do
código com a informação, o código em m-entre-n é um exemplo de código não-
separável.
• Um dos códigos mais conhecidos e utilizados é o de paridade e o código aritmético.
Embora os códigos de paridade sejam muito utilizados para a transmissão e
armazenamento de dados, eles não são preservados por operações aritméticas.
• Outro código bastante conhecido é o checksum que também faz parte dos
separáveis.
• Um código cíclico é definido pelo seu polinômio gerador G(x), que possui um grau (n–k). Dois
códigos cíclicos conhecidos para detecção de erros são o CRC-12, CRC-16 e CRC-CCITT
Códigos de Detecção de Erros
• Distância de Hamming
• A distância Hamming é determinada pelo número de bits diferentes em duas palavras.
Assim, em um subconjunto S que contenha palavras de código com distância 2, uma
transição para distância 1 pode representar uma palavra de código com erro de um bit.
• Paridade
• No código de paridade um bit é concatenado a informação, fazendo com que a palavra
de código possua um número ímpar de bits 1 (paridade ímpar), ou um número par de bits
1 (paridade par). Esse código é utilizado no tratamento serial de informações, com
detecção on-line de erros, sendo de fácil implementação.
• Checksum
• O checksum é utilizado em comunicação de dados e armazenamento sequencial. A
palavra de código é formada por todas as palavras de informação concatenadas com um
código gerado pela soma dessas palavras.
Correção de Erros
• Para possibilitar uma comunicação sem erro não basta apenas detectar a ocorrência
de erros. Assim é necessário desenvolver um mecanismo que corrija o erro detectado.
A correção de erros pode ter dois enfoques: no primeiro o código de detecção carrega
consigo informações suficientes para recuperar o erro (FEC) e no segundo quando o
erro é detectado é solicitado a repetição da mensagem errada para regenerar a
mensagem original (ARQ).
• Código de Correção de Erros (FEC)
• Em um sistema que utilize códigos de correção ou detecção de erros, um codificador gera uma
palavra de código contendo a informação recebida e o código de correção (ou detecção) de erros
para essa informação.
• Correção de Erro por Protocolo (ARQ)
• Outra forma de corrigir erro é retransmitir a mensagem errada através do protocolo. Esse
mecanismo é geralmente chamado ARQ ou repetição de requisição automática .
Obrigado!