Modelagem e análise do protocolo IEEE 802.11

download Modelagem e análise do protocolo IEEE 802.11

of 127

Transcript of Modelagem e análise do protocolo IEEE 802.11

MODELAGEM E ANLISE DO PROTOCOLO IEEE 802.11

UFRJ

Dissertao submetida para a obteno do ttulo de

Mestre em Cincias em Engenharia de Sistemas e Computaoao Programa de Ps-Graduao de Engenharia de Sistemas e Computao da COPPE/UFRJ por

Isabela Barreto DuncanJunho 2006

MODELAGEM E ANLISE DO PROTOCOLO IEEE 802.11 Isabela Barreto Duncan

DISSERTAO SUBMETIDA AO CORPO DOCENTE DA COORDENAO DOS PROGRAMAS DE PS-GRADUAO DE ENGENHARIA DA

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSRIOS PARA A OBTENO DO GRAU DE MESTRE EM CINCIAS EM ENGENHARIA DE SISTEMAS E COMPUTAO.

Aprovada por:

Prof.a Rosa Maria Meri Leo, Dr.

Prof. Edmundo Albuquerque de Souza e Silva, Ph.D.

Prof. Aloysio de Castro Pinto Pedroza, Dr.

Prof.a Morganna Carmem Diniz, D.Sc.

RIO DE JANEIRO, RJ - BRASIL JUNHO DE 2006

