9
Abstract— The increasing demand of multimedia applications requires a new conduct of routing protocols for Wireless Mesh Networks (WMN). It is necessary to support the minimum requirements for Quality of Service (QoS). In this work we propose an extension to the proactive Optimized Link State Routing (OLSR) protocol that differentiates the data traffic and multimedia traffic, in order to provide quality of service and support to applications which use TCP as their transport protocol. The proposal performance, called OLSR Dynamic Choice (OLSR-DC), is evaluated using the Network Simulator. Keywords— Wireless Mesh Networks, OLSR, Routing, Dynamic Choice of Metrics. I. INTRODUÇÃO OS últimos anos houve um grande avanço nas tecnologias de redes sem fio, provocando o surgimento de vários tipos de redes com o intuito de satisfazer diversas necessidades do mercado [1]. Neste contexto, surgem as redes em malha sem fio (Wireless Mesh Network WMN). As WMNs são um caso especial de redes ad hoc [1], entretanto a principal diferença entre elas está no fato de que os nós das WMNs têm localização fixa, apesar de que estas localizações não sejam determinadas previamente. Portanto, os algoritmos de roteamento têm muitas características em comum. Além disso, os nós cliente em uma WMN não precisam atuar como roteadores, o que representa menos complexidade para eles. De acordo com a referência [2], os protocolos de roteamento para WMNs devem possuir as características de auto-gestão, auto-configuração, e de auto-recuperação. Apesar de diferentes protocolos terem sido desenvolvidos, para a referência [3], estes protocolos visam suprir as necessidades das aplicações para as quais eles foram desenvolvidos, sendo que cada aplicação tem suas particularidades, como tolerância a perdas, atraso fim-a-afim e outros. Portanto, os protocolos, de modo geral, não conseguem atender todas as necessidades das WMNs. Visando manter as rotas disponíveis atualizadas, os protocolos pró-ativos geralmente geram mais mensagens de controle (overhead), quando comparados aos protocolos por R. L. Gomes é aluno do curso de Bacharelado em Ciência da Computação ligado à Faculdade de Computação da Universidade Federal do Pará, Belém, Pará, Brasil, [email protected]. W. A. Moreira Jr. é pesquisador no Instituto de Engenharia de Sistemas e Computadores (INESC) do Porto. Porto, Portugal, [email protected]. V.B.Nascimento é aluno do curso de doutorado do Programa de Pós- Graduação em Engenharia Eletrica ligado ao Instituto de Tecnologia da Universidade Federal do Pará, Belém, Pará, Brasil, [email protected]. A. J. G. Abelém é professor adjunto da Faculdade de Computação na Universidade Federal do Pará (UFPA). Belém, Pará, Brasil, [email protected]. demanda e híbridos [3]. Entretanto, como os roteadores do backbone de uma WMN normalmente não se movimentam e não possuem restrições de energia, o roteamento baseado no estado dos enlaces se torna viável. O objetivo deste trabalho é propor uma extensão para o protocolo pró-ativo Optimized Link State Routing (OLSR baseada na escolha dinâmica de métricas, e testar sua viabilidade de implementação, através de simulações no ambiente Network Simulator (NS-2) [4], utilizando como base para o cenário a rede em malha sem fio da Universidade Federal do Pará (UFPA), proposta na referência [5]. Esta escolha da métrica para o roteamento deve ser feita a partir do tipo de pacote processado no momento, em nível de camada de transporte, objetivando assim atender as necessidades das aplicações, sem que estas influenciem nas demais. A proposta é intitulada OLSR - Dynamic Choice (OLSR-DC). Este artigo está organizado da seguinte maneira. Seção II mostra os principais trabalhos relacionados a proposta. Seção III trata do protocolo OLSR e algumas de suas extensões. Seção IV apresenta o OLSR-DC, a extensão proposta neste artigo. Seção V apresenta os resultados das simulações feitas no NS-2. E, finalmente, a Seção VI apresenta as conclusões e trabalhos futuros. II. TRABALHOS RELACIONADOS As referencias [1] e [2] fornecem uma visão geral sobre as WMNs, suas tecnologias e protocolos, mostrando suas características, desafios e problemas, e a partir disto apresentado assuntos e técnicas existentes para melhorar o desempenho das WMNs. A referência [3] justifica a razão de serem desenvolvidos muitos protocolos para as WMNs, mostrando que a área ainda possui grande importância tanto para a melhora do desempenho, quanto para o amadurecimento das WMNs. A referência [6] mostra as informações acerca do protocolo OLSR, detalhando seu funcionamento, tanto quanto ao roteamento como em relação à troca de mensagens. As referências [7] e [8] apresentam propostas que visam prover Qualidade de Serviço (Quality of Service - QoS) utilizando o protocolo OLSR através da utilização de métricas múltiplas, mostrando o funcionamento do protocolos OLSR ao se calcular duas ou mais métricas simultaneamente. A referência [9] propõe o uso de métricas compostas no protocolo OLSR para melhorar o desempenho do roteamento. Dynamic Metric Choice Routing for Wireless Mesh Networks R. L. Gomes, W. A. Moreira Júnior, V. de B. Nascimento e A. J. G. Abelém (Member IEEE) N 454 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 4, AUG. 2009

Dynamic Metric Choice Routing for Wireless Mesh Networks€¦ · Keywords Wireless Mesh Networks, OLSR, Routing, Dynamic Choice of Metrics. I. INTRODUÇÃO OS últimos anos houve

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Abstract— The increasing demand of multimedia applications

requires a new conduct of routing protocols for Wireless Mesh Networks (WMN). It is necessary to support the minimum requirements for Quality of Service (QoS). In this work we propose an extension to the proactive Optimized Link State Routing (OLSR) protocol that differentiates the data traffic and multimedia traffic, in order to provide quality of service and support to applications which use TCP as their transport protocol. The proposal performance, called OLSR Dynamic Choice (OLSR-DC), is evaluated using the Network Simulator.

Keywords— Wireless Mesh Networks, OLSR, Routing, Dynamic Choice of Metrics.

I. INTRODUÇÃO OS últimos anos houve um grande avanço nas tecnologias de redes sem fio, provocando o surgimento

de vários tipos de redes com o intuito de satisfazer diversas necessidades do mercado [1].

Neste contexto, surgem as redes em malha sem fio (Wireless Mesh Network – WMN). As WMNs são um caso especial de redes ad hoc [1], entretanto a principal diferença entre elas está no fato de que os nós das WMNs têm localização fixa, apesar de que estas localizações não sejam determinadas previamente. Portanto, os algoritmos de roteamento têm muitas características em comum. Além disso, os nós cliente em uma WMN não precisam atuar como roteadores, o que representa menos complexidade para eles.

De acordo com a referência [2], os protocolos de roteamento para WMNs devem possuir as características de auto-gestão, auto-configuração, e de auto-recuperação. Apesar de diferentes protocolos terem sido desenvolvidos, para a referência [3], estes protocolos visam suprir as necessidades das aplicações para as quais eles foram desenvolvidos, sendo que cada aplicação tem suas particularidades, como tolerância a perdas, atraso fim-a-afim e outros. Portanto, os protocolos, de modo geral, não conseguem atender todas as necessidades das WMNs.

Visando manter as rotas disponíveis atualizadas, os protocolos pró-ativos geralmente geram mais mensagens de controle (overhead), quando comparados aos protocolos por

R. L. Gomes é aluno do curso de Bacharelado em Ciência da Computação ligado à Faculdade de Computação da Universidade Federal do Pará, Belém, Pará, Brasil, [email protected].

W. A. Moreira Jr. é pesquisador no Instituto de Engenharia de Sistemas e Computadores (INESC) do Porto. Porto, Portugal, [email protected].

V.B.Nascimento é aluno do curso de doutorado do Programa de Pós-Graduação em Engenharia Eletrica ligado ao Instituto de Tecnologia da Universidade Federal do Pará, Belém, Pará, Brasil, [email protected].

A. J. G. Abelém é professor adjunto da Faculdade de Computação na Universidade Federal do Pará (UFPA). Belém, Pará, Brasil, [email protected].

demanda e híbridos [3]. Entretanto, como os roteadores do backbone de uma WMN normalmente não se movimentam e não possuem restrições de energia, o roteamento baseado no estado dos enlaces se torna viável.

O objetivo deste trabalho é propor uma extensão para o protocolo pró-ativo Optimized Link State Routing (OLSR baseada na escolha dinâmica de métricas, e testar sua viabilidade de implementação, através de simulações no ambiente Network Simulator (NS-2) [4], utilizando como base para o cenário a rede em malha sem fio da Universidade Federal do Pará (UFPA), proposta na referência [5].

Esta escolha da métrica para o roteamento deve ser feita a partir do tipo de pacote processado no momento, em nível de camada de transporte, objetivando assim atender as necessidades das aplicações, sem que estas influenciem nas demais. A proposta é intitulada OLSR - Dynamic Choice (OLSR-DC).

Este artigo está organizado da seguinte maneira. Seção II mostra os principais trabalhos relacionados a proposta. Seção III trata do protocolo OLSR e algumas de suas extensões. Seção IV apresenta o OLSR-DC, a extensão proposta neste artigo. Seção V apresenta os resultados das simulações feitas no NS-2. E, finalmente, a Seção VI apresenta as conclusões e trabalhos futuros.

II. TRABALHOS RELACIONADOS As referencias [1] e [2] fornecem uma visão geral sobre as

WMNs, suas tecnologias e protocolos, mostrando suas características, desafios e problemas, e a partir disto apresentado assuntos e técnicas existentes para melhorar o desempenho das WMNs.

A referência [3] justifica a razão de serem desenvolvidos muitos protocolos para as WMNs, mostrando que a área ainda possui grande importância tanto para a melhora do desempenho, quanto para o amadurecimento das WMNs.

A referência [6] mostra as informações acerca do protocolo OLSR, detalhando seu funcionamento, tanto quanto ao roteamento como em relação à troca de mensagens. As referências [7] e [8] apresentam propostas que visam prover Qualidade de Serviço (Quality of Service - QoS) utilizando o protocolo OLSR através da utilização de métricas múltiplas, mostrando o funcionamento do protocolos OLSR ao se calcular duas ou mais métricas simultaneamente. A referência [9] propõe o uso de métricas compostas no protocolo OLSR para melhorar o desempenho do roteamento.

Dynamic Metric Choice Routing for Wireless Mesh Networks

R. L. Gomes, W. A. Moreira Júnior, V. de B. Nascimento e A. J. G. Abelém (Member IEEE)

N

454 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 4, AUG. 2009

III. PROTOCOLO OLSR E SUAS EXTENSÕES O protocolo OLSR [6] é uma adaptação do algoritmo de

estado de enlace tradicional voltado para redes ad hoc. Ele é um protocolo pró-ativo, que utiliza uma tabela de roteamento obtida por meio da troca de mensagens constante sobre informação da topologia da rede com outros nós. De acordo com [10], uma vantagem do protocolo OLSR do ponto de vista de QoS é que a sua natureza pró-ativa permite que rotas estejam disponíveis antes mesmo que a fonte precise iniciar um fluxo de pacotes para um nó de destino qualquer.

Entretanto, para [9], o critério de número de saltos do OLSR original não é capaz de fornecer suporte a QoS, uma vez que um caminho selecionado baseado no menor número de saltos pode não satisfazer os requisitos de QoS determinados pela aplicação que fará uso da rede. Dentro deste contexto foram desenvolvidas algumas extensões para o protocolo OLSR, baseadas em outras métricas distintas do OLSR original. Algumas destas são apresentadas a seguir e foram feitas as seguintes análises.

A. OLSR - ETX Esta extensão usa a métrica Expected Transmission Count

(ETX) [11] e tem como objetivo encontrar rotas com o menor número esperado de transmissões que são necessárias para que um pacote possa ser entregue e tenha seu recebimento confirmado pelo destino final.

B. OLSR – ML Nesta proposta, OLSR Minimum Loss, o ETX é interpretado

como a probabilidade de que um round-trip ocorra com sucesso [12], diferentemente da proposta do OLSR-ETX, onde o valor de ETX reflete o número esperado de transmissões.

C. OLSR – MD A idéia principal desta extensão, OLSR Minimum Delay, é

medir o atraso dos enlaces, calculando-os através da técnica AdHoc Probe. Com isso, a seleção do conjunto de nós MPR (Multipoint Relay) e o cálculo da tabela de rotas podem ser feitos com base no atraso calculado para cada um dos nós vizinhos [13].

IV. OLSR - DYNAMIC CHOICE O desenvolvimento de extensões para o protocolo OLSR

tem o objetivo de aprimorar suas características e conseqüentemente seu desempenho. Estas extensões têm seguido várias vertentes, como modificações na seleção do conjunto de nós MPRs [8], cálculo de novas métricas para o roteamento de pacotes, como na referência [13], [11], dentre outras métricas.

A maior parte dos protocolos existentes visa prover QoS para as diversas aplicações multimídia, que em sua maioria se utilizam do protocolo UDP, sendo que tais necessidades estão diretamente relacionadas a medidas de desempenho da rede como atraso, largura de banda, jitter, probabilidade de bloqueio, vazão, taxa de perda de pacotes, taxa de erro de bits, entre outras.

Dentro deste contexto, a maioria das propostas existentes acaba deixando de fora do seu foco aplicações clássicas das

redes de computadores, que utilizam o Transmission Control Protocol (TCP) como protocolo de transporte.

A partir de um levantamento bibliográfico verificou-se que não há um protocolo de roteamento que vise atender as características e necessidades de diferentes tipos de fluxos. Sendo assim, neste artigo se propõe uma extensão para o protocolo OLSR que visa atender não somente QoS para as aplicações multimídia, mas também garantir o desempenho das aplicações que necessitem de uma entrega confiável.

A pesquisa se iniciou com o estudo do desempenho dos dois principais protocolos da camada de transporte, o UDP e o TCP nas redes sem fio, e os principais problemas enfrentados por estes neste tipo de rede.

A. ESTUDO SOBRE O PROTOCOLO TCP O protocolo TCP é classicamente conhecido por ser um

protocolo confiável, e que possui como base para sua transmissão confiável as seguintes características: orientado a conexão, estabelece conexões fim-a-fim através de processo de troca de informações de controle (conhecido como tree-way handshaking), trabalha no modo full duplex, garante entrega ordenada dos dados através do uso de número de sequência e possui algoritmos para controle de congestionamento e de fluxo [14].

O TCP foi desenvolvido originalmente para redes cabeadas, onde estas têm pequenas taxas de perda de pacotes, pois possuem baixa taxa de erro de bits. Sendo assim, quando ocorre perda de pacotes, o protocolo assume que a perda ocorreu por congestionamento da rede e reduz a taxa de transmissão da aplicação.

As conexões sem fio, em geral, apresentam altas taxas de erros de bits, com muita variação da qualidade do sinal e outros fatores que, inevitavelmente são herdados pelas WMNs. Neste contexto, o protocolo TCP costuma ter desempenho ruim e só consegue melhorar sua eficiência a partir do momento que possui uma pequena taxa de perdas, apesar deste não ser o único fator, o que resulta em um menor número de retransmissões, e consequentemente uma menor saturação da rede.

Para verificar sobre qual protocolo, e consequentemente métrica de roteamento, o protocolo TCP possui melhor desempenho, foram realizadas simulações onde o cenário utilizado baseou-se no backbone da WMN que se encontra parcialmente implantada na UFPA como ilustrado na Fig. 1.

LOPES GOMES et al.: I2TS 03 DYNAMIC METRIC CHOICE 455

Figura1. Backbone da WMN na UFPA

A Tabela I mostra os parâmetros usados nas simulações,

que tem por objetivo aproximar a simulação o máximo possível da rede real que será implantada na universidade, representando as características da região e dos equipamentos utilizados. Os parâmetros expoente de perda de caminho (Path Loss Exponent) e desvio padrão de sombreamento (Shadowing Deviation) foram utilizados de acordo com as medições apresentadas em [7].

TABELA I

PARÂMETROS DE SIMULAÇÃO Parâmetros Valores Padrão IEEE 802.11b Modelo de Propagação Shadowing Antenas Omnidirecional 18dB Router’s Carrier Sense Threshold -76dBm Router’s Transmit Power -80dBm Frequência 2.422GHz (Canal 3) Path Loss Exponent 1.59 Shadowing Deviation 5.4dB

A simulação avaliou o desempenho de cada versão do

OLSR com relação aos quatro fluxos TCP gerados. Os fluxos envolveram os seguintes pontos da rede em questão: Capacit→Graduação (Básico), Graduação (Profissional)→Música, Graduação (Básico)→Incubadora e Laboratórios→Secom. Cada simulação teve a duração de 100 unidades de simulação e foram efetuadas 50 vezes para cada versão do protocolo OLSR, alterando a semente geradora do simulador [4].

Dentre as várias versões do protocolo TCP proposta na literatura, o TCP-Reno é o mais utilizado na Internet, sendo também o que possui um melhor desempenho quando se é utilizado o protocolo OLSR [15], sendo usado como protocolo padrão em vários sistemas operacionais. Portanto, nas simulações realizadas o TCP-Reno foi adotado. Os protocolos analisados a partir das simulações foram OLSR [6], OLSR-ETX [11], OLSR-MD [13] e OLSR-ML [12]. Para cada um dos protocolos observou-se a probabilidade de bloqueio, o percentual de descarte e a vazão.

A Fig. 2 mostra o percentual de descarte para as diferentes versões do OLSR. O OLSR-ETX obteve o menor índice, isto

ocorreu devido ao fato desta versão ter conseguido no geral efetuar um maior número de transmissões em relação às perdas ocorridas.

Figura 2. Percentual de Descarte

A Fig. 3 apresenta a vazão que cada versão do OLSR obteve para cada um dos fluxos avaliados. Percebe-se que o protocolo OLSR original e a sua versão utilizando a métrica ETX possuíram uma maior vazão com relação aos demais, sendo que no geral a extensão utilizando ETX obteve um melhor resultado.

Figura 3. Vazão TCP

A probabilidade de bloqueio é mostrada na Fig. 4, onde

novamente o OLSR e a versão OLSR-ETX possuem melhores resultados com relação ao OLSR-MD e OLSR-ML.

Figura 4. Probabilidade de Bloqueio TCP

456 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 4, AUG. 2009

Desta forma, observou-se que a versão baseada na métrica ETX tem o melhor desempenho total. Isto porque esta versão conseguiu variar eficientemente as rotas utilizadas pelos fluxos em questão, consequentemente evitando um maior número de perdas. Este melhor desempenho se deve ao fato de o OLSR-ETX conseguir distribuir eficientemente os tráfegos, de forma a manter recursos suficientes na rede para que os tráfegos tivessem o melhor desempenho possível.

De um modo geral conclui-se que o OLSR-ETX possui um desempenho melhor, com relação às características do protocolo TCP, do que as demais versões do OLSR. Sendo assim, assume-se assim que as aplicações que possuem como protocolo de camada de transporte o TCP devem ser roteados baseados na métrica ETX.

B. ESTUDO SOBRE O PROTOCOLO UDP O protocolo UDP é conhecido por ser o protocolo da

camada de transporte baseado no “melhor esforço”, abrindo mão de mecanismo de confiabilidade para proporcionar uma entrega de pacotes com maior rapidez. O uso do protocolo UDP teve um grande crescimento nos últimos anos com o surgimento e popularização de aplicações multimídia na Internet e em redes locais. Posteriormente a isso começou a surgir uma preocupação com a capacidade das redes em oferecer QoS à estas aplicações [16].

Dentro deste contexto, aplicações que utilizam o protocolo UDP se tornam mais eficientes, em geral, a partir do momento que possuem os pacotes com baixo retardo, e com uma pequena variação destes, além de que ocorra um valor tolerável de perda de pacotes, pois os mesmos não serão retransmitidos. Para se verificar qual métrica possui o melhor desempenho, realizaram-se simulações no cenário apresentado anteriormente considerando os mesmos parâmetros.

As simulações foram constituídas de 6 tráfegos UDP usando Constant Bit Rate (CBR), caracterizando 3 chamadas VoIP (Voice Over IP) com pacotes de 40 bytes de tamanho e uma taxa de bit de 8Kb/s. Esta configuração foi usada para se adequar ao codec G.729 [17]. No ns-2 [4], cada chamada VoIP é representada por dois fluxos UDP, devido ao fato da aplicação ser bidirecional. Os tráfegos produzidos foram entre os pontos: Capacit↔Incubadora, Graduação (Básico)↔Música e Graduação (Profissional) ↔Secom.

Na Fig. 5 é apresentado o percentual de descarte observado para as versões do OLSR avaliadas. Observa-se que a versão OLSR-MD apresentou o menor índice dentre as demais, devido a sua maior eficiência nas transmissões com relação à perda de pacotes.

Figura 5. Percentual de Descarte UDP

A Fig. 6 mostra a vazão alcançada pelas versões para cada

um dos fluxos. Observa-se que, com exceção da versão OLSR-ML, as demais tiveram uma vazão consideravelmente boa com o OLSR-MD alcançando uma maior vazão em relação aos demais.

Figura 6. Vazão UDP

A probabilidade de bloqueio é mostrada na Fig. 7, onde se

percebe novamente que, com exceção da versão OLSR-ML, as demais tiveram uma probabilidade semelhante. Também é observado que o protocolo OLSR-MD obteve melhores resultados referente a esta métrica de avaliação de desempenho.

Figura 7. Probabilidade de Bloqueio UDP

O atraso observado para cada fluxo é mostrado na Fig. 8,

onde o OLSR e suas versões OLSR-ETX e OLSR-MD obtiveram resultados semelhantes. Estes resultados variaram de acordo com o fluxo em questão. Sendo que de modo geral o OLSR original obteve uma pequena vantagem com relação aos demais.

LOPES GOMES et al.: I2TS 03 DYNAMIC METRIC CHOICE 457

Figura 8. Atraso UDP

Já na Fig. 9, são mostrados os valores de jitter, onde pode-

se observar que as versões apresentam um desempenho relativamente parecido. Isto é mais visível entre as versões OLSR-ETX e OLSR-MD. Contudo, o melhor desempenho foi registrado para o protocolo OLSR original, com uma menor variação do atraso.

Figura 9. Jitter UDP

Ao se concluir a análise do desempenho das versões do

OLSR, percebe-se que a variação do protocolo que obteve o melhor desempenho total relacionado à entrega eficiente de pacotes UDP foi o OLSR-MD, enquanto que em relação ao atraso e a variação deste (jitter) a variação que teve um melhor desempenho foi o OLSR original.

Conclui-se que, com tráfegos de maior distância, o desempenho do protocolo OLSR não será eficiente em relação ao OLSR-MD, pois o seu critério para roteamento é somente o número mínimo de saltos para se alcançar o destino. Além disso, deve-se perceber que o protocolo OLSR-MD obteve valores relativamente melhores que o protocolo OLSR com relação à entrega de pacotes e não teve um desempenho muito abaixo que o OLSR se considerado o atraso e jitter. A partir disto, conclui-se que os pacotes que utilizam como protocolo de camada de transporte o UDP devem ser roteados com base na métrica MD.

V. MODIFICAÇÕES NO PROTOCOLO OLSR A conclusão do estudo sobre o desempenho de cada um dos

tipos de protocolo, UDP e TCP, nos indicou que a melhor opção para pacotes que usam o protocolo TCP é utilizar a métrica ETX, assim como a melhor opção para os pacotes que usam o protocolo UDP é o uso da métrica MD. Com base nas analises dos resultados que levou a escolha das métricas

propomos as modificações no protocolo OLSR que são apresentadas a seguir.

A. Ajuste do cálculo da métrica ETX O método usado pelo OLSR-ETX para analisar as

mensagens recebidas se dá através do uso de uma estrutura de controle do número de identificação (ID) dos pacotes recebidos, verificando-se as perdas a partir de falhas no sequenciamento destes [11].

Caso o ID do pacote seja diferente do esperado, o protocolo entende que o pacote com número de identificação esperado foi perdido, então este adianta a sequência de pacotes esperado até encontrar o número de identificação correspondente, se o número de identificação não for encontrado até o limite estipulado (OLSR_MAX_SEQ_NUM), que por padrão é 65535, a sequência é reiniciada a partir do valor inicial 1 (um).

Por sua vez, a métrica MD, como mencionado anteriormente, utiliza a técnica Ad Hoc Probe. Nesta técnica, pares de pacotes são enviados com o mesmo ID de pacotes OLSR, mas com ID interno diferente. Com isso, no momento em que o segundo pacote do par é recebido, o protocolo espera um ID maior, supondo então que o pacote esperado foi perdido. A situação descrita é ilustrada na Fig. 10.

Figura 10. Problema Identificado

O protocolo então realiza uma busca seqüencial pelo ID do pacote recebido para saber quantos pacotes foram perdidos. Desta forma, o protocolo procura o ID até o limite estipulado, e só no recomeço da contagem é encontrado o ID recebido. Esta realidade torna o cálculo da métrica extremamente ineficiente, pois para todo segundo pacote que é recebido o protocolo realiza a busca, que dentro do contexto das duas métricas se torna inútil.

Decidiu-se então utilizar uma estrutura de controle extra para a sequência de pacotes recebidos. No momento em que um pacote vai ser processado para cálculo da métrica ETX, é verificado se este possui o mesmo número de identificação do último pacote recebido. Caso este possua o mesmo número de identificação, o pacote não é considerado para o cálculo da métrica ETX, somente para a métrica MD. Caso o pacote possua um número de identificação distinto do último recebido, este é processado normalmente.

A modificação proposta acima foi adotada por conseguir solucionar o problema identificado, e, além disso, não altera o cálculo original da métrica ETX [11], mantendo sua forma original e não influenciando no cálculo da métrica MD.

458 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 4, AUG. 2009

B. Modificações no algoritmo de roteamento Após as adaptações feitas no protocolo OLSR para se fazer

os cálculos de ambas a métricas, ETX e MD, foram realizadas alterações no algoritmo de roteamento afim de que este pudesse realizar a busca dos melhores caminhos para ambas as métricas mencionadas. O algoritmo utilizado como base foi o algoritmo de Dijkstra [18]. Contudo, este algoritmo foi desenvolvido para calcular a rota com menor custo em grafos utilizando apenas uma métrica para sua avaliação, fato que torna o algoritmo impróprio para a proposta deste artigo.

Para que se pudesse utilizar o algoritmo de Dijkstra no OLSR-DC, foram estudadas e testadas algumas possibilidades: Para que o algoritmo de Dijkstra calculasse as rotas para os nós presentes na rede sem ser executado duas vezes, foram utilizadas listas e variáveis de controle adicionais, auxiliando na organização dos dados e permitindo este cálculo de maneira eficiente.

Além das alterações citadas acima, foi efetuada mais uma mudança no próprio paradigma do algoritmo. Originalmente, o algoritmo de Dijkstra quando se depara com rotas que possuem o mesmo valor, de acordo com a métrica utilizada, escolhe a primeira que foi encontrada, o que significa que nas WMNs, será escolhida a rota com menor número de saltos.

Após estudos feitos com relação a rotas que possuem o mesmo valor de qualidade de enlace, concluiu-se que entre caminhos com o mesmo valor de qualidade e com número de saltos diferentes deve-se escolher aquele que possui o maior número de saltos. Esta escolha justifica-se pelos resultados das simulações, mostrando que a rota com maior número de saltos é composta de segmentos com menor probabilidade de perda de pacotes na maioria das vezes, o que se torna mais interessante para a eficiência na entrega dos pacotes.

Ao se analisar o mesmo contexto para o foco do atraso, observa-se que caminhos com o mesmo valor de atraso e com número de saltos distintos não influência no resultado final deste, pois o atraso final do caminho será o mesmo usando um número maior ou menor de saltos, devido ao fato do atraso ser um valor independente de probabilidades. Sendo assim, adotou-se que quando fossem encontrados caminhos com mesmo valor de atraso, será escolhido aquele que possui uma menor probabilidade de perda, ou seja, aquele que muito provavelmente será composto de segmentos de melhor qualidade.

C. Modificações na tabela de roteamento Originalmente, o protocolo OLSR efetua a inserção das rotas

descobertas na tabela de roteamento de acordo com o número de saltos que cada uma delas utiliza para alcançar o nó de destino na rede, mantendo assim a coerência usada em [6]. Esta estratégia de inserção de acordo com o número crescente de saltos continuou sendo usada no OLSR-DC, pois se verificou que esta não interferia negativamente na proposta.

Na extensão proposta, OLRS-DC, foram modificados três dos quatro campos existentes e acrescentados mais três. Para o OLSR-DC, a tabela de roteamento manterá somente o campo R_dest_addr da tabela original inalterado, alterando os demais, para assim adicionar os seguintes campos: 1) Adicionados:

• R_next_addr_tcp: nó da rede o qual é preciso enviar o pacote para que se possa alcançar o destino em questão, de acordo com a rota estabelecida que tenha o menor valor de ETX;

• R_next_addr_udp: nó da rede o qual é preciso enviar o pacote para que se possa alcançar o destino em questão, de acordo com a rota estabelecida que tenha o menor atraso;

• R_dist_tcp: número de saltos que são necessários para alcançar o destino em questão, de acordo com a rota escolhida, que possui o menor valor de ETX;

2) Modificados: • R_dist_udp: número de saltos que são necessários

