• Nenhum resultado encontrado

O SYN cookie é o resultado de uma função hash com o IPs e portas de origem e destino de um pacote com TCP com a flag SYN marcada, além de outros valores secretos. Este cookie possue o mesmo tamanho que um número de sequência e é utilizado como número de sequência inicial na máquina que recebe a tentativa de inicio de conexão. Com a utilização do cookie não é necessário guardar as conexões semi abertas na memória. A máquina consegue identificar uma conexão que passou pelo processo inicial do three-way handsake comparando o resultado da função hash do último pacote do processo de abertura de conexão, um pacote ACK, com o número de confirmação (acknowledgement number) deste pacote.

Portanto, um mecanismo que não dependa de alteração de mecanismos que se encontram operacionalizados e alcancem resultados tão satisfatórios quanto os produzidos pelo RuN2C tornaria-se mais interessante. Esta é a proposta do RAFLE e seus resultados serão apresentados na próxima seção.

4.4

RAFLE

Seguindo a linha de classificação de fluxos em duas categorias, longos e curtos, proposta no RuN2C, propomos o método Random Assorter of Flow LEngths (RAFLE). Seu algoritmos de classificação derivam da técnica CHOKe, utilizada para oferecer proteção de fluxos TCP contra fluxos UDP que inundem uma rede (WANG; TANG; LOW, 2003).

O RAFLE também não necessita da manutenção de estados dos fluxos ativos no roteador. Realiza a inferência através de uma pequena memória da identificação de fluxo dos últimos pacotes encaminhados por uma interface do roteador. Realiza-se um resgate teórico do RAFLE na Seção 4.4.1, que é seguido da determinação do parâmetro que define o tamanho da memória recente, Seção 4.4.2.

4.4.1

Introdução

Conexões TCP realizam a transmissão de informação através de rajadas de pacotes. O número de pacotes de uma rajada é determinado pela janela de transmissão da conexão. No princípio evitar a possibilidade de enviar muitos datagramas em uma rede congestionada, pi- orando a situação, o crescimento da janela entra na fase de slow start. Nela a janela começa em 1MSS e cresce quase que exponencialmente a cada RTT. Quando se detecta a perda de pelo menos um pacote, a sessão entra em fase de congestionamento e o crescimento é de 1MSS por RTT, caso a perda seja detectada por três ACKs duplicados, ou se ocorrer timeout a janela cai

para 1MSS o slow start é reiniciado.

Devido à característica transmissão em rajadas do TCP é provável que se receba vários pacotes em sequência pertencentes a um mesmo fluxo. Armazenando o ID do fluxo dos últi- mos pacotes encaminhados em uma memória é possível tentar inferir se um fluxo é longo ou curto, uma vez que quanto maior for a duração do fluxo, maior se espera que seja sua janela de transmissão e mais provável do ID deste fluxo se encontrar na memória.

No RAFLE, a cada pacote recebido uma posição desta memória é sorteada e comparada com o ID de fluxo do pacote atual. Se houver coincidência, o pacote é considerado como pertencente a um fluxo longo, caso contrário a um fluxo curto. Quanto mais pacotes de uma rajada são tratados, mais provável é de o ID sorteado na memória coincidir com um novo pacote que entra no sistema, e maior a probabilidade deste pacote ser inserido na fila de fluxos longos. Desta forma, o RAFLE segrega pacotes de fluxos que ocupam muitos recursos da rede, isto é, possuam alta taxa de transmissão de pacotes. Já o RuN2C, onde a identificação de fluxos longos é realizada pelo volume total de dados transmitidos, penaliza, também, fluxos que utilizem uma fatia muito pequena de banda, mas tenham grande tempo de duração. Porém, para que o algoritmo de classificação do RAFLE seja eficiente é necessário determinar o tamanho ideal de memória recente a ser utilizada.

4.4.2

Metodologia

