Redes de Computadores Redes de Computadores Camada Lógica 1
Camada Rede - Revisão Serviços da camada de rede Circuitos virtuais Datagramas Funcionamento de um encaminhador ( router ) Camada de rede na Internet: o protocolo IP Princípios de encaminhamento: selecção de um caminho Outros aspectos da camada de rede na Internet DHCP, NAT, ICMP, IPv6 Encaminhamento hierárquico Encaminhamento na Internet intra domínio inter domínio Encaminhamento multicast 2 Camada Lógica
Camada Lógica Introdução e Serviços Detecção e correcção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e switches Tecnologias da camada de ligação de dados Token Ring, PPP Ethernet Tecnologias da camada de ligação de dados - Virtualização: ATM MPLS Objectivos: Objectivos: Entender os princípios por trás dos serviços da camada lógica ou de ligação dados: Entender os princípios por trás dos serviços da camada lógica ou de ligação dados: detecção e correção de erros detecção e correção de erros partilha do canal de difusão: controlo do acesso ao meio partilha do canal de difusão: controlo do acesso ao meio endereçamento da camada lógica endereçamento da camada lógica Instanciação e implementação de diversas tecnologias de camada lógica Instanciação e implementação de diversas tecnologias de camada lógica 3 Camada Lógica Segue Capitulo 5 do livro de J.F Kurose e K.W. Ross
Camada Lógica link Os canais de comunicação que interligam dois nós adjacentes são designados por ligações ou conexões e podem ser de vários tipos Cabos eléctricos ou ópticos ponto a ponto Canais rádio ponto a ponto Canais partilhados com acesso múltiplo (LANs) Os pacotes da camada lógica designam-se por tramas A camada lógica é responsável por transferir os datagramas (nas tramas) entre nós adjacentes através do canal ( link ) 4 Camada Lógica
Camada Lógica: Exemplo e Analogia Datagrama é transferido por diferentes protocolos da camada lógica em diferentes ligações: e.g. Ethernet na primeira ligação, frame relay em ligações intermédias e 802.11 na última ligação Cada protocolo de camada lógica fornece serviços diferentes e.g. pode ou não fornecer transporte fiável de dados através da ligação 5 Camada Lógica Analogia de transporte Viagem do Tagus a Madrid Autocarro de aluguer: Taguspark ao aeroporto da Portela Avião: aeroporto da Portela ao aeroporto de Madrid Comboio: aeroporto de Madrid ao centro de Madrid turista = datagrama segmento de transporte = canal de comunicação modalidade de transporte = protocolo da camada lógica agente de viagens = algoritmo de encaminhamento
Protocolos da Camada Lógica 6 6 Camada Lógica Departamento 5: de Camada Engenharia de Enlace Informática
Serviços da Camada Lógica Construção e delimitação de tramas Encapsulamento de datagramas numa trama adicionando cabeçalho e terminação Acesso ao canal (meio) Definição dos procedimentos no caso de meio partilhado Gestão de identificadores de origem e destino - endereços MAC Diferente do endereço IP, não é relevante para PPP Transmissão fiável entre nós adjacentes Dependendo do tipo de ligação pode ser necessário usar técnicas específicas de transmissão fiável raramente usada em canais com baixas taxas de erro (fibra óptica, alguns tipos de pares trançados) Canais sem fio: altas taxas de erros 7 Camada Lógica
Serviços da Camada Lógica (cont) Controlo de Fluxo compatibilizar taxas de produção e consumo de tramas entre emissores e receptores Detecção de Erros Tratamento de erros causados por ruído e atenuação do sinal no canal de comunicação Pedido de repetição de tramas Descarte da trama Correção de Erros mecanismo que permite o receptor localizar e corrigir o(s) erro(s) sem precisar da retransmissão Serviço Half-duplex ou full-duplex com half duplex, os nós de cada lado podem transmitir, mas não simultaneamente 8 Camada Lógica
Comunicação entre Adaptadores Camada de lógica muitas vezes realizada num adaptador autónomo Network Interface Card NIC: Placa Ethernet, cartão PCMCI ou 802.11 datagrama Protocolo da camada lógica nó emissor trama Lado emissor Encapsula o datagrama numa trama Adiciona bits de verificação de erro, transferência fiável de dados, controlo de fluxo, etc. 9 Camada Lógica adaptador trama adaptador nó receptor Lado receptor verifica erros, transporte fiável, controlo de fluxo, etc. extrai o datagrama, passa-o para o nó receptor camadas lógica e física
Introdução e serviços Revisão Introdução e Serviços Detecção e correção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e switches Tecnologias da camada lógica Token Ring, PPP Ethernet Tecnologias da camada lógica - Virtualização ATM MPLS Camada Lógica Introdução Serviços da da Camada Lógica Comunicação entre adaptadores 10 Camada Lógica
Detecção e Correcção de Erros Introdução de bits calculados em função dos bits de dados redundância Principais técnicas: Paridade (uni- ou multidimensional) Soma de verificação ( checksum ) Código cíclico de verificação ( Cyclic Redundancy Code CRC) Os erros só são detectados se no receptor, os bits redundantes calculados, forem diferentes dos inscritos na trama detecção não é 100% perfeita: protocolo pode não identificar alguns erros, mas é raro Datagrama Datagrama S Todos os bits nos Dados OK? N - Detecção de erros Dados Bits Resundantes 11 Camada Lógica Canal com ruído Dados Bits Resundantes
Bits de Paridade Bit de paridade -Detecta um número ímpar de bits errados -odd parity ou even parity Paridade bidimensional - dividir d bits em linhas horizontais e verticais - um erro simples pode ser corrigido Exemplo paridade par Exemplo: paridade impar odd parity 12 Camada Lógica
CRC - Cyclic Redundancy Codes Códigos de Redundância Cíclica Mensagem de m bits é interpretada como polinómio M(x) de grau < m Polinómio gerador de grau r Cálculo do CRC d bits r bits Dividendo é x r M(x) Dados R: CRC bits Divisor é G(x) (=> r+1 bits) Divisão módulo 2 produz resto R(x), de grau inferior a r Mensagem transmitida é T(x) = x r M(x) + R(x)...notar que T(x) é divisível por G(x) Detecção de erros Receptor e emissor conhecem G(x) combinado à-priori Se a mensagem recebida for divisível por G(x) então não se detectam erros Caso o resto seja diferente de zero: detectado erro! Usado amplamente na prática (ATM, HDLC) 13 Camada Lógica
CRC - Exemplo bit mais significativo de G tem de ser 1 1101 G(x) = x 3 + x 2 + x 0 10011010 M(x) = x 7 + x 4 + x 3 + x 1 10011010000 x 3 M(x) = x 10 + x 7 + x 6 + x 4 1001-1101 = 1001 XOR 1101 = 0100 101 R(x) = x 2 + 1 10011010101 x 3 M(x) + R(x) = x 10 + x 7 + x 6 + x 4 + x 2 + 1 14 Camada Lógica
CRC Polinómios utilizados HDLC utiliza um CRC de 16 bits A ARPANET utilizava um CRC de 24 bits no protocolo de ligação de bit alternado ATM utiliza um CRC de 32 bits em AAL5 Padrões internacionais de polinômios G de graus CRC-8 G(x)= x 8 + x 2 + x 1 + 1 CRC-10 G(x)= x 10 + x 9 + x 5 + x 4 +x 1 + 1 CRC-12 G(x)= x 12 + x 11 + x 3 + x 2 + 1 CRC-CCITT G(x)= x 16 + x 12 + x 5 + 1 CRC-32 G(x)= x 32 +x 26 +x 23 +x 22 +x 16 +x 12 +x 11 +x 10 +x 8 +x 7 +x 5 +x 4 +x 2 +x+1 G CRC-32 = 100000100110000010001110110110111 15 Camada Lógica
CRC Propriedades Remetente realiza em tempo real por hardware a divisão da sequência M pelo polinómio G e acrescenta o resto R a M Mensagem recebida é T(x) + E(x), em que E(x) é o padrão de erros Padrão de erros é detectado se e só se E(x) não é divisível por G(x) Erros simples são detectados, se G(x) tiver mais do que um termo Número ímpar de erros são detectados, se G(x) tiver x + 1 como factor Rajadas de erros de comprimento inferior ou igual a r são detectadas, se G(x) tiver grau r e incluir o termo 1 Rajadas de erros de comprimento r + 1 só não são detectadas com probabilidade 1 / 2 r 1, se G(x) tiver grau r e incluir o termo 1 16 Camada Lógica
CRC Realização CRC é fácil de realizar em hardware recorrendo a registos de deslocamento 17 Camada Lógica
Detecção e correção de erros Revisão Introdução e Serviços Detecção e correção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e switches Tecnologias da camada lógica Token Ring, PPP Ethernet Tecnologias da camada lógica - Virtualização ATM MPLS 18 Camada Lógica Detecção e Correcção de de Erros Bits de de Paridade CRC --Cyclic Redundancy Codes Exemplo Polinómios utilizados Propriedades
Contexto dos esquemas de acesso múltiplo Três tipos de ligação: (a) Ponto-a-ponto (um cabo único) (b) Difusão (cabo ou meio compartilhado; e.g., Ethernet, rádio, etc.) (c) Comutado (e.g. ATM) Redes Locais com Fios Redes Locais sem Fios Telefonia celular Comunicações via satélite Redes de pacotes com acesso rádio 19 Camada Lógica
O problema do Acesso Múltiplo Controlo comunicação em meios partilhados por 2 ou + estações em simultaneo Objectivos Maximizar o número de mensagens transferidas com sucesso por unidade de tempo (débito); Minimizar o tempo médio de espera para obter o acesso ao meio. Aplicação canal de comunicação de difusão único 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 a partilha do canal deve usar o próprio canal! não há canal externo para coordenar a transmissão 20 Camada Lógica
Protocolo de Acesso Múltiplo Ideal Canal de difusão com taxa de R bps 1. Quando apenas um nó quiser transmitir, pode transmitir com taxa R. 2. Quando M nós quiserem transmitir, cada um poderá transmitir em média a uma taxa de R/M 3. Completamente descentralizado nenhum nó especial para coordenar as transmissões nenhuma sincronização de relógios ou slots 4. Simples 21 Camada Lógica
Métricas de Desempenho no Acesso Múltiplo Débito normalizado (Normalized throughput ou goodput ) Ritmo utilizado para transferir informação útil. Exclui o overhead dos protocolos, colisões e retransmissões. Atraso médio (Average Delay) Tempo médio que um pacote tem de esperar antes de ser transmitido com sucesso (incluindo o tempo de transmissão) Justiça no acesso (Fairness) Todas as estações têm de ter igual oportunidade de transmissão num intervalo de tempo finito Estabilidade (Stability) Num meio muito sobrecarregado, as colisões vão originar retransmissões de pacotes que podem novamente colidir, gerando novas retransmissões (o débito normalizado diminui drasticamente) Um mecanismo de acesso ao meio deve controlar estas situações, garantindo estabilidade mesmo em períodos de carga elevada 22 Camada Lógica
Taxonomia dos Protocolos de Acesso Múltiplo Três classes gerais: Partição do Canal Técnica de atribuição fixa de recursos, por exemplo, TDMA, FDMA, CDMA. divide o canal em pequenos pedaços (slots de tempo, frequência, código) aloca pedaço a um dado nó para uso exclusivo deste para enviar e receber pacotes Técnica de acesso centralizado, em que um moderador central interroga cada estação participante àcerca da intenção de transmitir. Acesso Aleatório Canal não é dividido, podem ocorrer colisões Recuperação das colisões Técnica de acesso distribuido: todas as estações têm funções idênticas no processo de comunicação Testemunho Nós se alternam passando testemunho Nós com mais dados a transmitir podem demorar mais quando chegar a sua vez Problemas Quando existem vários emissores à espera de vez, qual o próximo a transmitir? Como se evitam as colisões (transmissão simultânea)? 23 Camada Lógica
Protocolos MAC de Partição do Canal: TDMA e FDMA na Comutação de Pacotes TDMA: múltiplo acesso com divisão de tempo (Time Division Multiple Access) acesso ao canal em turnos" cada estação recebe um comprimento fixo de slot (comprimento = tempo de tx do pacote) em cada turno slots não usados permanecem ociosos E.g. LAN com 4 estações: slots 1 e 4 com pacotes, slots 2 e 3 ociosos frequência frame tempo 24 Camada Lógica slot FDMA: múltiplo acesso com divisão de frequência (Frequency Division Multiple Access) espectro do canal dividido em bandas de frequência a cada estação é atribuída uma banda fixa de frequência tempo de transmissão não usado nas bandas permanecem ociosos examplo: LAN com 4 estações, bandas 1 e 4 com pcte, 2 e 3 ociosas Bandas de frequências tempo
Protocolos MAC de Partição do Canal: CDMA Code Division Multiple Access Múltiplo Acesso por Divisão por Código explora esquema de codificação de espectro espalhado DS (Direct Sequence) ou FH (Frequency Hopping) mais usado em canais de radio difusão (celular, satélite, etc) protege utilizadores de interferência (usado desde a Segunda Guerra Mundial) protege utilizadores do multipath fading em rádio Código único associado a cada canal partição do conjunto de códigos todos utilizadores partilham a mesma frequência, mas cada canal tem sua própria sequência de chipping (i.e., código) sequência de chipping funciona como máscara: usado para codificar o sinal sinal codificado = (sinal original) X (sequência de chipping) Descodificação: produto interno do sinal codificado e a sequência de chipping sequências de chipping mutuamente ortogonais entre si (produto interno = 0) permite a coexistência de múltiplos utilizadores e suas transmissões simultâneas com um mínimo de interferência (se os códigos deles forem ortogonais ) 25 Camada Lógica
CDMA Codificação/Decodificação 26 Camada Lógica Interferência entre dois emissores
Protocolos de Acesso Aleatório ou Distribuido Quando nó tem um pacote para transmitir transmite na taxa máxima R nenhuma coordenação à-priori entre os nós dois ou mais nós a transmitir colisão O protocolo MAC de acesso aleatório especifica: como detectar colisões como recuperar destas (e.g. através de retransmissões retardadas) estação emissora espera um tempo aleatório antes de enviar novamente a info cada nó envolvido numa colisão escolhe um atraso aleatório independente Exemplos de protocolos MAC de acesso aleatório: ALOHA, S-ALOHA CSMA, CSMA/CA, CSMA/CD 27 Camada Lógica
Acesso múltiplo: ALOHA puro - Sem Sincronização, Descentralizado ALOHA puro (sem slots): método mais simples acesso ao meio partilhado Os instantes de transmissão são arbitrários Ao chegar uma trama ao nó, transmite imediatamente Em caso de colisão, retransmite imediatamente c/ probabilidade p ou espera Após espera, transmite c/ probabilidade p, ou espera (em idle) com prob 1-p Probabilidade de colisão (origina perda dos pacotes que colidem) é grande até em situações que afectem apenas o último bit de um pacote e o 1º do outro Período de vulnerabilidade trama enviada em t 0 colide com outras tramas enviadas em [t 0-1,t 0 +1] 28 Camada Lógica t 0 1: Início da transmissão de trama t 0 : Colisão com o início da trama I t 0 + 1: Colisão com o fim da trama
Análise simples de Desempenho Hipóteses (simplificativas) ALOHA puro Criação de tramas novas de acordo com processo de Poisson com média S tramas / tempo de trama; Modelo de população infinita de utilizadores; com 0 < S < 1 se S > 1 a taxa de criação de tramas seria superior à taxa que o canal poderia escoar Tentativas de transmissão (incluindo retransmissões) processo de Poisson, com média G tramas / Tempo de transmissão de uma trama Período vulnerável: 2 x Tempo de transmissão de uma trama Débito normalizado S = G. P 0 com S=throughput; G=tentativas de transmissão; P 0 = probabilidade de não haver colisão Probabilidade de serem geradas k tramas durante o período vulnerável (Poisson com parâmetro 2G): Prob [k] = (2G) k e -2G / k! Tem-se: P 0 = e -2G, S = G e -2G, S max = 1/(2e) quando G= ½ 29 Camada Lógica
Eficiência do ALOHA puro N = número de nós que partilham canal P(sucesso por um dado nó) = P(nó transmita). P(nenhum outro nó transmita em [t 0-1,t 0 ]. P(nenhum outro nó transmita em [t 0,t 0 +1] = p. (1-p) N-1. (1-p) N-1 = p. (1-p) 2(N-1) escolhendo o valor óptimo de p e deixando N -> infinito... = 1/(2e) = 0,18 (18%) 30 Camada Lógica
Acesso Múltiplo: ALOHA Sincronizado S-ALOHA ou Synchronized ALOHA Objectivo: aumentar a eficiência da rede relativamente ao esquema ALOHA puro Estratégia: Reduzir o período de vulnerabilidade Método Dividir o tempo em slots de dimensão T todos os slots do mesmo tamanho - tempo para transmitir 1 trama (T= L bits / R bps) Quando uma estação pretende enviar uma trama espera pelo próximo slot estação começa a transmitir tramas apenas no início dos slots Pressupostos de implementação Sincronização entre as estações existe uma estação que emite um sinal de relógio Mais de 1 estação transmite num slot => todas as estações detectam a colisão só há colisões para tramas que sejam transmitidas no mesmo slot estação retransmite trama em cada slot posterior com probabilidade p até ter sucesso Período de vulnerabilidade 31 Camada Lógica
Análise simples de Desempenho Hipóteses (simplificativas): S-ALOHA Tal como anteriormente, geração de tramas novas S com um processo de Poisson e modelo de população infinita de estações Agora tem-se um período vulnerável igual a Tempo de trama Débito normalizado: S = G. P 0 com S=throughput; G=tentativas de transmissão (incluindo retransmissões); P0 = probabilidade de não haver colisão; Probabilidade de serem geradas k tramas durante o período vulnerável: Prob [k] = (G) k e -G / k! (considerando um intervalo equivalente a Tempo_de_trama) Portanto P 0 = e -G, S=Ge -G, S max =1/e quando G = 1 32 Camada Lógica Melhor caso (quando G = 1): canal usado para transmissões úteis em 37% do tempo! 37% são sucessos (=1/e) 37% dos slots estão livres e 26% colisões.
Eficiência do S-ALOHA Eficiência é a fracção de longo prazo de slots com sucesso quando há muitas estações, cada uma com muitas tramas para transmitir Assuma N nós com muitas tramas para enviar, cada um transmite num slot com probabilidade p prob que nó 1 tenha sucesso em um slot = p(1-p) N-1 prob que qualquer nó tenha sucesso = Np(1-p) N-1 Para eficiência máx com N nós, encontrar p* que maximiza Np(1-p) N-1 Para muitos nós, fazendo limite de Np*(1-p*) N-1 quando N tende a infinito, dá 1/e = 0,37 33 Camada Lógica
Acesso Múltiplo: ALOHA Sincronizado C Collision slot E Empty slot S Success slot Vantagens único nó activo pode transmitir continuamente na taxa máxima do canal descentralizado: apenas slots nos nós precisam estar sincronizados simples Desvantagens colisões, slots desperdiçados slots ociosos nós podem ser capazes de detectar colisões num tempo inferior ao da transmissão do pacote sincronização dos relógios 34 Camada Lógica
ALOHA Puro e Sincronizado Resumo de operações Comparação 35 Camada Lógica
Acesso Múltiplo CSMA CSMA Carrier Sense Multiple Access A característica básica introduzida no esquema CSMA consiste na detecção de portadora (Carrier Sense) estação detecta actividade no canal, para transmissão e entra em Collision Detection Factor importante porquê então as colisões? o tempo de propagação tempo que uma mensagem demora a ser detectada na estação mais remota CSMA: escuta canal antes de transmitir Se o canal estiver livre (idle): transmite toda a trama Se o canal estiver ocupado, adia a transmissão por um tempo aleatório Variantes básicas (para efeitos de início de transmissão): Análise do estado do meio Não persistente: amostra o meio de transmissão em intervalos de tempo aleatórios Persistente: está continuamente a amostrar o meio Minimização de colisões e controlo da estabilidade do sistena (especialmente importante para o esquema persistente) Algoritmo Binary Exponential Backoff 36 Camada Lógica
Tratamento de Colisões Mas no CSMA, colisões podem ainda ocorrer Distância e atraso de propagação 2 nós podem não ouvir a transmissão do outro Colisão: todo o tempo de transmissão é desperdiçado CSMA/CA: Collision Avoidance A estação só transmite quando recebe a confirmação (pacote CTS) da recepção correcta do pacote RTS; depois disso transmite os dados Esquema normalizado: IEEE 802.11 CSMA/CD: detecção da portadora, adia a transmissão como no CSMA. Transmite sempre, detecta colisões e tem mecanismos para as resolver Esquema usado na Ethernet: IEEE 802.3 As colisões são detectadas em pouco tempo Transmissões que sofreram colisões são abortadas; reduz o desperdício do canal Collision 37 Camada Lógica
Desempenho CSMA Um modelo simplificado para a análise de desempenho (idêntico a um dos modelos anteriores no contexto de ALOHA sincronizado): assume-se que k estações estão sempre prontas para transmitir, num dado slot de duração 2τ, com probabilidade p (em vez de se considerar binary exponential backoff, para simplificar) ==> probabilidade, A, de que uma estação capture o canal: A = k p (1-p) k-1 O valor de A é máximo quando p = 1/k e vale A=1/e quando k ==> probabilidade de que um intervalo de contenção tenha exactamente j slots: A(1-A) j-1 ==> número médio de slots por cada período de contenção : 1/A ==> Utilização do canal: U = (F/B) / (F/B + 2τ/A) onde F = tamanho das tramas e B = capacidade do canal 38 Camada Lógica
Comparação de desempenho ALOHA e variantes CSMA 39 Camada Lógica
Protocolos de atribuição dinâmica vs. acesso aleatório vs partição de canais Protocolos MAC de partição do canal partilha o canal de forma eficiente e de forma justa em altas cargas Ineficiente em cargas baixas: atraso no canal de acesso, alocação de 1/N da largura de banda mesmo com apenas 1 nó activo! Protocolos MAC de acesso aleatório eficiente em baixas cargas: um único nó pode utilizar completamente o canal Altas cargas: overhead com colisões requerem controlo contra comportamentos instáveis Protocolos MAC de atribuição dinâmica Procuram oferecer o melhor dos dois mundos! permitem uma melhor utilização do canal (principalmente em períodos de carga elevada) requerem gestão do testemunho (o que leva atrasos maiores em cargas baixas) 40 Camada Lógica
Acesso Múltiplo: Protocolos de Atribuição Dinâmica Polling Nó mestre convida nós escravos a transmitir em vez Preocupações Overhead com as consultas (polling), Latência, Ponto único de falha (mestre) Passagem de testemunho (Token Passing e.g. Protocolo Token Ring) Nó detém o testemunho (ou token, ou permissão) => tem acesso exclusivo ao canal pode transmitir um número máximo, pré-acordado, de tramas ou então deter o testemunho durante um intervalo máximo pré-acordado. Mensagem de passagem do testemunho depois de usar o canal, nó tem de passar o testemunho ao próximo nó de forma sequencial (i.e. repor o testemunho no anel) Preocupações Overhead com a passagem do testemunho Latência Ponto único de falha (testemunho) 41 Camada Lógica
Protocolos de Acesso Múltiplo Revisão Introdução e Serviços Detecção e correção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e switches Tecnologias da camada lógica Ethernet PPP Tecnologias da camada lógica Virtualização ATM MPLS 42 Camada Lógica Particionamento do do canal por por tempo, frequência ou ou código Particionamento Aleatório (dinâmico): ALOHA, S-ALOHA CSMA, CSMA/CD Escutar portadora: fácil Escutar a portadora: fácil em em algumas algumas tecnologias tecnologias (com (com fios), fios), difíceis difíceis em em outras outras (sem (sem fios) fios) CSMA/CD usado usado na na Ethernet CSMA/CA usado usado no no 802.11 802.11 Atribuição Dinâmica Consultas (polling) a partir partir de de um um ponto ponto central central Passagem de de testemunho
Endereços LAN Cada adaptador na LAN possui um endereço LAN único Endereço IP de 32 bits Endereço camada de rede Leva o datagrama à subrede IP de destino Endereço IP hierárquico NÃO é portátil (requer Mobilidade IP) depende da subrede IP à qual o nó está ligado Endereço de Difusão = FF-FF-FF-FF-FF-FF Não é o nó que tem um endereço MAC é o adaptador! 1A-2F-BB-76-09-AD Endereço MAC (ou LAN, ou físico, ou Ethernet) Usado para levar o datagrama de uma interface até outra interface ligada fisicamente (da mesma rede) Endereço MAC de 48 bits (maioria das redes) queimado (burned) na ROM do adaptador. Único. Alocação de endereços MAC gerida pelo IEEE um fabricante compra uma parte do espaço de endereços blocos de 2 24 (para garantir unicidade) Endereço MAC sem estrutura (flat) => portatil Pode-se mover um cartão LAN entre LANs 71-65-F7-2B-08-53 = adaptador LAN (com ou sem fios) 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 43 Camada Lógica
Expedição de tramas Usando o ARP: AddressResolutionProtocol ARP [RFC 826] A B 5C-66-AB-90-75-B1 223.1.1.1 223.1.1.2 223.1.1.3 E6-E9-00-17-BB-4B 223.1.1.4 A consulta uma tabela ARP para fazer a tradução (Endereço IP, Endereço MAC) A encapsula o datagrama em trama MAC MAC destino MAC origem Cada interface num nó IP (Host ou Router) de 1 LAN possui Tabela ARP Faz o mapeamento de endereços IP/MAC para alguns nós da LAN < endereço IP; endereço MAC; TTL> 1A-23-F9-CD-06-9B 223.1.3.0/24 TTL: tempo para o mapeamento de endereços ser esquecido (valor típico 20min) 44 Camada Lógica
ARP: Address Resolution Protocol (Protocolo de Resolução de Endereços) Como obter o endereço MAC de B a partir do endereço IP de B? A deseja enviar datagrama para B, endereço MAC de B não está na tabela ARP A difunde uma trama ARP de interrogação que contém o endereço IP de B Endereço MAC destino = FF-FF-FF-FF-FF-FF todas as interfaces na LAN recebem a consulta do ARP B reconhece o seu endereço IP na trama ARP de interrogação e responde a A com uma trama ARP de resposta que contem o seu endereço MAC, enviada para o endereço MAC (unicast) de A B fica a saber o par (Endereço IP de A, Endereço MAC de A) A recebe a trama ARP de resposta e guarda na tabela ARP em memória (cache) o par (Endereço IP de B, Endereço MAC de B) até que a informação fique antiquada (expire) os pares (Endereço IP, Endereço MAC) são datados soft state : informação que expira é descartada a menos que seja renovada ARP é plug-and-play : nós criam suas tabelas ARP sem a intervenção de administrador da rede ARP apenas traduz end.ip/ MAC na mesma subrede (enquanto DNS traduz nomes/end.ip na internet 45 Camada Lógica
Encaminhamento de um pacote para uma LAN diferente 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 router R, uma para cada rede IP (LAN) 46 Camada Lógica A cria datagrama com origem A, destino B A cria datagrama com origem A, destino B A usa tabela de encaminhamento para obter interface de saida (e IP) para o router R A usa tabela de encaminhamento para obter interface de saida (e IP) para o router R A A usa usa ARP ARP para para obter obter o o endereço endereço MAC MAC de de R R para para 111.111.111.110 111.111.111.110 A cria trama da camada lógica com o endereço MAC de R como destino A cria trama da camada lógica com o endereço MAC de R como destino trama contém datagrama IP de A para B trama contém datagrama IP de A para B O O adaptador adaptador de de A A envia envia a a trama trama O adaptador de R recebe a trama O adaptador de R recebe a trama R remove o datagrama IP da trama Ethernet, verifica que é destinado para B R remove o datagrama IP da trama Ethernet, verifica que é destinado para B R usa ARP para obter o endereço MAC de B R usa ARP para obter o endereço MAC de B R cria trama contendo datagrama IP de A para B e envia este para B R cria trama contendo datagrama IP de A para B e envia este para B
Diagrama Temporal A 5C-66-AB-90-75-B1 223.1.1.1 E6-E9-00-17-BB-4B 223.1.1.2 R B 223.1.1.4 223.1.1.3 1A-23-F9-CD-06-9B 223.1.3.0/24 E 47 Camada Lógica
Endereçamento em LANs Introdução e Serviços Detecção e correção de erros Protocolos de Acesso Múltiplo Endereçamento em LANs Hubs e switches Tecnologias da camada lógica Token Ring, PPP Ethernet Tecnologias da camada lógica Virtualização ATM MPLS Endereços LAN Expedição de de tramas ARP: Address Resolution Protocol Encaminhamento de de um pacote para uma LAN diferente 48 Camada Lógica