para alcançar o destino em questão, de acordo com a rota escolhida, que possui o menor valor de atraso;

• R_iface_addr_tcp: endereço da interface de saída correspondente à rota com o menor valor de ETX para o nó destino;

• R_iface_addr_udp: endereço da interface de saída correspondente à rota com o menor atraso para o nó destino.

D. Modificações no encaminhamento de pacotes Basicamente foram feitas duas modificações nos passos

realizados originalmente pelo protocolo OLSR [6]. No passo de retirada de informações foi feito com que, além das informações usadas originalmente, fosse acessado também o campo que informa o tipo de pacote utilizado na camada de transporte, para que assim esta informação pudesse ser utilizada adiante.

Posteriormente, no passo de verificação do próximo salto referente ao destino, foi implementado para que o campo da tabela de onde se retira a informação seja acessado de acordo com o tipo do pacote verificado anteriormente, ou seja, pacotes que utilizam UDP como protocolo de camada de transporte tem o próximo salto referente à rota que possuir o menor atraso, registrado no campo R_next_addr_delay da tabela. Enquanto os pacotes TCP usem o próximo salto da rota que tenha a melhor qualidade armazenada no campo R_next_addr_quality.

E. Seleção da métrica a ser utilizada para a seleção do conjunto de nós MPRs

