Introdução à comunicação entre computadores e tecnologias de rede
41 pág.

Introdução à comunicação entre computadores e tecnologias de rede


DisciplinaRedes de Computadores18.454 materiais245.966 seguidores
Pré-visualização13 páginas
um sinal enviado não chegue corretamente ao destino. Muitas coisas
podem causar este fenômeno. Por exemplo, falhas de sincronização, hardware defeituoso, colisões, interferência nos
cabos, defeitos ou sobrecarga nos buffers.
Por isso é importante que um nó que recebe uma mensagem possa identificar a presença de um erro na transmissão.
Existem duas alternativas possíveis em caso de erro: pedir para que o nó emissor envie novamente a mensagem ou
tentar consertar o erro detectado. A primeira alternativa é a mais simples e rápida de se implementar e normalmente é
o que é feito na maioria das redes. A segunda alternativa requer que uma grande quantidade de informação
redundante seja enviada e portanto é algo que prejudica a velocidade da rede. Entretanto, em canais simplex, por
exemplo, não temos como requisitar retransmissões. portanto, neste tipo de canal é melhor implementarmos um
A sub-camada de controle lógico de ligações (LLC) 35
controle de erros capaz de corrigir eventuais erros de transmissão.
Controle de Erro por Paridade
O uso de um bit de paridade é uma estratégia que pode ser usada para detectar se uma mensagem está correta ou
não. Um bit de paridade é um bit extra que é colocado na mensagem. Se a paridade for par, o bit excedente terá o
valor de "0" se o número de "1"s na mensagem for par e "1" se o número de "1"s na mensagem for ímpar. Se a
paridade for ímpar, ocorre o contrário: um 0 significa que existe um número ímpar de "1"s na mensagem e um "0"
significa que existe um número par e "1"s na mensagem. Veja um exemplo:
10000101 (Mensagem Inicial)
100001011 (Inclusão de bit de paridade par)
100001010 (Inclusão de bit de paridade ímpar)
O Controle de Erro por Paridade também pode ser usado para fazer com que um nó receptor seja capaz de corrigir os
erros por conta própria. Entretanto, para isso é preciso usar mais de um único bit de paridade. Como isso é feito é
mostrado no exemplo abaixo:
\u2022\u2022 Primeiro pega-se a mensagem a ser transmitida. No nosso exemplo, iremos usar o byte 10001100:
10001100 (byte original com a mensagem a ser transmitida)
\u2022\u2022 Em seguida, numeramos os índices de cada bit de 1 até 8:
1 0 0 0 1 1 0 0 (Mensagem)
1 2 3 4 5 6 7 8 (Índice de cada bit)
\u2022\u2022 Cada bit que ocupa uma posição que é uma potência de 2, deve ser usado por um bit de controle cujo valor será
definido pela paridade de outros bits. Os outros bits devem ceder espaço para estes bits de controle sendo
deslocados mais à direita:
X X 1 X 0 0 0 X 1 1 0 0 (Mensagem com os bits de controle representados como X)
1 2 3 4 5 6 7 8 9 10 11 12 (Índice de cada bit.)
\u2022\u2022 Perceba que cada índice que não é uma potência de 2 pode ser escrito na forma de uma soma de potências de 2:
X X 1 X 0 0 0 X 1 1 0 0 (Mensagem com os bits de controle)
1 2 2+1 4 4+1 4+2 4+2+1 8 8+1 8+2 8+2+1 8+4 (Índices escritos na forma de soma de potências de 2)
\u2022\u2022 Agora preenchemos os bits de controle da seguinte forma: o bit 1 é o bit que armazena a paridade de todos os bits
cujo índice é representado por um número 1 somado à algo. O bit 2 é o bit que armazena a paridade de todos os
bits cujo índice é representado por um número 2 somado à algo. E assim por diante:
1 1 1 1 0 0 0 1 1 1 0 0 (Mensagem com bits de controle)
1 2 2+1 4 4+1 4+2 4+2+1 8 8+1 8+2 8+2+1 8+4 (Índices escritos na forma de soma de potências de 2)
\u2022\u2022 A mensagem acima tem a paridade correta. Já a mensagem abaixo:
1 0 1 0 0 0 0 1 1 1 0 0 (Mensagem com bits de controle)
1 2 2+1 4 4+1 4+2 4+2+1 8 8+1 8+2 8+2+1 8+4 (Índices escritos na forma de soma de potências de 2)
possui uma paridade contada errada no endereço 4 e 2. Isso indica para nós que o bit da mensafem que está errado é
o formado pela soma de 4 e 2. No caso, o sexto bit. Basta invertermos o seu valor e obteremos a mensagem correta.
Pronto! Desta forma, além de detectar se a mensagem está correta ou não, também é possível detectar onde está o
erro. Entretanto, o erro só pode ser corretamente detectado e corrigido se existir erro em apenas um único bit. Se
houver mais de um erro, esta técnica não funcionará corretamente. Entretanto, se chegarmos ao ponto de termos uma
A sub-camada de controle lógico de ligações (LLC) 36
transmissão tão ruim à ponto de esperarmos receber mais de um erro em um único pacote, isso é sinal de que a
estrutura da rede deve ser repensada.
Controle de Erro por Checagem de Redundância Cíclica (CRC)
O CRC é um método bastante simples. Primeiro ele representa os bits enviados na forma de um polinômio. Por
exemplo, o conjunto de 16 bits 1001010101010101 é representado pelo polinômio:
Em seguida, este polinômio é dividido por um polinômio gerador fixo. Qual é este polinômio depende do tipo de
CRC usado. Por exemplo, o CRC-16 usa como polinômio gerador. O CRC-CCITT usa
e o CRC-32 usado na maioria dos protocolos de redes locais usa
.
Depois de efetuada a divisão, o resto dessa divisão é enviada junto com a mensagem. A eficiência do CRC depende
de qual foi o polinôio gerador usado. No caso do CRC-16 e CRC-CCITT, eles são capazes de detectar todas as falhas
que ocorrem em apenas um ou dois bits, todos os erros que ocorrerem em um número ímpar de bits, todos os erros
que ocorrerem em 16 bits ou menos, 99,997% das falhas em 17 bits e 99,998% das falhas que ocorrerem em 18 ou
mais bits. Com isso, as chances de ocorrerem um erro não-detectado são de 1 em 4,3 bilhões. Devido à sua
eficiência, o CRC é a técnica de controle de erros mais usada em redes de computadores.
Referências
[1] http:/ / www2. rad. com/ networks/ 2004/ sliding_window/ detect. html
Fontes e Editores da Página 37
Fontes e Editores da Página
Capa  Fonte: http://pt.wikibooks.org/w/index.php?oldid=185441  Contribuidores: Master, Thiagoharry, 1 edições anónimas
Tecnologias de rede  Fonte: http://pt.wikibooks.org/w/index.php?oldid=185453  Contribuidores: Helder.wiki, Master, Thiagoharry, 2 edições anónimas
Redes de computadores  Fonte: http://pt.wikibooks.org/w/index.php?oldid=263413  Contribuidores: Ezarate, Helder.wiki, Master, Stryn, Thiagoharry, 9 edições anónimas
Métodos de transmissão de dados  Fonte: http://pt.wikibooks.org/w/index.php?oldid=185449  Contribuidores: Berserkerus, Helder.wiki, Master, Thiagoharry, 2 edições anónimas
Medidas de desempenho de um canal de comunicação  Fonte: http://pt.wikibooks.org/w/index.php?oldid=201189  Contribuidores: Helder.wiki, Master, Thiagoharry, 1 edições anónimas
Métodos de multiplexação  Fonte: http://pt.wikibooks.org/w/index.php?oldid=185448  Contribuidores: Helder.wiki, Master, Thiagoharry
Métodos de chaveamento  Fonte: http://pt.wikibooks.org/w/index.php?oldid=185447  Contribuidores: Helder.wiki, Master, Thiagoharry
Como representar dados em sinais analógicos  Fonte: http://pt.wikibooks.org/w/index.php?oldid=197363  Contribuidores: Helder.wiki, Master, Thiagoharry, 9 edições anónimas
Como representar dados em sinais digitais  Fonte: http://pt.wikibooks.org/w/index.php?oldid=239494  Contribuidores: Helder.wiki, Master, Thiagoharry, 4 edições anónimas
O modelo OSI  Fonte: http://pt.wikibooks.org/w/index.php?oldid=233913  Contribuidores: Helder.wiki, Mardetanha, Master, Thiagoharry, 2 edições anónimas
Tipos de cabo  Fonte: http://pt.wikibooks.org/w/index.php?oldid=225044  Contribuidores: Helder.wiki, Master, Raylton P. Sousa, Teles, Thiagoharry, 3 edições anónimas
Características elétricas de um cabo  Fonte: http://pt.wikibooks.org/w/index.php?oldid=185442  Contribuidores: Jorge Morais, Master, Thiagoharry, 1 edições anónimas
A comunicação sem fio  Fonte: http://pt.wikibooks.org/w/index.php?oldid=250874  Contribuidores: Abacaxi, Master, Thiagoharry, 2 edições anónimas
Comunicação via satélite  Fonte: http://pt.wikibooks.org/w/index.php?oldid=226544  Contribuidores: CommonsDelinker, Frigotoni, Master, Thiagoharry, 2 edições anónimas
Sistema de cabeamento