Você está na página 1de 149

PARAHUARI SOLNOWSKI BRANCO

IMPLEMENTAO DE UMA REDE SEM FIO:


ESTUDO DE CASO NA PLATAFORMA WINDOWS
Dissertao apresentada como requisito parcial
obteno do grau de Mestre em Informtica
no P. P. G. Informtica da Universidade Federal
do Paran.
Orientador: Carlos A. Picano de Carvalho
CURITIBA
2 0 0 0
UFPR
Mi ni s t r i o da Ed u c a o
Un i v e r s i d a d e Feder al do Pa r a n
Me s t r a d o e m I nf or m t i c a
PARECER
Ns. abaixo assinados, membros da Comisso
Examinadora da defesa de Dissertao de Mestrado em Informtica, do aluno
Parahuari Solnowski Branco, avaliamos o trabalho intitulado " I mpl ement ao de
uma Rede sem Fio: Estudo de um Caso no Sistema Operacional Windows".
cuja defesa foi realizada no dia 10 de maio de 2000. Aps a Avaliao, decidimos
pela Aprovao do Candidato.
Curitiba. 10 de maio de 2000.
roL_Pr- Carlos Alberto Picano de Carvalho
Pre'sTdente - DINF/UFPR
p
Prof. Dr. Wilson .Arnaldo Artuzi Jr.
Membro Externo - ELETR/UFPR
J ^ o V . -krrx^e^r^
Pr of . Dra. Keiko Vernica Ono Fonseca
Membro Externo - CEFET-PR/ CPGEI
Prof
1
. Dra. Cristina Duarte Murta
Membro - DINF/UFPR
PARAHUARI SOLNOWSKI BRANCO
IMPLEMENTAO DE UMA REDE SEM FIO: ESTUDO DE CASO NO
SISTEMA OPERACIONAL WINDOWS
CURITIBA
2000
AGRADECIMENTOS
Ao meu orientador Carlos Picano, Joo Fbio, Paulo Otsuka e ao Rogrio da
Logitech pelo apoio na realizao deste trabalho.
A professora Cristina Duarte pela pacincia e compreenso.
A professora Keiko Fonseca por suas sugestes.
Aos professores Elias e Slvia pelas sugestes apresentadas no incio deste trabalho.
A toda a minha famlia pelo carinho, apoio e compreenso.
111
SUMRIO
LISTA DE FIGURAS X
RESUMO x n
ABSTRACT XFFL
1. INTRODUO 1
1.1 MOT I VAO: QU A L O P ROB L E MA? 1
1. 2 A DISSERTAO 2
2. COMUNICAO SEM FIO - HISTRIAS E TECNOLOGIAS 4
2. 1 INVENO DO RDIO 4
2. 2 LINHA DO TEMPO 6
2. 3 REDES SEM FIO 8
2.3.1 O QUE ? : 8
2.3.2 POR QUE UTILIZAR UMA REDE SEM FIO? 9
2.3.3 COMO AS REDES SEM FIO SO UTILIZADAS NO MUNDO REAL? 11
2.3.4 PREOCUPAES SOBRE O USO DA COMUNICAO SEM FIO 13
2. 4 TECNOLOGIAS PARA COMUNICAO SEM FIO 15
2.4.1 COMUNICAO CELULAR 15
2.4.2 CELULAR ANALGICO 16
2.4.3 CDPD (CELLULAR DIGITAL PACKET DATA) 17
2.4.4 TDMA (TIME DIVISION MULTIPLE ACCESS) 17
2.4.5 GSM (GLOBAL SYSTEM FOR MOBILE COMURRICATION) 18
2.4.6 OUTROS TIPOS DE COMUNICAO 18
2. 5 COMO UMA REDE SEM FIO FUNCIONA 18
2 . 6 MERCADO ATUAL 2 0
2.6.1 COMUNICAO DE DADOS VIA CELULAR 20
viii
2.6.2 ACESSO WEB VIA CELULARES, PAGERS E COMPUTADORES DE MO 23
2.6.3 REDES LOCAIS SEM FIO 25
2 . 7 FUTURO DO MERCADO SEM NO 2 6
3. PESQUISAS NA REA 29
3. 1 INTRODUO 2 9
3. 2 O SISTEMA A L OHA DA UNIVERSIDADE DO HAVA 2 9
3. 3 REAS DE PESQUISA NA COMPUTAO SEM FIO 31
3.3.1 DESCONEXO 33
3.3.2 LARGURA DE BANDA 34
3.3.3 GRANDE VARIABILIDADE NA LARGURA DA BANDA 36
3.3.4 REDES HETEROGNEAS 36
3.3.5 RISCOS DE SEGURANA 37
3.3.6 MIGRAO DE ENDEREO 38
3.3.7 DIFUSO SELETIVA 38
3.3.8 SERVIOS CENTRAIS 39
3.3.9 HOME BASES 39
3.3.10 TRANSFERNCIA DE PONTEIROS 39
3.3.11 INFORMAES DEPENDENTES DE LOCALIZAO 40
3.3.12 LOW POWER 40
3.3.13 RISCO PARA OS DADOS 40
3.3.14 A CONFIABILIDADE NA TRANSMISSO 41
3. 4 ESPECIFICAO BLUETOOTH 41
4. MODELO PROPOSTO 43
4. 1 INTRODUO 43
4. 2 MODELO DE REFERNCIA 4 3
4.2.1 O MODELO OSI 45
4.2.2 O PADRO IEEE 802 46
viii
4.2.3 O PADRO IEEE 802.11 48
4.2.4 IEEE 802.11 WIRELESS LOCAL AREA NETWORK 48
4.2.5 TOPOLOGIA 50
4. 2. 5. 1 IBSS 50
4. 2. 5. 2 ESS 51
4. 3 ARQUITETURA DE REDE DO WINDOWS 51
4.3.1 NDIS DRIVERS 54
4. 3. 1. 1 NIC DRIVERS 55
4. 3. 1. 2 INTERMEDIATE PROTOCOL DRIVERS 55
4. 3. 1. 3 UPPER LEVEL PROTOCOL DRIVER 56
4 . 4 COMPONENTES "DE PRATELEIRA" 5 6
4. 5 RESTRIES 5 7
4. 6 ARQUITETURA DA SOLUO 58
4 . 7 DESENVOLVENDO O NDI S MINIPORT NI C DRIVER 6 1
4.7.1 NVEL FSICO - NIC 61
4.7.2 ROTINAS PARA A MANIPULAO DO NIC 62
4.7.3 DELIMITAO DOS PACOTES 62
4.7.4 NVEL DE ENLACE - CONTROLE DE ACESSO 63
4.7.5 CONTROLE DE ERROS/FLUXO 65
4. 7. 5. 1 CRC 66
4. 7. 5. 2 PACOTES ESPECIAIS 66
4. 7. 5. 3 PACOTES DE DADOS 68
4.7.6 TOPOLOGIA 69
5. IMPLEMENTAO 70
5. 1 COMO A PLACA FUNCIONA? 72
5. 3 COMUNICANDO ATRAVS DE CABOS 73
5. 4 ENTENDENDO O FUNCIONAMENTO DE UM NDI S MINIPORT NI C DRIVER 75
5.4.1 NDIS MINIPORT NIC DRIVER 75
5.4.2 CDIGO FONTE NE2000 77
vi
5. 5 ENVIANDO E RECEBENDO PACOTES 7 8
5. 6 PRIMEIRA VERSO DO NDI S MINIPORT NI C DRIVER 7 9
5. 7 ENVIANDO E RECEBENDO PACOTES ATRAVS DO RDIO 81
5. 8 SEGUNDA VERSO DO NDI S MINIPORT NI C DRIVER 82
5.8.1 TESTE ATRAVS DO AMBIENTE DE REDE 84
5.8.2 COMUNICAO UTILIZANDO O PADRO INTERNET 85
5. 9 TERCEIRA VERSO DO NDI S MINIPORT NI C DRIVER 8 6
6. CONCLUSO E TRABALHOS FUTUROS 89
APNDICE A - DESCRIO DO HARDWARE UTILIZADO NO PROJETO 91
AL PLACA BAY 9 6 US CC 9 2
A2 Z8 5 3 0 93
A 2.1 REGISTRADORES 93
A2.2 MODOS DE OPERAO 94
A2. 2. 1 MODO ASSNCRONO 94
A2. 2. 2 MODO SNCRONO 95
A2. 2. 3 MODO SDLC 95
A3 PINAGEM 9 5
A4 USO COM O RDIO 9 6
A5 ENDEREAMENTO 9 6
A6 ACESSO AOS REGISTRADORES 9 9
A7 PROGRAMAO DA US CC 102
AL. 1 POLLING 102
AL.2 INTERRUPO 102
A8 INICIALIZAO DA PLACA 103
A9 CONTROLE DAS INTERRUPES 107
A9.1 RECEPO 108
A 9.2 TRANSMISSO 108
viii
A9.3 EXTERNAL/STATUS 109
A9.4 IDENTIFICANDO O MOTIVO DA INTERRUPO 109
AL O ENVIO DE DADOS 111
A 10.1 POLLING 112
A 10.2 INTERRUPO 113
AL 1 RECEPO DE DADOS 113
A 11.1 POLLING U4
AL 1.2 INTERRUPO 114
A1 2 MODO LOOPBACK 115
APNDICE B - ETHERNET 116
B1 ETHERNET 116
B2 CAMADAS ETHERNET 117
B3 ETHERNET X I EEE 8 0 2 . 3 117
B4 FORMATO DO PACOTE 119
B5 ENDEREO ETHERNET 120
B6 CDIGOS N T 121
APNDICE C - FERRAMENTAS UTILIZADAS NO PROJETO 122
CL MICROSOFT S DK/ DDK 122
C2 SOFTICENUMEGA 122
C3 BORLAND C + + 3 . 1 123
C4 VISUAL C+ + 6. 0 124
C5 WORD 9 7 124
C6 NDISCOPE FOR WINDOWS 124
C7 BAYCOM 124
C8 JNOS 125
C9 SOURCER 125
CIO ADOBE ACROBAT READER 125
viii
CL 1 GS V I E W3 2 2. 1 - A GHOSTSCRIPT GRAPHICAL INTERFACE 1 2 5
C1 2 TERMINAL DO WINDOWS 126
APNDICE D - SCRIPT PARA INSTALAO DO DRIVER DE REDE 127
APNDICE E - REPRODUO DO EXPERIMENTO PRTICO 129
REFERNCIAS BIBLIOGRFICAS 130
viii
LISTA DE FIGURAS
FIGURA 2. 1 EXEMPLO DE UM AMBIENTE DE REDE SEM FIO USANDO PONTOS DE ACESSO 2 0
FIGURA. 3. 1 ELEMENTOS B.SICOS DO SISTEMA AL OHA. 3 0
FIGURA 3 . 2 COLISO NA TRANSMISSO DO SISTEMA A L O H A 3 0
FIGURA 3 . 3 DIAGRAMA DE TRANSMISSO E RECEPO DO SISTEMA A L O H A 3 1
FIGURA 4. 1 USANDO O SISTEMA OPERACIONAL PARA DISPONIBILIZAR ACESSO TRANSPARENTE A REDE SEM
FIO 4 5
FI GURA4. 2 MODELO OSI X MODELO I EEE 4 7
FIGURA 4 . 3 PADRO 8 0 2 . 1 1 ACRESCENTADO AO I EEE 4 8
FIGURA 4 . 4 MEIOS FSICOS ABRANGIDOS PELO PADRO 8 0 2 . 1 1 4 8
FIGURA 4 . 5 3SS O TIPO MAIS BSICO DE REDE SEM FIO 8 0 2 . 1 1 51
FIGURA 4 . 6 E S S SATISFAZ A NECESSIDADE DAS REDES DE GRANDE ABRANGNCIA E MAIOR COMPLEXIDADE
51
FIGURA 4 . 7 MODELO OSI E A ARQUITETURA DE REDE DO WINDOWS 5 2
FIGURA 4 . 8 COMPONENTES EXISTENTES NA ARQUITETURA DE REDE DO WINDOWS 5 4
FIGURA 4 . 9 ARQUITETURA GERAL DA SOLUO 6 0
FIGURA 4 . 1 0 COMPONENTES A SEREM PROGRAMADOS NO N D I S MINIPORT N I C DRIVER 6 1
FIGURA 4 . 1 1 IDENTIFICAO DO PACOTE 6 2
FIGURA 4 . 1 2 RESUMO DO FUNCIONAMENTO DO C S MA / C A 6 4
FIGURA 4 . 1 3 DIAGRAMA DAS OPERAES DE TRANSMISSO E RECEPO 6 7
FIGURA 5. 1 PROGRAMA BAYCOM CONECTANDO COM OUTRO COMPUTADOR ( PULHF) UTILIZANDO CABOS 7 4
FIGURA 5. 2 PROGRAMA D OS QUE TROCA BYTES ENTRE DOIS COMPUTADORES CONECTADOS COM A PLACA
LIGADA ATRAVS DE UM CABO 7 5
FIGURA 5. 3 PACOTE ETHERNET 7 8
FIGURA 5 . 4 PACOTE USADO NO EXPERIMENTO 7 9
FIGURA 5. 5 ORGANIZAO DA PRIMEIRA VERSO DO NDI S MINIPORT 8 0
FIGURA 5. 6 PROGRAMA D OS QUE TROCA PACOTES ENTRE DOIS COMPUTADORES LIGADOS POR RDIO 8 2
FIGURA 5 . 7 ORGANIZAO DA SEGUNDA VERSO DO N D I S MINIPORT 83
viii
FIGURA 5. 8 SEQNCIA DE PACOTES PARA A COMUNICAO DE DADOS 83
FIGURA 5. 9 EXCLUDO OS PACOTES DE CONTROLE OPCIONAIS NESTA VERSO DO DRIVER 8 7
FIGURA 5 . 1 0 TESTE DO FUNCIONAMENTO DO DRIVER COM APLICAES INTERNET 8 7
FIGURA 5. 11 APPLET JAVA COM UM PROGRAMA DE CHAT SIMPLES 8 8
FIGURA A. 1 PINAGEM LIGANDO A PLACA U S C C AO RDIO 96
FIGURA A. 2 JUNIPER PARA A SELEO DO ENDEREO BASE DA PLACA 9 7
FIGURA A. 3 ENDEREO DE DADOS E DE CONTROLE DA PLACA U S C C USANDO COMO ENDEREO BASE O
VALOR 300H 9 7
FIGURA A. 4 PROGRAMAO DOS REGISTRADORES PARA A INICIALIZAO DA PLACA 105
FIGURA B. 1 CAMPOS DO PACOTE ETHERNET 120
FIGURA D. 1 - JANELA DO WINDOWS 98 PARA ADICIONAR O DRIVER DA REDE SEM FIO 127
viii
RESUMO
Esta dissertao o resultado do estudo da viabilizao tcnica e prtica da
comunicao sem fio entre microcomputadores mediante a utilizao de tecnologia e
instrumentos "de prateleira". Como resultado deste estudo apresentado um levantamento
da rea de comunicao de dados sem fio contendo suas caractersticas, as tecnologias
utilizadas e suas reas de pesquisa.
O texto finalizado com a proposta de uma arquitetura de hardware e software para
a implementao de uma rede sem fio. Esta proposta teve como base o estudo do modelo
OSI, do padro EEEE 802.11 e da arquitetura de rede da plataforma Windows. A soluo
apresentada est baseada no desenvolvimento de um NDIS Miniport NIC driver e na
utilizao de ferramentas Internet para o desenvolvimento das aplicaes que utilizam esta
rede sem fio.
viii
ABSTRACT
This dissertation is the result of a technical viability study of wireless
communication through computers using "on-the-shelf' technology and instruments. As a
result of this study, information about the wireless communication field, its characteristics,
technologies and research areas is presented.
This text also presents an architecture of hardware and software to develop a
wireless network. This proposal is based in the OSI model, IEEE 802.11 specification and
Windows network architecture. The solution is based in the development of a NDIS
Miniport NIC driver and in the use of Internet tools to the application development using
this wireless network.
Xlll
1
1. INTRODUO
1.1 MOTIVAO: QUAL O PROBLEMA?
Existe um segmento de mercado onde a informtica tem sido usada para a
monitorao de equipamentos de rdio e televiso. Nesta rea a concorrncia,
principalmente de sistemas americanos, muito grande. Por isso, para conseguir competir
neste mercado necessrio atacar os pontos fracos da maioria destes sistemas de
monitorao: a sua arquitetura fechada, o seu alto custo de aquisio, manuteno e
personalizao. Focando estes pontos, foi desenvolvido um trabalho em parceria com a
Rede Globo de Televiso - So Paulo, com o objetivo de construir estes sistemas utilizando
solues mais "abertas" de hardware e de software. No lugar de usar hardware do tipo
"caixa-preta", presente nos sistemas importados, foram utilizados computadores padro
PC. O software para fazer a monitorao foi desenvolvido com opes simples de
personalizao de forma a permitir o usurio do sistema modificar, retirar ou acrescentar
facilmente pontos de monitorao. Dentro desta estratgia foi possvel reduzir os custos de
implantao e personalizao destes sistemas.
O objetivo de baixar o custo dos sistemas de superviso para equipamentos de rdio
e televiso foi alcanado, mas o componente responsvel pela comunicao dos dados via
rdio, que consumiu um considervel tempo de desenvolvimento, apresentou o mesmo
problema dos sistemas concorrentes. A comunicao por rdio foi desenvolvida dentro de
uma arquitetura fechada, de forma a atender apenas a comunicao existente no sistema de
monitorao remota. Um fator no foi considerado no desenvolvimento do sistema de
2
monitorao: a possibilidade de reaproveitar a soluo de comunicao de dados via rdio
em outros sistemas que se beneficiem deste tipo de comunicao.
Baseado na experincia adquirida no desenvolvimento destes programas a seguinte
pergunta surgiu:
Como desenvolver uma soluo, de baixo custo, que permitisse a comunicao
de dados via rdio e que fosse transparente ao desenvolvedor do sistema?
Um mdulo que permitisse a sua utilizao em um sistema de monitorao bem
como em outros sistemas que utilizam comunicao de dados sem fio? O enfoque do
primeiro trabalho (sistema de telesuperviso) foi a simplificao tendo como alvo o usurio
final. O enfoque desta dissertao de Mestrado diferente, consiste na simplificao do uso
da comunicao de dados sem fio para os desenvolvedores de sistemas. Isto formalizado
no pargrafo a seguir.
Este trabalho o resultado do estudo da viabilizao tcnica e prtica da
comunicao sem fio entre microcomputadores mediante a utilizao de tecnologia e
instrumentos "de prateleira". Entende-se "de prateleira" equipamentos simples, de baixo
custo, encontrados em lojas especializadas.
1.2 A Dissertao
O resultado da pesquisa para o desenvolvimento de um mdulo de comunicao
sem fio est registrado nesta dissertao, organizada da seguinte forma:
J
- Primeiro. Levantamento da rea de comunicao de dados sem fio, suas
caractersticas e tecnologias (captulo 2). Deve ser lido por quem deseja ter uma
viso geral da rea.
- Segundo. Identificao das reas de estudo sobre o assunto (captulo 3). Deve ser
lido por quem tem interesse em conhecer o grande nmero de problemas que
existem na rea de comunicao sem fio.
- Terceiro. Aps a apresentao geral sobre comunicao sem fio (captulo 1 e 2)
est sendo proposto uma arquitetura de hardware e software capaz de atender as
necessidades de comunicao da rede sem fio de baixo custo (captulo 4). Deve ser
lido por quem tem interesse no modelo para a implementao desta rede, objeto de
estudo da dissertao.
- Quarto. Validao do modelo atravs da implementao de um prottipo (captulo
5 e apndices).
De forma a contribuir com trabalhos futuros, alm da apresentao do modelo
proposto para a rede, foi reunido neste texto as informaes sobre a comunicao sem fio
encontradas de maneira dispersa ou que no estavam devidamente documentadas. Um
exemplo disso o Apndice A, que apresenta instrues sobre como programar uma placa
USCC.
4
2. COMUNICAO SEM FIO - HISTRIAS E TECNOLOGIAS
2.1 Inveno do rdio
A inveno do telgrafo por Samuel F. B. Morse em 1838 inaugurou uma nova
poca nas comunicaes. Nos primeiros telgrafos utilizados no sculo XIX, mensagens
eram codificadas em cadeias de smbolos binrios, chamados de cdigo Morse, e ento
transmitidas manualmente por um operador atravs de um dispositivo gerador de pulsos
eltricos. Desde ento, a comunicao atravs de sinais eltricos atravessou uma grande
evoluo, dando origem maior parte dos grandes sistemas de comunicao que existem
hoje em dia, como o telefone, o rdio e a televiso [2],
Durante a metade do ltimo sculo os cientistas estavam procurando uma forma de
se comunicar sem a utilizao de um fio. Todavia, as tentativas feitas com ondas
eletromagnticas no tiveram nenhum resultado. O escocs Clark Maxwell demonstrou
matematicamente como "aes" eletromagnticas se espalhavam com um movimento
ondulatorio. Em 1887 o alemo Heinrich Hertz, usando correntes peridicas em uma alta
freqncia, demonstrou a existncia real de ondas eletromagnticas transformando o
"movimento ondulatorio" em um fenmeno estacionario, o qual poderia ser verificado em
um laboratrio. O italiano Augusto Righi continuou e melhorou o trabalho de Hertz
mostrando a relao entre vibraes ticas e eltricas. Em 1884 Temistocle Calzecchi-
Onesti observou a influncia de descargas eltricas de perturbaes atmosfricas em um
iron filing construindo um "tubo" que foi chamado mais tarde em 1894 por Oliver Lodge
de coherer. Foram estas pesquisas que levaram Marconi a produzir um dispositivo capaz de
produzir ondas eletromagnticas e permitir que estas ondas viajassem pelo ar. [41]
5
Em Setembro de 1895 Guglielmo Marconi, um auto-didata de 21 anos nascido em
Bologna, Itlia, j tinha feito alguns experimentos simples que o convenceram de que era
possvel enviar sinais atravs do uso de ondas eletromagnticas usando uma antena. Usando
os osciladores de Hertz e Righi, Marconi conseguiu fazer pequenas transmisses, como por
exemplo uma transmisso que percorreu os 100 metros que separavam a sua casa do final
do seu jardim. Todavia, foi possvel demonstrar que usando o ar {ether) era possvel
transmitir entre dois pontos separados por um obstculo. Cientistas e outros especialistas
diziam que ondas eletromagnticas poderiam apenas ser transmitidas em linha reta e que
isso funcionaria apenas se no existisse nenhum obstculo no caminho. Acima de tudo, os
cientistas achavam que o obstculo intransponvel transmisso era a prpria curvatura da
superfcie terrestre. Mesmo sabendo de tudo isso Marconi resolveu colocar o seu
transmissor perto de sua casa e o receptor a 3 Km de distncia, atrs de um morro. No
receptor estava Mignani, um assistente de Marconi, cuja tarefa seria disparar um rifle caso
recebesse algum sinal. Quando Mignani disparou a sua arma, pela primeira vez na histria
os trs pontos que compem a letra "S" do cdigo Morse tinha viajado atravs do espao.
Mesmo com essa faanha notvel os italianos no se entusiasmaram com a inveno de
Marconi, o ministro responsvel pelas comunicaes na Itlia considerou que este invento
no era "apropriado para as telecomunicaes". Isso levou Marconi Inglaterra onde
patenteou o seu invento. Foi ainda na Inglaterra (1897) que Marconi conseguiu apoio e
dinheiro para continuar os seus experimentos, onde conseguiu transmitir a distncias de 5,
8, 15, 30 e 100 Km.[40]
O ano de 1921 marcou o primeiro registro de uso de comunicaes sem fio na forma
bidirecional pelo Departamento de Polcia de Detroit. Mais de 20 anos depois, em 1946,
6
tocou o primeiro telefone mvel [27], At recentemente a conectividade sem fio e
onipresente parecia filme de fico cientfica.
Para resumir a histria da comunicao sem fio so apresentados alguns aspectos
interessantes, alguns no mencionado em detalhes, atravs de uma linha do tempo.
2.2 Unha do Tempo
1838 Inveno do telgrafo por Samuel F. B. Morse.
1850 Clark Maxwell demonstra matematicamente como aes eletromagnticas
espalham-se como um movimento ondulatorio.
1887 Heinrich Hertz demonstra a real existncia de ondas eletromagnticas.
1894 The Coherer.
1895 Rdio-transmissor de Marconi.
1921 Comunicao mvel sem fio bidirecional pelo Departamento de Polcia de
Detroit.
1941 Patenteado por Hedy Lamarr e George Antheil sistema de comunicao
utilizando mltiplas freqncias (futuramente chamado de spread-spectrum).
1946 Funcionamento do primeiro telefone mvel.
1962 Primeiro sistema eletrnico de spread-spectrum desenvolvido para equipar
missel americano (Sylvania Electronic Systems).
1970 Rede de radiodifuso Aloha inicia o seu funcionamento interligando o centro
de computao da Universidade do Hava, em Honolulu, a terminais
espalhados pelas ilhas.
1980 Em Fevereiro foi institudo o comit IEEE 802 (chamado assim devido ao
ano e ms do seu inicio), com o objetivo de elaborar padres para redes
locais de computadores.
1980s Rdio amadores desenvolvem um hardware chamado TNC {Terminal Node
Controllers). Este hardware permitiu que microcomputadores dos Estados
Unidos e do Canad permanecessem conectados atravs de equipamentos de
rdio amador.
1984 A ISO desenvolve um modelo de referncia chamado OSI {Open System
Interconection).
1985 O FCC {Federal Communications Commission) autoriza o uso pblico das
freqncias que compem o ISM {Industrial, Scientific and Medicai), esta
faixa de freqncias compreendem de 902MHz a 5.85 GHz. A autorizao
permite a utilizao de equipamentos que transmitem nesta faixa sem o
pedido de autorizao do governo.
1991 Em Maio um grupo liderado por Victor Hayes envia um projeto ao IEEE
para dar incio ao grupo de trabalho 802.11 que define o padro para redes
sem fio.
1992 Na conferncia de administrao de espectro de rdio da UIT, instala-se a
IMT-2000 {International Mobile Telecommunications 2000). A proposta da
8
IMT-2000 fornecer acesso wireless infra-estrutura global de
telecomunicaes, mediante unificao dos padres adotados em sistemas
mveis celulares em uma nica infra-estrutura de rdio.
1994 De maneira a incentivar o desenvolvimento da superinfovia da comunicao,
que tambm inclui a infraestrutura wireless, o Grupo dos 7 (G-7) cria a GII
(Global Information Infrastructure).
1997 Em Junho o texto descrevendo o padro IEEE 802.11 chega a sua verso
final.
1999 Em Maro foi criado o grupo de trabalho IEEE 802.15 para definir os
padres para a comunicao de dispositivos em redes do tipo WPAN
{Wireless Personal Area Network).
2.3 Redes sem fio
2.3.1 O que ?
Uma rede local sem fio um sistema de comunicao de dados flexvel
implementado como uma extenso, ou uma alternativa, a uma rede local (LAN) [51],
Usando tecnologia de rdio freqncia (RF), redes sem fio transmitem e recebem dados
atravs do ar, minimizando a necessidade de conexes usando cabo. Desta forma, as redes
sem fio combinam conectividade com mobilidade.
As redes sem fio tm aumentado a sua popularidade em diversas reas: sade,
manufatura, revendas e educao. Estas reas tm tido resultados positivos no uso de
terminais de entrada de dados e computadores portteis na transmisso de informaes em
9
tempo real para a um computador central. Hoje as redes sem fio esto sendo reconhecidas
como uma alternativa de conexo para redes de propsito geral em uma grande faixa de
negcios. Pesquisas esto prevendo que este mercado aumentar o seu ritmo de
crescimento, devendo ultrapassar a barreira dos US$2 bilhes a partir do ano 2000 [28]
[38],
2.3.2 Por que utilizar uma rede sem fio?
As redes locais sem fio so realidade em vrios ambientes de redes, principalmente
nos que requerem a mobilidade dos usurios. As aplicaes so as mais diversas e
abrangem desde aplicaes mdicas, como por exemplo a visita a vrios pacientes com um
sistema porttil de monitoramento, at ambientes de escritrio ou de fbrica.
Apesar das limitaes de cobertura geogrfica, utilizando-se a arquitetura de
sistemas de distribuio pode-se aumentar a abrangncia de uma rede sem fio, fazendo uso
de vrios sistemas de distribuio interconectados via rede com fio, num esquema de
roaming entre microclulas, semelhante a um sistema de telefonia celular convencional.
A disseminao do uso de rede nos negcios, o crescimento meterico da Internet e
dos servios online so os mais fortes indcios das vantagens do compartilhamento de
dados e recursos. Atravs das redes sem fio, os usurios podem acessar informaes
compartilhadas sem ter que procurar por um lugar para se conectar. Os gerentes de rede
podem configurar ou aumentar as redes sem a necessidade de instalao ou movimentao
de cabos. Redes sem fio oferecem produtividade, convenincia e vantagens de custo sobre
as redes que utilizam cabos. Listamos algumas vantagens do uso das redes sem fio:
10
- Mobilidade: sistemas de rede sem fio podem fornecer aos usurios da rede acesso
a informaes em tempo real em qualquer lugar dentro da organizao. Esta
possibilidade de movimentao pode ser utilizada de forma a aumentar a
produtividade, alm de criar novas oportunidades de servios que no seriam
possveis atravs do uso de redes com fio.
- Velocidade de Instalao e Simplicidade: instalar uma rede sem fio pode ser
rpido e fcil, eliminando a necessidade de passar cabos pelos tetos e paredes.
- Flexibilidade na Instalao: redes sem fio podem ir onde o sistema de cabos no
pode, como por exemplo em uma reserva florestal.
- Custo de Propriedade: enquanto o custo inicial de investimento necessrio para a
instalao do hardware e do software pode ser maior do que o custo de uma rede
com cabos, o custo total de instalao e o custo do ciclo de vida pode ser
significativamente inferior. Os beneficios a longo prazo so maiores para ambientes
dinmicos que necessitam de mudanas freqentes. As redes com cabos precisam de
modificaes em sua estrutura, como instalao de novos cabos e novos pontos na
rede.
- Escalabilidade: sistemas de rede sem fio podem ser configurados numa grande
variedade de topologas para atender as necessidades de aplicaes e instalaes
especficas. Configuraes so facilmente modificadas de redes ponto a ponto de
poucos usurios para redes corporativas, permitindo uma movimentao do usurio
em uma grande rea de abrangncia.
11
2.3.3 Como as redes sem fio so utilizadas no mundo real?
A adoo de uma arquitetura de rede que utiliza comunicao sem fio no significa
necessariamente a excluso da utilizao de cabos na rede. Muitas vezes uma rede sem fio
utilizada de forma a complementar ao invs de substituir uma rede tradicional utilizando
cabos. Freqentemente a rede sem fio utilizada de forma a permitir a conexo de um
usurio mvel rede corporativa que utiliza cabos. A lista apresentada a seguir descreve
algumas das muitas aplicaes possveis que tiram proveito da flexibilidade oferecida pela
comunicao sem fio:
- Mdicos e enfermeiras em um hospital so muito mais produtivos porque atravs
de um handheld ou um notebook podem obter informaes atualizadas sobre o
paciente instantaneamente.
- Gerentes de rede gastam menos tempo para viabilizar mudanas na rede, como
posio dos computadores, local ou tamanho da rede.
- Locais de treinamento e estudantes em universidades utilizam conexes sem fio
para simplificar o acesso informao e troca de dados, facilitando o aprendizado.
- Gerentes de rede que instalam computadores em construes antigas descobriram
que a utilizao de redes sem fio uma alternativa de infraestrutura de rede que
pode ficar mais barata.
- A utilizao de redes sem fio em congressos, feiras ou eventos reduzem o tempo
de instalao porque diminui a inconveniente instalao dos cabos e porque permite
que os computadores sejam pr-configurados e testados, mesmo antes da instalao
em seu lugar definitivo.
12
- Gerentes de rede que utilizam redes sem fio podem aumentar a segurana de
aplicaes de misso crtica a partir da criao de formas alternativas de conexo ao
ambiente de rede com cabos.
- Executivos em reunies podem tomar decises mais rapidamente porque possuem
informaes em tempo real na "ponta dos dedos". [51]
- Interligao de LANs entre edifcios independentes ou distantes.
- Instalaes temporrias.
- Prdios tombados pelo patrimnio histrico.
- Locais onde j existem diversos dutos instalados no solo, muitas vezes sem um
controle da sua exata localizao (Sabesp, Eletropaulo, Telepar, entre outras).
- Usurios que precisam se locomover dentro da empresa, e ao mesmo tempo
consultam ou atualizam informaes existentes na rede da empresa, como por
exemplo o inventrio, o estoque, entre outros. [28]
- Correio eletrnico para equipamentos portteis.
- Telemetra de equipamentos em locais remotos ou de difcil acesso, como
retransmissores de TV.
- Acompanhamento de frotas atravs de localizao e telemetria.
- Acesso a base de dados remota (polcia, guarda florestal, sistemas do tipo rede-
shop, entre outras).
13
- Mquinas vendedoras automticas com modems sem fio que avisam quando o
estoque est acabando, dispensando o deslocamento de pessoas para a verificao.
[26]
2.3.4 Preocupaes sobre o uso da comunicao sem fio
So muitos os beneficios que podem ser alcanados pelo uso da comunicao sem
fio, mas no se pode esquecer dos problemas e conseqncia da escolha desta tecnologia.
- Interferncia no sinal de rdio. O processo de transmisso e recepo de sinais
de rdio ou laser atravs do ar faz com que os sistemas sem fio sejam vulnerveis a
rudos produzidos por mudanas atmosfricas ou transmisses realizadas por outros
sistemas. Uma rede sem fio pode tambm interferir em uma outra rede sem fio
prxima ou em um outro equipamento de rdio. Ou seja, uma comunicao sem fio
pode sofrer ou gerar interferncias. O gerenciamento das freqncias utilizadas, uma
boa anlise do espectro antes da instalao da rede e a utilizao de tecnologias
como spread spectrum podem minimizar este tipo de problema.
- Gerenciamento de Energia. Na utilizao de equipamentos mveis, muitas vezes
no possvel ligar este aparelho a uma tomada. Neste caso a autonomia de uso do
equipamento estar dependendo de sua bateria. Nestas situaes o gasto adicional
resultante da utilizao do hardware responsvel pela comunicao sem fio, passa a
ser significativo no consumo de energia. Uma possvel alternativa para reduzir o
consumo de bateria est na utilizao de tcnicas que, mesmo aumentando o tempo
de resposta, procuram reduzir a quantidade de tempo que o rdio permanece em
operao.
14
- Interoperabilidade dos sistemas. Diferentemente das redes com fio que possuem
protocolos altamente difundidos, como por exemplo Ethernet, a estruturao de uma
rede sem fio com um certo tipo de fabricante pode inviabilizar a ampliao da rede
utilizando equipamentos de outros fabricantes. A publicao e a atual adoo de
padres pelos fabricantes (como o IEEE 802.3) dever aumentar a compatibilidade
destes equipamentos em poucos anos.
- Segurana da rede contra acesso no autorizados. O ar usado como meio de
transporte para as informaes, por isso a possibilidade de ter acesso aos dados
transmitidos maior se comparado comunicao utilizando cabos. Por isso, alm
do controle das conexes e do uso de senhas, a utilizao de criptografia
fundamental.
- Questes de instalao. Em comparao s redes sem fio o planejamento para a
instalao dos cabos de uma rede com fio normalmente no apresenta problemas.
Estuda-se a planta, identificam-se os locais para passagem dos cabos, o
comprimento dos cabos e a eventual necessidade de repetidores. Depois da
instalao destes cabos a rede costuma funcionar de acordo com o planejado. De
forma contrria, a instalao de redes sem fio no costuma ser to previsvel.
muito difcil, se no impossvel, definir a estruturao da rede sem fio apenas
estudando a planta ou observando o local da instalao. Paredes, tetos e objetos
atenuam os sinais de rdio e podem at alterar o caminho da transmisso. A abertura
ou fechamento de uma porta pode alterar a propagao do sinal, sem contar a
possibilidade de interferncia externa quando o sinal utilizado na comunicao
entre prdios diferentes, que neste caso pode receber interferncia de outras
15
transmisses. Por isso fundamental a realizao de testes de propagao e anlise
do espectro como parte do planejamento de uma rede sem fio.
2.4 Tecnologias para Comunicao sem Fio
Pode-se classificar a comunicao sem fio em comunicaes unidirecionais e
bidirecionais. As comunicaes unidirecionais, presentes nos servios de pagers, permitem
transmisso de informaes para um ou para mltiplos receptores. Este o formato ideal
para o despacho de mensagens, atualizao de notcias, informaes de preos e atribuio
de rotas. Considerando custo, a comunicao unidirecional um mtodo eficiente para a
entrega de informaes aos seus destinatrios.
Embora as transmisses unidirecionais desempenhem um importante papel so as
comunicaes bidirecionais que permitem explorar o potencial mximo da comunicao
sem fio, possibilitando conexo de LANs, telefones pblicos sem fio, conferncias em
tempo real, entre outras. [27]
Existe uma srie de tecnologias para comunicao sem fio, cada uma destas
tecnologias com o seu conjunto de caractersticas, vantagens e limitaes. Apresentamos
estas tecnologias a seguir.
2.4.1 Comunicao Celular
Fazem parte de um sistema mvel de radiotelefona que transmite dados sobre
pequenas reas geogrficas, chamadas clulas, que utilizam receptores e transmissores de
baixa potncia. Os telefones celulares funcionam tipicamente dentro de um raio de 8km. A
comunicao celular ocorre por meio de uma malha de transmissores/receptores, onde cada
16
conjunto chamado de clula. Um sinal proveniente de um dispositivo celular tratado
pela clula mais prxima, que transmite o sinal atravs de linhas telefnicas comuns.
medida em que um dispositivo celular, como um telefone porttil, move-se de
uma localidade para outra, o sinal pode cair momentaneamente conforme se passa de uma
rea coberta por uma clula para outra rea coberta por uma segunda clula. Isso
conhecido como handoff.
Quando um dispositivo celular move-se para dentro do alcance de uma nova clula,
seu sinal capturado por outro par formado por um transmissor e um receptor.
Normalmente esta clula a que encontra-se mais prxima do dispositivo. Entretanto, se
um sinal bloqueado, uma clula mais afastada passa a ser utilizada. [26]
As ocorrncias de handoff no so problema para sinais de voz, cheios de vazios e
pausas; contudo, no caso dos dados, se no houver protocolos ou equipamentos especiais,
cada troca de clula representa uma potencial transmisso arruinada. [27]
2.4.2 Celular Analgico
Uma das formas mais simples de comunicao sem fio o celular analgico.
Projetado originalmente para comunicaes de voz, o celular analgico funciona de forma
muito parecida com os telefones baseados em linhas de terra - na verdade, uma chamada
celular viaja a maior parte da distncia atravs dessas linhas. A transmisso de dados via
celular analgico requer um modem ligado ao servio celular [27],
17
Os telefones celulares analgicos normalmente utilizam a tecnologia FDMA
(.Frequency Division Multiple Access) que divide as freqncias para separar cada uma das
chamadas [46],
2.4.3 CDPD (Cellular Digital Packet Data)
Um dispositivo celular CDPD segmenta os dados em pacotes que podem ser
transmitidos de forma independente. Estes pacotes de dados so enviados por meio de
sinais de celulares que j esto sendo utilizados para comunicaes de voz; eles so
inseridos na portadora do sinal durante os perodos de silncio que acompanham a fala.
Devido possibilidade de perda dos pacotes de dados durante um handoff\ ou de
distoro causada pela esttica ou por outra interferncia no sinal do celular, o CDPD
receptor verifica os pacotes para ter certeza de que no apresentam problemas, e solicita ao
CDPD emissor que torne a enviar os pacotes danificados ou perdidos. [26]
2.4.4 TDMA (Time Division Multiple Access)
Mtodo de multiplexao para telefones celulares digitais, no qual atribudo uma
faixa de tempo em um canal para cada usurio. [26] TDMA divide cada freqncia de
portadora em um determinado nmero de intervalos de tempo, cada qual constituindo um
circuito independente de telefone. [46] Tipicamente, at dez usurios podem compartilhar
um canal. J existe cerca de 30 milhes de usurios que utilizam celulares com esta
tecnologia [37],
18
2.4.5 GSM (Global System for Mobile Comunication)
O GSM utiliza a mesma tecnologia do TDMA onde cada freqncia de portadora
dividida em um nmero de faixas de tempo. GSM utilizado amplamente na Europa como
principal padro para sistemas de comunicao sem fio.[46]
2.4.6 Outros tipos de comunicao
Existe um nmero grande de estratgias usadas na comunicao sem fio. Elas so
importantes mas no fazem parte do escopo deste trabalho, por isso sero apenas citadas:
Microondas [6], Frequency-Hopping Spread Spectrum, Direct-Sequence Spread Spectrum
Technology [51] [43] [48] [5], Code Division Multiple Access (CDMA) [26] [46] [6],
Wideband Code Division Multiple Access (W-CDMA) [52], Infravermelho [51] [6] [5],
etc.
2.5 Como uma rede sem fio funciona
Uma rede sem fio utiliza ondas eletromagnticas para transmitir informaes de um
ponto a outro sem o uso de conexes fsicas. Ondas de rdio so freqentemente chamadas
de portadoras de rdio porque elas simplesmente executam a funo de enviar energia para
um receptor remoto. O dado transmitido sobreposto na portadora do rdio de forma a
permitir a extrao desta informao no ponto receptor. Uma vez o dado sobreposto (ou
modulado) na portadora do rdio, este sinal ocupa mais do que uma nica freqncia, uma
vez que a freqncia ou a taxa de bits da informao modulada adicionada portadora.
Mltiplas portadoras de rdio podem existir dentro do mesmo espao e dentro do mesmo
tempo sem interferir um no outro se estas ondas forem transmitidas em diferentes
freqncias de rdio. Para extrair os dados, o rdio receptor ajustado em uma freqncia
enquanto as demais freqncias so descartadas.
Em uma configurao de rede tpica, o dispositivo de transmisso/recepo,
chamado de ponto de acesso, conecta-se com a rede atravs de uma base fixa que usa cabos
tradicionais (Figura 2.1). O objetivo do ponto de acesso receber, armazenar e transmitir os
dados entre as redes sem fio e com fio. Um nico ponto de acesso pode suportar um
pequeno grupo de usurios e pode funcionar dentro de uma faixa que varia de uma a vrias
centenas de metros. O ponto de acesso, ou a antena anexada ao ponto de acesso,
normalmente colocado em um local alto, entretanto pode ser colocado em qualquer lugar
onde o alcance do rdio atinja a rea de cobertura desejada. Os pontos de acesso no apenas
fornecem a comunicao com a rede convencional, como tambm intermediam o trfego
com os pontos de acesso vizinhos, num esquema de micro clulas com roaming semelhante
a um sistema de telefonia celular (figura 2.1). Os usurios acessam a rede sem fio atravs
de adaptadores de rede especiais, que disponibilizam uma interface entre o sistema
operacional de rede (SOR) e a antena transmissora do sinal. A partir desta estrutura a
natureza desta conexo sem fio fica transparente para o SOR. [51]
20
Figura 2.1 Exemplo de um ambiente de rede sem fio usando pontos de acesso
2.6 Mercado Atual
2.6.1 Comunicao de dados via celular
Os modems atuais foram originalmente projetados para linhas telefnicas
convencionais, que possuem as seguintes caractersticas:
- Comunicao "estvel" aps estabelecimento da ligao.
- "Pequenas" variaes das caractersticas do canal de comunicao.
- Caminho/distncia do sinal fixos durante a comunicao.
21
O sistema celular foi projetado simplesmente para manter um mnimo de qualidade
de sinal de voz, apresentando:
- Variaes do nvel do sinal durante a ligao.
- Interrupes da comunicao, devido a troca de freqncias {hand-off).
- Mudana do percurso do sinal durante a comunicao.
- Eco do sinal devido a reflexes ("fantasmas")
Todos estes fenmenos so devidos s caractersticas da comunicao via sinal de
rdio dividida em clulas. Assim, fica claro que a comunicao de dados via telefonia
celular representa um desafio para o modem, pois as condies so muito mais adversas do
que as apresentadas pelo sistema de telefonia convencional.
O primeiro ponto que deve ser levado em considerao a utilizao de modems
convencionais, usados em linhas telefnicas comuns, que somente podem ser aproveitados
no sistema celular analgico, j que esses modems utilizam este modo (analgico) para
comunicao. Assim, os sistemas digitais existentes atualmente (CDMA / TDMA) por
enquanto no suportam a comunicao de dados.
Tendo em vista as condies adversas do canal celular, se faz necessrio o uso de
um protocolo especial, que trate os problemas apresentados h pouco e tenha maior
tolerncia s condies da linha celular. Atualmente, um protocolo muito utilizado o
MNP 10, que possui uma verso aperfeioada, conhecida como MNP10EC. Exemplos de
aplicaes onde no se pode utilizar o protocolo MNP10EC, por que a outra ponta no
trabalha com o protocolo, o acesso a RENPAC e a muitos provedores Internet.
22
importante notar, tambm, que o protocolo MNPIOEC melhora sensivelmente a
qualidade e estabilidade da comunicao, entretanto, em locais em que a comunicao via
celular possuem muitos aparelhos dentro da mesma clula ou que possuem muitos
obstculos, o que ocorre nas capitais de So Paulo e Rio de Janeiro, mesmo com este
protocolo no h garantias da qualidade na comunicao. O ltimo aspecto a ser lembrado
sobre o MNPIOEC que ele s opera para transmisses de dados, no tendo funo para
transmisses de Fax, assim, estas normalmente tm um ndice relativamente baixo de
sucesso, uma mdia de 30% a 50%.
Devido as limitaes de banda do canal celular, a comunicao fica limitada a
velocidades entre 2400bps a 4800bps. Usando compresso de dados possvel chegar a
uma mdia de 9600bps. Assim, importante que as aplicaes utilizadas no exijam alto
trfego de dados, devendo-se ater a transmisses de arquivos pequenos.
Requisitos para Comunicao de Dados via Telefonia Celular
- Os modems de ambos os lados da comunicao (origem/resposta) devem possuir o
protocolo MNPIOEC.
- Os locais de comunicao devem apresentar um sinal de boa qualidade.
- Existir adaptador RJ-11 do telefone celular.
Sendo assim, este meio de comunicao mais recomendado para aplicaes
especficas que possuem baixo volume de transmisso.
Existem duas tecnologias que prometem solues para os problemas apresentados:
- A CDPD (Cellular Digital Packed Data), um sistema de comunicao de dados
operando nas velocidades de 9,6kbps a 19,2kbps para o sistema celular,
necessitando a instalao de equipamentos de recepo nas estaes rdio-base e a
utilizao de um modem especial CDPD. Algumas operadoras de celular no Brasil
j disponibilizam este tipo de comunicao [32],
- O sistema PCS (Personnal Communications Services), um novo sistema de
telefonia celular digital, que prev a comunicao de dados. [42]
2.6.2 Acesso Web via celulares, pagers e computadores de mo
No incio de 1999 a Motorola e a Cisco anunciaram investimento de US$ 1 bilho
durante cinco anos para criar um padro de acesso Internet a partir de redes sem fio.
Sprint, Nextel e AirTouch foram algumas das empresas que aderiram iniciativa. Ao
mesmo tempo, a Microsoft firmou um acordo com a British Telecom para desenvolver um
navegador destinado a telefones celulares. As duas notcias sinalizaram a tendncia que a
Internet comeou a experimentar em 1999: wireless. Ler e-mails ou buscar informaes na
Web no so mais operaes exclusivas dos micros de mesa, isso pode ser feito usando o
celular atravs dos servios da America on Line [30], MSNBC ou alguns sites nacionais
como o PageMe [31]. Neste segmento o protocolo WAP (Wireless Application Protocol)
est sendo amplamente adotado.
A Web sem fio atravs do celular ainda lenta, funciona a 14,4 Kbps contra os 56K
dos modems nos PCs. O tamanho dos visores dos telefones mveis varia de duas a trs
polegadas contra os de 15 ou 17 polegadas nas mesas do escritrio. Apesar disso, segundo a
(IDC) International Data Corporation, dos 64 milhes de proprietrios americanos de
24
celulares, 15% j utilizam seus equipamentos para o trfego de dados. Em 2002, quando os
Estados Unidos tiverem cerca de 108 milhes de telefones celulares, 70% deles sero
usados para buscar informaes na Internet. A IDC prev que as alteraes percentuais
sero mais ou menos semelhantes para o resto do mundo, para o Brasil a previso da Anatel
de 30 milhes de celulares em 2003. Considerando todos os aparelhos sem fio que
acessam a Web a IDC assinalou 7,4 milhes de usurios em 1999 com a previso de que
este nmero chegue a 61,5 milhes em 2003 nos EUA [34],
O grande problema como transportar os servios j criados para computador tela
dos telefones celulares. Com objetivo de facilitar este processo esto sendo criados padres
como o Short Message Services (SMS), AnyWeb e Wireless Application Protocol (WAP).
O WAP recebeu apoio da Ericsson, Nokia e Motorola, contando com a adeso de gigantes
do software como IBM e Microsoft. O WAP rene um ambiente de aplicaes e um
conjunto de protocolos de comunicao para dispositivos sem fio. [39] Os sinais da
disseminao desta tecnologia j aparecem no Brasil. No incio de 2000 a Nokia e a
Motorola lanaram telefones celulares que utilizam a tecnologia WAP. Alm desta
tecnologia outra tendncia da utilizao da tecnologia sem fio tambm est presente nestes
novos celulares, que atravs de infravermelho permitem a sincronizao e comunicao dos
dados entre telefones, PCs e impressoras [36],
A partir de abril de 2000, entra na Web em verso definitiva o site PageMe
(www.pageme.com.br), um portal voltado tecnologia sem fio que pretende ser o ponto de
partida para o acesso Web via celulares, pagers e computadores de mo.
25
O site est em fase experimental desde Dezembro. Inicialmente este site utiliza a
tecnologia SMS para enviar pequenas mensagens da Web, como e-mails, dicas culturais e
cotaes, para os aparelhos mveis. Com a chegada da tecnologia WAP servios mais
amplos e de maior valor agregado vo ser possveis, como home banking, reservas de vos,
dirias de hotis e investimentos online. [31]
2.6.3 Redes locais sem fio
Considerando todas as vantagens existentes na utilizao de redes sem fio, a
exploso de vendas deste mercado, previsto para a dcada de 90, nunca realmente
aconteceu. A razo para este crescimento lento pode ser justificada por dois motivos:
preos altos e a falta de padronizao no mercado. Estes fatores criam um mercado
desfavorvel, porque alm do alto custo de implantao destes sistemas, a nica alternativa
era a adoo de solues de hardware e software proprietrias.
Para resolver este problema do mercado, em Maio 1991 um grupo de pessoas
liderados por Victor Hayes, submeteu um projeto ao IEEE (.Institute for Electrical and
Electronic Engineers) para a criao do grupo de trabalho 802.11. Este trabalho durou
quase toda a dcada de 90 gerando em Junho de 1997 o documento definindo padres para
redes locais sem fio (WLANs).
A existncia deste padro finalmente assegura aos usurios a possibilidade de
comprar produtos interoperveis de vrios fornecedores diferentes para montar ou expandir
a rede. Isso faz com que a competio aumente e consequentemente os custos diminuam.
26
2.7 Futuro do mercado sem fio
A falta de uma cobertura universal o grande fator que est retardando o uso mais
difundido de servios de dados sem fio. Muito em breve, graas s plataformas digitais, que
exploram meios de transmisso sem fio, padronizados e abertos, as pessoas passaro a
utilizar um nico meio, identificado por um s nmero, para enviar e receber mensagens de
dados, voz e imagem. Isso ser possvel devido convergncia de trs diferentes indstrias,
telecomunicaes, informtica e televiso. De maneira a incentivar o desenvolvimento
dessa indstria multimdia, em 1994 criou-se a GII (Global Information Infraestructure). A
GII compete promover a implantao da superinfovia da comunicao baseada nos
seguintes princpios:
- todos os servios sero concentrados em uma rede digital nica;
- a capacidade de transmisso ser abundante; e
- os servios oferecidos sero pessoais.
Essa rede digital ser diversificada e fragmentada, com elevado grau de competio
(fibra/sem fio e satlite/cabo), sustentando-se em plataformas tecnolgicas abertas. A
proposta da IMT-2000 fornecer acesso wireless infra-estrutura global de
telecomunicaes, mediante unificao dos padres adotados em sistemas mveis celulares
em uma nica infra-estrutura de rdio, provendo, ao mesmo tempo, servios de voz, dados
e banda larga para a multimdia com roaming global. Entre os diversos padres
tecnolgicos de arquitetura de rede e interface area, o que melhor atende os requisitos do
IMT-2000 o W-CDMA ( Wideband Code Division Multiple Access).
A fuso das tendncias Gil e IMT-2000 dar origem a uma rede mundial sem fio
digital de alta capacidade, via sistema mvel celular. E independentemente do meio
utilizado para transportar o sinal - via fibra, satlite ou infra-estrutura sem fio.
Para as residncias o crescimento do mercado sem fio acontecer na construo das
infra-estruturas a serem utilizadas pelas novas operadoras como, por exemplo, na telefonia
fixa, atravs da utilizao da tecnologia WLL ( Wireless Local Loop) lanada em Dezembro
de 1999 pela operadora Vsper em So Paulo [35], [29]
J existe o que est sendo chamado de celular de terceira gerao, com alguns
aparelhos lanados na Europa. Este celular permite navegar na Web, consultar a sua conta
bancria, receber informaes e gravar msicas no padro MP3. A caracterstica
fundamental do celular de terceira gerao a sua maior capacidade de transmisso de
dados. Em vez de acessar a Web velocidade de 19,6 kbps, esta terceira gerao trabalha a
384 kbps e, nos sistemas que utilizam WLL {Wireless Local Loop), 2 megabits/segundo.
No Brasil, a indstria aguarda as regras para a entrada de um novo competidor no
segmento, conhecida como banda C. O assunto sobre a chegada do PCS (Personal
Communications System) tem sido discutido pela indstria e eventuais grupos interessados
em explorar o servio. A Agncia Nacional de Telecomunicaes (Anatel) dever definir
ainda em 2000 a estratgia no apenas para a banda C, mas para a terceira gerao de
telefonia celular. Uma questo tcnica j foi levantada pela indstria e pelo CDG (CDMA
Development Group). Comea pela freqncia de operao da banda C. A agncia tem
duas opes: 1,8 GHz ou 1,9 GHz. O PCS opera em 1,9 GHz nos Estados Unidos, Canad,
Chile, Argentina, Mxico, Peru, Uruguai e Venezuela. Na Europa, essa faixa ser utilizada
28
pelos sistemas de terceira gerao. E qual ser o modelo do Brasil? Empresrios defendem
que o Brasil deveria seguir o caminho dos demais pases, ou seja, 1,9 GHz. Alegam que o
roaming do servio poderia ser feito sem maiores complicaes e a migrao da segunda
para a terceira gerao no seria to cara. A indstria j desenvolveu infra-estrutura e
aparelhos na faixa 1,9 GHz nos trs padres digitais: TDMA, CDMA e GSM. Isto significa
que possvel aumentar a escala de produo e baratear o custo para o usurio final j que a
indstria tem equipamentos e aparelhos dual band. No caso da freqncia de 1,8 GHz, a
opo de tecnologia disponvel o GSM, que no usada no Brasil. [33]
A tendncia de que as telecomunicaes adotem um sistema pessoal sem fio, com
ampla gama de freqncias alocadas, capaz de prover um conjunto de servios de
comunicao com elevada capacidade de transmisso e aplicaes multimdia. Um
conjunto de servios que j se convenciona chamar de infocomunicao sem fio.
29
3. PESQUISAS NA REA
3.1 Introduo
Os sistemas celulares modernos utilizam uma estao base que cobre uma regio
geogrfica especfica, chamada clula. Os problemas aparecem na deciso de quando trocar
de uma clula para outra, na manipulao da interferncia entre as clulas e na localizao
do usurio. Mesmo com estes problemas complexos, a comunicao sem fio tem um futuro
lucrativo e garantido. Caractersticas como a liberdade de comunicar/mover e a capacidade
de levar a comunicao para localidades remotas fazem com que esta tecnologia seja parte
importante da nossa sociedade.
3.2 O Sistema ALOHA da Universidade do Hava
Foi o primeiro sistema de computadores a empregar a tcnica de radiodifuso no
lugar de cabos ponto a ponto. Na dcada de 70, quando o projeto foi implantado, as linhas
telefnicas disponveis eram caras e pouco confiveis. Havia a necessidade de interligao
de subredes da universidade, espalhadas pelas ilhas, ao Centro de Computao principal.
A comunicao foi realizada atravs da instalao, em cada estao, de um pequeno
transmissor / receptor de rdio FM, com um alcance suficiente para comunicar-se com o
transmissor / receptor do Centro de Computao.
O projeto foi realizado de uma forma que no existia comunicao direta entre
estaes, apenas de uma estao para o Centro de Computao e deste para uma estao.
Foram utilizadas duas faixas de freqncia: uma em 407.305MHz para o trfego no sentido
30
Centro-Estao, e outra em 413.475MHz para o trfego no sentido contrrio. A transmisso
foi feita em 9600bps.
A figura 3.1 apresenta os elementos bsicos do sistema ALOHA.
Terminal
Antena
c D - d ^ c D - O ^ ^-Repetidor]
TT-UJ^L, C 1
Unidade
de Controle
i k y ^ ' ^
^ v ^ 7
1
\ /
Instalacao
-hhhh
Central
MenelnnK
BCCSCOlj I i IBM370/158
AKPAHET PACNET
Figura 3.1 Elementos bsicos do sistema ALOHA
Na instalao central encontra-se um computador chamado Menehune que manipula
todos os dados recebidos ou transmitidos. O Menehune est conectado ainda a outros dois
computadores (BCC 500 e IBM 370/158) e as redes ARPANET e PACNET. Cada estao
possui uma unidade de controle que armazena dados e faz as retransmisses.
Tempo
Estao A
Dados TX
Estao B
Dados TX
n
Transmisso
OK
Coliso
Figura 3.2 Coliso na Transmisso do Sistema ALOHA
31
O mtodo de acesso utilizado na rede ALOHA simples. Cada terminal s pode
ouvir o canal de transmisso do computador para o terminal, no tendo condies de saber
se o outro canal est sendo utilizado por outro terminal ou no. Quando um terminal tem
um pacote para transmitir, este pacote transmitido, independetemente de o canal estar
sendo utilizado ou no. A tcnica de deteco de coliso realizada pelo disparo do timer
na transmisso da mensagem. Se um pacote de reconhecimento no tiver chegado ao final
da temporizao, o pacote original deve ser retransmitido. O intervalo de temporizao
aleatrio de forma a reduzir a probabilidade de nova coliso de pacotes.
Recebe
ACK
Transmisso
Dados
para TX
TX
Recepo
Envia
ACK
Time-out
Erro
Figura 3.3 Diagrama de Transmisso e Recepo do sistema ALOHA
3.3 reas de Pesquisa na Computao sem fio
A comunicao sem fio muito mais difcil de conseguir do que a comunicao
com fio porque o ambiente tem uma grande influncia no sinal da comunicao, exemplo:
bloqueios no sinal transmitido, ocorrncia de rudos e ecos na transmisso. Por este motivo,
32
quando comparada com comunicao que usa fios, as transmisses sem fio tem menor
velocidade de transmisso e uma maior freqncia de erros. Alm disso, a comunicao
sem fio tem outros problemas quando utilizada em equipamentos mveis. Estes
equipamentos podem sair da rea de abrangncia dos transmissores, ou entrar em reas de
alta interferncia, gerando a perda da comunicao ou a degradao do sinal.
Diferentemente das redes com fio, o nmero de usurios conectados a uma rede sem fio
pode variar dinamicamente dentro de um clula, como por exemplo a concentrao de
muitos usurios com equipamentos sem fio em um congresso ou uma feira. Isso pode gerar
picos que sobrecarregam a rede. A possibilidade do usurio se movimentar enquanto est
conectado rede aumenta a complexidade de algumas informaes. Alguns dados,
considerados fixos em redes com fio, como endereo na rede ou nome do servidor, passam
a ser informaes dinmicas, obrigando a rede a modificar ou procurar por novas
configuraes enquanto o usurio se movimenta, por exemplo, um novo endereo de rede
ou o nome do servidor mais prximo.
Existem ainda muitos problemas a serem resolvidos na rea de comunicao sem
fio, como por exemplo: ocorrncia de freqentes desconexes, a velocidade na
comunicao, grande variao na capacidade de transmisso, redes heterogneas e os riscos
de segurana. Alm destes problemas, existem outros relacionados diretamente os
equipamentos que se beneficiam deste tipo de comunicao, como por exemplo o problema
da mobilidade (migrao de endereo e informaes dependentes de localizao) e a
portabilidade destes equipamentos (Low Power e risco dos dados). [17]
33
3.3.1 Desconexo
Hoje os computadores dependem muito de uma conexo a rede para funcionar com
todas as suas caractersticas, como o correio eletrnico, a Internet e acesso ao banco de
dados. Como as perdas de conexo so mais freqentes quando utilizado redes sem fio, a
dependncia do prprio sistema operacional disponibilidade do acesso a rede se torna um
problema para estes computadores.
Uma alternativa para trabalhar com este problema gastar os recursos da rede na
tentativa de prevenir as desconexes, ou ao invs disso considerar que estes problemas so
inevitveis e criar sistemas que conseguem conviver com este tipo de problema. Quanto
mais autnomo o sistema, mais tolerante este sistema ser a ocorrncia de desconexes. Por
exemplo, uma aplicao pode reduzir a necessidade do uso de rede se executar a maior
quantidade de tarefas localmente do que distribuir a aplicao na rede. Em um ambiente
onde ocorrem desconexes freqentes, importante que o computador tenha autonomia e
consiga trabalhar fora da conexo de rede.
Em sistemas sem fio muitas vezes possvel que problemas como a latncia na
transmisso das mensagens ou rpidas desconexes sejam minimizados atravs da
utilizao de operaes assncronas. Diferente do funcionamento das chamadas remotas
sncronas aos procedimentos, onde o sistema aguarda pela resposta antes de continuar o
processamento, a utilizao de operaes assncronas permitiro ao sistema executar uma
srie de chamadas antes de aguardar por uma resposta. Da mesma forma a utilizao de
tcnicas como prefetching e lazy write [10] permitem que o sistema continue funcionando,
ou o usurio continue trabalhando, sem a necessidade de que todas as operaes
34
dependentes dos recursos da rede tenham que acontecer em tempo real. A desvantagem do
uso destas tcnicas a possibilidade de mascarar eventuais problemas na rede. Por isso, o
sistema no pode desconsiderar totalmente a possibilidade de problemas na rede. Quando
ocorrer uma falha o sistema pode informar ao usurio quais os servios estaro
indisponveis at que o acesso a rede seja recuperado.
3.3.2 Largura de Banda
Os equipamentos/sistemas que utilizam redes sem fio precisam considerar em seu
projeto a largura de banda utilizada durante o seu funcionamento, procurando reduzir ao
mximo a necessidade de transmisso de dados na rede. Diferente dos sistema com fio, a
velocidade da maior parte das redes sem fio, como por exemplo IMbps para comunicao
infravermelha ou 2Mbps para comunicao por rdio, muito inferior a capacidade de uma
rede com fio que, por exemplo, em uma rede Ethernet pode ser de 10 ou 100Mbps.
Se for considerada uma rede sem fio utilizada por usurios mveis, outro fator que
tem influncia na capacidade de transmisso da rede est relacionado a quantidade de
pessoas que a rede precisa atender em uma determinada rea. Redes para atender usurios
mveis utilizam a mesma estratgia da telefonia celular, onde a rea de abrangncia da rede
dividida entre vrios transmissores cada um sendo responsvel por atender um usurio
dentro de uma clula. Se uma quantidade muito grande de usurios se concentrarem dentro
de uma mesma clula, estar sendo dividida entre eles a capacidade de transmisso da
clula.
Uma forma de aumentar a capacidade da rede atravs da incluso de mais clulas.
Isso pode ser feito atravs da sobreposio de clulas com diferentes freqncias ou na
35
diminuio da potncia de transmisso de uma clula, reduzindo a sua rea de abrangncia,
porm permitindo que mais clulas possam existir dentro de uma determinada rea.
A escalabilidade da primeira alternativa (mltiplas freqncias) restrita pois o
espectro eletromagntico disponvel para uso pblico no muito grande.
J a segunda alternativa (reduo da potncia) a mais utilizada, porque os custos
associados a esta soluo se restringem apenas ao aumento do nmero de transmissores
para atender uma rea. Alm disso existe uma relao entre largura de banda e rea de
cobertura, onde os transmissores/receptores que fazem a cobertura de uma rea menor
podem atingir uma maior largura de banda.
Para diminuir o problema relacionado a largura de banda possvel utilizar
estratgias de software, como por exemplo a compresso dos dados antes de transmiti-los.
Como a utilizao da rede possui muitos momentos de pico, onde a rede oscila entre
instantes de ociosidade e de demanda superior a capacidade da rede, pode-se minimizar este
tipo de problema utilizando as tcnicas como prefetching e lazy-write, mencionado no item
desconexo, j que o problema de picos de transmisso na rede se assemelham ao problema
da desconexo.
possvel combinar as solues de hardware/software apresentadas a outras
medidas, ou polticas, durante a utilizao da rede. Por exemplo, operaes de backup
podem acontecer apenas durante os perodos de ociosidade da rede ou o envio lento das
mensagens de correio eletrnico aos seus usurios.
36
3.3.3 Grande Variabilidade na Largura da Banda
Muitas vezes os equipamentos que utilizam comunicao sem fio tambm permitem
ao usurio se conectar a uma rede com fio. Esta possibilidade tem conseqncias para as
aplicaes pois elas podero ser utilizadas em situaes de maior (rede com fio) e menor
(rede sem fio) largura de banda. Para tratar deste problema, as aplicaes podem utilizar
trs tcnicas diferentes. A primeira consiste em permitir a utilizao da aplicao apenas
quando existe largura de banda suficiente. A segunda o desenvolvimento da aplicao
considerando apenas a existncia de pouca largura de banda e, se uma maior largura de
banda estiver disponvel a aplicao desconsidera a sua existncia. Por fim a terceira
alternativa fazer com que a aplicao tenha nveis de funcionamento que so ativados
automaticamente reduzindo ou aumentando o nmero de caractersticas/detalhes ao usurio
conforme a largura de banda disponvel.
3.3.4 Redes Heterogneas
Redes sem fio para usurios mveis precisam tratar de alguma forma o problema da
existncia de diferentes tipos de rede, que podem variar em qualidade, tipo de interface ou
protocolo utilizado. Por exemplo, a qualidade de acesso a rede sem fio pode ser melhor em
uma sala de reunies do que o acesso disponvel enquanto o usurio est se movimentando
na rua. Durante a sua movimentao o usurio poder estar em uma rea onde possvel
acesso a mais de um transmissor/receptor operando em diferentes freqncias. E possvel
que enquanto o equipamento sem fio esteja fisicamente conectado a uma rede, ele continue
tendo acesso a uma rede sem fio. Outra possibilidade ocorre quando o usurio est
utilizando o seu equipamento dentro de uma rea fechada que disponibiliza aos clientes
37
mveis uma interface infravermelho. Se este mesmo usurio continuar necessitando de
acesso a rede enquanto estiver em um ambiente aberto, um outro tipo de interface dever
ser disponibilizada pois a comunicao por infravermelho no funciona corretamente
quando existe a interferncia da luz do sol. Agora, mesmo que o usurio esteja utilizando
rdio freqncia pode ser necessrio uma mudana de protocolo de comunicao quando
passar da cobertura celular em uma cidade, para uma cobertura por satlite em um pas.
Esta mistura de tecnologias e protocolos faz com que as redes que suportam usurios
mveis sejam mais complexas que as redes tradicionais.
3.3.5 Riscos de Segurana
Segurana um aspecto importante em qualquer tipo de rede e normalmente
tratada em dois nveis: atravs de polticas de acesso e segurana na transmisso das
informaes.
- Polticas de acesso: direitos de acesso, domnios, grupos de usurios, entre outras.
- Segurana na transmisso das informaes: evitar que a transmisso seja
capturadas e visualizadas por equipamentos/pessoas no autorizadas.
Estes dois aspectos so ainda mais difceis de serem tratados por redes sem fio. Por
exemplo, as polticas de acesso devem permitir usurios mveis que esto fora do seu
domnio (untrusted users), por exemplo em um centro de convenes, acessem impressoras
prximas, porm no tenham acesso a recursos que apenas os funcionrios daquele local
tm direito. Quanto a transmisso dos dados nas redes sem fio existe o agravante da
facilidade de acesso as informaes transmitidas, principalmente em redes sem fio de
grande abrangncia. Como no possvel impedir que pessoas no autorizadas tenham
38
acesso as informaes transmitidas, necessrio trabalhar com alternativas que impeam
que as informaes transmitidas possam ser compreendidas pelos usurios que no tenham
direito de acesso a esta rede. Isso pode ser feito utilizando tcnicas de criptografia em
software ou em hardware, como por exemplo o uso de transmisses usando a tcnica de
espalhamento espectral {spread spectrum).
3.3.6 Migrao de Endereo
Enquanto as pessoas se movimentam, os seus equipamentos utilizam diferentes
pontos de acesso. As redes atuais no esto preparadas para a mudana dinmica no
endereos das estaes. No protocolo Internet (IP) os nome dos computadores na rede esto
associados aos respectivos nmeros IP. Movimentar um equipamento para um outro local
normalmente requer a interveno humana para a modificao do seu nmero IP. Para ser
possvel se comunicar com um equipamento mvel necessrio saber qual o seu endereo
atual. Existem quatro mecanismos bsicos para determinar o endereo atual de um
equipamento mvel: difuso (broadcast), servios centralizados, home basis e forwarding
pointers. Estes mecanismos so a base da proposta para a existncia de IP mveis.
3.3.7 Difuso Seletiva
No mtodo da difuso (broadcast), uma mensagem enviada a todas as clulas da
rede, perguntando ao equipamento mvel qual o seu endereo de rede atual. Esta tcnica se
torna muito cara se o seu uso for freqente em uma grande rede (muitas clulas), entretanto
se a rede sabe que provavelmente o usurio est localizado dentro de um pequeno conjunto
de clulas desta rede, a difuso pode ser feita de forma seletiva, considerando apenas este
conjunto de clulas. Desta forma a tcnica da difuso passa a ser vivel.
39
3.3.8 Servios Centrais
Neste mtodo o endereo atual de uma estao mantido em um banco de dados
logicamente centralizado. Cada vez que o equipamento muda o seu endereo ele enviado
a este banco de dados. Mesmo sendo este banco de dados logicamente centralizado as
tcnicas de distribuio e replicao de banco de dados podem ser utilizadas para melhorar
a disponibilidade e o tempo de resposta para o acesso a estas informaes.
3.3.9 Home Bases
Nesta tcnica existe diversos servidores, cada um responsvel pelo controle de uma
estao. A localizao da estao conhecida por apenas um destes servidores. A
distribuio da responsabilidade de controle das estaes gera o problema da
disponibilidade. Se um destes servidores estiver indisponvel no ser possvel encontrar as
estaes que esto sob seu controle.
3.3.10 Transferncia de Ponteiros
Neste mtodo a cada vez que uma estao mude o seu endereo , uma cpia do seu
novo endereo colocado no endereo antigo. Cada mensagem enviada segue portanto uma
cadeia de endereos at chegar na estao desejada. De forma a evitar a o tempo gasto no
roteamento de mensagens por longas cadeias de endereos, os ponteiros podem ser
atualizados para refletir endereos mais recentes. Esta tcnica requer a existncia de
entidades ativas nos endereos utilizados pelas estaes mveis, pois estas entidades sero
responsveis pelo envio da mensagem para o endereo atualmente ocupado pela estao.
40
3.3.11 Informaes Dependentes de Localizao
Uma rede com fio no espera que os seus equipamentos troquem de lugar
freqentemente. Por este motivo a configurao das informaes que dependem da sua
localizao, por exemplo o nome do servidor ou das impressoras prximas, so estticos.
Um desafio para as redes sem fio que permitem que os seu usurios se movimentem dentro
de um grande rede, conseguir obter de forma inteligente estes tipo de configurao de
acordo com o local que o equipamento se encontra.
Alm deste problema de configurao dinmica, os usurio mveis precisam de
outras informaes que esto relacionadas a sua localizao, como por exemplo onde est o
posto de gasolina mais prximo.
3.3.12 Low Power
A bateria um dos componentes existentes nos equipamentos mveis responsvel
em grande parte por seu peso e tamanho. Enquanto a reduo do peso da bateria
importante, essa reduo no pode influenciar o autonomia do aparelho. O balano entre o
tamanho, peso e durabilidade da bateria tem grande influncia sobre a utilidade do
equipamento mvel.
3.3.13 Risco para os Dados
Utilizar equipamentos portteis aumenta o risco quanto a segurana das informaes
como os acessos no autorizados ou at mesmo os acidentes com estes equipamentos. Estes
riscos podem ser diminudos atravs da reduo da quantidade de informao essenciais
guardadas dentro destes equipamentos, ou ento que estas informaes sejam
41
automaticamente copiadas em forma de backup em servidores desta rede. Sobre a
segurana contra acessos no autorizados a estas informaes, importante que o
equipamento somente guarde dados criptografados em seu disco rgido ou carto de
memria.
3.3.14 A Confiabilidade na Transmisso
A transmisso de pacotes de uma rede sem fio no uma operao confivel. Esta
menor confiabilidade cria alguns problemas de performance na camada de transporte. De
forma a transformar o meio "mais confivel" para os protocolos da camada de transporte, a
forma usual de tratar este problema incluir retransmisses no MAC de acordo com a
proposta do padro IEEE para redes sem fio 802.11.
Para pacotes do tipo broadcast e multicast, o problema ainda pior. A camada de
transporte no pode incluir qualquer mensagem de reconhecimento devido ao nmero
indefinido de receptores e as diferentes condies na recepo. Por isso tcnicas
alternativas precisam ser utilizadas para o reconhecimento e a retransmisso deste tipo de
mensagens pelo MAC. [20] [19]
3.4 Especificao Bluetooth
Bluetooth uma especificao que define como PCs, celulares, e outros
equipamentos portteis podem trocar informaes entre si. Este padro est baseado no
conceito de WPAN (Wireless Personal Area Network) que por sua vez est baseado no
conceito de POS (Personal Operating Space). POS compreende uma rea de
aproximadamente 10 metros ao redor de uma pessoa. [23]
42
Com o objetivo de estudar a necessidade de padres complementares voltados a
conectividade de dispositivos de baixo consumo que esto dentro da rea abrangida pela
POS, o IEEE 802.11 montou uma grupo de estudo WPAN. O resultado deste estudo foi a
criao, em Maro de 1999, de um novo grupo de trabalho chamado DEEE 802.15. [21]
Os estudos para a aplicao desta tecnologia de comunicao de baixo alcance e
baixo custo, que so propostas pelo Bluetooth e esto de acordo com o IEEE 802.15,
incluem:
- Criao de uma rede sem fio ligando os equipamentos disponveis no escritrio,
como PCs, Notebooks, celulares, pagers e palmtops. Todos com os seus dados de agenda,
compromissos, mensagens e arquivos sincronizados.
- Acesso a informaes pessoais (como correio eletrnico) a partir de pontos de
acesso disponveis em aeroportos ou centros de convenes.
- Compartilhamento de perifricos, como por exemplo a utilizao de uma
impressora pblica disponvel em um centro de convenes, ou dentro da uma rea de
exposio de uma feira.
- Ligao de eletrodomsticos. Exemplo: o forno de microondas utiliza a televiso
para avisar que a refeio est pronta.
43
4. MODELO PROPOSTO
4.1 Introduo
Para a apresentao de uma proposta que viabilize o desenvolvimento de uma rede
sem fio preciso definir o objetivo a ser alcanado e quais so as restries impostas
soluo.
- Objetivo a ser alcanado: viabilizao tcnica e prtica da comunicao sem fio
entre microcomputadores que seja transparente ao desenvolvedor.
- Restries: para a montagem do prottipo esto disponveis dois computadores
com Windows instalado, dois rdios TEKK 2W 450 a 470 MHz e duas placas serial
padro Baycom (BAY96_V2).
Para alcanar o objetivo necessrio a existncia de um modelo de referncia que
apresente um caminho vivel para a soluo do problema. Foi utilizado como referncia o
modelo OSI e o padro IEEE 802. A proposta de rede sem fio nesta dissertao para a
plataforma Windows, por este motivo o modelo de referncia precisa ser confrontado com
modelo de rede do Windows. Esta comparao ter como resultado a arquitetura da
soluo.
4.2 Modelo de referncia
As redes sem fio realizam funes semelhantes as redes que usam cabos, como
Ethernet ou Token Ring. Para permitir a transferncia de informaes entre os
computadores, de forma geral as redes necessitam dos seguintes componentes:
- Meio que disponibilize o canal para a passagem dos dados.
44
- Tcnicas de acesso a este meio que otimizem o compartilhamento deste canal
pelas estaes.
- Mecanismos de sincronizao e controle de erros que assegurem a transmisso
correta dos dados.
- Mecanismos de roteamento que transferem os dados da estao de origem para a
estao destino desejada.
- As aplicaes do usurio que realizam a troca ou o compartilhamento de dados
atravs da rede.
Existe um grande nmero de alternativas para a implementao dos componentes
que foram listados, como por exemplo vrios meios diferentes de transmisso, tcnicas
diferentes para o controle/compartilhamento do canal, tratamentos de erros, protocolos e
aplicativos de usurio. E tarefa do sistema operacional gerenciar todas estas alternativas e
oferecer ao desenvolvedor do sistema uma interface nica e consistente, propiciando uma
independncia ao dispositivo.
A transparncia no acesso a rede sem fio ter sido atingida quando for possvel ao
programador, durante o desenvolvimento do seu sistema, acessar os recursos
disponibilizados pela rede sem fio sem utilizar comandos ou bibliotecas especiais, apenas
as chamadas disponveis na API (Application Program Interface) do sistema operacional.
Esta idia est apresentada na figura 4.1.
45
Aplicaes
Sistema Operacional
Mdulo de Rede
Mdulo de Comunicao sem Fio
Rdio
Figura 4.1 Usando o Sistema Operacional para disponibilizar acesso transparente a
rede sem fo
Para que seja possvel incorporar a rede sem fio no sistema operacional de forma
transparente ao programador, necessrio identificar na estrutura deste sistema operacional
quais so os componentes responsveis pela independncia do dispositivo de rede [11],
Existe padres internacionais que definem como a camada de rede do sistema operacional
deve ser organizada. apresentado nos itens a seguir o modelo OSI (ISO) e o padro do
IEEE para redes locais.
4.2.1 O modelo OSI
Em 1984 a ISO desenvolveu um modelo de referncia chamado OSI (Open System
Interconection) que descreve o fluxo de dados entre as aplicaes do usurio e a rede. Este
modelo o mais conhecido e utilizado para descrever os ambientes de rede [2], [4], [3] e
[9].
46
Camadas
Usurio A Usurio B
7 - Aplicao Protocolo de Aplicao Aplicao
6 - Apresentao Protocolo de Apresentao -> Apresentao
5 - Sesso Protocolo de Sesso Sesso
4 - Transporte Protocolo de Transporte -> Transporte
3 - Rede Protocolo de Rede -> Rede
2 - Enlace Protocolo de Enlace Enlace
1 - Fsico Protocolo de Fsico Fsico
4.2.2 O Padro IEEE 802
Em Fevereiro de 1980 foi institudo o comit IEEE 802 com o objetivo de elaborar
padres para redes locais de computadores. Este modelo est de acordo com a maioria das
camadas representadas no modelo O SI, a diferena que o padro IEEE 802 preferiu
detalhar melhor a camada de enlace, definindo uma arquitetura em 3 camadas. Estas
camadas correspondem aos nveis 1 e 2 do modelo OSI [2], [4], [3] e [9],
47
OSI IEEE
802.1
Enlace LLC 802.2
MAC
Fsico PHY 802.3
CSMA/CD
802.4
Token
BUS
802.5
Token
Ring
802.6
DQDB
Figura 4.2 Modelo OSI x modelo IEEE
O projeto IEEE 802 dividiu a camada de Enlace em duas subcamadas: LLC
{Logical Link Control) e MAC {Media Access Control). O padro IEEE 802.1 um
documento que descreve o relacionamento entre os diversos padres IEEE 802 e o
relacionamento deles com o modelo de referncia OSI. O IEEE 802.2 descreve a
subcamada superior do nvel de enlace, responsvel pela realizao das funes de
multiplexao, controle de erro e de fluxo no enlace para todos os tipos de LANs do padro
IEEE 802.
- IEEE 802.3: define o padro para redes em barra usando CSMA/CD como
mtodo de acesso, como redes Ethernet. Aceita velocidades de 10, 100 e 1000 Mbps
e meios como par tranado, cabo coaxial e fibra tica.
- IEEE 802.4: define o padro para redes em barra usando passagem de
permisso como mtodo de acesso.
- IEEE 802.5: define o padro para redes em anel utilizando passagem de
permisso como mtodo de acesso.
48
- IEEE 802.6: define o padro para redes em barra utilizando o DQDB
{Distributed Queue Dual Bus) como mtodo de acesso.
4.2.3 O padro IEEE 802.11
Com a proliferao das redes sem fio uma nova especificao foi acrescentada ao
padro IEEE 802.
802.1
LLC
'"V/'.; 802.2
MAC
PHY 802.3
CSMA/CD
802.4
Token
BUS
802.5
Token
Ring
802.6
DQDB
802.11
Wireless
Figura 4.3 Padro 802.11 acrescentado ao IEEE
Este padro abrange uma variedade de meios fsicos, incluindo FHSS {Frequency
Hopping Spread Spectrum), DSSS {Direct Sequence Spread Spectrum) e infravermelho
para velocidades de at 2 Mbps.
LLC
MAC
Frequency Direct Infrared
Hopping Sequence Light
PHY PHY PHY
Figura 4.4 Meios fsicos abrangidos pelo padro 802.11
4.2.4 IEEE 802.11 Wireless Local Area Network
O IEEE 802.11 especifica trs camadas fsicas (PHY) e apenas uma subcamada
MAC {Medium Access Control). Como apresentado a seguir, o padro prov duas
49
especificaes de camadas fsicas com opo para rdio, operando na faixa de 2.400 a
2.483,5 MHz, que depende da regulamentao de cada pas, e uma especificao com
opo para infravermelho.
- Frequency Hopping Spread Spectrum Radio PHY: Esta camada fornece
operao 1 Mbps, com 2 Mbps opcional. A verso de 1 Mbps utiliza 2 nveis da
modulao GFSK (Gaussian Frequency Shift Keying), e a de 2 Mbps utiliza 4
nveis da mesma modulao;
- Direct Sequence Spread Spectrum Radio PHY: Esta camada prove operao em
ambas as velocidades (1 e 2 Mbps). A verso de 1 Mbps utiliza da modulao
DBPSK {Differential Binary Phase Shift Keying), enquanto que a de 2 Mbps usa
modulao DBPSK {Differential Quadrature Phase Shift Keying),
- Infrared PHY: Esta camada fornece operao 1 Mbps, com 2 Mbps opcional. A
verso de 1 Mbps usa modulao 16-PPM {Pulse Position Modulation com 16
posies), e a verso de 2 Mbps utiliza modulao 4-PPM.
No lado da estao, a subcamada MAC fornece os seguintes servios: autenticao,
privacidade e transmisso da MADU (MAC Sublayer Data Unit), e, no lado do
sistema de distribuio, a associao, desassociao, distribuio, integrao e
reassociao. As estaes podem operar em duas situaes distintas:
- Configurao Independente: Cada estao se comunica diretamente entre si, sem
a necessidade de instalao de infraestrutura. A operao dessa rede fcil , mas a
desvantagem que a rea de cobertura limitada. Estaes com essa configurao
esto no servio BSS (Basic Service Set);
50
- Configurao de Infra-estrutura: Cada estao se comunica diretamente com o
ponto de acesso que faz parte do sistema de distribuio. Um ponto de acesso serve
as estaes em um BSS e o conjunto de BBS chamado de ESS (Extended Service
Set).
Alm destes servios, o padro IEEE 802 ainda oferece as funcionalidades de
roaming dentro de um ESS {Extended Service Set) e gerenciamento do consumo de energia.
Dentro do gerenciamento de energia o IEEE 802 permite que as estaes desliguem seus
transceptores, economizando parte da energia consumida pelo equipamento. O protocolo da
subcamada MAC o CSMA/CA {Carrier Sense Multiple Access with Collision
Avoidance). [49]
4.2.5 Topologia
O padro 802.11 suporta dois tipos de topologas: IBSS {Independent Basic Service
Set) e ESS {Extended Service Set). Estas duas topologas utilizam como base o conceito de
BSS {Basic Service Set), que define uma rea onde as estaes permanecem conectadas.
Uma estao estar livre para se movimentar dentro do BSS, deixando de se comunicar
com as outras estaes quando deixar a rea compreendida pelo BSS.
4.2.5.1 IBSS
Uma rede IBSS composta de pelo menos dois computadores em um nico BSS.
Neste BSS no existe infraestrutura que ligue o BSS a outras rede.
51
S X BSS
Estao A)
Figura 4.5 EBSS o tipo mais bsico de rede sem fio 802.11
4.2.5.2 ESS
Um ESS consiste em mltiplas clulas interconectadas atravs de pontos de acesso e
uma infraestrutura de distribuio, como por exemplo Ethernet.
Figura 4.6 ESS satisfaz a necessidade das redes de grande abrangncia e maior
complexidade
4.3 Arquitetura de Rede do Windows
Mesmo no seguindo fielmente o padro OSI possvel fazer um paralelo entre as
camadas propostas pelo modelo OSI e a arquitetura de rede da plataforma Windows, figura
BSS1
Ponto de
Acesso
Ponto de
Acesso
Sistema de
Distribuio
BSS2
4.2 [7],
52
Aplicao
Sist. de
Arquwos
TDI ~

