Abstract. This work explores the development of adaptive applications for widely used IEEE 802.11 wireless networks. We describe the most challenging
problems of programming for these networks and present useful techniques to
solve them. We propose a novel adaptive algorithm that improves the efficiency
of datagram streaming over IEEE 802.11 networks. It uses the signal quality
information to adapt the transmission and, by doing this, improves the network
utilization. In addition, this work presents the methods to interact, at the application layer, with IEEE 802.11 interfaces in the Linux and Windows operational
systems.
Resumo. Devido ao crescente uso do protocolo IEEE 802.11 nos dias atuais,
este trabalho explora o desenvolvimento de aplicaes adaptativas para redes
IEEE 802.11. Com essa finalidade, apontamos os principais novos desafios
e problemas relacionados ao desenvolvimento de aplicaes para essas redes,
assim como tcnicas teis para resolv-los. Apresentamos um novo algoritmo
adaptativo baseado na qualidade do sinal para adaptar a transmisso de fluxos
contnuos s condies da conexo, aumentando assim a eficincia de utilizao
da rede. Alm disso, descrevemos os mtodos para, na camada de aplicao,
interagir com as interfaces IEEE 802.11 em sistemas Linux e Windows.
1. Introduo
As redes sem fio IEEE 802.11 (Wi-Fi) firmaram-se como o padro de facto para redes
locais sem fio por oferecem mobilidade e alta capacidade de vazo a custos relativamente
baixos. Trazem, porm, novos desafios ao desenvolvimento de aplicaes, como a ocorrncia de migraes (handoffs) e a alta variabilidade da qualidade da conexo.
Apesar das diferenas entre as redes sem fio e as redes cabeadas tradicionais, do
ponto de vista do desenvolvimento de aplicaes, as redes sem fio IEEE 802.11 tm sido
muitas vezes tratadas como redes Ethernet. Alm disso, os protocolos UDP e TCP, que
geralmente so utilizados na camada de transporte, no foram projetados levando em considerao as caractersticas das redes sem fio, mas sim das redes Ethernet cabeadas. A fim
de adequar esses protocolos s redes sem fio, foram feitas propostas para a otimizao de
TCP [Balakrishnan et al. 1997, Pilosof et al. 2003] e de UDP [Larzon et al. 2004], mas
essas otimizaes, em geral, no foram amplamente adotadas.
Dado que as abstraes providas por TCP e UDP no so plenamente capazes de
lidar com as peculiaridades das redes IEEE 802.11, uma das alternativas a implementao de tcnicas adaptativas na camada de aplicao. Deste modo, este artigo tem dois
objetivos: prover uma referncia aos desenvolvedores interessados em desenvolver aplicaes adaptativas para redes IEEE 802.11 e, principalmente, apresentar uma estratgia
adaptativa que, implementada na camada de aplicao, seja capaz de aumentar a eficincia de transmisso em redes IEEE 802.11. Para cumprir esses objetivos, o contedo aqui
exposto est organizado da seguinte maneira: a Seo 2 discute os trabalhos relacionados
e contextualiza este trabalho em relao a essas referncias. A Seo 3 apresenta os novos
desafios e problemas referentes ao desenvolvimento para redes IEEE 802.11. A Seo 4
descreve algumas prticas e tcnicas teis para a soluo desses problemas. A Seo 5
introduz os mtodos que podem ser utilizados para interagir com as interfaces de rede sem
fio a partir da camada de aplicao e, sobretudo, mostra como podem ser obtidas e interpretadas as informaes sobre a qualidade de sinal e de conexo em redes IEEE 802.11.
A Seo 6 descreve os princpios e a implementao de uma estratgia adaptativa que,
baseada na qualidade do sinal, aumenta significativamente a eficincia das transmisses
sobre redes IEEE 802.11. Por fim, a Seo 7 traz as consideraes finais deste trabalho.
2. Trabalhos relacionados
O nmero de trabalhos que abordaram IEEE 802.11 a partir da camada de aplicao
relativamente pequeno, pois a maioria concentra-se em camadas inferiores; por exemplo, na otimizao da camada MAC [Tan and Guttag 2005], dos protocolos de transporte [Pilosof et al. 2003], ou na caracterizao do trfego [Muoz et al. 2001].
Ao observar as pesquisas realizadas pode-se notar uma lacuna na qual se esquece
que na camada de aplicao que residem as maiores possibilidades para adaptao, pois
nela que se podem aplicar tcnicas adaptativas baseadas nos requisitos das aplicaes,
o que no poderia ser feito nos elementos de rede e protocolos subjacentes, sem prejuzo
generalidade dos mesmos. Contudo, olhando para o passado recente, possvel ver
algumas razes para a escassez de pesquisa nessa rea. A principal foi, sem dvida,
a limitada capacidade de interao entre a aplicao e as interfaces de rede. Mas essa
limitao foi muito reduzida com as novas verses de NDIS (Network Driver Interface
Specification) e com a incorporao ao ncleo do Linux de ferramentas para redes sem
fio (Wireless Tools). Outra razo para a lacuna, mas que ainda persiste, a dificuldade
de conduo de experimentos prticos sobre redes IEEE 802.11, especialmente daqueles
relacionados mobilidade, pois a alta variabilidade intrnseca s redes sem fio dificulta a
execuo de experimentos representativos e reprodutveis.
A fim de tentar sanar essa lacuna, este trabalho concentra-se na camada de aplicao, apontando no apenas os principais problemas vinculados programao para redes
IEEE 802.11, mas tambm algumas tcnicas que podem ser teis sua soluo. Veremos
que, apesar de ainda ser difcil conduzir pesquisas empricas em redes sem fio, possvel implementar estratgias adaptativas capazes de otimizar o desempenho das aplicaes
executadas sobre redes IEEE 802.11.
dizer que no contestamos a importncia dos mecanismos adaptativos de IEEE 802.11, pois eles
foram e so fundamentais, cada um a seu modo, para a ampla utilizao dessas redes. Mas importante
chamar a ateno para as conseqncias negativas que esses mecanismos trazem para o projeto de aplicaes
adaptativas para redes IEEE 802.11.
A importncia de monitorar as taxas de transmisso reside tambm na interpretao confivel das mtricas de adaptao, pois as mesmas taxas de erro no podem ser
interpretadas da mesma forma, quando obtidas usando-se diferentes taxas de transmisso;
essa mesma lgica aplica-se tambm a outras mtricas de adaptao, tais como a latncia
e a vazo.
Tambm importante observar que diferentes ambientes de execuo (computadores, NICs, pontos de acesso e as respectivas configuraes) podem implicar diferentes
comportamentos de perdas de pacotes e de latncia. A latncia, por exemplo, pode variar
significativamente aps a execuo de um handoff. Sendo assim, algoritmos adaptativos
robustos no devem usar limiares de adaptao fixos (hard coded), mas devem valer-se
de mecanismos de calibrao capazes de determinar dinamicamente os limiares de adaptao.
A carga total na rede seria uma mtrica importante para o controle de admisso em
redes IEEE 802.11, porm esta mtrica no est disponvel para as aplicaes. Nas redes
IEEE 802.11, a capacidade dos pontos de acesso compartilhada pelas unidades mveis,
de tal sorte que uma unidade mvel pode exceder a capacidade do sistema e, dessa forma,
interferir negativamente no trfego de outras unidades [da Conceio and Kon 2003]. Na
ausncia de mtodos eficientes para controle de admisso de fluxos, preciso que as aplicaes faam uso moderado dos recursos de rede; por exemplo, adotando estratgias incrementais de utilizao dos recursos. Isso se aplica especialmente aos sistemas baseados
em UDP que, por no possurem mecanismos integrados para controle de congestionamentos, podem facilmente exceder a capacidade de transmisso da rede.
4.3. Recuperao de erros
Devido s razes expostas anteriormente, as redes IEEE 802.11 esto sujeitas a taxas
maiores de perdas de pacotes do que as redes cabeadas tradicionais, mas o impacto dessas perdas pode ser minimizado pela utilizao, na camada de aplicao, de tcnicas para
recuperao de erros, tais como: Automatic Repeat reQuest (ARQ) e Forward Error Correction (FEC). Os mecanismos de ARQ [Sinha and Papadopoulos 2004] baseiam-se no
reenvio de pacotes2 e os de FEC, por sua vez, transmitem informao redundante nos pacotes, de tal forma que, perdido um deles, este pode ser reconstrudo [Muoz et al. 2001].
Em termos de uso de banda, FEC costuma ser menos eficiente do que ARC, mas
em geral capaz de recuperar as perdas mais rapidamente do que ARQ. Nas redes IEEE
802.11, entretanto, comum que a perda de pacotes ocorra em rajada (em seqncia),
especialmente quando a conexo j se encontra bastante deteriorada; nessas situaes,
ARQ mais adequado do que FEC [Vandalore et al. 2001], pois, ao se perderem pacotes
em seqncia, normalmente perdem-se tambm as informaes usadas para reconstrulos. As tcnicas para minimizao das perdas de pacotes podem ser aplicadas a todos os
pacotes da transmisso, ou podem ser aplicadas apenas para evitar a perda dos pacotes
considerados mais importantes. Por exemplo, na transmisso de fluxos de vdeo H.264,
normalmente feita sobre UDP, existem pacotes do tipo parameter set que so essenciais
para a decodificao do vdeo. Recomenda-se que a transmisso desses pacotes seja protegida [Etoh and Yoshimura 2005], quer pela aplicao de FEC, de ARQ, pela simples
duplicao de envio desses pacotes, quer pelo uso de canais confiveis.
2 A prpria camada MAC de IEEE 802.11, ao fazer retransmisses, implementa um mecanismo de ARQ.
de ser executado no espao do ncleo do sistema operacional, NDIS pode ser acessado pela
camada de aplicao atravs de chamadas IOCTL ao driver NDISPROT, que se encontra disponvel na
Web.
sta-|
Quality
|
tus | link level noise |
0000 100
224
0
0000
55. 218. 163.
Discarded packets
nwid crypt
frag
0
0
0
0
0
0
| Missed | WE
retry
misc | beacon | 16
6 122829
0
1
0
0
4 Vide
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.html.
210
3.5
200
190
2.5
180
170
1.5
160
0
20
40
60
80
100
Tempo (s)
120
140
160
2.5
Taxa de transmisso (Mbps)
Taxa de recepo
Sinal
Rudo
220
1.5
0.5
0
1
1.05
1.1
1.15
1.2
1.25
SignaltoNoise Ratio (SNR)
1.3
1.35
1.4
fazer alm de interromper a transmisso, mas pode-se ainda tentar notificar o usurio das
condies de conexo ou tentar, quando disponveis, outras formas de conexo.
Os valores de , e podem ser encontrados de maneira analtica e com interveno humana, como fizemos em carter ilustrativo na Seo 6, ou podem ainda ser
descobertos automaticamente.
6.1.1. Descoberta automtica de , e
A definio automtica de trivial; para faz-lo, basta armazenar o menor valor de SNR
dentre os valores de SNR medidos a cada recepo de pacotes. Os valores de e podem
ser definidos a partir da correlao entre a taxa de perda de pacotes e o valor de SNR. Podemos definir e como os menores valores de SNR, de tal modo que as taxas de perdas
de pacotes sejam, por exemplo, inferiores a 1% e 25%, respectivamente. Para fazer essa
correlao, a cada segundo de transmisso, medimos a Taxa de Perdas de Pacotes (TPP)
e o valor de SNR e atualizamos e segundo o pseudocdigo apresentado na Figura 3.
se [(T PP < 1%) e (SNR < )] ento
[( SNR)/16]
fim se
se [(T PP < 25%) e (SNR < )] ento
[( SNR)/16]
fim se
Figura 3. Algoritmo para atualizao de e .
2
Taxa de recepo (Mbps)
1.35
Taxa de recepo
SNR
Alfa
Beta
1.3
1.25
1.5
1.2
1.15
1.1
2.5
0.5
1.05
0
0
100
200
300
Tempo (s)
400
500
usamos o algoritmo apresentado na Figura 3 (com fator de amortizao 16) para correlacionar os valores de e s taxas de perda de pacotes de 1% e 25%, respectivamente.
Na figura, a variao do valor de SNR ilustra a mobilidade presente no experimento, que
foi a razo principal das quedas na taxa de recepo. A figura mostra ainda que os valores de e convergem para 1,13 e 1,09, respectivamente. Observe que a transmisso
sofre quedas bruscas na taxa de recepo e que essas quedas ocorrem no por acaso
quando o valor de SNR cai ao patamar de . Repare tambm que o instante da queda
na taxa de transmisso e o instante em que SNR cruza aproximam-se conforme o
algoritmo ajusta os valores de . Em outras palavras, a aproximao de SNR do valor de
um indcio forte de problemas futuros na conexo. Note tambm que a transmisso
normalmente est comprometida quando SNR cai ao patamar de .
Resta mencionar que, dado que a funo usada para atualizao de e monotonicamente decrescente, preciso estabelecer um critrio de parada para o algoritmo;
caso contrrio, a acuidade dos limiares ser deteriorada pela sutil mas contnua
absoro dos casos excepcionais que podem ocorrer ao longo da transmisso. Recomendamos que se use apenas a estabilidade do valor de como critrio de parada; pois, em
nossos experimentos, verificamos que normalmente pode-se parar o algoritmo quando as
atualizaes de forem da ordem de 1% do seu valor absoluto. Alm disso, usamos apenas no critrio de parada, pois na faixa de operao de a transmisso menos estvel,
o que dificulta a definio de um critrio de convergncia.
Contudo, apesar da utilidade da determinao automtica dos limiares de adaptao, notamos que na maioria das situaes prticas os valores para , e precisam ser
determinados apenas uma vez para cada ambiente de execuo. Aps terem sido determinados esses limiares de adaptao, uma nova busca s se faz necessria caso ocorram
mudanas no ambiente, tais como a execuo de handoffs ou o uso de um NIC diferente.
6.2. Implementao
Na implementao da nova estratgia adaptativa proposta neste trabalho, a unidade mvel
monitora os valores de SNR e (a cada segundo) notifica ao servidor o nvel de operao.
O servidor, por sua vez, ajusta a taxa de transmisso de acordo com o nvel de opera-
mencionado na Seo 4.1, o tamanho dos pacotes, quando possvel, no deve superar 1.472
octetos. Entretanto, para gerar fluxos de 2 Mbps, ou mais, tais como os necessrios para transmisso de
TV Digital, preciso utilizar pacotes maiores do que esse valor; por essa razo utilizamos pacotes de 2.000
octetos. Alm disso, a utilizao de valores redondos simplifica apresentao dos algoritmos, sem, no
entanto, afetar a sua generalidade.
ambos os algoritmos alcanam a taxa de recepo de 2 Mbps. Aos 30s, porm, os algoritmos comeam a sofrer os efeitos da mobilidade e da queda na qualidade do sinal. Mas,
durante essa fase, o algoritmo adaptativo opera uma srie de adaptaes com o objetivo de
reduzir o desperdcio da capacidade da rede. Quando a qualidade da conexo volta a ser
alta, entretanto, uma questo mostra-se fundamental para a diferena de comportamento
entre os algoritmos: o algoritmo adaptativo retoma mais rapidamente as taxas normais de
recepo do que o algoritmo no adaptativo.
3.5
4
Taxa de recepo do algoritmo no adaptativo
Taxa de recepo do algoritmo adaptativo
Nvel de adaptaao
3
3
1.5
Nvel de adaptao
2.5
1
0
0.5
0
20
30
40
50
60
70
80
Tempo (s)
Algoritmo
No adaptativo
Adaptativo
Transmitido
1.848 Mbits
1.659 Mbits
Recebido
1.390 Mbits
1.604 Mbits
Taxa Mdia
1,505 Mbps
1,736 Mbps
Eficincia
0,75
0,96
do que para o adaptativo. Em nmeros, o algoritmo adaptativo alcanou 96% de eficincia6 contra apenas 75% do algoritmo no adaptativo. Alm disso, atingiu taxas mdias
de recepo 15% maiores do que o algoritmo no adaptativo (1,736 Mbps contra 1,505
Mbps). Ademais, poderamos traar cenrios em que essa diferena seria ainda mais
acentuada, como por exemplo experimentos sujeitos a longos perodos de desconexo.
7. Concluses
Neste artigo apresentamos os principais problemas relacionados ao desenvolvimento de
aplicaes adaptativas para redes IEEE 802.11, assim como as tcnicas que podem ser
usadas para resolver esses problemas.
A contribuio central deste trabalho, contudo, foi a proposta de uma nova estratgia adaptativa que, ao adequar as transmisses qualidade do sinal, reduz o desperdcio
de recursos da rede e, conseqentemente, aumenta a eficincia das transmisses. Destacamos que o algoritmo adaptativo proposto obteve 96% de eficincia nas transmisses
sujeitas mobilidade, enquanto transmisses no adaptativas atingiram apenas 75% de
eficincia. Alm disso, a estratgia adaptativa proposta suficientemente genrica para
ser aplicada em diferentes ambientes de redes sem fio, sendo que grande parte dessa generalidade deve-se ao algoritmo para a descoberta automtica dos limiares de adaptao
, e .
As redes IEEE 802.11, at o presente momento, foram erroneamente tratadas
como redes Ethernet; isso deve-se principalmente ao fato de que no existiam formas
padronizadas de interao entre as aplicaes e as interfaces para essas redes. Entretanto,
esta pesquisa demonstrou, por meio de implementaes concretas, que as peculiaridades
das redes IEEE 802.11 podem e por vezes devem ser tratadas pelos desenvolvedores
na camada de aplicao. Alguns servidores de fluxos j implementam estratgias adaptativas, porm estas estratgias so inadequadas s redes sem fio; preciso adequar essas
implementaes. Ademais, este trabalho tambm foi elaborado com o objetivo de servir
como referncia para o desenvolvimento de aplicaes cada vez mais adequadas s novas
realidades trazidas pelas redes sem fio e, em especial, pelas redes IEEE 802.11. Desse
modo, esperamos incentivar a pesquisa e o desenvolvimento de tcnicas adaptativas para
redes IEEE 802.11, cujo aprimoramento nos parece um tema urgente.
Referncias
Balakrishnan, H., Padmanabhan, V. N., Seshan, S., and Katz, R. H. (1997). A comparison of
mechanisms for improving TCP performance over wireless links. IEEE/ACM Transactions on
Networking (TON), 5(6):756769.
6 Eficincia
definida como a quantidade de dados transmitida dividida pela quantidade de dados recebida. Desse modo, a eficincia to melhor quanto mais prxima for de 1.
da Conceio, A. F. and Kon, F. (2003). Adaptao de fluxos contnuos UDP sobre redes IEEE
802.11b. In V Workshop de comunicao sem fio e computao mvel (WCSF), pages 91101,
So Loureno-MG, Brazil.
da Conceio, A. F. and Kon, F. (2006). O uso de pares de pacotes para monitorao da taxa de
transmisso e da capacidade de vazo em redes IEEE 802.11. In 24th Brazilian Symposium on
Computer Networks (SBRC), Curitiba-PR, Brazil.
Etoh, M. and Yoshimura, T. (2005). Advances in wireless video delivery. Procedings of the IEEE,
93(1):111122.
Gast, M. S. (2002). 802.11 Wireless Networks. The definitive guide. OReilly Media.
Haratcherev, I., Taal, J., Langendoen, K., Lagendijk, R., and Sips, H. (2005). Automatic IEEE
802.11 rate control for streaming applications. Wireless Communications and Mobile Computing, 5:421427. Special issue on Radio Link and Transport Protocol Engineering for FutureGeneration Wireless Mobile Data Networks.
Heusse, M., Rousseau, F., Berger-Sabbatel, G., and Duda, A. (2003). Performance anomaly of
802.11b. In 22nd Conference on Computer Communications (INFOCOM), volume 2, pages
836843, San Francisco, USA.
Ikkurthy, P. and Labrador, M. A. (2002). Characterization of MPEG-4 traffic over IEEE 802.11b
wireless LANs. In Annual IEEE Conference on Local Computer Networks (LCN), volume 27,
pages 421430, Tampa, USA.
Larzon, L.-A., Degermark, M., Pink, S., Jonsson (Ed.), L.-E., and Fairhurst (Ed.), G. (2004). RFC
3828 - The Lightweight User Datagram Protocol (UDP-Lite).
Muoz, L., Garcia, M., Choque, J., and Mhnen, R. A. P. (2001). Optimizing internet flows over
IEEE 802.11b wireless local area networks: A performance-enhancing proxy based on forward
error correction. IEEE Communication Magazine, 39(12):6067.
Pilosof, S., Ramjee, R., Raz, D., Shavitt, Y., and Sinha, P. (2003). Understanding TCP fairness over
wireless LAN. In 22nd Conference on Computer Communications (INFOCOM), volume 2,
pages 863872, San Francisco, USA.
Ramani, I. and Savage, S. (2005). SyncScan: Practical fast handoff for 802.11 infrastructure
networks. In 24th Conference on Computer Communications (INFOCOM), Miami, USA.
Schiller, J. (2000). Mobile Communications. Addison Wesley.
Sinha, R. and Papadopoulos, C. (2004). An adaptive multiple retransmission technique for continuous media streams. In 14th International Workshop on Network and Operating Systems
Support for Digital Audio and Video (NOSSDAV), pages 1621, Kinsale, Ireland.
Tan, G. and Guttag, J. (2005). The 802.11 MAC protocol leads to inefficient equilibria. In 24th
Conference on Computer Communications (INFOCOM), Miami, USA.
Vandalore, B., chi Feng, W., and Raj Jain, S. F. (2001). A survey of application layer techniques
for adaptive streaming of multimedia. Real-Time Imaging, 7(3):221235.