Você está na página 1de 11

Avaliao do Protocolo Tapestry em um Ambiente Virtual Realstico usando o Network Simulator 3

Geraldo P. R. Filho1, George Gabriel M. Dourado1, Marlos Marques1 Universidade Estadual do Sudoeste da Bahia (UESB) Departamento de Cincias Exatas (DCE) Colegiado de Cincia da Computao (CCComp) Estrada do Bem Querer, Km4, Bairro Universitrio, 45000-000, Vitria da Conquista, Ba, Brasil
{Geraldoprfilho, Marlos.uesb}@gmail.com, Georgegabriel@msn.com
1

Abstract. The Peer-to-peer structure has gained notoriety in last years due to the success of their applications, Like Napster and KaZaa. The great advantage of this technology in relation to the Client/Server model, is the collaboration direct between users. Thus, strategies for finding resources located on machines across a network should be evaluated, so protocols for the distribution and location of objects is an important factor to demonstrate the scalability and robustness in a system. Therefore this work implements the protocol Tapestry; being evaluated in a realistic virtual environment using metrics Stretch and Stress, through a simulation using the tool Network Simulator 3. Resumo. A estrutura peer-to-peer vem ganhando notoriedade nos ltimos anos em consequncia do sucesso de suas aplicaes, como o Napster e KaZaa. A grande vantagem desta tecnologia em relao ao modelo cliente/servidor a colaborao direta entre os usurios. Logo, estratgias para encontrar recursos localizados em mquinas de toda uma rede devem ser avaliadas, por isso protocolos para a distribuio e localizao de objetos fator determinante para demonstrar a escalabilidade e robustez em um sistema. Portanto este trabalho implementa o protocolo Tapestry; sendo avaliado em um ambiente virtual realstico utilizando as mtricas Stretch e Stress, por meio de uma simulao, usando a ferramenta Network Simulator 3.

1. Consideraes Iniciais
O uso da tecnologia Peer-to-peer (P2P) vem ganhando notoriedade nos ltimos anos, principalmente pelo sucesso de certas aplicaes como Napster, KaZaa, ICQ e BitTorrent. Para Rocha et. al. (2004) o resultado do crescimento dessas aplicaes se deve ao fato delas estarem relacionadas tecnologia P2P, estimulando os usurios no momento em que eles percebem que podem compartilhar dados e contribuir para a disseminao das informaes. O sistema P2P tem como finalidade permitir a distribuio de recursos a qualquer host que tenha acesso a uma rede de comunicao. Os hosts participantes podem atuar tanto como cliente quanto servidor de recursos, segundo Junior et. al. (2005), essa

caracterstica dispe aos integrantes, denominado de peers (pares) ou ns, as mesmas capacidades e responsabilidades. O paradigma cliente/servidor administra os recursos situados em uma nica mquina, considerada servidor, essa particularidade pode tornar a capacidade do servio limitada por causa dos componentes de hardware do servidor, alm de no exigir muito da distribuio e gerenciamento dos recursos. Em contrapartida tais desvantagens podem ser superadas pelo conceito de rede Peer-to-peer. Para Couloris, G., Dollimore, J., Kinberg (2007), este paradigma fornece acesso aos recursos de informaes localizados em mquinas que pertencem a uma rede; por isso, os algoritmos para a distribuio e recuperao de informao so aspectos importantes a ser considerado. Este artigo visa a implementao e avaliao do protocolo Tapestry, que possui como estratgia um roteamento baseado em prefixo, usando a ferramenta Network Simulator - 3, NS-3. O roteamento feito por meio de uma Tabela Hash Distribuida, DHT, e encaminha as mensagens para os ns Tapestry com base nos Identificador Global Exclusivo, GUIDs, que esto associados aos objetos, mostrando que uma camada routing overlay obtm bom desempenho e alta confiana em uma rede envolvendo muitos ns. Este artigo est organizado em cinco sees. Na seo dois feita uma analise dos principais simuladores existentes e do escolhido para ser utilizado. Na terceira seo analisado e estudado o protocolo Tapestry que implementa um roteamento em nvel de aplicao, junto com trabalhos atuais relacionados ao tema do artigo. Na seo quatro apresentada contribuio deste artigo, bem como a avaliao do protocolo Tapestry em um ambiente virtual realstico. A seo cinco apresenta as consideraes finais e por fim, a seo seis que possibilita da continuidade a este artigo com sugestes de trabalhos futuros.