A determinação do tamanho da memória recente utilizada no RAFLE (parâmetro N) deve resultar na priorização de fluxos curtos. É importante perceber que quanto menor for esta me- mória mais chance existe de um pacote pertencente a um fluxo curto ser direcionado para a fila de fluxos longos. Por outro lado, quanto maior esta memória for menor se torna a probabilidade do ID de fluxo de um pacote pertencente a uma rajada de um fluxo longo ser sorteado dentro das Nposições desta memória. Assim, a determinação de N deve encontrar um valor intermediário as duas situações.

Desta forma, realizou-se um experimento com um roteador com classificadores ideais cas- cateados às filas classificadas pelo RAFLE submetido à transmissão simultânea dos arquivos da base. A exemplo do experimento realizado na Seção 4.3.2 calculou-se as probabilidades PAc, PEc, PAl, PEl e o índice de acerto PAc· PAl, para diferentes valores de N. Quanto maior for o índice de acerto, mais adequada é a identificação. São apresentados na Tabela 4.4 os resultados destes cálculos.

4.4 RAFLE 83

limiar é N = 40. No entanto, percebe-se que para N = 10 o valor encontrado para o índice de acerto é próximo do índice de N = 40. O principal problema em utilizar este valor baixo de N é que a aumentar a probabilidade de deslocar um dos últimos pacotes de um fluxo curto para a fila de longos, fazendo com que haja um atraso que pode ser responsável pelo não atendimento dos requisitos de latência de uma aplicação. Sendo assim, deve-se escolher um N que possua um valor não tão pequeno quanto 10 e que ocasione o maior índice de acerto. Desta forma, opta-se por utilizar o valor de 40 posições de memória para armazenagem dos identificadores de fluxo dos últimos pacotes encaminhados, N = 40.

Ressalta-se que experimentos empíricos realizados com a variação do parâmetro N corrobo- ram com as indicações apontadas anteriormente de que o parâmetro N = 40 é o mais adequado. Prossegue-se então com a análise temporal da finalização dos fluxos iniciados simultaneamente, dos tempos médios de transmissão e respectivo desvio padrão, comparando os resultados obti- dos aqui com o classificador de tráfego RAFLE, com os alcançados na Seção 4.2.

Tabela 4.4: Definição experimental do tamanho da memória recente (N) para o RAFLE Limiar Fluxos Curtos Fluxos Longos Índice

N PAc PEc PAl PEl PAc· PAl 10 0,937 0,063 0,140 0,860 0,131 30 0,976 0,024 0,096 0,904 0,094 40 0,979 0,021 0,139 0,861 0,136 50 0,983 0,017 0,094 0,906 0,092 60 0,986 0,014 0,079 0,921 0,078 100 0,989 0,011 0,087 0,913 0,086 PAc→ Probabilidade de acerto para pacotes de fluxos curtos

PEc → Probabilidade de erro para pacotes de fluxos curtos PAl → Probabilidade de acerto para pacotes de fluxos longos PEl → Probabilidade de erro para pacotes de fluxos longos

4.4.3

Resultados: Tarefas Concorrentes com Início Simultâneo

Após o estabelecimento do tamanho da memória recente (N = 40) a ser utilizado nos clas- sificadores de tráfego RAFLE, inciaram-se os experimentos de tarefas concorrentes com início simultâneo. Os resultados obtidos para este classificador serão comparados com os obtidos na Seção 4.2 e com o padrão de equidade analítico proposto.

Análise Temporal de Número de Fluxos Ativos

A finalização de fluxos ao longo do tempo efetuada pelos classificadores RAFLE é apresen- tada na Figura 4.8. As curvas são apresentadas juntamente com o padrão de equidade analítico e os resultados obtidos para os classificadores ideais.

Inicialmente, observa-se a grande semelhança entre o comportamento, ao longo de todo experimento, das finalizações alcançadas pelo RAFLE e pelo classificador ideal, quando são utilizadas as mesmas disciplinas de serviço para as filas. Na faixa entre t = 200 s e t = 500 s o ocorre o espelhamento da divergência entre os classificadores RAFLE PrioSched e RR quando comparado com os seus respectivos classificadores ideais.

