• Nenhum resultado encontrado

CAPÍTULO 4 Sistema de Gerenciamento Adaptativo de Largura de Banda em Roteadores,

4.1 Estrutura do Sistema de Gerenciamento Adaptativo de Largura de Banda

4.1.1 Módulo Monitoramento

O Módulo Monitoramento, conforme fluxograma apresentado na Figura 34,

realiza duas tarefas, a saber: i) leitura dos dados sobre o tráfego nas interfaces de conexão

com as LANs do roteador; ii) a atualização das séries temporais relativas a cada uma das

interfaces. Após esses passos, é verificado se a quantidade de amostras já atingiu o valor

estipulado de 1024 observações. Caso tenha atingido, o algoritmo segue seu fluxo de

execução para o Módulo Predição, caso contrário, aguarda-se o tempo de um segundo

e realiza-se nova leitura dos dados.

Lê Dados SNMP

Início

Atualiza Séries

Temporais

Completou séries

temporais?

Módulo

Predição

Módulo

Controle

Aguarda 1s

Não

Sim

Figura 34: Fluxograma do módulo Monitoramento.

No Módulo Monitoramento ocorre a coleta das informações sobre o tráfego

nas interfaces de conexão com as LANs do roteador. Essas informações são obtidas com

81

auxílio do Protocolo SNMP, que armazena na MIB diversas informações sobre os

equipamentos em uma rede de computadores (STALLINGS, 2007).

Optou-se por utilizar o Protocolo SNMP, com o objetivo de se estabelecer

portabilidade ao SGALB, já que muitos dispositivos saem de fábrica com um agente

SNMP implementado (STALLINGS, 2007). Desse modo, com alterações mínimas, o

SGALB poderia ser adaptado para funcionar em outros elementos da rede.

Outro fator que influenciou na escolha do Protocolo SNMP é a possibilidade de,

em trabalhos futuros, utilizar o SGALB, com pequenas adaptações, como um sistema

distribuído, atuando em outros componentes da rede. Com isso, abre-se a possibilidade de

melhorar o desempenho da rede, no que tange ao gerenciamento da largura de banda.

A leitura do tráfego nas interfaces de conexão com as LANs do roteador, realizada

na etapa Lê Dados SNMP. Um dos objetos gerenciáveis na MIB do SNMP é chamado

de ifInOctets, identificado pelo OID 1.3.6.1.2.1.2.2.1.16 . Na Figura 35 é

possível identificá-lo por meio da árvore hierárquica da MIB, esse objeto é uma das

ramificações da subárvore interfaces.

O objeto ifInOctets é, na verdade, um contador incremental de bytes. Desse

modo, para obter a quantidade de bytes que trafegaram na interface, no instante t, é

necessário que seja subtraído o valor retornado por esse objeto no instante 𝑡 pelo valor que

esse retornou no instante 𝑡 − 1.

Como o objeto ifInOctets acumula a quantidade de bytes passantes em uma

dada interface, é definido do tipo Counter32, gauge, em ASN.1. Assim, em qualquer

momento que se fizer a leitura desse objeto, ele estará com o valor exato da quantidade de

bytes acumulada de 32 bits. Evidentemente, uma vez que o valor do objeto ifInOctets

varia entre 0 a 4.294.967.296, ajustes relativos a extrapolação do tamanho máximo do

objeto são considerados para efeitos de cálculo; esse objeto é atualizado a cada instante em

que há chegada de bytes na interface de rede.

O intervalo entre cada observação de tráfego nas interfaces do roteador é de um

segundo. Entretanto, para efeitos de predição de tráfego, o intervalo de observações não

implica grandes efeitos, pois, de acordo com a metodologia utilizada neste trabalho, cada

série temporal analisada passa por um ajuste de parâmetros que melhor descreva as

características da série temporal, conforme descrito no Capítulo segundo.

82

Root-Node

ccit (0)

iso (1)

joinnt (2)

org (3)

internet (1)

dod (6)

directory (1)