DUNCAN, ISABELA BARRETO Modelagem e Anlise do Protocolo IEEE 802.11 [Rio de Janeiro] 2006 XIV, 112 p. 2006) Dissertao - Universidade Federal do Rio de Janeiro, COPPE 1. IEEE 802.11 2. Wireless LANs 3. Wi-Fi 4. Camada MAC 5. BER 6. Tangram-II 7. Trfego Web I. COPPE/UFRJ II. Ttulo (Srie) 29,7 cm (COPPE/UFRJ, M.Sc., Engenharia de Sistemas e Computao,

ii

AgradecimentosFazem parte da minha vida, pessoas fundamentais, sem as quais eu nada seria. Agradeo a Deus pela minha felicidade, minha sade, meus amigos e, especialmente, pela minha famlia. Agradeo aos meus pais Roberto e Cely pelo carinho, pela dedicao e abdicao que sempre tiveram para que eu pudesse ter as melhores oportunidades e que crescesse feliz. Agradeo a minha irm Tatiana pela conana e apoio incondicional, sempre estando ao meu lado. Atravs de vocs eu provei e comprovei a magia da vida. Agradeo professora Rosa pela grande ajuda na realizao deste trabalho. E juntamente a ela, agradeo ao professor Edmundo pela dedicao e pacincia no ensino da cincia e, principalmente, pelo lado humano que esteve presente em todos os momentos, dentro e fora de sala de aula. Agradeo a Carol, minha amiga e conselheira. Obrigada por tudo. Voc me ensinou a crescer. Agradeo aos meu colegas do LAND: Fernando, Watanabe, Flvio, Guto, GD, Diana, Bernardo, Sadoc, Fabiane, Allyson, Ana, Ed, Carolzinha e Davi. No posso esquecer da minha sobrinha Lara, que ainda nem nasceu e j tornou minha vida muito mais colorida e divertida.

iii

Resumo da Dissertao apresentada COPPE/UFRJ como parte dos requisitos necessrios para a obteno do grau de Mestre em Cincias (M.Sc.) MODELAGEM E ANLISE DO PROTOCOLO IEEE 802.11 Isabela Barreto Duncan Junho/2006 Orientadora: Rosa Maria Meri Leo Programa: Engenharia de Sistemas e Computao

A utilizao de redes sem o vem crescendo exponencialmente nos ltimos anos. As WLANs IEEE 802.11, ou redes Wi-Fi, como so chamadas atualmente, podem ser encontradas tanto em empresas e universidades como em aeroportos e lanchonetes. Isto se deve, em especial, reduo nos custos destes equipamentos bem como grande facilidade operacional que oferecem. Para se conhecer e prever as necessidades futuras que este crescimento acarretar, importante entender todos os mecanismos deste protocolo de acesso e tambm o seu comportamento, de acordo com o trfego da rede. Este trabalho prope um modelo detalhado do protocolo IEEE 802.11, implementado atravs da ferramenta Tangram-II. Destaca-se, como principal caracterstica desta ferramenta, a modularidade, permitindo que alteraes sejam facilmente realizadas. O modelo construdo foi validado atravs da comparao de resultados da simulao com resultados obtidos atravs de uma rede real, e tem , como propsito, estudar o desempenho do mecanismo 802.11, na presena de trfego web. Medidas como throughput, goodput, tempo de resposta e perdas no buer do ponto de acesso foram avaliadas conjuntamente com o crescimento da populao web. Estudamos tambm o desempenho do 802.11 quando os terminais transmitem com taxas diferentes, objetivando avaliar uma anomalia detectada em trabalhos anteriores.

iv

Abstract of Dissertation presented to COPPE/UFRJ as a partial fulllment of the requirements for the degree of Master of Science (M.Sc.) MODELING AND ANALYSIS OF IEEE 802.11 PROTOCOL Isabela Barreto Duncan June/2006 Advisor: Rosa Maria Meri Leo Department: Systems Engineering and Computer Science

In the last years, there was an exponential growth in the number of wireless networks. The IEEE 802.11 wireless local area networks, or Wi-Fi networks, have become immensely popular in residences, enterprises, universities as well as airports and restaurants. This is specially due to the reduction of the prices of these equipments and operational facilities they oer. It is necessary to understand all the mechanisms of this protocol and its behavior under dierent types of network trac to know and to preview future needs. This work proposes a model for the IEEE 802.11 mechanism based on TangramII modelling tool. Its modularity provides an easy way to make changes and improvements in the model. It is suitable for analyzing the throughput, goodput, delay and losses at access point's buer. Comparisons with results obtained from a real network is provided, validating the model. We study the performance of the IEEE802.11 as the number of web users increases. Furthermore, we consider a scenario where wireless terminals can transmit with dierent rates the trac generated by web users to evaluate an anomaly detected in previous work.

v

SumrioResumo Abstract 1 Introduo1.1 1.2 1.3 802.11 Wireless LANs . . . . . . . . . . . . . . . . . . . . . . . . . .

iv v 14 5 7

Motivao e Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . Roteiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Os mecanismos de acesso ao meio do Protocolo 802.112.1 2.2 2.3 2.4 2.5 2.6 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Funo de Coordenao X Arquitetura . . . . . . . . . . . . . . . . . 13 O Mecanismo de Carrier-Sense . . . . . . . . . . . . . . . . . . . . . . 14 Espaos entre Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Funo de Coordenao Distribuda do Protocolo 802.11 . . . . . . . 16 2.6.1 O Esquema de Backo Exponencial . . . . . . . . . . . . . . . 16

vi

2.6.2 2.6.3 2.6.4 2.6.5 2.7 2.8

O Mecanismo Bsico de Acesso ao Meio . . . . . . . . . . . . 18 O Mecanisco de Acesso ao Meio com RTS/CTS . . . . . . . . 20 Mecanismo Bsico X RTS/CTS . . . . . . . . . . . . . . . . . 21 Fragmentao de MPDUs e Descarte de Pacotes . . . . . . . . 21

Tipos e Formatos de Frames . . . . . . . . . . . . . . . . . . . . . . . 23 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3 A ferramenta de modelagem Tangram-II3.1 3.2 3.3 3.4 3.5

31

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 A Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 A Simulao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Modelos com Recompensas . . . . . . . . . . . . . . . . . . . . . . . . 35 O Gerador de Trfego 3.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Medidas do Gerador de Trfego . . . . . . . . . . . . . . . . . 38

4 O modelo do protocolo 802.114.1

40

Descrio do modelo com Mecanismo Bsico de Acesso . . . . . . . . 41 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 Objeto Source . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Objeto Wireless Terminal . . . . . . . . . . . . . . . . . . . . 43 Objeto Channel . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Objeto Access Point . . . . . . . . . . . . . . . . . . . . . . . 51 Replicao de Objetos . . . . . . . . . . . . . . . . . . . . . . 51 Os Valores dos Parmetros do Modelo . . . . . . . . . . . . . 52 vii

4.2

A Modelagem de Erros no Canal 4.2.1 4.2.2 4.2.3 4.2.4

. . . . . . . . . . . . . . . . . . . . 53

O Modelo de Gilbert-Elliot . . . . . . . . . . . . . . . . . . . . 53 O Modelo de Ebert e Willig . . . . . . . . . . . . . . . . . . . 55 Implementao e Parametrizao do Modelo de Ebert e Willig 57

Descarte de Pacotes Errneos . . . . . . . . . . . . . . . . . . 58

4.3 4.4 4.5

Simulaes e Medidas de Interesse do Modelo do Protocolo IEEE 802.11 58 Testes em Ambiente Real . . . . . . . . . . . . . . . . . . . . . . . . . 63 Concluses sobre os Resultados da Simulao do Modelo e do Ambiente Real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.6

Anomalia na Performance do 802.11 . . . . . . . . . . . . . . . . . . . 70

5 Modelagem de Usurio WEB como Fonte de Dados do Modelo 802.115.1

75

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.1.1 A Modelagem do Usurio Web . . . . . . . . . . . . . . . . . . 77

5.2 5.3

Distribuies Cauda Longa e a Simulao . . . . . . . . . . . . . . . . 82 Medidas de Interesse Obtidas na Simulao . . . . . . . . . . . . . . . 83 5.3.1 5.3.2 5.3.3 Trfego CBR X Trfego Web . . . . . . . . . . . . . . . . . . 84

Nmero de Usurios X Taxa de Transmisso . . . . . . . . . . 88 Diferentes Taxas de Transmisso no mesmo BSS . . . . . . . . 91

6 Concluso6.1

95

Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

viii

A Parmetros Ajustveis do Modelo de Simulao

99

A.1 Objeto CBR_Source_1 . . . . . . . . . . . . . . . . . . . . . . . . . 99 A.2 Objeto W ireless_Station_1 . . . . . . . . . . . . . . . . . . . . . . 100 A.3 Objeto Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 A.4 Objeto AP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Referncias Bibliogrcas

107

ix

Lista de Figuras1.1 1.2 2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 3.3 3.4 4.1 4.2 4.3 Problema do Terminal Escondido. . . . . . . . . . . . . . . . . . . . . Problema de Enfraquecimento do Sinal. . . . . . . . . . . . . . . . . . Modelo Bsico de Referncia do IEEE 802.11 . . . . . . . . . . . . . . 2 4 9

Esquema de uma rede ad-hoc. . . . . . . . . . . . . . . . . . . . . . . 13 Esquema de uma rede com pontos de acesso. . . . . . . . . . . . . . . 13 Exemplo do crescimento exponencial da CW. . . . . . . . . . . . . . . 17 Exemplo do Mecanismo Bsico de Acesso. . . . . . . . . . . . . . . . 19 Exemplo do Mecanismo de Acesso com RTS/CTS. . . . . . . . . . . . 20 A interface do Ambiente de Modelagem do Tangram-II. . . . . . . . . 32 O template de um objeto no Tangram-II. . . . . . . . . . . . . . . . . 34 O Gerador de Trfego . . . . . . . . . . . . . . . . . . . . . . . . . . 37

As medidas do Gerador de Trfego . . . . . . . . . . . . . . . . . . . 38 O modelo bsico de acesso criado com a ferramenta Tangram-II. . . . 42 O modelo de Gilbert-Elliot . . . . . . . . . . . . . . . . . . . . . . . . 54 Modelagem de erros implementada. . . . . . . . . . . . . . . . . . . . 56 x

4.4 4.5 4.6

Grco do Throughput e Goodput com BER no estado BAD de 10e-5 60 Grco da Janela de Conteno com BER no estado BAD de 10e-5 . 61 Grco do Throughput e do Goodput com BER no estado BAD de 2x10e-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.7 4.8

Grco da Janela de Conteno com BER no estado BAD de 2x10e-5 63 Grco do Throughput e do Goodput com BER no estado BAD de 10e-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.9

Grco da Janela de Conteno com BER no estado BAD de 10e-4 . 65

4.10 Grco do Throughput e do Goodput com BER no estado BAD de 10e-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.11 Grco da Janela de Conteno com BER no estado BAD de 10e-2 . 68 4.12 Grco da Perda X Probabilidade de Erro no Estado BAD (em escala logartmica) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.13 A topologia da rede wireless utilizada nos testes. . . . . . . . . . . . . 70 4.14 A tela de congurao do Gerador de Trfego. . . . . . . . . . . . . . 71 4.15 Grco do Throughput e do Goodput para taxas de transmisso de 11Mbps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.16 Grco do Throughput e do Goodput exemplicando a anomalia na performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.17 Grco do Throughput aps correo da janela de conteno mnima do WT1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.1 5.2 O modelo ON-OFF de gerao de trfego Web. . . . . . . . . . . . . 78 O modelo do protocolo 802.11 com fonte de trfego WEB. . . . . . . 80

xi

5.3 5.4 5.5

Throughput dos terminais WT1, WT2 e WT3. . . . . . . . . . . . . . 85 Throughput do Ponto de Acesso. . . . . . . . . . . . . . . . . . . . . 86 Tempo de permanncia na la de cada requisio, antes do incio do servio, para cada WT. . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.6 5.7

Tempo de espera pela resposta a uma requisio de um usurio WEB. 88 Maior tempo mdio de espera pelas respostas variando o nmero de usurios web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

xii

Lista de Tabelas1.1 2.1 Caractersticas dos padres 802.11 . . . . . . . . . . . . . . . . . . . . Valores de slot de tempo e da janela de conteno mnima e mxima, para trs camadas fsicas especicadas pelo padro 802.11. . . . . . . 18 2.2 2.3 2.4 2.5 2.6 2.7 4.1 4.2 4.3 4.4 Frame da sub-camada fsica PLCP - DSSS . . . . . . . . . . . . . . . 24 Frame da sub-camada fsica PLCP - FHSS . . . . . . . . . . . . . . . 24 Frame de dados da sub-camada MAC . . . . . . . . . . . . . . . . . . 24 Frame ACK da sub-camada MAC . . . . . . . . . . . . . . . . . . . . 24 Frame RTS da sub-camada MAC . . . . . . . . . . . . . . . . . . . . 24 Frame CTS da sub-camada MAC . . . . . . . . . . . . . . . . . . . . 24 Parmetros para o modelo do protocolo 802.11 . . . . . . . . . . . . . 52 Parmetros para o modelo de erro no canal . . . . . . . . . . . . . . . 57 Mdias obtidas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Mdias obtidas ao nal da simulao com BER no estado BAD de 2X10e-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.5 Mdias obtidas ao nal da simulao com BER no estado BAD de 10e-4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 xiii 5

4.6

Mdias obtidas ao nal da simulao com BER no estado BAD de 10e-2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.7 4.8 4.9

Caractersticas das mquinas utilizadas no ambiente real. . . . . . . . 64 Medidas relativas ao THROUGHPUT do ambiente real. . . . . . . . . 67 Medidas relativas ao GOODPUT do ambiente real. . . . . . . . . . . 67

4.10 Medidas relativas s PERDAS no canal do ambiente real. . . . . . . . 67 5.1 5.2 5.3 5.4 Valores dos parmetros para o modelo do usurio web. . . . . . . . . 78 Valores dos parmetros para gerao dos tamanhos dos objetos. . . . 79 Valores utilizados nos parmetros para atraso dos pacotes na Internet. 79 Valores do throughput, tempo mdio de permanncia na la e tempo mdio de resposta para cada objeto, e tempo de resposta a uma pgina. 87 5.5 5.6 5.7 5.8 5.9 Nmero de Usurios X Taxa de 1Mbps. . . . . . . . . . . . . . . . . . 89 Nmero de Usurios X Taxa de 11Mbps. . . . . . . . . . . . . . . . . 89 Medidas para cenrio com 5 usurios web, com taxas diferentes. . . . 93 Medidas para cenrio com 10 usurios web, com taxas diferentes. Medidas para cenrio com 15 usurios web, com taxas diferentes. . . 93 . . 93

xiv

Captulo 1 IntroduoNa vida cotidiana, a comunicao sem o se torna, a cada dia, mais til e essencial. Seu grande atrativo possibilitar conectividade aos usurios sem que os mesmos estejam sicamente ligados a uma rede.Wireless Local Area Networks (WLANs) so uma alternativa aos altos custos de instalao e manuteno, incluindo adio, remoo e remanejamento de pontos de acesso, das redes com o tradicionais, j que so desenvolvidas para fornecer grandes larguras de banda em uma rea geogrca limitada. Idealmente, usurios de redes sem o necessitaro dos mesmos servios e capacidades que so comumente utilizados em redes tradicionais. No entanto, para alcanar estes objetivos, ser necessrio enfrentar desaos e restries[Crow et al. 1997a, J. Kurose and K. Ross 2003], como:

Alocao de freqncia: O funcionamento de uma rede sem o requer quetodos os usurios operem em uma freqncia comum de banda.

Interferncias: Interferncias em comunicaes sem o podem ser causadas portransmisses simultneas (colises) de duas ou mais fontes compartilhando a mesma banda de freqncia. Uma coliso tipicamente o resultado de mltiplas estaes aguardando a inatividade do canal para, ento, ao mesmo tempo, transmitirem seus pacotes de informao. Colises tambm so causadas por termimais escondidos (Hidden Terminals)[J. Kurose and K. Ross 2003] (Figura 1

1.1). Neste caso, uma estao, acreditando na inatividade do canal, comea a transmitir seu pacote sem detectar a presena de uma transmisso j em andamento. No exemplo da Figura 1.1, o terminal A se comporta como um terminal escondido para o terminal C e vice-versa. Outro problema que resulta em colises o enfraquecimento do sinal[J. Kurose and K. Ross 2003] que se propaga atravs do meio sem o, devido presena de matria (ex: um sinal passando por uma parede) no trajeto ou mesmo pela distncia entre o emissor e o receptor. Quando dois ou mais terminais esto localizados de modo que suas transmisses no possuem fora suciente para serem detectadas pelos outros terminais (Figura 1.2), uma coliso pode ocorrer. Alm da interferncia das outras estaes, um terminal pode sofrer a interferncia de equipamentos eletrnicos, como por exemplo um telefone sem o operando na freqncia de 2.4GHz prximo Wireless LAN 802.11b. Neste caso, espera-se que nem a rede nem o telefone funcionem corretamente. Equipamentos como motores e microondas podem causar ruidos eletromagnticos, resultando tambm em interferncias no canal.

Conabilidade: A conabilidade do canal normalmente medida atravs dataxa mdia de erro nos bits (BER - Bit Error Rate). Repetio de requisio de dados (ARQ - Automatic Repeat Request), deteco (CRC - Cyclic

Redundancy Check) e correo de erros (FEC - Forward Error Correction) soprocedimentos utilizados para aumentar a conabilidade do processo.

Figura 1.1: Problema do Terminal Escondido. 2

Propagao Multipath: A propragao multipath ocorre quando pores deonda eletromagntica reetem em objetos e no cho, tomando caminhos de diferentes comprimentos entre o emissor e o receptor. Isto resulta em imperfeies no sinal recebido. Objetos se movendo entre o emissor e o receptor durante uma transmisso podem causar uma propagao multipath variante no tempo.

Segurana: Em uma rede sem o mais difcil garantir a segurana, uma vezque o meio de tranmisso aberto a qualquer um que esteja no permetro geogrco do transmissor. Esta segurana feita, normalmente, atravs de criptograa, o que acarretar no aumento de custos e degradao de performance.

Consumo de Energia: Os dispositivos wireless devem ser bastante ecientes emrelao ao consumo de energia, uma vez que nem sempre tero disponibilidade fcil de recarga.

Mobilidade: Devido possibilidade de deslocamento do terminal sem o, osistema deve garantir a conectividade conciliando o hando1 entre as fronteiras de transmisso e o roteamento do trfego.

Throughput: A capacidade de uma WLAN deve, idealmente, se aproximara de uma rede cabeada. No entanto, isto nem sempre possvel devido s limitaes fsicas e de banda disponveis. Muitos estudos esto em andamento para que seja garantida a qualidade de servios.1 Hando

o processo que ocorre quando um terminal wireless se move para fora do limite de

sua estao base, entrando no limite de outra e, conseqentemente, mudando a estao base a qual est associado.

3

1.1 802.11 Wireless LANs

Figura 1.2: Problema de Enfraquecimento do Sinal.

1.1 802.11 Wireless LANsO IEEE desenvolveu um padro WLAN internacional que identicado como IEEE 802.11. As redes wireless que utilizam este padro so tambm conhecidas como

W i-Fi.O projeto deste padro foi iniciado em 1990 e seu escopo desenvolver especicaes detalhadas de controle de acesso ao meio (MAC-Medium Access Control) e da camada fsica para conexes wireless dentro de uma LAN. No protocolo 802.11, o mecanismo fundamental de acesso ao meio chamado de Funo de Coordenao Distribuda (DCF - Distributed Coordination Function). Este um esquema de acesso randmico, baseado no protocolo CSMA/CA (Carrier Sense Multiple Ac-

cess/Collision Avoidance). Analisaremos este mecanismo no Captulo 2.Existem vrios padres 802.11 para redes sem o, incluindo 802.11a, 802.11b e 802.11g. A tabela 1.1 reune as principais caractersticas destes padres. Abaixo, detalhamos algumas caractersticas em comum:

Utilizam a mesma estrutura para a camada de enlace; Possuem a mesma habilidade de reduzir a taxa de transmisso, quando necessrio; Permitem trabalhar no modo ad-hoc e no modo com infra-estrutura, comoveremos no prximo captulo. Como possvel observar na Tabela 1.1, a maior diferena destes trs padres 4

1.2 Motivao e ObjetivosPadro 802.11b 802.11a 802.11g Limites de Freqncia 2.4GHz - 2.485GHZ 5.1GHz - 5.8GHZ 2.4GHz - 2.485GHZ Taxa de Transmisso de Dados at 11Mbps at 54Mbps at 54Mbps

Tabela 1.1: Caractersticas dos padres 802.11 encontra-se na camada fsica.

1.2 Motivao e ObjetivosA crescente utilizao de redes locais sem o em universidades, empresas, reas residenciais e comerciais tem tornado as WLANs do IEEE 802.11, tambm conhecidas como redes Wi-Fi, um componente chave na integrao entre computadores e a Internet. Este sucesso comprovado pelo grande nmero de Hot Spots2 presentes em restaurantes, estaes de trem, aeroportos, cafs, livrarias e outros locais pblicos. Soma-se a isto, o fato de a maioria dos laptops j sairem de fbrica com interfaces

wireless embutidas.Igualmente ao ocorrido com redes Ethernet[Metcalfe e Boggs 1976] em 1970, o advento das WLANs, no nal dos anos 90, estimulou estudos e pesquisas sobre o protocolo, objetivando identicar e entender seus mecanismos, incluindo anlises de performance do IEEE 802.11 CSMA/CA [Bianchi 2000, Foh e Zukerman 2002, Cali et al. 2000, Crow et al. 1997b, Duchamp e Reynolds 1992, Bing 1999], anlises de capacidade[Wu et al. 2002, Bianchi 2000, Cali et al. 2000] e diferenciao de servios [Aad e Castelluccia 2001, Xiao 2004, Kim et al. 2005]. Vrios trabalhos, utilizando tcnicas analticas e de simulao, vm sendo desenvolvidos nos ltimos anos, na tentativa de compreender mais profundamente2 Hot

Spots so locais de acesso wireless pblico, onde possvel conectar computadores mveis

Internet utilizando a tecnologia Wi-Fi.

5

1.2 Motivao e Objetivose avaliar o desempenho das redes 802.11. notrio que os mtodos analticos apresentam baixo custo computacional e grande preciso, porm, muitas vezes, requerem que sejam realizadas simplicaes no sistema que se deseja modelar. Os trabalhos [Heusse et al. 2003, Alizadeh e Subramaniam 2004, Dunn et al. 2004, G.Cantieni et al. 2005, Kumar et al. 2005, Medepalli e Tobagi 2005, Bianchi 2000, Miorandi et al. 2006, Medepalli e Tobagi 2006] propem modelos analticos para avaliar o desempenho do protocolo IEEE 802.11. Nestes trabalhos considerado que a rede est saturada ou que o trfego gerado pelos terminais Poisson. Por outro lado, as simulaes permitem que detalhes do sistema sejam estudados e avaliados, obtendo-se resultados muito precisos. Em contrapartida, este detalhamento pode incorrer, em alguns casos, em altos custos computacionais. Diversos trabalhos [Kim e Hou 2004, Choi et al. 2005, Aad e Castelluccia 2001] tm estudado o comportamento do IEEE 802.11 utilizando o modelo construdo para o simulador NS2 [ns2 ]. A motivao para o desenvolvimento de um modelo de simulao baseado em outra ferramenta se deve aos aspectos relacionados abaixo:

No simulador NS2 existe uma grande dependncia entre os mdulos. Com isto,a adio de um mdulo novo no simples, pois o usurio deve conhecer bem o funcionamento dos demais mdulos. Por exemplo, para simular um trfego na camada de aplicao, necessrio conhecer, em detalhes, os mdulos TCP, MAC 802.11 e camada fsica wireless.

Outro aspecto se deve a alguns erros do modelo do 802.11 que tm sido reportados na literatura. Em [pro ], por exemplo, foram reportados diversos problemas com o modelo desenvolvido para o 802.11 no NS2, como o algoritmo de

backo implementado, que no est de acordo com o denido no padro e ocabealho do quadro que tambm diferente do denido pela norma. Este trabalho tem como objetivo desenvolver um modelo de simulao, baseado na ferramenta Tangram-II, para analisar o desempenho do protocolo IEEE 802.11, 6

1.3 Roteiroconsiderando que os usurios fazem acesso a web. Conforme exposto no pargrafo acima, diversos modelos analticos foram propostos para o mecanismo IEEE 802.11, no entanto, nestes modelos, foram feitas simplicaes a respeito do trfego gerado pelos terminais sem o. Optamos pela simulao para podermos avaliar o mecanismo utilizando um modelo detalhado do comportamento do usurio web. A ferramenta Tangram-II foi escolhida pois baseada no paradigma de orientao a objetos, o que facilita a construo, a depurao e as futuras alteraes do modelo. O modelo foi validado atravs da comparao das medidas de throughput e good-

put, obtidas na simulao, com as mesmas medidas obtidas em uma rede montadaem laboratrio. Inicialmente, consideramos uma rede saturada para ns de validao do modelo. Logo aps, estudamos o comportamento do mecanismo IEEE 802.11 na presena de usurios web. Analisamos o comportamento do throughput, do tempo de resposta e de perdas no ponto de acesso com o crescimento do nmero de usurios web atendidos pela WLAN e com a variao na taxa de transmisso dos terminais. Alm disso, estudamos o problema de no eqidade entre os terminais na presena de trfego web.

1.3 RoteiroEste trabalho est organizado da seguinte forma:

No Captulo 2 apresentamos a Funo de Coordenao Distribuda (DCF),que o mecanismo bsico de acesso ao meio do protocolo 802.11 e foco do nosso estudo.

O Captulo 3 dedicado ferramenta de modelagem TANGRAM-II, utilizadano desenvolvimento dos modelos deste trabalho, e ao TraGen, utilizado para gerar trfego e calcular medidas de interesse em uma rede.

No Captulo 4 descreve-se a construo do modelo da camada MAC do protocolo IEEE 802.11, bem como os testes realizados para comparao de medidas 7

1.3 Roteiroobtidas com o modelo e com uma rede sem o real montada em laboratrio. So descritos tambm os modelos de erro utilizados na modelagem do canal sem o.

No Captulo 5 detalha-se a construo do modelo que simula o comportamentode um usurio web. Este modelo ser utilizado como fonte de dados para o modelo da camada MAC do IEEE 802.11. Testes sero realizados e vrias medidas sero coletadas, como throughput, perdas e delay.

No Captulo 6 apresentamos a concluso deste trabalho, bem como os trabalhosfuturos que podero ser desenvolvidos.

8

Captulo 2 Os mecanismos de acesso ao meio do Protocolo 802.11Neste captulo discutiremos os mecanimos de acesso ao meio do protocolo 802.11, em especial a Funo de Coordenao Distribuda (DCF), que o servio bsico deste protocolo e objeto deste estudo.

2.1 IntroduoO padro IEEE 802.11 especica a sub-camada de controle de acesso ao meio MAC (Medium Access Protocol) e a camada fsica (PHY)[sta 2003, Bing 1999], que so apresentadas na Figura 2.1.Sub-camada de Controle de Acesso ao Meio (MAC) Sub-camada de Procedimento de Convergncia da Camada Fsica (PLCP) Camada de Enlace

Camada Fsica

Sub-camada Dependente do Meio Fsico (PMD)

Figura 2.1: Modelo Bsico de Referncia do IEEE 802.11 A camada fsica divida em duas sub-camadas: 9

2.1 Introduo Sub-camada dependente do meio fsico (PMD): Esta camada lida com as caractersticas do meio sem o e dene os mtodos de transmisso e recepo atravs deste meio;

Sub-camada do procedimento de convergncia do meio fsico (PLCP): Estacamada especica o mtodo de mapeamento das unidades de dados do protocolo da sub-camada MAC (MPDUs) no formato compatvel com a sub-camada PMD. A sub-camada MAC dene o mecanismo de acesso ao meio. A Funo de Coordenao Distribuda (DCF-Distributed Coordination Function) o mecanismo fundamental de acesso e baseia-se no protocolo CSMA/CA(Carrier Sense Multiple Ac-

cess/Collision Avoidance)1 . A retransmisso de pacotes colididos feita seguindoas regras de backo exponencial, que sero analisadas mais adiante. O padro IEEE 802.11 tambm dene uma funo opcional, chamada Funo de Coordenao Centralizada (PCF-Point Coordination Function), que, diferentemente da DCF, um esquema MAC centralizado onde um ponto de acesso (AP - Access Point) elege, de acordo com suas regras, um terminal wireless para que este possa transmitir seu pacote [sta 2003, Crow et al. 1997a]. As principais caractersticas[Bianchi 2000, Aad e Castelluccia 2001, Wu et al. 2002, Dong et al. 2003] destas duas funes so:

DCF: um componente obrigatrio em todos os produtos compatveis com opadro IEEE 802.11 e fornece um servio do tipo best eort. indicado para transmisso de dados que no so sensveis ao retardo da rede, por exemplo, e-mail e ftp. Nesta funo, os terminais executam este algoritmo distribudo e devem competir entre si para obter acesso ao meio a cada transmisso de pacote (Contention Mode). Este processo tenta garantir um acesso justo ao canal para todas as estaes.1O

protocolo CSMA/CD(Carrier Sense Multiple Access/Collision Detection), ou seja, com de-

teco de coliso, no utilizado porque um terminal sem o no capaz de monitorar o canal para detectar uma coliso ao mesmo tempo em que transmite.

10

2.2 Arquitetura PCF: um servio opcional e indicado para transmisso de dados comalta sensibilidade ao retardo da rede e trfego de alta demanda, por exemplo, udio e vdeo em tempo real. Neste caso, o AP, que executa este algoritmo centralizado, possui o controle do canal e repassa esse controle aos terminais sem o no momento devido (Contention-free Mode). Estas duas funes de coordenao podem tambm ser utilizadas em conjunto, no caso de transmisso de pacotes de dados de vrios tipos. A popularidade do IEEE 802.11 no mercado devida, principalmente, ao DCF, uma vez que o PCF, por sua complexidade e inecincia para transmisso de dados sem requisitos de tempo, raramente implementado nos produtos atuais. Alm disso, o PCF pode causar atrasos e duraes imprevisveis de transmisso. Similarmente ao sucesso da rede Ethernet, o protocolo IEEE 802.11 DCF freqentemente utilizado para redes sem o, muito embora sua forma atual no seja eciente para aplicaes multimdia [Xiao 2004]. Uma estao pode ter que esperar um tempo arbitrariamente longo para enviar um pacote, o que para aplicaes em tempo real, como transmisso de voz e vdeo, inaceitvel. Para minimizar este problema, a verso 802.11e do protocolo est sendo desenvolvida. No IEEE 802.11e, melhoramentos na camada MAC esto sendo realizados para melhorar a Qualidade de Servio (QoS), atravs de um CSMA com prioridades e avanadas tcnicas de

polling.

2.2 ArquiteturaO Conjunto Bsico de Servio (BSS-Basic Service Set) a base da arquitetura IEEE 802.11. Um BSS denido como um grupo de terminais sob o comando de uma funo de coordenao (DCF ou PCF). A rea geogrca coberta por este BSS chamada de rea Bsica de Servio (BSA-Basic Service Area). Conceitualmente, todas as estaes em um BSS podem comunicar-se diretamente entre si. No en11

2.2 Arquiteturatanto, degradaes no meio de transmisso, devido ao enfraquecimento do sinal ou a interferncias de BSSs prximos, podem causar terminais escondidos. Um BSS[Crow et al. 1997a, Aad e Castelluccia 2001, Wu et al. 2002] pode ser:

Uma rede ad-hoc (Figura 2.2).Uma rede ad-hoc formada por um grupo de terminais wireless, dentro de um BSS, com comunicao direta entre si, sem a existncia de um ponto centralizado de controle (AP). Qualquer terminal pode estabelecer uma sesso de comunicao com outro terminal.

Uma rede com infraestrutura (Figura 2.3).Redes com infraestrutura tm como objetivo fornecer, aos usurios, servios especcos e tambm possveis extenses de rea de cobertura. Este tipo de rede, no padro IEEE 802.11, construdo utilizando-se um ponto de acesso (AP). Os APs conseguem aumentar a rea de cobertura sendo pontos de conectividade entre vrios BSSs, formando ento um Conjunto de Servio Estendido (ESS-Extended Service Set). O ESS consiste da integrao de mltiplos BSSs utilizando-se um Sistema de Distribuio (DS-Distribution System). O DS pode ser visualizado, ento, como um backbone responsvel pelo transporte de pacotes da sub-camada MAC, chamados de MPDUs(MAC Protocol Data

Units), entre diferentes BSSs. Um DS pode ser uma rede de qualquer tipo,sem o ou no. Um ESS pode tambm fornecer acesso a uma rede com o, como a Internet, atravs de um servio chamado Portal. O Portal uma entidade lgica que especica o ponto de integrao entre a rede IEEE 802.11 e a rede que no IEEE 802.11, e pode ser considerado uma bridge, que, alm de estender a rea de cobertura, realiza a traduo dos diferentes formatos de

frame, quando necessrio.

12

2.3 Funo de Coordenao X Arquitetura

STA

STA

BSS INDEPENDENTE

STA

Figura 2.2: Esquema de uma rede ad-hoc.

STA

STA

BSS

AP

IEEE 802.XPORTAL

DS: SISTEMA DE DISTRIBUIAO

BSS APSTA STA

Figura 2.3: Esquema de uma rede com pontos de acesso.

2.3 Funo de Coordenao X ArquiteturaTodas as estaes em um BSS devem suportar a funo DCF. Em uma rede adhoc, somente a funo DCF aplicvel. J na rede com infraestrutura, possvel utilizar a funo DCF somente ou a funo DCF em conjunto com a funo PCF, dependendo do tipo de servio a ser oferecido. Em uma rede com infraestrutura utilizando o servio DCF, um terminal sem o acessa o meio atravs de sua associao com um AP, que tambm responsvel por sua autenticao. Uma estao sem o est associada a apenas um ponto de acesso mas pode ser autenticada por mais de um AP. Alm disso, o AP se comportar como um terminal sem o comum, ou seja, no possuir nenhum papel centralizador no 13

2.4 O Mecanismo de Carrier-SenseDCF e dever disputar o acesso ao meio com os demais terminais.

2.4 O Mecanismo de Carrier-SenseO protocolo IEEE 8021.11 dispe de dois tipos de monitorao de atividade do canal:

carrier-sense[sta 2003] virtual e fsico. A funo do carrier-sense determinar se omeio de transmisso est ocioso ou no. No mecanismo de carrier-sense fsico, monitora-se sicamente a atividade no canal causada pelos demais terminais. Portanto, este servio deve ser fornecido pela camada fsica (PHY). O mecanismo carrier-sense virtual deve ser realizado pela sub-camada MAC, atualizando-se o valor do Vetor de Alocao de Rede (NAV - Network Allocation

Vector). O NAV mantm uma previso do trfego futuro no canal baseado nasinformaes de durao de transmisso que esto contidas nos frames de dados, RTS e CTS. Os frames RTS e CTS so pacotes de controle, enviados antes da troca efetiva dos dados. A funo destes frames de controle ser discutida nas sees seguintes. O NAV pode ser considerado como um contador, que decresce at zero com uma taxa uniforme. Quando atinge zero, a indicao do carrier-sense virtual que o meio est ocioso. Enquanto isto no acontece, a indicao que h transmisso em curso e que, assim, o meio est ocupado. O meio tambm deve ser considerado ocupado quando a prpria estao estiver transmitindo. Para denir o estado do canal, combina-se, ento, os resultados obtidos pelos mecanismos NAV e de carrier-sense fsico.

14

2.5 Espaos entre Frames

2.5 Espaos entre FramesA prioridade no acesso ao meio sem o controlada atravs do uso de intervalos de tempo entre frames (IFS-Inter-Frame Space)[Aad e Castelluccia 2001, sta 2003, Wu et al. 2002]. Os intervalos IFS so perodos obrigatrios de tempo nos quais o canal permanece ocioso. Trs IFSs diferentes so denidos, pelo padro 802.11, para fornecer tais nveis de prioridade e seus valores dependem do tipo de camada fsica utilizada. Abaixo esto listados os intervalos IFS, do mais curto (maior prioridade) para o mais longo (menor prioridade):

SIFS - Short Inter-Frame Space: Espao curto entre frames.Estaes que devem esperar um tempo SIFS possuem prioridade em relao quelas que devem esperar um tempo DIFS ou PIFS antes de transmitir. O SIFS deve ser utilizado antes da transmisso de frames ACK e CTS, por exemplo. O tempo SIFS calculado de tal maneira que a estao transmissora seja capaz de alterar seu modo atual de "transmisso" para "recebimento" e, assim, ser capaz de decodicar o pacote que ir receber em seguida.

PIFS - Point Inter-Frame Space: Espao PCF entre frames.Deve ser utilizado somente pelas estaes que operam sob a funo PCF para ganhar prioridade de acesso ao meio.

DIFS - Distributed Inter-Frame Space: Espao DCF entre frames.Deve ser utilizado pelas estaes que operam sob a funo DCF para a transmisso de frames de dados e de gerenciamento. Assim, se um ACK e um pacote de dados esto esperando, simultaneamente, pela ociosidade do canal, o ACK ser transmitido antes do pacote de dados, pois o primeiro espera por um tempo SIFS que menor do que o tempo DIFS esperado pelo segundo. 15

2.6 Funo de Coordenao Distribuda do Protocolo 802.11

2.6 Funo de Coordenao Distribuda do Protocolo 802.11Uma estao, antes de transmitir um novo pacote, deve monitorar a atividade do canal atravs do mecanismo de carrier-sense. Se o canal permanecer ocioso por um perodo de tempo igual a DIFS (Distributed Inter-Frame Space), a estao transmite o pacote. Caso contrrio, se o canal estiver ativo, seja no incio da monitorao ou durante a contagem de tempo DIFS, a estao continua monitorando o canal at que o mesmo que ocioso por um tempo igual DIFS. Neste momento, a estao gera um intervalo randmico de backo antes de iniciar a transmisso, tentando, assim, minimizar a probabilidade de coliso com outros pacotes enviados pelas demais estaes. Este intervalo gerado exatamente o recurso Collision Avoidance do protocolo. Alm disso, para evitar que uma estao se apodere do canal, a mesma deve esperar um tempo randmico de backo entre duas transmisses consecutivas de novos pacotes, mesmo que o canal permanea ocioso por um tempo DIFS.

2.6.1 O Esquema de Backo ExponencialPor razes de ecincia, o DCF utiliza uma escala discreta de tempo de backo. O tempo imediatamente seguinte a um DIFS dividido em slots e uma estao s pode transmitir no incio de cada slot. O tamanho do slot, representado por , deve ser igual ao tempo necessrio para que toda e qualquer estao detecte a transmisso de um pacote por outra estao. Este tempo depender da camada fsica e inuir nos clculos do tempo de permuta entre os estados de recebimento e transmisso e do tempo para sinalizar camada MAC o estado do canal. Sendo assim, uma coliso s poder ocorrer no caso em que dois ou mais terminais escolham o mesmo slot de tempo para iniciar sua transmisso [Grilo e Nunes 2002]. Como mencionamos anteriormente, o DCF adota um esquema de backo exponencial. A cada transmisso de pacote, o tempo de backo escolhido uniformemente 16

2.6 Funo de Coordenao Distribuda do Protocolo 802.11no intervalo (0, cw 1), onde cw representa o tamanho da janela de conteno e seu valor depende do nmero i de transmisses falhas do pacote em questo. Na primeira tentativa de transmisso, atribudo a cw, o valor CWmin (Janela de Conteno Mnima). Aps cada tentativa de transmisso falha, cw dobrado (Figura 2.4), at o valor mximo CWmax (Janela de Conteno Mxima). Portanto, a equao do tempo de backo pode ser obtida atravs de:

T empo de Backof f = 2i+j rand()

(2.1)

onde o tamanho do slot e um parmetro da camada fsica (Tabela 2.1), rand() uma funo randmica com distribuio uniforme entre [0,1), i o nmero de tentativas de transmisso de um pacote (i 1) e j um outro parmetro, calculado de acordo com o tipo da camada fsica. Por exemplo, observando a Tabela 2.1, que contm os valores de CWmin se utilizarmos a implementao FHSS da camada fsica, ento j = 3. Se utilizarmos a implementao DSSS, ento j = 4. Os valores atribudos varivel j so contabilizados de modo que, quando i = 1, 2i+j = 21+j =

CWmin .CWmax 1024

512

256

128 64 CWmin 16 32 Terceira Retransmissao Segunda Retransmissao Primeira Retransmissao Tentativa Inicial

Figura 2.4: Exemplo do crescimento exponencial da CW. Os valores CWmin e CWmax so especcos de cada camada fsica e na Tabela 2.1 17

2.6 Funo de Coordenao Distribuda do Protocolo 802.11temos alguns de seus valores. Camada Fsica FHSS DSSS IR Slot de tempo ( ) 50s 20s 8s

CWmin16 32 64

CWmax1024 1024 1024

Tabela 2.1: Valores de slot de tempo e da janela de conteno mnima e mxima, para trs camadas fsicas especicadas pelo padro 802.11. O contador do tempo de backo decrementado medida em que o canal permanece ocioso. Se uma transmisso for detectada, este contador paralizado e s retomado quando o canal se torna ocioso novamente por um tempo mnimo igual DIFS. Quando o contador atingir zero, a estao transmite o pacote. Se esta transmisso for bem sucedida, o valor cw reinicializado com o valor CWmin . Caso contrrio, acontecer uma nova tentativa de transmisso deste pacote, tendo cw o dobro do seu valor anterior. importante esclarecer que o mecanismo de backo exponencial minimiza, mas no elimina, a chance de dois ou mais terminais transmitirem ao mesmo tempo, gerando colises no canal. Neste protocolo, existem duas tcnicas de transmisso de pacotes [sta 2003, Bianchi 2000, Crow et al. 1997a, Crow et al. 1997b], as quais sero descritas nas sub-sees abaixo.

2.6.2 O Mecanismo Bsico de Acesso ao MeioO Mecanismo Bsico de Acesso ao Meio baseia-se na tcnica two-way handshaking (Figura 2.5). Como o protocolo CSMA/CA no conta com a capacidade das estaes transmissoras detectarem uma coliso, pois no conseguem ouvir o canal ao mesmo tempo em que transmitem, quando um pacote transmitido, a estao receptora deve indicar estao transmissora o correto recebimento do pacote atravs do envio 18

2.6 Funo de Coordenao Distribuda do Protocolo 802.11de um pacote de conrmao (ACK). Quando o emissor recebe o pacote ACK, ele tem a certeza de que o pacote de dados chegou ao destino corretamente. O frame ACK deve ser transmitido imediatamente aps o recebimento do pacote de dados mais um perodo de tempo chamado SIFS (Short InterFrame Space). Como o SIFS (mais o retardo de propagao) menor que o DIFS, nenhuma outra estao consegue perceber a inatividade do canal durante um tempo total DIFS sem antes detectar a presena de um pacote ACK trafegando no canal. Se a estao transmissora no receber um ACK dentro de um tempo especicado ACK _T imeout (ocorrer um timeout de espera pelo ACK), ou se a estao detectar uma transmisso de um outro pacote no canal que no seja o ACK esperado, a mesma ir reescalonar a transmisso do pacote de acordo com as regras de backo.DIFS DIFS

Terminal Origem8765 432 1 Slot de Tempo BT = 8

Dados4 32 1 BT = 4

Dados tempo (s)

SIFS

SIFS ACK ACK

Terminal Destino

tempo (s)

DIFS

DIFS

DIFS

Outro Terminal87 BT = 8

Dados ...Canal ocupado (NAV) 6 5 43 Canal ocupado (NAV) 21

tempo (s)

Incio da tentativa de transmisso de um pacote BT = Tempo de Backoff

Figura 2.5: Exemplo do Mecanismo Bsico de Acesso. importante lembrar que quando um frame de dados transmitido, o campo Durao contido no cabealho deste frame utilizado para informar, a todas as estaes do BSS, quanto tempo o meio car ocupado. Todas as estaes devero, portanto, ajustar as suas variveis NAV.

19

2.6 Funo de Coordenao Distribuda do Protocolo 802.11

2.6.3 O Mecanisco de Acesso ao Meio com RTS/CTSO Mecanismo de Acesso com RTS/CTS baseado na tcnica do four-way handshak-

ing (Figura 2.6) e pode ser utilizada, opcionalmente, em uma transmisso de pacote.Uma estao que deseja transmitir um pacote, espera at que o canal esteja ocioso por um tempo DIFS, seguindo as regras de backo explicadas anteriormente e, ento, ao invs de transmitir o pacote de dados, primeiramente transmite um frame curto especial chamado RTS (Request To Send). Quando a estao receptora recebe um frame RTS, a mesma deve responder, aps um tempo SIFS, com um frame CTS (Clear To Send). A estao transmissora pode, ento, enviar seu pacote de dados, somente se o frame CTS for corretamente recebido.SIFS SIFS SIFS DIFS

Fonte

RTS

Dados tempo (s)

Destino

CTS

ACK tempo (s)

Outros Terminais

NAV(RTS) NAV(CTS) NAV(Dados)Acesso ao Meio Pausado

tempo (s)

Inicio do Backoff

Figura 2.6: Exemplo do Mecanismo de Acesso com RTS/CTS. Os frames de dados, RTS e CTS carregam informaes sobre o tamanho do pacote a ser transmitido. Esta informao pode ser lida por qualquer outra estao ouvinte, que est apta, assim, a atualizar seus vetores de alocao de rede (NAV - Network

Allocation Vectors), que contm informaes sobre o perodo de tempo no qual ocanal permanecer ocupado. Portanto, quando uma estao, que est escondida da estao transmissora ou da receptora, detectar um frame CTS ou um frame RTS, respectivamente, ela pode perfeitamente atrasar suas transmisses, evitando colises e utilizao intil do canal. Ou seja, os pacotes RTS/CTS solucionam o problema de colises nos pacotes de dados quando existem terminais escondidos e diminuem 20

2.6 Funo de Coordenao Distribuda do Protocolo 802.11a possibilidade de ocorrncia de colises.

2.6.4 Mecanismo Bsico X RTS/CTSAs estaes podem escolher nunca utilizar o RTS/CTS, utilizar o RTS/CTS somente quando o MSDU exceder o valor do RT S _T reshold, que um parmetro congurvel, ou sempre utilizar o RTS/CTS. O mecanismo RTS/CTS eciente, em termos de performance de sistema, quando o protocolo lida com pacotes grandes, pois reduz o tamanho dos frames envolvidos na coliso. Ou seja, utilizando o mecanismo RTS/CTS, as colises ocorrem somente nos frames RTS e no nos pacotes de dados, cujos tamanhos so, normalmente, maiores, e so precocemente detectadas pelas estaes de transmisso devido ao no recebimento do frame CTS. Em contrapartida, a utilizao de frames RTS/CTS nem sempre interessante. Nos casos em que o acesso ao meio no for to intenso ou se o tamanho dos dados a serem transmitidos forem relativamente pequenos em comparao ao tamanho dos

frames de controle, um delay adicional ser imposto devido ao overhead causado porestes frames de controle. Alm disso, haver desperdcio na utilizao do canal, pois trafegaro informaes que no sero teis.

2.6.5 Fragmentao de MPDUs e Descarte de PacotesGrandes frames de dados (MSDUs2 ) a serem transmitidos devem ser fragmentados para aumentar a conabilidade do canal durante suas transmisses. Sabemos que, em um meio sem o, a probabilidade de um pacote ser corrompido proporcional ao seu tamanho e, neste caso, seja este corrompimento causado por coliso ou por problemas de interferncia no canal, quanto menor o pacote, menor overhead ele causar em sua retransmisso.2 MSDU

a unidade de informao que entregue camada MAC pela camada superior.

21

2.6 Funo de Coordenao Distribuda do Protocolo 802.11Para determinar quando realizar a fragmentao [sta 2003, Foh e Zukerman 2002, Crow et al. 1997a], os MPDUs so comparados ao parmetro F ragmentation_

T hreshold. Se o tamanho do MPDU exceder o valor deste parmetro, ento oMSDU ser dividido em mltiplos fragmentos. Os MPDUs fragmentados possuiro o tamanho do parmetro F ragmentation_T hreshold, com exceo do ltimo MPDU, que possuir tamanho varivel mas sempre menor que o valor deste parmetro. Quando um MSDU fragmentado, todos os fragmentos so transmitidos sequencialmente. A cada transmisso de fragmento, a estao receptora deve enviar um ACK ao emissor, aps esperar por um tempo SIFS, sinalizando o correto recebimento do MPDU. Ao receber este ACK, a estao transmissora espera tambm por um tempo SIFS antes de enviar o prximo fragmento. importante ressaltar que o canal s liberado quando o MSDU completamente e corretamente transmitido e recebido, ou quando a estao transmissora, por algum motivo, no receber o ACK correspondente ao fragmento enviado. Quando um ACK no recebido, a estao transmissora paraliza a transmisso do MSDU e tenta ganhar novamente o acesso de transmisso do canal, atravs da espera do tempo DIFS e de todo o processo de backo. Aps ganhar este acesso, a estao recomea a transmisso a partir do ltimo fragmento no conrmado. A varivel

Retry _Limit responsvel por limitar o nmero de tentativas de retransmisso.Ao superar este nmero, todo o pacote descartado e o valor da janela de conteno

cw recongurado para CWmin . De fato, esta varivel pode assumir dois valoresdistintos, nos seguintes casos:

Short_Retry _Limit: utilizado quando o tamanho do MSDU for menor queo RT S _T hreshold;

Long _Retry _Limit: utilizado quando o tamanho do MSDU for maior ouigual ao RT S _T hreshold.

22

2.7 Tipos e Formatos de Frames

2.7 Tipos e Formatos de FramesO IEEE 802.11 suporta trs tipos diferentes [sta 2003, Crow et al. 1997a] de frames:

Frames de Gerenciamento: Estes tipos de frames so utilizados para associaes, desassociaes e autenticaes de terminais sem o com o AP. O padrao 802.11 requer que o AP envie, periodicamente, pacotes beacons contendo seu endereo MAC e seu SSID(Service Set Identier)3 . As estaes sem o, sabendo que os APs esto enviando tais beacons, examinam os 11 canais disponveis, a procura de quaisquer beacons enviados por APs prximos. Atravs das informaes recebidas e utilizando o protocolo de associao do 802.11, o terminal wireless escolhe um AP para se associar. Para completar este procedimento, o terminal dever tambm autenticar-se com o AP. Se tudo correr sem problemas, o terminal sem o far parte da sub-rede do AP, recebendo um endereo IP apropriado.

Frames de Controle: Estes tipos de frames so utilizados para controlar oacesso ao meio, atravs de pacotes de conrmao de recebimento (ACK-

Acknowledgment), de pacotes de requisio (RTS-Request to Send) e liberao(CTS-Clear to Send) de transferncia de dados.

Frames de Dados: Estes tipos de frames so utilizados para a transmisso dedados no canal. Os frames da camada fsica PLCP[sta 2003, Bing 1999] do protocolo 802.11 dependem do tipo da camada fsica utilizada (isto , DSSS, FHSS, DFIR e etc). Exemplicando, na Tabela 2.2 encontra-se o formato do frame para a DSSS e na Tabela 2.3 encontra-se o formato do frame para a FHSS: J os frames das Tabelas 2.4, 2.5, 2.6 e 2.7 correspondem aos frames da subcamada MAC:3 SSID

uma informao congurvel no AP e que identica o BSS.

23

2.7 Tipos e Formatos de Frames

Prembulo (18 octetos)

PLCP Header (6 octetos)

MAC Frame (4 a 8191 octetos)

Tabela 2.2: Frame da sub-camada fsica PLCP - DSSS

Prembulo (12 octetos)

PLCP Header (4 octetos)

MAC Frame (1 a 4095 octetos)

Tabela 2.3: Frame da sub-camada fsica PLCP - FHSS

MAC Header (30 octetos)

Frame de Dados (0 a 2312 octetos)

CRC (4 octetos)

Tabela 2.4: Frame de dados da sub-camada MAC

ACK MAC Header (10 octetos)

CRC (4 octetos)

Tabela 2.5: Frame ACK da sub-camada MAC

RTS MAC Header (16 octetos)

CRC (4 octetos)

Tabela 2.6: Frame RTS da sub-camada MAC

CTS MAC Header (10 octetos)

CRC (4 octetos)

Tabela 2.7: Frame CTS da sub-camada MAC

24

2.7 Tipos e Formatos de FramesOs 32 bits do CRC-Cyclic Redundancy Check so utilizados para a deteco de erros nos pacotes. De acordo com este mtodo, com probabilidade 1 detectase rajadas de erros menores ou iguais a 33 bits. Os demais erros, sob condies apropriadas, so detectados com probabilidade 0,99999999977. O cabealho MAC formado pelos seguintes campos:

Controle do Frame (2 octetos): Este frame formado pelos seguintes campos:

Verso do Protocolo (2 bits): Este campo utilizado para o reconhecimento da verso do protocolo;

Tipo (2 bits): Este campo dene o tipo do frame, ou seja, se um framede controle, de gerenciamento ou de dados;

Subtipo (4 bits): Este campo dene o subtipo do frame. Por exemplo, seo tipo do frame for controle, seu subtipo pode ser CTS, RTS, ACK e etc;

ToDS (1 bit): Este campo possui o valor 1 quando o frame destinadoao AP, para que este encaminhe o pacote ao Sistema Distribudo(DS), ou seja, para fora do BSS;

FromDS (1bit): Este campo possui o valor 1 quando sua origem o DS; Mais Fragmentos (1bit): Este campo possui valor 1 quando existem maisfragmentos subseqentes pertencentes a este frame;

Retransmisso (1 bit): Este campo possui valor 1 indicando que esta uma retransmisso do fragmento anterior. Este campo ser utilizado pelo terminal receptor para detectar duplicidade de transmisses devido a perda de pacotes ACK;

Gerencimento de Energia (1 bit): Este campo indica o modo de gerencimento de energia da estao aps a transmisso do frame corrente;

Mais Dados (1 bit): Este campo utilizado pelo AP para informar queexistem mais pacotes armazenados que sero destinados para a estao receptora; 25

2.7 Tipos e Formatos de Frames WEP (1bit): Este campo indica se os dados do frame foram codicadosde acordo com o algoritmo WEP4 [McFarland e Wong 2003];

Ordem (1 bit): Este campo um campo especial e indica que o frameest sendo enviado utilizando-se a classe de servio Strictly-Ordered5 .

Durao (2 octetos): Este campo contm o tempo, em micro-segundos, que ocanal deve ser alocado para a transmisso da unidade de dados do protocolo MAC (MPDU), ou seja, contm o campo necessrio para a atualizao do vetor NAV-Network Allocation Vector;

Endereo 1 (6 octetos): Este campo contm o endereo da estao wirelessdestino dentro do BSS. Caso o campo ToDS possua o valor 1, ento este campo possuir o endereo do AP;

Endereo 2 (6 octetos): Este campo contm o endereo da estao que transmitiu o pacote. Caso o campo FromDS possua o valor 1, ento este campo possuir o endereo do AP;

Endereo 3 (6 octetos): Caso o campo ToDS possua o valor 1, ento estecampo possuir o endereo do terminal de destino original (fora do BSS). Caso o campo FromDS possua o valor 1, ento este campo possuir o endereo do terminal fonte original (fora do BSS);

Endereo 4 (6 octetos): Este campo usado no caso especial quando FromDSpossuir o valor 1 e o ToDS tambm possuir o valor 1, ou seja, no caso em que um frame est sendo transmitido de um AP para outro. Assim, os campos de origem e destino originais devero ser armazenados;4O

sistema de segurana original denido no protocolo 802.11 foi chamado de WEP-Wired

Equivalent Privacy. Inmeras falhas foram descobertas neste sistema e, por isso, no mais considerado seguro. Este sistema garante privacidade mas no integridade dos dados. 5 Esta classe de servio denida para usurios que no aceitam mudanas de ordem entre

frames Multicast e Unicast, ou seja, a ordem de frames Unicast para um determinado endereo sempre mantida.

26

2.7 Tipos e Formatos de Frames Controle de Seqncia (2 octetos): Este campo utilizado para representar aordem de diferentes fragmentos que pertencem ao mesmo frame e para reconhecimento de pacotes duplicados. Este campo consiste de dois sub-campos. O primeiro o Sequence Number, utilizado para denir o nmero do frame. O segundo o Fragment Number, utilizado para denir o nmero do fragmento do frame. O cabealho RTS formado pelos seguintes campos:

Controle do Frame (2 octetos): Idntico ao do MAC Header; Durao (2 octetos): o tempo, em micro-segundos, necessrio para a transmisso do prximo frame de dados, mais um frame CTS, mais um frame ACK e mais 3 intervalos SIFS;

RA (6 octetos): Este campo contm o endereo da estao que receber opacote RTS;

TA (6 octetos): Este campo contm o endereo da estao que est transmitindo o RTS. O cabealho CTS formado pelos seguintes campos:

Controle do Frame (2 octetos): Idntico ao do MAC Header; Durao (2 octetos): o tempo, em micro-segundos, necessrio para a transmisso do prximo frame de dados, mais um frame ACK e mais 2 intervalos SIFS;

RA (6 octetos): Este campo contm o endereo da estao que receber opacote CTS. O cabealho ACK formado pelos seguintes campos: 27

2.8 Trabalhos Relacionados Controle do Frame (2 octetos): Idntico ao do MAC Header; Durao (2 octetos): Este campo s utilizado quando o processo de transmisso envolve fragmentao. Caso contrrio, possuir valor 0.

RA (6 octetos): Este campo contm o endereo da estao que receber opacote ACK.

2.8 Trabalhos RelacionadosO protocolo IEEE 802.11 tem sido amplamente estudado e avaliado na literatura. A seguir descreveremos diversos trabalhos que esto relacionados com o que foi desenvolvido nesta tese. Primeiramente, descreveremos modelos que foram propostos com o objetivo de avaliar o throughput e o retardo, entre outras medidas de interesse, do mecanismo DCF do IEEE 802.11. Apresentaremos tambm trabalhos que identicaram uma anomalia no comportamento do padro IEEE802.11 e possveis solues para resolv-la. Vrios trabalhos baseados em modelos analticos tm estudado o desempenho do mecanismo DCF do protocolo IEEE802.11. Uma das hipteses, considerada na maioria desses trabalhos, que a rede est saturada. O trabalho de [Bianchi 2000] props o primeiro modelo analtico para o IEEE 802.11, baseado em uma cadeia de Markov. As hipteses consideradas so: rede saturada, canais ideais (no introduzem erros nos pacotes) e possuindo a mesma taxa. Kumar et. al [Kumar et al. 2005] mostraram que a derivao da probabilidade de acesso em [Bianchi 2000] pode ser simplicada, considerando o algoritmo de backo exponencial como um processo de renovao. Tambm foram considerados canais sem erros, como em [Bianchi 2000], no entanto, considera-se a possibilidade de os canais possuirem taxas diferentes. O trabalho de [Alizadeh e Subramaniam 2004] estende a proposta de [Bianchi 2000] e modela o IEEE 802.11 como uma la M/G/1. No trabalho de [Medepalli e Tobagi 2005] so desenvolvidos modelos de las para o protocolo 802.11. Foi mostrado que um 28

2.8 Trabalhos Relacionadosmodelo M/M/1 simplica a anlise e apresenta resultados semelhantes aos obtidos para a la M/G/1. Medepelli et. al, em [Medepalli e Tobagi 2006], estendem o trabalho anteriormente desenvolvido por eles em [Medepalli e Tobagi 2005], considerando terminais escondidos e uma rede no saturada. Em [Miorandi et al. 2006] foi proposto um modelo analtico para estudar o comportamento do trfego HTTP, sobre uma rede IEEE802.11. Neste trabalho foram consideradas as seguintes hipteses: o canal livre de erros, os buers so dimensionados de forma que no hajam perdas e o comportamento do usurio web representado por uma fonte ON-OFF (com tempo em OFF exponencial e tempo em ON com distribuio arbitrria). Quando a fonte est no estado ON, como se uma conexo TCP curta ocorresse e fosse transferido, durante esta conexo, um arquivo que representa uma pgina web . O estado OFF representa o tempo que o usurio est "pensando" antes de fazer uma nova requisio. As mtricas obtidas so a vazo de uma conexo TCP e o tempo mdio de uma sesso TCP curta (short-lived TCP ow), que representa o tempo de transferncia de uma pgina web. Uma outra classe de trabalhos, que est relacionada com esta tese, diz respeito queles que identicaram uma anomalia que ocorre no protocolo IEEE 802.11, quando utilizado o mecanismo de adaptao da taxa do usurio interferncias e rudos. O primeiro trabalho que identicou este tipo de problema foi o de [Heusse et al. 2003]. Foi usado um modelo analtico e a hiptese assumida de a rede estar saturada. Neste trabalho foi demonstrado que, se existem dois terminais com taxas diferentes, o throughput de saturao de qualquer um dos terminais da rede ser igual ao do terminal com menor taxa. Por exemplo, quando um terminal sem o transmite com uma taxa de 1Mbps e os outros terminais usam uma taxa de 11Mbps, o throughput dos terminais transmitindo a 11Mbps reduzido para valores inferiores a 1Mbps. Cantieni et. al [G.Cantieni et al. 2005] estendem o trabalho de [Heusse et al. 2003] pois consideram que a rede pode no estar saturada. Eles modelam o buer da camada MAC como uma la M/G/1 e consideram, como hiptese, que os canais so livres de erros e, portanto, pacotes so perdidos somente devido a colises. Duas solues so propostas para aumentar o throughput total da rede: 29

2.8 Trabalhos Relacionadoso uso de janelas de conteno mnimas diferentes e o uso de pacotes de tamanhos diferentes. O trabalho de [Dunn et al. 2004] prope uma soluo semelhante ao de [G.Cantieni et al. 2005], contudo no baseada em alteraes na camada MAC. Os autores exploram o envio de pacotes IP de tamanhos diferentes. A idia que terminais transmitindo com taxas menores enviem pacotes menores, dado que eles demoram mais tempo para enviar os seus dados. Nosso trabalho difere dos trabalhos acima nos seguintes aspectos:

Consideramos um modelo para representar os erros que podem ocorrer nocanal de comunicao;

Utilizamos um modelo bastante detalhado do comportamento do usurio web; Avaliamos o desempenho do protocolo IEEE 802.11 para cenrios onde existetrfego web ou CBR disputando o meio de transmisso.

30

Captulo 3 A ferramenta de modelagem Tangram-IINeste captulo ser apresentada uma breve descrio da ferramenta de modelagem Tangram-II, utilizada no desenvolvimento deste trabalho. Esta ferramenta permite a construo de modelos matemticos de um sistema e possibilita a sua soluo tanto atravs de mtodos analticos quanto atravs de simulaes.

3.1 IntroduoO Tangram-II[Silva e Leo 2000, Carmo et al. 1998] um ambiente para modelagem de sistemas computacionais e de comunicao que oferece uma interface baseada no paradigma de orientao objetos e uma variedade de solvers para a obteno das medidas de interesse. O ambiente tambm inclui mdulos para experimentos em redes de computadores e ferramentas multimdia que auxiliam no processo de modelagem. O projeto deste ambiente iniciou-se em 1994 e vem sendo continuamente desenvolvido. A cada ano novas funcionalidades e melhoramentos so includos. Em 2000, o TANGRAM-II passou a ser distribudo gratuitamente na Internet. 31

3.1 IntroduoA Figura 3.1 exibe a interface do Ambiente de Modelagem. Os cones esquerda, na gura, mostram as opes disponveis aos usurios:

Mdulo de especicao de modelos; Mdulo de gerao do modelo matemtico; Mdulo para soluo analtica de modelos; Mdulo para gerao de medidas de interesse; Mdulo sobre descritores de trfego; Mdulo de simulao.

Figura 3.1: A interface do Ambiente de Modelagem do Tangram-II. Um modelo, nesta ferramenta, representa uma coleo de objetos que interagem entre si, enviando e recebendo mensagens. O estado de cada objeto representado por um conjunto de variveis. Eventos e mensagens, e suas condies e aes associadas, denem o comportamento de um objeto. Eventos so gerados espontaneamente, desde que a condio especicada, quando o objeto foi denido, seja satisfeita. Estas condies so booleanas e so avaliadas utilizando-se o estado corrente do objeto. As mensagens 32

3.2 A Modelagemso abstraes utilizadas para representar a interao entre os objetos e so entregues em tempo zero. Quando um evento executado ou uma mensagem recebida, um conjunto de aes especicadas pelo usurio so realizadas com uma dada probabilidade. Como resultado de uma ao, o estado do objeto pode mudar e mensagens podem ser entregues para outros objetos do modelo. Para auxiliar na denio do modelo e de novos objetos, utiliza-se a interface grca de domnio pblico TGIF (Tangram

Graphic

Interface

Facility)

[W. Chia-Whei Cheng ]. A verso corrente do Tangram-II possui vrios solvers para anlises de mtricas de performance e disponibilidade em estado estacionrio e transiente. Um simulador robusto tambm faz parte dos mtodos de soluo e suporta simulao de eventos raros e de uidos.

3.2 A ModelagemPara criar um novo modelo, utilizando o TGIF, o usurio pode incluir diversos tipos de objetos pr-denidos, disponveis na Biblioteca de Objetos, ou pode construir um novo objeto. Todos os objetos so parametrizados e suas instncias so declaradas com parmetros especcos. Novos objetos so denidos e especicados em termos de representao grca e de comportamento, utilizando-se templates. O template (Figura 3.2) exibe as variveis de estado e todos os tipos de parmetros que podem ser denidos pelos usurios. Mostra tambm os campos que devem ser preenchidos, incluindo eventos, mensagens e suas aes e condies associadas. Um novo objeto tambm pode ser includo na Biblioteca de Objetos, para que seja reutilizado posteriormente. Os objetos tambm podem possuir um atributo chamado recompensa, utilizado

33

3.2 A Modelagempara a obteno de medidas de interesse. Este item ser melhor detalhado posteriormente.Declaration= name=UNIQUE_NAME

Watches= Initialization= Events=

Messages=

Rewards=

Figura 3.2: O template de um objeto no Tangram-II. Depois da criao dos objetos, necessrio conect-los, utilizando-se portas. Por meio destas portas ser possvel realizar a comunicao entre os objetos, atravs da entrega e recebimento de mensagens. As variveis declaradas no modelo podem ser variveis de estado, constantes ou parmetros. Variveis de estado podem ser do tipo inteiro ou oat, podendo tambm haver vetores de variveis. Constantes podem ser do tipo inteiro, oat, object ou

port. Todas as variveis de estado e constantes devem ser inicializadas antes domodelo matemtico ser gerado. Parmetros s necessitam ser inicializados antes da soluo analtica (no so utilizados na simulao). Aps a criao do modelo, sua descrio matemtica pode ser gerada. Por exemplo, uma Cadeia de Markov e uma tcnica de soluo podem ser aplicadas para a obteno de medidas de interesse em estado estacionrio ou transiente. possvel tambm obter medidas de interesse atravs da simulao. 34

3.3 A Simulao

3.3 A SimulaoQuando mtodos analticos no podem ser utilizados para resolver o modelo, a simulao o mtodo escolhido. Neste caso, os eventos podem ter uma distribuio pr-denida ou suas ocorrncias podem ser programadas atravs da leitura de arquivos contendo tais tempos. A simulao pode ser realizada no modo batch ou no modo interativo. No modo

batch, o usurio deve especicar parmetros como nmero de rodadas, critrio deparada (por exemplo: nmero de transies, nmero de eventos ocorridos ou tempo de simulao), opes de recompensa e etc. No modo interativo, o simulador se comunica com a interface grca para que o valor das variveis seja atualizado na tela, a cada passo da simulao. Assim, o usurio pode visualizar a evoluo das variveis de estado a cada execuo do nmero de passos especicado, o que facilita a depurao do modelo.

3.4 Modelos com RecompensasDurante o desenvolvimento de um modelo, o usurio pode especicar diferentes medidas de interesse, a serem coletadas no decurso da simulao, utilizando-se recompensas. Existem dois tipos de recompensas que podem ser denidas:

Recompensas de Taxa: A recompensa de taxa est associada ao estados dosistema. Se uma recompensa ri est associada ao estado i, ento o sistema ganha uma recompensa ri a cada unidade de tempo gasta no estado i. Por exemplo, podemos criar uma recompensa para obter a utilizao de uma la. Para isto, basta criar um recompensa que acumule o valor 1 a cada unidade de tempo em que a la estiver com pelo menos 1 pacote, ou seja, quando no estiver vazia. Ao nal da simulao, a utilizao da la ser calculada 35

3.5 O Gerador de Trfegodividindo-se o valor acumulado da recompensa pelo tempo total de simulao.

Recompensas de Impulso: A recompensa de impulso est associada s transies entre os estados do sistema. Se uma recompensa rij est associada transio do estado i para o estado j , ento o sistema acumula uma recompensa rij cada vez que ocorre uma transio do estado i para o estado j . Por exemplo, pode-se medir o nmero de pacotes servidos em um sistema atravs de uma recompensa de impulso de valor 1 atribuda ao evento de servio de pacotes. Toda vez que este evento ocorrer, o valor da recompensa incrementado, contabilizando, ao nal da simulao, o nmero de pacotes servidos. Uma recompensa de taxa ou de impulso pode ser denida para um objeto particular utilizando o seu atributo Rewards. Deste modo, recompensas so especicadas a partir de variveis de estado ou eventos do objeto associado. Para utilizar variveis de diferentes objetos, deve-se utilizar a instruo de recompensa global. A sintaxe utilizada para denir uma recompensa global a mesma para denir recompensas locais nos objetos. Pode-se concluir, ento, que este recurso genrico o suciente para permitir uma vasta gama de medidas.

3.5 O Gerador de TrfegoO Gerador de Trfego (Figura 3.3) do TANGRAM-II uma ferramenta til para se descobrir as caractersticas de uma rede. Com esta ferramenta possvel estimar medidas como perdas, jitter, one-way delay, tamanho do buer gargalo e etc. Antes de utilizar o Gerador de Trfego, o usurio deve decidir quais medidas de interesse deseja estimar. Na interface da ferramenta, deve-se especicar:

A direo na gerao dos probes1 . Os pacotes podem ser gerados de uma fonte1 Probes

so objetos, no caso pacotes, utilizados com o propsito de descobrir as caractersticas

36

3.5 O Gerador de Trfego

Figura 3.3: O Gerador de Trfego para um destino (One-Way), entre dois hosts enviando pacotes, ao mesmo tempo, entre si (Two One-Way) e entre dois hosts, onde o receptor "responde" ao emissor no momento de chegada do probe (Round-Trip).

O modelo de gerao de probes. Esta gerao pode ser (i) com taxa constantede bits (CBR), (ii) modulada por uma cadeia de Markov (Markov-Modulated) contnua com um nmero nito de estados, (iii) baseada em um arquivo de

traces ou (iv) packet-pair, onde o trfego gerado em intervalos constantes,como o CBR, sendo que dois pacotes, e no apenas um, so enviados.

O tamanho L dos pacotes a serem transmitidos, o tempo total T de geraodestes pacotes e o nmero de bytes D por frame. Logo, o nmero N de pacotes por frame dado por N = D/L.

O tipo de trfego IP ou ATM.da rede analisada.

37

3.5 O Gerador de Trfego O intervalo de gerao de pacotes a serem injetados na rede. Se for utilizadoo campo MIN, ento um pacote ser enviado atrs do outro na taxa do link. Se for utilizado o campo MAX, os pacotes sero transmitidos uniformemente no intervalo entre dois frames.

A utilizao do Receptor Remoto de Trfego. Neste caso, o receptor capturaos pacotes enviados pelo gerador de trfego e cria arquivos de traces, que sero utilizados para calcular estatsticas.

Outros parmetros podem ser especicados e se encontram explanados nomanual da ferramenta[Silva e Leo 2000].

3.5.1 Medidas do Gerador de TrfegoAs medidas de Trfego IP so geradas baseadas nos arquivos de traces criados pelo Receptor de Trfego. A interface deste mdulo exibida na gura 3.4. Medidas como nmero de perdas, nmero de sucessos, throughput, jitter, capacidade do canal e etc podem ser estimadas, dependendo do modelo de gerao de trfego adotado.

Figura 3.4: As medidas do Gerador de Trfego As medidas de interesse podem ser exibidas em um editor de texto ou tambm no formato de grcos, utilizando-se o programa Gnuplot[Wiliams e Kelley ], acionado pelo usurio atravs da interface da ferramenta. 38

3.5 O Gerador de TrfegoNeste trabalho, o mdulo Gerador de Trfego foi utilizado nos testes que esto descritos no prximo captulo.

39

Captulo 4 O modelo do protocolo 802.11Neste captulo apresentaremos o modelo criado, atravs da ferramenta de modelagem TANGRAM-II, para simular o funcionamento do mecanismo de acesso bsico da camada MAC do protocolo 802.11. Assumiremos a inexistncia de terminais escondidos na rede. Os principais objetivos deste captulo so:

Validar o modelo construdo atravs da comparao dos resultados obtidos nasimulao com os resultados obtidos atravs de experimentos realizados em um ambiente real;

Estudar a sensibilidade dos parmetros do modelo utilizados para representaras perdas no canal, com relao ao desempenho do protocolo;

Estudar uma anomalia que ocorre quando os terminais transmitem com taxasdiferentes em uma rede 802.11. No Apndice A, detalhamos os parmetros utilizados no modelo. Esta seo facilitar a compreenso do cdigo desenvolvido, bem como sua posterior modicao, no intuito de realizar diferentes tipos de teste.

40

4.1 Descrio do modelo com Mecanismo Bsico de Acesso

4.1 Descrio do modelo com Mecanismo Bsico de AcessoO modelo desenvolvido simula o funcionamento da camada MAC do protocolo IEEE 802.11 em uma rede infra-estruturada. Os terminais sem o se comunicam com um Ponto de Acesso, utilizando o modo bsico da Funo de Coordenao Distribuda, atravs do meio. Para a construo deste modelo foram criados quatro tipo de objetos:

Source: Objeto responsvel pela gerao de pacotes de dados; Wireless Terminal (WT): Objeto responsvel pelo procedimento da funoDCF;

Channel: Objeto responsvel pela distribuio das mensagens enviadas pelosobjetos WT e pela gerao de erros no canal;

Access Point (AP): Objeto que simula o funcionamento de um ponto de acesso,tambm utilizando a funo DCF. Como os objetos criados so todos parametrizados, eles podem ser replicados dentro do modelo, realizando-se as devidas mudanas e alterando-se seus parmetros de inicializao. Na Figura 4.1 pode-se observar que existem trs objetos do tipo

Wireless Terminal, trs objetos do tipo Source, um objeto do tipo Access Point eum do tipo Channel. Apesar de as simulaes serem feitas para uma rede infra-estruturada, importante ressaltar que o modelo criado genrico o suciente para realizar testes de redes ad-hoc tambm, o que o torna bastante exvel. Para isto, basta apenas congurar, atravs do campo de identicao do destino, no cabealho do pacote, o nmero identicador nico do terminal para o qual se deseja enviar as mensagens.

41

4.1 Descrio do modelo com Mecanismo Bsico de Acesso

Figura 4.1: O modelo bsico de acesso criado com a ferramenta Tangram-II. Nas sub-sees abaixo, descreveremos a construo de cada objeto do modelo. As constantes sero declaradas com letras maisculas, enquanto as variveis de estado sero declaradas com a primeira letra em maisculo e as demais em minsculo.

4.1.1 Objeto SourceO objeto Source responsvel pela gerao dos pacotes de dados a serem enviados pelo terminal wireless. Propositalmente, estes objetos foram criados separadamente, para que fosse extremamente simples a alterao do tipo de fonte, possibilitando uma grande variedade de testes. Podemos utilizar fontes de dados do tipo on-o, Poisson, CBR e etc. Primeiramente, ser utilizada uma fonte CBR. Este tipo de fonte ser til para os testes que sero demonstrados nas prximas sees. A construo deste objeto muito simples, possuindo apenas o evento nico

P acket_Generation(DET, CBR_RAT E), responsvel pela gerao de pacotes dedados. A distribuio do evento denida pela palavra DET, que indica uma distribuio determinstica. A taxa com que o evento ocorre denido pelo parmetro 42

4.1 Descrio do modelo com Mecanismo Bsico de AcessoCBR_RAT E . A condio deste evento sempre verdadeira, o que resulta na gerao contnua de pacotes com o intervalo determinado. Toda vez que este evento ativado, uma mensagem contendo o tamanho do pacote de dados e o nmero do WT destino (neste caso especco, o AP) enviada para o objeto WT correspondente. O envio desta mensagem realizado atravs da porta SEN D_P KT _P ORT , que interconecta os pares de objetos Source e Wireless Terminal. Abaixo, exibe-se o cdigo deste evento:

event=Packet_Generation (DET,CBR_RATE) condition=(1) /* a condio do evento sempre verdadeira, para que pacotes sejam gerados continuamente */ action= { int lv_vec[2]; lv_vec[1] = MSDU_SIZE; /* tamanho do pacote */ lv_vec[0] = 4; msg(SEND_PKT_PORT,all,lv_vec); /* envio do vetor lv_vec atravs da porta SEND_PKT_PORT */ };

4.1.2 Objeto Wireless TerminalO objeto Wireless Terminal o mais importante e complexo do modelo. Nele necessrio simular os tempos DIFS, de Backo, de espera pelo ACK, tratar as mensagens recebidas atravs do canal e fragmentar as mensagens que sero enviadas, quando necessrio. Antes de iniciar a explicao dos mecanismos construdos para este objeto, interessante explicar que duas verses foram construdas para simular o funcionamento do Wireless Terminal: 43

4.1 Descrio do modelo com Mecanismo Bsico de Acesso Na primeira verso, tentou-se construir um modelo mais prximo possvel darealidade. Cada pacote era transmitido bit a bit, ou seja, um evento era escalonado para enviar cada bit de um pacote. Inicialmente, esta parecia ser a soluo ideal pois imitava a realidade e simplicava toda a construo dos demais mecanismos do protocolo, como o tempo de espera pelo DIFS e a espera pelo tempo de backo. No entanto, esta soluo, para ns de simulao, extremamente inecaz, devido ao grande nmero de eventos escalonados. Para exemplicar o problema desta implementao, tomemos o mecanismo de espera pelo DIFS. Antes de iniciar o envio de um pacote, o WT deve observar o canal por um tempo DIFS e constatar que o mesmo cou ocioso durante todo este tempo. No entanto, se durante a espera deste tempo for detectada uma transmisso no canal, deve-se aguardar o trmino da transmisso corrente para ento reescalonar um novo evento de espera pelo DIFS. Da maneira como esta primeira verso foi implementada, para cada bit transmitido pelo canal e recebido por cada WT, que esperava a nalizao desta transmisso, o evento atual de espera pelo DIFS era removido da lista de eventos e um novo evento era escalonado. Resumindo, para cada bit transmitido, alm dos eventos escalonados para a transmisso do pacote, ainda haviam eventos relacionados aos DIFS dos WTs que queriam obter a posse do canal. Estes eventos eram escalonados, removidos da lista de eventos e reescalonados tantas vezes quanto o nmero de bits do pacote em transmisso. Como era esperado, logo nos primeiros testes constatou-se que este modelo era invivel pois consumia um tempo de simulao extremamente grande, dado que cada pacote composto por milhares de bits.

Na segunda verso, ao invs dos dados serem transmitidos bit a bit, para cadapacote, envia-se uma mensagem para o canal no incio e no m de sua transmisso. Este processo reduz drasticamente o nmero de eventos escalonados, minimizando, signicativamente, o tempo de simulao. Para cada pacote, ao invs de haver um evento associado a cada bit, em sua 44

4.1 Descrio do modelo com Mecanismo Bsico de Acessotransmisso, associa-se apenas dois eventos no total. Esta mudana gerou modicaes em todo o modelo, tornando-o mais complexo e menos intuitivo para o usurio interessado em observar o cdigo desenvolvido. No entanto, para ns deste trabalho, esta ser a soluo adotada, uma vez que se mostra computacionalmente eciente. Todos os mecanismos descritos nas sees abaixo sero relativos segunda verso. Os eventos declarados no objeto so:

Waiting_DIFS(DET,WAITING_DIFS_RATE)): Evento responsvel por simular a espera por um tempo DIFS no qual o canal permanece ocioso. A condio para que o evento ocorra T rying _T ransmission == 1 e Enable_Ev _W aiting _Dif s == 1. A taxa do evento constante W AIT IN G_DIF S _