As mensagens de controle encaminhadas através dos nós que fazem parte do conjunto MPR, endereçadas a todos os nós da rede, são incorporadas nos pacotes UDP para a sua transmissão através da rede, com isso herdam algumas características do protocolo, como o cabeçalho, e não possuem retransmissão e confirmação dos pacotes transmitidos.

A partir do momento que uma mensagem é perdida, esta não será retransmitida. Com isso, as informações referentes à topologia passarão por um longo período sem a atualização, período este de espera ate o envio de uma nova mensagem. Portanto, se decidiu adotar a métrica ETX para fazer parte do critério de seleção do conjunto de nós MPR, pois esta consegue desempenhar um melhor papel na entrega das mensagens.

LOPES GOMES et al.: I2TS 03 DYNAMIC METRIC CHOICE 459

VI. ANÁLISE DOS RESULTADOS Esta seção tem como objetivo apresentar o desempenho do

protocolo OLSR-DC (Dynamic Choice) proposto neste trabalho comparando-o com as principais variações do OLSR, anteriormente apresentadas. Assim como feito nas seções anteriores, analisou-se o desempenho da proposta realizando simulações no Network Simulator NS-2 [4], utilizando o cenário mostrado na Fig. 1 e com os parâmetros mostrados na Tabela I.

Mantendo-se a linha de análise das simulações anteriores, para a análise dos resultados foi utilizada a referencia [19] como base para os cálculos. Para isso, foram realizadas 50 simulações, para cada protocolo, utilizando diferentes sementes geradoras. Abaixo são mostrados os resultados obtidos das simulações realizadas utilizando os protocolos OLSR, OLSR-ETX, OLSR-MD, OLSR-ML e OLSR-DC.

