redes de computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade...
Post on 28-Jan-2019
218 Views
Preview:
TRANSCRIPT
Prof. André Y. Kusumoto
andrekusumoto.unip@gmail.com
Redes de Computadores
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
2/8
Nível de Enlace
• A comunicação entre dois equipamentos geograficamente separados
envolve uma infraestrutura física de comunicação que é formada pela
interligação, ponto-a-ponto, de vários pontos intermediários
Enlace (link)
• Pode existir um número variado de enlaces (entre origem e destino), cada
um com um diferente tipo de tecnologia de interconexão
• Composto por um meio físico – par trançado, fibra óptica ou o próprio ar
• Pode ser dedicado (ponto-a-ponto) ou compartilhado (broadcast)
• Ex. Viagem SP-Paris
• Objetivo principal – fornecer uma comunicação eficiente e confiável entre
dois pontos adjacentes
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
3/8
Técnicas para Detecção de Erros
CRC (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.
•Na transmissão, os dados 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) (pode ser
chamado de BCC, FCS, etc).
•Na recepção, os dados recebidos serão divididos pelo mesmo polinômio gerador G(x).
•Se o resto desta divisão for igual a zero, significa que ao houve erros na transmissão; caso
contrário, foi detectado erro na transmissão, sendo necessária a retransmissão da
informação enviada anteriormente.
•As divisões polinomiais são realizadas desconsiderando a existência de sinal.
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
4/8
CRC - Cyclic Redundancy Checking
Exemplo:
Seja a sequência 10111011 a ser transmitida utilizando o método polinomial com
polinômio gerador G(x) = x3 + x2 + x, então:
D(x) = 1.x7 + 0.x6 + 1.x5 + 1.x4 + 1.x3 + 0.x2 + 1.x1 + 1.x0 = x7
+ x5 + x4 + x3 + x + 1
Multiplicando D(x) pelo termo de maior grau G(x):
x7 + x5 + x4 + x3 + x + 1
x3
X10 + x8 + x7 + x6 + x4 + x3
D’(x)
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
5/8
CRC - Cyclic Redundancy Checking
Dividindo D’(x) por G(x):
x10 + x8 + x7 + x6 + x4 + x3 x3 + x2 + x
x10 + x9 + x8 x7 + x6 + x5 + x4 + x3 + 1
x9 + x7 + x6
x9 + x8 + x7
x8 + x6 + x4
x8 + x7 + x6
x7 + x4 + x3
x7 + x6 + x5
x6 + x5 + x4 + x3
x6 + x5 + x4
x3
x3 + x2 + x
x2 + x R(x)
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
6/8
CRC - Cyclic Redundancy Checking
R(x) = x2 + x = 110 (1.x2 + 1.x1 + 0.x0)
R(x) será enviado ao final da sequência D(x), ou seja:
T(x) = 10111011 110
Na recepção, a sequência recebida 10111011 110 será dividida pelo mesmo G(x):
Dados recebidos:
1.x10 + 0.x9 + 1.x8 + 1.x7 + 1.x6 + 0.x5 + 1.x4 + 1.x3 + 1.x2 + 1.x1 +
0.x0 = x10 + x8 + x7 + x6 + x4 + x3 + x2 + x1
T(x) =
10111011 . 110
D(x) R(x)
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
7/8
CRC - Cyclic Redundancy Checking
Resto = 0, indicando que não houve erros na transmissão. Se o resto fosse diferente
de zero, haveria necessidade de se retransmitir toda a sequência enviada pelo
transmissor.
x10 + x8 + x7 + x6 + x4 + x3 + x2 + x x3 + x2 + x
x10 + x9 + x8 x7 + x6 + x5 + x4 + x3 + 1
x9 + x7 + x6
x9 + x8 + x7
x8 + x6 + x4
x8 + x7 + x6
x7 + x4 + x3
x7 + x6 + x5
x6 + x5 + x4 + x3
x6 + x5 + x4
x3 + x2 + x
x3 + x2 + x
0
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
8/8
CRC - Cyclic Redundancy Checking
• Os polinômios geradores padronizados, em sistemas síncronos, são apresentados na
tabela abaixo.
Padrão Polinômio Gerador
CRC-12 x12 + x11 + x3 + x2 + x + 1
CRC-16 x16+x15+x2+1
CRC-32 X32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
9/8
CRC - Cyclic Redundancy Checking
Exemplo:
Seja a sequência 10111011 a ser transmitida utilizando o CRC com polinômio gerador
G(x) = x4 + x + 1, então:
1. Acrescenta-se à sequência original, a quantidade de zeros equivalentes ao
elemento de maior grau de G(x)
10111011 0000
2. Dividir a sequência pelo polinômio gerador G(x), recorrendo a operação XOR.
Resto da divisão
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
10/8
CRC - Cyclic Redundancy Checking
Exemplo:
Seja a sequência 10111011 a ser transmitida utilizando o CRC com polinômio gerador
G(x) = x4 + x + 1, então:
3. O resto da divisão é inserido à sequência original.
10111011 1111
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
11/8
Técnicas para detecção e/ou correção
• Inserir junto aos dados uma informação que possibilite identificar qual bit está errado e
corrigí-lo
Código de Hamming
• Permite não apenas detectar erro de um bit, mas também a localização do bit errado.
Codificação:
1. Considere uma palavra de 8 bits: 10001101 (inverter)
2. A esse dado de 8 bits vamos acrescentar 4 bits adicionais nas posições 2^x, formando o
código de Hamming de 12 bits
3. Selecione as posições que contém o bit “1”, neste caso: 3 (0011), 6 (0110), 7
(0111) e 12 (1100).
4. Aplicação do OR Exclusivo (XOR)
5. Inserção dos valores obtidos nas posições dos bits de paridade:
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
12/8
Técnicas para detecção e/ou correção
Recepção SEM ERROS
Transmissão: 100011101110
Recepção: 100011101110 XOR
Passo/ Pos 1 2 3 4 5 6 7 8 9 10 11 12
1° 1 0 1 1 0 0 0 1
2° X X X X
3° X X 1 X 0 1 1 x 0 0 0 1
4° 0 1 1 1 0 1 1 1 0 0 0 1
3 0 0 1 1
6 0 1 1 0
0 1 0 1
7 0 1 1 1
0 0 1 0
12 1 1 0 0
1 1 1 0
8 4 2 1
* inverter *
XOR
Posição 2^x
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
13/8
Técnicas para detecção e/ou correção
Decodificação:
Transmissão: 100011101110
Recepção: 100011101110
0 1 1 1 0 1 1 1 0 0 0 1
1. Selecione as posições que contém o bit “1”,
neste caso:
2 (0010) , 3 (0011), 4 (0100), 6 (0110), 7 (0111) ,
8 (1000) e 12 (1100).
4. Aplicação do OR Exclusivo (XOR)
5. Resultado deve ser ZERO.
2 0 0 1 0
3 0 0 1 1
0 0 0 1
4 0 1 0 0
0 1 0 1
6 0 1 1 0
0 0 1 1
7 0 1 1 1
0 1 0 0
8 1 0 0 0
1 1 0 0
12 1 1 0 0
0 0 0 0
Pos 1 2 3 4 5 6 7 8 9 10 11 12
0 1 1 1 0 1 1 1 0 0 0 1
XOR
XOR
XOR
XOR
XOR
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
14/8
Técnicas para detecção e/ou correção
Recepção COM ERROS
Transmissão: 100011101110
Recepção: 100011001110
Depois de identificado
a posição, é realizada a correção:
Corrigido: 100011101110
2 0 0 1 0
3 0 0 1 1
0 0 0 1
4 0 1 0 0
0 1 0 1
7 0 1 1 1
0 0 1 0
8 1 0 0 0
1 0 1 0
12 1 1 0 0
0 1 1 0 6
Pos 1 2 3 4 5 6 7 8 9 10 11 12
0 1 1 1 0 0 1 1 0 0 0 1
XOR
XOR
XOR
XOR
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
15/8
Controle de fluxo
• Mecanismo de realimentação que informa continuamente a um emissor de dados a
capacidade de recepção do destino.
• Objetivo é evitar a perda de dados no destino pela falta de buffers de recepção para
armazenar e tratar os dados na taxa em que eles estão sendo transmitidos
Protocolo stop-and-wait • O emissor só pode enviar o quadro i após ter recebido, por parte do destino, a
confirmação da recepção correta do quadro anterior (i-1).
• Desvantagem: subutilização da capacidade de transmissão do meio. Ex. Full Duplex
funcionaria de modo alternado.
• Uma solução é permitir que a origem envie mais
de um quadro sem esperar pela confirmação.
A B
1
2
ACK
ACK
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
16/8
• Os erros nas transmissões podem ser detectados através das técnicas discutidas
anteriormente, como o CRC
• Após a detecção do erro há a necessidade da correção
• A técnica usualmente empregada na retransmissão do pacote danificado, é conhecido
como ARQ (Automatic Repeat Request).
Protocolo Stop-and-Wait ARQ
• Semelhante ao esquema adotado no controle de fluxo
• Neste caso, se usa um temporizador no emissor, se após algum tempo não for recebido a
confirmação de recebimento (ACK), o emissor volta a enviar o quadro.
• Ainda existe a possibilidade do ACK não chegar ao emissor, neste caso o quadro é
enviado novamente, que é aceito pelo receptor como se fosse um quadro novo.
Controle de Erros
Prof. André Y. Kusumoto – andrekusumoto.unip@gmail.com
17/8
Referências
• GALLO, M. A.; HANCOCK, W. M. Comunicação entre computadores e
tecnologias de rede. Thomson, 2003.
• ALVES, L. Comunicação de dados. Makron Books, McGraw-Hill, 1992.
• SILVEIRA, J. L. Comunicação de dados e sistemas de teleprocessamento.
MAKRON, McGraw-Hill, 1991.
17/12
top related