RAT E e sua distribuio determinstica. Waiting_Backo(DET,Waiting_Backo_Rate): Evento responsvel por simular a espera pelo tempo de backo. A condio do evento T rying _ T ransmission ==

1 e Enable_Ev _W aiting _Backof f == 1. A taxa do evento W aiting _ Backof f _Rate com distribuio determinstica; Transmission(DET,Pkt_Transmission_Rate): Evento responsvel pela simulao da transmisso de um pacote de dados. A condio do evento T rying _

T ransmission == 1 e Ready _T o_T ransmit == 1. A taxa do evento P kt_T ransmission_Rate com distribuio determinstica; Waiting_Ack(DET,WAITING_ACK_RATE): Evento responsvel pela simulao de espera pelo ACK. Sua condio de execuo T rying _ T ransmission

== 1 e Enable_Ev _W aiting _Ack == 1. A taxa do evento W AIT IN G_ ACK _RAT E com distribuio determinstica. Waiting_SIFS(DET,SIFS_RATE): Evento responsvel pela simulao de espera pelo tempo SIFS. Sua condio de execuo Enable_Ev _W aiting _Sif s 45

4.1 Descrio do modelo com Mecanismo Bsico de Acesso== 1. A taxa do evento constante SIF S _RAT E , com distribuio determinstica.

