Você está na página 1de 26

Curso de Introdução às Redes

Parte B
continuação

Cefet-RJ
Prof Almir Silveira

© 2009 by Almir Silveira 11


Orientado a Bit

• Dados transmitidos como uma sequência de bits

• Para que o receptor reconheça o início/fim de um


quadro (frame) é utilizada uma sequência única de bits,
chamada flag conforme quadro abaixo:

FLAG –HEADER- DADOS -TRAILER -FLAG

© 2009 by Almir Silveira 22


Framing (2)
Qualquer byte de
escape isolado faz
parte de uma
sequência de
escape, enquanto
o byte de
escape duplicado
indica que um
único escape
ocorreu
naturalmente nos
dados
(a) Frame delimitado por bytes de flag.
(b) 4 exemplos de sequências de bytes após o enchimento
(stuffing)
© 2009 by Almir Silveira 33
ORIENTAÇÃO A CARACTERE - DESVANTAGENS

Uma das principais desvantagens da utilização desse


método de enquadramento é que ele depende da utilização
de caracteres de 8 bits. Nem todos os códigos de caracteres
utilizam caracteres de 8 bits. Por exemplo, o UNICODE
emprega caracteres de 16 bits. À medida que as
redes se desenvolveram, as desvantagens da inclusão do
comprimento do código de caracteres no mecanismo de
enquadramento se tornaram cada vez mais óbvias; portanto,
uma nova técnica teve de ser desenvolvida para permitir o
uso de caracteres com tamanhos arbitrários.

© 2009 by Almir Silveira 44


Orientado a Bit

• Dados transmitidos como uma sequência de bits

• Para que o receptor reconheça o início/fim de um


quadro (frame) é utilizada uma sequência única de bits,
chamada flag conforme quadro abaixo:

FLAG –HEADER- DADOS -TRAILER -FLAG

© 2009 by Almir Silveira 55


Orientado a Bit

Esta técnica permite que os quadros de dados


contenham um número arbitrário de bits e possibilita a
utilização de códigos de caracteres com um número
arbitrário de bits por caractere. De acordo com essa técnica,
cada quadro começa e termina com um padrão de bits,
01111110 (na verdade, um byte de flag).
E quando ocorrer um valor de dados igual ao valor do flag, o
que se faz?
Sempre que encontra cinco valores 1 consecutivos nos
dados, a camada de enlace de dados do transmissor insere
um bit 0 no fluxo de bits que está sendo enviado

© 2009 by Almir Silveira 66


Orientado a Bit

EXEMPLO:
Quando há 6 bits 1 em série nos dados, o transmissor
enche (stuffing) com 0 após o quinto bit

Origem Transmitido Recebido Tipo


0111-1110 0111-1110 0111-1110 flag
0111-1111 0111-11011 0111-1111 dados
0111-1100 0111-11000 0111-1100 dados
0111-1110 0111-11010 0111-1110 dados
0111-1110 0111-1110 0111-1110 flag

© 2009 by Almir Silveira 77


Orientado a Bit

Com a inserção de bits, o limite entre dois quadros pode


ser reconhecido sem qualquer tipo de ambigüidade pelo
padrão de flags. Desse modo, se o receptor perder o
controle de onde estão os dados, bastará varrer a entrada
em busca de seqüências de flags, pois elas nunca
ocorrem dentro dos dados, apenas nos limites dos
quadros.

© 2009 by Almir Silveira 88


Error Detection and Correction

Controle de Erros
• Um pacote que chega com erro pode ser retransmitido ou ter
seu erro corrigido (enlaces mais caros, satélite).

• Para garantir a comunicação confiável, a Camada de


Enlace:
– Verifica erro / solicita retransmissão
– Corrige erro (enlaces mais caros)

© 2009 by Almir Silveira 99


Controle de Erros

• Toda mensagem recebida sem erros é sucedida por um


pacote de confirmação de recebimento (ACK), enviada pelo
receptor

• Para detectar erros que tornem a mensagem não inteligível


é utilizado um temporizador para verificar se houve
timeout (estouro de tempo = tempo suficiente para pacote e
respectivo reconhecimento chegarem)

• Um reconhecimento negativo (NAK) acelera o processo de


retransmissão

© 2009 by Almir Silveira 10


10
Controle de Erros

• Os algoritmos mais utilizados são:


– Bit alternado
– Janela n com retransmissão integral (Go back N)
– Janela n com retransmissão seletiva (Selective repeat)

© 2009 by Almir Silveira 11


11
© 2009 by Almir Silveira 12
12
© 2009 by Almir Silveira 13
13
© 2009 by Almir Silveira 14
14
© 2009 by Almir Silveira 15
15
Paridade Bidimensional: exercício
- Considere que o bloco abaixo é enviado:
10101001 00111001 11011101 11100111 10101010

- Suponha que o bloco enviado é atingido por um ruído em


rajada de comprimento 8:
10100011 10001001 11011101 11100111 10101010

- Mostre como o receptor detectará o erro.

© 2009 by Almir Silveira 16


16
© 2009 by Almir Silveira 17
17
Checksum: no transmissor

Considerando-se que o seguinte bloco de 16 bits deva


ser envidado com um checksum de 8 bits
10101001 0011100

Os números são adicionados usando-se complemento


de 1
10101001
00111001
-------------
Soma: 11100010
Checksum: 00011101
Padrão enviado: 10101001 00111001 00011101

© 2009 by Almir Silveira 18


18
Checksum: no receptor
Considerando-se que o receptor receba o padrão enviado no slide
anterior sem erros
10101001 00111001 00011101

Ao adicionar as três partes, o receptor irá obter todos os bits em “1”.


Complementando-o, o resultado será todos os bits em “0”, o que confirma
ausência de erros

10101001
00111001
00011101
-------------
Soma: 11111111
Complemento: 00000000 􀃆 Nenhum erro!

© 2009 by Almir Silveira 19


19
Checksum: detecção de erro
- Considerando-se um erro que corrompa 4
bits

10101111 11111001 00011101

- Ao adicionar as três partes, o receptor irá


obter
10101111
11111001
00011101
-------------
Soma parcial: 1 11000101
Vai um: 1
Soma: 11000110
Complemento: 00111001
Erro!

© 2009 by Almir Silveira 20


20
Checksum: exemplo de falha

􀂃 No exemplo abaixo, um erro de transmissão inverte


o terceiro bit em cada um dos 4 itens de dados

􀂃 Ainda assim o checksum sobre itens originais é


identico àquele sobre os itens corrompidos

Portanto, o checksum não é muito eficaz!


© 2009 by Almir Silveira 21
21
© 2009 by Almir Silveira 22
22
© 2009 by Almir Silveira 23
23
© 2009 by Almir Silveira 24
24
© 2009 by Almir Silveira 25
25
Error-Detecting Codes

Calculation of the polynomial code checksum.

© 2009 by Almir Silveira 26


26

Você também pode gostar