Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade...

Post on 28-Jan-2019

216 views 0 download

Transcript of Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade...

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