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

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

Camada de Enlace BCC361 – Redes de Computadores

Apresentações semelhantes


Apresentação em tema: "Camada de Enlace BCC361 – Redes de Computadores"— Transcrição da apresentação:

1 Camada de Enlace BCC361 – Redes de Computadores
Nome 5 Aplicação 4 Transporte 3 Rede 2 Enlace 1 Física BCC361 – Redes de Computadores Universidade Federal de Ouro Preto Departamento de Ciência da Computação Prof. Saul Emanuel Delabrida Silva 2013/01 Camada de Enlace

2 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.

3 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. Introdução

4 Tópicos Objetivos; Serviços oferecidos à camada de rede;
Introdução Tópicos Objetivos; Serviços oferecidos à camada de rede; Enquadramento; Controle de erros; Controle de fluxo.

5 Introdução 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;

6 (a) Comunicação virtual. (b) Comunicação real.
Introdução 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.

7 Objetivos Funções: Para isso:
Introdução Objetivos Funções: Fornecer uma interface de serviço bem definida à camada de rede; Lidar com erros de transmissão; 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.

8 Introdução 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: Sem conexão e sem confirmação; Sem conexão e com confirmação; Com conexão e com confirmação.

9 Introdução 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: 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; Sem conexão e com confirmação; Com conexão e com confirmação.

10 Introdução 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: Sem conexão e sem confirmação; 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: (WiFi); Com conexão e com confirmação.

11 Introdução 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: Sem conexão e sem confirmação; Sem conexão e com confirmação; 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.

12 Enquadramento Problema de enquadramento: Métodos:
Introdução 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: Contagem de caracteres; Bytes de flag com inserção de bytes (byte stuffing); Flags iniciais e finais, com inserção de bits (bit stuffing); Violações de codificação da camada física.

13 Fluxo de bytes. (a) Sem erros. (b) Com um erro.
Introdução Enquadramento 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.

14 Enquadramento Bytes de flag com inserção de bytes (byte stuffing):
Introdução Enquadramento 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?

15 Introdução 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?

16 Introdução 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.

17 Introdução Enquadramento 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;

18 Introdução Enquadramento 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: ; 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.

19 (b) Dados com bits de preenchimento.
Introdução Enquadramento 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.

20 Enquadramento Violações de codificação da camada física:
Introdução Enquadramento 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.

21 Introdução 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. Ler seção para a aula.

22 Introdução 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. Ler seção para a aula.

23 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. Detecção e correção de erros

24 Tópicos Introdução; Códigos de detecção de erros.
Detecção e correção de erros Tópicos Introdução; Códigos de detecção de erros. Códigos de correção de erros;

25 Introdução Erros de transmissão acontecem:
Detecção e correção de erros 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.

26 Introdução Inclusão de informação redundante para detectar o erro:
Detecção e correção de erros 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.

27 Introdução Tipos de erros: Erros simples (um bit isolado);
Detecção e correção de erros Introdução Tipos de erros: Erros simples (um bit isolado); Rajada de erros (sequência de bits corrompidos):

28 Introdução Redundância:
Detecção e correção de erros Introdução Redundância: Tanto a detecção quanto a correção de erros usará da redundância de dados:

29 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros Bits de paridade; Checksum; CRC.

30 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros 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: => ; Paridade ímpar: => ;

31 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros Bits de paridade (cont.): Entrelaçamento: Os dados são formatados na forma de matrizes; Bits de paridade são calculados para cada coluna:

32 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros 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:

33 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros 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.

34 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros 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: ; | ; = ; (complemento da soma – checksum); (mensagem codificada);

35 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros 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: (mensagem recebida); | | ; = ; (checksum é zero, mensagem aceita!); (mensagem decodificada, o checksum enviado é descartado);

36 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros CRC: Cyclic Redundancy Check => Código de Redundância Cíclica; Também conhecido como código polinomial; Ideia: Resto da divisão

37 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros CRC (cont.): Gerador de CRC (Transmissor): Mensagem: (Dados + CRC)

38 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros CRC (cont.): Verificador de CRC (Receptor):

39 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros CRC (cont.): Exemplo de descarte:

40 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros CRC (cont.): Polinômio gerador de CRC é o nome dado para a representação polinomial do divisor:

41 Códigos de detecção de erros
Detecção e correção de erros Códigos de detecção de erros CRC (cont.): Exemplos de polinômios e aplicações: 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 ATM Header: The ATM cell is 53 bytes in length. The first 5 bytes are used for the header. ATM AAL: The use of Asynchronous Transfer Mode (ATM) technology and services creates the need for an adaptation layer in order to support information transfer protocols, which are not based on ATM. This adaptation layer defines how to segment and reassemble higher-layer packets into ATM cells, and how to handle various transmission aspects in the ATM layer. High-Level Data Link Control (HDLC) is a bit-oriented synchronous data link layer protocol developed by the International Organization for Standardization (ISO).  HDLC provides both connection-oriented and connectionless service.

42 Códigos de correção de erros
Detecção e correção de erros 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);

43 Códigos de correção de erros
Detecção e correção de erros 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);

44 Códigos de correção de erros
Detecção e correção de erros 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 = Para k = 5: 5 = 1 + 4

45 Códigos de correção de erros
Detecção e correção de erros 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.

46 Códigos de correção de erros
Detecção e correção de erros 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. 1 2 3 4 5 6 7 8 9 10 11 P1 P2 M3 P4 M5 M6 M7 P8 M9 M10 M11

47 Códigos de correção de erros
Detecção e correção de erros Códigos de correção de erros Exemplo 01 (cont.): Para a mensagem: P1 = M3 + M5 + M7 + M9 + M11 = = 0 P2 = M3 + M6 + M7 + M10 + M11 = = 1 P4 = M5 + M6 + M7 = = 0 P8 = M9 + M10 + M11 = = 1 Código de Hamming: 1 2 3 4 5 6 7 8 9 10 11 P1 P2 P4 P8 1

48 Códigos de correção de erros
Detecção e correção de erros Códigos de correção de erros Exemplo 01 (cont.): No receptor: Mensagem recebida: (erro no quinto bit); Calcula-se novamente a paridade dos bits verificadores, considerando seu próprio valor: P1 + M3 + M5 + M7 + M9 + M11 = = 1 P2 + M3 + M6 + M7 + M10 + M11 = = 0 P4 + M5 + M6 + M7 = = 1 P8 + M9 + M10 + M11 = = 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;

49 Códigos de correção de erros
Detecção e correção de erros 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: ; Simule a recepção da mensagem sem erros e com erro no bit 7; 11 10 9 8 7 6 5 4 3 2 1 M11 M10 M9 P8 M7 M6 M5 P4 M3 P2 P1

50 Códigos de correção de erros
Detecção e correção de erros Códigos de correção de erros Exemplo 02 (cont.): Para a mensagem: P1 = M3 + M5 + M7 + M9 + M11 = = 1 P2 = M3 + M6 + M7 + M10 + M11 = = 0 P4 = M5 + M6 + M7 = = 0 P8 = M9 + M10 + M11 = = 1 Código de Hamming: 11 10 9 8 7 6 5 4 3 2 1 P8 P4 P2 P1 1

51 Códigos de correção de erros
Detecção e correção de erros Códigos de correção de erros Exemplo 02 (cont.): No receptor: Mensagem recebida sem erro: P1 + M3 + M5 + M7 + M9 + M11 = = 0 P2 + M3 + M6 + M7 + M10 + M11 = = 0 P4 + M5 + M6 + M7 = = 0 P8 + M9 + M10 + M11 = = 0 Síndrome de erro (número binário formado por P8, P4, P2, P1): 00002 = 010 (não houve erro);

52 Códigos de correção de erros
Detecção e correção de erros Códigos de correção de erros Exemplo 02 (cont.): No receptor: Mensagem recebida: (erro no sétimo bit); P1 + M3 + M5 + M7 + M9 + M11 = = 1 P2 + M3 + M6 + M7 + M10 + M11 = = 1 P4 + M5 + M6 + M7 = = 1 P8 + M9 + M10 + M11 = = 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;

53 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. Protocolos básicos de enlace de dados

54 Introdução Suposições: Entre as três camadas envolvidas:
Protocolos básicos de enlace de dados 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: Camada Nome 5 Aplicação 4 Transporte 3 Rede 2 Enlace 1 Física