mib-2 (1)

interfaces (2)

ifinoctets (16)

Figura 35: Estrutrua herárquica do objeto gerenciável ifOutOctets.

O Protocolo SNMP possui uma limitação de leitura dos objetos na MIB. O

intervalo mínimo entre as leituras desses objetos é de um segundo. Entretanto, caso seja

necessário realizar observações em um intervalo maior de tempo, isso será possível. É

importante ressaltar que essa restrição mínima entre os intervalos de leitura nos objetos da

MIB não está relacionada à atualização que esses sofrem (STALLINGS, 2007).

Para que fosse possível realizar a coleta das informações sobre tráfego nas

interfaces de conexão com as LANs do roteador, fez-se necessária a configuração do

intervalo de leitura do agente SNMP. Por padrão, esse tempo é de trinta segundos, mas

neste trabalho, o tempo foi ajustado para um segundo. Caso o SGALB estivesse atuando de

forma distribuída, não seria necessário nenhum ajuste, pelo contrário, talvez fosse

83

necessário aumentar o intervalo entre as coletas, para não haver inundação da rede e o

aumento de processamento nos sistemas gerenciados, devido ao excesso de requisições

SNMP. Os comandos utilizados para a configuração do SNMP podem ser vistos no

Apêndice A1.

Após a leitura, é feito o armazenamento das informações referente aos tráfegos das

interfaces de conexão com as LANs, gerando, assim, as séries temporais correspondentes

ao tráfego de cada interface. A janela de observação, ou seja, o tamanho de cada série

temporal é de 1024 amostras. Esse tamanho de amostra foi definido com base em testes

realizados e apresentados na Seção 4.3.

4.1.2 Módulo Predição

O Módulo Predição é responsável por fazer a previsão do próximo valor das

séries temporais geradas no Módulo Monitoramento. Um fluxograma desse módulo

pode ser visto na Figura 36. São duas as tarefas básicas desse módulo: aplicação de filtros,

utilizando transformadas wavelets; e previsão dos próximos valores da série, por meio da

modelagem ARIMA.

Na etapa Processamento Wavelet, a série obtida, correspondente ao tráfego

real em um intervalo de tempo, é submetida à transformada wavelet discreta de Haar. O

intuito, ao realizar esse processo, é a aplicação de um filtro para reduzir ruídos que possam

interferir na análise da série por meio do modelo ARIMA.

A escolha da wavelet Haar ocorreu pelo seu custo computacional ser baixo em

relação às outras wavelets, já que seus cálculos são mais simples, conforme mostrado no

Capítulo segundo. Encontram-se, na literatura, evidências de que a wavelet Haar possui

melhor acurácia na predição do tráfego de rede, dessa forma, esse fator também

influenciou em sua utilização no SGALB (NALATWAD, et al., 2006; ADDISON, 2002).

Optou-se por levar em consideração o desempenho computacional na escolha da

Wavelet Haar, conforme apresentada no Capítulo segundo, pois o trabalho proposto nesta

Dissertação de Mestrado realiza realocação dinâmica de largura de banda, e em trabalhos

futuros serão contemplados experimentos cujo tempo de realocação será reduzido, o que

pode tornar-se um problema, caso seja utilizada uma transformada wavelet que requer

cálculos mais complexos.

84

Módulo

Monitoramento

Início

Processamento

Wavelet

Módulo

Predição

Modelagem

ARIMA

Figura 36: Fluxograma do Módulo Predição.

Para realizar a redução do ruído nas séries temporais, duas políticas podem ser

utilizadas, hard threshold e soft threshold, conforme mencionado no Capítulo segundo.

Para o SGALB, a política escolhida foi a hard. Essa escolha foi decorrente dos testes

realizados, conforme descritos na Seção 4.3, por apresentar predições mais precisas. Com

isso, comprova-se mais uma vez que a política hard é a mais indicada para redução de

ruídos em séries temporais provenientes do tráfego de redes (SILVA, 2004).