2. Simuladores Existentes
Existem vrios programas de simulador de redes com o intuito de avaliar o sistema antes de sua implantao. Entre os simuladores que mais se destacam so: Graphical Network Simulator (GNS-3) [GNS3, 2011], Network Simulator 3 (NS-3) [SIMULATOR, 2011], Network Simulator 2 (NS-2) [SIMULATOR, 2011], Optimizing Network Engineering Tools (OPNET) [OPNET, 2011], Parsec [KAMIENSKI, 2002], SSF [KAMIENSKI, 2002] e QNet [FIDALGO, 2004]. Esses setes simuladores possuem propriedades semelhantes, pois todos empregam simulao baseada em eventos discretos e utilizam uma variedade de protocolos TCP/IP, porm cada um possui foco diferente. OPNET um simulador amplamente utilizado no mbito corporativo, por causa das suas funcionalidades e alta preciso nos resultados. Devido ao seu alto custo, ele se torna restrito em alguns ambientes, como a exemplo pesquisas acadmicas. GNS-3 um simulador grfico de rede que permite a simulao de redes complexas. Elas s so possveis por causa dos Dynamips, Dynagen e Qemu, componentes necessrios para o desenvolvimento de modelos de simuladores [GNS3, 2011]. O NS-2, NS-3, Parsec, SSF e QNet esto mais focados no projeto de protocolos e mecanismos de rede. O Parsec uma linguagem de simulao baseada em C, focada para simulaes de redes sem fio e

permite simulaes paralelas [KAMIENSKI, 2002]. O SSF permite simulaes paralelas e mais utilizado para simulaes de protocolos de roteamento. O QNet um simulador de rede IP que foi desenvolvido com a finalidade ajudar trabalhos de pesquisas, projeto e gerenciamento de redes convergentes. A contribuio do QNet est em integrar numa nica plataforma de simulao, recursos para tratar de redes convergentes, tecnologia de QoS e engenharia de trfego para protocolos IP [FIDALGO, 2004]. 2.1. A Escolha do NS-3 para a Simulao Ainda, no que se refere ao estudo de simuladores, analisamos a escolha de um deles. O simulador de rede NS-3 foi escolhido, pelo fato de ser uma distribuio gratuita de cdigo aberto. Por esse motivo comum a utilizao desse simulador por pesquisadores e para uso educacional, tornando justificvel a sua utilizao para situaes em que necessrio desenvolver desde a mais simples at a mais robusta das simulaes. Alm de ser til para testes de novas funcionalidades como a implementao de novos protocolos de redes. 2.1.1. Vantagens do NS-3 As principais vantagens que levam a utilizao do NS-3 so [KAMIENSKI ET. AL., 2002] e [SIMULATOR, 2011]: Grande quantidade de protocolos e tecnologia existentes como multicast, MPLS, redes ad-hoc, redes de satlites, redes com e sem fio; Disponibilidade de um simulador padro para a comunidade acadmica; Explorao de estudos de interaes de protocolos em um ambiente controlado; Boa base para desenvolvimento, tanto para testar novos protocolos, como para cri-los; Cdigo aberto e gratuito.

3. O Protocolo Tapestry
Vrios protocolos de roteamento em nvel de aplicao que possui arquitetura descentralizada e estruturada P2P como Chord, CAN e Tapestry so utilizados em larga escala. O protocolo Tapestry ser analisado, bem como a sua estratgia adotada, com o intuito de permitir o roteamento de mensagens de forma distribuda. Alm disso, um estudo de trabalhos atuais relacionado proposta do artigo ser realizado. De acordo com Barcellos; Gaspary (2006), o Tapestry uma estrutura P2P que permite o roteamento de mensagens de forma distribuda, auto-administrada e tolerante a falhas. Nesse ambiente as informaes de roteamento e a localizao so partilhadas entre os hosts da rede. O protocolo em questo tem como objetivo encaminhar, de maneira correta, uma mensagem endereada para qualquer n em O(logN) etapas em uma rede com N hosts ativos. Vale ressaltar que o protocolo implementa uma DHT e encaminha as mensagens para os ns com base nas suas chaves, calculadas por meio de uma Secure Hash Algorithm -SHA- ou simplesmente funo hash, usando roteamento baseado em prefixo.

