38
Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Prof. Marcelo Gonçalves Rubinstein Redes de Computadores

Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Embed Size (px)

Citation preview

Page 1: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Programa de Pós-Graduação em Engenharia Eletrônica

Faculdade de Engenharia

Universidade do Estado do Rio de Janeiro

Prof. Marcelo Gonçalves Rubinstein

Redes de Computadores

Page 2: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Ementa

Introdução a Redes de Computadores

A Camada Aplicação

A Camada Transporte

A Camada Rede

A Camada Enlace

(A Camada Física)

Page 3: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Camada enlace

Protocolos de enlace

Fornecem comunicação entre nós (hospedeiros ouroteadores) em um enlace

Enlace é um canal de comunicação entre nós adjacentes

Serviços

Enquadramento

Controle de erros

Detecção e correção de erros

Controle de fluxo

Endereçamento

Controle de acesso ao meio

Page 4: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Transmissão dos dados pelos enlaces (fonte: Kurose)

Page 5: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Camada enlace

Alguns serviços semelhantes aos serviços

providos pela camada transporte

Canais

Ponto-a-ponto

Difusão (Broadcast)

Necessidade de controle de acesso ao meio

compartilhado

Page 6: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Camada enlace

Em geral, há três tipos de serviços providos

Não orientado a conexões e sem confirmação

Não orientado a conexões e com confirmação

Orientado a conexões e com confirmação

Page 7: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Camada enlace

Não orientado a conexões e sem confirmação

Apropriado quando a taxa de erros é baixa

Recuperação de perdas a cargo das camadassuperiores

Apropriado para tráfego de tempo real

Maior parte das redes locais usa um serviço desse tipo

Page 8: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Camada enlace

Não orientado a conexões e com confirmação

Quadros são numerados

Usa temporizadores para implementar a confiabilidade

Usado atualmente em redes sem fio

Essas redes possuem canais não confiáveis

Page 9: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Camada enlace

Orientado a conexões e com confirmação

Quadros são numerados

Usa temporizadores para implementar a confiabilidade

Page 10: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Camada enlace

Confirmação na camada enlace

Questão de otimização

Pode estar em camadas superiores

Problema é a fragmentação dos pacotes em quadros

Pode fazer com que se leve muito tempo para

transmitir um pacote

Page 11: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento

Serviço provido pela camada física não garante

que o fluxo de bits seja livre de erros

Número de bits pode ser maior ou menor do que onúmero de bits transmitidos

Bits podem ter valores diferentes dos bits transmitidos

Camada enlace divide o fluxo de bits em

quadros e faz uma verificação em cada quadro

(detecção e correção de erros)

Page 12: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento

Vários métodos para marcar o início e o fim dos

quadros

Contagem de caracteres

Octetos de flags, com inserção de octetos

Flags iniciais e finais, com inserção de bits

Violações de codificação da camada física

Outros

Page 13: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - contagem de carac.

Usa um campo no cabeçalho para especificar o

número de caracteres do quadro

Page 14: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - contagem de carac.

Exemplo de contagem de caracteres (fonte: Tanenbaum)

Page 15: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - contagem de carac.

Problema

Contagem pode ser adulterada por um erro detransmissão

Mesmo com a verificação incorreta, destino não sabe

onde começa o próximo quadro

Solicitação de retransmissão também não adianta

Destino não sabe quantos caracteres devem ser

ignorados para chegar ao início da retransmissão

Page 16: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - contagem de carac.

Exemplo de contagem de caracteres com um erro (fonte: Tanenbaum)

Page 17: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - contagem de carac.

Quase não é utilizado

Page 18: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - octetos de flags

Soluciona o problema de ressincronização após

um erro

Quadro começa e termina com octetos especiais

(octetos de flags)

Delimitadores de início e de fim de quadro

Page 19: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - octetos de flags

Um quadro com octetos de flags (fonte: Tanenbaum)

Page 20: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - octetos de flags

Dados binários podem conter os octetos de flags

Solução → transmissor da camada enlace introduz umcaractere de escape especial (ESC) antes de cadaocteto de flag “acidental” nos dados

Técnica chamada inserção de octetos ou inserção de

caracteres

Usada no protocolo PPP

Page 21: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - octetos de flags

Sequências de quadros com octetos de flags (fonte: Tanenbaum)

Page 22: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - octetos de flags

Problema

Depende do uso de caracteres de 8 bits

Page 23: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - flags iniciais e finais

Dados podem ter um número arbitrário de bits

Cada quadro começa e termina com um padrão

de bits

Exemplo

01111110

Quando encontra cinco bits 1 consecutivos nos dadoso transmissor da camada enlace coloca um bit 0(inserção de bits)

Receptor, ao ver cinco bits 1 seguidos por um bit 0,remove o bit 0