Ack_Transmission(DET,ACK_TRANSMISSION_RATE): Evento responsvelpela simulao da transmisso de um pacote ACK. Sua condio de execuo Enable_Ev _Ack _T ransmission == 1. A taxa do evento ACK _

T RAN SM ISSION _RAT E com distribuio determinstica.O evento W aiting _DIF S responsvel por gerar o tempo DIFS que o WT deve esperar antes de iniciar seu tempo de backo. No entanto, se durante a espera deste tempo, o WT detectar alguma transmisso corrente no canal, necessrio paralizar este evento e reescalon-lo quando no houver mais nenhum terminal utilizando o meio. Para resolver esta questo, cada WT armazena, em sua varivel N _T X , o nmero de transmisses correntes no canal. Se houver pelo menos uma transmisso,

N _T X > 0. Apenas quando N _T X assumir novamente o valor zero, o eventode espera pelo DIFS reescalonado. Conclui-se, ento, que, se N _T X > 1, ento ocorreu uma coliso. Este mtodo soluciona o problema encontrado na primeira verso construda para este modelo. Abaixo, encontra-se parte do cdigo responsvel pela retirada do evento de espera pelo DIFS da lista de eventos e de seu reescalonamento.

msg_rec = MSG_WT_CH_PORT action = { ... if (n_tx>0) enable_ev_waiting_difs = 0; else if (n_tx==0) enable_ev_waiting_difs=1; ... }O modo de construo do evento de espera pelo tempo de backo difere-se um pouco do evento de espera pelo DIFS, uma vez que necessrio pensar no tempo 46

