Você está na página 1de 7

Análise comparativa entre o TCP Tahoe e o TCP Vegas: Uma simulação com cenários simples e mistos

Glauco Luiz Rezende de Carvalho

Universidade Federal de Sergipe (UFS) Mestrado em Ciência da Computação Cidade Universitária Prof. José Aloísio de CamposAv. Marechal Rondon, S/N Jardim Rosa Elze São Cristóvão - Sergipe E-mail: glaucolrc@yahoo.com.br

Wilhelm de Araujo Rodrigues

Universidade Federal de Sergipe (UFS) Mestrado em Ciência da Computação Cidade Universitária Prof. José Aloísio de CamposAv. Marechal Rondon, S/N Jardim Rosa Elze São Cristóvão - Sergipe E-mail: wilhelm.rodrigues@gmail.com

Resumo. Atualmente existe literatura disponível para várias versões do protocolo TCP. Cada uma delas implementa de diferentes maneiras os algoritmos que garantem o desempenho do protocolo na entrega das mensagens dos protocolos de aplicação. Este trabalho simula a atividade das versões Tahoe e Vegas do protocolo TCP, para demonstrar o desempenho de cada protocolo isoladamente em cenários com um ou mais hosts, bem como o impacto que uma versão tem sobre a outra quando coexistem na mesma rede.

1. INTRODUÇÃO

O TCP é um protocolo da camada de transporte amplamente utilizado pelas aplicações para entrega das suas mensagens, na forma de segmentos. O TCP evoluiu com o passar dos anos, dando origem a várias versões do protocolo. Cada nova versão proposta ou implementada traz evoluções sobre uma versão anterior, evoluindo ou implementado de forma inovadora um ou mais dentre os algoritmos implementados pelo TCP, tais como: "slow start", "fast recovery", "fast retransmit" e "congetion

avoidance"[1].

Vários são os trabalhos disponíveis sobre comparativos entre as diferentes versões do TCP:

Tahoe, Reno, New Reno, Vegas e suas variações. A grande maioria dos trabalhos destaca a características de cada um dos algoritmos em cada um dos protocolos e ilustra através de simulações o comportamento de cada versão em cenários onde agentes de uma mesma versão são utilizados.

Torna-se importante ressaltar a possibilidade de encontro destas diferentes versões do TCP numa rede, implementados em equipamentos de diferentes fabricantes, bem como nos mais variados sistemas operacionais disponíveis no mercado. Dessa forma, também é importante realizar uma avaliação do impacto que uma versão do TCP tem sobre as demais quando este encontro acontece.

Este trabalho apresentará o comportamento das versões Tahoe e Vegas do protocolo TCP, através de simulações de cenários que apresentam a mesma versão e também as duas versões do TCP. Desta forma será possível verificar o impacto que uma versão do protocolo tem sobre a outra nos

indicadores escolhidos para coleta de dados, a janela de congestionamento (CWND) e pacotes/segmentos enviados (Departures).

2. ESTRUTURA DO ARTIGO

Este documento está estrutura da seguinte maneira: O capítulo 3 relaciona outros trabalhos comparativos entre diferentes versões do protocolo TCP. No capítulo 4 está descrita a metodologia utilizada, bem como dados referentes aos cenários simulados. No capítulo 5 está apresentada a análise dos resultados obtidos e no capítulo 6 é feita a conclusão sobre o experimento. Por fim, no capítulo 7 estão as referências mais importantes utilizadas.

3. TRABALHOS RELACIONADOS

Em [6] temos um comparativo entre versões do protocolo TCP, com foco nos mecanismo de controle congestionamento, que destaca pontos positivos e negativos de cada uma das versões abordadas. Um comparativo da análise de congestionamento de rede usando variantes do TCP e implementando uma simulação com o NS2[11] é feito em [2], onde cada variante do protocolo tem uma vantagem particular destacada. As métricas de desempenho consideradas no trabalho foram o tamanho da janela de congestionamento e a vazão da rede.

Em [5] encontramos uma modelagem para TCP Vegas com o envio do tráfego em on-off, onde a análise é feita com base em cadeias de Markov e no modelo de filas.

Um outro trabalho baseado em modelos analíticos é encontrado em [4], onde é apresentado um framework para a modelagem de várias versões do TCP, com tráfego em on-off, cuja validação é feita utilizando o NS2 como ferramenta de simulação.

4. METODOLOGIA UTILIZADA

Uma análise da bibliografia disponível indica uma implementação mais inovadora no TCP em sua versão Vegas, quando comparada com a primeira versão, a Tahoe. Por este motivo, estas versões foram escolhidas para simulação, tendo o NS2[11] como ferramenta usada para este fim. O método de simulação foi preferido ao invés do método analítico por exprimir de forma mais próxima da realidade os resultado obtidos, assumindo as simplificações implementadas nas versões do protocolo TCP disponíveis para simulação através do NS2.