A Tabela II mostra as configurações dos fluxos utilizados nas simulações, todas as simulações tiveram duração de 150 unidades de simulação.

TABELA II CONFIGURAÇÃO DOS FLUXOS

Fluxo Fonte Destino Início Fim Tipo de Tráfego

1 Laboratórios DI 50 130 TCP - Reno

2 SECOM Música 60 140 TCP - Reno

3 CAPACIT Grad(Profissional)

30 100 UDP - CBR

4 Grad(Profissional)

CAPACIT 30 100 UDP - CBR

5 CT Grad(Básico) 40 110 UDP - CBR

6 Grad(Básico) CT 40 110 UDP - CBR

Para facilitar o entendimento, os gráficos de probabilidade

de bloqueio e vazão foram divididos, onde um refere-se às chamadas VoIP e outro aos fluxos TCP.

A Fig. 11 mostra a probabilidade de bloqueio de cada uma das duas chamadas VoIP, sendo os fluxos UDP 1 e 2 correspondentes a primeira chamada VoIP, e os fluxos 3 e 4 correspondentes a segunda. Para efeito de simplicidade, os resultados do protocolo OLSR-ML foram omitidos dos gráficos pelo fato deste protocolo ter apresentado altos índices e consequentemente dificultando a visualização dos dados.

