A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Ivair Teixeira Redes de Computadores.

Apresentações semelhantes


Apresentação em tema: "Prof. Ivair Teixeira Redes de Computadores."— Transcrição da apresentação:

1 Prof. Ivair Teixeira ivair.teixeira@aedu.com Redes de Computadores

2 2 Nesta Aula Nessa Aula Camada de enlace de dados Detecção e correção de erros. Bibliografia: RSCD - Stallings, William - Redes e Sistemas de Comunicação de Dados RC - Tanenbaum, Andrew S – Redes de Computadores

3 3 Os dados podem ser corrompidos durante a transmissão. Algumas aplicações exigem que os erros sejam detectados e corrigidos. Funções da camada de enlace Lidar com erros de transmissão. Regular o fluxo de dados, de tal forma que os receptores lentos não seja atropelados por transmissores rápidos. Camada de enlace de dados

4 4 Recebe os pacotes da camada de rede e encapsula em quadros com: Cabeçalho. Carga útil. Final. Camada de enlace de dados Pacote Cabeçalho Campo de Carga útil Final Pacote Cabeçalho Campo de Carga útil Final

5 5 Serviços oferecidos com frequência: Serviço sem conexão e sem confirmação. Serviços sem conexão e com confirmação. Serviços orientado a conexão com confirmação. Camada de enlace de dados

6 6 Serviço sem conexão e sem confirmação. Nenhuma conexão lógica é estabelecida antes ou liberada depois. Quadros independentes são enviados da origem ao destino sem nenhuma confirmação de recebimento. Apropriado quando a taxa de erros é muito baixa a recuperação fica a cargo das camadas superiores. Apropriado para tráfego em tempo real, por exemplo voz, quando o retardo é pior que a falha. Camada de enlace de dados

7 7 Serviço sem conexão e com confirmação. Nenhuma conexão lógica é estabelecida ou liberada. Cada quadro enviado é individualmente confirmado. Serviço útil em canais não confiáveis como sistemas sem fio, dispensável em canais confiáveis como fibra. Camada de enlace de dados 0110010101100001101000111011001001011001 01100101 01100001 00100011 10110010 01011001 Quadros Enlace Datagrama Rede

8 8 Serviço com conexão e com confirmação. Máquinas de origem e destino estabelecem uma conexão antes dos dados serem transferidos. Cada quadro é numerado para garantir que sejam recebidos, uma única vez e na ordem correta. É constituído por três fases: Estabelecimento da conexão, com reserva de variáveis de controle e contadores. Transmissão de um ou mais quadros. Desconexão e liberação das variáveis Usada quando não pode haver perda de pacote e a responsabilidade esta a cargo da camada de enlace Camada de enlace de dados

9 9 Divisão de quadros: A divisão dos quadros não é tão simples. Uma opção seria inserir um intervalo de tempo entre os quadros, como palavras em um texto. É possível este método? Camada de enlace de dados 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 1 0

10 10 Divisão de quadros: A divisão dos quadros não é tão simples. Uma opção seria inserir um intervalo de tempo entre os quadros, como palavras em um texto. É possível este método? Não, pois não há garantias relacionadas a temporização. Camada de enlace de dados 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 1 0 Novos métodos foram criados. Contagem de caracteres Bytes de flags, com inserção de bytes. Flags iniciais e finais, com inserção de bits

11 Quadro 1Quadro 2Quadro 3Quadro 4 11 Divisão de quadros: Contagem de Caracteres: Utiliza um campo no cabeçalho para especificar o número de caracteres do quadro. Ex. Quadros de tamanho 8, 5, 5 e 7. Camada de enlace de dados 8123456758901523457678901 Qual o problema desse método? Obs: para melhor entendimento foram utilizados decimal e não binário

12 12 Camada de enlace de dados Divisão de quadros: Contagem de Caracteres: Se ocorrer um erro de transmissão no “número de caracteres do quadro”. Não é possível localizar o erro para sincronizar e retransmitir somente os quadros errados Quadro 1Quadro 2Quadro 3Quadro 4 8123456758901523457678901 Quadro 1Quadro 2 Quadro 3 Quadro 4 8123456788901523457678901

