154
Camada de Enlace BCC361 – Redes de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação Prof. Reinaldo Silva Fortes www.decom.ufop.br/reinaldo 2012/02 1 Camada Nome 5 Aplicação 4 Transporte 3 Rede 2 Enlace 1 Física

Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

  • Upload
    vanhanh

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Camada de Enlace

BCC361 – Redes de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação Prof. Reinaldo Silva Fortes www.decom.ufop.br/reinaldo 2012/02

1

Camada Nome

5 Aplicação

4 Transporte

3 Rede

2 Enlace

1 Física

Page 2: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Agenda

• Introdução;

• Detecção e correção de erros;

• Protocolos básicos de enlace de dados;

• Protocolos de janela deslizante;

• Exemplos de protocolos de enlace de dados;

• Controle de acesso ao meio.

2

Page 3: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

INTRODUÇÃO

Introdução;

Detecção e correção de erros;

Protocolos básicos de enlace de dados;

Protocolos de janela deslizante;

Exemplos de protocolos de enlace de dados;

Controle de acesso ao meio.

3

Page 4: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Tópicos

• Objetivos;

• Serviços oferecidos à camada de rede;

• Enquadramento;

• Controle de erros;

• Controle de fluxo.

Introdução

4

Page 5: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Objetivos

• A camada física recebe um fluxo de bits brutos e tenta entregá-los ao destino;

• Entretanto:

• Não garante a entrega livre de erros;

• O número de bits recebidos pode ser diferente do enviado;

• Bits podem chegar com valores diferentes dos originais;

• Meios físicos possuem uma taxa máxima de transmissão e existe um tempo gasto na propagação dos sinais;

Introdução

5

Page 6: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Objetivos

• Objetivo: Realizar a comunicação eficiente e confiável entre dois computadores adjacentes;

• Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

(a) Comunicação virtual. (b) Comunicação real.

Introdução

6

Page 7: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Objetivos

• Funções:

1. Fornecer uma interface de serviço bem definida à camada de rede;

2. Lidar com erros de transmissão;

3. Regular o fluxo de dados.

• Para isso:

• Recebe pacotes da camada de rede e os encapsula em quadros;

• Gerenciar quadros é o núcleo das atividades da camada de enlace.

Introdução

7

Page 8: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Serviços oferecidos

• O principal serviço é a transferência de dados entre as camadas de rede de uma máquina origem para uma máquina destino;

• Tipos de serviços:

1. Sem conexão e sem confirmação;

2. Sem conexão e com confirmação;

3. Com conexão e com confirmação.

Introdução

8

Page 9: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Serviços oferecidos

• O principal serviço é a transferência de dados entre as camadas de rede de uma máquina origem para uma máquina destino;

• Tipos de serviços:

1. Sem conexão e sem confirmação:

• Não há tentativa de identificar a perda de um quadro e recuperá-lo;

• Este trabalho é feito nas camadas superiores;

• Apropriado quando as taxas de erros é baixa e para tráfego em tempo real (transmissão de voz por exemplo);

• Exemplo de uso: Ethernet;

2. Sem conexão e com confirmação;

3. Com conexão e com confirmação.

Introdução

9

Page 10: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Serviços oferecidos

• O principal serviço é a transferência de dados entre as camadas de rede de uma máquina origem para uma máquina destino;

• Tipos de serviços:

1. Sem conexão e sem confirmação;

2. Sem conexão e com confirmação:

• Existe a verificação de perda de um quadro e a tentativa de recuperá-lo;

• Apropriado para canais menos confiáveis, como sistemas sem fio;

• O custo do envio de um pacote inteiro pode ser muito maior do que o overhead de verificação e recuperação de um quadro;

• Exemplo de uso: 802.11 (WiFi);

3. Com conexão e com confirmação.

Introdução

10

Page 11: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Serviços oferecidos

• O principal serviço é a transferência de dados entre as camadas de rede de uma máquina origem para uma máquina destino;

• Tipos de serviços:

1. Sem conexão e sem confirmação;

2. Sem conexão e com confirmação;

3. Com conexão e com confirmação:

• Serviço mais sofisticado: cada quadro é numerado e sua entrega é garantida;

• Cada quadro será entregue uma única vez e na ordem correta (fluxo de bits confiável);

• Apropriado para enlaces longos e não confiáveis;

• Exemplo de uso: sistemas de satélite.

Introdução

11

Page 12: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

• Problema de enquadramento: • Como agrupar sequências de bits em quadros?

• Como determinar o início e o fim de um quadro?

• Métodos:

1. Contagem de caracteres;

2. Bytes de flag com inserção de bytes (byte stuffing);

3. Flags iniciais e finais, com inserção de bits (bit stuffing);

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

Introdução

12

Page 13: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

1. Contagem de caracteres: • Utiliza um campo de cabeçalho para especificar o tamanho do quadro;

• Problema: a contagem pode ser adulterada por erro na transmissão;

• Por isso, não é mais utilizado.

Fluxo de bytes. (a) Sem erros. (b) Com um erro.

Introdução

13

Page 14: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

2. Bytes de flag com inserção de bytes (byte stuffing):

• Cada quadro começa e termina com um byte especial: byte de flag;

• Dois bytes de flag seguidos indicam o fim de um quadro e o início de outro;

• Caso o receptor perca a sincronização basta procurar dois bytes de flag seguidos;

• Problema: e se ocorrer o padrão do FLAG no campo de carga útil?

Introdução

14

Page 15: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

• Um caractere especial (byte de escape: ESC) é inserido antes do FLAG “acidental”;

• Assim o byte de FLAG do enquadramento é distinguido do byte de FLAG dos dados;

• Problema: e se ocorrer o padrão do byte de escape nos dados?

Introdução

15

Page 16: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

• Problema: e se ocorrer o padrão do byte de escape nos dados? Mesma estratégia, um byte ESC antes do byte ESC “acidental”;

• Bytes ESC inseridos nos dados são removidos após a recepção.

Introdução

16

Page 17: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

3. Flags iniciais e finais, com inserção de bits (bit stuffing) (1):

• Um problema na estratégia anterior: está ligada à utilização de bytes (8 bits) => 1 quadro é composto por n bytes;

• O enquadramento pode ser feito em nível de bits, assim, os quadros podem ser compostos por unidades de qualquer tamanho;

Introdução

17

Page 18: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

3. Flags iniciais e finais, com inserção de bits (bit stuffing) (2):

• Cada quadro começa e termina com a inserção de um padrão de bits: 01111110;

• Sempre que ocorre uma sequência de cinco bits “1” nos dados é inserido um bit “0” após a sequência;

• Na entrega estes bits “0” são removidos;

• Neste caso não há ambiguidade na identificação dos limites dos quadros.

Introdução

18

Page 19: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

3. Flags iniciais e finais, com inserção de bits (bit stuffing) (3):

• Exemplo da inserção de bits:

(a) Dados originais.

(b) Dados com bits de preenchimento. (c) Dados armazenados em buffer após retirada dos bits de preenchimento.

Introdução

19

Page 20: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Enquadramento

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

• Baseado em características da camada física;

• O início e o final do quadro é definido pela utilização de um código de transmissão inválido;

• Exemplo: na codificação 4B/5B, 16 das 32 possibilidades de sinal não são utilizadas, pode-se utilizar um destes códigos para sinalizar o início e o fim dos quadros;