Streams
TCP/IP
NetBEUI
DLC
NDIS 3.0'
Aplicao
Apresenta
Sesso
Transporte
Rede
Enlace
MAC
Fsico
Figura 4.7 Modelo OSI e a arquitetura de rede do Windows
Os drivers de rede da plataforma Windows implementam os protocolos e as
interfaces das primeiras quatro camadas do modelo OSI.
A camada fsica a camada mais baixa do modelo OSI. Esta camada responsvel
pela recepo e pela transmisso de conjuntos de bits no estruturados atravs do meio
fsico. A camada fsica descreve as interfaces eltricas, ticas, mecnicas e funcionais para
o meio fsico. A camada fsica leva os sinais para todas as camadas mais altas do modelo
OSI.
No Windows, a camada fsica implementada pelo NIC (.Network Interface Card),
o seu transmissor/receptor e o meio ao qual est conectado. Para componentes de rede que
utilizam a porta serial, a camada fsica pode tambm incluir o software responsvel pela
53
definio de como o conjunto de bits dividido em pacotes de dados antes de ser
transferidos pela serial.
A carnada de dados dividida em duas sub-camadas: LLC e MAC. A sub-camada
LLC prove transferncias de data-frames de um ponto a outro livre de erros. Esta sub-
camada responsvel por estabelecer e terminar links lgicos, controlando o frame flow,
seqncia de pacotes, reconhecimento de pacotes e retransmisso de pacotes com
problemas. A LLC utiliza pacotes de reconhecimento e retransmisso para disponibilizar
uma transmisso virtualmente livre de erros para as demais camadas que ficam acima.
A sub-camada MAC gerencia o acesso ao meio, verificao de erros nos pacotes,
reconhecimento de endereos dos pacotes recebidos. Na arquitetura do Windows as funes
reservadas a LLC so implementadas no driver de transporte, enquanto aquelas reservadas
ao MAC so implementadas no NIC. O NIC controlado por um driver de dispositivo
chamado NIC Driver.
A camada de rede controla a operao da subnet. Ela decide qual caminho fsico os
dados devero seguir baseado nas condies da rede, prioridade dos servios e outros
fatores. Isso inclui o roteamento, controle de trfego, fragmentao e remontagem do
pacote, mapeamento de endereos lgicos para endereos fsicos e contabilizao do uso da
rede.
O objetivo da camada de Transporte assegurar que as mensagens so entregues
sem erros, na seqncia correta e sem perdas ou duplicaes. Ela retira dos protocolos das
camadas mais altas a preocupao da organizao na transferncia dos dados entre as
estaes. A camada de transporte responsvel pela implementao de um protocolo
54
especfico de rede como TCP/IP ou IPX/SPX, sendo independente do dispositivo de
hardware utilizado pela rede.
No modelo de rede do Windows, a LLC, a camada de rede e a de transporte so
implementadas por software em drivers chamados de Transport Drivers.
4.3.1 NDIS Drivers
Os drivers de rede no sistema operacional Windows suportam comunicao ponto a
ponto e cliente servidor entre um n local e um n remoto em uma LAN ou WAN. Neste
sistema operacional utilizado drivers em um ou mais nveis da rede para passar pacotes de
dados e fazer as necessrias tradues de protocolo, permitindo uma comunicao livre de
erros entre os pontos de rede.
User-Made
Cfiert
NetBIOS
Emulator
Usef-Mode
DLL
Sockets
Emulator
User-Mode
DIL
NetBIOS
Emufetor
Kemel-Mode
Driver
Sockets
Emulator
Kemel-Mode
Driver
Ko me t - Mo d e T DI Cf e n t
( I r c l u t f o g N T Re t f r a c t o r )
Trarapoit Dmw
. IrtAifec* (TOI)
LAN Protocols
Native
Media
Ane
Protocol
LA/VMeda Type
Native
Media
Ane
Protocol
NDIS Intefmedate
Native
Media
Ane
Protocol
Native Meda Type
NDIS report
NetC&d
Figura 4.8 Componentes existentes na arquitetura de rede do Windows
55
O Windows suporta trs tipos de drivers de rede:
- NIC Drivers (.Network Interface Card);
- Intermediate protocol drivers;
- Upper level protocol drivers.
4.3.1.1 NIC Drivers
NIC drivers gerenciam diretamente a placa de rede. Um NIC driver manipula
diretamente o hardware e fornece uma interface para que as demais camadas da rede
possam enviar pacotes de dados, manipular interrupes, inicializar ou parar a placa de rede
e configurar as caractersticas do driver. Na plataforma Windows estes drivers podem ser
do tipo miniport ou legacy full NIC drivers que o modelo antigo de desenvolvimento de
drivers de rede para Windows.
4.3.1.2 Intermediate protocol drivers
Um Intermediate protocol driver faz a interface entre um driver de nvel mais alto,
como um driver de transporte antigo, para um driver miniport. Para um driver de nvel mais
alto um Intermediate driver tem a mesma interface de um driver do tipo miniport. Para um
driver do tipo miniport um intermediate driver exporta uma interface igual a um driver de
protocolo. Um intermediate driver pode se ligar a outro intermediate driver.
Uma razo para o desenvolvimento de um intermediate driver seria para fazer a
converso entre um driver de transporte e um miniport driver que gerencia uma placa de
rede para um novo meio de transmisso. Por exemplo, um intermediate driver poderia
traduzir um protocolo de LAN para ATM.
56
4.3.1.3 Upper level protocol driver
Um upper level protocol driver implementa um interface entre a aplicao do
usurio e as camadas de rede do Windows. O upper level protocol pode utilizar uma
interface do tipo TDI, ou uma interface especfica para trocar dados com as aplicaes. Um
driver deste tipo aloca memoria para os pacotes recebidos das aplicaes, copia estes dados
da aplicao para o pacote alocado e envia este pacote para os drivers do nvel mais baixo
atravs de chamadas ao NDIS. Este driver tambm fornece uma interface para o
recebimento de pacotes das camadas de nvel mais baixo da rede, fazendo a distribuio
destes pacotes para as suas respectivas aplicaes do usurio.
User-Mode Client User Mode
Level Protocol Diriver
PS:
Kernel Mode
NDIS
TT
NIC
4.4 Componentes "de prateleira"
Faz parte do objetivo do trabalho a utilizao de tecnologias ou componentes de
prateleira. O hardware utilizado no projeto pode ser enquadrado na categoria "prateleira"
por ser vendido em lojas especializadas, normalmente voltadas a produtos para radio-
amadores.
57
A procura por uma soluo que oferece de forma transparente a rede sem fio para as
aplicaes Windows, tem como resultado a possibilidade de utilizar qualquer um dos
ambientes de desenvolvimento .existentes neste sistema operacional. Ou seja, no
necessrio a criao de nenhum novo ambiente de desenvolvimento ou uma nova biblioteca
para a programao.
Redes sem fio sofrem com a ocorrncia de desconexes, baixa velocidade de
transmisso e segurana, problemas semelhantes aos encontrados em redes Internet. Por
este motivo os navegadores para Internet possuem recursos como time-out para a carga de
pginas, cache para a reduo no trafego de dados e comunicao usando criptografia.
Conforme mostrado no item anterior, a rede sem fio ser apresentada de forma transparente
as aplicaes no sistema operacional. Aproveitando esta liberdade de escolha do software,
foi optado pelo navegador como ambiente de execuo das aplicaes a serem
desenvolvidas para esta rede. A escolha do navegador no s permite que o desenvolvedor
de sistemas possa escolher qualquer ambiente de desenvolvimento Internet, como tambm
possa aproveitar os recursos de cache e segurana que esto embutidos no navegador e que
so importantes para o funcionamento das aplicaes que executam em redes sem fio.
4.5 Restries
Para a montagem do prottipo esto disponveis dois computadores com Windows
instalado, dois rdios TEKK 2W 450 a 470 MHz e duas placas serial padro Baycom
(BAY96_V2).
Os recursos disponveis restringem a implementao da rede a uma velocidade de
9600 bps. Para garantir o funcionamento do navegador e permitir a utilizao de
58
ferramentas Internet o protocolo adotado o TCP-IP. Foram apresentados neste captulo
algumas informaes sobre o padro IEEE 802.11 para redes sem fio. A implementao
deste padro no consiste apenas de regras para o desenvolvimento de camadas de
software, o padro tambm define as caractersticas necessrias ao hardware. O hardware a
ser utilizado no projeto no suporta nenhuma das trs camadas fsicas apresentadas pelo
IEEE 802.11 {Frequency Hopping, Direct Sequence ou Infrared). Por isso, a rede sem fio
proposta no estar em conformidade com o padro.
4.6 Arquitetura da Soluo
Para a implementao de uma rede sem fio na arquitetura Windows transparente
para as aplicaes ser necessrio concentrar o trabalho na camada de enlace (LLC e
MAC), o que na plataforma Windows significa desenvolver um driver do tipo NDIS
Miniport NIC driver. Desenvolver o driver segundo a arquitetura de rede mostrado na
figura 4.8/4.9 garante que as demais camadas do Windows possam utilizar os recursos
disponibilizados pela rede sem fio. Isso far com que o uso da rede sem fio pelo Windows
seja simples, porque ela se apresentar ao usurio/sistema operacional como uma rede do
tipo Ethernet. Isso garante que qualquer ferramenta de desenvolvimento Windows
incluindo, portanto, as de Internet tenha acesso aos recursos da rede sem fio.
Agrupando as informaes apresentadas nos itens anteriores deste captulo, a
soluo proposta para o experimento de rede sem fio apresentada na figura 4.9.
O sistema operacional ser o Windows 95 e mesmo que seja possvel utilizar o
protocolo NetBEUI, TCP/IP e IPX/SPX o protocolo escolhido foi o TCP/IP.
59
A escolha de focar a implementao da rede sem fio no desenvolvimento de apenas
um driver, tem o objetivo de baratear ao mximo o custo da soluo, que depende de um
hardware barato, composto de rdio e placa serial, e de um sistema operacional tradicional.
O protocolo TCP/EP tem um comportamento razovel em ambientes de baixa velocidade, o
que combina com a velocidade de 9600bps fornecido pelo equipamento utilizados neste
projeto. Alm disso, confirma a proposta de utilizar as ferramentas de desenvolvimento
Internet na criao de sistemas. Isso tambm tem influncia sobre o custo, porque no exige
conhecimentos adicionais para quem implementar um sistema nesta rede.
60
Aplicao OS/2 Subsystem Win32 Subsystem POSIX Subsystem
User Mode
Apresentao
Sesso
I/O Manager
Kernel Mode
Transpor Driver
Transporte
Rede NetBEUI TCP-EP
Interface
IPX/SPX
NDIS 3.0
Enlace
LLC
MAC
Fsico
NDIS 3.0 Wrapper
NDIS Miniport
NIC Driver
BAY96 V2
Interface
Figura 4.9 Arquitetura geral da soluo
61
4.7 Desenvolvendo o NDIS Miniport NIC driver
Desenvolver um driver do tipo NDIS Miniport NIC driver significa trabalhar com as
camadas fsica (PHY) e de enlace (LLC/MAC) do IEEE 802. A figura 4.10 apresenta os
mdulos que precisam ser programados para a implementao do driver.
' v NDIS 3.0 Wrapper
Controle de Fluxo
NDIS Miniport Controle de Erros
NIC driver Controle de Acesso
Delimitao dos Pacotes
Rotinas para a manipulao do NIC
BAY96_V2 NIC
Figura 4.10 Componentes a serem programados no NDIS Miniport NIC driver
4.7.1 Nivel Fsico - NIC
O nivel fsico a primeira camada do modelo OSI, responsvel pelo envio de um
conjunto no estruturado de bits atravs de algum meio fsico, neste caso ondas de rdio,
assegurando atravs do seu protocolo fsico que se a estao transmissora enviar, por
exemplo, um bit 1 a estao receptora reconhecer este bit 1. O nvel fsico fornece as
caractersticas mecnicas, eltricas, funcionais e de procedimentos para ativar, manter e
desativar conexes fsicas para a transmisso de bits. Esta camada define como o cabo
ligado na interface de rede, como por exemplo a quantidade de pinos que o conector deve
ter e qual a funo de cada um destes pinos. Alm disso, esta camada tambm define qual a
tcnica que ser utilizada para o envio de dados, como half-duplex ou full-duplex.
62
Neste trabalho foi utilizado como NIC uma placa serial do tipo Baycom
(BAY96_V2) da Microlaser Sistemas Optoeletrnicos [8], As caractersticas desta placa
podem ser encontradas no Apndice A.
No experimento foi utilizado o quarto canal da placa (canal 03) que possui modem
FSK podendo funcionar entre 2400 a 38400 bps. Como utilizada apenas uma freqncia
de rdio para a transmisso e para a recepo de dados, a comunicao ser do tipo half-
duplex.
4.7.2 Rotinas para a manipulao do NIC
Todo o apndice A est dedicado a explicao da programao da placa para o
envio e recepo dos dados pelo rdio.
4.7.3 Delimitao dos Pacotes
Para a implementao do driver necessrio colocar algum mecanismo que permita
o reconhecimento das informaes transmitidas. A partir deste mecanismo ser possvel
determinar onde, dentro de um conjunto de bytes recebidos, se encontram os pacotes de
informao. Este controle ser feito por software, utilizando como informao a portadora e
o byte SFD (Start Frame Delimiter). Sempre que o placa receber o sinal da portadora
(RTS) o driver iniciar a sua procura pelo incio do pacote, ou seja o byte SFD. Mais
detalhes no captulo 5, item Enviando e Recebendo Pacotes.
Portadora
SFD Destinatrio Remetente Tamanho Dados FCS
Figura 4.11 Identificao do pacote
63
4.7.4 Nvel de Enlace - Controle de Acesso
Como foi mostrado nos itens anteriores, o padro IEEE 802 dividiu a camada de
enlace em duas subcamadas (LLC e MAC). A manipulao das caractersticas especficas
das vrias tecnologias ficou sob a responsabilidade da subcamada MAC, que trata do
controle de acesso ao meio. As demais atividades da camada de enlace ficaram a cargo da
subcamada LLC.
O gerenciamento de acesso ao meio consiste em controlar a comunicao de dados
entre as estaes que esto compartilhando o mesmo meio de acesso. Como no experimento
prtico est sendo utilizando para a transmisso e recepo de dados um rdio operando em
apenas uma freqncia, significa que todas as estaes que estiverem conectadas a esta rede
tero que compartilhar o mesmo meio de transmisso. Por isso alguma tcnica precisa ser
utilizada para disciplinar as transmisses de forma a evitar a ocorrncia de colises, que
acontecero quando mais de uma estao estiver enviando dados ao mesmo tempo.
Existem diversas estratgias, como por exemplo CSMA, Aloha, Polling e Slot. [2],
utilizadas para controlar o acesso ao meio. A estratgia escolhida para o controle de acesso
a nossa rede sem fio a mesma definida pelo padro IEEE 802.11, ou seja, CSMA/CA [4],
O DFWMAC {Distributed Foundation Wireless Media Access Control) apresentado pelo
IEEE suporta dois mtodos de acesso: distribudo e centralizado:
- Distribudo, as estaes que decidem quando transmitir, podendo ocorrer
colises.
- Centralizado, a deciso centralizada em um ponto que determina qual a estao
deve transmitir, evitando as colises.
64
A mtodo escolhido foi o distribuido para que no seja necessrio a existncia de
uma estao responsvel pela organizao do processo de transmisso dentro do BSS.
Pacote
TX
Pausai
Meio
cupadoj'
N
>
Transmite Transmite
Pausa2
Figura 4.12 Resumo do funcionamento do CSMA/CA
Como mostrado na figura 4.12 o principio bsico do funcionamento do CSMA/CA
o de tentar evitar a ocorrncia das colises durante a transmisso. Neste mtodo de acesso,
quando deseja transmitir, a estao "ouve" antes o meio para saber se existe alguma
transmisso em progresso. Esta escuta pode ser feita atravs da verificao da existncia de
uma portadora. Se nesta escuta ningum estiver utilizando o meio, a estao pode
transmitir, caso contrrio a estao espera por um perodo de tempo (Pausa2) antes de
tentar novamente. Outro motivo que pode fazer com que a Pausa2 seja necessria a falta
do recebimento de um ack confirmando a correta recepo da mensagem pela estao
destino.
O valor do tempo Pausai e Pausa 2 apresentado a seguir:
- Pausai. A maior parte dos pacotes transmitidos possuem um campo especial
chamado durao quem tem o objetivo de identificar o tempo de durao do
65
processo de transmisso dos dados. Ao receber um pacote transmitido por outra
estao, o campo durao guardado servindo como um relgio para indicar
quando a transmisso atual estar encerrada. Esta pausa evita que as estaes tentem
transmitir enquanto duas estaes, que j tem o direito de acesso ao meio, estejam
trocando dados.
- Pausa2. O objetivo do tempo pausa2 o de diminuir a probabilidade da
ocorrncia de colises. O momento que sucede a liberao do meio para outras
transmisses possibilita que duas ou mais estaes verifiquem a portadora ao
mesmo tempo, consequentemente fazendo com que a tentativa de reservar o canal
para transmisso tambm acontea ao mesmo tempo, gerando as colises. A pausa
consistir na gerao de valores calculados a partir do nmero de tentativas de
transmisso e no seu intervalo de tempo pr-alocado. Para garantir que a semente
utilizada no sorteio seja diferente para cada estao, possvel utilizar o nmero de
identificao da estao como valor inicial.
4.7.5 Controle de Erros/Fluxo
A escolha do protocolo TCP {Transmission Control Protocol) proporciona um
servio confivel de transferncia de dados. O TCP foi projetado para funcionar como base
de um servio de rede que no utiliza conexo e que no possui confirmao. O TCP no
exige um servio de rede confivel para funcionar, responsabilizando-se pela recuperao
dos dados corrompidos, perdidos, duplicados ou entregues fora de ordem. Mesmo assim
esto sendo embutidos no driver controles para garantir uma transmisso mais confivel,
atravs do uso de CRC's e pacotes especiais para controle das transmisses.
66
4.7.5.1 CRC
O controle de erros est sendo implementado a partir do clculo de um CRC {Cyclic
Redundancy Check) sobre o bloco de informaes que esto sendo transmitidas. O
algoritmo utilizado gera um valor de 32 bits baseado no AUTODIN II CRC algorithm
utilizados nas placas NE1000/NE2000 e que faz parte do padro Ethernet.
4.7.5.2 Pacotes especiais
Com o objetivo de organizar o fluxo de informaes entre as estaes, a figura 4.13
apresenta como foi utilizado alguns pacotes especiis na transmisso, chamados pacotes de
controle. So eles:
- RTS {Request to Send), sempre que uma estao desejar enviar algum dado a outra
estao, primeiro a estao origem dever solicitar uma autorizao atravs do envio
de uma mensagem de controle RTS para a estao destino. A estao origem
somente poder iniciar a transmisso depois que receber uma autorizao da estao
destino.
- CTS {Clear to Send), este pacote de controle enviado pela estao destino para
indicar que uma transmisso solicitada pode ser iniciada.
- ACK, este pacote enviado pela estao destino para indicar a recepo de algum
conjunto de dados. Se a estao de origem no receber esta mensagem, ela transmite
o pacote de dados novamente, considerando que ocorreram problemas na recepo
do pacote pela estao destino.
Este tipo de controle de fluxo possui uma exceo para as mensagem do tipo
broadcast e multicast. Como este tipo de mensagem possui diversos destinatrios, existe
67
um problema no envio da confirmao da transmisso. Dentro da topologia de rede
apresentada a seguir, no existe a figura de uma estao principal ou servidora, por isso o
problema foi resolvido usando uma estratgia simples. Para as mensagem do tipo broadcast
e multicast no utilizado o esquema de mensagens de controle RTS/CTS/ACK, dando o
direito da estao transmitir o pacote diretamente. Existem estudos sobre a otimizao do
envio de mensagem em redes sem fio, alguns deles podem ser encontrados em [20], [19],
[18], [19] e [14],
Figura 4.13 Diagrama das operaes de Transmisso e Recepo
68
4.7.5.3 Pacotes de dados
Uma das informaes que o sistema operacional solicita ao driver est relacionada
ao tipo da rede. O driver proposto nesta dissertao do tipo Ethernet. Trabalhar com este
tipo de rede significa manipular pacotes com tamanho de 1500 bytes. Considerando uma
velocidade de transmisso mxima de 9600 bps e um meio sujeito a diversas fontes de
interferncia que ocasionam a insero de rudos na transmisso, o tempo para a
retransmisso de um pacote de 1500 bytes significativo na performance geral da rede.
Atravs da utilizao da funo Que r yl nf or mat i on [7] pode-se reconfigurar o
tamanho do pacote para 256 bytes, aumentando o tempo para a transmisso das mensagens
mas reduzindo o tempo das retransmisses. O tamanho de 256 foi o tamanho mximo do
pacote escolhido para a implementao do driver. O nmero 256 no foi escolhido ao
acaso, est baseado no tamanho padro de pacote utilizado pelo procotolo AX25, muito
usado em ambientes de transmisso com rdio [50], Neste trabalho no foi feito um estudo
para avaliar a performance da rede e a sua relao com o tamanho do pacote utilizado.
No foi feito nenhum estudo ou experimento para verificar qual tamanho de pacote
seria mais adequado para esta rede. Para um melhor aproveitamento da transmisso na rede
o ideal a utilizao de um tamanho de pacote varivel, que se ajuste conforme a qualidade
do meio, ou seja, o nmero de retransmisses que esto sendo necessrias. Este tipo de
caracterstica no est sendo implementado neste driver de rede.
Outra forma de garantir uma melhor performance na comunicao utilizando a rede
sem fio o desenvolvimento de outro driver de transporte que seja mais adequado as
caractersticas da comunicao sem fio do que o TCP/TP. O AX25, ou a proposta do driver
RPWNT [16], so alternativas interessantes.
69
4.7.6 Topologia
Conforme o padro IEEE 802.11 apresentado neste captulo existem duas topologas
disponveis: IBSS {Independent Basic Service Set) e ESS {Extended Service Set). A
topologia escolhida para a rede foi a IBSS. Mesmo assim, atravs de configuraes no
sistema operacional possvel transformar a rede do tipo IBSS para ESS, com a exceo do
recurso de mobilidade entre os BSS existentes. A configurao consiste em ligar uma das
estaes do BSS a rede sem fio e a um sistema de distribuio usando cabos. A partir do
roteamento dos pacotes do sistema de distribuio para a rede sem fio, e vice versa, esta
estao passar a fazer o papel de um ponto de acesso, ligando as demais estaes deste
BSS a outros BSS ligados ao mesmo sistema de distribuio (figura 4.6).
De acordo com o DFWMAC {Distributed Foundation Wireless Media Access
Control) apresentado pelo IEEE o mtodo escolhido foi o distribudo para que no seja
necessrio a existncia de uma estao responsvel pela organizao do meio dentro do
BSS.
70
5. IMPLEMENTAO
O desenvolvimento deste trabalho sobre a implementao de uma rede sem fio teve
duas etapas distintas. Na primeira foi feito um estudo com o objetivo de encontrar um
caminho vivel para o desenvolvimento desta rede. A segunda etapa, registrada neste
captulo, colocou em prtica o estudo e procurou validar a estratgia de desenvolvimento
apresentada no captulo 4 atravs de um prottipo. Neste prottipo foram utilizados os
seguintes recursos:
1 computador Pentium II 300 com Windows 98;
1 computador Pentium 133 com Windows 95;
1 computador Pentium III 233 com Windows 98;
- 2 dois rdios TEKK 2W 450 a 470 MHz,
- 2 placas serial padro Baycom (BAY96 V2);
- 2 placas de rede NE2000;
- Microsoft Visual Studio;
- Microsoft SDK e DDK.
Os dois primeiros computadores foram utilizados para o teste do funcionamento da
comunicao sem fio. Um computador com o Windows 98 e outro com o Windows 95 de
forma a verificar o funcionamento do driver em duas verses diferentes do sistema
operacional. O terceiro computador foi utilizado para o desenvolvimento do driver e para
realizao das operaes de debug.
71
A implementao da rede foi um processo que incluiu muita "tentativa e erro". O
captulo 4 apresentou o caminho para o desenvolvimento (NDIS Miniport NIC driver)
todavia o "como" fazer era algo desconhecido. Por este motivo ao invs de procurar
resolver o problema diretamente, ou seja, desenvolver o NDIS Miniport NIC driver, o
trabalho foi organizado em uma srie de etapas procurando aliar a aprendizagem dos
componentes usados no trabalho (placa Baycom e o desenvolvimento de drivers do tipo
kernel) com a implementao da rede sem fio (programao do NDIS Miniport NIC driver).
Estas foram as etapas:
Como a placa funciona? Desenvolvimento de um programa que inicializa a
placa, finaliza a placa e faz as operaes de envio e recebimento de dados no
modo loopback [24],
Comunicando atravs de cabos. Desenvolvimento de um programa que faz a
comunicao de dados entre dois computadores usando a placa Baycom ligada
por meio de cabos.
- Entendendo o funcionamento de um NDIS Miniport NIC driver.
Recompilao do cdigo fonte do driver NE2000, e a realizao de testes para
verificar o seu funcionamento.
Enviando e recebendo pacotes. Desenvolvimento de um programa que faz o
envio de pacotes entre dois computadores ligados por cabos utilizando a placa
Baycom.
Primeira verso do NDIS Miniport NIC driver. Desenvolvimento do driver de
rede que faz a comunicao usando a placa Baycom ligada atravs de cabos.
72
- Enviando e recebendo pacotes atravs do rdio. Desenvolvimento de um
programa que faz o envio de pacotes entre dois computadores usando a
comunicao por rdio.
Segunda verso do NDIS Miniport NIC driver. Desenvolvimento de uma nova
verso do driver de rede, agora com a comunicao via rdio.
- Terceira verso do NDIS Miniport NIC driver. Desenvolvimento de uma nova
verso do driver. Nesta verso foi feita uma pequena otimizao no protocolo
utilizado pelo driver.
5.1 Como a placa funciona?
A programao da placa Baycom exige a manipulao de interrupes e endereos
de memria. Estas operaes so possveis em programas Windows, mas em nome da
segurana e organizao dos programas que esto sendo executados no computador, o
sistema operacional possui uma srie de procedimentos que precisam ser cumpridos pelos
programas, principalmente aqueles que fazem a manipulao de endereos e interrupes.
A meta desta etapa foi entender o funcionamento da placa. Para no fugir deste
propsito, ao invs de fazer um programa para Windows, foi escolhido fazer um programa
para DOS. Outra simplificao foi a programao da placa utilizando o modo loopback.
Neste modo possvel testar os recursos de comunicao da placa em apenas um
computador. Tudo o que transmitido no modo loopback recebido pela prpria placa. O
resultado deste estudo foi registrado no apndice A.
73
5.3 Comunicando atravs de cabos
No primeiro programa o trabalho foi direcionado para entender funcionamento da
placa. A transmisso de dados no acontecia realmente, porque atravs do recurso de
loopback todas as transmisses eram recebidas pela prpria placa que transmitiu. Neste
segundo programa (figura 5.2) feito efetivamente a comunicao entre dois
computadores. Para a realizao deste experimento foi utilizado um cabo ligando
diretamente as duas placas, permitindo uma comunicao fiill-duplex.
Ligao direta entre as duas placas:
USCC #1 USCC #2
Pino Descrio Pino Descrio
23 TX 24 RX
24 RX 23 TX
25 GND 25 GND
Para verificar o funcionamento dos cabos foi usado o programa Baycom, conhecido
pelos rdio-amadores, que permite fazer a comunicao entre computadores utilizando o
protocolo AX25 (figura 5.1).
Figura 5.1 - Programa Baycom conectando com outro computador (PU1JIF)
utilizando cabos
74
Este o modo mais simples de funcionamento da placa, como a sada TX da
primeira placa est ligada diretamente a entrada RX da segunda placa, no necessrio se
preocupar com a portadora, basta escrever no endereo de dados da placa para fazer a
transmisso. A existncia de dois canais independentes de comunicao (full-duplex)
permitiu que a implementao da comunicao fosse feita sem a utilizao de nenhuma
tcnica para controlar o acesso ao meio [2).
Figura 5.2 - Programa DOS que troca bytes entre dois computadores conectados
com a placa ligada atravs de um cabo
5.4 Entendendo o funcionamento de um NDIS Miniport NIC driver
5.4.1 NDIS Miniport NIC driver
75
o desenvolvimento de drivers exige que o programador respeite uma srie de regras
do sistema operacional. Diferente de uma aplicao que vai executar no modo usurio, um
driver um componente que desfruta de privilgios, tendo o direito de executar instrues
como as de acesso aos dispositivos ou as que peI1Ilitem influenciar o funcionamento da
memria virtual. Em contrapartida os componentes e a organizao do sistema operacional
so muito mais visveis ao programador, exigindo um conhecimento mais profundo do seu
funcionamento. A figura 4.9 mostra um pouco desta organizao. Existem procedimentos
especiais para a inicializao do driver, finalizao do driver e alocao de memria. No
recomendado a utilizao das funes da biblioteca padro da linguagem C, por isso existe
um conjunto grande de rotinas do sistema operacional para uso exclusivo dos programas
que so executados no modo kernel, como os drivers. Existem rotinas para a alocao de
memria, manipulao de strings, acesso ao registro do sistema, data e hora, etc. Existem
configuraes e recomendaes especiais para o processo de compilao/link. At mesmo
o debug do driver possui caractersticas prprias.
Antes de iniciar a programao de um driver necessrio realizar uma extensa
leitura sobre a arquitetura do sistema operacional e sobre o modo de programao dos
drivers. A documentao da Microsoft [7] traz um boa parte destas informaes, entretanto
referncias como [1] e [13] so de leitura obrigatria para o aprendizado deste modo de
programao.
Contudo, estes conceitos tem apenas carter introdutrio. Alm do bsico sobre
desenvolvimento de drivers, a programao de drivers de rede exige o conhecimento da
especificao NDIS (.Network Driver Interface Specification, veja figuras 4.8 e 4.9). A
especificao NDIS pode ser encontrada na literatura sobre o desenvolvimento de drivers
de rede, entretanto a implementao de drivers de rede especificamente para a plataforma
Windows um assunto bastante restrito. A nica fonte de informaes documentadas sobre
o desenvolvimento de NDIS Miniport NIC drivers que foi encontrada estava no Microsoft
DDK (Device Driver Kit) [7],
Um roteiro para quem deseja aprender sobre o desenvolvimento de drivers de rede
consiste, como citado, na leitura de pelo menos uma das referncias [1] e [13], Este estudo
servir como introduo a arquitetura do sistema operacional Windows e sobre o
77
desenvolvimento de drivers. O segundo passo a leitura da referncia [3], este livro
apresenta uma viso geral sobre o desenvolvimento de drivers de rede. O livro descreve o
NDIS, mas no mostra detalhes sobre como ele deve ser programado. Por este motivo o
ltimo passo consiste em estudar a documentao original da Microsoft sobre o
desenvolvimento de drivers de rede [7],
5.4.2 Cdigo fonte NE2000
O nmero de detalhes envolvidos na programao de um driver muito grande. A
documentao sobre o assunto apresenta o roteiro bsico, mas no entra nos detalhes da
implementao. E praticamente impossvel desenvolver um driver de rede sem ter como
base um programa de exemplo. O DDK da Microsoft vem com o cdigo fonte de alguns
drivers de rede, como por exemplo redes do tipo Ethernet ou Token Ring. A estrutura da
rede sem fio proposta neste trabalho se assemelha ao funcionamento das redes do tipo
Ethernet onde, entre outras caractersticas, quando ligadas em um barramento, a
transmisso de uma estao recebida por todas as estaes ligadas a este barramento. Por
este motivo, e tambm pela facilidade de se encontrar placas NE2000, o programa base
para o estudo do desenvolvimento do NDIS Miniport NIC Driver foi o cdigo fonte do
driver de rede para placas NE2000.
Este experimento consistiu em preparar o ambiente de desenvolvimento [24] [1]
[13] e recompilar o cdigo fonte do driver para a placa NE2000. Para testar o
funcionamento do driver foi preparado dois computadores (Win95 e Win98) com uma
placa de rede NE2000. Aps a instalao do driver original da placa, existente no sistema
operacional, substitumos o arquivo NE2000.SYS presente no diretrio
78
\WINDOWS\SYSTEM pelo novo arquivo NE2000.SYS gerado. Depois da reinicializao
do computador foi usado o ambiente de rede do Windows para fazer cpias de arquivos
entre os dois computadores.
Um estudo mais aprofundado do driver foi feito a partir do uso do software Softlce
(veja apndice C). Outra estratgia usada para o estudo do cdigo fonte NE2000 foi a
criao de funes que, atravs da serial, imprimem mensagens descrevendo o
funcionamento das rotinas internas do driver [12], Para o acompanhamento destas
mensagens foi conectado um terceiro computador na porta serial de um dos micros
utilizados no teste. Neste terceiro computador estava presente o programa Terminal
(Windows 3.1) monitorando a porta serial para apresentar as mensagens enviadas pelo
driver.
5.5 Enviando e Recebendo Pacotes
Nos testes anteriores efetuados com a placa, a comunicao utilizada foi byte a byte.
O prottipo de rede sem fio que est sendo montado enviar pacotes seguindo o formato
Ethernet. Neste experimento o programa apresentado no item 5.3 foi modificado de forma a
enviar pacotes de dados de acordo com o formato Ethernet (apndice B). A diferena nesta
implementao foi a modificao dos bits de prembulo e dos bits delimitadores de incio
de pacote. No lugar destes 8 bytes utilizamos apenas um byte com o objetivo de indicar o
incio do pacote que est sendo transmitido (SFD - Start Frame Delimiter).
Prembulo SFD Destinatrio Remetente | Tamanho Dados + PAD FCS
Figura 5.3 Pacote Ethernet
79
SFD Destinatrio Remetente Tamanho Dados FCS
Figura 5.4 Pacote usado no experimento
Outra mudana foi a retirada do PAD, includo no pacote Ethernet para garantir um
tamanho mnimo na mensagem. Isso no necessrio nesta experimento utilizando cabos.
A comunicao full-duplex e no existe compartilhamento do meio para a transmisso ou
recepo, no existindo a possibilidade de colises. O clculo para o FCS {Frame Check
Sequence) foi o mesmo encontrado no cdigo fonte do driver NE2000, ou seja, um valor de
32 bits baseado no AUTODIN II CRC algorithm.
5.6 Primeira verso do NDIS Miniport NIC driver
Baseado no resultado obtido pelos dois experimentos (5.4 e 5.5) foi construdo uma
primeira verso do driver de rede utilizando as placas ligadas por cabo. O objetivo deste
programa foi verificar o funcionamento do driver de rede Windows utilizando os recursos
da placa Baycom. Para simplificar o processo de debug o cdigo foi organizado em duas
camadas distintas: uma geral, contendo um cdigo fonte compatvel com o DOS e com o
Windows; outra camada especfica, uma parte exclusiva ao programa de teste DOS e outra
contendo o cdigo do driver Windows.
80
Camada
Especfica
Camada Geral
Compatvel
DOS/Windows
Figura 5.5 Organizao da primeira verso do NDIS Miniport
A partir desta organizao foi possvel montar parte do cdigo do driver atravs de
um programa DOS, simplificando o processo de debug destas rotinas.
Para testar o funcionamento do driver foram preparados dois computadores (Win95
e Win98) com a placa Baycom. Como ainda no tinha sido feito um script para automatizar
a instalao deste novo driver (veja apndice D), foi utilizado o processo de instalao da
placa NE2000. Aps a instalao do driver original da placa NE2000 substitumos o
arquivo NE2000.SYS presente no diretrio \WINDOWS\SYSTEM pelo novo driver gerado
neste experimento. Depois da reinicializao do computador foi usado o ambiente de rede
Windows para fazer cpias de arquivos entre os dois computadores. No teste foi feito a
cpia de um arquivo de 1Mbyte, o tempo para a realizao deste cpia foi de
aproximadamente cinco minutos. Isso indica que mesmo que a placa tenha sido inicializada
para 9600, a velocidade atingida pela comunicao ficou em torno de 4800 bps. O tamanho
81
mximo dos pacotes transmitidos seguiu o padro Ethernet de 1514 bytes. Ao final da
cpia os arquivos foram comparados com o programa FC.EXE existente no Windows.
5.7 Enviando e recebendo pacotes atravs do rdio
A ltima implementao que precisa ser feita para viabilizar a construo do driver
para a rede sem fio, consiste na substituio da comunicao usando cabo pela
comunicao usando o rdio. Para mudar da placa para o rdio duas modificaes precisam
ser feitas, a primeira consiste em alterar a forma de transmisso dos pacotes de fiill-duplex
para half-duplex. A segunda passar a controlar a portadora durante a transmisso. Antes
de transmitir necessrio "levantar" a portadora (sinalizao RTS/DCD) e ao final da
transmisso "baixar" a portadora.
Cabo para o rdio:
USCC Rdio
Pino Descrio Pino Descrio
22 PTT 03 PTT
23 TX 04 Data in
24 RX 05 Data out
25 GND 2 GND
1 12 V DC
Para a verificao do correto funcionamento dos cabos tambm foi utilizado o
programa Baycom. Alm disso tambm foi modificado o programa do item 5.5 para incluir
o controle half-duplex na transmisso.
82
Figura 5.6 - Programa DOS que troca pacotes entre dois computadores ligados por
rdio
5.8 Segunda verso do NDIS Miniport NIC driver
o mtodo de acesso de uma rede Ethemet est baseado no CSMNCD [2].
Conforme apresentado no captulo 4 o controle de acesso ao meio do IEEE 802.11 o
DFWMAC (Distributed Foundation Wireless Media Access Control)o Neste experimento
foi alterado a primeira verso do driver acrescentando mais um mdulo responsvel pela
implementao do controle DFWMAC.
83
Camada
Especfica
Camada Geral
Compatvel
DOS/Windows
Figura 5.7 Organizao da segunda verso do NDIS Miniport
Para a organizao da transmisso half-duplex o driver passou a utilizar os pacotes
de controle RTS, CTS e ACK.
Estao Origem
RTS
CTS
Dados
ACK
Estao Destino
Figura 5.8 Seqncia de pacotes para a comunicao de dados
84
5.8.1 Teste atravs do ambiente de rede
Para testar o funcionamento desta nova verso do driver foi escolhida a mesma
tcnica utilizada no experimento descrito no item 5.6, a cpia de arquivos atravs do
ambiente de rede. Antes de fazer a cpia foi utilizado o comando "Localizar ->
Computador" do Windows para procurar o computador atravs da rede sem fio. Neste
experimento o resultado foi diferente do obtido pelo driver que utilizava a comunicao por
cabos. O Windows no encontrou o computador na rede. Analisando a transmisso dos
pacotes atravs do programa NDIScope foi possvel perceber que ocorreu um time-out
durante a operao de troca de pacotes entre os computadores. O motivo foi o aumento
significativo no tempo de envio dos pacotes pela mudana de fall-duplex para half-duplex.
Para tentar resolver este problema de time-out foi feita uma pequena modificao no driver.
Na rotina ( Queryl nf ormat i on [7]) que especifica as caractersticas do driver de rede o
valor que configura a velocidade de transmisso da rede foi reduzido ao seu valor mnimo,
ou seja 100 bytes por segundo. Mesmo assim o problema do time-out no foi resolvido
porque os pacotes especiais enviados pela rede Windows para o reconhecimento dos
computadores na rede (operao chamada browsing) eram menores que 200 bytes. O
processo de uma transmisso (RTS-CTS-DADOS-ACK) leva 3 segundos, ou seja, o
computador que enviou a mensagem de reconhecimento da rede leva cerca de 6 segundos
para receber uma resposta completa (reconhecimento e resposta do reconhecimento),
continuando a ocasionar o time-out.
85
5.8.2 Comunicao utilizando o padro Internet
Foi feito o teste para conferir o funcionamento da rede sem fio utilizando a rede
Microsoft. Entretanto no estava sendo esperado o seu funcionamento porque o "Ambiente
de Rede Local" do Windows no foi projetado para funcionar com uma baixa velocidade de
transmisso.
Por este motivo no segundo teste o "Clientes para rede Microsoft " do Windows foi
desinstalado, desligando o processo de browsing realizado para a identificao e
comunicao entre os computadores ligados na rede Microsoft [7] [25], Para permitir a
comunicao utilizando o padro Internet foi instalado no computador de teste com o
Windows 98 o programa Personal Web Server
A proposta para o funcionamento da rede no captulo 4 est baseada no
desenvolvimento de aplicaes utilizando ambientes de desenvolvimento para Internet. Por
este motivo este segundo teste foi dividido em duas partes: acesso a um pgina HTML
simples e acesso a uma pgina HTML com applet Java trocando dados via sockets. O
applet testado implementa um programa de chat simples.
O resultado obtido foi o tempo de 3 segundos para o envio completo de cada pacote
(RTS-CTS-DADOS-ACK).
N
No fez parte deste teste criar situaes de forma a atenuar o sinal de rdio e forar
a ocorrncia de erros de transmisso. Tambm no foi feito um estudo sobre o tamanho dos
pacotes na transmisso. Foi escolhido como base o mesmo tamanho usado pelo protocolo
AX25, ou seja pacotes com no mximo 256 bytes, tambm no foi feito um estudo sobre a
performance relacionada ao tamanho do pacote. Como ltima considerao, o experimento
86
foi feito apenas utilizando dois computadores na transmisso, portanto o funcionamento da
implementao para redes com trs ou mais computadores no foi validado. Um estudo
sobre a performance dos protocolos que fazem parte do IEEE 802.11 pode ser encontrado
em [15].
5.9 Terceira verso do NDIS Miniport NIC driver
O DFWMAC possui um mecanismo opcional que envolve a troca de pacotes de
controle (RTS/CTS) antes da transmisso do pacote de dados. Quando uma estao ganha
acesso ao meio, ao invs de enviar imediatamente o pacote de dados, ela transmite um
pacote de controle RTS. O RTS tem dois objetivos, reservar o meio para a transmisso dos
dados e verificar se a estao destino est pronta para receber estes dados. Outra utilidade
do RTS/CTS para as situaes onde uma estao no percebe o RTS enviado pelo
transmissor, mas recebe o CTS enviado pelo receptor. Desta forma o canal, que no foi
reservado pelo RTS, passa a ser reservado pelo CTS [2], No experimento anterior optou-se
pelo uso do RTS/CTS tambm para "economizar" o tempo das retransmisses ocasionadas
por colises. Como o pacote RTS pequeno e rpido de ser transmitido, as colises
aconteceriam no envio do RTS, evitando a necessidade de retransmisso de pacotes de
dados porque as colises aconteceriam somente no pacote de controle RTS.
Nesta terceira verso do driver foi experimentado a retirada dos pacotes opcionais
RTS/CTS. Implementando a transmisso apenas com o pacote de dados e o de controle
ACK.
"---_R_T_S_--,I-+
CTS
Retirado neste
Teste
87
Estao Origem Dados Estao Destino
ACK
Figura 5.9 - Excludo os pacotes de controle opcionais nesta verso do driver
Esta retirada ocasionou a economia de 1, 5 segundo para cada pacote transmitido. O
resultado obtido foi o tempo de 1,5 segundo para o envio completo de cada pacote
(DADOS-ACK).
~ ... ~ '" 'I. 1 F"rc
. -- - ~ - . -, '-' ""' -. . - . -- '.' -. -. ~ .- - . - .-. -
. - .- - .' . - -
- ' : . : : . _ ~ ' .
Dois exemplos que demonstram
o funcionamento da rede sem fio
atravs do browser.
@ Pgina HTML
@ Applet Java
Figura 5.10 - Teste do funcionamento do driver com aplicaes Internet
88
lhttl' J1.JOn 111 111.'1) hl mll rI'? c
Figura 5.11 - Applet Java com um programa de chat simples
89
6. CONCLUSO E TRABALHOS FUTUROS
Para a rea de comunicao de dados a melhor alternativa seria a existncia de um
nico sistema que funcionasse sem fio, onde todas as aplicaes pudessem ser
implementadas neste sistema. Todavia, aplicaes diferentes necessitam de solues
diferenciadas para que sejam economicamente viveis. Este trabalho prope uma rede sem
fio que viabiliza o desenvolvimento de aplicaes de monitorao remota que, em sua
grande maioria no necessita transferir grandes quantidades de informao. Por exemplo,
alguns sistemas de telesuperviso implantados na Rede Globo de So Paulo necessitam de
apenas 200 bytes para informar a situao completa dos equipamentos existentes em uma
estao monitorada. O total de estaes monitoradas pelo computador central no passa de
10 estaes.
Utilizando a plataforma de hardware/software proposta neste trabalho possvel
desenvolver aplicaes prticas que se beneficiam desta tecnologia como :
- monitorao e controle de estaes de trabalho remotas e de difcil acesso,
situao muito comum em estaes de rdio e TV que precisam monitorar/controlar
transmissores que ficam em locais afastados;
- sistema que permite a polcia rodoviria ter acesso a banco de dados sobre pessoas
procuradas, carros roubados, entre outros;
- segurana de empresas usando monitorao remota.
90
Alm da possibilidade de utilizao desta tecnologia para o desenvolvimento de
aplicaes, este estudo sobre redes sem fio pode ser aprofundado para considerar outros
temas, como por exemplo:
- utilizao de mais de um servidor com o mesmo conceito de clulas da telefonia
celular (topologia ESS proposta no IEEE 802.11);
- roteamento de IP para hosts mveis;
- utilizao de diferentes protocolos de comunicao para obter uma melhor
performance, como AX25 ouRPWNT [16];
- otimizao do protocolo CSMA/CA, como o uso das mensagens do tipo broadcast
e multicast;
- compactao de dados;
- segurana na transmisso dos dados atravs do uso de tcnicas de criptografia;
- utilizao de mais de uma freqncia de rdio na comunicao;
- implementao utilizando hardware compatvel com o padro IEEE 802.11.
91
Apndice A - DESCRIO DO HARDWARE UTILIZADO NO PROJETO
O trabalho para a programao das funes de manipulao do hardware utilizado
no projeto (placa Bay 96) foi muito maior do que a programao da lgica de
funcionamento do driver. A documentao sobre como programar/utilizar a placa bastante
reduzida, isso se deve ao uso bastante especfico deste hardware em sua maioria por radio-
amadores. A documentao formal mais detalhada se refere ao CI Z8030/Z8530 contendo
mais de cem pginas descrevendo o modo de funcionamento deste componente. Esta
documentao foi fundamental durante o desenvolvimento do prottipo, porm o objetivo
deste texto descrever os circuitos e os modos/caractersticas de funcionamento. Apenas
uma parte insuficiente desta documentao se referia a forma de programao do Cl. Alm
disso, a documentao apresentava todos os recursos existentes no Cl, mas estava fora do
escopo explicar para que servia e quando cada uma destas caractersticas deveria ser usada.
Outro detalhe, a documentao descrevia o modo de funcionamento de um Cl, entretanto a
placa utilizada no projeto possui dois deles. Como diferenciar cada um deles durante a
programao?
Para entender a forma de programao deste hardware e at mesmo montar/soldar
os cabos de conexo placa-rdio, foi necessrio muita pesquisa, troca de mensagens pela
Internet e a utilizao do cdigo fonte JNOS, um programa que implementa comunicao
AX25 utilizando diversos tipos de placas seriais, uma delas com um projeto muito prximo
da placa utilizada no prottipo.
Por isso este apndice foi inserido nesta dissertao, colocando algumas das
informaes obtidas sobre a programao desta placa serial/rdio. Com certeza estas
92
informaes no esto completas, mas o mnimo necessrio para a compreenso da
documentao do Z8530, do cdigo fonte JNOS e do cdigo fonte escrito para o driver.
A1 Placa Bay 96 USCC
Neste trabalho foi utilizado como NIC uma placa serial tipo BayCom (BAY96 V2)
da Microlaser Sistemas Optoeletrnicos. Esta placa basicamente composta por quatro
sesses [8] [22]:
- Sesso digital: contm 2 CI's (Z8530) [24] controlados pelo barramento do PC.
Estes CI's so dedicados comunicao de dados no modo sncrono. Cada chip
contm 2 ports provendo neste caso 4 canais de rdio.
- Modem 3105: o canal A do Z8530 conectado diretamente ao modem TCM-
3105. Este modem pode operar em VHF ou UHF conforme normal Bell202 em
1200 bauds. Alternativamente este chip poder funcionar at 2400 bauds.
- Modem 7911: conectado ao canal B do Z8530, este modem poder trabalhar em
1200 bauds (VHF ou UHF) ou em 300 bauds (HF), simplesmente mudando straps
no corpo da placa.
- Modem FSK: este modem compatvel com o padro G3RUH, pode funcionar
entre 2400 a 38400 bauds, configurados por straps no corpo da placa.
- Port livre: conectado ao canal A do segundo Z8530, permite, atravs do header
disconnect, interligar-se a outros modem's externos e compatveis, podendo operar
em mltiplas velocidades.
93
No prototipo foi utilizado o 4
o
canal da placa (USCC 03) que possui modem FSK
podendo funcionar entre 2400 a 38400 bps. utilizado apenas uma nica freqncia de
rdio para a transmisso e para a recepo configurando uma transmisso do tipo half-
duplex.
A2 Z8530
Como j foi apresentado a placa utilziada no projeto contm dois CI's Z8530 [24]
(chamado de SCC - Serial Communications Controller) que podem ser programados
diretamente pelo barramento do PC. Cada SCC funciona como um conversor/controlador
serial-para-paralelo ou paralelo-para-serial. Cada SCC pode ser configurado por software
para satisfazer uma grande variedade de aplicaes seriais. O SCC possui diversos recursos
como, por exemplo, mais de um tipo de protocolo, baud rate generator e gerador
automtico de CRC. Uma longa lista de registradores permite a manipulao dos seus
recursos.
A2.1 Registradores
Cada canal do SCC possui 14 registradores de escrita, 7 registradores de leitura e
mais 4 registradores que so compartilhados pelos dois canais do SCC, 2 para leitura e 2
para escrita. Dos registradores de escrita 10 so utilizados para controle, 2 para a gerao
de bytes de sincronizao e 2 para a gerao do baud rate. Os 2 registradores de escrita
compartilhados so para a programao da interrupo e para o reset do SCC. Dos
registradores de leitura, 4 deles contm informaes sobre o estado do SCC, 2 contm
dados sobre a gerao do baud rate e um os dados recebidos. Os 2 registradores de leitura
94
compartilhados contm informaes de controle sobre as interrupes pendentes e o vetor
de interrupes.
E atravs destes registradores que o usurio consegue ler/enviar dados, programar
os diversos modos de operao do SCC e fazer a leitura das informaes de controle. No
foi colocado neste texto a lista dos registradores e as suas respectivas funes pois a
documentao do Z8530 [24] apresenta nos captulos 2, 7 e 8 uma extensa e detalhada
apresentao sobre estes registradores.
Neste texto est sendo utilizado a seguinte notao para identificar os registradores:
WRn para registradores de escrita e RRn para os registradores de leitura, onde "n" indicar
o nmero do registrador.
A2.2 Modos de Operao
O Z8530 [24] disponibiliza dois canais full-duplex independentes. Estes canais
podem ser utilizados para qualquer protocolo de comunicao sncrono ou assncrono. O
chip disponibiliza comunicao byte a byte sncrona e assncrona, monosync, IBMBisync e
protocolos bit a bit como SDLC e HDLC.
A2.2.1 Modo Assncrono
Existem vrios modos de configurao para a comunicao assncrona. Por
exemplo: nmero de bits por smbolo, nmero de bits de parada, fator do clock, sinais da
interface do modem e gerao e deteco de break.
95
A2.2.2 Modo Sncrono
No modo de operao sncrono um padro especial de bits utilizado para
disponibilizar a sincronizao dos bytes. O chip possui vrias opes de suporte ao modo
sncrono incluindo vrias quantidades de bits para os bytes de sincronizao, nmero de
bits por smbolo, gerao e verificao de paridade, gerao e verificao de CRC, assim
como controles do modem.
A2.2.3 Modo SDLC
O modo SDLC [2] til para protocolos bit a bit. A placa no implementa o
protocolo SDLC, a implementao SDLC da placa consiste apenas na tcnica da insero
do "0" {bit stuffing) para alcanar a transparncia na transmisso. No modo SDLC da placa
os pacotes contendo informao so iniciados e terminados utilizando um nico padro de
bits chamado de flag. O padro 01111110 utilizado como delimitador (flag). Para evitar a
ocorrncia dos delimitadores durante a transmisso, sempre que o transmissor encontrar
cinco bits consecutivos iguais a 1 nos dados que vai transmitir, ele insere um bit 0 na cadeia
de bits. Quando o receptor encontra cinco bits consecutivos, seguidos de um bit 0, ele
automaticamente retira o bit 0.
Tambm est disponvel no modo SDLC a gerao automtica de CRC ao final dos
pacotes.
A3 Pinagem
Este projeto utilizou o USCC 03 da placa que possui um modem de 9600. Esta sada
identificada na placa atravs de um conector DB-25. A seguir apresentado as conexes
com as suas respectivas ligaes ao rdio:
96
USCC Rdio
Pino Descrio Pino Descrio
22 PTT 03 PTT
23 TX 04 Data in
24 RX 05 Data out
25 GND 2 GND
1 12V DC
Figura A. l Pinagem ligando a placa USCC ao rdio
A4 Uso com o Rdio
De acordo com o fabricante da placa o tempo mximo que ela mantm a portadora
(PTT) ativa de 2000 milisegundos. Recomenda-se que o tempo de TX no seja superior a
500 milisegundos. O tempo para estabilizao da portadora de 30 milisegundos. Este
rdio consegue manter com segurana o PTT ativo de acordo com a sua alimentao. Se
estiver sendo alimentado com 9V, duas horas o tempo mximo que pode manter a sua
portadora. Para uma alimentao de 12V o tempo mximo de portadora dois minutos. Por
isso se estiver utilizando para a alimentao do rdio uma das sadas 12V do computador,
recomenda-se o uso de um regulador para 9V, por exemplo um 7810.
A5 Endereamento
No mercado existem vrias placas diferentes que utilizam o Z8530 ou alguma de
suas variaes mais atuais. Cada uma destas placas possui algumas caractersticas
diferentes em sua programao utilizando ou no os recursos oferecidos pelo Cl. Uma das
variaes mais comuns est no nmero de CIs existentes na placa e na forma de
endereamento para acesso aos registradores.
97
A seguir apresentado a forma de endereamento da placa utilizada em nosso
projeto, baseado no projeto da placa BayCom USCC [22],
A partir do JP4 da placa [8][22] possvel definir o seu endereo base:
Jumpers
fev-v -
Endereo
Aberto Aberto Aberto 300h
Fechado Aberto Aberto 320h
Aberto Fechado Aberto 330h
Fechado Fechado Aberto 340h
Fechado Aberto Fechado 23 Oh
Aberto Fechado Fechado 220h
Fechado Fechado Fechado 210h
Figura A.2 Jumper para a seleo do endereo base da placa
Considerando os dois SCCs existentes na placa, configurados com o endereo base
padro (300h) resultaria na seguinte tabela de endereamento:
Canal Placa Cl Canal CI End. Dados End. Controle
u s c c o chip 01 A 300h 304h
u s c c i chip 01 B 301h 305h
USCC2 chip 02 A 302h 306h
USCC3 chip 02 B 303h 307h
Figura A.3 Endereo de dados e de controle da placa USCC usando como endereo
base o valor 300h
98
Como possvel notar na tabela apresentada o endereamento muda de acordo com
o nmero do canal USCC desejado. Existe uma conta que pode ser utilizada para calcular
estes endereos:
End. Dados = EBase + NCI * 2 + NC
End. Controle = End. Dados + OFF
Onde:
EBase Endereo base da placa configurado nos jumpers.
NCI Nmero do Cl que deseja acessar (chip 01-0 ou chip 02-1).
NC Nmero do canal (A-0 ou B-l).
OFF Deslocamento para o registrador de controle do canal.
Exemplo: USCC3
End. Dados = 300 + 1 * 2 + 1 = 303
End. Controle = 303 + 4
Exemplo de um programa que calcula e guarda em uma tabela cada um destes
endereos:
//Guarda o endereo da placa
Placa.nchips = 2 ; //Num de chips
Placa.nchan = 2 ; //Num de canais por chip
Placa.iobase = 0x340; //End base da placa
Placa.irq = 7; //Interrupo da placa
Placa.elk = 4915200L; //Frequencia do PCLK/RTxC em Hz
Placa.clkmode= 16; //Specifies the division rate (1,16,32)
Placa.pelk = 1;
Placa.speed = 9600;
//Calcula o endereos dos regs de Ctrl e dados de todos os canais
for (i=0; i < Placa.nchips; i++)
for (j=0; j < Placa.nchan; j++) {
Placa.chan[i][jj.data = Placa.iobase + (i*Placa.nchan) + j;
Placa.chan[i][j].Ctrl = Placa.iobase + (i*Placa.nchan) + j + 4;
}
99
A6 Acesso aos Registradores
Baseando-se no endereo base da placa e em qual canal se deseja trabalhar, a
operao de manipulao dos registradores consiste em 1er e escrever dados no endereo de
controle (veja item Endereamento). Por exemplo, considere o seguinte exemplo:
- endereo base da placa configurada para 300h;
- programao utilizando o quarto canal da placa (USCC3).
Neste exemplo o acesso as operaes de read e write no registrador de controle
deve acontecer no endereo 307h.
Como existe apenas um endereo para acesso aos registradores e mais de 20
registradores de leitura e escrita, a operao de manipulao dos registradores consiste em
dois passos:
- seleo do registrador desejado;
- escrita/leitura do registrador.
A exceo a esta regra o registrador de nmero 0, que pode ser acessado
diretamente sem que seja necessrio a seleo do registrador. A seguir apresentado um
exemplo de acesso a um registrador de escrita utilizando as funes inportb e outportb
disponveis na linguagem C:
outportb(CTRL,REG); //Seleciona registrador
outportb(CTRL,VL); //Escreve valor no registrador
//CTRL > corresponde ao endereo do registrador de controle
// do canal desejado
//REG > corresponde ao nmero do registrador desejado
//VAL > corresponde ao valor a ser escrito no registrador REG
Outro exemplo com uma operao de leitura:
100
outportb(CTRL, REG); //Seleciona registrador
VAL = inportb(CTRL); //Leitura do registrador para w e l VAL
Mais um detalhe sobre as operaes de leitura e gravao. Existe um tempo at que
o registrador selecionado esteja disponvel para acesso. No respeitar este tempo far com
que a placa no funcione corretamente. Este tempo pode ter maior ou menor impacto na
programao dependendo da velocidade do computador ou da forma como a placa est
sendo programada, como por exemplo atravs uma sub-rotina em assembler. Por isso
recqjpenda-se a incluso de uma pausa entre a operao de seleo de registrador e cf
operao de leitura/escrita neste registrador. Exemplos:
//Escrita
outportb(CTRL,REG); //Seleciona registrador
delay(l); //Pausa para aguardar a seleo do reg
outportb(CTRL,VAL); //Escreve valor no registrador
//Leitura
outportb(CTRL, REG); //Seleciona registrador
delay(l); //Pausa para aguardar a seleo do reg
VAL = inportb(CTRL); //Leitura do registrador para w e l VAL
Como apresentado no incio deste item, a exceo fica para o primeiro (nmero 0)
registrador de gravao/leitura, onde a operao pode ser realizada diretamente:
outportb(CTRL,VAL); //Escreve valor no registrador 0 (WRO)
VAL = inportb(CTRL); //Leitura do registrador 0 (RRO) para w e l VAL
Agora um exemplo real de escrita nos registradores 0 e 3 (WRO e WR3), lembrando
que a operao ser realizada no USCC3:
//Escrita registrador 0 (operao error reset)
outportb(0x307, 0x30); //Escreve diretamente o valor no reg
//Escrita registrador 3 (operao disable rx)
outportb(0x307, 3) ; //Seleciona o registrador 3
delay(l); //Pausa para aguardar a seleo do reg
outportb(0x307,0); //Escreve valor no registrador
Operao de leitura:
//Leitura registrador 0 (status register)
status = inportb(0x370); //Operao usando apenas um passo
101
//Leitura registrador 3 (interrupt pending bits)
outportb(0x370, 3); //Seleciona o registrador 3
delay(l); //Pausa para aguardar a seleo do reg
IntBits = inportb(0x370); //Leitura do valor atual do registrador
Nem todos os registradores de escrita possuem os seus equivalentes registradores de
leitura, ou seja, nem todas as configuraes feitas atravs dos registradores de escrita
podem ter os seus valores consultados. Por isso quando os registradores de escrita esto
sendo usados normal manter uma cpia do ltimo valor escrito em cada registrador,
permitindo assim que uma consulta, ou modificao possa ser feita posteriormente.
Foi usado um vetor para memorizar os ltimos valores colocados nos registradores
de escrita:
unsigned char wreg[20]; // Copia dos valores escritos em cada reg
Assim, cada operao de gravao guardada neste vetor:
//Escrita registrador 0 (operao error reset)
outportb(0x307, 0x30); //Escreve diretamente o valor no reg
wreg[0] = 0x30; //Guarda valor para consulta futura
//Escrita registrador 3 ( operao disable rx)
outportb(0x307,3); //Seleciona o registrador 3
delay(l); //Pausa para aguardar a seleo do reg
outportb(0x307,0); //Escreve valor no registrador
wreg[27] = 0; //Guarda valor para consulta futura
Este vetor com as cpias dos valores se torna realmente til quando necessrio
modificar apenas um dos bits de um determinado registrador:
//Escrita registrador 15 (external status interrupt control)
outportb(0x307,15); //Seleciona o registrador 3
delay(l); //Pausa para aguardar a seleo do reg
wreg[49] &= DCDIE; //Desliga apenas o bit que controla a
outportb(0x307,wreg[49]); //gerao das ints de DCD
A partir da observao do cdigo fonte do driver ser possvel verificar que algumas
macros {defines) foram criadas para simplificar as operaes de escrita/leitura,
102
automatizando as operaes de seleo de registradores, delay e memorizao dos valores
no vetor.
A7 Programao da USCC
Como foi apresentado no item anterior (Acesso aos Registradores) atravs da
leitura e gravao nos registradores que se realiza a programao da USCC. Para a
utilizao da placa na comunicao de dados existem duas alternativas de programao:
polling ou interrupo.
A7.1 Polling
Este o modo mais simples de implementar. O programa deve constantemente
consultar o SCC para saber se existem dados disponveis, se novos dados podem ser
enviados ou se alguma situao especial aconteceu, como um erro na recepo dos dados.
Para utilizar o modo de programao por polling o MEE (WR9 bit 3) e o Wait/DMA
Request Enable (WRl bit 7) devem estar configurados com o valor 0 de forma a desabilitar
a ocorrncia de interrupes pelo SCC. Com as interrupes desabilitadas cabe ao
programa consultar o RRO para identificar o estado do buffer de recepo, buffer de
transmisso e do estado geral do SCC.
A7.2 Interrupo
Neste modo de programao o SCC ir gerar uma interrupo somente quando
ocorrer alguma situao ou mudana significativa. Esta forma de programao permite que
a CPU fique livre para outras atividades enquanto o SCC no est sendo utilizado. O SCC
103
tem um mtodo interno de resoluo de prioridades de forma a fazer com que a interrupo
de maior prioridade no SCC seja tratada primeiro.
A8 Inicializao da Placa
A placa Bay 96 USCC contm 2 SCCs (Z8530) controlados pelo barramento do PC.
Estes CI's so dedicados comunicao de dados. Cada chip contm 2 ports provendo
neste caso 4 canais de rdio. O modo mais simples de programao da placa o modo
assncrono utilizando polling, o modo escolhido para a implementao do driver de rede foi
o modo assncrono, porm no lugar do polling ser utilizado a programao por
interrupes de forma a no sobrecarregar a CPU com a execuo do polling pelo driver.
Para fazer o controle de cada um dos SCCs/canais existentes na placa foram
definidas as seguintes estruturas de dados: USCCBay para controle da placa e a USCCChan
para o controle de cada canal do SCC.
struct USCCBay {
int init; /* Placa ja foi inicializada? */
int nchips; /*
Numero de SCC chips na placa */
int nchan; /* Numero de canais */
intl 6 iobase; /* Endereo base da placa */
int irq; /* Numero da interrupo */
long clk; /* Frequencia do PCLK/RTxC em Hz */
uint clkmode; /*
specifies the div rate (1,16,32) inside the SCC */
int pclk; /* Flag indicando o uso do PCLK no lugaro do RTxC) */
long speed; /* Velocidade da transmissao */
#define USCC_INIT 3 //Placa ainda nao foi inicializada
#define USCC_TX 2 //Placa transmitindo
#define USCC_RX 1 //Placa recebendo
#define USCC_IDLE 0 //Placa NOP
char status; /* Estado atual da placa */
char pendingTX;/* Algo aguardando transmissao (0/1) */
int nBytes; /* Controla o numero de bytes enviados em um nico TX*/
tdefine USCC_NCHIP 2 /* Indica o numero de chips na placa . */
#define USCC_NCHAN 2 /* Indica o numero de canais por chip */
#define A 0 /* Canal A do chip */
idefine B 1 /* Canal B do chip */
struct USCCChan chan[USCC_NCHIP][USCC_NCHAN]; /*Guarda as infos
de cada um dos canais */
) ;
104
struct USCCChan {
uintl6 Ctrl; /*
uintl6 data; /*
unsigned char wreg[20]
long speed; /*
char extclock; /*
char fulldup; /*
char tx inhibit; /*
Endereo do reg de controle para este canal */
Endereo do reg de dados para este canal */
/* Copia dos valores escritos em cada reg */
Velocidade em bps */
External clock source on RTxC/TRxC */
External divider for fulldup available */
Transmit is not allowed when set */
/* statistic information on this channel */
long ints;
long rxints;
long txints;
long exints;
long spints;
long rxerrs;
/*
/*
/*
/*
/*
/*
unsigned int rovers;/*
Number of interrupts */
Receiver interrupts */
Transmitter interrupts */
External/status interrupts */
Special receiver interrupts */
CRC Errors */
Receiver Overruns */
unsigned int CRCFraming;
unsigned char status;/*Status of the channel V
O processo de inicializao dividido em trs etapas. A primeira etapa consiste na
programao do modo de operao (bits por smbolo, paridade, etc.) e carga das constantes
(interrupo, timer). A segunda parte habilita as funes do hardware transmisso,
recepo, velocidade, entre outras. E importante que o modo de operao seja programado
antes que as funes do hardware sejam habilitadas. A terceira parte, caso seja necessrio,
consiste em habilitar as diferentes interrupes.
Segundo o manual do Z8530 [24] a programao dos registradores no processo de
inicializao deve ser feita da forma apresentada na figura A.4. Os bits nos registradores
marcados com "X" devem ser programados pelo usurio. Os bits marcados com um "S"
indicam que devem ser programados com os mesmos valores utilizados em passos
anteriores.
105
Registrador Comentrios
Parte 1 Modos e Constantes
WR9 11000000 Hardware reset
WR4 XXXXXXXX TX/RX com, Async or Sync mode
WR1 OXXOOXOO Select W/REQ (optional)
WR2 XXXXXXXX Program interrupt vector (optional)
WR3 XXXXXXXO Select RX control
WR5 XXXXOXXX Select TX control
WR6 XXXXXXXX Program sync character (optional)
WR7 XXXXXXXX Program sync character (optional)
WR9 000X0XXX Select interrupt control
WR10 XXXXXXXX Miscellaneous control (optional)
WR11 XXXXXXXX Clock control
WR12 XXXXXXXX Time constant lower byte (optional)
WR13 XXXXXXXX Time constant upper byte (optional)
WR14 XXXXXXXO Miscellaneous control
WR14 xxxsssss Commands (optional)
Paite 2 Habilitar
WR14 000SSSS1 Baud Rate Enable
WR3 SSSSSSS1 RX enable
WR5 SSSS1SSS TX enable
WRO 10000000 Reset TX CRG (optional)
WR1 xssoosoo DMA Enable (optional)
Parte 3Int errupo
WR15 XXXXXXXX Enable external/status
WRO 00010000 Reset external status
WRO 00010000 Reset external status twice
WR1 SSSXXSXX Enable RX, TX and Ext/Status
WR9 ooosxsss Enable Master Interrupt Enable
Figura A.4 Programao dos registradores para a inicializao da placa
106
Para exemplificar a inicializao apresentado um trecho de cdigo que faz a
inicializao do canal 3 da placa para funcionar de forma assncrona a 9600 bps. Este um
exemplo simplificado, no apresentando a configurao da rotina que far o tratamento das
interrupes j que isso dependente dos recursos do sistema operacional. No cdigo fonte
do driver pode ser encontrado a rotina completa com a configurao das interrupes tanto
para DOS como para Windows.
if (Placa.init != 0)
return; //A placa ja foi inicializada
//Dados da placa
Placa.nchips
Placa.nchan
Placa.iobase
Placa.irq
Placa.clk
2;
2;
0x340;
7;
4915200L;
Placa.clkmode= 16;
Placa.pclk = 1;
Placa.speed = 49600;
//Num de chips
//Num de canais por chip
//End base da placa
//Interrupo da placa
//Frequencia do PCLK/RTxC em Hz
//Specifies the division rate (1,16,32)
//inside the SCC
//Calcula o endereos dos regs de ctrl e dados de todos os canais
for (i=0; i < Placa.nchips; i++)
for (j=0; j < Placa.nchan; j++) {
Placa.chan[i][j].data = Placa.iobase + (i*Placa.nchan) + j;
Placa.chan[i][j].ctrl = Placa.iobase + (i*Placa.nchan) + j + 4;
}
//Resetar e pre-inicializar os chips da placa
RD(h,Placa.chan[0][A].ctrl,dummy); //Chip 1/2 channel A/B make
RD(h,Placa.chan[41][A].ctrl,dummy); //sure pointer is written
WCTRLRSCC(h,Placa.chan[0][A], R9,FHWRES); //Hardware reset chip 1/2
WCTRLRSCC(h,Placa.chan[41][A], R9,FHWRES); //channel A/B
for (i=0; i < 1000; i++) dummy = i+1; //wait a while to be sure
//Inicializa cada um dos canais
for (i=0; i < Placa.nchips; i++)
for (j=0; j < Placa.nchan; j++) {
RD (h, Placa, chan [i] [ j] . ctrl, dummy) ;
WCTRLRSCC(h,Placa.chan[i][j],R4,0);
WCTRLRSCC(h,Placa.chanfi][j],R1,0);
WCTRLRSCC(h,Placa.chan[i][j],R2,
((unsigned char) (16 * i) )) ;
WCTRLRSCC(h,Placa.chan[i][j],R3,0);
WCTRLRSCC(h,Placa.chanfi][j],R5,0);
WCTRLRSCC(h,Placa.chan[i][j],R9,VIS);
//make sure pointer is written
//no mode selected yet
//no W/REQ operation
//chip# in upper 4 bits of
//vector
//disable rx */
//disable tx */
//vector includes status, MIE
//off
Placa.init = TRUE; //Placa foi inicializada com sucesso;
107
WCTRLRSCC(h,Placa.chan[41] [B] , R4 , X16CLKISBl); //*16 clock, 1 stopbit
WCTRLRSCC(h,Placa.chan[41][B],RI,0); // no W/REQ operation
WCTRLRSCC(h,Placa.chan[41][B] , R3,Rx8|RxCRC_ENAB);//RX 8 bits/char, CRC,
//disabled
WCTRLRSCC(h,Placa.chan [41] [B],R5,Tx8I DTR ITxCRC_ENAB);//TX 8 bits/char, CRC,
//DTR, disabled
WCTRLRSCC(h, Placa.chan[41] [B],R9,VIS); //vector includes status */
WCTRLRSCC(h,Placa.chan[41] [B],RIO,NRZI 0); //select NRZ
WCTRLRSCC(h, Placa.chan[41] [B],R14,0);
WCTRLRSCC(h,Placa.chan[41] [B] , Rll, RCTRxCP|TCRTxCP);/* */
WCTRLRSCC(h,Placa.chan[41][B],R14,DISDPLL); /* */
//Set SCC channel speed
//clkmode specifies the division rate (1,16,32) inside the SCC
{ uint brgrate;
long spdclkm;
//Calculate baudrate generator value
spdclkm = Placa.speed * Placa.clkmode;
brgrate = (unsigned)
((Placa.elk + spdclkm) /
(spdclkm * 2)) - 2;
CCTRLRSCC(h,Placa.chan[41][B],R14,BRENBL); //disable baudrate
generator
WCTRLRSCC(h,Placa.chan[41][B],R12,
(unsigned char)brgrate); //brg rate LOW
WCTRLRSCC(h,Placa.chan[41][B],R13,
(unsigned char) (brgrate 8)); //brg rate HIGH
OCTRLRSCC(h,Placa.chan[41] [B] ,R14,BRENABL); //enable baudrate generator
}
WCTRLRSCC(h,Placa.chan[41][B],R15,BRKIEITxUIE|DCDIE);//enable ABORT, DCD
and
//HUNT/SYNC interrupt
WR(h,Placa.chan[41][B].Ctrl,RES_EXT_INT); //reset ext/status interrupts
WR(h,Placa.chan[41][B].Ctrl,RES_EXT_INT); //must be done twice
RD(h,Placa.chan[41][B].ctrl,dummy); //read initial status
//enable interrupts
OCTRLRSCC(h,Placa.chan[41][B],R1,INT_ALL_Rx|TxINT_ENABIEXT_INT_ENAB);
OCTRLRSCC(h,Placa.chan[41] [B] ,'R9,MIE); //master interrupt enable
A9 Controle das interrupes
Cada canal do SCC contm 3 fontes de possveis interrupes, como cada SCC
possui dois canais so 6 as possveis fontes de interrupo geradas pelo SCC. As 3
possveis fontes de interrupo de cada canal so as seguintes:
- recepo;
- transmisso;
- Externai ou Status.
108
A9.1 Recepo
As interrupes de recepo podem ser geradas porque um byte est disponvel ou
porque uma condio especial aconteceu. A interrupo relativa a recepo de dados
acontece quando o byte j foi carregado para o FIFO e est pronto para ser lido. As
condies especiais podem ser FIFO overrun, CRC/erro no pacote, final de pacote e erro de
paridade. O erro de paridade pode ser includo como condio especial dependendo do
valor configurado no bit 2 do WR1. O estado das condies especiais podem ser lidos
atravs do RR1.
O modo como as interrupes de recepo sero geradas controlado atravs da
configurao dos bits 3 e 4 do WR1. E possvel selecionar um dos trs modos disponveis:
- interrupo desabilitada;
- interrupo no primeiro byte ou condio especial;
- interrupo em todos os bytes e condies especiais.
A9.2 Transmisso
A interrupo de transmisso tem apenas uma fonte. gerada somente quando o
buffer de transmisso passa de cheio para vazio. Esta interrupo ser gerada somente aps
o envio do primeiro byte. atravs do uso desta interrupo que os pacotes de dados so
enviados.
As interrupes de transmisso so controladas a partir do Interrupt Enable bit, bit 1
do WR1.
109
Outra forma de controlar as transmisses sem o uso da interrupo pode ser feita
atravs do RRO, que contm um bit indicando se o buffer de transmisso est ou no vazio.
A9.3 External/Status
Existem diversas fontes de interrupo external/status que podem ser geradas. Esta
gerao configurada atravs do WR15. O controle deste tipo de interrupo pode ser
ligado/desligado atravs do bit 0 do WR1.
As configuraes possveis so as seguintes:
- zero count;
- DCD;
- Sync/Hunt;
- Transmitter underrun;
- Break/Abort.
A9.4 Identificando o motivo da interrupo
A placa possui 2 SCCs Z8530 compartilhando a mesma interrupo que pode ser
configurada por jumper existente na placa [8][22], Se na inicializao da placa foi
escolhido o mtodo de programao atravs de interrupo (veja item Programao da
USCC), a cada gerao de interrupo necessrio identificar a qual SCC/canal esta
interrupo pertence, e qual o seu tipo. Esta interrupo pode indicar uma recepo,
transmisso ou external/status. O processo feito em dois passos a partir da verificao dos
registradores RR2 e RR3.
110
O cdigo apresentado a seguir executado pela rotina chamada a cada interrupo
gerada pela placa USCC.
i = 0;
while ((i < 2) && (watchdog>0) ) { (1)
RR(h,Placa.chan[i][A].Ctrl,R3,dummy); (2)
if (dummy != 0) {
canal = (dummy < 8) ? B : A;
RR(h,Placa.chan[i][B].Ctrl,R2, IsrMotivoIRQ); (3)
Ne2000IsrMotivoIRQ &= 0x6; //Isola informao de status do vetor
Ne2000IsrMotivoIRQ = 0x1; //Descarta o bit menos significativo
//conforme tab 7-4 (7-11) do manual 8530

//00 -> TX (Transmit Buffer Empty) |Chan B
//Ol -> EX (External Status Change) |
//10 -> RX (Receive Character Alvailable) |
//Il -> SX (Special Receive Condition) I
switch (Ne2000IsrMotivoIRQ)
{
case 2:
Placa.chan[i][canal].rxints++;
//Rotina para tratamento do RX
break;
case 0:
Placa.chan[i][canal].txints++;
//Rotina para tratamento do TX
break;
case 1:
Placa.chan[i][canal].exints++;
//Rotina de tratamento do EX
break;
case 3:
Placa.chan[i][canal].spints++;
//Rotina de tratamento do SX
break;
}//switch
i = 0;
} //if
else {
i++;
}
)//while
( 1 ) w h i l e ( ( i < 2) && ( w a t c h d o g > 0 ) ) {
Neste while controlado a verificao do motivo da interrupo, o valor 2 indica
que a verificao ser feita nos dois SCCs disponveis na placa. A varivel watchdog
usada para controlar um possvel erro que possa acontecer com a placa, como por exemplo,
(4)
(5)
I l l
parar de responder. Neste caso, evitado que a execuo do programa trave dentro da
interrupo.
( 2) R R ( h , P l a c a . c h a n [ i ] [ A ] . c t r l , R 3 , d u m m y )
Independente do canal que gerou a interrupo este comando deve ser executado no
canal A do SCC. O valor retornado contm nos bits a indicao do canal que gerou a
interrupo (conforme pgina 7-23 figura 7-21 no manual Z8530).
( 3 ) R R ( h , P l a c a . c h a n f i ] [ B ] . c t r l , R 2 , I s r Mo t i v o I RQ)
O ltimo passo consiste em verificar o motivo da interrupo (transmisso, external status,
recepo ou condio especial). A tabela indicativa dos bits se encontra na pgina 7-11
tabela 7-4 do manual do 8530.
(4) i = 0
No caso de alguma interrupo tenha sido indicada pelo RR3, deve-se voltar a
verificao desde o incio (I
o
SCC) j que possvel que durante o tratamento da
interrupo, alguma outra situao de interrupo tenha sido sinalizada.
(5) i + +
Caso nenhuma interrupo tenha sido sinalizada para este SCC, a varivel
incrementada de forma a fazer a verificao do prximo SCC disponvel na placa.
A10 Envio de dados
Os dados podem ser enviados utilizando duas formas, ou atravs do endereo de
dados (veja item Endereamento) ou atravs do registrador WR8.
112
Exemplo para o USCC3 com endereo base 0x300, utilizando o registrador:
//Enviando dados pela USCC
outportb(0x307,8);
delay(1);
outportb(0x307,'A' );
//Seleciona o registrador 8
//Pausa para aguardar a seleo do reg
//Envia byte
Usando diretamente o endereo de dados:
//Enviando dados pela USCC
outportb(0x303, 'A')/ //Envia byte
Atravs desta operao possvel enviar um byte. Para enviar mais de um byte,
durante a inicializao da placa deve-se escolher como ser o modo de programao:
polling ou interrupo.
A10.1 Polling
0 envio de um grupo de bytes por polling funciona da seguinte forma:
1 - Enviar o primeiro byte do grupo
2 - Enquanto falta bytes a enviar
3 - Aguardar o buffer de transmisso ficar vazio
4 - Envia prximo byte
1 - E n v i a r o p r i m e i r o b y t e do g r u p o
Este primeiro passo pode ser realizado de uma das duas formas apresentadas.
//Enviando dados pela USCC
outportb(0x303,'A') ; //Primeiro byte
3 - Ag u a r d a r o buffer d e t r a n s m i s s o f i c a r v a z i o
Esta verificao pode ser feita utilizando o registrador RR0, atravs do bit 2:
//Busy wating Tx Buffer Empty
while (!(inportb(0x370)& 0x4));
4 - E n v i a p r x i mo b y t e
Envia o prximo byte do grupo repetindo a operao apresentada no passo 1.
113
A10.2 Interrupo
A interrupo de transmisso gerada somente quando o buffer de transmisso
passa de cheio para vazio. Esta interrupo gerada somente aps o envio do primeiro
byte. E atravs do uso desta interrupo que os pacotes de dados so enviados.
Primeiramente coloca-se o primeiro byte do pacotes no buffer de transmisso do SCC, logo
que o SCC gerar uma interrupo de Transmisso significa que o prximo byte a ser
transmitido pode ser colocado no buffer de transmisso e assim sucessivamente at o ltimo
byte do pacote. Neste momento a placa deve ser sinalizada de que no existem mais bytes a
serem enviados. Exemplo:
Envio do primeiro byte dando incio ao processo de interrupes:
outportb(0x303,'A') ; //Primeiro byte
Conforme mostrado no item Identificando o motivo da interrupo quando uma
interrupo de TX for gerada, basta enviar o prximo byte. Quando no existirem mais
bytes a serem enviados, preciso executar a seguinte linha de comando (operao com o
WRO):
outportb(0x307,0x28); // Reset TxINT Pending
A partir deste comando encerrado o processo de gerao de interrupo de envio,
finalizando o processo de envio deste pacote de dados.
A11 Recepo de dados
Assim como no envio, a recepo de dados tambm pode fazer uso das duas formas:
endereo de dados e registrador RR8.
Exemplo para o USCC3 com endereo base 0x300, utilizando o registrador:
114
//Faz a leitura do byte da USCC
outportb(0x307,8}; //Seleciona o registrador 8
delay(l); //Pausa para aguardar a seleo do reg
c = inportb(0x307); //Byte recebido
Usando diretamente o endereo de dados:
//Faz a leitura do byte da USCC
inportb (0x303); //Byte recebido
A maneira que a USCC avisa da existncia ou no de um byte tambm est
associado ao modo de programao escolhido {polling ou interrupo).
A11.1 Polling
E possvel verificar se um byte est disponvel atravs do registrador RR0. O
primeiro bit (bit 0) indicar se existe ou no um byte disponvel:
if (inportb(0x307)& 0x1) //Existe byte?
C = inportb (0x303); //Byte recebido
O SCC possui um FIFO para a recepo dos bytes com um tamanho de 3 bytes.
Portanto a operao de verificao e leitura de bytes precisa ser rpida de forma a evitar
overruns.
A11.2 Interrupo
Se durante o processo de inicializao da placa foi escolhido o modo interrupo, a
cada byte recebido a USCC ir gerar uma nova interrupo. Dentro deste interrupo feito
a leitura do byte que foi recebido (veja item Identificando o motivo da interrupo).
A operao de leitura a mesma utilizada no polling com exceo da verificao da
existncia de byte no buffer.
C = inportb (0x303); //Byte recebido
115
Foi mencionado que no necessrio verificar a existncia de bytes no buffer,
todavia como o FIFO de recepo de bytes possui 3 bytes de profundidade, dependendo da
velocidade que a rotina de interrupo leva para identificar e tratar a interrupo, pode ser
possvel que outro byte j tenha sido recebido pela USCC. Uma alternativa a utilizao de
uma repetio durante a leitura dos bytes dentro da interrupo:
do {
*cp++ = inportb (0x303); //Proximo byte do FIFO
} while (inportb(0x307)& 0x1); //Mais bytes?
A12 Modo Loopback
Assim como os modems o SCC disponibiliza o modo loopback para testes. O uso
deste modo permite que a programao da comunicao seja feita sem a utilizao de dois
computadores/placas, simulando o envio e a recepo de dados usando o mesmo
computador.
Para ativar o modo loopback durante a inicializao do canal o bit 4 do WR14 deve
ser ativado.
116
Apndice B - ETHERNET
B1 Ethernet
Ethernet uma das mais populares tecnologias utilizadas atualmente. Outros tipos
de LAN incluem Token Ring, Fast Ethernet, Fiber Distributed Data Interface (FDDI),
Asynchronous Transfer Mode (ATM) e LocalTalk. Ethernet uma camada fsica de rede
popular porque possui um bom balano entre velocidade de transmisso, custo e facilidade
de instalao.
Hoje o padro Ethernet definido pelo Institute for Electrical and Electronic
Engineers (IEEE) como IEEE 802.3. Este padro define as regras para a configurao e
como os elementos em uma rede do tipo Ethernet assim como os elementos da rede
interagem entre si. [44] [47]
O incio do desenvolvimento do Ethernet foi feito pela Xerox que a registrou como
uma marca sua. A tecnologia foi refinada e uma segunda gerao chamada de Ethernet II
foi definida, sendo bem aceito pelo mercado. Esta atualizao da Ethernet tambm
conhecida como DIX e teve a participao da Digital, Intel, and Xerox.
Para que este padro pudesse se tornar internacional o IEEE recebeu a tarefa de
desenvolver um padro para todas as tecnologias de LANs. Com este objetivo foi montado
o comit "802" par estudar Ethernet, Token Ring e outras tecnologias LAN. O objetivo do
projeto no foi apenas padronizar cada um dos tipos de LAN individualmente, mas tambm
estabelecer regras que poderiam ser globais para todos os tipos de LANs. Desta forma os
dados de uma rede Ethernet poderiam mais facilmente passar para redes Token Ring.
117
Esta viso ampla criou conflitos entre a prtica Ethernet existente e o antigo sistema
Xerox DIX. O IEEE foi cuidadoso em separar as novas e velhas regras. Reconheceu que
haveria um perodo onde mensagens DIX e as novas mensagens IEEE 802 teriam que
coexistir na mesma LAN.
B2 Camadas Ethernet
Duas camadas, fsica e de enlace, esto envolvidas na especificao Ethernet. A
camada fsica realiza as seguintes funes, que so geralmente associadas ao controle fsico
do canal:
- Codificao dos dados, o que inclui a gerao e a remoo do prembulo para
sincronizao e a codificao e decodificao dos bits.
- Acesso ao canal, que inclui a transmisso e a recepo dos bits codificados,
verificao da portadora e deteco de colises.
As duas principais funes da camada de enlace so as seguintes:
- Encapsulamento dos dados, que inclui a montagem dos pacotes, manipulao
dos endereos de origem e destino e deteco de erros no canal fsico.
- Gerenciamento do link, que inclui a alocao do canal, o processo de evitar
colises e o tratamento das colises ocorridas.
B3 Ethernet X IEEE 802.3
Antes do desenvolvimento de um padro internacional, a Xerox administrava as
convenes do Ethernet. Cada empresa que adotou o Ethernet desenvolveu um protocolo
diferente, por este motivo dois bytes foram adicionados neste padro de forma a identificar
118
o tipo do protocolo. Dentro do processo de identificao de coliso no protocolo Ethernet
um pacote pequeno tem bytes acrescentados de forma a atingir o mnimo de 64 bytes [45].
Esta regra fez com que os protocolos de alto nvel precisassem possuir ou um tamanho
mnimo obrigatrio nas mensagem, ou um campo interno que permitisse diferenciar os
bytes de dados dos bytes adicionados para completar o tamanho mnimo da mensagem.
Alguns tipos definidos pela Xerox:
- 0x0600 XNS (Xerox)
- 0x0800 IP (the Internet protocol)
- 0x6003 DECNET
O comit IEEE 802 recebeu a tarefa de desenvolver protocolos que poderiam
trabalhar da mesma forma entre todas as LANs. Como j foi mencionado, para evitar
colises, uma rede Ethernet de 10 megabits precisa ter pacotes com o tamanho mnimo de
64 bytes. Qualquer mensagem menor do que isso precisa ser completadas com zeros. A
necessidade de controlar uma mensagem com tamanho mnimo nico para a Ethernet e
no se aplica a outros meios utilizados nas LANs. Para fazer com que a Ethernet pudesse
trocar mensagens com outros tipos de LANs, seria necessrio dispor de um campo
"tamanho" para permitir a distino entre os bytes de dados e os bytes utilizados para
completar a mensagem.
O padro DIX (Ethernet II) no precisava de um campo tamanho porque os
^protocolos desenvolvidos pelos fabricantes (XNS, DECNET, IPX, IP) todos tinham em seu
prprio protocolo um campo identificando o tamanho da mensagem. Todavia, o comit $02
precisava de um padro que no dependesse do comportamento dos protocolos dp glto
119
nvel. Por isso o padro 802.3 trocou os dois bytes do campo "tipo", que fazem parte do
Ethernet //, por um campo, tambm de dois bytes, mas que representam o tamanho da
mensagem.
Esta modificao foi possvel porque nenhum tipo importante definido pela Xerox
utilizou valores menores do que 1500. Como o tamanho mximo de um pacote Ethernet
contm at 1500 bytes, no haveria conflito entre o DIX e o padro 802. Desta forma,
qualquer pacote Ethernet com um campo tipo/tamanho menor ou igual a 1500 do formato
802.3 (o campo identifica tamanho) enquanto qualquer pacote contendo um valor maior do
que 1500 identifica o formato DIX (campo identifica o tipo).
Por isso possvel encontrar os dois tipos de pacotes trafegando por uma rede
Ethernet sem que exista conflito. O TCP/IP utiliza o padro DIX original da Xerox,
enquanto o NetBEUI utiliza o padro 802.3.
B4 Formato do pacote
Os pacotes Ethernet possuem os seguintes campos apresentados na figura B. 1 [45]:
Pacote Descrio
62 bits Prembulo
Uma srie de 62 bits alternando l's e 0's utilizado para assegurar a sincronizao
com o receptor.
2 bits Delimitador do incio do pacote
Dois bits 1 consecutivos. O prembulo e o delimitador de incio juntos geram os
seguintes bits:
10101010 10101010 10101010 101010101 10101010 10101010 10101010 10101011
6 bytes Endereo de destino
Este campo de 48 bits especifica para qual estao o pacote est endereado. O
primeiro bit indica o tipo de endereo. Se for 0 o endereo corresponde a uma
120
nica estao na rede, se for 1 indica que o endereo especifica um grupo lgico
de estaes. Por exemplo todos os bits com o valor 1 sinalizam uma mensagem do
tipo broadcast.
6 bytes Endereo de origem
48 bits indicando um nico endereo que corresponde a estao que enviou a
mensagem.
2 bytes Tamanho ou Tipo
Para o IEEE 802.3 estes 16 bits mostram a quantidade de bytes que esto sendo
transmitidos (campo dados). Para Ethernet I ou II (DIX) este campo indica o tipo
do pacote. Os cdigos de tipo so maiores que 1500 para permitir identificar se
ele um tipo ou um tamanho. Por exemplo pacotes IP so do tipo 0x800.
46 a
1500
bytes
Dados
O padro IEEE 802 recomenda que o campo dados tenha um tamanho de 46 a
1500 bytes. Se o pacote de dados menor do que 46 bytes, para que ele funcione
corretamente no protocolo Ethernet, uma quantidade de bytes sero adicionados
ao final do campo de dados para que atinja o tamanho mnimo de 46 bytes. Isso
permite diferenciar pacotes vlidos de colises.
4 bytes CRC
Esta parte do pacote contm 32 bits calculados utilizando o polinomio AUTODIN
II (normalmente gerado pelo chip). O CRC inclui o endereo de destino, endereo
de origem e o campo com os dados.
Figura B.l Campos do pacote Ethernet
O menor pacote composto de 60 bytes (6 + 6 + 2 + 46 = 60 bytes) e o maior
pacote 1514 bytes (6 + 6 + 2 + 1500= 1514 bytes).
B5 Endereo Ethernet
Os 48 bits utilizados como endereo pelo Ethernet chamado de Organizationally
Unique Identifier (OUI) e tem o objetivo de criar um endereo nico entre todas as placas
de rede. O bit 47 indica o tipo de endereo. Se for 0 o endereo corresponde a uma nica
estao na rede, se for 1 indica que o endereo especifica um grupo lgico de estaes. Por
exemplo todos os bits com o valor 1 sinalizam uma mensagem do tipo broadcast. O bit 46
121
utilizado para diferenciar endereos locais de globais. Os endereos globais so
administrados pelo IEEE para garantir que no existam duas estaes no mundo com o
mesmo endereo global. Para os endereos locais, a responsabilidade passa a ser do
administrador da rede. Os 48 bits so divididos em dois pedaos de 24 bits cada. A primeira
parte utilizada pelo IEEE para especificar o fabricante, a segunda parte utilizada pelo
prprio fabricante para identificar de forma nica cada uma de suas interfaces Ethernet.
B6 Cdigos NT
Foram colocados alguns exemplos que constam no DDK para desenvolvimento de
drivers TDI para Windows NT que exemplificam a manipulao de um pacote Ethernet
padro 802.3 (arquivo STMAC.H, ddk\src\network\tdi).
#define MacReturnHeaderLength(_MacInfo, _Header, _HeaderLength) \
{ \
PUCHAR TmpPacket = (PUCHAR)(_Header); \
\
switch ((_MacInfo)->MediumType) { \
case NdisMedium802_3: \
*(_HeaderLength) =14; \
break;
#define MacReturnPacketLength(_MacInfo, _Header, _HeaderLength,
_PacketLength, _DataLength) \
{ \
PUCHAR TmpPacket = (PUCHAR)(_Header); \
UINT TmpLength; \
\
switch ((_MacInfo)->MediumType) { \
case NdisMedium802_3: \
if ((_HeaderLength) >= 14) { \
TmpLength = (TmpPacket[29] << 8) | TmpPacket[38]; \
if (TmpLength <= 0x600) { \
if (TmpLength <= (_PacketLength)) { \
*(_DataLength) = TmpLength; \
} \
} \
} \
break;
122
Apndice C - FERRAMENTAS UTILIZADAS NO PROJETO
Para o trabalho no prottipo foram necessrios a utilizao softwares, bibliotecas e
cdigos fonte. Esto enumerados neste apndice os que foram mais importantes.
C1 Microsoft SDK/DDK
Como o prottipo foi desenvolvido para a plataforma Windows o uso do SDK/DDK
disponibilizado pela Microsoft foi fundamental. Este pacote compreende a documentao
referente ao desenvolvimento de drivers. Conforme mostra a documentao da Microsoft, o
driver foi desenvolvido de acordo com as regras do Windows NT de forma a permitir a sua
instalao no Windows 95/98/NT. No prottipo o funcionamento do driver foi testado
apenas com o Windows 95 e com o Windows 98.
De forma complementar a documentao SDK/DDK existe uma srie de fontes
exemplificando como os diversos tipos de drivers devem ser programados. Para a
programao do driver foi utilizado como base o programa exemplo da placa NE2000. Este
pacote contm ainda as bibliotecas/ferramentas necessrias para permitir a compilao/link
do driver.
C2 Softlce NuMega
A programao de um driver no uma operao trivial. A sua ligao direta com o
sistema operacional acrescenta um nmero grande de detalhes que precisam ser atendidos
durante a programao. Por esse motivo durante o aprendizado da programao de um
driver muitos detalhes so entendidos apenas quando observado o comportamento do driver
durante a sua execuo. A utilizao de um debugger pode auxiliar neste processo,
123
permitindo que o programa seja executado passo a passo e os valores/fluxo de execuo
possam ser observados. Os ambientes de desenvolvimento j incorporam poderosas
ferramentas de debug, todavia como programao de um driver no uma tarefa comum
aos programadores, estas ferramentas de debug no do suporte a estes tipos de programa.
Estas operaes de debug ficam ainda mais difceis quando a programao de um kernel
driver, como um driver de rede. Neste tipo de programao no permitida operaes de
interface, como a leitura de dados do teclado ou a apresentao de janelas.
Para permitir o possibilidade de debug de um driver existe a ferramenta chamada
Softlce, onde a operao de debug feita dentro de um ambiente especial, utilizando-se
dois computadores ligados pela serial. Um computador possui o driver que deve estar
compilado com o modo debug ativado. O outro computador usado para visualizar as
linhas do cdigo que esto sendo executadas. A utilizao de uma ferramenta do tipo
Softlce durante a construo de um driver quase obrigatria, j que a ferramenta de debug
que acompanha o SDK no funciona facilmente em drivers do tipo kernel, precisando de
verses de debug especficas do sistema operacional.
C3 Borland C++ 3.1
A programao para Windows ou a programao de um driver acrescenta um
nmero muito grande de detalhes. Quando o objetivo entender o funcionamento de um
cdigo, ou experimentar a programao de uma placa, os detalhes do sistema operacional
podem dificultar ainda mais esta tarefa. Por este motivo foi escolhido aprender sobre o
funcionamento da placa a partir do desenvolvimento de programas DOS. Assim possvel
124
concentrar nos detalhes de funcionamento da placa e no nas particularidades do sistema
operacional. Para construo destes programas de teste foi utilizado o Borland C++.
C4 Visual C++ 6.0
Para a programao do driver no foi utilizado o ambiente de desenvolvimento
Visual C++ apenas o seu compilador de linha. O SDK/DDK contm somente os scripts
necessrios para a compilao, por isso necessrio a existncia de um compilador
instalado.
C5 Word 97
Usado para a montagem deste texto.
C6 NDIScope for Windows
Este programa pode ser encontrado no site www.pcausa.com {Printing
Communications Assoc., Inc.) e permite a monitorao dos pacotes que esto trafegando
pela rede. Este programa foi utilizado para verificar se o pacote enviado por uma estao
estava sendo recebido corretamente pela estao destino. Alguns erros na montagem do
pacote pela estao receptora foram detectados a partir da comparao dos pacotes
apresentados neste programa.
C7 BayCom
Como aprender a utilizar um hardware sem ter a certeza de que ele est funcionando
corretamente? Este trabalho iniciou do zero, com a montagem e soldagem dos cabos de
conexo ao rdio. Durante o desenvolvimento aconteceram alguns problemas relativos ao
funcionamento do hardware. Depois de diversas semanas de trabalhos perdidos a estratgia
125
de teste do driver foi modificada. Sempre que alguma modificao na configurao do
hardware ou a substituio de algum componente da placa era feito o programa Baycom
(conhecido pelos rdio-amadores) era usado para verificar se o hardware estava
funcionando corretamente. Somente depois desta verificao que os teste com o prottipo
eram reiniciados.
C8 JNOS
Como aprender o funcionamento de um hardware sem a existncia de um programa
exemplo? Felizmente o programa JNOS distribudo com o cdigo fonte. Este programa
no especfico para o hardware utilizado no projeto, mas pode ser configurado para ser
usado com placas USCC padro Baycom. A partir do estudo deste cdigo fonte, que entre
mdulos, arquivos de cabealho e configurao possui mais de 300 arquivos, foi possvel
entender o princpio de funcionamento da USCC.
C9 Sourcer
Esta uma antiga ferramenta que a partir de um programa executvel um programa
assembler equivalente gerado. Esta ferramenta foi utilizada algumas vezes para verificar o
funcionamento de algumas partes do programa Baycom. O Baycom no possui cdigo
fonte aberto.
C10 Adobe Acrobat Reader
Alguns documentos encontrados na Internet estavam no formato PDF.
C11 GSV1EW32 2.1 - A Ghostscript graphical interface
Utilizado para a leitura de alguns artigos encontrados na Internet.
126
C12 Terminal do Windows
O processo de debug de um driver diferente do processo tradicional de debug de
um programa escrito para Win32. Para complementar e muitas vezes simplificar o
funcionamento do Softlce, j que a verso do Softlce utilizada no projeto era de avaliao
(30 dias), foi implementado algumas operaes de debug utilizando diretamente a porta
serial do computador. Assim, algumas mensagens de debug do driver (aquelas como
"passei por aqui", ou "o valor atual ...") foram "impressas" usando a porta serial e um
computador adicional com um programa terminal para visualizao destas mensagens.
127
Apndice D - SCRIPT PARA INSTALAO DO DRIVER DE REDE
No existe na documentao da Microsoft referncia de como construir um script
para a instalao de um driver de rede. A documentao apresenta apenas as diretrizes
gerais de como construir scripts para a instalao de dispositivos. O script apresentado a
seguir foi feito com base no scripl para a instalao da NE2000. Esta referncia foi retirada
do CD de instalao do Windows 95, mas tambm compatvel com o Windows 98.
Selecionar Adaptadores de fede EJ
.. t ~ ~ ~ ~ J '
' . ~ , .
. ~ : ":--.
. ; ..
.. . . .
-."
",.-.
'.
Figura D.I - Janela do Windows 98 para adicionar o driver da rede sem fio
[Version]
Signature=$CHlCAGO$
Class=Net
Provider=%V PROVIDER%
(rnanufacturer]
%V_MANUFECT%=parau_drivers
[parau drivers]
%*RADll.desc%=RADIOl_ndi, *RADIOl
[RADIOl_ndi]
AddReg=RADIOl ndl reg
DeviceID=RADIOl
Maxlnstance=l
[RADI01_ndi_reg]
HKR,Ndi,DevicelD,,RADI01
;->from Netnovel.inf
HKR,,DevLoader,,*ndis
HKR,,DeviceVxDs,,radio.sys
;->end from Netnovel.inf
/Parmetros especficos do driver
HKR,, Address,,340
HKR,, IRQ,,7
; NDIS Info
HKR,NDIS,LogDriverName,,RADIOl
HKR,NDIS,Maj orNdisVersion,1, 03
HKR,NDIS,MinorNdisVersion, 1, OA
HKR,NDIS\NDIS3,DriverName, , "RADI01$"
HKR,NDIS\NDIS3,FileName, , "*RADI01"
; Interfaces
HKR,Ndi\Interfaces,DefUpper, , "ndis3"
HKR,Ndi\Interfaces,DefLower,,"serial"
HKR,Ndi\Interfaces,UpperRange,,"ndis3
HKR,Ndi\Interfaces,LowerRange,,"seria
; Install sections
HKR,Ndi\Install,ndis3,,"RADIO.Install
HKR, Ndi\Remove,ndi s3,,"RADIO.Remove"
[RADIO.Install]
AddReg=RAD10. AddRe g
CopyFiles=RADIO.CopyFiles
[RADIO.AddReg]
HKR,,DevLoader, , *ndis
[RADIO.CopyFiles]
RADIO.SYS
[RADIO.Remove]
AddReg=RADIO.Rmv.AddReg
CopyFiles=RADIO.Rmv.CopyFiles
[RADIO.Rmv.AddReg]
[RADIO.Rmv.CopyFiles]
RADIO.SYS
[DestinationDirs]
DefaultDestDir =11 ; LDID_SYS
RADIO.CopyFiles =11
[strings]
V_MANUFECT="Parau UFPR"
V_PR0VIDER="Parau UFPR"
*RADI01.desc="Rede via Rdio"
129
Apndice E - REPRODUO DO EXPERIMENTO PRTICO
1) Preparar os cabos para a ligao da placa ao rdio (veja Apndice A).
2) Configurar dois computadores com o sistema operacional Windows 95 ou 98.
3) Configurar a placa para a IRQ 7 e o ADDR 0x340 [8],
4) Instalar placas verificando conflitos de IRQ e endereamento com outros
dispositivos.
5) Verificar o funcionamento da placa/rdio/cabos usando o programa Baycom.
Para conectar utilize o comando CONN <nome e s t a o 3.
6) Instalar o driver no Windows (use script do Apndice D). Uma forma alternativa
para a instalao do driver da rede sem fio o de instalar a placa NE2000 e
depois substituir o arquivo NE2000.SYS pelo arquivo do driver da rede sem fio
(Captulo 5).
7) Desinstalar do Windows o "Clientes para rede Microsoft" de forma a desligar o
processo de browsing (Captulo 5).
8) Instalar e configurar o protocolo TCP-IP.
9) Reinicializar o computador.
Para que a visualizao de pginas HTML funcione necessrio a instalao e
configurao do Personal Web Server.
130
REFERNCIAS BIBLIOGRFICAS
Livro/Manual:
[1] BAKER, Art. The Windows NT Device Driver Book. Prentice Hall. 1997.
[2] COLCHER, Srgio, LEMOS, Guido, SOARES, Luiz Fernando Gomes. Redes de
Computadores. Das LANs, MANs e WANs s Redes ATM, Segunda Edio. 1995.
[3] DHAWAN, Sanjay. Networking Device Drivers. VNR (Van Nostradan Reinhold)
International Thomson Publishing Inc. 1995.
[4] GEIER, Jim. Wireless LANs: Implementing Interoperable Networks. Macmillan
Technical Publishing. 1999.
[5] GIBILISCO, Stan Handbook of Radio and Wireless Technology. McGraw-Hill.
1998.
[6] LAVERGHETTA, Thomas S. Microwaves and Wireless Simplified. Artech House
Publishers. 1998.
[7] Microsoft Developer Network Library. October 1997.
[8] Manual de Hardware BAY96_V2. Microlaser Sistemas Optoeletrnicos
Microcomputao e Comunicao.
[9] Networking Basics: Self-Study Training Kit. Microsoft Corporation. 1994.
[10] STALLINGS, William. Operating Systems Internals and Design Principles.
Chapter 8/11. Prentice Hall. 1998.
131
[11] TANENBAUM, Andrew S. Modern Operating Systems. Chapter 10. Prentice Hall.
1992.
[12] TISCHER, Michael. PC Internt System Programming. Chapter 7. Abacus. 1995.
[13] VISCAROLA, Peter G., MASON, W. Anthony. Windows NT Device Driver
Development. OSR Open System Resources, Inc. Macmillan Technical Publishing.
1999.
Artigo:
[14] BALAKRISHNAN, Hari, PADMANABHAN, Venkata N., SESHAN, Srinivasan,
KATZ, Randy H A Comparison of Mechanisms for Improving TCP
Performance over Wireless Links. Computer Science Division, Department of
EECS, University of California at Berkeley.
[15] CHHAYA, S. Harshal, GUPTA, Sanjay. Performance modeling of asyncrhonous
data transfer methods of IEEE 802.11 MAC protocol. Wireless Networks Journal
No 3. Baltzer Science Publishers. August 1997.
[16] EWERTON, Peres Cesrio. Estudo do Desenvolvimento de Protocolos de Rede em
Ambiente Windows NT - Microsoft. Comunicao interna. UFPR. 2000.
[17] FORMAN, Geroge H., ZAHORJAN, John. The Challenges of Mobile Computing.
Computer Science and Engineering. University of Washington. March 9, 1999.
[18] TOURRILHES, Jean. The improvement offered by PiggyData and Packet Frame.
Packet Frame Grouping works. Proc. of PIMRC '98.
[19] TOURRILHES, Jean. Robust Broadcast: Improving the Reliability of Broadcast
Transmissions on CSMA/CA. Personal Systems Laboratory. HP Laboratories
Bristol. HPL-98-38. February, 1998.
Especificao:
[20] IEEE 802.11 : Wireless LAN medium access control (MAC) and physical layer
(PHY) specifications.IEEE.
[21] IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs).
Grouper.ieee.org/groups/802/15/pub/wpan-faq htm
[22] The modular BayCom USCC-Card: USCC>4.
http ://www. bay com. or^ayweb/news/uscc4. htm
[23] The Official Bluetooth Website, www.bluetooth.com
[24] ZiLOG Serial Communication Controllers Products. ZiLOG Technical Manual
Z8030/Z8530 SCC Serial Communication Controllers.
www.zilog.com/products/scc.html
Revista.
[25] Configuring Browser Options for WinNT, Win95 and WFW. Exploring Windows
NT, June 1996. The Cobb Group. Cpia do artigo em
www. microsoft .com/TechNet/winnt/ntwrkstn/Tips/ewn9662. asp.
[26] DEVONEY, Chris. A Nao sem Fio. Windows Computing - Pg. 52. Julho de 1994.
133
[27] HARVEY, David A., SANTALESA, Richard. A Comunicao sem Fio Torna-se
Realidade. Byte Junho 1994, Pg. 65 - 69.
[28] Indstria Aposta nas redes Wireless. LanTimes Brasil. Junho 1997 Vol. 3 Edio 4
Pg 28.
[29] SOUZA , Paulo Henrique de. Infocomunicao Pessoal por Wireless. Network
World Dezembro 1998.
Revista na Internet:
[30] AOL ter acesso Web por celular. Info Online - 7/02/00.
http://www2.uol.com.br/info/infonews/022000/07022000-14.shl
[31] Brasil ter portal para transmisso wireless. Tera-feira, 11 de janeiro de 2000 -
09hl7. Infonews. http://www2.uol.com.br/info/infonews/012000/! 1012000-0.shl
[32] CRESPO, Rose. Rede Tess vai transmitir dados. 20/10/99. Info Online - Planto
Info, www.infoexame.com.br
[33] CRESPO, Rose. Celular do futuro. - Linha Cruzada - Info Online - No 16 - 15/12/99.
www. infoexame. com. br
[34] ELIAS, J. IDC prev que 61 milhes de usurios usaro a Web sem fio em 2003.
IDG Now - 9/02/00. www.uol.com.br/idgnow/inet/inet2000-02-08f.shl
[35] FUOCO, Tais. Vsper realiza primeira chamada via WLL. Planto Info - Info
Online - 21/10/99. www2.uol.com.br/info/infonews/101999/21101999-ll.shl
134
[36] GARCIA, Karina. Internet via celular chega ao Brasil. - IDG Now - 10/02/00.
www.uol.com.br/idgnow/telco/telco2000-02-09e.shl
[37] Usurios de TDMA j so 30 milhes no mundo. 01/12/99 Info Online - Planto
Info, www.infoexame.com.br
[38] Wireless: preo ainda no competitivo. ComputerWorld - Julho 1998.
http://www.uol.com.br/computerworld/computerworld/260/tele_05.htm
[39] Wireless. IDG. http://idg.uol.com.br/idgnow/2000/especial_tecnologias
Internet:
[40] 1895: Marconi's Invention, www.alpcom.it/hamradio/marconi.html
[41] BRUNERO, Angelo, VALORI, Andrea. The Invention of the Radio.
www.alpcom.it/hamradio/radeng.html, (IK1QLD Angelo Brunero and IK1QFT
Andrea Valori).
[42] Comunicao de Dados Via Celular. Trellis Produtos para Comunicao de Dados
Ltda. 1999. http://www.trellis.com.br/celular.html
http://www.uol.com.br/networkworld/networkworld/nwt05/techup_02.htm
[43] COUEY, Anna The Birth Of Spread Spectrum.
http://www.sirius.be/lamarr.htm
[44] DANG, Hui. Origin and History of Ethernet
http://bugs.wpi.edu: 8080/EE53 5/hwk96/hwk2cd96/dang/dang.html
135
[45] Ethernet Specification. WPI EE535 Telecommunications and Transmission
Technologies Course Homepage.
http://bugs.wpi.edu: 8080/EE535/hwk3cd95/harveywl.html
[46] Network - Air Interfaces. Lucent Technologies.
www. lucent, com/wireless/products/networks/airinter.html
[47] PCLT -- H. Gilbert. Ethernet. 12 Apr 1995.
http://pcIt.cis.yaIe.edu/pclt/COMM/ETHER.HTM
[48] Selecting wireless LAN technology. Proxim.
http://www.proxim.com/learn/whiteppr/select.shtml
[49] SILVA, Adailton J. S. Redes Wireless. RNP. 1999.
http : //vexxor. virtualave. net/redes/wireless. htm
[50] TAPR archives AX.25 Amateur Packet-Radio Link-Layer Protocol Version 2.2.
November 1997. http://www.tapr.org/tapr/html/ax25.html
[51] What is a wireless LAN? http://www.proxim.com/learn/
[52] What is W-CDMA. NEC
http : //www. nec. com. sg/nems/wcdma/whatis/what_bot. htm

Você também pode gostar