Utilizando o universal threshold, que é determinado com base no desvio padrão dos

coeficientes wavelets, calculou-se o threshold, levando-se em consideração a escala

wavelet (DONOHO, et al., 1994), conforme apresentado no Capítulo segundo. Encontra-

se, na literatura, trabalhos cujo universal threshold é utilizado, obtendo-se bons resultados

quando a precisão da predição (KARIM, et al., 2002; KWON, et al., 2006; BOTO-

GIRALDA, et al., 2010). Consideração esses trabalhos e a evidenciação de melhor

acurácia na predição do tráfego, por meio de experimentos apresentados na Seção 4.3,

optou-se por sua utilização no SGALB.

85

O script do software R utilizado no processo de redução de ruídos encontra-se

disponível no Apêndice A3. Para esse processo, foi utilizado o pacote wavethresh,

versão 4.6.1 (NASON, 2012). Foram utilizadas as funções wd(a), para realização da

transformada wavelet, threshold.wd(a), para a redução do ruído e a wr(a), para

realizar a transformada wavelet inversa.

A etapa Modelagem ARIMA é a responsável por receber as séries, devidamente

suavizadas na etapa anterior, ou seja, com a redução de ruídos. Para a estimação do modelo

ARIMA que melhor descreva a série, é utilizada a metodologia de Box-Jenkins, descrita no

Capítulo segundo. Assim, após a identificação dos modelos adequados às séries, é

realizada a predição dos índices futuros de cada uma.

A escolha da modelagem ARIMA para análise das séries temporais obtidas a partir

do tráfego nas interfaces de conexão com as LANs de um roteador se deu levando em

consideração a característica não-estacionária dessas séries. Modelos ARIMA conseguem

melhor descrever a maioria das séries temporais existentes, já que, quando essas são não-

estacionárias, é realizada uma diferenciação entre os índices das séries. Já quando essas

séries apresentam estacionariedade, o modelo ARIMA se reduz a um modelo ARMA.

Desse modo, o método é genérico e não sofre grandes impactos caso as características das

séries temporais em análise sejam modificadas (BOX, et al., 1994; MORETTIN, et al.,

2006; LEVINE, et al., 2008).

Um estudo comparativo, realizado por meio de testes, analisando a acurácia de

diferentes técnicas de predição sobre séries temporais provenientes de tráfego de rede de

computadores, pode ser observado na Seção 4.3. Nesse estudo, evidencia-se a eficácia do

modelo ARIMA associado às transformadas wavelets.

Para análise das séries temporais, foi utilizada a modelagem ARIMA,

implementada nos pacotes forecast e tseries, do software R. As funções utilizadas

foram, arima(a), para modelagem; Box.test(a) para identificar o modelo ARIMA

adequado à série temporal; e predict(a), para realizar a predição da série. O script

referente a essas tarefas pode ser encontrado no Apêndice A3.

4.1.3 Módulo Controle

O Módulo Controle possui quatro etapas. Nesse módulo, com base na predição

e em políticas pré-estabelecidas, são realizadas realocações na largura de banda das

86

interfaces de conexão com as LANs do roteador. A Figura 37 apresenta o fluxograma do

Módulo Controle.

Módulo

Monitoramento

Início

Módulo

Predição

Analisa Predição

Realiza realocação?

Aplica Política

Libera Controle

Descarta Séries

Temporais

Não

Sim

Sistema em

Espera

Figura 37: Fluxograma do Módulo Controle.

Na etapa Analisa Predição, os valores preditos para cada uma das séries

correspondentes ao tráfego das interfaces do roteador são somados, e é verificado se essa

soma é maior do que a capacidade máxima admissível de largura de banda da interface de

conexão com a WAN. Caso esse valor seja maior, é identificada então a necessidade de

realizar a realocação da largura de banda, e então o fluxo de execução do algoritmo segue

para a etapa Aplica Política. Caso contrário, o fluxo segue para a etapa Libera

87

A etapa Aplica política, realiza a realocação da largura de banda, por meio

