Redes de Computadores. Redes de Computadores

Documentos relacionados
Capítulo 5: A camada de enlace

Camada de Enlace. 5: Camada de Enlace 5b-1

Redes de Computadores

Capítulo 5: A Camada de Enlace. Entender os princípios por trás dos serviços da camada de enlace:

Capítulo 5: A Camada de Enlace e Redes Locais

TP308 Introdução às Redes de Telecomunicações

Controle de acesso ao meio

Camada de Ligação de Dados

Redes Locais (LANs): PRINCÍPIOS

AULA 04 CONCEITOS DA CAMADA 02 PARTE 02

Redes de Computadores 2 o Teste

A camada de Enlace. Serviços e Protocolos

Redes de Computadores

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A

Técnicas de acesso múltiplo Aloha. O Nível de Enlace nas Redes Locais. Aloha. Aloha. Aloha. Multiple. Sense. Access) CSMA (Carrier(

FUNDAMENTOS DE REDES DE COMPUTADORES AULA 5: REDE DE ACESSO CAMADA ENLACE. Prof. LUIZ LEÃO

Aula 3B. Camada de Enlace de Dados. Disciplina: IF66B Redes de Computadores 2018/1 Universidade Tecnológica Federal do Paraná Câmpus Curitiba.

Controle de Acesso ao Meio

AULA 4 - REDES. Prof. Pedro Braconnot Velloso

Noções de Ethernet (enlace) Endereçamento Físico Dispositivos de Rede. Introdução às Redes de Computadores

Comunicação em tempo real

PEL/FEN Redes de Computadores 2018/1 Terceira Lista de Exercícios Prof. Marcelo Gonçalves Rubinstein

Capítulo6-7 Redes de Computadores Camada 2 Conceitos

A subcamada de controle de acesso ao meio

Protocolos de Interligação de Redes Locais e a Distância Protocolos de Enlace. Thiago Leite

Aulas 3 e 4 Camada de Enlace Protocolos ponto-a-ponto e de controle de acesso ao meio

Redes Ethernet: Camada Física e de Ligação

1.1) Explique porque o CSMA-CD não é usado em redes de satélites nem em redes de alta velocidade.

Prof. Antonio P. Nascimento Filho. Tecnologias de rede. Ethernet e IEEE Token ring ATM FDDI Frame relay. Uni Sant Anna Teleprocessamento e Redes

Redes de Computadores. Prof. André Y. Kusumoto

Lista de Exercícios. Camada de Enlace de Dados

Camada de Enlace de Dados

Tecnologias de rede. Diversas tecnologias com características diferentes Exemplos. Ethernet FDDI ATM

Sub-camada de Acesso ao Meio

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede

CST em Redes de Computadores

Aulas 13 & 14. Acesso Múltiplo a Pacote: Protocolo Aloha. Eytan Modiano MIT

Princípios de detecção e correção de erros, princípios de controle de link e princípios de acesso múltiplo

Características dos Protocolos. Tipos de Protocolos. Protocolos de Acesso baseados em Contenção. Protocolos de de Acesso ao ao Meio

REDES DE COMPUTADORES

Redes de comunicação. Mod 2 Redes de computadores. Professor: Rafael Henriques

Tecnologias de rede. Diversas tecnologias com características diferentes Exemplos. Ethernet FDDI ATM

Erros e Protocolos de Recuperação Códigos detectores e correctores de erros.

REDES DE COMPUTADORES

Redes de Computadores. ð Protocolos de Acesso Baseados em Contenção. ð Protocolos de Acesso Ordenado sem Contenção. Redes de Computadores

Redes de Computadores. Segurança e Auditoria de. Redes de Computadores. Sistemas

Redes de Computadores. Aula: Camada de Enlace Professor: Jefferson Silva

CODIFICAÇÃO PARA CONTROLO DE ERROS

Técnicas de comutação

Modelo OSI x Modelo TCP/IP

Estação controladora envia mensagens a outras estações. Convidando-as a transmitir dados

Redes de Computadores. Jéfer Benedett Dörr

Sistemas de Telecomunicações 1

Capítulo 6 e 8. Comutação Circuitos/Pacotes/Mensagens Multiplexação FDM/TDM/WDM

6. Redes sem fios. Redes de Computadores

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Delimitação de Quadros. Exemplos de Protocolos de Nível de Enlace. Nível de Enlace. Nível de de Enlace. Disciplina: Comunicação de Dados IV

Data and Computer Network Endereçamento IP

Protocolos de Acesso Baseados em Contenção

Redes Móveis. Redes sem fio e redes móveis Introdução. Prof. Jó Ueyama Agosto/2010 SSC

Módulo 6 Redes sem fios

Nível Lógico. Sumário. Controlo da ligação de dados. stop-and-wait sliding window (janela deslizante)

Capítulo 6 Redes sem fio e redes móveis

Transcrição:

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