Segundo Rocha et. al. (2004), para cada n da rede atribudo um identificador, NodeId, gerado atravs de uma funo hash aplicado ao seu endereo IP ou a sua chave pblica. O identificador, NodeId, usado para localizar a posio do n em um espao de chave circular, organizado entre 0 2128 1. Uma chave mapeada para um n cujo NodeId , numericamente, o mais prximo da identificao da chave. Para Couloris, G.; Dollimore, J.; Kinberg T. (2007), embora existam no mximo 128 linhas na tabela, apenas log n 16 linhas sero preenchidas, em mdia, em uma rede com N ns ativos. Com o objetivo de detalhar a execuo do protocolo, a Figura 1 ilustra as aes do algoritmo de roteamento de uma mensagem do n 45678 para 65A12, com a ajuda de uma tabela de roteamento adequadamente preenchida. Os pontos representam ns ativos no qual o espao considerado circular com o n 0 adjacente ao n 2128 1.

Figura 1. Ilustrao das aes do protocolo de roteamento.

3.1. Trabalhos Relacionados O objetivo desta seo apresentar trabalhos cientficos atuais relacionados ao tema proposto deste artigo. So mostrados estudos cujo foco corresponde avaliao e anlise dos protocolos distribudos, Tapestry e Pastry. Alm disso, so descritas pesquisas relacionadas ao uso do simulador de rede, NS-3. O Zhao; Kubiatowicz; Joseph (2001) em Tapestry: An Infrastructure for Faulttolerant wide-area Location and Routing, avaliam a importncia de um protocolo distribudo, Tapestry, de roteamento na camada de aplicao, usando apenas links ponto-a-ponto e sem possuir recursos centralizados. Segundo eles o roteamento e as informaes de diretrios dentro desta infra-estrutura mais fcil de administrar e reparar. Isto ocorre, pois o protocolo implementado em nvel de aplicao, ficando mais prximo do usurio programador, tornando mais auto organizvel, com mais facilidade de escalonar, mais adaptvel e mais eficiente. Alm disso, Zhao; Kubiatowicz; Joseph (2001) mostra a arquitetura do protocolo Tapestry e explora suas vantagens atravs de uma srie de experimentos. Papadopoulos (2009), NS3Pastry A PASTRY DHT port to the NS3 Network Simulator, implementa o protocolo Pastry dentro do simulador de rede NS-3, no qual os aplicativos possam usar estruturas overlay. O NS-3 foi o escolhido por ser uma

referncia para a simulao na internet, alm de ser baseado em eventos discretos o simulador utiliza uma variedade de protocolos, por isso Papadopoulos (2009) props uma implementao para o protocolo Pastry. Todavia, ele ressalva que a verso NS3Pastry 0.5 apresenta defeitos com pendncias de ponteiros a memria, depois de um certo tempo simulando uma aplicao. Zhao et. al. (2004), Tapestry: A Resilient Global-scale Overlay for Service Deployment, fornece detalhe completo sobre o protocolo de roteamento e do gerenciamento de tabelas de roteamento do Tapestry em face da chegada e sada de ns. Explorando o comportamento da implantao do protocolo no PlanetLab, com um teste global de 100 mquinas . Os resultados apresentam um comportamento estvel e um bom desempenho sobre o routing overlay, apesar da instabilidade da camada de rede subjacente. A pesquisa realizada por Zhao et. al. (2004) assemelha-se a proposta deste artigo. Contudo o ambiente simulado ser diferente, usando um simulador de rede NS-3 para implementar e avaliar o protocolo Tapestry com mtricas mais adequada para o escopo da simulao.

