650 likes | 807 Views
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.
E N D
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 A Camada de Enlace de Dados
Alguma terminologia: 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 “link” Camada de Enlace: Introdução a camada de enlace é responsável por transferir os datagramas entre nós adjacentes através do enlace
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 Camada de Enlace: Contexto
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
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
camada de enlace implementada no “adaptador” (NIC) placa Ethernet, cartão PCMCIA, cartão 802.11 lado transmissor: Encapsula o datagrama em um quadro Adiciona bits de verificação de erro, transferência confiável de dados, controle de fluxo, etc. Lado receptor verifica erros, transporte confiável, controle de fluxo, etc. extrai o datagrama, passa-o para o nó receptor adaptador é semi-autônomo camadas de enlace e física quadro quadro Comunicação entre Adaptadores datagrama Protocolo da camada de enlace nó receptor nó transm. adaptador adaptador
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
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
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
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 MACde 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
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
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
Tecnologias de LAN Tecnologias de redes locais (LAN) • Endereçamento • Ethernet • Hubs e switches • PPP
Endereços MAC e ARP • Endereço IP de 32 bits: • Endereços da camada de rede • usado para levar o datagrama à subredeIP 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
1A-2F-BB-76-09-AD LAN (cabeada or sem fio) 71-65-F7-2B-08-53 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 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 = adaptador
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
Pergunta: como obter o endereço MAC de B a partir do endereço IP de B? ARP: Address Resolution Protocol (Protocolo de Resolução de Endereços) • 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 < 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) 237.196.7.78 1A-2F-BB-76-09-AD 237.196.7.23 237.196.7.14 LAN 71-65-F7-2B-08-53 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 237.196.7.88
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 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 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 Protocolo ARP: Mesma LAN (rede)
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 • Duas tabelas ARP no roteador R, uma para cada rede IP (LAN) • In routing table at source Host, find router 111.111.111.110 • In ARP table at source, find MAC address E6-E9-00-17-BB-4B, etc A R B
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
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
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
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)
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
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
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 Ethernet usa o CSMA/CD
par trançado hub 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.
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!
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!
par trançado hub 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
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
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
switch hub hub hub Encaminhamento 1 3 2 • Como determina em que segmento de LAN deve encaminhar o quadro? • Parece um problema de roteamento...
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) • switchaprende 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
Exemplo com Switch Suponha que C envia quadro para D endereço interface switch 1 1 1 2 3 A B E G 3 2 hub hub hub A I F D G B C H E • 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
Exemplo com Switch Suponha que D responde com um quadro para C. endereço interface switch 1 1 2 3 1 A B E G C hub hub hub A I F D G B C H E • 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
switch hub hub hub Switch: isolamento de tráfego • Instalação do switch quebra a subrede em diversos segmentos de LAN • switchfiltra 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 domínio de colisão domínio de colisão domínio de colisão
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’
Rede Institucional/corporativa servidor de mail para a rede externa servidor web roteador switch subrede IP hub hub hub
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
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”)
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)
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
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)
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
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
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 • “IP sobre ATM” • ATM como uma camada de enlace comutada, conectando roteadores IP rede IP rede ATM
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)