• Por serem sinais reservados, não é necessário inserir bytes ou bits nos dados;

• São fáceis de serem identificados.

Introdução

20

Page 21: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Controle de erros

• Tratamento do problema de entrega dos quadros em ordem e sem repetição;

• Métodos:

• Quadros de controle com confirmações positivas e negativas;

• Temporização do envio dos quadros e recebimento de confirmações;

• Atribuição de números de sequência para os quadros afim de evitar duplicação no receptor;

• Ao longo dos próximos tópicos veremos mais detalhes sobre o gerenciamento de erros.

Introdução

21

Page 22: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Controle de fluxo

• Tratamento do problema de um transmissor rápido e um receptor lento;

• Ou seja, equilíbrio entre a taxa de transmissão e de recepção de quadros;

• O protocolo deve manter regras bem definidas sobre quando um transmissor pode enviar o quadro;

• Métodos:

• Baseado em feedback: o receptor envia informações de volta ao transmissor permitindo o envio de novos dados;

• Baseado em velocidade: o protocolo tem um mecanismo interno

que limita a velocidade dos transmissores.

Introdução

22

Page 23: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

DETECÇÃO E CORREÇÃO DE ERROS

Introdução;

Detecção e correção de erros;

Protocolos básicos de enlace de dados;

Protocolos de janela deslizante;

Exemplos de protocolos de enlace de dados;

Controle de acesso ao meio.

23

Page 24: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Tópicos

• Introdução;

• Códigos de detecção de erros.

• Códigos de correção de erros;

Detecção e correção de erros

24

Page 25: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Erros de transmissão acontecem:

• Fibra óptica = poucos erros;

• Enlaces sem fio = muitos erros;

• Erros vieram para ficar, então, como lidar com eles?

• Duas estratégias:

• Inclusão de informação redundante para detectar o erro;

• Inclusão de informação redundante para corrigir o erro;

• Cada estratégia é adequada para um determinado ambiente.

Detecção e correção de erros

25

Page 26: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Inclusão de informação redundante para detectar o erro:

• Códigos de detecção de erros;

• Usados em meios confiáveis (fibra óptica por ex.);

• O bloco defeituoso é retransmitido;

• Inclusão de informação redundante para corrigir o erro:

• Códigos de correção de erros;

• Também chamado de: correção antecipada de erros;

• Usados em meios menos confiáveis (enlaces sem fio por ex.);

• Tenta descobrir o erro e corrigi-lo sem a necessidade de enviá-lo novamente.

Detecção e correção de erros

26

Page 27: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Tipos de erros:

• Erros simples (um bit isolado);

• Rajada de erros (sequência de bits corrompidos):

Detecção e correção de erros

27

Page 28: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Redundância:

• Tanto a detecção quanto a correção de erros usará da redundância de dados:

Detecção e correção de erros

28

Page 29: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

1. Bits de paridade;

2. Checksum;

3. CRC.

Detecção e correção de erros

29

Page 30: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

1. Bits de paridade:

• Um único bit (bit de paridade) é acrescentado aos dados;

• Este bit é escolhido de forma que:

• O número de bits “1” transmitidos seja par;

• OU, este número seja ímpar;

• Método simples, que permite detecção de erros individuais;

• Normalmente implementado em hardware;

• Exemplos:

• Paridade par: 0101101 => 01011010;

• Paridade ímpar: 0101101 => 01011011;

Detecção e correção de erros

30

Page 31: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

1. Bits de paridade (cont.):

• Entrelaçamento:

• Os dados são formatados na forma de matrizes;

• Bits de paridade são calculados para cada coluna:

Detecção e correção de erros

31

Page 32: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

1. Bits de paridade (cont.):

• Paridade combinada:

• Os dados são formatados na forma de matrizes;

• Bits de paridade são calculados para cada linha e coluna:

Detecção e correção de erros

32

Page 33: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

2. Checksum:

• “Checksum” é usado para indicar um grupo de bits de verificação, independentemente de como são calculados;

• Um grupo de bits de paridade pode ser exemplo de checksum;

• Porém, existem checksums mais robustos que os bits de paridade;

• Opera sobre palavras e não bits;

• Erros que passaram pelos bits de paridade podem ser encontrados;

• Exemplo: Protocolo IP – soma de verificação de 16 bits.

Detecção e correção de erros

33

Page 34: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

2. Checksum (cont.):

• Transmissor:

• Divide a mensagem em k segmentos de n bits;

• Soma os k segmentos;

• Forma o checksum com o complemento da soma;

• Envia a mensagem junto com o checksum;

• Exemplo:

• 1010100100111001;

• 10101001 | 00111001;

• 10101001 + 00111001 = 11100010;

• 00011101 (complemento da soma – checksum);

• 101010010011100100011101 (mensagem codificada);

Detecção e correção de erros

34

Page 35: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

2. Checksum (cont.):

• Receptor:

• Divide a mensagem em k segmentos de n bits;

• Soma os k segmentos;

• Forma o checksum com o complemento da soma;

• Se o checksum for igual a zero, dados aceitos!

• Exemplo:

• 101010010011100100011101 (mensagem recebida);

• 10101001 | 00111001 | 00011101;

• 10101001 + 00111001 + 00011101 = 11111111;

• 00000000 (checksum é zero, mensagem aceita!);

• 1010100100111001 (mensagem decodificada, o checksum enviado é descartado);

Detecção e correção de erros

35

Page 36: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

3. CRC:

• Cyclic Redundancy Check => Código de Redundância Cíclica;

• Também conhecido como código polinomial;

• Ideia:

Detecção e correção de erros

36

Resto da divisão

Page 37: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

3. CRC (cont.):

• Gerador de CRC (Transmissor):

• Mensagem: 100100001 (Dados + CRC)

Detecção e correção de erros

37

Page 38: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

3. CRC (cont.):

• Verificador de CRC (Receptor):

Detecção e correção de erros

38

Page 39: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

3. CRC (cont.):

• Exemplo de descarte:

Detecção e correção de erros

39

Page 40: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

3. CRC (cont.):

• Polinômio gerador de CRC é o nome dado para a representação polinomial do divisor:

Detecção e correção de erros

40

Page 41: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de detecção de erros

3. CRC (cont.):

• Exemplos de polinômios e aplicações:

Detecção e correção de erros

41

Nome Polinômio Aplicação

CRC-8 X8 + x2 + x + 1 ATM header

CRC-10 X10 + x9 + x5 + x4 + x2 + 1 ATM AAL

CRC-16 X16 + x12 + x5 + 1 HDLC

CRC-32 X32 + x26 + x23 + x22 + x11 +

x10 + x8 + x7 + x5 + x4 + x2 + x + 1 LANs

Page 42: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

• Códigos de Hamming:

• Vários bits de paridade são acrescentados usando regras especiais;

• Com esta redundância é possível corrigir erros;

• Um quadro consiste de m bits de dados e r bits redundantes;

• O tamanho total n é dado por m + r;

• Esta unidade de n bits é chamada palavra de código (codeword);

Detecção e correção de erros

42

Page 43: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

• Códigos de Hamming (cont.):

• Ideia:

• Os bits são numerados;

• Bits que são potência de dois são de verificação (1, 2, 4, ...);

• Os demais são bits de dados (3, 5, 6, 7, ...);