4. Implementao e Avaliao
A construo de um ambiente virtual bem como sua topologia, aplicao e servios ser modelada para simular e avaliar os resultados do protocolo Tapestry, usando o simulador de rede NS-3. As mtricas Stretch e Stress, foram escolhidas por serem mais adequadas para a avaliao do protocolo em questo. Alm disso, sero apresentadas a estratgia utilizada, o cenrio desenvolvido e os resultados alcanados. Os objetivos so expor a facilidade de modelagem de um ambiente fsico na ferramenta NS-3, mostrar a utilidade para fazer testes de novas funcionalidade como a implementao de novos protocolos de rede, e contribuir tanto para a comunidade de desenvolvimento do Network Simulator 3 project quanto para o grupo de pesquisa NS-3 reviews. 4.1. Cenrio de Simulao Foi elaborado um cenrio virtual realstico, da Figura 2, a fim de avaliar o protocolo Tapestry utilizando a ferramenta NS-3. Esse cenrio representa o backbone da RNP, que interliga os principais centros de pesquisa do pas por meio de seus roteadores conhecidos como Ponto de Presena (POPs). Para esses roteadores sero atribudos os endereos de IPs do autor [OLIVEIRA 2010, p. 94-95], na qual cada um ser conectado a uma rede local padro com dez estaes de trabalho. Alm disso, foi desenvolvido uma aplicao, TapestryApplication, para esta pesquisa, com o objetivo de gerar trfego de dados encaminhando de maneira eficiente, uma mensagem endereada para um n que esteja ativo. A implementao do ambiente virtual foi realizada em uma mquina com as seguintes configuraes: Processador Core2 Duo P8700 2,53GHz (velocidade do clock). Memria cache 3 MB. Memria RAM 3 GB DDR3 1066MHz.

Sistema Operacional Ubuntu Server 9.10

Figura 2. Backbone da RNP de Dezembro de 2011 [RNP 2011]

4.2. TapestryApplication A aplicao TapestryApplication foi desenvolvida incorporando um protocolo distribudo, Tapestry. Tal estratgia foi utilizada porque torna a construo do protocolo mais flexvel, ao invs de usar uma aplicao do prprio NS-3, j que esta no foi construda para o protocolo a ser implementado, consequentemente no possui um servio para uma implementao adequada. Alm do mais, foi feito uma interface de programao bsica para a construo de uma DHT, conforme o desenvolvimento da aplicao. Isso proporcionar uma flexibilidade adicional para o TapestryApplication, colocando rplicas prximas aos requerentes, reduzindo a latncia e minimizando as cargas de rede. Esta aplicao, implementada - na linguagem C++ - no ambiente de desenvolvimento do NS-3, possui a finalidade de encaminhar mensagem para o n que esteja numericamente mais prximo ao requerente. O cdigo fonte a seguir corresponde ao mtodo SendMessage, Figura 3, da aplicao TapestryApplication, que usa o protocolo Tapestry encaminhando de maneira correta, uma mensagem endereada para qualquer n em uma rede com N hosts ativos.

Figura 3. Mtodo SendMessage.

4.3. A Escolha das Mtricas Na tentativa de medir o desempenho do protocolo na aplicao TapestryApplication de forma justa, adotou-se duas mtricas, Stretch e Stress, que foram apresentadas pelos autores Chu, Rao & Zhang (2000); Pendarakis et. al. (2001); Banerjee, Bhattacharjee & Kommareddy (2002) ambas esto descritas abaixo: Penalidade de Atraso Relativo (RDP): Conhecida como Stretch, razo entre o atraso de dois ns na sobreposio e o atraso que esses dois ns sofreriam na rede subjacente. Stress: Conhecido como Link Stress, que seria o nmero de cpias idnticas de um pacote trafegando em um mesmo enlace fsico;

Fahmy & Kwon (2007), faz uma distino entre o RDP e o Stretch, sendo o primeiro a razo entre o atraso do caminho na rede virtual com a rede real, e o ltimo como sendo a razo entre o nmero de saltos nessas duas redes. 4.4. Avaliao dos Resultados Obtidos Os resultados a serem apresentados nesta seo, foram obtidos atravs das anlises de capturas de pacotes geradas pela aplicao TapestryApplication, em conjunto com a ferramenta Wireshark. A mdia de cada mtrica foi avaliada atravs de um conjunto de 70 experimentos, a fim de observar a estabilidade dos dados obtidos.

A Figura 4 e 5 exibe os resultados das mtricas Stretch e Stress mdio. O IP multicast nativo que possui uma soluo tima com o valor de Stretch 1 e Stress 1 [Chu, Rao & Zhang; 2000], foi adicionado nos Grficos RDPM e Stress Mdio, servindo como referencia para avaliar o Stretch e Stress do protocolo Tapestry.