Figura 11. Probabilidade de Bloqueio UDP

O gráfico mostra que na maioria dos fluxos UDP o

protocolo OLSR-MD possui a menor probabilidade de bloqueio junto com protocolo OLSR-DC, que em alguns momentos supera o protocolo OLSR-MD por ter uma menor probabilidade de bloqueio.

A Fig. 12 mostra os resultados sobre a probabilidade de bloqueio dos fluxos TCP, percebe-se que o protocolo OLSR-DC possui a menor probabilidade de bloqueio, sendo que apenas o protocolo OLSR-ETX se aproxima dos resultados obtidos por este.

Figura 12. Probabilidade de Bloqueio TCP

Apesar dos protocolos OLSR-DC e OLSR-ETX utilizarem

a mesma métrica para roteamento dos pacotes TCP, o melhor desempenho do protocolo OLSR-DC ocorre devido às modificações feitas no algoritmo de roteamento, as quais foram descritas na seção 4 deste trabalho.

A Fig. 13 mostra a vazão dos fluxos UDP das chamadas VoIP. Percebe-se que o protocolo OLSR-DC possui o melhor desempenho, com o protocolo OLSR-MD tendo o segundo melhor desempenho, assim como na probabilidade de bloqueio, as modificações realizadas na escolhas das rotas proporcionou o melhor desempenho do protocolo OLSR-DC.