55 Introdução Suposições (cont.):
Protocolos básicos de enlace de dados 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; ...

56 Introdução Suposições (cont.): Tipos de eventos: Estruturas de dados:
Protocolos básicos de enlace de dados Introdução Suposições (cont.): Tipos de eventos: cksum_err; frame_arrival; timeout; Estruturas de dados: boolean; seq_nr; packet; frame_kind; frame;

57 Introdução Suposições (cont.): Protocolos:
Protocolos básicos de enlace de dados Introdução Suposições (cont.): Constantes: MAX_SEQ; MAX_PKT; Protocolos: Simplex sem restrições; Simplex Stop-and-Wait em canal livre de erros; 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.

58 1. Simplex sem restrições
Protocolos básicos de enlace de dados 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;

59 1. Simplex sem restrições
Protocolos básicos de enlace de dados 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;

60 1. Simplex sem restrições
Protocolos básicos de enlace de dados 1. Simplex sem restrições

61 1. Simplex sem restrições
Protocolos básicos de enlace de dados 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); }

62 1. Simplex sem restrições
Protocolos básicos de enlace de dados 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); }

63 2. Simplex Stop-and-Wait em canal livre de erros
Protocolos básicos de enlace de dados 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;

64 2. Simplex Stop-and-Wait em canal livre de erros
Protocolos básicos de enlace de dados 2. Simplex Stop-and-Wait em canal livre de erros

65 2. Simplex Stop-and-Wait em canal livre de erros
Protocolos básicos de enlace de dados 2. Simplex Stop-and-Wait em canal livre de erros Código-fonte: arquivo “p2.c”

66 3. Simplex Stop-and-Wait em canal com ruídos
Protocolos básicos de enlace de dados 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;

67 3. Simplex Stop-and-Wait em canal com ruídos
Protocolos básicos de enlace de dados 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.

68 3. Simplex Stop-and-Wait em canal com ruídos
Protocolos básicos de enlace de dados 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).

69 3. Simplex Stop-and-Wait em canal com ruídos
Protocolos básicos de enlace de dados 3. Simplex Stop-and-Wait em canal com ruídos

70 3. Simplex Stop-and-Wait em canal com ruídos
Protocolos básicos de enlace de dados 3. Simplex Stop-and-Wait em canal com ruídos

71 3. Simplex Stop-and-Wait em canal com ruídos
Protocolos básicos de enlace de dados 3. Simplex Stop-and-Wait em canal com ruídos É importante que o tempo de timeout seja suficiente para que o ACK chegue sem esgotá-lo quando nenhum erro ocorrer;

72 3. Simplex Stop-and-Wait em canal com ruídos
Protocolos básicos de enlace de dados 3. Simplex Stop-and-Wait em canal com ruídos

73 3. Simplex Stop-and-Wait em canal com ruídos
Protocolos básicos de enlace de dados 3. Simplex Stop-and-Wait em canal com ruídos Código-fonte: arquivo “p3.c”.

74 Protocolos básicos de enlace de dados
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.

75 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. Protocolos de janela deslizante

76 Protocolos de janela deslizante
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?

77 Protocolos de janela deslizante
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;

78 Protocolos de janela deslizante
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;

79 Protocolos de janela deslizante
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;

80 Janela deslizante de um bit
Protocolos de janela deslizante Janela deslizante de um bit N = 1, quadro esperado: 0 ou 1; Utiliza o protocolo Stop-and-Wait; Código-fonte: arquivo “p4.c”.

81 Janela deslizante de um bit
Protocolos de janela deslizante 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.

82 Protocolos de janela deslizante
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;

83 Pipeline Exemplo: Canal de satélite de 50 kbps;
Protocolos de janela deslizante Pipeline Exemplo: Canal de satélite de 50 kbps; Tempo de ida e volta (round trip): 500 ms; Quadro: 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%.

84 Pipeline Como utilizar melhor a banda?
Protocolos de janela deslizante 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.

85 Protocolos de janela deslizante
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 / = 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.

86 Protocolos de janela deslizante
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”.

87 Protocolos de janela deslizante
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?

88 Pipeline Retransmissão Seletiva:
Protocolos de janela deslizante 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?

89 Pipeline Go-Back-N v.s. Retransmissão seletiva:
Protocolos de janela deslizante 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.