Page 24: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - flags iniciais e finais

Exemplo de inserção de bits (fonte: Tanenbaum)

(a) Dados originais (b) Dados transmitidos

(c) Dados recebidos após a remoção dos bits

Page 25: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - flags iniciais e finais

Se o receptor perder a sincronização, basta

procurar pelo padrão de bits

Page 26: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Enquadramento - violações de codif.

Só pode ser aplicado em redes nas quais a

decodificação no meio físico contém algum tipo

de redundância

Exemplo

Bit 1 é um par alto-baixo e o bit 0 é um par baixo-alto

Todo bit de dados tem uma transição intermediária,facilitando a localização dos limites de bits peloreceptor

Combinações baixo-baixo e alto-alto podem serusadas na delimitação de quadros

Page 27: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Controle de erros

Mais comum é dar ao transmissor alguma

realimentação sobre o que está se passando do

outro lado

Confirmações (reconhecimentos) positivas e negativas

Além disso usam-se temporizadores

Espera pela confirmação durante um tempo

Números de sequência também são usados

Várias cópias do mesmo quadro podem ser recebidas

Ex.: Reconhecimentos perdidos

Page 28: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Controle de fluxo

Duas abordagens mais comuns

Controle de fluxo baseado em realimentação

Controle de fluxo baseado na velocidade

Mecanismo interno limita a velocidade com que os

transmissores podem enviar os dados

Não usa realimentação do receptor

Não utilizado na camada enlace

Page 29: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros

Erros de transmissão frequentes

Loops locais

Enlaces sem fio

Erros tendem a ocorrer em rajadas

Vantagem

Podem danificar poucos quadros

Desvantagem

Dificultam a correção dos erros

Usam informações redundantes para detectar e

corrigir erros

Page 30: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros

Códigos de correção de erros

Bons para enlaces sem fio

Retransmissão pode conter erros

Ex.: correção antecipada de erros (Forward Error

Correction – FEC)

Códigos de detecção de erros

Bons para enlaces confiáveis

Ex.: enlaces de fibra

Page 31: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros - definições

Quadro com m bits de dados e r bits de

redundância

Tamanho total n bits

Unidade de n bits é chamada palavra de código

de n bits

Número de posições de bits que duas palavras

diferem entre si é chamado distância (de

Hamming)

Page 32: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros - definições

Se duas palavras de código estiverem a uma

distância d uma da outra → necessário corrigir d

erros para converter uma na outra

Em geral todas as 2m mensagens de dados são

válidas

Mas nem todas as 2n palavras de código

possíveis são usadas

Pode-se elaborar uma lista contendo todas as

palavras válidas e localizar duas palavras de

código cuja distância é mínima

Distância de Hamming do código completo

Page 33: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros

Detecção e correção de erros dependem da

distância de Hamming do código completo

Para detectar d erros é necessário um código dedistância d + 1

Não há como d erros de bits transformarem uma palavra

de código válida em outra válida

Para corrigir d erros é necessário um código dedistância 2d + 1

Palavras de código válidas estarão tão distantes que,

mesmo com d alterações, a palavra de código original

continuará mais próxima do que qualquer outra

Page 34: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros

Exemplo

Código contendo as seguintes palavras: 0000000000,0000011111, 1111100000 e 1111111111

Distância igual a 5

Pode corrigir erros duplos

Se detecta 0000000111 (é um erro duplo)

Original deve ser 0000011111

Se detecta 0000000111 e foi transmitido 0000000000(é um erro triplo) → erro não corrigido de maneiraadequada

Page 35: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros - paridade

Código simples de detecção de erros

Bit de paridade acrescentado aos dados

Escolhido de forma que o número de bits 1 da palavrade código seja par ou ímpar

Receptor conta quantos bits 1 a palavra possui

Se é usada a paridade par e contou um número ímparde 1s → ocorreu um número ímpar de erros

Número par de erros → não são detectados

Código com um único bit de paridade tem uma

distância igual a 2

Pode detectar erros isolados

Page 36: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros - paridade

Exemplo

1011010 enviado com paridade par → 10110100

1011010 enviado com paridade ímpar → 10110101

Como os erros ocorrem geralmente em rajada

Paridade com um bit não é suficiente

Solução → aumenta-se o número de bits de paridade

Page 37: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Detecção e correção de erros - paridade

Paridade bidimensional

Paridade de linha

Paridade de coluna

Paridade dos bits de paridade

Pode detectar e corrigir erros isolados

Pode detectar erros duplos

Page 38: Redes de Computadores - Laboratório de Engenharia Elétricarubi/cursos/rc/Parte5a.pdf · Enlace é um canal de comunicação entre nós adjacentes Serviços Enquadramento ... Apropriado

Exemplo de paridade bidimensional (fonte: Kurose)