460 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 4, AUG. 2009

Figura 13. Vazão UDP

A Fig. 14 mostra a vazão dos fluxos TCP. Nota-se que o

protocolo OLSR-ETX possui o melhor desempenho dentre todos os protocolos, sendo que o protocolo OLSR-DC possui o segundo melhor desempenho. Este desempenho próximo se deve ao mesmo motivo da baixa probabilidade de bloqueio explicada anteriormente, além do fato de que ambos os protocolos utilizarem a mesma métrica de roteamento para pacotes TCP.

Figura 14. Vazão TCP

No gráfico do atraso dos fluxos, mostrado na Fig. 15, no

geral, o protocolo OLSR-DC possui os melhores valores, sendo superado em alguns momentos pelo protocolo OLSR-MD.

Figura 15. Atraso

O gráfico mostrado na Fig. 16 mostra as taxas de jitter para cada um dos fluxos UDP das chamadas VoIP efetuadas, nota-

se que o protocolo OLSR-ML e OLSR possuem as melhores taxas de jitter. OLSR-MD e OLSR-DC apresentaram valores de jitter consideravelmente altos em relação aos demais protocolos, mas que ainda são capazes de realizar tráfegos multimídia sem degradação da qualidade deste.

Figura 16. Jitter UDP

O fato dos protocolos OLSR-DC e OLSR-MD utilizarem a