da ponderação feita sobre os valores preditos, conforme a Equação (32):

𝐵𝑖

=𝑀𝑎𝑥�𝑃𝑖

(𝐾)

∑𝑛𝑗=0𝑃𝑗

,𝐺�

(32)

onde:

𝐵𝑖 é a largura de banda que será disponibilizada à interface 𝑖 que se conecta com uma

LAN;

𝑃𝑖 é a largura de banda prevista para a interface 𝑖 que faz conexão com uma LAN;

𝑃𝑗 é a largura de banda prevista para a interface 𝑗 que se conecta com uma LAN e 𝑛 é um

valor inteiro varia de 1 até a quantidade de interfaces de conexão com as LANs;

𝐺 é a largura de banda mínima garantida à interface de conexão com a LAN;

𝑀𝑎𝑥 é uma função que determina o maior valor a ser atribuído a 𝐵, ou seja, caso o valor

predito seja inferior a 𝐺, esse é atribuído a 𝐵, caso contrário é atribuído o valor predito.

Neste trabalho, sabendo que a taxa de utilização da ethernet é de 40 %, estipulou-se

que 40% da largura de banda disponível deve ser distribuída igualmente para as interfaces

de conexão com as LANs (TANEMBAUM, et al., 2010; SAUVÉ, 2008). Desse modo, as

interfaces de saída terão sua largura de banda máxima admissível sempre maior do que

zero. Entretanto, esse valor poderia ser outro qualquer, que atenda às necessidades

peculiares de cada rede de computadores.

Ainda na etapa Aplica Política, após a ponderação da largura de banda que

cada interface de conexão com a LAN terá direito, são modificados os parâmetros da

disciplina de escalonamento CBQ. Assim, o mecanismo CBQ escalona, com base na

largura de banda prevista para as interfaces, a largura de banda máxima admissível a que

essas terão direito.

Após a etapa Aplica Política, o fluxo segue para a etapa Sistema em

Espera, que consiste em manter a configuração de largura de banda determinada na etapa

anterior, por um período de tempo que seja a metade do tempo que foi levado para gerar as

séries temporais, por exemplo, se as séries temporais possuem 1024 observações, uma feita

a cada segundo, o sistema mantém a configuração da largura de banda realocada por 512

segundos.

A etapa Libera Controle desabilita a limitação da largura de banda máxima

admissível nas interfaces de conexão com as LANs, de modo que o tráfego possa correr

88

sem a interferência do sistema. Após esse procedimento, o fluxo de execução do algoritmo

segue para a etapa Descarta Séries Temporais.

Na etapa Descarta Séries Temporais, as séries temporais utilizadas na

predição são descartadas. Em seguida, o fluxo de execução do sistema volta ao Módulo

Monitoramento, onde novas séries são geradas para cada uma das interfaces de

conexão com as LANs do roteador.

4.2 Ambiente de Testes

O SGALB foi aplicado em um roteador que possui uma interface de conexão com a

WAN e três interfaces de conexão com as LANs, conforme ilustra a Figura 38. As

configurações do servidor em que foi implantado o roteador estão descritas no Apêndice B.

Para a implementação desse sistema, considerou-se que não haveria tráfego entre as

interfaces de conexão com as LANs, ou seja, interface 2, interface 3 e interface 4, caso

contrário, cálculo da largura de banda máxima admissível teria de levar em consideração

tal tráfego.

Figura 38: Roteador com o SGALB.

As três interfaces de conexão com as LANs foram conectadas a três VLANs

(Virtual LANs) distintas de um switch, que possui configurações descritas no Apêndice

B2. A cada uma dessas VLANs foi conectado um computador, conforme configurações

descritas no Apêndice B3, que gera tráfego aleatório. Esse tráfego foi realizado utilizando

89

o protocolo HTTP (HyperText Transfer Protocol). O código-fonte do programa

implementado para gerar o tráfego, para o ambiente de testes, se encontra no Apêndice A2.

