A Camada de Enlace de Dados Objetivos: Entender os princípios por trás dos serviços da camada de enlace de dados: detecção e correção de erros compartilhamento de canal de difusão: acesso múltiplo endereçamento da camada de enlace instanciação e implementação de diversas tecnologias de camada de enlace 5: Camada de Enlace 5a-1 Camada de Enlace: Introdução Alguma terminologia: “link” hosts e roteadores são nós canais de comunicação que conectam nós adjacentes ao longo de um caminho de comunicação são enlaces/link enlaces cabeados enlaces sem fio (não cabeados) LANs Pacote da camada 2 é um quadro/frame, encapsula datagramas a camada de enlace é responsável por transferir os datagramas entre nós adjacentes através do enlace 5: Camada de Enlace 5a-2 Camada de Enlace: Contexto Datagrama é transferido por diferentes protocolos de enlace em diferentes enlaces: Ex.: Ethernet no primeiro enlace, frame relay em enlaces intermediários e 802.11 no último enlace Cada protocolo de enlace provê diferentes serviços ex.: pode ou não prover transporte confiável de dados através do enlace 5: Camada de Enlace 5a-3 Protocolos da Camada de Enlace 5: Camada de Enlace 5a-4 Serviços da Camada de Enlace Enquadramento (Delimitação do quadro) e acesso ao enlace: encapsula datagrama num quadro adicionando cabeçalho (header) e cauda (tail), implementa acesso ao canal se meio for compartilhado, ‘endereços físicos (MAC)’ são usados nos cabeçalhos dos quadros para identificar origem e destino de quadros em enlaces multiponto • Diferente do endereço IP! Entrega confiável entre nós adjacentes: Raramente usada em canais com baixas taxas de erro (fibra óptica, alguns tipos de pares trançados) Canais sem fio: altas taxas de erros 5: Camada de Enlace 5a-5 Serviços da Camada de Enlace (mais) Controle de Fluxo: compatibilizar taxas de produção e consumo de quadros entre remetentes e receptores Detecção de Erros: erros são causados por atenuação do sinal e por ruído receptor detecta presença de erros • receptor sinaliza ao remetente para retransmissão, ou simplesmente descarta o quadro em erro Correção de Erros: mecanismo que permite que o receptor localize e corrija o(s) erro(s) sem precisar da retransmissão Half-duplex e full-duplex com half duplex, os nós de cada lado podem transmitir, mas não simultaneamente 5: Camada de Enlace 5a-6 Comunicação entre Adaptadores nó transm. datagrama Protocolo da camada de enlace nó receptor quadro quadro adaptador adaptador camada de enlace implementada Lado receptor no “adaptador” (NIC) verifica erros, transporte placa Ethernet, cartão confiável, controle de PCMCIA, cartão 802.11 fluxo, etc. lado transmissor: extrai o datagrama, passa Encapsula o datagrama em o para o nó receptor um quadro adaptador é semi-autônomo Adiciona bits de verificação camadas de enlace e física de erro, transferência confiável de dados, controle de fluxo, etc. 5: Camada de Enlace 5a-7 Enlaces e Protocolos de Acesso Múltiplo Três tipos de enlace: (a) Ponto-a-ponto (um cabo único) (b) Difusão (cabo ou meio compartilhado; p.ex., Ethernet, rádio, etc.) (c) Comutado (p.ex., E-net comutada, ATM, etc) Começamos com enlaces com Difusão. Desafio principal: Protocolo de Múltiplo Acesso 5: Camada de Enlace 5a-8 Protocolos de Acesso Múltiplo canal de comunicação único de difusão interferência: quando dois ou mais nós transmitem simultaneamente colisão se um nó receber dois ou mais sinais ao mesmo tempo Protocolo de acesso múltiplo algoritmo distribuído que determina como os nós compartilham o canal, isto é, determina quando um nó pode transmitir comunicação sobre o compartilhamento do canal deve usar o próprio canal! não há canal fora da faixa para coordenar a transmissão 5: Camada de Enlace 5a-9 Taxonomia dos Protocolos MAC Três classes gerais: Particionamento do Canal divide o canal em pequenos “pedaços” (slots de tempo, freqüência, código) aloca pedaço a um dado nó para uso exclusivo deste Acesso Aleatório canal não é dividido, podem ocorrer colisões “recuperação” das colisões Revezamento Nós se alternam em revezamento, mas nós que possuem mais dados a transmitir podem demorar mais quando chegar a sua vez 5: Camada de Enlace 5a-10 Protocolos de Acesso Aleatório Quando nó tem um pacote para transmitir transmite na taxa máxima R. nenhuma coordenação a priori entre os nós dois ou mais nós transmitindo ➜ “colisão”, O protocolo MAC de acesso aleatório especifica: como detectar colisões como se recuperar delas (através de retransmissões retardadas, por exemplo) Exemplos de protocolos MAC de acesso aleatório: ALOHA CSMA, CSMA/CD, CSMA/CA 5: Camada de Enlace 5a-11 CSMA (Carrier Sense Multiple Access – Acesso Múltiplo com Detecção de Portadora) CSMA: escuta antes de transmitir: Se o canal estiver livre: transmite todo o quadro Se o canal estiver ocupado, adia a transmissão 5: Camada de Enlace 5a-12 CSMA/CD (Detecção de Colisões) CSMA/CD: detecção da portadora, adia a transmissão como no CSMA As colisões são detectadas em pouco tempo Transmissões que sofreram colisões são abortadas, reduzindo o desperdício do canal Detecção de colisões: Fácil em LANs cabeadas: mede a potência do sinal, compara o sinal recebido com o transmitido Difícil em LANs sem fio 5: Camada de Enlace 5a-13 Detecção de colisões em CSMA/CD 5: Camada de Enlace 5a-14 Tecnologias de LAN Tecnologias de redes locais (LAN) Endereçamento Ethernet Hubs e switches PPP 5: Camada de Enlace 5a-15 Endereços MAC e ARP Endereço IP de 32 bits: Endereços da camada de rede usado para levar o datagrama à subrede IP destino Endereço MAC (ou LAN, ou físico, ou Ethernet): usado para levar o datagrama de uma interface até outra interface conectada fisicamente (da mesma rede) Endereço MAC de 48 bits (para a maioria das redes); queimado na ROM do adaptador 5: Camada de Enlace 5a-16 Endereços LAN e ARP Cada adaptador na LAN possui um endereço LAN único Endereço de Difusão = FF-FF-FF-FF-FF-FF 1A-2F-BB-76-09-AD 71-65-F7-2B-08-53 LAN (cabeada or sem fio) = adaptador 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 5: Camada de Enlace 5a-17 Endereço LAN (cont) Alocação de endereços MAC administrada pelo IEEE Um fabricante compra uma parte do espaço de endereços (para garantir unicidade) Analogia: (a) endereço MAC: como número do CPF (b) endereço IP: como endereço postal endereço MAC sem estrutura => portabilidade Pode mover um cartão LAN de uma LAN para outra endereço IP hierárquico NÃO é portátil (requer IP móvel) Depende da subrede IP à qual o nó está conectado 5: Camada de Enlace 5a-18 ARP: Address Resolution Protocol (Protocolo de Resolução de Endereços) Pergunta: como obter o endereço MAC de B a partir do endereço IP de B? 237.196.7.78 1A-2F-BB-76-09-AD 237.196.7.23 Cada nó IP (Host, Roteador) de uma LAN possui tabela ARP Tabela ARP: mapeamento de endereços IP/MAC para alguns nós da LAN 237.196.7.14 LAN 71-65-F7-2B-08-53 237.196.7.88 58-23-D7-FA-20-B0 < endereço IP; endereço MAC; TTL> TTL (Time To Live): tempo a partir do qual o mapeamento de endereços será esquecido (valor típico de 20 min) 0C-C4-11-6F-E3-98 5: Camada de Enlace 5a-19 Protocolo ARP: Mesma LAN (rede) A deseja enviar datagrama para B, e o endereço MAC de B não está na tabela ARP. A difunde o pacote de solicitação ARP, que contém o endereço IP de B Endereço MAC destino = FF-FF-FF-FF-FF-FF todas as máquinas na LAN recebem a consulta do ARP Uma cache (salva) o par de endereços IP-para-MAC na sua tabela ARP até que a informação fique antiquada (expire) ‘soft state’: informação que expira (vai embora) a menos que seja renovada ARP é “plug-and-play”: os nós criam suas tabelas ARP sem a intervenção do administrador da rede B recebe o pacote ARP, responde a A com o seu (de B) endereço MAC Quadro enviado para o endereço MAC (unicast) de A 5: Camada de Enlace 5a-20 Roteando um pacote para outra LAN passo a passo: envio de datagrama de A para B via R assuma que A conhece o endereço IP de B A R B Duas tabelas ARP no roteador R, uma para cada rede IP (LAN) 5: Camada de Enlace 5a-21 A cria datagrama com origem A, destino B A usa ARP para obter o endereço MAC de R para 111.111.111.110 A cria quadro da camada de enlace com o endereço MAC de R como destino, quadro contém datagrama IP de A para B O adaptador de A envia o quadro O adaptador de R recebe o quadro R remove o datagrama IP do quadro Ethernet, verifica que é destinado para B R usa ARP para obter o endereço MAC de B R cria quadro contendo datagrama IP de A para B e o envia para B A R B 5: Camada de Enlace 5a-22 Ethernet Muitíssimo difundida porque: Muito barata! R$30 para placas 10/100Mbps! A mais antiga das tecnologias de rede local Mais simples e menos cara que redes usando ficha ou ATM Acompanhou o aumento de velocidade: 10 Mbps – 10 Gbps Rascunho de Metcalfe sobre o Ethernet 5: Camada de Enlace 5a-23 Topologia em Estrela Topologia de barramento popular até meados dos anos 90 Agora prevalência de topologia estrela Escolhas de conexão: hub ou switch hub ou switch 5: Camada de Enlace 5a-24 Estrutura de Quadro Ethernet Adaptador remetente encapsula datagrama IP (ou pacote de outro protocolo da camada de rede) num Quadro Ethernet Preâmbulo: 7 bytes com o padrão 10101010 seguidos por um byte com o padrão 10101011 usado para sincronizar receptor ao relógio do remetente (relógios nunca são exatos, é muito provável que exista algum desvio entre eles) 5: Camada de Enlace 5a-25 Estrutura de Quadro Ethernet (cont) Endereços: 6 bytes para cada endereço MAC se o adaptador recebe um quadro com endereço destino igual ao seu, ou com endereço de difusão (ex., pacote ARP), ele passa os dados do quadro para o protocolo da camada de rede caso contrário, o adaptador descarta o quadro Tipo: indica o protocolo da camada superior, usualmente IP, mas existe suporte para outros (tais como IPX da Novell e AppleTalk) CRC: verificado pelo receptor: se for detectado um erro, o quadro será descartado 5: Camada de Enlace 5a-26 Serviço não confiável e sem conexões Sem conexões: Não há estabelecimento de conexão (saudação) entre os adaptadores transmissor e receptor. Não confiável: o adaptador receptor não envia ACKs ou NACKs para o adaptador transmissor fluxo de datagramas passados para a camada de rede pode conter falhas na seqüência falhas serão preenchidas se aplicação estiver usando o TCP caso contrário, a aplicação verá as falhas 5: Camada de Enlace 5a-27 Ethernet usa o CSMA/CD O adaptador não transmite se perceber que algum outro adaptador está transmitindo, isto é, escuta antes de transmitir (carrier sense) O adaptador transmissor aborta quando percebe que outro adaptador está transmitindo, isto é, detecção de colisão Antes de tentar uma retransmissão, o adaptador espera um tempo aleatório, isto é, acesso aleatório 5: Camada de Enlace 5a-28 10BaseT e 100BaseT Taxas de transmissão de 10 e 100 Mbps; esta última é chamado de “fast ethernet” T significa Par Trançado (Twisted pair) Nós são conectados a um hub: “topologia estrela”; distância máxima entre os nós e o hub de 100m. par trançado hub 5: Camada de Enlace 5a-29 Gbit Ethernet Usa formato padrão do quadro Ethernet Admite enlaces ponto-a-ponto e canais de difusão compartilhados Em modo compartilhado, usa CSMA/CD; para ser eficiente, as distâncias entre os nós devem ser curtas (poucos metros) Os Hubs usados são chamados de Distribuidores com Buffers (“Buffered Distributors”) Full-Duplex a 1 Gbps para enlaces ponto-a-ponto Agora temos também 10 Gbps! 5: Camada de Enlace 5a-30 Codificação de Manchester Usado no 10BaseT Cada bit possui uma transição Permite que os relógios nos nós transmissor e receptor entrem em sincronismo não há necessidade de um clock global, centralizado Mas, isto é assunto para a camada física! 5: Camada de Enlace 5a-31 Hubs Hubs são essencialmente repetidores de camada física: bits vindos de um link são repetidos em todos os demais links na mesma taxa sem bufferização de quadros não há CSMA/CD no hub: os adaptadores detectam as colisões provê funcionalidade de gerenciamento da rede par trançado hub 5: Camada de Enlace 5a-32 Interconexão com hubs Hub no backbone interconecta segmentos de LAN Estende a distância máxima entre nós Mas os domínios de colisão de segmentos individuais tornam-se um grande domínio de colisão Não dá para interligar 10Base T com 100BaseT hub hub hub hub 5: Camada de Enlace 5a-33 Switch (comutador) Dispositivo da camada de enlace armazena e retransmite quadros Ethernet examina o cabeçalho do quadro e seletivamente encaminha o quadro baseado no endereço MAC do destino quando o quadro deve ser encaminhado num segmento, usa o CSMA/CD para acessá-lo transparente hosts ignoram a presença dos switches plug-and-play, self-learning (auto aprendizado) switches não necessitam ser configurados 5: Camada de Enlace 5a-34 Encaminhamento switch 1 2 hub 3 hub hub • Como determina em que segmento de LAN deve encaminhar o quadro? • Parece um problema de roteamento... 5: Camada de Enlace 5a-35 Auto aprendizado Um switch possui uma tabela de comutação entrada na tabela de comutação: (Endereço MAC, Interface, Carimbo de tempo) entradas antigas na tabela são descartadas (TTL pode ser de 60 min) switch aprende que hosts podem ser alcançados através de quais interfaces quando um quadro é recebido, o switch “aprende” a localização do transmissor: segmento de LAN de onde ele veio registra o par transmissor/localização na tabela de comutação 5: Camada de Enlace 5a-36 Exemplo com Switch Suponha que C envia quadro para D 1 B C A B E G 3 2 hub hub hub A endereço interface switch 1 1 2 3 I D E F G H Switch recebe o quadro vindo de C anota na tabela de comutação que C está na interface 1 dado que D não se encontra na tabela, encaminha o quadro para as demais interfaces: 2 e 3 quadro é recebido por D 5: Camada de Enlace 5a-37 Exemplo com Switch Suponha que D responde com um quadro para C. endereço interface switch B C hub hub hub A I D E F G A B E G C 1 1 2 3 1 H Switch recebe o quadro vindo de D anota na tabela de comutação que D está na interface 2 dado que C está na tabela, encaminha o quadro apenas na interface 1 quadro é recebido por C 5: Camada de Enlace 5a-38 Switch: isolamento de tráfego Instalação do switch quebra a subrede em diversos segmentos de LAN switch filtra os pacotes: quadros do mesmo segmento de LAN não são normalmente encaminhados para os outros segmentos segmentos tornam-se domínios de colisão separados switch domínio de colisão hub domínio de colisão hub domínio de colisão hub 5: Camada de Enlace 5a-39 Switches: acesso dedicado Switch com diversas interfaces Hosts têm conexão direta com o switch Sem colisões; full duplex Comutação: A-para-A’ e B-para-B’ simultaneamente, sem colisões A C’ B switch C B’ A’ 5: Camada de Enlace 5a-40 Rede Institucional/corporativa para a rede externa servidor de mail servidor web roteador switch subrede IP hub hub hub 5: Camada de Enlace 5a-41 Switches vs. Roteadores ambos são dispositivos do tipo armazena-e-encaminha roteadores: dispositivos da camada de rede (examinam os cabeçalhos da camada de rede) switches são dispositivos da camada de enlace roteadores mantêm tabelas de roteamento, implementam algoritmos de roteamento switches mantêm tabelas de comutação, implementam filtragem, algoritmos de aprendizado 5: Camada de Enlace 5a-42 Controle de Enlace de Dados Ponto a Ponto um transmissor, um receptor, um canal: mais fácil que um canal de difusão: sem controle de acesso ao meio (MAC) sem necessidade de endereçamento MAC explícito ex.: canal discado, canal ISDN/RDSI protocolos de enlace ponto a ponto populares: PPP (point-to-point protocol) HDLC: High level data link control - Controle de Enlace de Dados de Alto Nível (enlace de dados era considerado “alto nível” na pilha de protocolos”) 5: Camada de Enlace 5a-43 Quadro de Dados do PPP Flag: delimitador (enquadramento) Endereço: não faz nada (apenas uma opção) Controle: não faz nada; no futuro pode ter múltiplos campos de controle Protocolo: protocolo da camada superior para o qual o quadro deve ser entregue (ex.: PPP-LCP, IP, IPCP, etc) 5: Camada de Enlace 5a-44 Quadro de Dados do PPP info: dados da camada superior que estão sendo transportados verificação (check): código de redundância cíclica para verificação de erros 5: Camada de Enlace 5a-45 ATM e MPLS ATM e MPLS são redes separadas com tudo o que têm direito! modelos de serviços, endereçamento e roteamento diferentes dos usados na Internet vistos pela Internet como sendo um enlace lógico interconectando roteadores IP da mesma forma que um enlace discado é na verdade parte de uma rede separada (a telefônica) 5: Camada de Enlace 5a-46 ATM: Asynchronous Transfer Mode padrão de alta velocidade dos anos 1990’s/00 (155Mbps a 622 Mbps e superiores) arquitetura da RDSI-FL (Broadband Integrated Service Digital Network) Objetivo: transporte fim-a-fim integrado para voz, vídeo e dados atendendo os requisitos de sincronismo e QoS para voz e vídeo (versus o modelo de melhor esforço da Internet) “próxima geração” da telefonia: raízes técnicas no mundo da telefonia Comutação de pacotes (pacotes de comprimento fixos, denominados de “células”) usando circuitos virtuais 5: Camada de Enlace 5a-47 Arquitetura ATM camada de adaptação: apenas nas bordas de uma rede ATM segmentação e remontagem dos dados analogia com a camada de transporte da Internet camada ATM: camada de “rede” comutação de células, roteamento camada física 5: Camada de Enlace 5a-48 ATM: camada de rede ou de enlace? Visão: transporte fim-a-fim: “ATM entre mesas de trabalho” ATM é uma tecnologia de rede Realidade: usada para conectar roteadores de um backbone IP rede ATM rede IP “IP sobre ATM” ATM como uma camada de enlace comutada, conectando roteadores IP 5: Camada de Enlace 5a-49 X.25 e Frame Relay Tecnologias de Longa Distância (como ATM); também, ambos orientados a Circuito Virtual, como ATM X.25 foi criado nos anos 70, com o apoio das Operadoras de Telecomunicações, como resposta à tecnologia de datagrama da ARPANET (guerra religiosa.) Frame Relay surgiu da tecnologia RDSI (no final dos anos 80) Tanto X.25 como Frame Relay podem ser usados para transportar datagramas IP; por isto, são vistos como Camadas de Enlace pela camada de protocolo IP (e, portanto, são tratados aqui neste capítulo) 5: Camada de Enlace 5a-50 MultiProtocol Label Switching (MPLS) Comutação de rótulos multiprotocolo Objetivo inicial: acelerar o encaminhamento IP através do uso de rótulo de comprimento fixo (ao invés de endereço IP) empresta idéias da abordagem de circuitos virtuais (CVs) mas os datagramas ainda mantêm o endereço IP! cabeçalho PPP ou Ethernet Cabeçalho MPLS rótulo (label) 20 cabeçalho IP restante do quadro Exp S TTL 3 1 5 5: Camada de Enlace 5a-51 Redes Sem Fio e Móveis 5: Camada de Enlace 5a-52 Elementos de uma rede sem fio Infra-estrutura da rede Hosts sem fio laptop, PDA, IP phone Rodam Aplicações podem ser móveis ou não “sem fio” nem sempre significa mobilidade 5: Camada de Enlace 5a-53 Elementos de uma rede sem fio Infra-estrutura da rede estação base Tipicamente conectada a uma rede c/ fio Responsável pela comunicação entre os hosts móveis da sua área e os hosts das redes infraestruturadas e.g., cell towers e 802.11 access points 5: Camada de Enlace 5a-54 Elementos de uma rede sem fio Infra-estrutura da rede enlace sem fio usado para conectar os disp. móveis às estações base Usado como enlace de backbone Controlado por protocolos de múltiplo acesso Várias taxas de transmissão e distâncias máximas 5: Camada de Enlace 5a-55 Elementos de uma rede sem fio Infra-estrutura da rede Modo Infra-estruturado Estação base conecta os disp. móveis na rede com fio handoff: disp. móvel muda de estação base, se conectando à nova rede com fio 5: Camada de Enlace 5a-56 Elementos de uma rede sem fio Modo Ad hoc não existem estações base nós podem transmitir para outros somente dentro de uma determinada cobertura nós se organizam em uma rede e o roteamento só pode ser feito entre eles 5: Camada de Enlace 5a-57 Características de enlaces sem fio Diferenças para os enlaces com fio: Decremento na potência do sinal: sinais de rádio se atenuam ao longo do caminho (path loss) Interferência de outras fontes: freqüências padronizadas para redes sem fio (por ex. 2.4 GHz) são compartilhadas por outros disp. (por ex., telefone); motores também interferem Propagação multipath: sinal de rádio reflete em obstáculos terrestres, chegando no destino com pequenas diferenças de tempo Faz da comunicação sobre um enlace sem fio (mesmo um ponto a ponto) muito mais difícil 5: Camada de Enlace 5a-58 Características das redes sem fio A existência de múltiplos transmissores e receptores sem fio cria problemas adicionais, que vão além do múltiplo acesso: C A B A B Probl. terminal escondido B, A escutam um ao outro B, C escutam um ao outro A, C não podem escutar um ao outro A e C não podem prever uma interf. em C C C’s signal strength A’s signal strength space Atenuação do sinal: B, A escutam um ao outro B, C escutam um ao outro A, C não podem escutar um ao outro interf. em C 5: Camada de Enlace 5a-59 IEEE 802.11 Wireless LAN 802.11b 2.4-5 GHz unlicensed radio spectrum up to 11 Mbps direct sequence spread spectrum (DSSS) in physical layer • all hosts use same chipping code widely deployed, using base stations 802.11a 5-6 GHz range up to 54 Mbps 802.11g 2.4-5 GHz range up to 54 Mbps All use CSMA/CA for multiple access All have base-station and ad-hoc network versions 5: Camada de Enlace 5a-60 IEEE 802.11 LAN - arquitetura Internet AP hub, switch ou roteador BSS 1 AP Um host sem fio se comunica com a estação base estação base = access point (AP) Basic Service Set (BSS) (“célula”): no modo infra-estruturado contém: • Hosts sem fio • access point (AP): estação base no modo ad hoc: somente hosts sem fio BSS 2 5: Camada de Enlace 5a-61 IEEE 802.11: múltiplo acesso Evita colisões (CSMA/CA) (Collision Avoidance) dois ou mais nós transmitindo ao mesmo tempo 802.11: CSMA – “escuta” o meio antes de transmitir para não colidir com outras transmissões em andamento 802.11: não realiza detecção de colisão! Dificuldade de receber (“escutar” colisões) quando está transmitindo devido à fraqueza dos sinais recebidos (fading) Não pode escutar todas as colisões: terminal escondido, fading A C A B B C força do sinal de C força do sinal de A espaço 5: Camada de Enlace 5a-62 IEEE 802.11: Evitando colisões idéia: permitir ao emissor reservar o canal ao invés de realizar um acesso aleatório dos quadros, evitando colisões de quadros longos Emissor primeiramente envia pequenos pacotes de controle request-to-send (RTS) para o AP usando o CSMA, mas que é ouvido por todas as estações ao seu alcance (inclusive o AP) Obs: os pacotes RTS podem ainda colidir uns com os outros, mas como eles são pequenos, não causam longos atrasos AP envia um pct clear-to-send (CTS) para todas as estações que estão ao seu alcance, em resposta ao RTS Emissor transmite o quadro de dados Outras estações bloqueiam suas transmissões Evita completamente as colisões de quadros de dados usando pequenos pcts de reserva! 5: Camada de Enlace 5a-63 Evitando Colisões: troca de RTS-CTS A B AP Colisão de RTSs DATA (A) bloqueio tempo 5: Camada de Enlace 5a-64