90 Pipeline Protocolos de janela deslizante
(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.

91 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. Exemplos de protocolos de enlace de dados

92 Introdução Camada de Enlace na Internet:
Exemplos de protocolos de enlace de dados 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).

93 Exemplos de protocolos de enlace de dados
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);

94 Exemplos de protocolos de enlace de dados
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);

95 PPP Quadro PPP (1): Delimitado pelo flag 01111110;
Exemplos de protocolos de enlace de dados PPP Quadro PPP (1): Delimitado pelo flag ; Endereço: contém o valor fixo ; Controle: contém o valor padrão ; O LCP fornece um mecanismo para omitir o Endereço e o Controle;

96 Exemplos de protocolos de enlace de dados
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.

97 PPP Duas situações comuns do uso do PPP (1):
Exemplos de protocolos de enlace de dados 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.

98 PPP Duas situações comuns do uso do PPP (2):
Exemplos de protocolos de enlace de dados 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.

99 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. Controle de acesso ao meio

100 Controle de acesso ao meio
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.

101 Controle de acesso ao meio
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.

102 Introdução Tópicos: O problema de alocação de canais:
Controle de acesso ao meio 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.

103 Problema de alocação de canais
Controle de acesso ao meio 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.

104 Problema de alocação de canais
Controle de acesso ao meio 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.

105 Problema de alocação de canais
Controle de acesso ao meio Problema de alocação de canais Alocação Dinâmica (1): Baseado em 5 premissas: Tráfego independente; Premissa de canal único; Colisões observáveis; Tempo contínuo ou segmentado; Detecção de portadora.

106 Problema de alocação de canais
Controle de acesso ao meio Problema de alocação de canais Alocação Dinâmica (2): Baseado em 5 premissas: 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; Premissa de canal único; Colisões observáveis; Tempo contínuo ou segmentado; Detecção de portadora.

107 Problema de alocação de canais
Controle de acesso ao meio Problema de alocação de canais Alocação Dinâmica (3): Baseado em 5 premissas: Tráfego independente; 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; Colisões observáveis; Tempo contínuo ou segmentado; Detecção de portadora.

108 Problema de alocação de canais
Controle de acesso ao meio Problema de alocação de canais Alocação Dinâmica (4): Baseado em 5 premissas: Tráfego independente; Premissa de canal único; 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; Tempo contínuo ou segmentado; Detecção de portadora.

109 Problema de alocação de canais
Controle de acesso ao meio Problema de alocação de canais Alocação Dinâmica (5): Baseado em 5 premissas: Tráfego independente; Premissa de canal único; Colisões observáveis; 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; Detecção de portadora.

110 Problema de alocação de canais
Controle de acesso ao meio Problema de alocação de canais Alocação Dinâmica (6): Baseado em 5 premissas: Tráfego independente; Premissa de canal único; Colisões observáveis; Tempo contínuo ou segmentado; 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.

111 Protocolos de acesso múltiplo
Controle de acesso ao meio 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.

112 ALOHA ALOHA Original (1):
Controle de acesso ao meio / Protocolos de acesso múltiplo 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;

113 ALOHA ALOHA Original (2):
Controle de acesso ao meio / Protocolos de acesso múltiplo ALOHA ALOHA Original (2): O tempo de transmissão dos quadros é completamente aleatório:

114 ALOHA ALOHA Original (3): Vulnerabilidade do quadro (sombreado):
Controle de acesso ao meio / Protocolos de acesso múltiplo ALOHA ALOHA Original (3): Vulnerabilidade do quadro (sombreado):

115 ALOHA Slotted ALOHA: O tempo é dividido em unidades (slots);
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

116 CSMA CSMA = Carrier Sense Multiple Acccess;
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

117 Controle de acesso ao meio / Protocolos de acesso múltiplo
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.

118 Controle de acesso ao meio / Protocolos de acesso múltiplo
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.

119 CSMA não-persistente Similar ao 1-persistente; Diferença:
Controle de acesso ao meio / Protocolos de acesso múltiplo 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;

120 CSMA p-persistente Usado em canais com slots: Estação escuta o canal;
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

121 Controle de acesso ao meio / Protocolos de acesso múltiplo
CSMA - Comparação 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 com probabilidade p Colisão