O ambiente de testes usa fluxos TCP de curta duração, já que esse comportamento

equivale a 70% do tráfego no sentido WAN-LAN, com fluxos inferiores a dez pacotes,

pois esse é o comportamento encontrado na Internet (CIULLO, et al., 2009; LABOVITZ,

et al., 2009; MUSSI, et al., 2012). Propõe-se que, a título de teste, não haja diferenciação

referente a fluxos longos e curtos, uma vez que o objetivo é mostrar a viabilidade do

gerenciamento adaptativo da largura de banda, baseado em predição de tráfego. Entretanto,

essa abordagem, encontrada na literatura (MUSSI, et al., 2012), poderia ser levada em

consideração para trabalhos futuros.

Para gerar tráfego nas interfaces de saída do roteador, foram criados arquivos com

os seguintes tamanhos: 1KB, 10KB, 100KB, 1MB, 10MB, 100MB. Os tamanhos dos

arquivos supracitados foram escolhidos de forma arbitrária, apenas para balizar a

implementação do SGALB em um ambiente controlado de testes. Entretanto, em um

ambiente real, o tráfego internet pode assumir comportamento diferente (NETO, 2008).

Também, a título de balizamento para a implementação do SGALB, a transferência

desses arquivos ocorre em ordem aleatória, em intervalos de tempo também aleatórios, no

intervalo de um a dez segundos. A aleatoriedade dessa transferência de arquivos foi obtida

por meio da função rand( )da linguagem de programação Perl (PERLDOC, 2012).

O script de geração do tráfego supracitado pode ser visto no Apêndice A.2.

Objetivou-se, com isso, estabelecer a heterogeneidade no tráfego gerado nas interfaces de

conexão com as LANs, de modo a caracterizar um comportamento de fluxos TCP em uma

rede de computadores. Assim, buscou-se representar o comportamento de fluxos de dados

que podem surgir em uma rede, como, por exemplo, o tráfego em rajadas e a transferência

contínua de grandes blocos de dados (FOROUZAN, 2006; NETO, 2008; ANELLI, et al.,

2011).

4.3 Análise de Resultados

Os parâmetros utilizados no SGALB foram definidos com base na acurácia de

predições, obtida a partir de testes. As predições foram realizadas observando-se os

90

seguintes indicadores: o MAPE (Mean Absolute Percentage Error) e o NMSE

(Normalized Meam Squared Error) (WEIGEND, et al., 1994; MYNSBRUGGE, 2010).

O MAPE é a média de todos os erros absolutos percentuais e indica o tamanho

médio do erro, expressado como uma porcentagem do valor observado, independentemente

do erro ser positivo ou negativo. Essa é uma das medidas de erro mais usadas para se

avaliar os métodos de predição (MYNSBRUGGE, 2010; HEIZER, et al., 2004). O MAPE

pode ser calculado mediante a utilização da Equação (33):

𝑀𝐴𝑃𝐸 =∑

�𝑃

𝑖− 𝑅𝑖

𝑃𝑖

𝑛

𝑖=1

%

𝑛

(33)

onde,

𝑛 é a quantidade de predições realizadas;

𝑃 é o valor predito;

𝑅 é o valor real.

O NMSE é a média do quadrado do desvio entre o valor predito e o real. Esse erro é

uma métrica importante para a definição do método de predição, já que os maiores desvios

resultam em um peso grande para a média, enquanto os baixos valores resultam em um

erro menor (WEIGEND, et al., 1994; SINGH, et al., 2007).

O NSME é utilizado para definir o grau de acurácia do método de previsão,

conforme apresentado na Equação (34). Um preditor ótimo apresenta NMSE = 0, já um

preditor trivial apresenta NMSE = 1 e um preditor pior que o trivial, apresenta NMSE > 1

(WEIGEND, et al., 1994; SINGH, et al., 2007). O NMSE é dado por:

𝑁𝑀𝑆𝐸 =σ12

1

𝑀 ��𝑋𝑡− 𝑋�𝑡�

2

𝑀