4.1 Descrio do modelo com Mecanismo Bsico de Acessode backo como um contador que vai decrescendo a cada slot de tempo passado. Se durante a espera pelo tempo de backo o WT detectar a presena de transmisso no canal, o contador paralizado. Ao nal desta transmisso, e aps uma nova espera de tempo DIFS, o contador retomado do ponto de onde parou. O evento

W aiting _Backof f utilizado para implementar este mecanismo e sua taxa atualizada sempre que uma transmisso for detectada durante a contagem do tempo de backo. A varivel local lv _last_backof f _simul_time armazena o tempo de simulao na hora em que a mensagem de incio de transmisso for recebida. Neste momento, desabilita-se o evento corrente e escalona-se um novo evento, atualizandose a taxa W aiting _Backof f _Rate para computar o tempo de backo restante. Abaixo, exibe-se o cdigo que realiza este procedimento.

msg_rec = MSG_WT_CH_PORT action = { ... if (enable_ev_waiting_backoff == 1) { lv_last_backoff_simul_time = get_simul_time(); enable_ev_waiting_backoff = 0; backoff_time_resume = 1; lv_time = (lv_last_backoff_simul_time - initial_backoff_simul_time); waiting_backoff_rate = 1.0/((1.0/waiting_backoff_rate) - lv_time); } ... }Algumas observaes:

A funo get_simul_time(), disponvel no Tangram-II, utilizada para obtero tempo atual de simulao.

47

4.1 Descrio do modelo com Mecanismo Bsico de Acesso Toda varivel iniciada por "lv" utilizada apenas localmente no programa, ouseja, no funciona como varivel de estado.

A varivel de estado Initial_Backof f _Simul_T ime armazena o tempo inicial, ou de retomada, da contagem de backo.

A varivel lv _time calcula a diferena entre o tempo inicial (ou de retomada)e o tempo de simulao atual, a m de calcular quanto tempo de backo ainda deve ser contabilizado. Ao receber uma mensagem do objeto Source, o WT ir armazen-la na la

P kts_T o_Send_Queue. Esta uma la do tipo Double Ended Queue e no casoespecco do modelo do tipo inteiro. Este tipo de la foi o mecanismo escolhido para gerenciar os pacotes que devem ser enviados, pois os comandos disponveis

save_at_head, save_at_tail, restore_f rom_head e restore_f rom_tail so bemprticos para manipular os dados. Quando um pacote chega da fonte, o comando

save_at_tail utilizado e quando o WT ganha o acesso do canal, e pode enviar opacote, utiliza-se o comando restore_f rom_head. O objeto Wireless Terminal tambm responsvel pela fragmentao dos pacotes. Uma vez que um pacote de dados recebido atravs da porta RCV _P KT _

