Enlace Referência: Slides extraídos do material dos professores Jim Kurose e Keith Ross relativos ao livro “Redes de Computadores e a Internet – Uma abordagem topdown”, segunda e terceira edições Alterações nos slides, incluindo sequenciamento, textos, figuras e novos slides, foram realizadas conforme necessidade Camada de enlace: definindo o contexto fluxo real de PDUs Roteador R1 protocolo de enlace Roteador R2 Roteador RoteadorR3 R3 Roteador R4 Camada de enlace: definindo o contexto dois elementos físicos fisicamente conectados: host-roteador, roteador-roteador, host-host unidade de dados: M Ht M Hn Ht M Hl Hn Ht M aplicação transporte rede enlace física quadro (frame) protocolo de enlace enlace físico placa adaptadora rede enlace física Hl Hn Ht M quadro Serviços da Camada de Enlace Enquadramento, acesso ao enlace: encapsula datagramas em quadros, acrescentando cabeçalhos e trailer implementa acesso ao canal se o meio é compartilhado ‘endereços físicos’ usados nos cabeçalhos dos quadros para identificar a fonte e o destino dos quadros • diferente do endereço IP ! Entrega confiável entre dois equipamentos fisicamente conectados: já aprendemos como isto deve ser feito (transporte)! raramente usado em enlaces com baixa taxa de erro (fibra, alguns tipos de par trançado) enlaces sem-fio (wireless): altas taxas de erro • Q: porque prover confiabilidade fim-a-fim e na camada de enlace? Serviços da Camada de Enlace (cont.) Controle de Fluxo: limitação receptor da transmissão entre transmissor e Detecção de Erros: erros causados pela atenuação do sinal e por ruídos. o receptor detecta a presença de erros: • avisa o transmissor para reenviar o quadro perdido Correção de Erros: receptor identifica e corrige o bit com erro(s) sem recorrer à retransmissão o Implementação: Camada de Enlace implementado no “adaptador” ex., placa PCMCIA, placa Ethernet tipicamente inclui: RAM, chips DSP, interface com barramento do host, e interface do enlace M Ht M Hn Ht M Hl Hn Ht M aplicação transporte rede enlace física protocolo de enlace enlace físico placa adaptadora rede enlace física Hl Hn Ht M quadro Detecção de Erros EDC = Bits de Detecção e Correção de Erros (redundancia) D = Dados protegidos pela verificação de erros, pode incluir os campos de cabeçalho • A detecção de erros não é 100% confiável! • protocolos podem deixar passar alguns erros, mas é raro • Quanto maior o campo EDC melhor é a capacidade de detecção e correção de erros Verificação de Redundância Cíclica encara os bits de dados, D, como um número binário escolhe um padrão gerador de r+1 bits, G objetivo: escolher CRC bits, R, tal que <D,R> é divisível de forma exata por G receptor conhece G, divide <D,R> por G. Se o resto é diferente de zero: erro detectado! pode detectar todos os erros em seqüência (burst errors) com comprimento menor que r+1 bits largamente usado na prática (ATM, HDCL, Ethernet) bits de dados a enviar padrão de bits fórmula matemática Enlaces de Acesso Múltiplo e Protocolos Três tipos de enlaces: ponto-a-ponto (fio único, ex. PPP, SLIP) broadcast (fio ou meio compartilhado; ex, Ethernet, Wavelan, etc.) switched (ex., switched Ethernet, ATM etc) Protocolos de Acesso Múltiplo canal de comunicação único e compartilhado duas ou mais transmissões pelos nós: interferência apenas um nó pode transmitir com sucesso num dado instante de tempo protocolo de múltiplo acesso: algoritmo distribuído que determina como as estações compartilham o canal, isto é, determinam quando cada estação pode transmitir comunicação sobre o compartilhamento do canal deve utilizar o própro canal! o que procurar em protocolos de múltiplo acesso: • síncrono ou assíncrono • informação necessária sobre as outras estações • robustez (ex., em relação a erros do canal) • desempenho Protocolos MAC (acesso ao meio): uma taxonomia Três grandes classes: Particionamento de canal dividem o canal em pedaços menores (compartimentos de tempo, freqüência) aloca um pedaço para uso exclusivo de cada nó Acesso Aleatório permite colisões “recuperação” das colisões Passagem de Permissão compartilhamento estritamente coordenado para evitar colisões Objetivo: eficiente, justo, simples, descentralizado Protocolos MAC com Particionamento de Canal: TDMA TDMA: acesso múltiplo por divisão temporal acesso ao canal é feito por ”turnos" cada estação controla um compartimento (“slot”) de tamanho fixo (tamanho = tempo de transmissão de pacote) em cada turno compartimentos não usados são disperdiçados exemplo: rede local com 6 estações: 1,3,4 têm pacotes, compartimentos 2,5,6 ficam vazios Protocolos MAC com Particionamento de Canal: FDMA FDMA: acesso múltiplo por divisão de freqüência o espectro do canal é dividido em bandas de freqüência cada estação recebe uma banda de freqüência tempo de transmissão não usado nas bandas de freqüência é bandas de freqüência disperdiçado exemplo: rede local com 6 estações: 1,3,4 têm pacotes, as bandas de freqüência 2,5,6 ficam vazias Particionamento de Canal (CDMA) CDMA (Acesso Múltiplo por Divisão de Códigos) um código único é atribuído a cada usuário (“chipping sequence”), isto é, o código define o particionamento muito usado em canais broadcast, sem-fio (celular, satelite,etc) todos os usuários usam a mesma freqüência, mas cada usuário tem a sua própria maneira de codificar os dados. sinal codificado = (dados originais) X (chipping sequence) decodificação: produto interno do sinal codificado e da seqüência de codificação (“chipping sequence”) permite que múltiplos usuários “coexistam” e transmitam simultaneamente com mínima interferência os códigos que minimizam a interferência são chamados “ortogonais” Protocolos de Acesso Aleatório Quando o nó tem um pacote a enviar: transmite com toda a taxa do canal R. não há uma regra de coordenação a priori entre os nós dois ou mais nós transmitindo -> “colisão”, Protocolo MAC de acesso aleatório especifica: como detectar colisões como as estações se recuperam das colisões (ex., via retransmissões atrasadas) Exemplos de protocolos MAC de acesso aleatório: slotted ALOHA ALOHA CSMA e CSMA/CD CSMA: Carrier Sense Multiple Access CSMA: escuta antes de transmitir: Se o canal parece vazio: transmite o pacote Se o canal está ocupado, adia a transmissão CSMA Persistente: tenta outra vez imediatamente com probabilidade p quando o canal se torna livre (pode provocar instabilidade) CSMA Não-persistente: tenta novamente após um intervalo aleatório CSMA/CD (Detecção de Colisão) CSMA/CD: detecção de portadora, deferência como no CSMA colisões detectadas num tempo mais curto transmissões com colisões são interrompidas, reduzindo o disperdício do canal retransmissões persistentes ou não-persistentes detecção de colisão: fácil em LANs cabeadas: medição da intensidade do sinal, comparação dos sinais transmitidos e recebidos difícl em LANs sem fio: receptor desligado enquanto transmitindo Protocolos MAC com Passagem de Permissão Polling: nó mestre “convida” os escravos a transmitirem um de cada vez Mensagens Request to Send e Clear to Send problemas: polling overhead latência ponto único de falha (mestre) Token passing: controla um token passado de um nó a outro sequencialmente. mensagem token problemas: token overhead latência ponto único de falha (token) Endereços de LAN e ARP Endereços IP de 32-bit: endereços da camada de rede usados para levar o datagrama até a rede de destino (lembre da definição de rede IP) Endereço de LAN (ou MAC ou físico): usado para levar o datagrama de uma interface física a outra fisicamente conectada com a primeira (isto é, na mesma rede) Endereços MAC com 48 bits (na maioria das LANs) gravado na memória fixa (ROM) do adaptador de rede Endereços de LAN e ARP Cada adaptador numa LAN tem um único endereço de LAN Lembre a discussão anterior sobre roteamento Começando em A, dado que o datagrama está endereçado para B (endereço IP): A 223.1.2.1 procure rede.endereço de B, encontre B em alguma rede, no caso igual à rede de A camada de enlace envia datagrama para B dentro de um quadro da camada de enlace endereço de origem e destino do quadro 223.1.1.1 B 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.27 223.1.3.1 endereço de origem e destino do pacote endereço end. MAC MAC de B de A end. IP end. IP de A de B datagrama quadro dados IP 223.1.2.2 223.1.3.2 E ARP: Address Resolution Protocol (Protocolo de Resolução de Endereços) Questão: como determinar o endereço MAC de B dado o endereço IP de B? Cada nó IP (Host, Roteador) numa LAN tem um módulo e uma tabela ARP Tabela ARP: mapeamento de endereços IP/MAC para alguns nós da LAN < endereço IP; endereço MAC; TTL> < ………………………….. > TTL (Time To Live): tempo depois do qual o mapeamento de endereços será esquecido (tipicamente 20 min) Protocolo ARP A conhece o endereço IP de B, quer aprender o endereço físico de B A envia em broadcast um pacote ARP de consulta contendo o endereço IP de B todas as máquinas na LAN recebem a consulta ARP B recebe o pacote ARP, responde a A com o seu (de B) endereço de camada física A armazena os pares de endereço IP-físico até que a informação se torne obsoleta (esgota a temporização) soft state: informação que desaparece com o tempo se não for re-atualizada Ethernet Tecnologia de rede local “dominante” : barato R$30 por 100Mbps! primeira tecnologia de LAN largamente usada Mais simples, e mais barata que LANs com token e ATM Velocidade crescente: 10, 100, 1000 Mbps Esboço da Ethernet por Bob Metcalf Estrutura do Quadro Ethernet Adaptador do transmissor encapsula o datagrama IP (ou outro pacote de protocolo da camada de rede) num quadro Ethernet Preâmbulo: 7 bytes com padrão 10101010 seguido por um byte com padrão 10101011 usado para sincronizar as taxas de relógio do transmissor e do receptor Estrutura do Quadro Ethernet (mais) Endereços: 6 bytes, quadro é recebido por todos os adaptadores e descartado se o endereço do quadro não coincide com o endereço do adaptador Tipo: indica o protocolo da camada superior, geralmente é o protocolo IP mas outros podem ser suportados tais como Novell IPX e AppleTalk) CRC: verificado no receptor, se um erro é detectado, o quadro é simplesmente descartado. Algoritmo CSMA/CD da Ethernet 1. NIC recebe datagrama da 4. Se NIC detectar outra transmissão enquanto camada de rede e cria transmite, aborta e envia quadro sinal de congestionamento 2. Se NIC sentir canal 5. Depois de abortar, NIC ocioso, inicia transmissão entra em backoff do quadro; canal ocupado, exponencial: após m espera até estar ocioso, colisões, NIC escolhe K depois transmite aleatoriamente dentre 3. Se NIC transmitir quadro {0,1,2,…,2m-1}. NIC espera inteiro sem detectar outra K · 512 tempos de bit, transmissão, NIC retorna à Etapa 2 terminou com o quadro! Padrões Ethernet 802.3: camadas de enlace e física muitos padrões Ethernet diferentes protocolo MAC e formato de quadro comuns diferentes velocidades: 2 Mbps, 10 Mbps, 100 Mbps, 1Gbps, 10G bps diferentes meios da camada física: fibra, cabo aplicação transporte rede enlace física protocolo MAC e formato de quadro 100BASE-TX 100BASE-T2 100BASE-FX 100BASE-T4 100BASE-SX 100BASE-BX camada física fibra camada física cobre (par trançado) Hubs … repetidores da camada física (“burros”) : todos os nós conectados ao hub podem colidir uns com os outros sem buffering de quadros sem CSMA/CD no hub: NICs do hospedeiro detectam colisões, modo half-duplex bits chegando a um enlace saem em todos os outros enlaces na mesma velocidade par trançado hub Comutador (switch) dispositivo da camada de enlace: mais inteligente que os hubs, têm papel ativo armazenam e repassam quadros Ethernet examinam endereço MAC do quadro que chega, repassam seletivamente o quadro para um ou mais enlaces de saída quando o quadro deve ser repassado no segmento, usa CSMA/CD para acessar segmento transparente Hosps de camada 3 não sabem da presença de comutadores plug-and-play, autodidata comutadores não precisam ser configurados Ethernet Switches Transmissão em camada 2 (quadros) com filtragem usando endereços de LAN Switching: A-para-B a A’-para-B’ simultaneamente, sem colisões grande número de interfaces muitas vezes: hosts individuais são conectados em estrela no switch (1 host para cada porta) Ethernet, mas sem colisões! VLANs: motivação Como melhorar esta figura? O que acontece se: usuário da CC muda para EE, mas quer se conectar ao comutador CC? único domínio de broadcast: todo Ciência da Computação Engenharia Elétrica Engenharia da Computação tráfego de broadcast da camada 2 (ARP, DHCP) cruza a LAN inteira (questões de eficiência, segurança/privacida de) cada comutador de nível mais baixo tem apenas VLANs Virtual Local Area Network VLAN baseada em porta: portas de comutador agrupadas (por software de gerenciamento de comutador) para que único comutador físico …… Comutador(es) admitindo capacidades de VLAN podem ser configurados para definir múltiplas LANs virtuais por única infraestrutura de LAN física. 1 7 9 15 2 8 10 16 … … Engenharia Elétrica (VLAN portas 1-8) Ciência da Computação (VLAN portas 9-15) … opere como múltiplos comutadores virtuais 1 7 9 15 2 8 10 16 … Engenharia Elétrica (VLAN portas 1-8) … Ciência da Computação (VLAN portas 9-16) VLAN baseada em porta isolamento de tráfego: quadros de/para portas 1-8 só podem roteador alcançar portas 1-8 também podem definir VLAN com base em endereços MAC das extremidades, em vez de porta do comutador inclusão dinâmica: portas podem ser atribuídas dinamicamente entre VLANs repasse entre VLANS: prática, fornecedores vendem uma combinação de comutador e roteador 7 9 15 2 8 10 16 … Engenharia Elétrica (VLAN portas 1-8) feito por roteamento (assim como em comutadores separados) na 1 … Ciência da Computação (VLAN portas 9-15) VLANS spanning multiple switches 1 7 9 15 1 3 5 7 2 8 10 16 2 4 6 8 … Engenharia Elétrica (VLAN portas 1-8) … Ciência da Computação (VLAN portas 9-15) Portas 2,3,5 pertencem a EE VLAN Portas 4,6,7,8 pertencem a CS VLAN porta de tronco: carrega quadros de múltiplas VLANS definidas sobre vários comutadores físicos quadros repassados dentro da VLAN entre comutadores não podem ser quadros 802.1 (Ethernet) comuns, devem ter informação de VLAN ID (que identifica uma dada VLAN) protocolo 802.1q inclui campos de cabeçalho adicionais (p/ex, VLAN ID) para quadros repassados entre portas de tronco Formato de quadro 802.1Q VLAN quadro 802.1 quadro 802.1Q IEEE 802.11 Wireless LAN wireless LANs: rede sem fio (frequentemente móvel) padrão IEEE 802.11 : protocolo MAC espectro de freqüência livre: 900Mhz, 2.4Ghz Basic Service Set (BSS) (igual a uma “célula”) contém: wireless hosts access point (AP): estação base BSS’s se combinam para formar um sistema distribuído (DS) Redes Ad Hoc Rede Ad hoc: estações IEEE 802.11 podem dinamicamente formar uma rede sem AP Aplicações: “laptop” encontrando-se numa sala de conferência, interconexão de equipamentos “pessoais” , rodovia inteligente campo de batalha IETF MANET (Mobile Ad hoc Networks) working group Controle de Enlace Ponto-a-Ponto Um transmissor, um receptor, um link: mais fácil que um enlace broadcast: não há Controle de Acesso ao Meio não há necessidade de endereçamento MAC explícito ex., enlace discado, linha ISDN protocolos ponto-a-ponto populares para camada de enlace: PPP (point-to-point protocol) HDLC: High level data link control (A camada de enlace costumava ser considerada de alto nível na pilha de protocolos!)