Figura 4. Resultado do Stretch mdio.

O grfico acima, representado na Figura 4, mostra que quando o sistema se estabiliza o valor do RDPM obtido est, predominantemente, contido no intervalo entre 1 e 2 para cada par de membro, um dos motivos o uso de DHT que suaviza a relao entre o caminho que um pacote percorre na rede virtual, com o caminho que ela percorre na rede fsica. Alm disso, o emprego do protocolo TCP para o encaminhamento de mensagens ajuda amenizar o Stretch. No entanto, existem alguns pares de membros com RDP alto. Isto se d, pois no inicio da simulao do sistema alguns hosts ainda no esto ativos, levando a uma rvore de distribuio no tima, ocorrendo um RDP alto em comparao ao IP multicast.

Figura 5. Resultado do Stress mdio.

Na Figura 5, observa-se que a rvore de distribuio de dados melhora gradualmente durante a entrada de mais hosts na rede, ou seja, est convergindo mais rapidamente para um valor estvel tendo o Stress mdio menor que 2, consequentemente pode-se presumir tambm que o encaminhamento de dado permanea mais estvel ao longo de um perodo. Alm disso, a curva do Grfico Stress Mdio est ligado estrutura de dados hashing permitindo nodos entrarem e sarem da rede causando pouco estresse ao overlay P2P [Barcellos & Gaspary, 2006]. Isso acontece, pois quando um nodo ingressa na rede aps o nodo n, ele assume a responsabilidade sobre uma parcela das chaves que estavam com n. Os resultados apresentados acerca da Figura 5 e 6 so similares aos dos autores, Zhao et. al. (2004); Zhao, Kubiatowicz & Joseph (2001), que faz uma avaliao do protocolo Tapestry apresentado na seo 3.4. Trabalhos Relacionados. Alm disso, os pesquisadores Chu, Rao & Zhang (2000); Banerjee, Bhattacharjee & Kommareddy (2002), avaliam a importncia de um protocolo distribudo como o NARADA e NICE chegando a resultados semelhantes.

5. Consideraes Finais
Durante o desenvolvimento deste artigo foi possvel perceber a importncia da simulao e o uso do NS-3 na pesquisa cientfica, visto que o NS-3 uma ferramenta de construo e anlise usada para prever o efeito de mudanas em um mundo real. Por esse motivo comum o seu uso por pesquisadores, no estudo cientfico em situaes na qual necessrio tanto desenvolver novas funcionalidades quanto simular sistemas existentes. Este artigo implementou o protocolo Tapestry e avaliou o seu desempenho em um ambiente virtual realstico, backbone da RNP com cada POP conectado a uma rede local padro, usando o simulador de rede NS-3. A avaliao foi feita pelas mtricas Stretch e Stress, para proporcionar um resultado mais confivel ao protocolo implementado. Este protocolo permite o roteamento de mensagens de forma distribuda, auto-administrada e tolerante a falhas, tendo como estratgia um roteamento baseado em prefixo que feito por meio de uma DHT. Atravs da anlise dos resultados, foi possvel constatar que o protocolo Tapestry melhora o seu desempenho detectando rapidamente mudanas em seu ambiente. Alm disso, cpias adicionais de objetos em host ativos podem melhorar significativamente a consulta dos mesmos. Tambm foi possvel observar que, o roteamento dentro da estrutura do protocolo Tapestry mais fcil de administrar e reparar. Pois o protocolo foi implementado na camada de aplicao, tornando o mais prximo do usurio programador, mostrando que uma camada routing overlay obtm bom desempenho e alta confiana em uma rede envolvendo muitos ns. Finalmente, a anlise demonstrou que o protocolo Tapestry gerencia informaes de roteamento de forma eficiente, e ainda, mostrou-se um protocolo simples, de fcil entendimento e implementao.

6. Trabalhos Futuros
Dando continuidade ao TCC desenvolvido podemos citar como trabalho futuro, a implantao de uma biblioteca com os servios que o protocolo Tapestry fornece dentro