mesma métrica para o roteamento de pacotes UDP fez com que esses dois protocolos obtivessem resultados semelhantes com relação aos fluxos VoIP. A diferença entre os protocolos dá-se pelo fato de que mudanças no algoritmo de roteamento foram efetuadas no protocolo OLSR-DC. Estas modificações proporcionaram ao protocolo uma melhor escolha em relação aos caminhos encontrados.

Entretanto, o fato do protocolo OLSR-DC realizar o cálculo dos caminhos por duas métricas, ETX e MD, faz com que o tempo de cálculo da tabela de roteamento, assim como o tempo para se inserir ou atualizar os dados nesta, seja maior. O mesmo acontece com a métrica ETX em relação aos pacotes TCP.

VII. CONCLUSÃO E TRABALHOS FUTUROS Este trabalho apresentou uma extensão para o protocolo

OLSR baseada na escolha dinâmica de métricas, a qual passou a ser feita a partir do protocolo da camada de transporte usado no pacote processado no momento. O objetivo com isso é tentar atender as necessidades das aplicações de acordo com suas particularidades, sem que estas influenciem nas demais.

O protocolo OLSR-DC teve como objetivo extrair esta capacidade de cada uma das métricas, ETX e MD, ou seja, tentou-se obter um desempenho semelhante ao do protocolo OLSR-ETX em relação às aplicações que utilizam o protocolo TCP, e desempenho semelhante ao OLSR-MD em relação às aplicações que tem como base o protocolo UDP, geralmente aplicações multimídia. Mostrou-se que o protocolo OLSR-DC possui um desempenho semelhante ao do protocolo OLSR-ETX e, em momentos, melhor do que o protocolo OLSR-MD, quando se trata de aplicações que utilizam o protocolo TCP.

Entre os trabalhos futuros pretende-se implementar a extensão proposta neste trabalho na WMN presente na UFPA e assim realizar testes da proposta em uma rede real, para assim melhor validar a eficiência do OLSR-DC.

Outra intenção é a de se estudar a possibilidade de adição de métricas, ou de substituição de algumas das métricas utilizadas, para se medir a eficiência destas em relação a

LOPES GOMES et al.: I2TS 03 DYNAMIC METRIC CHOICE 461

determinados tipos de pacotes, uma das extensões que pode ser analisada é proposta em [7], dentre outras. Além de se tentar aperfeiçoar o algoritmo de roteamento utilizado na proposta, utilizando-se técnicas como as mostradas nas referências [18] e [20].

REFERÊNCIAS [1] Y. Zhang, J. Luo, and H. Hu, Wireless mesh networking:

Architectures, protocols and standards, 1st ed. USA: Auerbach Publications, 2006, ISBN 0849373999.

[2] Bruno, R. Conti, M. Gregori, E., “Mesh networks: commodity multihop ad hoc networks”, IEEE Communications Magazine, vol. 43, nº. 3, pp. 123-131, mar. 2005.

[3] K. Kowalik and M. Davis. “Why are there so many routing protocols for wireless mesh networks?”, 17th Irish Signal and Systems Conference, Dublin, jun. 2006.

[4] K. Fall and K. Varadhan. “The network simulator - ns-2”, Acessado em 10 janeiro 2009, Disponível: http://www.isi.edu/nsnam/ns/

[5] E. Aguiar, P. Bittencourt, W. Moreira, and A. Abelém. “Estudo comparativo de protocolos de roteamento para redes Mesh na região Amazônica”, 25º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, Belém, Brasil, pp. 1105-1110, mai. 2007.

[6] T. Clausen and P. Jacquet. “Optimized link state routing protocol (OLSR) – RFC 3626”, Acessado em 10 janeiro 2009, Disponível: http://www.ietf.org/rfc/rfc3626.txt

[7] W. Moreira, E. Aguiar, A Abelém, and M. Stanton. “Using multiple metrics with the optimized link state routing protocol for wireless mesh networks”, 26º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, Rio de janeiro, Brasil, mai. 2008.

[8] H. Badis, A. Munaretto, K. Agha, and G. Pujolle, “Qos for ad hoc networking based on multiple metrics: bandwidth and delay”, Fifth IFIP International Conference on Mobile and Wireless Communications Networks, pp. 15-18, out. 2003.

[9] Aslam, N., Phillips, W. and Robertson, W., “Composite metric for quality of service routing in olsr”, Canadian Conference on Electrical and Computer Engineering, Niagara falls, Canada, pp. 759-762, mai. 2004.