Os dados colhidos foram plotados em gráfico através da ferramenta Xgraphe o ambiente de simulação foi implementado sobre o sistema operacional Linux Ubuntu 11.04.

4.1. Dados da Simulação:

DADOS COMUNS A TODOS OS CENÁRIOS:

Tempo de simulação = 100 e 500 (unidades de tempo do NS2)

TCP packetSize = 1000

 

TCP window = 8000

 

Dados do enlace:

 
 

Largura de banda = 0,3 Mbps

 

Delay = 200 ms

Router 0:

 

Tamanho da Fila = 50

Tipo da Fila = DropTail (FIFO)

Tabela 01 Dados comuns a todos os cenários.

DADOS DO CENÁRIO 1

DADOS DO CENÁRIO 2

DADOS DO CENÁRIO 3

Host 0: TCP Tahoe

Host 0: TCP Vegas

Host 0: TCP Tahoe

Host 1: TCP Tahoe

Host 1: TCP Vegas

Host 1: TCP Vegas

Tabela 02 Dados específicos dos cenários.

TCP Vegas Tabela 02 – Dados específicos dos cenários. Figura 01 – Topologia. 5. ANÁLISE DOS

Figura 01 Topologia.

5. ANÁLISE DOS RESULTADOS

Durante o experimento de simulação foi verificada uma grande discrepância no desempenho entre as versões do protocolo TCP quando simuladas juntas. Num cenário de simulação com duração de 100 (cem) unidades de tempo do simulador, o desempenho da versão Tahoe foi cerca de 5 (cinco) vezes maior que a versão Vegas.

Este fato está baseado no algoritmo de controle de congestionamento implementado em cada uma das versões. Quando existe mais de uma versão do TCP em execução na rede, a implementação do algoritmo de uma versão pode comprometer o desempenho das demais.

Figura 02 – Tahoe(tcp0) versus Vegas(tcp1) – CWND e Departures – 100 unidades de tempo.

Figura 02 Tahoe(tcp0) versus Vegas(tcp1) CWND e Departures 100 unidades de tempo.

No cenário de implementação onde as versões Tahoe e Vegas foram simuladas simultaneamente, foi possível perceber claramente que o controle de congestionamento menos rígido do TCP Tahoe permitiu que este agente TCP enviasse mais pacotes para a rede, degradando a performance do agente TCP Vegas, o qual é mais sensível ao congestionamento, pois tem seu algoritmo baseado na estimativa do tráfego da rede, ao invés de se basear apenas em timeouts e ACKs duplicados, como acontece na versão Tahoe[15].

Na simulação foi possível também constatar que à medida que o tempo passa, a diferença de desempenho aumenta. Com 500 unidades de tempo, o desempenho da versão Tahoe foi cerca de 7 (sete) vezes maior que a versão Vegas. No simulador, o tempo de simulação foi aumentado de 100 (cem) para 500 (quinhentas) unidades de tempo, apenas para evidenciar no gráfico o comportamento do protocolo de forma visualmente mais clara.

comportamento do protocolo de forma visualmente mais clara. Figura 03 – Tahoe(tcp0) versus Vegas(tcp1) – CWND

Figura 03 Tahoe(tcp0) versus Vegas(tcp1) CWND e Departures 500 unidades de tempo.

Quando apenas um agente de cada versão foi simulado de forma distinta em duas simulações, os resultados, quando comparados, mostraram um comportamento bastante semelhante quanto ao desempenho do protocolo no envido de dados, apesar de apresentarem comportamentos distintos no gráfico que ilustra a evolução do valor da janela de congestionamento (CWND).

Figura 04 – Tahoe(tcp0) – CWND e Departures – Agente único na rede. Figura 05

Figura 04 Tahoe(tcp0) CWND e Departures Agente único na rede.

– CWND e Departures – Agente único na rede. Figura 05 – Vegas(tcp1) – CWND e

Figura 05 Vegas(tcp1) CWND e Departures Agente único na rede.

Quando dois agentes de uma mesma versão do protocolo TCP foram simulados juntos, o resultado mostrou um comportamento semelhante para cada agente na evolução do valor da janela de congestionamento (CWND), assim como um desempenho semelhante no envio de dados, com valores bastante próximos. Nos dois quesitos, a versão Vegas demonstrou maior justiça na distribuição de recursos da rede entre os dois agentes que a implementam.

