Prof. Marco Aurélio Spohn DSC/UFCG 2010.1 Redes Ad Hoc Sem Fio Prof. Marco Aurélio Spohn DSC/UFCG 2010.1
Roteiro Uma breve revisão: Protocolos de comunicação Protocolos de acesso ao meio Protocolos de Acesso ao Meio em Redes Ad Hoc Móveis
Protocolos de Comunicação Um conjunto de regras governando a interação entre processos em um sistema de comunicação.
Protocolos de Comunicação Protocolos de comunicação transformam máquinas outrora isoladas em uma sociedade (rede) de computadores. Os protocolos especificam como processos em máquinas distintas devem interagir para prover um determinado serviço.
Protocolos de Comunicação Um protocolo tem cinco partes: O serviço que é oferecido As hipóteses sobre o ambiente onde ele é executado, incluindo os serviços utilizados por ele O vocabulário de mensagens utilizado para implementá-lo O formato de cada mensagem no vocabulário As regras de procedimentos (i.e., algoritmos) governando a consistência das mensagens trocadas e a integridade do serviço provido.
Protocolos de Comunicação: fundamentos A descrição do protocolo não tem nenhuma ambiguidade Faz o que deve ser feito todo o tempo Não deixa nenhum parceiro de comunicação esperando para sempre para que algo aconteça Faz uso eficiente dos recursos disponíveis Permite o uso dos recursos de uma forma justa ou de acordo com acordos predefinidos Simplicidade é muito importante!
Protocolos de Comunicação: fundamentos (cont.) A descrição do protocolo é completa Safety: um protocolo faz o que deve ser feito, todo o tempo! Liveness: livre de deadlock! Eficiência: faz uso eficiente dos recursos disponíveis. Fairness: uso justo ou contratual dos recursos Simplicidade é desejável, mas não necessária.
Protocolos de Comunicação: avaliação de desempenho Vazão (throughput) Atrazo (delay) Fairness...
Protocolos de Comunicação: avaliação de desempenho Fairness: long term: observada em um longo período de tempo (e.g., correspondente a transmissão de milhares de pacotes). Para N competidores, Prob(sucesso)=1/N short term: uma propriedade mais forte; o acesso ao meio deveria ser justo durante períodos de tempos curtos. Um protocolo pode ser long term fair mas short term unfair.
A arquitetura OSI Especifica as funçoes de cada nível, não os protocolos que os implementam! APPLICATION End-user services (e.g., mail, file transfer) Formatting, encryption, compression of data Setup and management of end-to-end dialogue End-to-end delivery of messages to processes End-to-end transmissions (of packets) in net Transmissions (of packets) over a link Transmission of bit over physical media Web access TCP IP PPP, CSMA/CD PRESENTATION SESSION TRANSPORT NETWORK LINK PHYSICAL
Protocolos de Acesso ao Meio Coordenar o acesso concorrente ao meio! PHYSICAL LINK NETWORK TRANSPORT SESSION PRESENTATION APPLICATION Sharing of link and transport of data over the link medium access control logical link control
Protocolos de Acesso ao Meio: abordagens Com contenção Sem contenção: Divisão de canal (TDMA, FDMA) Revezamento (e.g., token ring) “Podem ser classificados como determinísticos ou probabilísticos”
MAC: Revezamento Após um tempo máximo de espera, cada estação tem chance de transmitir. A estação pode abrir mão da sua vez. A decisão de quem transmite pode ser centralizada (e.g., polling) ou distribuída. Após transmitir, o direito de transmissão passa para a próxima estação. Eficiente quando muitas estações tem dados para serem transmitidos durante períodos extensos (stream). Exemplos: token-based protocols. Token bus,token ring.
MAC baseado em escalonamento Tempo é dividido em espaços de tempo (slots). Uma estação reserva slots para o futuro. Múltiplos slots para transmissões prolongadas. Exemplos: NAMA, LAMA, HAMA
MAC baseado em contenção
O protocolo ALOHA Desemvolvido @ U of Hawaii no início da década de 70. Packet radio networks. “Livre para todos (free for all): estação tem um pacote para transmitir, transmite!. Espera por confirmação (ACK) por um tempo máximo (round trip time, RTT) Caso não receba o ACK, reenvia o pacote até N vezes e então desiste.
O protocolo ALOHA As estações decidem retransmitir baseado na informação recebida do nó central! Two frequency bands; Up link and down link (413MHz, 407MH at 9600 bps) Central node retransmits every packet it receives!
Colisões Pacotes inválidos podem ocorrer devido a ruídos no canal ou Porque outras estações transmitiram ao mesmo tempo: colisão. Colisão acontece mesmo quando o último bit de um pacote sobrepõe-se com o primeiro bit do próximo pacote.
O canal no ALOHA time user i user j sum ... P NEW NEW RET. RET. NEW NEW collision I B I B I B I B I Qual a percentagem do tempo que o canal está sendo utilizado para enviar pacotes corretos? Isto nos dá a vazão (throughput) do protocolo!.
ALOHA: período de vulnerabilidade t0+t t0+3t t0 t0+2t Time vulnerable
ALOHA: vazão é a taxa de chegada (arrival rate). Por conveniência, normalizada como:: Assumindo que chegadas são do tipo Poisson e que todos os pacotes tem o mesmo tamanho, todos os pacotes tem a mesma probabilidade de sucesso.. Da definição de vazão: onde p é a probabilidade de uma transmissão bem sucedida Um pacote tem sucesso caso nenhum outro pacote chegue um tempo P antes dele começar ou enquanto estiver sendo transmitido: G S 0.18 0.5 Logo,
Slotted Aloha Dobra a vazão do ALOHA! Pacotes podem ser transmitidos somente no começo de cada slot: ALOHA discreto O tempo de vulnerabilidade é reduzido à metade!! S = G e-G. S = Smax = 1/e = 0.368 for G = 1.
Carrier Sense Multiple Access (CSMA) A capacidade do ALOHA e do slotted ALOHA é limitada devido ao longo período de vulnerabilidade de um pacote. Escutar o meio antes de transmitir reduz o período de vulnerabilidade ao atraso de propagação no meio. Esta é a base do CSMA (Kleinrock and Tobagi, UCLA, 1975).
CSMA O nó que deseja transmitir primeiro escuta o canal para verificar se alguém já está transmitindo (carrier sense). Se o canal estiver sendo utilizado, o nó espera; caso contrário, transmite. Ainda existe a possibilidade de colisões!!! O transmissor espera pela confirmação (ACK); se não receber, retransmite
Protocolo CSMA Packet ready Channel Busy? no transmit delay packet wait for a round-trip time positive ack? yes compute random backoff integer k delay packet transmission k times Packet ready Channel Busy?
CSMA (cont.) Eficiente quando o tempo médio de transmissão >> tempo de propagação. Colisões podem ocorrer somente quando duas ou mais estações transmitem simultaneamente dentro de um período de tempo “bem curto”! Se uma estação transmite e nenhuma colisão ocorre durante o tempo de propagação até a estação mais distante, então de fato NENHUMA colisão ocorrerá!
CSMA: variantes Depois de detectar a portadora, uma estação pode persistir e tentar transmitir assim que o canal estiver ocioso novamente. 1-persistent CSMA (IEEE 802.3) Caso o meio estiver ocioso, transmite; caso contrário, espera até que o meio esteja livre, então transmite com probabilidade p=1. Caso ocorra colisão aguarda por um período randômico e inicia novamente.
CSMA: variantes Non-persistent CSMA: caso o meio estiver livre, transmite; caso contrário, aguarda um tempo randômico antes de tentar novamente. P-persistent: quando o canal estiver ocioso, transmite com probabilidade p.
CSMA/CD CSMA com detecção de colisões (Collision Detection (CD)). Problema: quando pacotes colidem, o meio fica inutilizável durante a duração dos pacotes em colisão. Considerando pacotes longos (quando comparados com o tempo de propagação), trata-se de um disperdício considerável! O que acontece caso as estações escutem o meio enquanto transmitem?
CSMA/CD: protocolo 1. Meio livre, transmite e vai para passo 3; caso contrário, passo 2. 2. Espera até que o meio esteja livre e transmite com (prob.) p=1. 3. Caso detecte colisão, transmite um breve sinal de “jamming” (Ethernet: 32bits, equiv. CRC do pacote) e aborta a transmissão. 4. Depois de abortar, aguarda por um tempo randômico e tenta novamente.
MAC em redes sem fio O canal “wireless” MAC em redes sem fio
O canal wireless
O spectrum eletromagnético: usos para comunicação UHF: ultra high frequency; SHF: super high frequency; EHF: extremely high frequency; THF: tremendously high frequency
O spectrum eletromagnético: aspectos “políticos” Existem orgãos nacionais e internacionais que regulam o uso do spectrum eletromagnético Alguns governos deixaram algumas faixas do spectrum livres para uso geral (chamadas de Industrial, Scientific, Medical (ISM) bands). Exemplo: ISM nos Estados Unidos: A faixa de 2.4GHz está disponível na maioria dos países, mas é suscetível a interferências de fornos microondas e instalações de radares. IEEE 802.11 e Bluetooth estão nesta faixa.
O Problema da Multiplexação frequency A wireless channel (how to divide resource among multiple recipients?) time Analogia: uma auto-estrada compartilhada por muitos usuários
Frequency-Division Multiplexing user 1 user 2 user 3 user 4 guard-band time Analogia: uma auto-pista com múltiplas faixas.
Time-Division Multiplexing frequency user 1 user 2 user 3 user 4 user 1 user 2 guard-band time Requisito: coordenação precisa no tempo!
Frequency-Time-Division time-slot (usually of the same size) time
MAC em redes sem fio
MAC para redes sem fio MAC para redes com fio não são apropriados. Características intrínsecas ao meio “wireless”: Terminal escondido, exposto, e “near/far terminals”. Detecção de colisão em comunicação “wireless” é impraticável!
O problema do terminal escondido A sends to B, C cannot receive A C wants to send to B If use CSMA/CD: C senses a “free” medium, thus C sends to B Collision at B, but A cannot detect collision Therefore, A is “hidden” from C
O problema do terminal exposto C D B sends to A, C wants to send to D If use CSMA/CD C senses an “in-use” medium, thus C waits But A is outside the radio range of C, therefore waiting is not necessary Therefore, C is “exposed” to B
The Near and Far Terminal Problem C B A and B send to C Friis Law (power decay proportional to distance square) B drowns out A’s signal (at the physical layer), so C cannot receive A Esse problema é relevante no modo estruturado (i.e., com pontos de acesso)
The Near and Far Terminal Problem: principalmente em sistemas CDMA (“the shared resource in a CDMA system is the signal power”)
Collision Avoidance Collision avoidance emula a detecção de colisão em redes onde as estações são half duplex. Este é o caso de redes sem fio. Rádios full-duplex são muito $$$! O objetivo é eliminar o problema do terminal escondido do CSMA. Exemplos: MACA, MACAW, FAMA, RIMA.
Collision Avoidance As estações trocam pacotes de controle para determinar quem pode transmitir para um determinado receptor. O diálogo pode ser controlado pelo transmissor ou pelo receptor. Sender-initiated: RTS (S to R) -> CTS (R to S) -> DATA (S to R) -> ACK (R to S). Exemplos: MACA, MACAW, FAMA, and IEEE 802.11. Receiver-initiated: RTR (R to S) -> DATA (S to R) -> ACK (R to S) Exemplo: RIMA
Collision Avoidance: RTS/CTS Assumindo pacotes RTS e CTS de mesma duração!
Collision Avoidance: defeitos do RTS/CTS (mesma duração) Não é perfeito; pode ocorrer colisões: primeiro caso
Collision Avoidance: defeitos do RTS/CTS (mesma duração) Não é perfeito; pode ocorrer colisões: segundo caso
Floor Acquisition Multiple Access (FAMA) Soluciona as deficiência do RTS/CTS: utilizando packet sensing: tipo ALOHA (como o MACA), mas utiliza um CTS mais longo fazendo com que qualquer terminal escondido que não tenha ouvido o RTS escute o CTS (de fato é um jamming) utilizando carrier sensing: repetindo o CTS múltiplas vezes
Floor Acquisition Multiple Access (FAMA) Com packet sensing:
Floor Acquisition Multiple Access (FAMA) Com carrier sensing:
IEEE 802.11 Padrão IEEE para redes locais sem fio Especifica os níveis físico e MAC.
IEEE 802.11: terminologia básica Basic Service Set (BSS): bloco básico de construção da arquitetura 802.11 Um grupo de estações que coordenam o seu acesso ao meio em determinadas condições. Basic Service Area (BSA): área geográfica coberta por um BSS (análoga a uma célula em uma rede celular).
IEEE 802.11: terminologia básica Uma BSS pode ser criada expontaneamente sem nenhuma infraestrutura (redes ad hoc)
IEEE 802.11: terminologia básica Um conjunto de BSSs podem ser conectadas por um sistema de distribuição formando um Extended Service Set (ESS). Cada BSS tem um ponto de acesso (access point, AP). Portais (portals) conectam o sit. dist. a redes externas.
802.11: sub-nível MAC Dois modos de operação: Distributed Coordination Function (DCF) Point Coordination Function (PCF)
802.11: sub-nível MAC Point Coordination Function (PCF): utiliza uma estação base de controle.
802.11: sub-nível MAC Distributed Coordination Function (DCF): também conhecido como modo ad hoc; não utiliza nenhuma forma de infraestrutura central de controle; utiliza Carrier Sense Multiple Access with collision avoidance)
CSMA/CA: operação básica Uma estação ao sentir o meio ocioso por um período DIFS (DCF interframe space) transmite! Em caso de colisão (assume-se que ocorreu!): calcula um random backoff (tempo de espera durante a janela de contenção), e continua o carrier sense: caso o meio ficar ocupado durante o tempo de espera, congela contador e continua assim que o meio estiver ocioso novamente. caso contador zere (durante meio ocioso), transmite.
CSMA/CA: operação básica Diferentes tempos de espera: Short IFS (SIFS) para pacotes com prioridade (pacotes de controle), e PCF IFS (PIFS) para coordenação com estação base (no modo com infraestrutura).
802.11: CSMA/CA
802.11: CSMA/CA Carrier sensing: physical carrier sensing virtual carrier sensing
802.11: CSMA/CA Physical carrier sensing: detecta atividade no canal via intensidade relativa no sinal de outras fontes
802.11: CSMA/CA Virtual carrier sensing: cabeçalho do pacote MAC indica quanto tempo será necessário para a transmissão a seguir
802.11: CSMA/CA Virtual carrier sensing: estações detectando o campo de duração ajustam o seu network allocation vector (NAV)
802.11: CSMA/CA O canal é marcado como ocupado se um dos dois mecanismos considerar o meio ocupado!
802.11: CSMA/CA com fragmentação Redes sem fio são vulneráveis a ruídos e interferências (por exemplo, interferência de fornos microondas) Desta forma, a probabilidade de que um pacote chegue ao destino corretamente diminui com o tamanho do pacote
802.11: CSMA/CA com fragmentação p = probabilidade que um bit esteja errado = probabilidade de que um pacote de n bits esteja correto Caso , a probabilidade de receber corretamente um pacote Ethernet completo (i.e., 12144 bits) é menos de 30%. Mesmo com quase uma dúzia de pacotes por segundo serão danificados.
802.11: CSMA/CA com fragmentação Para reduzir a taxa de erros, utiliza-se fragmentação NAV corresponde apenas ao tempo para transmissão do primeiro fragmento Fragmentos subsequentes são transmitidos após um período SIFS (o que garante que nenhuma outra estação transmita antes do final da transmissão de todos os fragmentos)
802.11: Point Coordination Function (PCF), modo infra-estrutura Função do PCF realizada pelo Point Coordinator (PC) no AP Livre de contenção! Polling: estação base coordena transmissão das demais estações, sem que estas precisem concorrer pelo canal PCF deve conviver com o modo DCF!
802.11: Point Coordination Function (PCF) Contention Free Period (CFP) Repetion Interval (CFP_Rate) determina a frequência de ocorrência do PCF (i.e., valor do CFP_Rate determina duração CFP)
802.11: Point Coordination Function (PCF) No início nominal de um período CFP, o PC (AP) sente o meio. Caso este fique ocioso por um intervalo PIFS, o PC (AP) inicia o CFP de fato.
802.11: Point Coordination Function (PCF) CFP é iniciado com a transmissão de um beacon (sincronização é uma das funções do AP). Intervalos SIFS são utilizados entre transmissões subsequentes.
802.11: Point Coordination Function (PCF) Caso o CFP esteja pouco carregado o PC pode encurtar o CFP dando mais tempo para o período de contenção, para isso o PC envia um CF-End.
802.11: nível físico Cinco técnicas de transmissão permitidas Infrared FHSS (Frequency Hopping Spread Spectrum) DSSS (Direct Sequence Spread Spectrum) OFDM (Orthogonal Frequency Division Multiplexing) HR-DSSS (High Rate Direct Sequence Spread Spectrum) Diferem na tecnologia utilizada e velocidades
802.11: nível físico, infrared Utiliza transmissão difusa (i.e., não utiliza line of sight): 0,85 ou 0,95 microns Duas velocidades: 1 Mbps e 2 Mbps Sinais infra-vermelho não podem penetrar paredes células em salas separadas ficam bem isoladas Devido a baixa velocidade esta não é uma opção popular
802.11: nível físico, FHSS Frequency Hopping Spread Spectrum 79 canais, cada com largura 1MHz, iniciando em 2.4GHz (velocidades de 1 ou 2 Mbps) Um número pseudo-randômico é utilizado para gerar a sequência de frequências Desde que as estações utilizem a mesma semente (seed), e estejam sincronizadas, elas saltam para as mesmas frequências simultaneamente tempo gasto em cada frequência chamado de dwell time Seguro, desde que um intruso não conheça a sequência de frequências e o dwell time
802.11: nível físico, DSSS Direct Sequence Spread Spectrum Também restrito a 1 ou 2 Mbps Representa cada bit de dados 0 e 1 pelos símbolos -1 e +1 e então multiplica cada símbolo por um padrão binário de +1 e -1 para obter um sinal digital que varia mais rapidamente e que ocupa uma banda de frequência maior.
802.11: nível físico, OFDM Orthogonal Frequency Division Multiplexing Padrão 802.11a Até 54Mbps Utiliza a banda de 5 GHz (também ISM)
802.11: nível físico, HR-DSSS 802.11b (de fato foi aprovado antes do 802.11a) Até 11 Mbps Apesar de mais lento que o 802.11a possui um alcance até 7 vezes maior
802.11g Uma versão melhorada do 802.11b Utiliza modulação OFDM (como no padrão a), mas opera na faixa 2.4 GHz (como no b) Teoricamente pode atinger 54Mbps