do simulador de rede NS-3, no qual os aplicativos possam usar estruturas overlay. Outra sugesto seria uma abordagem de pesquisa comparativa entre o protocolo Tapestry e CAN que possui estratgias diferentes, porm com o mesmo objetivo, evidenciando qual seria o melhor em determinado cenrio. Outra proposta est relacionada com o trabalho dos autores Pereira et. al. que avalia o protocolo CAN Multicast no suporte a Ambientes Virtuais Colaborativos - AVCs -, neste caso seria a avaliao do protocolo Tapestry no suporte a AVCs. Pois o Multicast na camada de aplicao - ALM - tem recentemente surgido como uma boa alternativa ao Multicast na camada de rede.

Referncias
BARCELLOS, Marinho P. (2006); Gaspary, Luciano P. Segurana em Redes P2P: Princpios, Tecnologias e Desafios. Simposio Brasileiro de Redes de Computadores, Maio, PR. Anais. Curitiba: SBRC. BITTORRENT. (2011) BitTorrent Delivering the Words Content. Disponvel em <http://www.bittorrent.com>. Agosto. COULOURIS, G., Dollimore, J., Kinberg. (2007) Sistemas Distribudos: Conceitos e Projetos. 4. ed. Bookmann. FIDALGO, Joseane Farias; et. al. (2004) Qnet Um Simulador Grfico de Trfego IP para Redes Convergentes. 22 Simpsio Brasileiro de Redes de Computadores, maio 2004, Gramado. Anais. Rio Grande do Sul, Gramado: UFPE/SBRC. GNS3. (2011) Graphical Network Simulator. Disponvel em < http://www.gns3.net/>. Abril. ICQ, ICQ 7.6 The latest ICQ. (2011) Disponvel em <http://www.icq.com>. Agosto. IME.(2011) Simulao. Disponvel em <http://www.ime.usp.br/~gold/cursos/2002/mac2301/ep2/ep2/node2.html>. Maro. JUNIOR, Joo Rocha; et. al.. (2005) XPeer: Middleware for Peer-to-Peer Applications. Proceedings of Peer-to-Peer Workshop at Brazilian Symposium of Computer Networks. JUNIOR, Joo Rocha; et. al.. (2004) Peer-to-Peer: Collaborative Computing in the Internet. Proceedings of the Brazilian Symposium of Computer Networks (SBRC). KAMIENSKI, Carlos Alberto; et. al.. (2002) Simulando a Internet: Aplicaes na Pesquisa e no Ensino. 21 Jornada de Atualizao em Informatica, julho. Congresso da SBC, Florianpolis, SC. KAZAA, Listen to Music Online at KaZaa. (2011) Disponvel em < http://www.kazaa.com>. Agosto. NAPSTER, Napster Page. (2011) Disponvel em <http://free.napster.com/napsterhomemain>. Agosto. OLIVEIRA, M. A. M. S. (2010) Um Protocolo de Comunicao Multicast na Camada de Aplicao com Conscincia de Localizao. Tese de Doutorado, UFRN. OPNET. (2011) Solues para Gerenciamento de Desempenho de Aplicaes. Disponvel em <http://www.opnet.com>. Abril. PAPADOPOULOS, C. (2009) NS3Pastry A PASTRY DHT port to the NS3 Network Simulator. Department of Informatics; Athens University of Economics and Business. Fevereiro. PEREIRA, et. al., (2007) Avaliao do Protocolo CAN Multicast no Suporte a Ambientes Virtuais Colaborativos. V Workshop em Desempenho de Sistemas

Computacionais e de Comunicao. RNP. (2011) Rede Nacional de Ensino e Pesquisa. Disponvel em <http://www.rnp.br/>. Dezembro ROCHA, Joo; et. al.. (2004) Peer-to-Peer: Computao Colaborativa na Internet. Proceedings of the Brazilian Symposium of Computer Networks (SBRC), Maio. SIMULATOR, Network. (2011) Ns-3 Tutorials and Manual. Disponvel em <http://www.nsnam.org/docs/release/3.10/doxygen/index.html>.Maro. ZHAO, Ben; Kubiatowicz, John; Joseph, Anthony. (2001) Tapestry: An infrastructure for fault-tolerant wide-area location and routing. Computer Science Division University of California, Berkeley. ZHAO, Ben; Huang, Ling; Stribling Jeremy; Rhea, Sean C.; Joseph, Anthony D.; Kubiatowicz, John D. (2004) Tapestry: A Resilient Global-scale Overlay for Service Deployment. IEEE Journal on Selected Areas in Communications. Janeiro.