de recursos da rede entre os dois agentes que a implementam. Figura 06 – Vegas(tcp0 e

Figura 06 Vegas(tcp0 e tcp1 ) CWND e Departures.

Figura 07 – Tahoe(tcp0 e tcp1) – CWND e Departures.   CENÁRIO 1 CENÁRIO 2

Figura 07 Tahoe(tcp0 e tcp1) CWND e Departures.

 

CENÁRIO 1

CENÁRIO 2

CENÁRIO 3

TCP

Top Departures

TCP

Top Departures

TCP

Top Departures

Host 0

Tahoe

1935480

Vegas

1827000

Tahoe

2824680

Host 1

Tahoe

1708760

Vegas

1824000

Vegas

544000

Tabela 03 Dados estatísticos dos cenários 100 unidades de tempo.

6. CONCLUSÃO

Nem sempre é possível utilizar a mesma versão do protocolo TCP na rede, dada a variedade de fabricantes de equipamentos e sistemas operacionais disponíveis. Entretanto, este artigo demonstrou que o esforço realizado para minimizar ao máximo esta diversidade de implementações do TCP coexistentes na rede, minimiza a ocorrência de comportamentos inesperados no desempenho de um ou mais hosts. Na comparação realizada foi possível validar que equipamentos ou hosts que implementem a versão Vegas terão seu desempenho prejudicado, quando presentes numa rede com hosts ou equipamentos que implementem a versão Tahoe do TCP. Convém ressaltar que as simulações foram realizadas utilizando filas do tipo DropTail(FIFO). Outros tipos de fila, que implementem critérios de justiça em seus algoritmos, como SFQe REDirão modificar o efeito que uma versão do protocolo TCP tem sobre as demais em cenários de coexistência.

7. REFERÊNCIAS

[1] BARCELAR, Ricardo R. Congestionamento em Redes TCP. Rondonópolis/MT. Disponível em <www.ricardobarcelar.com.br/aulas/cong-redes-tcp.pdf/>. Acesso em 07 de julho de 2011.

[2] PRETE, Lígia; SHINODA, Ailton. Análise do Comportamento das Variações do Protocolo TCP. Jales/SP. Disponível em <http://www.sbmac.org.br/eventos/cnmac/xxxii_cnmac/pdf/153.pdf>. Acesso em 07 de julho de 2011.

[3] SILVA, Luiz. Análise de Desempenho de Protocolos de Transporte para Redes de Alta Velocidade. Rio de janeiro/RJ. Disponível em <http:/www.gta.ufrj.br/ftp/gta/TechReports/Luiz06/Luiz06.pdf >. Acesso em 07 de julho de 2011.

[4] ADAM Wierman; TAKAYUKI Osogami; JÖRGEN Olsén. A Unified Framework for Modeling TCP-Vegas, TCP-SACK, and TCP-Reno. Pittsburgh/PA. Disponível em <http://www.cs.caltech.edu/~adamw/papers/CMU-CS-03-133.pdf >. Acesso em 07 de julho de 2011.

[5] ADAM Wierman; TAKAYUKI Osogami; JÖRGEN Olsén. Modeling TCP-Vegas under On/Off Traffic. Pittsburgh/PA. Disponível em <http:// www.cs.caltech.edu/~adamw/papers/tcp-mama.pdf>. Acesso em 07 de julho de 2011.

[6] AMER, Paul. A Comparative Analysis of TCP Tahoe, Reno, New-Reno, SACK and Vegas.

em

<http://inst.eecs.berkeley.edu/~ee122/fa05/projects/Project2/SACKRENEVEGAS.pdf>. Acesso em 07 de

julho de 2011.

Delaware/USA.

Disponível

[7] TANENBAUM, Andrew. Redes de Computadores. trad. 4 ed., Elsevier, Rio de Janeiro, 2003.

[8] KUROSE, James; ROSS, Keith. Redes de Computadores e a Internet: Uma abordagem top-down Trad. 3 ed., Addison Wesley, São Paulo, 2006.

[9] FARREL, Adrian. A Internet e Seus Protocolos - Adrian Farrel. Elsevier, Rio de Janeiro, 2005.

[10] FLOYD, S. RFC 2914 - Congestion Control Principles. IETF Request for Comments (Setembro de

2000).

[11] The Network Simulator ns-2. Acesso em 07 de julho de 2011.

[12] http://www.rfc-ref.org/RFC-TEXTS/2914/index.html. Acesso em 07 de julho de 2011.

[13] FLOYD, S. RFC 3649 - HighSpeed TCP for Large Congestion Windows. IETF Request for Comments (Dezembro de 2003).

[14] ET AL, R. I. Binary Increase Congestion Control for Fast, Long Distance Networks. In Proceedings of IEEE INFOCOM ’04 (2004).

[15] CAVALCANTI, Juliana. Análise Comparativa dos Algoritmos de Controle de Congestionamento do TCP. Recife/PE. Disponível em < http://dsc.upe.br/~tcc/JulianaCavalcanti.pdf >. Acesso em 07 de julho de 2011.