122 Controle de acesso ao meio / Protocolos de acesso múltiplo
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. In computer networks, goodput is the application level throughput, i.e. the number of useful information bits, delivered by the network to a certain destination, per unit of time. The amount of data considered excludes protocol overhead bits as well as retransmitted data packets. This is related to the amount of time from the first bit of the first packet is sent (or delivered) until the last bit of the last packet is delivered, see below. For example, if a file is transferred, the goodput that the user experiences corresponds to the file size in bits divided by the file transfer time. The goodput is always lower than the throughput (the gross bit rate that is transferred physically), which generally is lower than network access connection speed (the channel capacity or bandwidth). In communication networks, such as Ethernet or packet radio, throughput or network throughput is the average rate of successful message delivery over a communication channel. This data may be delivered over a physical or logical link, or pass through a certain network node. The throughput is usually measured in bits per second (bit/s or bps), and sometimes in data packets per second or data packets per time slot.

123 Controle de acesso ao meio / Protocolos de acesso múltiplo
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 (Ethernet);

124 CSMA/CD Modelo conceitual:
Controle de acesso ao meio / Protocolos de acesso múltiplo CSMA/CD Modelo conceitual: Apresenta um de três estados: contenção (disputa), transmissão ou inatividade

125 CSMA/CD Questão importante:
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

126 Protocolos de LANs sem fios
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

127 Protocolos de LANs sem fios
Controle de acesso ao meio / Protocolos de acesso múltiplo 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:

128 Protocolos de LANs sem fios
Controle de acesso ao meio / Protocolos de acesso múltiplo 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:

129 Protocolos de LANs sem fios
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

130 Protocolos de LANs sem fios
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

131 Protocolos de LANs sem fios
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

132 Protocolos de LANs sem fios
Controle de acesso ao meio / Protocolos de acesso múltiplo 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.

133 Controle de acesso ao meio
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.

134 Controle de acesso ao meio
Ethernet Com pequenas alterações, o padrão DIX se tornou o padrão IEEE em 1983; O padrão define uma família de redes com velocidades de 10, 100, Mbps e Mbps em diferentes meios.

135 Ethernet Padrões estabelecidos:
Controle de acesso ao meio Ethernet 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

136 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio Ethernet Clássica (10 Mbps) Arquitetura:

137 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio Ethernet Clássica (10 Mbps) Cabeamento: 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 Melhor para interligar prédios.

138 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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 “ ” e 1 byte “ ” (Início de quadro – IDQ, ou Start of Frame – SoF);

139 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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;

140 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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;

141 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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;

142 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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;

143 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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;

144 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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;

145 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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.

146 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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.

147 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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.

148 Ethernet Clássica (10 Mbps)
Controle de acesso ao meio 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.

149 Controle de acesso ao meio
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 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;

150 Controle de acesso ao meio
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. Nome Cabo Dist. max. Vantagens 100Base-T4 Par trançado 100 m Utiliza UTP da categoria 3. 100Base-TX Full-duplex a 100 Mbps (UTP Cat5). 100Base-FX Fibra ótica 2.000 m Full-duplex a 100 Mbps. Grandes distâncias.

151 Gigabit Ethernet (1 Gbps)
Controle de acesso ao meio 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.

152 Gigabit Ethernet (1 Gbps)
Controle de acesso ao meio Gigabit Ethernet (1 Gbps) Cabeamento: Nome Cabo Dist. max. Vantagens 1000Base-SX Fibra ótica 550 m Fibra multimodo. 1000Base-LX 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.

153 10 Gigabit Ethernet (10 Gbps)
Controle de acesso ao meio 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;

154 Fim! Referências: A.S. TANENBAUM, Redes de Computadores, Prentice Hall, 5a. edição, 2011; Materiais didáticos dos professores: Romildo Bezerra, IFBA / , Disponível em: (acesso em 17/08/2011); Rande A. Moreira, UFOP / Disponível em: (acesso em 17/08/2011); Marcos Vieira, UFMG / Disponível em: (acesso em 17/08/2011); Fátima Figueiredo, PUC Minas, não disponível on-line;


Carregar ppt "Camada de Enlace BCC361 – Redes de Computadores"

Apresentações semelhantes


Anúncios Google