P ORT , o WT verca se ser necessrio fragmentar ou no o pacote. Para isto, o WTcompara o tamanho do pacote de dados com o valor da constante M AX _DAT A_

SIZE . Se o tamanho do pacote de dados for maior, ento o pacote dever ser fragmentado antes de ser enviado. Abaixo, encontra-se o cdigo responsvel por este mecanismo:

msg_rec = RCV_PKT_PORT action = { ... lv_elem[0] = lv_msg[0]; /* WT Destino */ lv_elem[2] = pkt_num; /* Pkt ID */48

4.1 Descrio do modelo com Mecanismo Bsico de Acessolv_num_frag = lv_msg[1]/MAX_DATA_SIZE; lv_last_frag_size = lv_msg[1]%MAX_DATA_SIZE; if (lv_last_frag_size>0) lv_num_frag++; for(lv_i=lv_num_frag;lv_i>=1;lv_i--) { lv_elem[3] = lv_i; /* No. do Fragmento */ lv_elem[1] = MAX_DATA_SIZE + MAC_HEADER + PHY_HEADER; /* Tamanho do fragmento composto pelos dados mais o header das camadas MAC e fsica */ if ((lv_last_frag_size>0)&&(lv_i==1)) { lv_elem[1] = lv_last_frag_size + MAC_HEADER + PHY_HEADER; } save_at_tail(pkts_to_send_queue,lv_elem); } ... };Algumas observaes:

A varivel P kts_T o_Send_Queue possui tamanho 4. Na posio 0, armazenado o W T _N U M do WT destino. Na posio 1, armazena-se o tamanho do pacote aps a fragmentao. Na posio 2, armazena-se o ID do pacote que est sendo enviado e na posio 4, armazena-se o nmero de seqncia do fragmento.

Ao receber um pacote de dados, o algoritmo do Wireless Terminal adiciona ocabealho e o CRC da camada MAC (M AC _HEADER) e o prembulo e o cabealho da camada fsica (P HY _HEADER), resultando no pacote MPDU que deve ser enviado.

lv _elem um vetor temporrio, de tamanho 4, que armazena os valores que49

4.1 Descrio do modelo com Mecanismo Bsico de Acessosero inseridos na la P kts_T o_Send_Queue atravs do comando save_at_tail.

4.1.3 Objeto ChannelO objeto Channel simula um canal onde podem ocorrer erros devido a perdas ou enfraquecimento do sinal. Quando um terminal wireless envia uma mensagem, esta sempre encaminhada somente para o objeto Channel. Este objeto ca, ento, responsvel por reencaminhar a mensagem recebida para os demais terminais sem o. A seo 4.2 ser dedicada a estudar dois modelos de erros bastante utilizados, em especial o modelo de Ebert-Willig, adotado para o objeto Channel. Para esta modelagem de erros, foi necessrio criar apenas dois tipos de eventos:

Evento Good_Bad(EXP, RAT E _GOOD_BAD): Este evento responsvelpela transio do estado do canal de GOOD para BAD, onde a distribuio do mesmo exponencial com taxa RAT E _GOOD_BAD.

Evento Bad_Good(EXP, RAT E _BAD_GOOD): Este evento responsvelpela transio do estado do canal de BAD para GOOD, onde a distribuio do mesmo exponencial com taxa RAT E _BAD_GOOD. Dependendo do estado do canal, existe uma dada probabilidade de erro no bit (BER). Esta probabilidade de erro denida atravs do vetor ERROR_P ROB de duas posies. Na primeira posio dene-se o BER para o estado GOOD e no segundo dene-se o BER para o estado BAD. Neste modelo, estamos assumindo, inicialmente, BER no estado GOOD com valor 1010 e BER no estado BAD com valor 105 , de acordo com [Crow et al. 1997b, Crow et al. 1997a, Liu e Wu 2000, Veeraraghavan et al. 2001].

50

4.1 Descrio do modelo com Mecanismo Bsico de Acesso

4.1.4 Objeto Access PointO objeto Access Point se comporta basicamente como um terminal wireless comum: disputa o canal, recebe e envia pacotes e ACKs, aguarda por tempos DIFS e de backo. Sua construo idntica a dos objetos Wireless Terminal, para a primeira etapa de testes. No entanto, quando formos simular a utilizao do canal por usurios web, o AP ter muitas outras funes. Estas funes extras sero descritas posteriormente no Captulo 5.

4.1.5 Replicao de ObjetosNo modelo apresentado, esto presentes trs terminais wireless. Caso seja necessrio incluir mais objetos deste tipo, basta replic-los dentro do TGIF. As nicas mudanas necessrias sero:

No objeto Wireless Terminal, alterar dois parmetros presentes na inicializao: - W T _N U M : responsvel por identicar unicamente o terminal wireless dentro do modelo. Isto signica que cada WT deve possuir um W T _N U M diferente. - RCV _P KT _P ORT : este parmetro congura a porta por onde sero recebidos os pacotes enviados pelo objeto Source ao WT, a m de que sejam armazenados na la P kts_T o_Send_Queue.

Na inicializao do objeto Access_P oint tambm necessrio congurar avarivel W T _N U M , para que o AP possua uma identicao nica no modelo.

51

4.1 Descrio do modelo com Mecanismo Bsico de Acesso

4.1.6 Os Valores dos Parmetros do ModeloOs parmetros utilizados no modelo seguem os valores especicados para a camada fsica DSSS, encontrados em [Bing 1999, Crow et al. 1997b, Wu et al. 2002, Crow et al. 1997a, Medepalli et al. 2005, Dong et al. 2003]. Este tipo de camada fsica a utilizada pela verso b do protoc