• Cada bit de verificação força a paridade de um conjunto de bits (paridade par ou impar);

Detecção e correção de erros

43

Page 44: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

• Códigos de Hamming (cont.):

• Ideia:

• Um bit pode ser incluído em vários cálculos de verificação;

• Para saber para quais bits de verificação o bit na posição (k) contribui, represente-o como a soma das potências de 2:

• Para k = 11: 11 = 1 + 2 + 8

• Para k = 5: 5 = 1 + 4

Detecção e correção de erros

44

Page 45: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

• Códigos de Hamming (cont.):

• Ideia:

• O código de Hamming é definido pelo número de bits utilizados na forma (n, m);

• Exemplo de um código de Hamming (11, 7):

• Usa um total de 11 bits;

• 7 bits de dados;

• 4 bits de verificação.

Detecção e correção de erros

45

Page 46: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

• Códigos de Hamming (cont.):

• Dois exemplos de um código de Hamming (11, 7):

Exemplo 01 (numerando da esquerda para a direita):

P1 = M3 + M5 + M7 + M9 + M11

P2 = M3 + M6 + M7 + M10 + M11

P4 = M5 + M6 + M7

P8 = M9 + M10 + M11

Considerar formação de paridade par.

Detecção e correção de erros

46

1 2 3 4 5 6 7 8 9 10 11

P1 P2 M3 P4 M5 M6 M7 P8 M9 M10 M11

Page 47: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

Exemplo 01 (cont.):

Para a mensagem: 1101001

P1 = M3 + M5 + M7 + M9 + M11 = 1 + 1 + 1 + 0 + 1 = 0

P2 = M3 + M6 + M7 + M10 + M11 = 1 + 0 + 1 + 0 + 1 = 1

P4 = M5 + M6 + M7 = 1 + 0 + 1 = 0

P8 = M9 + M10 + M11 = 0 + 0 + 1 = 1

Código de Hamming:

Detecção e correção de erros

47

1 2 3 4 5 6 7 8 9 10 11

P1 P2 1 P4 1 0 1 P8 0 0 1

0 1 1 0 1 0 1 1 0 0 1

Page 48: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

Exemplo 01 (cont.):

No receptor:

• Mensagem recebida: 01100011001 (erro no quinto bit);

• Calcula-se novamente a paridade dos bits verificadores, considerando seu próprio valor:

P1 + M3 + M5 + M7 + M9 + M11 = 0 + 1 + 0 + 1 + 0 + 1 = 1

P2 + M3 + M6 + M7 + M10 + M11 = 1 + 1 + 0 + 1 + 0 + 1 = 0

P4 + M5 + M6 + M7 = 0 + 0 + 0 + 1 = 1

P8 + M9 + M10 + M11 = 1 + 0 + 0 + 1 = 0

• Síndrome de erro (número binário formado por P8, P4, P2, P1):

• 01012 = 510 (o bit errado é o quinto);

• Para realizar a correção basta inverter o bit 5;

Detecção e correção de erros

48

Page 49: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

Exemplo 02: numerando da direita para a esquerda:

P1 = M3 + M5 + M7 + M9 + M11

P2 = M3 + M6 + M7 + M10 + M11

P4 = M5 + M6 + M7

P8 = M9 + M10 + M11

Exercício, considerar formação de paridade par:

• Codifique a mensagem: 1001101;

• Simule a recepção da mensagem sem erros e com erro no bit 7;

Detecção e correção de erros

49

11 10 9 8 7 6 5 4 3 2 1

M11 M10 M9 P8 M7 M6 M5 P4 M3 P2 P1

Page 50: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

Exemplo 02 (cont.):

Para a mensagem: 1001101

P1 = M3 + M5 + M7 + M9 + M11 = 1 + 0 + 1 + 0 + 1 = 1

P2 = M3 + M6 + M7 + M10 + M11 = 1 + 1 + 1 + 0 + 1 = 0

P4 = M5 + M6 + M7 = 0 + 1 + 1 = 0

P8 = M9 + M10 + M11 = 0 + 0 + 1 = 1

Código de Hamming:

Detecção e correção de erros

50

11 10 9 8 7 6 5 4 3 2 1

1 0 0 P8 1 1 0 P4 1 P2 P1

1 0 0 1 1 1 0 0 1 0 1

Page 51: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

Exemplo 02 (cont.):

No receptor:

• Mensagem recebida sem erro: 10011100101

P1 + M3 + M5 + M7 + M9 + M11 = 1 + 1 + 0 + 1 + 0 + 1 = 0

P2 + M3 + M6 + M7 + M10 + M11 = 0 + 1 + 1 + 1 + 0 + 1 = 0

P4 + M5 + M6 + M7 = 0 + 0 + 1 + 1 = 0

P8 + M9 + M10 + M11 = 1 + 0 + 0 + 1 = 0

• Síndrome de erro (número binário formado por P8, P4, P2, P1):

• 00002 = 010 (não houve erro);

Detecção e correção de erros

51

Page 52: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Códigos de correção de erros

Exemplo 02 (cont.):

No receptor:

• Mensagem recebida: 10010100101 (erro no sétimo bit);

P1 + M3 + M5 + M7 + M9 + M11 = 1 + 1 + 0 + 0 + 0 + 1 = 1

P2 + M3 + M6 + M7 + M10 + M11 = 0 + 1 + 1 + 0 + 0 + 1 = 1

P4 + M5 + M6 + M7 = 0 + 0 + 1 + 0 = 1

P8 + M9 + M10 + M11 = 1 + 0 + 0 + 1 = 0

• Síndrome de erro (número binário formado por P8, P4, P2, P1):

• 01112 = 710 (o bit errado é o sétimo);

• Para realizar a correção basta inverter o bit 7;

Detecção e correção de erros

52

Page 53: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

PROTOCOLOS BÁSICOS DE ENLACE DE DADOS

Introdução;

Detecção e correção de erros;

Protocolos básicos de enlace de dados;

Protocolos de janela deslizante;

Exemplos de protocolos de enlace de dados;

Controle de acesso ao meio.

53

Page 54: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Suposições:

• Entre as três camadas envolvidas:

• Existem processos independentes que se comunicam através de troca de mensagens;

• Implementação das camadas segue a arquitetura:

Protocolos básicos de enlace de dados

54

Camada Nome

5 Aplicação

4 Transporte

3 Rede

2 Enlace

1 Física

Page 55: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Suposições (cont.):

• Máquina A deseja enviar um longo fluxo de dados para a máquina B através de um serviço confiável e orientado a conexões;

• A possui um suprimento infinito de pacotes prontos para serem enviados;

• A camada de enlace encapsula o pacote em um quadro;