𝑡=1

(34)

onde,

σ2 é a variância da série temporal no período predito;

𝑀 é a quantidade de índices preditos;

𝑋𝑡 e 𝑋�𝑡 são os valores observado e predito, respectivamente, no instante 𝑡.

O MAPE e o NMSE foram calculados em predições utilizando as seguintes técnicas

de predição, apresentadas no Capítulo segundo: Naïve; Média Móvel Simples; Suavização

Exponencial; ARIMA; e Wavelet + ARIMA. O cálculos dos indicadores de acurácia foram

realizados a partir de 3072 predições feitas em três séries temporais distintas, que podem

91

ser vistas no Apêndice C, cada uma obtida a partir de uma fonte diferente de tráfego de

rede. Essas séries, denominadas TR1, TR2 e TR3, são descritas abaixo:

• TR1: tráfego coletado em uma rede destinada a um laboratório de

informática, voltado ao ensino;

• TR2: tráfego observado na rede de um laboratório de uso geral, destinado ao

acesso à internet, por alunos de uma instituição de ensino;

• TR3: tráfego artificial, gerado a partir de um script que realiza a

transferência de arquivos via HTTP, de seis arquivos nos tamanhos de

10KB, 100KB, 1MB, 10MB e 100MB, transferidos em ordem aleatória no

intervalo também aleatório, que pode variar de um a dez segundos, ressalta-

se que esse tráfego foi utilizado apenas para fins de experimentos e testes do

algoritmo SGALB, porém poderia ser gerado obedecendo quaisquer outros

padrões. O script que gera esse tráfego pode ser visto no Apêndice A.2.

A determinação do tamanho da janela de observação utilizada no algoritmo SGALB

foi feita com base em testes realizados e descritos nesta Seção. A transformada wavelet

discreta utiliza séries de tamanho 2n, onde n=1,2,…, conforme mostrado no Capítulo

segundo. Por esse motivo, o tamanho da janela de observação do sistema proposto deve

seguir esse padrão. Após a realização dos testes, optou-se por utilizar séries de tamanho

210, devido à melhor acurácia na predição. É importante ressaltar, que modelos ARIMA

apresentam baixa acurácia para séries temporais a partir de 40 observações, conforme

apresentado no Capítulo segundo.

Os testes realizados para determinar o tamanho da janela de observação tiveram o

objetivo de investigar a acurácia da predição, utilizando-se diferentes tamanhos de janela.

Conforme apresentado na Tabela 3, foram realizados testes para janelas de tamanho 2n,

onde n variou de 5 até 12. As predições foram realizadas utilizando-se a Metodologia de

Box-Jenkins, apresentada no Capítulo segundo. A série temporal utilizada na predição foi a

TR1, supramencionada.

92

Tabela 3. Indicadores de acurácia na predição de STs com janelas de observação de tamanhos diferentes.

Janela de Observação

NMSE

MAPE

Tamanho 25

1,86290

924

Tamanho 26

1,35613

238

Tamanho 27

1,13949

145

Tamanho 28

1,02178

122

Tamanho 29

0,92517

109

Tamanho 210

0,75276

99

Tamanho 211

0,74030

89

Tamanho 212

0,73172

89

Os resultados obtidos na Tabela 3 indicam que o NMSE, para a Metodologia de Box-

Jenkins, é mais satisfatório em janelas de observações a partir de 512 observações, para a

série temporal TR1. Nota-se que as predições realizadas, cujas janelas de observação

possuem tamanhos 210, 211 e 212, não apresentaram diferenciações significativas quanto ao

NMSE. Desse modo, optou-se por utilizar a janela de observação de tamanho 210.

De maneira geral, o SGALB monitora cada uma das interfaces do roteador, que

fazem conexão com as LANs, por 1024 segundos e atua sobre elas por 512 segundos.

Outra abordagem possível seria as STs de tamanho 1024, não serem descartadas

completamente, apenas a observação mais antiga dessas, e incorporar a observação mais

Documentos relacionados