Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 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 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 Tópicos • Objetivos; • Serviços oferecidos à camada de rede; • Enquadramento; • Controle de erros; • Controle de fluxo. Introdução 4 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 permitindoo envio de novos dados; • Baseado em velocidade: o protocolo tem um mecanismo interno que limita a velocidade dos transmissores. Introdução 22 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 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 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 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 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 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 Códigos de detecção de erros 1. Bits de paridade; 2. Checksum; 3. CRC. Detecção e correção de erros 29 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 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 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 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 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 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 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 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 Códigos de detecção de erros 3. CRC (cont.): • Verificador de CRC (Receptor): Detecção e correção de erros 38 Códigos de detecção de erros 3. CRC (cont.): • Exemplo de descarte: Detecção e correção de erros 39 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 1. Simplex sem restrições 60 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); } } 61 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); } } 62 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; 63 Protocolos básicos de enlace de dados 2. Simplex Stop-and-Wait em canal livre de erros 64 Protocolos básicos de enlace de dados 2. Simplex Stop-and-Wait em canal livre de erros 65 Protocolos básicos de enlace de dados • Código-fonte: arquivo “p2.c” 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 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 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 3. Simplex Stop-and-Wait em canal com ruídos 69 Protocolos básicos de enlace de dados 3. Simplex Stop-and-Wait em canal com ruídos 70 Protocolos básicos de enlace de dados 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; 3. Simplex Stop-and-Wait em canal com ruídos 72 Protocolos básicos de enlace de dados 3. Simplex Stop-and-Wait em canal com ruídos • Código-fonte: arquivo “p3.c”. 73 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. 74 Protocolosbásicos de enlace de dados 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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çãode erro. Exemplos de protocolos de enlace de dados 96 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ALOHA • ALOHA Original (3): • Vulnerabilidade do quadro (sombreado): Controle de acesso ao meio / Protocolos de acesso múltiplo 114 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Ethernet Clássica (10 Mbps) • Arquitetura: Controle de acesso ao meio 136 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. 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 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 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 Ethernet Clássica (10 Mbps) • Estruturade 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 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 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 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 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 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 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 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 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 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. 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 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. 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 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 http://www.ifba.edu.br/professores/romildo/disciplinas.html http://randearievilo.com.br/redes/ http://randearievilo.com.br/redes/ http://randearievilo.com.br/redes/ http://homepages.dcc.ufmg.br/~mmvieira/redes/redes.html
Compartilhar