IEEE 802.11 – Wi-Fi
O Wi-Fi já é certamente familiar a muitos dos que possam estar a ler estas páginas. Ele está disponível em computadores portáteis, em tablets, em telemóveis (que usam Wi-Fi para além da rede celular para aceder à Internet), em quase tudo o que hoje em dia seja portátil e possa ser ligado à Internet. Da mesma forma, devido a tão grande disseminação, os pontos de acesso ou WAP (Wireless Access Point), conhecidos por Hotsptots quando são de acesso público, também se começam a multiplicar, já estando disponíveis em múltiplos locais públicos como cafés, praças de cidades, aeroportos e outras estações, campus universitários , escolas, etc. e agora até por ligação a roteadores domésticos WAP que são cedidos pelos proprietários aos seus ISP para uso público (num IP e interface diferente da sua), com a contrapartida de poderem utilizar todos os restantes espalhados pelo Mundo.
A transmissão é feita por Rádio Frequência (RF) na faixa de frequência de 2,4 a 2,4835 GHz, uma faixa de 83,5 MHz. Os telefones portáteis domésticos, os Micro-Ondas, o Bluetooth, e outros que também funcionam na gama dos 2,4 GHz são concorrentes do Wi-Fi e podem interferir nas suas transmissões.
A tecnologia 802.11b, divide essa banda de 2,4 GHz a 2,4835 Ghz em 13 canais, cada um espaçado dos outros de 5 MHz sendo que o primeiro canal está centrado nos 2,412 GHz e o canal 13 nos 2,472 GHz. A posição central dos canais 1 e 13 foi escolhida para que a frequência de sinal de 22 MHz de cada canal coubesse dentro dos limites (11 MHz para cada lado do centro do canal).Com esta disposição só 3 desses canais conseguem não ter faixas de sobreposição, os canais 1, 6 e 11.
A implementação da tecnologia 802.11g, baixou a frequência do sinal para 20 MHz e mudou o formato da modulação da onda, o que permitiu que passássemos a ter 4 canais que não se sobrepõem, os canais 1, 5, 9 e 13.
Como é evidente, a emissão em canais com faixas de sobreposição provoca ruído em nos canais sobrepostos destruindo ambas as transmissões. Atualmente é aconselhado o uso dos canais 1, 5, 9 e 13.
Uma rede Wi-Fi 802.11 é composta por várias estações sem fio e um WAP (Wireless Access Point), dispondo de interfaces WNIC (Wireless Network Interface Controller). O WAP por sua vez está ligado a uma rede com fio Ethernet, a partir da qual se liga ao Mundo.
A este tipo de rede dá-se o nome de Rede Sem Fio de Único Salto com Infraestrutura de Base (Single Hop Wireless Network Infrastructure Based). Ao conjunto das várias estações Wireless e do WAP referidos chama-se BSS (Basic Service Set), que constitui o bloco básico de uma LAN 802.11. À área abrangida por um WAP chama-se BSA (Basic Service Area), que convém não confundir com BSS. Quando qualquer aparelho com uma WNIC (um portátil p.e.) se liga num local pertencente à BSA de vários WAP, antes de poder comunicar tem que escolher um deles para estabelecer uma associação. Após feita a associação com um dos WAP, com quem estabelece uma espécie de linha virtual, passa a pertencer ao seu BSS.
Conectando uma STA (Station) e um WAP
A conexão de uma STA a uma rede wireless através de um WAP (Wireless Access Point) passa por várias fases, que passamos a descrever:
Descoberta de uma rede wireless:
Forma passiva – os diversos WAP emitem periodicamente um sinal de aviso (beacon) composto por um pacote sinalizador da sua presença, fornecendo a sua identificação ou SSID (Service Set IDentifier) e os elementos técnicos necessários para que a STA (Station) se possa ligar com o WAP (Wireless Access Point). De entre todos, a STA escolhe aquele cujo sinal é mais poderoso, admitindo que são todos WAP da mesma sub-rede. Se assim não for e se encontrar numa zona pública com vários WAP de diversas redes, terá que escolher o melhor sinal entre aqueles que pertencem à rede com que tem autorização para se ligar.
Forma ativa – A STA envia um pacote com uma mensagem de descoberta (probe request) e os WAP que estão no alcance respondem com um pacote de resposta à descoberta (probe response) que contém informações idênticas ao beacon, isto é, tudo o que a STA necessita para se ligar ao WAP. Esta forma permite que a STA especifique na mensagem de descoberta o SSID de um WAP específico e então só esse WAP responderá se estiver no alcance.
Certamente já repararam que, por exemplo no Winddows 7, quando um portátil com interface WNIC (Wireless Network Interface Controller) se liga, é apresentada uma lista de todos os WAP cuja BSA (Basic Service Area) abrange o portátil, por ordem decrescente da intensidade do sinal, privados e públicos, para que o utilizador escolha o melhor de entre os possíveis (aqueles para que tenha condições contratuais de acesso) da lista.
Autenticação:
Uma vez que a STA tenha condições de se poder ligar a um WAP, passa à fase de autenticação junto do mesmo. Esta autenticação é normalmente feita por password, podendo ser bastante mais sofisticada abrangendo mesmo certificados digitais em certas redes de empresas ou campus universitários. A STA (Station) envia então um pacote com um pedido de autenticação contendo os elementos necessários para o efeito e o WAP, após conferência e confirmação de que a STA tem condições para se poder associar, envia-lhe um pacote de resposta de autenticação concedendo-lhe ou não o direito de prosseguir. Em caso positivo a STA está em condições de prosseguir para a fase seguinte
Associação:
A STA envia então ao WAP (Wireless Access Point) um pedido de associação com uma série de elementos técnicos e o SSID (Service Set IDentifier) do WAP. Então o WAP envia um pacote com resposta de associação contento o ID da STA associado ao SSID, a taxa de transmissão do WAP e um campo que indica sucesso. É como se o WAP dissesse à STA que a ligação foi bem sucedida e que a STA passou a ter o número x no seu BSS (Basic Service Set).
Concluída a operação de associação, está concluída a operação de conexão. A STA está em condições de enviar pacotes para esse WAP. Provavelmente a primeira mensagem que vai enviar é um pacote com uma mensagem de descoberta DHCP, de modo a obter um endereço na sub-rede em que se insere o WAP. A partir desse momento a Internet passa a ver a STA (Station) como um nó hospedeiro na sub-rede do WAP (Wireless Access Point).
Manutenção da Conexão
A qualquer momento a STA ou o WAP podem interromper a conexão, usando para o efeito mensagens de desassociação e desautenticação. Se for enviada só uma mensagem de desassociação a STA deixa de estar associada a esse WAP mas continua a estar autenticada no mesmo.
Para restabelecer a conexão a STA deve utilizar as mensagens de pedido de reassociação e obterá uma resposta de reassociação.
Uma situação como esta pode acontecer por exemplo quando uma STA se desloca dentro de uma mesma sub-rede (por exemplo um campus universitário) da BSA de um WAP para a BSA (Basic Service Area) de outro WAP. Através das mensagens descritas a STA pode mudar de WAP sem perder a sua ligação à rede.
Reconhecimento de camada de enlace
Nas transmissões Wireless, porque a deturpação de valor de um bit é muito mais frequente do que nas transmissões por fio, foi acrescentado o reconhecimento na camada de enlace. Assim, por cada pacote enviado, o remetente deve aguardar por parte do destinatário um pacote de reconhecimento ACK (no caso do mesmo ter passado no controlo CRC) sem o que, após um determinado espaço de tempo, reenviará o mesmo pacote e assim sucessivamente. Se após um determinado número fixo de retransmissões o remetente continuar a não receber o reconhecimento, descarta o pacote.
CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)
CSMA/CA é o acrónimo para Carrier Sense Multiple Access With Collision Avoidance em Português Acesso Múltiplo com Deteção de Portadora e com Prevenção de Colisão. Numa BSS (Basic Service Set) haverá sempre várias estações associadas com um mesmo WAP tentando transmitir em simultâneo, pelo que as transmissões Wi-Fi usam um protocolo de múltiplo acesso aleatório idêntico ao da Ethernet. Mas repare-se que aqui dissemos Prevenção em lugar de Deteção como no caso da Ethernet em redes partilhadas.
Quanto à deteção de portadora, aqui tudo se passa como no anteriormente descrito, isto é, um nó está à escuta do canal antes de iniciar uma transmissão e só a inicia se verificar que o canal está livre. No restante, este protocolo já atende ás especificidades das transmissões Wi-Fi (802.11). As transmissões realizadas pelos adaptadores WNIC (Wireless Network Interface Controller) são half-duplex, isto é, quando uma estação emite não escuta e quando escuta não emite. Tornar essa interface com capacidade full-duplex seria extremamente caro, isto para além do facto de nessa situação a capacidade de escuta de uma colisão ser muito reduzida, atendendo a que o sinal de existência de atividade no canal durante uma transmissão é muito ténue face ao sinal da própria transmissão.
Assim, foi abandonada a hipótese de deteção de colisão, pelo que, no caso de a mesma acontecer, o remetente só toma conhecimento do facto pela falta de reconhecimento da receção do pacote enviado. Mesmo em caso de existência de colisão o emissor envia a totalidade do pacote, o que corresponde a um enorme desperdício de tempo de canal. Nesta perspetiva optou-se antes pela construção de um protocolo de prevenção da existência de colisões. Se um nó pretende emitir um pacote e verifica que o canal está livre, aguarda um pequeno período de tempo chamado DIFS (Distributed Inter-Frame Space) e inicia a sua transmissão. Se verificar que o canal está ocupado, escolhe um valor aleatório e começa uma contagem decrescente logo que o canal esteja livre, começando a transmissão logo que chegue a zero.
E porquê esta operação e não começar logo a transmitir?
Vejamos. Vamos admitir que um nó está a emitir e que dois outros têm pacotes para emitir. Ambos estão preparados para iniciar a transmissão logo que o canal estiver livre. Se assim fosse teríamos certamente uma colisão. Mas, como ambos escolheram valores aleatórios e entraram em contagem decrescente, um irá começar a transmissão antes do outro, o que fará o outro detetar o canal como ocupado e parar a contagem decrescente até que o canal esteja livre, evitando assim uma colisão, que só se dará se os valores escolhidos forem iguais.
Caso se dê uma colisão, os nós emissores, não recebendo os respetivos pacotes de reconhecimento, reiniciarão o processo com a escolha de um valor aleatório, agora de um intervalo maior, o que tornará a colisão ainda menos provável.
Entretanto, como o canal fica livre, outros emissores poderão iniciar transmissões, interrompendo assim o processo de contagem regressiva dos primeiros dois nós e dessincronizando cada vez mais os inícios de transmissão dos diversos emissores.
Não querendo ser desgastantes nas hipóteses admitidas, o caso é que está mesmo quase tudo pensado e o seu conhecimento interfere na compreensão do pacote IEEE 802.11.
Lá vem a pergunta. Então e no caso em que as duas estações (STA) conseguem alcançar o WAP mas não se conseguem escutar uma à outra devido à existência de algum obstáculo?
Para isso, qualquer estação tem hipótese de reservar o canal para si para uma transmissão, enviando um pacote RTS (Request To Send) ao WAP (Wireless Access Point), que por sua vez responderá com um pacote CTS (Clear To Send) a todas as estações do BSS (Basic Service Set). Vamos lá trocar isto por miúdos:
- O pacote RTS (Request To Send) requisita ao WAP a exclusividade do canal por um determinado período de tempo necessário para a transmissão do pacote.
- O pacote CTS (Clear To Send) dá autorização a essa estação (STA) para começar a emitir e indica às outras STA que devem cessar todas as transmissões durante o período de tempo requisitado pela primeira estação.
Tal possibilidade dá uma enorme garantia de que na sequência da transmissão virá um reconhecimento, mas atrasa as transmissões e gasta muitos recursos. Por isso só é normalmente usado para pacotes muito longos, tamanho a definir por cada Interface.
Modo de poupança de energia
Mais uma que está prevista. Como é natural as STA (Station) típicas, que são normalmente Portáteis, Tablets ou SmartPhones, são muito dependentes do uso de bateria, por isso colocando-se frequentemente em modo de poupança de energia, desligando por exemplo o rádio, grande consumidor de energia. As STA têm forma de avisar desse facto o WAP, enviando um pacote null function com um bit de indicação de que vai passar ao modo de poupança de energia – PS (Power Saving mode). Então desliga o rádio, só o ligando periodicamente para ouvir o WAP beacon.
A partir desse momento o WAP começa a guardar todos os pacotes que chegam para essa STA. O WAP avisa desse facto através da mensagem beacon (feixe) que emite aproximadamente todos os 100 milissegundos, incluindo no pacote informação com o ID dos STA que têm pacotes guardados à espera de serem por eles recebidos. Quando a STA acorda, apercebe-se do facto por leitura de um desses pacotes de aviso beacon e então emite um pacote com indicação PS-Poll (Power Save Poll) para o WAP. O que a STA diz ao WAP é que acordou, percebeu que tinha pacotes por receber e lhe pede para lhos enviar. Então o WAP envia a essa STA todos os pacotes que tinha guardados em buffer.
Formato de um pacote IEEE 802.11
Abordados para já os temas essenciais à sua compreensão, podemos então passar ao formato tipo do pacote IEEE 802.11, que podemos visualizar na figura 1, em que:
A primeira linha do quadro, correspondente aos dois primeiros Bytes do cabeçalho (16 bits), está dividida como indicado, sendo que:
Campo de Controlo do Pacote
- a) Versão do protocolo – atualmente é zero.
- b)Tipo de mensagens (2 bits)
- Manutenção (00)
- Controlo (01)
- Dados (10)
- c) Subtipo de mensagens (4 bits)
- b) Tipo = 00 ↔ Manutenção
- Pedido de Associação (0000)
- Resposta de Associação (0001)
- Pedido de Reassociação (0010)
- Resposta de Reassociação (0011)
- Probe Request (0100)
- Probe Answer (0101)
- Beacon (1000)
- ATIM (1001) – Quando o WAP comunica o facto de reter em buffer as mensagens para STA em modo de poupança de energia.
- Desassociação (1010)
- Autenticação (1011)
- Desautenticação (1100)
- b) Tipo = 01 ↔ controlo
- PS-Poll (1010)
- RTS (1011)CTS (1100)
- ACK (1101)
- b) Tipo = 10 ↔ Dados
- Dados (0000)
- Null Function (0100) – Sem dados
- b) Tipo = 00 ↔ Manutenção
- d) Para o WAP – A mensagem é dirigida para o WAP
- e) Do WAP – A mensagem vem do WAP
- f) Mais fragmentos – Há mais fragmentos pertencentes ao mesmo pacote. Usado quando um pacote é fragmentado para reduzir a sua dimensão.
- g) Retransmissão – Este pacote é uma retransmissão de um pacote já enviado. Permite ao recetor entender quando um pacote é um duplicado por se ter perdido o pacote de ACK
- h) Gestão de Energia – Quando o modo de poupança de energia é ativado.
- i) Mais Dados – Quando o buffer do WAP tem mais pacotes guardados para enviar após o PS-Poll
- j) WEP – O corpo do pacote está encriptado de acordo com o algoritmo WEP (Wired Equivalent Privacy).
- k) Ordenado – O pacote está a ser enviado com o serviço de ordenação estrita. Há um só protocolo que usa estes serviços e não é o usado pelo modelo TCP/IP.
Relativamente aos campos de 1 bit, de 4) a 11), o seu valor lógico (1 = true ou 0 = false) diz sobre acontecer ou não a situação nos mesmos prevista.
Duração/ID
Este campo pode ter dois significados dependendo do tipo de pacote:
- Nos pacotes com mensagens PS-Poll representa o ID da STA.
- Nos restantes pacotes o tempo necessário para transmitir o pacote.
Controlo de Sequência
Este campo é dividido em duas partes:
- Os primeiros 4 Bits representam a ordem de um fragmento de um pacote se tal fragmentação existir.
- Os restantes 12 bits representam um número de sequência identificador de um pacote com funções idênticas às já descritas para o TCP.
CRC
Cyclic Redundancy Check é o protocolo de deteção de erros de que já falámos na Ethernet. Com mais razão ele é utilizado aqui, pois a probabilidade de alteração de bits dos pacotes é muito maior.
Endereços 1, 2, 3 e 4
O valor nos campos destes endereços varia conforme os valores nos bits dos campos de controlo 4.(Para o WAP) e 5.(Do WAP). Há quatro cenários possíveis de transmissão que se refletem no valor dos bits d e e, dos quais vamos referir os dois que têm relação com o tipo de rede que estamos a analisar, redes wireless com infraestrutura. Os outros dois referem-se a redes Ad hoc e comunicação entre WAP que não se inserem no âmbito das redes com infraestrutura de que estamos a falar.
Em qualquer das situações o Endereço 1 é sempre o endereço de destino e o Endereço 2 o endereço de origem, sendo conforme os bits 4, 5.
- 10 – O pacote é enviado da STA (Station) para o WAP. O Endereço 1 é o endereço do WAP e o Endereço 2 é o endereço da STA.
- 01 – O pacote é enviado do WAP para a STA. O Endereço 1 é o endereço da STA e o Endereço 2 é o endereço do WAP.
Até aqui nada de novo. Deduções evidentes face ao que se tinha dito anteriormente. A nossa discussão vai evoluir em função do que representa o Endereço 3. Vamos lembrar-nos que estamos a falar de redes com infraestrutura, isto é, os WAP enviam e recebem pacotes para o roteador da sub-rede em que estão inseridos, através de uma rede cablada, portanto usando Ethernet. Trata-se então de uma interligação de redes. Um pacote sai da STA com o formato IEEE 802.1, é recebido como tal pelo WAP, que entretanto o tem que converter num pacote Ethernet e enviar para o roteador da sua sub-rede. Da mesma forma recebe o pacote com formato Ethernet pela rede cablada e tem que o converter num pacote IEEE 802.11 para o enviar à STA.
Para melhor entender imaginemos que um dispositivo na Internet pretende enviar um pacote para uma STA da sub-rede. Esse pacote vai chegar ao roteador de primeiro salto da sub-rede (gateway), que conhece o endereço da STA porque ele vem no datagrama inserido no pacote. A partir do conhecimento do endereço IP utiliza o ARP para descobrir o seu endereço MAC e preenche o pacote Ethernet com o seu endereço MAC como origem e o endereço MAC da STA como destino. Através da camada de enlace o pacote é encaminhado até ao WAP responsável por essa STA. Então o WAP preenche um pacote IEEE 802.11 colocando no Endereço 1 mo endereço da STA, no Endereço 2 o seu próprio endereço e no Endereço 3 o endereço do roteador de primeiro salto (gateway). E envia o pacote dessa forma para a STA.
A partir do Endereço 3, quando a STA responder à mensagem constrói um pacote 802.11 colocando no Endereço 1 o endereço do WAP, no Endereço 2 o seu próprio endereço e no Endereço 3 o endereço do gateway. Quando o WAP converter o pacote 802.11 para um pacote Ethernet, coloca no endereço de destino o endereço de gateway que vinha no Endereço 3 e no de origem o seu próprio endereço. Agora o endereço MAC do gateway da sub-rede ficou a ser conhecido pela STA. Em conclusão, para transmissões de e para fora da sub-rede o Endereço 3 representa o endereço de gateway da sub-rede.
Wi-Fi é uma tecnologia sem fios para comunicação em redes de área local (LAN – Local Area Network). Ethernet é também uma tecnologia para comunicação em LAN, para além de outras como MAN (Metropolitan Area Network) por exemplo. Como acabámos de analisar estas duas tecnologias de comunicação em LAN, pensamos ser o local adequado para colocar alguma informação sobre Topologias de redes LAN.
Topologia de uma LAN
Agora que já percorremos todo o caminho do pacote, vamos fazer alguma luz sobre o que é a Topologia de uma LAN, que pode ser por exemplo a sub-rede d da Área 1 da SA4 da figura. usada durante o roteamento. A topologia de uma rede é e a forma como os nós e os terminais se interligam, é a definição do equipamento desses nós e terminais, é o seu layout como por exemplo o da figura 2.
A Topologia em Barramento (BUS), muito usada no passado e que correspondia à ligação dos hospedeiros, inclusive do hospedeiro responsável pela ligação à rede pública, a um cabo coaxial único com terminadores em ambas as pontas. Esta topologia está praticamente obsoleta embora ainda seja usada por algumas redes Ethernet. As placas Ethernet antigas tinham conectores BNC e RJ45 – BNC são as fichas parecidas com as da antena da televisão e RJ45 as parecidas com as dos telefones, conforme se pode ver na figura 3. As fichas BNC eram as utilizadas para as topologias BUS.
Outra topologia é a Topologia em Estrela, em que todos os hospedeiros têm uma ligação independente a um concentrador (HUB) ou comutador (Switch).
No caso da topologia em estrela ligada a um concentrador (HUB), acabamos por ter uma topologia em estrela que deriva numa topologia em barramento (BUS), pois o concentrador mais não é do que um barramento a que estão ligados todos os cabos, um de cada hospedeiro. Em lugar de o barramento ser um cabo que passa por todos os hospedeiros, ele fica concentrado num aparelho com um pequeno barramento ao qual todos os hospedeiros veem ligar, como se pode ver no gráfico da figura 2 do artigo anterior.
No caso da topologia em estrela ligada a um comutador (Switch), já os pacotes enviados de cada hospedeiro não se encontram, pois no comutador as entradas para cada hospedeiro dispõem de um buffer (espaço de memória reservado) independente onde coloca os pacotes que recebe e ainda não enviou. Tem assim a possibilidade do encaminhamento de qualquer pacote para qualquer destino em separado. E para cada destino entrega-os um a um, evitando as colisões. Como no gráfico da figura 3 do artigo anterior.
É tempo de passarmos o pacote e fazermos uma muito ligeira abordagem à Camada Física, para por fim a esta jornada por este Capítulo.
A Camada Física
A camada física é a responsável pela modulação dos bits de acordo com os meios físicos em que o pacote vai ser transmitido. Modulação de ondas eletromagnéticas, impulsos eletromagnéticos, óticos, laser, etc. É um processo que tem mais a ver com aspetos de eletrotecnia do que com informática, fugindo por isso do âmbito deste trabalho. O mesmo pacote pode passar por vários meios físicos de comunicação. O seu conteúdo será sempre o mesmo. Os cabeçalhos para a Ethernet e Wi-Fi já foram vistos.
Fora do meio Wireless, as transmissões vão sempre ser lidas pelos terminais por Placas Ethernet. Portanto, entre roteadores, os bits a serem modulados de acordo com o meio físico entre os mesmos, incluem o Cabeçalho Ethernet, pois as suas interfaces de enlace serão Placas Ethernet. Nas redes terminais poderão encontrar protocolos diferentes da Ethernet (muito dificilmente), mas não foi objetivo deste trabalho cobrir tais hipóteses.
O mesmo pacote pode ser enviado, por exemplo, por:
- Wi-Fi (micro impulsos de Rádio Frequência que em determinada composição representam o valor de um bit) para um WAP (Wireless Access Point)
- Ethernet (habitualmente por codificação Manchester) a partir do WAP até um roteador que tem associado um modulador para transmissão por
- Cabo coaxial, meio em que segue até ao exterior do edifício onde é recuperado da modulação própria do cabo coaxial e modulado para transmissão por
- Fibra ótica. Segue assim até a um roteador de borda de Área que converte a modulação de fibra ótica em modulação para
- Feixes hertzianos (micro-ondas), forma com que segue até ao roteador de borda de SA. Aí é convertido em modulação para transmissão por
- Satélite e assim vai seguir até ao roteador de borda de SA do destinatário,
seguindo todo o mesmo percurso de forma inversa (feixes hertzianos, fibra ótica, cabo coaxial, Ethernet e Wi-Fi) até ao destinatário e voltando a repetir os dois percursos com a resposta à mensagem. A cada uma destas formas de transmissão corresponde uma forma própria de representação dos bits de acordo com protocolos que permitam emissor e recetor entendê-los.
Conclusão
Mas nós, por agora vamos ficar por aqui.
A composição de cada pacote através das várias camadas, a forma como é enviado da origem para o destino e de volta foram decompostos.
Isto é o que acontece com os milhares de pacotes que compõem uma página pedida por pressão num link e recebida em milissegundos ou talvez segundos no seu computador.
Esperamos que passe a ser mais compreensivo com o seu amigo quando ele demorar um pouco mais a servi-lo.