13 13 Divisão de quadros: Bytes de flags, com inserção de bytes: Contorna o problema de sincronização após o erro. Insere bytes especiais (não ASCII) no início e fim de cada quadro. Se o receptor perder a sincronização busca o byte de flag para descobrir o quadro atual (dois flags juntos indicam fim e início). Camada de enlace de dados FLAGCabeçalhoCarga útilFinalFLAG FlagCabecalhoCarga útilFimFlag Cabeçalho 0111111001...1001 01...1101111110 0101...00 Qual o problema?

14 14 Divisão de quadros: Bytes de flags, com inserção de bytes: E para dados binários (programas, float) onde o padrão de bits possa ser igual ao Flag? Camada de enlace de dados FlagCabecalhoCarga útilFimFlag Cabeçalho 0111111001...1001101...01111110001...1101111110 0101...00

15 15 Divisão de quadros: Flags iniciais e finais, com inserção de bits: Permite tamanhos sem regras (tamanhos arbitrários). Cada quadro inicia e termina com o padrão 01111110. Sempre que o transmissor encontra cinco 1s consecutivos insere um 0 no fluxo de bits. Sempre que o receptor encontra cinco 1 consecutivos seguido de um 0, remove automaticamente o bit 0. Dado: 01010111111010010111111111001 TX: 0111111001010111110101001011111011110010111110 Salvo: 01010111111010010111111111001 Camada de enlace de dados

16 16 Controle de erros - Detecção e Correção. Detecção: Inclui no bloco de dados informações que permitem identificar que ocorreu um erro e solicitar retransmissão. Eficiente em canais confiáveis como fibra óptica. Correção: Inclui no bloco de dados informações que permitem deduzir quais foram os dados enviados e corrigir o erro. Eficiente em enlaces sem fio pois a quantidade de reenvio podem invalidar a comunicação. Camada de enlace de dados

17 17 Controle de erros - Detecção e Correção. Basicamente os erros podem ocorrer: Em grandes volumes (rajadas). Isoladamente (bits). Suponha um bloco de 1000 bits Erros em rajada poderão afetar apenas 1 ou 2 blocos. Erros isolados poderão se espalhar por todo bloco. Erros em rajadas dificilmente pode ser corrigidos Erros isolados poderão ser corrigidos Camada de enlace de dados

18 18 Detecção. A forma mais comum é o feedback para o transmissor O receptor retorna confirmações positivas (sem erro) ou negativas (com erro) dos quadros. De acordo com a confirmação o transmissor transmite o próximo ou retransmite o quadro atual. Qual o problema desse controle? Camada de enlace de dados

19 19 Detecção. Se o quadro sumir o receptor nunca recebe resposta e não sabe o que fazer (envia o próximo ou retransmite?). Qual a solução para esse problema? Camada de enlace de dados

20 20 Detecção. Se o quadro sumir o receptor nunca recebe resposta e não sabe o que fazer (envia o próximo ou retransmite?). Qual a solução para esse problema? Disparar um temporizador quando envia o quadro, se expirar o tempo o quadro é reenviado. Qual o problema dessa solução? Camada de enlace de dados

21 21 Detecção. E se sumir a confirmação, ou atrasar um tempo maior que o configurado, o receptor pode receber quadros repetidos. Qual a solução do problema da solução anterior? Camada de enlace de dados

22 22 Detecção. E se sumir a confirmação, ou atrasar um tempo maior que o configurado, o receptor pode receber quadros repetidos. Qual a solução do problema da solução anterior? Numerar os quadros. Camada de enlace de dados

23 23 Detecção - Checksum: A camada de enlace divide o fluxo de bits em quadros. Calcula o total de verificação (checksum) para cada quadro e insere o total calculado no quadro. No destino o total de verificação é recalculado e comparado por uma operação xor. Se houver erro o quadro é descartado e retransmitido. Camada de enlace de dados Transmissor 0010110011100101 0011000001010100 0101010100111001 0010011101001011 1010110011011000 Receptor 0010110011100101 0011000001010100 0101010100111001 0010011101001011 1010110011011000 0000000000000000 DadosTotal de verificação

24 24 Detecção – Paridade. Suponha uma transmissão com quadros de 1000 bits e taxa de erros de 0,001 bit. Na paridade par deve ser incluído um bit de controle após a palavra, de forma que resulte em um número par de 1s. Camada de enlace de dados 010100010100101011001010 001111001001011010001011 Bit de paridade O receptor conta os 1s e compara com o bit de paridade, se houve erro solicita uma retransmissão.

