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

17
Prof. André Y. Kusumoto [email protected] Redes de Computadores

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

Page 1: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto

[email protected]

Redes de Computadores

Page 2: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 3: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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.

Page 4: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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)

Page 5: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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)

Page 6: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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)

Page 7: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 8: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 9: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 10: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 11: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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:

Page 12: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 13: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 14: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 15: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 16: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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

Page 17: Redes de Computadores - kusumoto.com.br · sofisticado e utilizado que o método da paridade combinada. •Na transmissão, os dados a serem transmitidos são transformados em um

Prof. André Y. Kusumoto – [email protected]

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