• Os protocolos não se preocupam com o checksum (normalmente feito em hardware, está a cargo das funções da biblioteca;

• Funções existentes em biblioteca:

• to(from)_physical_layer;

• to(from)_network_layer;

• wait_for_event;

• ...

Protocolos básicos de enlace de dados

55

Page 56: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Suposições (cont.):

• Tipos de eventos:

• cksum_err;

• frame_arrival;

• timeout;

• Estruturas de dados:

• boolean;

• seq_nr;

• packet;

• frame_kind;

• frame;

Protocolos básicos de enlace de dados

56

Page 57: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Suposições (cont.):

• Constantes:

• MAX_SEQ;

• MAX_PKT;

• Protocolos:

1. Simplex sem restrições;

2. Simplex Stop-and-Wait em canal livre de erros;

3. Simplex Stop-and-Wait em canal livre com ruídos;

• Tudo isso, e os exemplos de protocolos, é fornecido em um simulador implementado por Tanenbaum, disponível no site da disciplina.

Protocolos básicos de enlace de dados

57

Page 58: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

1. Simplex sem restrições

• Dados trafegam em um único sentido;

• Cenário ideal (imaginário - utopia), nada sai errado:

• As camadas de rede estão sempre prontas;

• Tempo de processamento é ignorado;

• Espaço em buffer é infinito;

• Dados nunca são danificados;

• Quadros nunca são perdidos;

58

Protocolos básicos de enlace de dados

Page 59: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

1. Simplex sem restrições

• Dois procedimentos: Transmissor e Receptor;

• Um único evento possível: frame_arrival;

• Não são usados número de sequência ou de confirmação;

• Ou seja, não trata controle de fluxo nem correção de erros;

59

Protocolos básicos de enlace de dados

Page 60: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

1. Simplex sem restrições

60

Protocolos básicos de enlace de dados

Page 61: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

1. Simplex sem restrições

• Código-fonte:

typedef enum {frame_arrival} event_type;

#include "protocol.h“

void sender1(void) {

frame s;

packet buffer;

while (true) {

from_network_layer(&buffer);

s.info = buffer;

to_physical_layer(&s);

}

} 61

Protocolos básicos de enlace de dados

Page 62: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

1. Simplex sem restrições

• Código-fonte (cont.):

void receiver1(void) {

frame r;

event_type event;

while (true) {

Wait_for_event(&event);

from_physical_layer(&r);

to_network_layer(&r.info);

}

} 62

Protocolos básicos de enlace de dados

Page 63: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

2. Simplex Stop-and-Wait em canal livre de erros

• Trata o controle de fluxo;

• Continua considerando um canal sem erros e tráfego simplex;

63

Protocolos básicos de enlace de dados

Page 64: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

2. Simplex Stop-and-Wait em canal livre de erros

64

Protocolos básicos de enlace de dados

Page 65: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

2. Simplex Stop-and-Wait em canal livre de erros

65

Protocolos básicos de enlace de dados

• Código-fonte: arquivo “p2.c”

Page 66: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

3. Simplex Stop-and-Wait em canal com ruídos

• Agora podem ocorrer erros;

• Na ocorrência de erros, o quadro deve ser retransmitido;

• O receptor deve saber distinguir se o quadro foi duplicado;

• Então utiliza um número de sequência;

66

Protocolos básicos de enlace de dados

Page 67: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

3. Simplex Stop-and-Wait em canal com ruídos

• O transmissor passa para o próximo quadro apenas depois de receber uma confirmação (ACK) da última sequência enviada;

• O receptor apenas aceita quadros com a próxima sequência esperada;

• Um temporizador é usado no transmissor para não ficar em deadlock;

• Neste exemplo, apenas um bit é necessário.

67

Protocolos básicos de enlace de dados

Page 68: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

3. Simplex Stop-and-Wait em canal com ruídos

• Esta estratégia é conhecida como:

• Solicitação de Repetição Automática;

• Ou ARQ (Automatic Repeat reQuest);

• Ou PAR (Positive Acknowledgement with Retransmission).

68

Protocolos básicos de enlace de dados

Page 69: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

3. Simplex Stop-and-Wait em canal com ruídos

69

Protocolos básicos de enlace de dados

Page 70: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

3. Simplex Stop-and-Wait em canal com ruídos

70

Protocolos básicos de enlace de dados

Page 71: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

3. Simplex Stop-and-Wait em canal com ruídos

71

Protocolos básicos de enlace de dados

• É importante que o tempo de timeout seja suficiente para que o ACK chegue sem esgotá-lo quando nenhum erro ocorrer;

Page 72: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

3. Simplex Stop-and-Wait em canal com ruídos

72

Protocolos básicos de enlace de dados

Page 73: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

3. Simplex Stop-and-Wait em canal com ruídos

• Código-fonte: arquivo “p3.c”.

73

Protocolos básicos de enlace de dados

Page 74: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Conclusão

• Nos protocolos anteriores os quadros de dados são transmitidos em apenas um sentido (simplex);

• Além disso, o transmissor precisa esperar a confirmação do último quadro enviado para poder enviar um novo quadro;

• Este tempo de espera pode ser significativo, deixando o canal ocioso;

• Estes protocolos são bons para introduzir o assunto, mas em situações práticas são pouco usuais.

74

Protocolos básicos de enlace de dados

Page 75: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

PROTOCOLOS DE JANELA DESLIZANTE

Introdução;

Detecção e correção de erros;

Protocolos básicos de enlace de dados;

Protocolos de janela deslizante;

Exemplos de protocolos de enlace de dados;

Controle de acesso ao meio.

75

Page 76: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Para um melhor aproveitamento do canal é necessária uma transmissão full-duplex:

• Uso de dois canais simplex separados (transmissão / recepção);

• Uso de um canal full-duplex;

• Aprimoramento dos protocolos Stop-and-Wait anteriores:

• Ao invés de enviar quadros de ACK puros, pode enviar ACK + dados em um único quadro;

• Ou seja, o ACK “pega carona” em um quadro de dados;

• Esta técnica chama-se piggybacking;

• Mas e se não houver um quadro? Timeout;

• Quanto tempo esperar?

Protocolos de janela deslizante

76

Page 77: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Outra questão a ser aprimorada nos protocolos anteriores é a necessidade de esperar um ACK para enviar outro pacote;

• Nos protocolos de Janela Deslizante é permitido que mais de um pacote esteja “em trânsito” sem a confirmação;

• Cada quadro contém um número de sequência de n bits (0 até 2n-1);

• Stop-and-Wait é um protocolo de janela deslizante com n = 1;

• Protocolos mais sofisticados utilizam um valor arbitrário de n;

Protocolos de janela deslizante

77

Page 78: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• O transmissor mantém um conjunto de números de sequência que ele pode enviar: janela de transmissão;

• O receptor mantém um conjunto de números de sequência que ele pode receber: janela de recepção;

• Estas janelas não precisam ser iguais e nem possuírem tamanho fixo;

Protocolos de janela deslizante

78

Page 79: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Apesar de maior liberdade, mantém-se a exigência de entregar os pacotes à camada de rede na mesma ordem em que eles foram repassados à camada de enlace;

• O canal de comunicação física continua entregando os quadros na ordem de envio;

• Protocolos:

• Janela deslizante de um bit;

• Pipeline:

• Go-Back-N;

• Retransmissão seletiva;

Protocolos de janela deslizante

79

Page 80: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Janela deslizante de um bit

• N = 1, quadro esperado: 0 ou 1;

• Utiliza o protocolo Stop-and-Wait;

• Código-fonte: arquivo “p4.c”.

Protocolos de janela deslizante

80

Page 81: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Janela deslizante de um bit

Dois cenários para o protocolo 4. (a) Caso normal.

(b) Caso incomum. A notação segue (seq, ack, núm. pacote). O asterisco indica quando a camada de rede aceita o pacote.

Protocolos de janela deslizante

81

Page 82: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

• Até agora foi considerado que o tempo gasto para um quadro chegue ao receptor e o quadro de confirmação retorne ao transmissor era insignificante;

• Em muitos casos esta afirmação não é verdadeira:

• O tempo de ida e volta pode afetar a eficiência da utilização da largura de banda;

Protocolos de janela deslizante

82

Page 83: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

• Exemplo:

• Canal de satélite de 50 kbps;

• Tempo de ida e volta (round trip): 500 ms;

• Quadro: 1.000 bits;

• T = 0: início da transmissão;

• T = 20 ms: fim da transmissão do quadro;

• T = 270 ms: receptor recebe o quadro completo;

• T = 520 ms: transmissor recebe confirmação;

• Tempo de bloqueio do transmissor:

• Tempo esperando / tempo total = 500 / 520 = 0,96 (96%);

• Utilização da banda: 4%.

Protocolos de janela deslizante

83

Page 84: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

• Como utilizar melhor a banda?

• Permitir que o transmissor envie w quadros antes do bloqueio ao invés de apenas 1;

• Uma escolha adequada de w permite que o transmissor seja capaz de transmitir continuamente.

Protocolos de janela deslizante

84

Page 85: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

• Para determinar w é preciso saber quantos quadros “cabem” no canal:

• Produto largura de banda-atraso (BD);

• BD = B * tempo de trânsito em mão única / tam. do quadro (bits);

• B é a largura de banda em bits/s;

• w = 2 * BD + 1;

• Para o exemplo anterior: w = 2 * 50k * 250 m / 1.000 + 1 = 26;

• Isso significa que, quando terminar de enviar 26 quadros a confirmação para o primeiro quadro terá acabado de chegar, liberando-o para enviar outro quadro.

Protocolos de janela deslizante

85

Page 86: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

• Como lidar com erros no pipeline? Duas estratégias:

• A primeira estratégia (janela de recepção = 1) é chamada de Go-Back-N; • Código-fonte: arquivo “p5.c”;

• A segunda estratégia (janela de recepção != 1) é chamada de Retransmissão Seletiva; • Código-fonte: arquivo “p6.c”.

Protocolos de janela deslizante

86

Page 87: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

• Go-Back-N:

• Atenção à notação diferente: Quadro 0 => ACK 0, nos protocolos simples usamos Quadro 0 => ACK 1;

• O que acontece se um ACK é perdido?

Protocolos de janela deslizante

87

Page 88: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

• Retransmissão Seletiva:

• Atenção à notação diferente: Quadro 0 => ACK 0, nos protocolos simples usamos Quadro 0 => ACK 1;

• O que acontece se um ACK ou NAK é perdido?

Protocolos de janela deslizante

88

Page 89: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

• Go-Back-N v.s. Retransmissão seletiva:

• No Go-Back-N pacotes recebidos corretamente podem ser enviados novamente:

• Funcionará bem quando houverem poucos erros;

• Na Retransmissão Seletiva é inserida complexidade do controle de pacotes recebidos fora de ordem e o seu armazenamento em buffer:

• Para que não haja sobreposição de quadros (achar que um quadro retransmitido é um novo quadro) o tamanho da janela deverá ser (MAX_SEQ + 1) / 2;

• Consequentemente, o tamanho do buffer deverá ser igual ao tamanho da janela, e não ao número de sequência;

• Vide Ilustração no slide seguinte.

Protocolos de janela deslizante

89

Page 90: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Pipeline

(a) Situação inicial com uma janela de tamanho 7.

(b) Após o envio e recebimento de 7 quadros sem reconhecimento.

(c) Situação inicial com uma janela de tamanho 4.

(d) Após o envio e recebimento de 4 quadros sem reconhecimento.

Protocolos de janela deslizante

90

Page 91: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

EXEMPLOS DE PROTOCOLOS DE ENLACE DE DADOS

Introdução;

Detecção e correção de erros;

Protocolos básicos de enlace de dados;

Protocolos de janela deslizante;

Exemplos de protocolos de enlace de dados;

Controle de acesso ao meio.

91

Page 92: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Camada de Enlace na Internet:

• Modelo básico da Internet:

• Dentro de um único prédio, as LANs são bastante utilizadas para interconexões;

• Infraestrutura geograficamente distribuída é construída a partir de linhas privadas ponto-a-ponto;

• Protocolo de enlace de dados utilizado em linhas ponto-a-ponto:

• PPP (Point-to-Point Protocol).

Exemplos de protocolos de enlace de dados

92

Page 93: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

PPP

• Descrito na RFC 1661 e mais elaborado na RFC 1662 (além de outras);

• Características:

• Realiza o tratamento de erros;

• Reconhece e trata diferentes protocolos;

• Permite que endereços IP sejam negociados em tempo de conexão;

• Permite autenticação;

• Orientado a caractere (quadros representam um número inteiro de bytes);

Exemplos de protocolos de enlace de dados

93

Page 94: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

PPP

• Recursos:

• Enquadramento utilizando marcadores não ambíguos e detecção de erros;

• Um protocolo de controle de enlace para ativar, testar, negociar opções e desativar linhas: LCP (Link Control Protocol);

• Um protocolo para negociar opções da camada de rede, permitindo o uso de vários protocolos de rede: NCP (Network Control Protocol);

Exemplos de protocolos de enlace de dados

94

Page 95: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

PPP

• Quadro PPP (1):

• Delimitado pelo flag 01111110;

• Endereço: contém o valor fixo 11111111;

• Controle: contém o valor padrão 00000011;

• O LCP fornece um mecanismo para omitir o Endereço e o Controle;

Exemplos de protocolos de enlace de dados

95

Page 96: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

PPP

• Quadro PPP (2):

• Protocolo: informa o tipo de protocolo utilizado no campo de Carga Útil (IPv4, IPv6, IPX, AppleTalk, etc.);

• Carga Útil: dados transferidos, que pode ser de tamanho variado;

• Checksum: para verificação de erro.

Exemplos de protocolos de enlace de dados

96

Page 97: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

PPP

• Duas situações comuns do uso do PPP (1):

• SONET: enlaces de fibra ótica em redes de longa distância:

(a) Pilha de protocolos;

(b) Relação entre quadros.

Exemplos de protocolos de enlace de dados

97

Page 98: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

PPP

• Duas situações comuns do uso do PPP (2):

• ADSL (Asymmetric Digital Subscriber Line): conecta milhões de usuarios domésticos e empresas a partir do serviço telefônico tradicional:

• DSLAM (DSL Access Multiplexer): dispositivo na estação local que extrai os pacotes e os insere em uma rede do ISP.

Exemplos de protocolos de enlace de dados

98

Page 99: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CONTROLE DE ACESSO AO MEIO

Introdução;

Detecção e correção de erros;

Protocolos básicos de enlace de dados;

Protocolos de janela deslizante;

Exemplos de protocolos de enlace de dados;

Controle de acesso ao meio.

99

Page 100: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Até agora lidamos com enlaces ponto-a-ponto orientados a conexão;

• Quando são utilizados enlaces broadcast (ou redes de difusão), uma questão fundamental entra em cena:

• Como determinar quem tem direito de usar o canal quando mais de um host necessita usá-lo simultaneamente?

• Canais broadcast normalmente são chamados também de:

• Canais multiacesso;

• Canais de acesso aleatório.

Controle de acesso ao meio

100

Page 101: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Os protocolos utilizados para determinar quem será o próximo a usar um canal multiacesso pertencem a uma subcamada da camada de enlace de dados:

• MAC (Medium Access Control);

• Subcamada de controle de acesso ao meio;

• A subcamada MAC é especialmente importante para as LANs, pois nestas redes os hosts normalmente utilizam um canal broadcast;

• WANs utilizam enlaces ponto-a-ponto.

Controle de acesso ao meio

101

Page 102: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Introdução

• Tópicos:

• O problema de alocação de canais:

• Dois esquemas de alocação:

• Alocação Estática;

• Alocação Dinâmica;

• Protocolos de acesso múltiplo:

• ALOHA;

• CSMA;

• Protocolos de LANs sem fios;

• Ethernet.

Controle de acesso ao meio

102

Page 103: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Problema de alocação de canais

• Como alocar um único canal de broadcast entre usuários concorrentes?

• Duas abordagens:

• Alocação Estática;

• Alocação Dinâmica.

Controle de acesso ao meio

103

Page 104: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Problema de alocação de canais

• Alocação Estática:

• Tradicionalmente usando multiplexação (e.g. FDM e TDM);

• Pode ser eficiente quando:

• O número de usuários é pequeno e fixo;

• Cada usuário demanda tráfego pesado;

• Problemas:

• Número de usuários grande e variável;

• Tráfego em rajadas.

Controle de acesso ao meio

104

Page 105: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Problema de alocação de canais

• Alocação Dinâmica (1):

• Baseado em 5 premissas:

1. Tráfego independente;

2. Premissa de canal único;

3. Colisões observáveis;

4. Tempo contínuo ou segmentado;

5. Detecção de portadora.

Controle de acesso ao meio

105

Page 106: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Problema de alocação de canais

• Alocação Dinâmica (2):

• Baseado em 5 premissas:

1. Tráfego independente:

• Existem n estações independentes que geram quadros a serem transmitidos;

• A estação fica bloqueada até o quadro ser totalmente transmitido;

2. Premissa de canal único;

3. Colisões observáveis;

4. Tempo contínuo ou segmentado;

5. Detecção de portadora.

Controle de acesso ao meio

106

Page 107: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Problema de alocação de canais

• Alocação Dinâmica (3):

• Baseado em 5 premissas:

1. Tráfego independente;

2. Premissa de canal único:

• Todas as estações compartilham um único canal de comunicação, tanto para transmissão quanto para recepção;

• Do ponto de vista do hardware elas são equivalentes;

• Do ponto de vista do software podem haver prioridades;

3. Colisões observáveis;

4. Tempo contínuo ou segmentado;

5. Detecção de portadora.

Controle de acesso ao meio

107

Page 108: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Problema de alocação de canais

• Alocação Dinâmica (4):

• Baseado em 5 premissas:

1. Tráfego independente;

2. Premissa de canal único;

3. Colisões observáveis:

• A transmissão “simultânea” de dois ou mais quadros por estações diferentes causa uma colisão;

• Estações são capazes de detectar colisões;

• Quadros envolvidos em colisões devem ser retransmitidos posteriormente;

4. Tempo contínuo ou segmentado;

5. Detecção de portadora.

Controle de acesso ao meio

108

Page 109: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Problema de alocação de canais

• Alocação Dinâmica (5):

• Baseado em 5 premissas:

1. Tráfego independente;

2. Premissa de canal único;

3. Colisões observáveis;

4. Tempo contínuo ou segmentado:

• Em tempo contínuo os quadros podem ser transmitidos a qualquer instante;

• Em tempo segmentado (slotted) o tempo é dividido em intervalos discretos (slots) e as transmissões de quadros sempre começam no início de um slot;

5. Detecção de portadora.

Controle de acesso ao meio

109

Page 110: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Problema de alocação de canais

• Alocação Dinâmica (6):

• Baseado em 5 premissas:

1. Tráfego independente;

2. Premissa de canal único;

3. Colisões observáveis;

4. Tempo contínuo ou segmentado;

5. Detecção de portadora:

• Com a detecção de portadora (carrier sense) as estações conseguem detectar se o canal está em uso antes de tentarem utilizá-lo e podem aguardar até um momento em que ele esteja livre;

• Sem a detecção de portadora (no carrier sense) as estações não conseguem detectar se o canal está em uso. Assim, simplesmente transmitem quando necessário.

Controle de acesso ao meio

110

Page 111: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Protocolos de acesso múltiplo

• Existem muitos algoritmos para alocar um canal de acesso múltiplo;

• Abordaremos apenas dois deles e suas variações;

• ALOHA:

• ALOHA original;

• Slotted ALOHA;

• CSMA:

• CSMA persistente e não persistente;

• CSMA com detecção de colisões.

Controle de acesso ao meio

111

Page 112: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

ALOHA

• ALOHA Original (1):

• As estações transmitem quando possuírem dados a serem enviados;

• Haverá colisões:

• Serão detectadas;

• Após um tempo de espera aleatório os dados serão novamente transmitidos;

Controle de acesso ao meio / Protocolos de acesso múltiplo

112

Page 113: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

ALOHA

• ALOHA Original (2):

• O tempo de transmissão dos quadros é completamente aleatório:

Controle de acesso ao meio / Protocolos de acesso múltiplo

113

Page 114: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

ALOHA

• ALOHA Original (3):

• Vulnerabilidade do quadro (sombreado):

Controle de acesso ao meio / Protocolos de acesso múltiplo

114

Page 115: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

ALOHA

• Slotted ALOHA:

• O tempo é dividido em unidades (slots);

• A transmissão pode ocorrer apenas no início de um slot;

• Possui menor vulnerabilidade dos quadros;

• Possibilita duplicar a capacidade do ALOHA Original, mas necessita sincronização entre as estações;

• Uma forma de sincronização seria fazer com que uma estação especial emitisse um sinal no início de cada slot.

Controle de acesso ao meio / Protocolos de acesso múltiplo

115

Page 116: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA

• CSMA = Carrier Sense Multiple Acccess;

• Estações escutam uma portadora (transmissão) por um curto período de tempo antes de transmitir, procurando identificar transmissões em curso;

• Persistente e não-persistente:

• 1-persistente;

• Não-persistente;

• P-persistente;

• Com detecção de colisões:

• CSMA/CD.

Controle de acesso ao meio / Protocolos de acesso múltiplo

116

Page 117: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA 1-persistente

• Uma estação escuta o canal ao desejar transmitir dados;

• Caso o canal esteja ocupado espera até que ele fique livre;

• Assim que o canal fica livre, transmite os dados;

• Caso alguma colisão ocorra, a estação espera um tempo aleatório e começa o processo novamente.

Controle de acesso ao meio / Protocolos de acesso múltiplo

117

Page 118: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA 1-persistente

• É chamado 1-persistente porque sempre transmite ao verificar que o canal está livre;

• Ou seja, transmite com uma probabilidade igual a 1 quando o canal está livre;

• O tempo de propagação tem um efeito importante no desempenho do protocolo.

Controle de acesso ao meio / Protocolos de acesso múltiplo

118

Page 119: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA não-persistente

• Similar ao 1-persistente;

• Diferença:

• Ao verificar que o canal está ocupado, uma estação espera por um período aleatório até começar a escutá-lo novamente;

• Com isso, é um método menos guloso e tem um desempenho melhor que o 1-persistente;

Controle de acesso ao meio / Protocolos de acesso múltiplo

119

Page 120: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA p-persistente

• Usado em canais com slots:

• Estação escuta o canal;

• Se estiver livre, transmite com uma probabilidade p;

• Senão, espera até o próximo slot;

• Repete o processo no próximo slot;

• Na ocorrência de colisão a estação espera um tempo aleatório e repete todo o processo.

Controle de acesso ao meio / Protocolos de acesso múltiplo

120

Page 121: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA - Comparação

Controle de acesso ao meio / Protocolos de acesso múltiplo

121

1-persistente Não-persistente P-persistente

Canal ocupado Espera até que ele fique desocupado

Espera um tempo aleatório e começa o processo novamente

Espera até o próximo slot

Canal desocupado Transmite um quadro

Transmite um quadro

Transmite com probabilidade p

Colisão

Espera um tempo aleatório e começa o processo novamente

Espera um tempo aleatório e começa o processo novamente

Espera um tempo aleatório e começa o processo novamente

Page 122: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

ALOHA v.s. CSMA

• Utilização do canal de acesso por vários protocolos:

O throughput pode ser traduzido como a taxa de transferência efetiva de um sistema, ou seja, a quantidade de dados processados em um determinado espaço de tempo.

122

Controle de acesso ao meio / Protocolos de acesso múltiplo

Page 123: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA/CD

• CSMA/CD = Carrier Sense Multiple Acccess / Collision Detection;

• Introduz melhoria:

• Uma estação interrompe a transmissão assim que detecta uma colisão;

• Com isso, economiza tempo e largura de banda;

• Consiste em alternar períodos de contenção e transmissão;

• Padronizado como IEEE 802.3 (Ethernet);

Controle de acesso ao meio / Protocolos de acesso múltiplo

123

Page 124: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA/CD

• Modelo conceitual:

• Apresenta um de três estados: contenção (disputa), transmissão ou inatividade

Controle de acesso ao meio / Protocolos de acesso múltiplo

124

Page 125: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

CSMA/CD

• Questão importante:

• Quanto tempo uma estação deve esperar para saber se houve uma colisão?

• 2x o tempo de propagação de ponta-a-ponta;

• Colisão não ocorrerá após este período;

• Colisões afetam o desempenho do sistema, principalmente em cabos longos e quadros curtos.

Controle de acesso ao meio / Protocolos de acesso múltiplo

125

Page 126: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Protocolos de LANs sem fios

• LAN sem fio é um exemplo de uso de canal broadcast;

• Mas, possui características distintas, que leva à adoção de protocolos diferentes;

• Normalmente em LANs sem fio não é possível identificar colisões enquanto elas estão ocorrendo;

• Adicionalmente, uma estação pode não ser capaz de transmitir ou receber quadros de todas as outras estações.

Controle de acesso ao meio / Protocolos de acesso múltiplo

126

Page 127: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Protocolos de LANs sem fios

• Problema da estação oculta:

• Uma estação não consegue detectar uma possível concorrente pelo meio físico porque ela está distante demais;

• A e C ocultos ao transmitirem para B:

Controle de acesso ao meio / Protocolos de acesso múltiplo

127

Page 128: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Protocolos de LANs sem fios

• Problema da estação exposta:

• Em uma situação inversa, é possível detectar um “falso” concorrente pelo meio físico caso dois transmissores estejam ao alcance um do outro, mas o mesmo não ocorra com os receptores.

• B e C visíveis ao transmitirem para A e D, respectivamente:

Controle de acesso ao meio / Protocolos de acesso múltiplo

128

Page 129: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Protocolos de LANs sem fios

• O problema nas LANs sem fio na realidade está em identificar a atividade em torno do receptor;

• Em um sistema de rádio, várias transmissões simultâneas podem ocorrer desde que todas tenham destinos distintos, e estes estejam fora do alcance uns dos outros;

• O CSMA não atende a este propósito;

• No fio, uma única transmissão é possível de cada vez.

Controle de acesso ao meio / Protocolos de acesso múltiplo

129

Page 130: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Protocolos de LANs sem fios

• Protocolo MACA (Multiple Access with Collision Avoidance):

• A ideia básica é fazer com que o transmissor estimule o receptor a liberar um quadro curto como saída, de modo que as estações vizinhas possam detectar essa transmissão e evitar transmitir enquanto o quadro de dados (grande) estiver sendo recebido;

• Esta técnica é usada no lugar da detecção de portadora.

Controle de acesso ao meio / Protocolos de acesso múltiplo

130

Page 131: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Protocolos de LANs sem fios

• O protocolo MACA:

• (a) A envia um RTS (Request to Send) a B;

• (b) B responde com um CTS (Clear to Send) para A.

Controle de acesso ao meio / Protocolos de acesso múltiplo

131

Page 132: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Protocolos de LANs sem fios

• Ainda assim poderá haver colisões;

• Neste caso, o transmissor que não obteve sucesso na transmissão aguardará um tempo aleatório para fazer nova tentativa.

Controle de acesso ao meio / Protocolos de acesso múltiplo

132

Page 133: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet

• Ethernet é provavelmente a o tipo de rede de comunicação mais utilizado no mundo;

• Foi implementada em 1976 por Metcalfe e Boggs no PARC (Palo Alto Research Center) da Xerox;

• Em 1978, a DEC, a Intel e a Xerox criaram um padrão para uma Ethernet de 10Mbps, chamado de padrão DIX.

Controle de acesso ao meio

133

Page 134: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet

• Com pequenas alterações, o padrão DIX se tornou o padrão IEEE 802.3 em 1983;

• O padrão define uma família de redes com velocidades de 10, 100, 1.000 Mbps e 10.000 Mbps em diferentes meios.

Controle de acesso ao meio

134

Page 135: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet

135

Controle de acesso ao meio

• Padrões estabelecidos:

• Estrategicamente a IEEE optou por manter a combatibilidade entre os padrões novos e antigos;

• Assim, normalmente os padrões mais novos consistem de adaptações dos padrões antigos de forma a aumentar sua capacidade de transmissão.

Padrão IEEE Ano Descrição

802.3 1983 10 Mbps – Cabo coaxial

802.3i 1990 10 Mbps – Par trançado

802.3j 1993 10 Mbps – Fibra ótica

802.3u 1995 100 Mbps – Fast Ethernet

802.3ab 1999 1 Gbps – Gigabit Ethernet

802.3an 2006 10 Gbps – 10 Gigabit Ethernet

Page 136: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Arquitetura:

Controle de acesso ao meio

136

Page 137: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Cabeamento:

Controle de acesso ao meio

137

Nome Cabo Dist. max. Nós / seg. Vantagens

10Base5 Coaxial (thick) 500 m 100 Cabo original (obsoleto).

10Base2 Coaxial (thin) 185 m 30 Sem necessidade de hub.

10Base-T Par trançado 100 m 1.024 Sistema mais barato.

10Base-F Fibra ótica 2.000 m 1.024 Melhor para interligar prédios.

Page 138: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Estrutura de quadro (1): (a) DIX; (b) IEEE 802-3;

• Preâmbulo: tem como função criar um padrão de 0s e 1s para a sincronização. Em algumas literaturas, não é considerado parte do frame Ethernet pois é adicionado ao frame na camada física/

• Composto de 7 bytes “10101010” e 1 byte “10101011” (Início de quadro – IDQ, ou Start of Frame – SoF);

Controle de acesso ao meio

138

Page 139: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Estrutura de quadro (2): (a) DIX; (b) IEEE 802-3;

• Endereço: endereço LAN do adaptador do destino e da origem;

• Bit 47 = 0: unicast;

• Bit 47 = 0 : multicast;

• Todos os bits = 1: broadcast;

Controle de acesso ao meio

139

Page 140: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Estrutura de quadro (3): (a) DIX; (b) IEEE 802-3;

• Tipo / Tamanho: identifica o protocolo da camada de rede que deve receber o pacote ou o tamanho do pacote;

• <= 0x600 (1536) = representa tamanho;

• > 0x600 (1536) = representa tipo;

Controle de acesso ao meio

140

Page 141: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Estrutura de quadro (4): (a) DIX; (b) IEEE 802-3;

• Dados: dados a serem transportados;

• Deve ter comprimento entre 46 e 1500 bytes;

• Caso seja menor que 46, o campo Preenchimento é usado para complementar este tamanho;

Controle de acesso ao meio

141

Page 142: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Estrutura de quadro (5): (a) DIX; (b) IEEE 802-3;

• Preenchimento: complementa o tamanho do quadro quando ele é menor do que 46;

• Previne que uma estação termine de transmitir um quadro antes do primeiro bit chegar no extremo do cabo e ocorra uma colisão;

Controle de acesso ao meio

142

Page 143: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Estrutura de quadro (6): (a) DIX; (b) IEEE 802-3;

• Checksum: para detecção de erro, usa o CRC-32;

Controle de acesso ao meio

143

Page 144: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• A detecção de colisão pode levar um tempo de 2:

• = tempo de propagação de um quadro entre as duas extremidades;

Controle de acesso ao meio

144

Page 145: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Algoritmo de espera:

• CSMA/CD com backoff exponencial binário;

• Ao ocorrer colisão, as estações devem esperar (sortear) um intervalo de tempo de espera (slots de espera):

• Número inteiro no intervalo [0 .. 2c - 1], onde c é o número de colisões consecutivas;

• Para c de 10 a 16 o número máximo de slots é 1023;

• Após a 16ª tentativa a estação desiste de transmitir e qualquer recuperação de erro será repassado para as camadas superiores.

Controle de acesso ao meio

145

Page 146: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Ethernet Comutada:

• Um problema na arquitetura da Ethernet Clássica era identificar interrupções ou conexões partidas;

• Uma solução para este problema foi a utilização de Hubs;

• Um hub simplesmente conecta todos os fios eletronicamente, como se eles fossem únicos;

• Assim, em termos lógicos a arquitetura da rede não muda, então, sua capacidade não foi afetada pela utilização do hub.

Controle de acesso ao meio

146

Page 147: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Para resolver o problema de carga, procurou-se outra solução:

• A Ethernet Comutada;

• O núcleo deste sistema está na utilização de outro tipo de hardware: Switch;

• Ele contém uma placa integrada, que conecta todas as portas, conforme mostra a figura abaixo:

(a) Hub. (b) Switch.

Controle de acesso ao meio

147

Page 148: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Ethernet Clássica (10 Mbps)

• Em um switch os quadros são enviados apenas para as portas para as quais eles são destinados;

• Algumas vantagens sobre os hubs:

• Como não existem colisões, o enlace é usado de forma mais eficiente;

• Vários quadros podem ser enviados simultaneamente, quando envolverem estações diferentes;

• Segurança: não operam em modo promíscuo (todas as estações “ouvem” todas as mensagens), pois os quadros são encaminhados apenas a quem eles são endereçados.

Controle de acesso ao meio

148

Page 149: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Fast Ethernet (100 Mbps)

• Mesmo com o uso do switch a Ethernet começou a ficar saturada;

• Em 1992 a IEEE reuniu o comitê do 802.3 para produzir uma LAN mais rápida;

• Optou-se então por definir adaptações ao padrão existente para aumentar sua capacidade, surgiu o padrão 803.3u, mais conhecido como Fast Ethernet;

Controle de acesso ao meio

149

Page 150: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Fast Ethernet (100 Mbps)

• Os formatos de quadro, interfaces e regras foram mantidos;

• Mas o tempo de bit foi reduzido, provocando o aumento da taxa de transmissão de 10 para 100 Mbps;

• Permite utilizar par trançado ou fibra ótica:

• Unshielded Twisted Pair - UTP ou Par Trançado sem Blindagem;

• Shield Twisted Pair - STP ou Par Trançado Blindado.

Controle de acesso ao meio

150

Nome Cabo Dist. max. Vantagens

100Base-T4 Par trançado 100 m Utiliza UTP da categoria 3.

100Base-TX Par trançado 100 m Full-duplex a 100 Mbps (UTP Cat5).

100Base-FX Fibra ótica 2.000 m Full-duplex a 100 Mbps. Grandes distâncias.

Page 151: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Gigabit Ethernet (1 Gbps)

• Objetivo similar ao da Fast Ethernet: aumentar a capacidade mantendo a compatibilidade – agora o padrão é 802.3ab;

• Dois modos de operação:

• Full-duplex:

• Uso de switch;

• Não há colisões;

• O comprimento máximo do cabo depende da intensidade do sinal;

• Half-duplex:

• Uso de hub;

• Colisões ocorrem (usa CSMA/CD);

• Para aumentar a distância de alcance acrescentou duas características:

• Extensão de portadora;

• Rajada de quadros.

Controle de acesso ao meio

151

Page 152: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Gigabit Ethernet (1 Gbps)

• Cabeamento:

Controle de acesso ao meio

152

Nome Cabo Dist. max. Vantagens

1000Base-SX Fibra ótica 550 m Fibra multimodo.

1000Base-LX Fibra ótica 5.000 m Modo único ou multimodo.

1000Base-CX 2 pares de

STP 25 m Par trançado blindado.

1000Base-T 4 pares de

UTP 100 m UTP padrão Cat5.

Page 153: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

10 Gigabit Ethernet (10 Gbps)

• Mesmo objetivo das anteriores: aumento da capacidade mantendo a compatibilidade;

• Permite conexões de longa distância utilizando fibra ótica e conexões de curta distância usando cabos de cobre ou mesmo fibra ótica;

• Suporta apenas conexões full-duplex;

• O tempo de bit é de 0,1 ns;

Controle de acesso ao meio

153

Page 154: Camada de Enlace - DECOM-UFOP · Camada de Enlace BCC361 – Redes de ... • Adjacentes: fisicamente conectados por um canal de comunicação preservando a ordem de envio dos bits;

Fim!

REFERÊNCIAS: • A.S. TANENBAUM, Redes de Computadores, Prentice Hall, 5a.

edição, 2011;

• Materiais didáticos dos professores:

• Romildo Bezerra, IFBA / 2011-01, Disponível em: http://www.ifba.edu.br/professores/romildo/disciplinas.html#red (acesso em 17/08/2011);

• Rande A. Moreira, UFOP / 2011-01 Disponível em: http://randearievilo.com.br/redes/ (acesso em 17/08/2011);

• Marcos Vieira, UFMG / 2011-01 Disponível em: http://homepages.dcc.ufmg.br/~mmvieira/redes/redes.html (acesso em 17/08/2011);

• Fátima Figueiredo, PUC Minas, não disponível on-line; 154