Laboratório Remoto de Redes de Computadores para experimentos DiffServ Autor: Lucio Agostinho Rocha 1, Orientador: Luís Fernando Faina 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Uberlândia (UFU) Uberlândia MG Brasil outrosdiasvirao@yahoo.com.br, faina@facom.ufu.br Nível: Mestrado Ano de ingresso no programa: 2007 Época esperada de conclusão: Março / 2009 Etapa concluída: Defesa da proposta de dissertação Resumo. Este trabalho apresenta um laboratório remoto (Web Lab) para o ensino prático da disciplina de Redes de Computadores através de experimentos relacionados à arquitetura DiffServ. Para isso, é proposta uma extensão dessa arquitetura para a configuração do domínio do laboratório. Essa arquitetura segue o paradigma da computação orientada a serviços (COS) com experimentos disponibilizados através da composição de Web Services. Os experimentos contemplam o monitoramento da submissão de fluxos ao domínio DiffServ e o estabelecimento da gerḙncia intra e interdomínios com o uso de Bandwidth Brokers. O trabalho também pretende apresentar uma forma viável e segura de disponibilizar experimentos de rede remotamente. Palavras-Chave. WebLab, DiffServ, Web Service, Bandwidth Broker, COS
1. Introdução e Motivação Laboratórios de acesso remoto (Web Labs) são considerados ferramentas de auxílio na educação à distância. O desafio das implementações de Web Labs está em fornecer uma infraestrutura para a execução remota de experimentos que possam interagir com os recursos físicos internos do laboratório. Em especial, experimentos na área de Serviços Diferenciados (Differentiated Services - DiffServ) precisam dispôr de uma configuração lógica e física de forma que as alterações solicitadas por um experimento sejam refletidas em todos os hosts do domínio interno do laboratório. Experimentos nessa área estão relacionados com a disseminação exponencial da Internet e à grande quantidade de equipamentos e serviços que têm contribuído sobremaneira para aumentar o congestionamento na rede. A maioria desses serviços contempla mídias contínuas como áudio e vídeo, altamente sensíveis ao estado rede, que demandam garantias de desempenho quanto a qualidade de serviço. Dentre os vários trabalhos que avaliam a provisão de QoS na Internet, destaca-se a abordagem Diffserv. A interligação de redes com TCP/IP permite a entrega de pacotes sem duplicações, perdas e erros, mas não assume garantias quanto à perda de pacotes, vazão, variação do atraso de envio e recepção (jitter), entre outros. Em especial, as aplicações multimídia (fluxos contínuos de áudio e/ou vídeo) exigem garantias de recursos da rede para um adequado funcionamento. Diante disso, várias propostas de tecnologias foram sugeridas pelo IETF (The Internet Engineering Task Force) para oferecer Qualidade de Serviço (Quality of Service - QoS) na Internet. Dentre elas destacam-se: IntServ/RVSP (Integrated Services [Braden et al. 1994, Wroclawski 1997]); MPLS (Multi Protocol Label Switching [Rosen et al. 2001]) e Diffserv [Blake et al. 1998]). Propõe-se nesta dissertação de mestrado a utilização de um laboratório de redes de computadores que permita a realização de diversos experimentos remotos, entre os quais, o de experimentos relacionados à abordagem de Serviços Diferenciados. Para isso, propõe-se a configuração física e lógica de um domínio DiffServ controlado que permita analisar o comportamento do fluxo de pacotes intra-domínio e inter-domínio. A tecnologia de Serviços Diferenciados foi a alternativa adotada para o provimento de QoS na forma de experimentos remotos. Ela possibilita a agregação de fluxos de necessidades semelhantes em classes de comportamento. Cada classe define parâmetros de QoS para tratar o encaminhamento de pacotes de acordo com diferentes níveis de prioridade. Para que os nodos do laboratório reflitam as mesmas configurações diante da submissão de tráfego, um componente centralizador conhecido como Bandwidth Broker [Nichols et al. 1999] será desenvolvido. O projeto apresentado na dissertação irá utilizar uma Sessão de Acesso que reúne informações relativas aos experimentos, recursos, usuários, disponibilização de experimentos em datas e horários previamente agendados, entre outros. A Sessão de Acesso é o componente de software responsável por garantir a segurança de acesso aos experimentos e a disponibilização de recursos para estes experimentos. Enfim, o laboratório de redes de computadores pretende apresentar uma forma viável e segura de disponibilizar e executar experimentos de rede remotamente. 2. Trabalhos Relacionados Diversas abordagens foram sugeridas para contornar o problema da reserva de recursos na Internet. Dentre elas, destaca-se o uso de um componente centralizador de requisições de parâmetros de QoS, distribuidor e gerenciador de recursos conhecido como Bandwidth Broker [Zhang 1999]. A utilização do pacote IPROUTE2 [Kuznetsov 2004] também é apresentada [Kuznetsov 2004] como um estudo utilizando a Plataforma Linux. O intuito foi avaliar o desempenho das ferramentas disponíveis no pacote bem como o comportamento das disciplinas 2
de fila suportadas pelo kernel. Constituiu objeto de avaliação a classificação e o policiamento dos roteadores de borda e de núcleo em um Domínio DiffServ. Por outro lado, os Web Labs de experimentação remota permitem que estudantes acessem via TCP/IP o equipamento de hardware e programas, e desta forma eles monitoram e controlam a real evolução de seu caso prático através de uma Webcam, ou por quaisquer outros meios [Lopez-de Ipina et al. 2006]. Com um laboratório remoto pode-se otimizar a utilização de recursos, podendo disponibilizá-lo para mais de uma instituição de ensino e conseqüentemente atender um número maior de estudantes. Estes podem atuar nos experimentos em locais e horários distintos. A provisão de acesso a experimentos remotos é capaz de atender à demanda existente relativa ao ensino e ao uso de equipamentos e técnicas complexas, introduzindo o estudante ao estado da arte da experimentação prática de sua área. Dentre os vários projetos de Web Labs, o projeto ilab [Lerman and del Alamo 2005] do MIT (Massachusetts Institute of Technology), em parceria com a Microsoft, destaca-se na proposição de laboratórios reais acessíveis através da Internet. O projeto ilab pretende disseminar tecnologias e pedagogias através de diversos laboratórios online ( ilabs ). O projeto levou dois anos para o desenvolvimento, teste e implementação dos Web Labs. Atualmente busca-se manter a infraestrutura de software obtida para que os laboratórios estejam disponíveis 24 horas/dia x 7 dias/semana e que possam compartilhar recursos com outros laboratórios além das fronteiras do MIT. Por outro lado, o WebLab-Deusto [Garcia-Zubia et al. 2006], que é um laboratório de microeletrônica da Faculdade de Engenharia da Universidade de Deusto, procurou evoluir de soluções de software proprietárias para soluções de software livre e de código-fonte aberto. No entanto, nem todos os componentes do Web Lab seguem essa alternativa: o servidor atualmente conta com um sistema operacional Microsoft Windows e a tecnologia ASP.NET para promover a interação com Web Services entre o servidor e as aplicações dos clientes. Uma arquitetura SOA para um sistema de experimentos online [Yan et al. 2006] possibilita a integração de experimentos utilizando uma dupla arquitetura cliente-servidor. Os Web Services são capazes de implementar os serviços da arquitetura SOA e atuar como intermediadores da comunicação. Um Web Service é um sistema de software identificado por uma URI (Uniform Resource Identifier) e que possui interfaces públicas e ligações (bindings) definidas e descritas em XML (Extentend Markup Language) no formato WSDL (Web Service Description Language). Outros softwares podem descobrir a definição do Web Service utilizando um servidor de registro, como o UDDI (Universal Description, Discovery and Integration), por exemplo. As mensagens XML são formadas de acordo com o padrão SOAP (Simple Object Access Protocol) e podem ser trocadas entre a aplicação e o Web Service utilizando, por exemplo, o protocolo HTTP (Hypertext Transfer Protocol) na Internet [Newcomer 2002]. Outro exemplo de Web Lab com arquitetura orientada a serviços é o Web Lab GigaBOT [Coelho et al. 2007]. Ele é um laboratório para educação robótica móvel que utiliza soluções de software livre e de código-fonte aberto. Na arquitetura, os experimentos do laboratório são formados através da composição dos serviços oferecidos pelo Web Lab, reduzindo o esforço para a criação de novos experimentos. 3. Metodologia e Estado da Pesquisa Entende-se por metodologia a forma sistemática de executar diferentes atividades para atingir um objetivo. A metodologia para cumprir os objetivos descritos nesta dissertação foi mantida incrementalmente: estabeleceu-se uma meta e procurou-se atingir o objetivo dentro do prazo 3
esperado. Mesmo que os resultados esperados não foram obtidos o desempenho obtido no processo é descrito e utilizado como referência para a elaboração das próximas atividades. Dessa forma, o projeto se propõe a apontar soluções para os problemas encontrados durante a pesquisa para atingir os objetivos propostos. Os problemas e as soluções encontradas são delineados em relatórios técnicos. Esses relatórios apresentam uma seqüência lógica de ações realizadas no decorrer da pesquisa. Isso torna possível sugerir hipóteses de forma sistemática aliando a coleta de dados à pesquisa bibliográfica que também é descrita ao final de cada estudo. A interpretação e o uso desses relatórios parciais é de fundamental importância para acompanhar as metas, prazos e objetivos alcançados no decorrer do projeto. Ao final de cada relatório segue-se uma conclusão parcial. O NetLab Web Lab atende às necessidades da experimentação remota na área de redes e de Serviços Diferenciados. Desde a instalação física e lógica até a interação do usuário com o laboratório foram almejadas soluções gratuitas com preocupação especial para a portabilidade. O domínio DiffServ pode ser acessado em diferentes sistemas operacionais com o uso de um aplicativo Java acessível através de um Web browser. Apenas uma versão recente de JRE (Java Runtime Environment) precisa ser instalada no host do usuário para acessar os experimentos. Priorizou-se também o desempenho da comunicação remota, o desempenho da comunicação interna entre os recursos do laboratório, a segurança da execução e a simplificação das políticas de transferência de dados entre firewalls de domínios distintos. 4. Resultados esperados Os Web Labs aparecem como uma alternativa viável para o desenvolvimento de aplicações nas mais diversas áreas do conhecimento especialmente quando a oferta de recursos físicos e a configuração lógica de experimentos é limitada. Na área de redes de computadores isso é importante porque nem sempre é possível oferece uma infraestrutura rica em recursos para um laboratório que permite o acesso a muitos usuários. A disponibilidade limitada de recursos ou ausência de controle do acesso pode ser minimizada através da implementação de Serviços de Acesso capazes de coordenar múltiplas instâncias dos mesmos recursos e oferecer políticas de acesso capazes de gerenciar o uso da reserva, papéis, permissões, grupos e sessões. O uso de um laboratório remoto de redes permite a disponibilização de diversos experimentos através da tecnologia de composição de serviços. Em especial, para as aplicações multimídia que são altamente dependentes dos recursos disponíveis na rede disponibilizá-las no ambiente Internet é um desafio. Essas aplicações de tempo-real são significativamente dependentes da qualidade do serviço oferecida para a transferência de seus dados, do enlace entre os hosts, do congestimento desses enlaces, entre outros fatores. Através da infraestrutura proposta é possível avaliar o desempenho do tráfego submetido em um domínio controlado. A necessidade de um modelo para prover QoS fica evidente quando se utiliza serviço na Internet sob certas restrições, por exemplo, laboratórios de acesso remoto de redes de computadores ou de robôs configurados/manipulados a distância. Dentre as arquiteturas existentes, a Arquitetura DiffServ tem se mostrado promissora. Não obstante, há lacunas presentes na arquitetura que merecem atenção especial de modo que a mesma possa ser aplicada em redes com muitos domínios. 5. Cronograma do Trabalho até a Defesa O trabalho está em processo de finalização das implementações e da escrita da dissertação. 4
Referências Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and Weiss, W. (1998). An architecture for Differentiated Services. Technical Report RFC 2475, Internet Engineering Task Force. Braden, R., Clack, D., and Shenker, S. (1994). Integrated Services in the Internet Architecture: an Overview. Technical Report RFC 1633, Internet Engineering Task Force. Coelho, P., Sassi, R., Cardozo, E., Guimaraes, E., Faina, L., Lima, A., and Pinto, R. (2007). A web lab for mobile robotics education. In Proc. IEEE International Conference on Robotics and Automation, pages 1381 1386. Garcia-Zubia, J., Lopez-de Ipina, D., Orduna, P., and Hernandez-Jayo, U. (2006). Experience with weblab-deusto. In Proc. IEEE International Symposium on Industrial Electronics, volume 4, pages 3190 3195. Kuznetsov, A. N. (2004). IPROUTET2 Utility Suite Howto. www.linuxgrill.com. Lerman, S. and del Alamo, J. (2005). ilab: Remote online laboratories. http://icampus.mit.edu/projects/ilabs.shtml. Lopez-de Ipina, D., Garcia-Zubia, J., and Orduna, P. (2006). Remote control of web 2.0-enabled laboratories from mobile devices. In Proc. Second IEEE International Conference on e- Science and Grid Computing e-science 06, pages 123 123. Newcomer, E. (2002). Understanding Web Services. Independent Technology Guides. Nichols, K., Jacobson, V., and Zhang, L. (1999). A Two-bit Differentiated Services Architecture for the Internet. Technical report, Network Working Group. Rosen, E., Viswanathan, A., and Callon, R. (2001). Multiprotocol Label Switching Architecture. Technical Report RFC 3031, Internet Engineering Task Force. Wroclawski, J. (1997). The Use of RSVP with IETF Integrated Services. Technical Report RFC 2210, Internet Engineering Task Force. Yan, Y., Liang, Y., Du, X., Hassane, H., and Ghorbani, A. (2006). Putting labs online with web services. IT Professional, 8(2):27 34. Zhang, K. N. V. J. L. (1999). A Two-bit Differentiated Services Architecture for the Internet. Technical Report RFC2638, Internet Engineering Task Force. 5