Figura 4.8: Diagrama comparativo de fluxos ativos por tempo para o classificador RAFLE A partir de t = 1900 s a finalização dos fluxos do RAFLE PrioSched se distancia do ideal PrioSched e vai ao encontro do tempo de finalização global dos fluxos para os classificadores RAFLE e ideal com disciplina RR. Salienta-se por fim, que quando analisamos as curvas em relação ao padrão de equidade, os classificadores evidenciados nesta seção que utilizam RR conseguem maior aproximação. Apenas para o intervalo entre t = 225 s e t = 410 s a utili- zação da disciplina de serviço PrioSched alcança maior proximidade ao padrão de equidade. Para melhor aferir a proximidade do padrão de equidade passa-se a análise do tempo médio de finalização dos fluxos e seus respectivos desvios padrão.

4.4 RAFLE 85

Tempo Médio de Finalização dos Fluxos

São apresentados nas Figuras 4.9 e 4.10 os tempos médios de finalização de fluxos, junta- mento com o intervalo relativo aos desvios padrão das médias efetuadas para o RAFLE. Para que se possa analisar a tendência em relação a justiça na alocação de recursos, mostra-se, tam- bém, o padrão de equidade analítico.

Assim como na análise temporal, o comportamento global dos tempos médios se aproxima aos resultados obtidos pelos classificadores ideais, quando as mesmas disciplinas de serviço para as classes diferenciadas são utilizadas. A procedência deste fato era esperada, devido a proximidade das curvas de número de fluxos ativos ao longo do tempo.

Do ponto de vista da tendência dos gráficos, observa-se que quando se utiliza a disciplina RR os tempos médios aproximam-se de forma mais justa ao padrão analítico. Em oposição, é notado maior espalhamento e aleatoriedade para os tempos médios para as faixas de arquivos acima de 1MB no classificador RAFLE PrioSched, sendo que em sua maior parte, os tempos médios estão abaixo da linha do padrão de equidade. Apesar disto, a penalização dos fluxos deste intervalo ocorre no sentido do desvio padrão, que cresce aumentando as barras associadas aos pontos médios.

Na Tabela 4.5 são apresentados valores dos tempos médios e desvios padrão, para que se possam calcular os ganhos alcançados pelo classificador RAFLE. Nesta tabela, também se encontram os valores obtidos nos experimentos com o roteador sem priorização de fluxos, Drop Tail.

Os ganhos em relação ao Drop Tail para os tempos médios, apresentados na Seção 4.3, quando os classificadores RuN2C foram utilizados, corresponderam a 2/3 dos obtidos com o classificador ideal, com a disciplina RR e a menos que 1/5 quando comparados utilizando as disciplina PrioSched. Utilizando o RAFLE conseguiu-se ganho de 22, 32% para a disciplina de serviço RR e de 31, 43% para a PrioSched. Isto equivale a 2/3 do valor alcançado pelo classi- ficador ideal, comparando os resultados com a disciplina PrioSched. Analisando os resultados dos classificadores com a disciplina RR, notamos que o RAFLE obtém um ganho 0, 45% acima do classificador ideal.

Quanto aos desvios padrões os ganhos experimentados foram de 200, 07% e 209, 33%, para o RAFLE RR e PrioSched, respectivamente, em relação a não utilização de priorização de tráfego. O classificador ideal PrioSched obtém ganho 33, 20% acima do RAFLE PrioSched. Enquanto o valor alcançado pelo RAFLE RR é 10, 89% maior que o ideal RR.

Figura 4.9: Tempos médios de finalização de fluxos e desvio padrão para o classificador RAFLE com escalonador de prioridade estrita

Figura 4.10: Tempos médios de finalização de fluxos e desvio padrão para o classificador RAFLE com escalonador round robin