25 25 Correção – Hamming 7 – 11 (1950). Um valor de 7 bits é transmitido e uma palavra de 11 bits. Por exemplo a letra H = 1001000 As posições com potência de 2 são os bits de verificação. Na demais posições estão a “carga útil”. Camada de enlace de dados b1b2b3b4 1 2 3 4 5 6 7 8 9 10 11 1001000

26 26 Correção – Hamming 7 – 11 (1950). Para calcular cada bit de verificação realiza-se uma operação xor entre as posições relacionadas a este bit. Por exemplo o bit 1 aparece na fatoração em potências de 2 dos números 3, 5, 7, 9 e 11, pois: 3 = 2+1 5 = 4+1 6 = 4+2 7 = 4+2+1 9 = 8+1 10 = 8+2 11 = 8+2+1 Camada de enlace de dados b1b2b3b4 1 2 3 4 5 6 7 8 9 10 11 0 – 0 = 0 0 – 1 = 1 1 – 0 = 1 1 – 1 = 0

27 27 Correção – Hamming 7 – 11 (1950). Camada de enlace de dados b1b21b3001b4000 1 2 3 4 5 6 7 8 9 10 11 Xor entre os bits relacionados b1 = 3 – 5 – 7 – 9 – 11 1 0 1 0 0  0 b2 = 3 – 6 – 7 – 10 – 11 1 0 1 0 0  0 b3 = 5 – 6 – 7 0 0 1  1 b4 = 9 – 10 – 11 0 0 0  0 Decomposição 3 = 2 + 1 5 = 4 + 1 6 = 4 + 2 7 = 4 + 2 + 1 9 = 8 + 1 10 = 8 + 2 11 = 8 + 2 + 1 Código enviado: 00110010000

28 28 Correção – Hamming 7 – 11 (1950). Camada de enlace de dados b1b21b3001b4001 1 2 3 4 5 6 7 8 9 10 11 Xor entre os bits relacionados b1 = 3 – 5 – 7 – 9 – 11 1 0 1 0 1  1 b2 = 3 – 6 – 7 – 10 – 11 1 0 1 0 1  1 b3 = 5 – 6 – 7 0 0 1  1 b4 = 9 – 10 – 11 0 0 1  1 Suponha um erro no bit 11 Para encontrar o bit errado basta somar o “peso” dos bit de verificação que estão diferentes b1 = 1 b2 = 2 b4 = 8 11

29 29 Correção – Hamming 7 – 11 (1950). Camada de enlace de dados b1b21b3101b4000 1 2 3 4 5 6 7 8 9 10 11 Xor entre os bits relacionados b1 = 3 – 5 – 7 – 9 – 11 1 1 1 0 0  1 b2 = 3 – 6 – 7 – 10 – 11 1 0 1 0 0  0 b3 = 5 – 6 – 7 1 0 1  0 b4 = 9 – 10 – 11 0 0 0  0 Suponha um erro no bit 5 Para encontrar o bit errado basta somar o “peso” dos bit de verificação que estão diferentes b1 = 1 b4 = 4 5

30 30 Codifique a sequência 1100001 usando o código de Hamming Atividades 1 2 3 4 5 6 7 8 9 10 11 Xor entre os bits relacionados b1 = b2 = b3 = b4 = Decomposição 3 = 2 + 1 5 = 4 + 1 6 = 4 + 2 7 = 4 + 2 + 1 9 = 8 + 1 10 = 8 + 2 11 = 8 + 2 + 1

31 31 1 – Quais as funções da camada de enlace? 2 – Como funciona o enquadramento na camada de enlace. 3 – Quais as situações mais apropriadas para cada um dos três serviços oferecidos pela camada de enlace (conexão e confirmação). 4 – Qual a diferença entre detecção e correção de erros? Em que tipos de enlace cada qual é mais eficiente. 5 – Usando a técnica “Flags iniciais e finais, com inserção de bits” codifique os seguintes dados com o flag padrão: 01111110. 01110110111111001111100111110011111111100 111111111111100111111111111100111111111111 6 – Calcule a paridade (par) dos seguintes quadros: 001001010010110, 010100010101011 e 0101001010010010 Atividades


Carregar ppt "Prof. Ivair Teixeira Redes de Computadores."

Apresentações semelhantes


Anúncios Google