[10] Leguay, J.; Conan, V. and Friedman, T., “Composite metric for quality of service routing in olsr”, Fourth Annual IEEE International Conference on Pervasive Computing and Communications Workshops, mar. 2004.

[11] Bruno, R. Conti, M. Gregori, E., “A high-throughput path metric for multi-hop wireless routing”, 9th annual international conference on Mobile computing and networking, pp. 134-146, 2003.

[12] D. Passos, D. Teixeira, D. Muchaluat-Saade, L. Magalhães, and C. Albuquerque, “Mesh network perfomance measurements”, 5th International Information and Telecommunicatios Technologies Symposium, Cuiabá, Brasil, pp. 48-55, dez. 2006.

[13] Cordeiro, W.; Aguiar, E.; Moreira, W.; Abelem, A. and Stanton, M. “Providing quality of service for mesh networks using link delay measurements”, 16th International Conference on Computer Communications and Networks, Honolulu, USA, pp. 991 – 996, ago. 2007.

[14] J. Postel. “Internet protocol - darpa internet program protocol specification – RFC 791”, Acessado em 10 janeiro 2009, Disponível: http://www.ietf.org/rfc/rfc791.txt

[15] Dongkyun Kim Cano, J.-C. Manzoni, P. Toh, C.-K., “A comparison of the performance of tcp-reno and tcp-vegas over manets.”, 3rd International Symposium on Wireless Communication Systems, pp. 495-499, 2006.

[16] Ying Ge, Kunz, T. and Lamont, L. “Quality of service routing in ad-hoc networks using olsr”, 36th Annual Hawaii International Conference on System Sciences, 2003.

[17] Balam, J., Gibson, J.D., “Multiple Descriptions and Path Diversity for Voice Communications Over Wireless Mesh Networks”, IEEE Transactions on Multimedia, Aug., pp. 1073 – 1088, 2007.

[18] Noto, M. and Sato, H., “A method for the shortest path search by extended dijkstra algorithm”, IEEE International Conference on Systems, Man, and Cybernetics, 2000.

[19] R. Jain, The art of computer systems: Techniques for experimental design, measurement, simulation, and modeling, 1st ed. USA: John Wiley & Sons, 1991, ISBN 978-0-471-50336-1.

[20] J. L. Sobrinho, “Algebra and algorithms for qos path computation and hop-by-hop routing in the internet”, IEEE/ACM Transactions on Networking, vol. 10, nº. 4, pp. 541-550, ago. 2002.

Rafael Lopes Gomes nascido em Belém, Pará, Brasil, em 28 de Dezembro de 1987. Iniciou sua graduação em Ciência da Computação na Universidade Federal do Pará (UFPA) no ano de 2005 em Belém, Brasil. È membro do Grupo de Estudos em Redes de Computadores e Comunicação Multimídia (GERCOM) fazendo parte de projetos e publicações relacionadas à redes em malha sem fio

com ênfase em roteamento e segurança.Participa de projetos e pesquisas relacionadas à roteamento em redes em malha sem fio, possuindo ainda interesse na área de sistemas distribuídos.

Waldir Moreira nascido em Macapá, Amapá, Brasil, em 14 de Novembro de 1980. Iniciou sua graduação em Ciência da Computação na University of Lethbridge (1999) em Lethbridge, Canadá e a concluiu na Universidade da Amazônia (2005) em Belém, Brasil. Obteve seu Mestrado (2008) pelo Programa de Pós-graduação em Ciência da Computação (PPGCC) da Universidade Federal do Pará

(UFPA). Como membro do Grupo de Estudos em Redes de Computadores e Comunicação Multimídia (GERCOM) publicou artigos na área de redes em malha sem fio com ênfase em roteamento, sendo este seu maior interesse. Atualmente, realiza pesquisas e participa de projetos na área de Redes de Computadores com ênfase em redes sem fio no Instituto de Engenharia de Sistemas e Computadores (INESC) do Porto em Portugal.

Vagner Nascimento nascido em Macapá, Amapá, Brasil, em 23 de Janeiro de 1981. Iniciou sua graduação em Ciência da Computação na Universidade Braz Cubas (UBC) localizada em Mogi das Cruzes, São Paulo, Brasil em 1999 e a concluiu no Centro Universitário do Pará (CESUPA) em 2005 em Belém, Pará, Brasil. Aluno atuante do Programa de Pós-graduação em Ciência da Computação (PPGCC) da Universidade Federal do Pará (UFPA). Como

membro do Grupo de Estudos em Redes de Computadores e Comunicação Multimídia (GERCOM) publicou artigos na área de redes em malha sem fio, TCP e cross-layer. Atualmente, realiza pesquisas e participa de projetos na área de Redes de Computadores com ênfase em redes sem fio.

Antônio Jorge Gomes Abelém é professor adjunto da Faculdade de Computação na Universidade Federal do Pará (UFPA). Atua nos Programas de Pós-Graduação em Ciência de Computação e de Engenharia Elétrica desta instituição. Possui graduação em Engenharia Elétrica pela Universidade Federal do Pará (1990), mestrado em Engenharia Elétrica pela Pontifícia Universidade Católica do Rio de Janeiro (1994) e doutorado em Informática pela

Pontifícia Universidade Católica do Rio de Janeiro (2003). Ocupa atualmente o cargo de Diretor do Centro de Tecnologia de Informação e Comunicação da UFPA. É o atual coordenador da Comissão Especial de Redes de Computadores e Sistemas Distribuídos da Sociedade Brasileira de Computação (SBC) e atual representante da SBC no Conselho administrativo da RNP. Tem experiência na área de Ciência da Computação, com ênfase em Redes de Computadores, atuando principalmente nos seguintes temas: redes ópticas, redes sem fio ad-hoc, GMPLS, multicast, qualidade de serviço (QoS) e segurança.

462 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 4, AUG. 2009