200 likes | 296 Views
Simulação de Redes de Comunicação. Simulação de Redes de Comunicação A. Paulo Santos aps@estgf.ipp.pt apsantos@linuxdigital.org Escola Superior de Tecnologia e Gestão de Felgueiras Março, 2011. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos ( 1 /20). Introdução NCTU-ns.
E N D
Simulação de Redes de Comunicação Simulação de Redes de Comunicação A. Paulo Santos aps@estgf.ipp.pt apsantos@linuxdigital.org Escola Superior de Tecnologia e Gestão de Felgueiras Março, 2011 MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (1/20)
Introdução NCTU-ns O NCTUns é um ambiente para simulação de redes. Está a ser desenvolvido desde 1999 no laboratório de redes e sistemas da Universidade Nacional de Chiao Tung (Taiwan), sob a coordenação do professor S. Y.Wang. Atualmente encontra-se na versão 6.0. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (2/20)
Caractriticas (1/5) NCTU-ns 1. Simulação de redes NCTUns proporciona a user a capacidade de criar redes virtuais, combinando protocolos e dispositivos de rede. 2. Emulação de redes O NCTUns permite que sejam criadas redes virtuais, nas quais dispositivos virtuais interajam em tempo-real com dispositivos reais durante a simulação. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (3/20)
Caractriticas (2/5) NCTU-ns 3. High-fidelity simulation O NCTUns utiliza a pilha de protocolos TCP/IP do sistema operativo LINUX para transmitir mensagens entre os dispositivos, conseguindo assim proporcionar simulações altamente fiaveis às situações reais. Esta característica não é encontrada noutros simuladores como ns-21 e OPNET2. Exemplo prático: Integração com o NIDS Snort para capturar pacotes em tempo-real, transmitidos na rede (virtual). MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (4/20)
Caractriticas(3/5) NCTU-ns 4. Interface gráfica - GUI NCTUns possui uma interface gráfica para desenho, implementação e administração das simulações. 5. Extensível Sendo uma ferramenta OpenSource (com excepção da interface gráfica) é passível de modificações. Exemplo: Implementação de outros protocolos e dispositivos de rede. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (5/xX)
Caractriticas(4/5) NCTU-ns 6. Escalabilidade Ao contrário de outros de simuladores, como VMware e UML4, o NCTUns não “trabalha” com máquinas virtuais. As Máquinas virtuais necessitam de “imagens” de hardware e sistemas operativos. O que faz com que mesmo sendo muito otimizados, esses ambientes ficam muito lentos a medida que aumentam o número de hosts virtuais. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (6/20)
Caractriticas(5/5) NCTU-ns Em contrapartida, o UNCTUns não instala um sistema operativo para cada máquina, mas sim modifica o kernel da máquina que irá executar a simulação, para que esse seja capaz de transferir internamente os pacotes entre os hosts virtuais. Através desta técnica é possível aumentar o número de hosts das simulações sem afectar, drasticamente, o desempenho. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (7/20)
Arquitectura(1/4) NCTU-ns O NCTUns é um sistema cliente-servidor, composto por quatro componentes: • Cliente Gráfico (nctunsclient) este componente é a interface entre o user e o sistema. Através dele o usuário é capaz de criar simulações e “enviá-las” ao servidor para que sejam executadas. • Simulation Engine (nctunsse) este componete é o core do ambiente, responsável por executar as simulações no servidor. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (8/20)
Arquitectura(2/4) NCTU-ns • Dispatcher este componente, residente no servidor, é responsável por controlar as “requisições” de simulação recebidas dos clientes, e enviar as simulações para o servidor assim que este esteja disponível. • Coodinator é executado em todas as máquinas que compõe o servidor e é responsável por por “receber” as simulações do dispatcher e “repassá-las” para serem executadas no nctunsse. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (9/20)
Arquitectura(3/4) NCTU-ns NCTUns - Arquitetura MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (10/xX)
Arquitectura(4/4) NCTU-ns Na imagem é apresentado um exemplo no qual, vários users utilizam o cliente gráco (GUI), em localizações distintas, para enviar simulações ao(s) servidor(es). As requisições são recebidas e organizadas pelo dispatcher, que as redistribui entre as (quatro) máquinas que compõem o servidor. Cada servidor tem um coordinator e um nctunsse. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (11/20)
Simulação(1/4) NCTU-ns Para conseguir reproduzir fielmente (real-life) as transferências de pacotes, o NCTUns implementa uma técnica denominada kernel re-entering methodology [Wang et al. 2003]. Esta metodologia propõe a criação de pseudo-interfaces de rede, ao nível do kernel, denominadas túneis. Neste contexto o simulador é capaz de utilizar a pilha de protocolos TCP/IP nativa do Linux para passar pacotes rede, entre os hosts virtuais. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (12/xX)
Simulação(2/4) NCTU-ns NCTUns - Kernel Re-entering Methodology MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (13/20)
Simulação(3/4) NCTU-ns A imagem, apresenta um resumo do “caminho” percorrido por um pacote TCP enviado de um host a outro. O pacote é gerado no host (TCP Sender ). Da mesma forma com o que acontece numa situação real-life, o pacote atravessa verticalmente as camadas de transporte e de rede. Na camada de ligação de dados, conforme a indicação dada pela routing table, criada pelo NCTUns, o pacote é direccionado para a interface de rede Tunnel Interface 1. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (14/20)
Simulação(4/4) NCTU-ns Esses túneis são vistos pelo Linux como interfaces “normais” de rede (eth0). Em vez de “entregarem” o pacote à camada física, fibra óptica por exemplo, os túneis (re)direcionam os pacotes para um link virtual (flat file /dev) administrado pelo Simulation Engine. Esses links desempenham a função da camada física para os dispositivos da rede virtual. O pacote é entregue à interface Tunnel Interface 2 do host destino, atravessando (subindo) a pilha de protocolos TCP/IP do receptor até atingir seu destino, o TCP receiver. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (15/20)
Emulação(1/3) NCTU-ns O NCTUns é também um emulador de redes, por ser capaz de “introduzir” dispositivos reais nas redes virtuais. Para conseguir interagir com dispositivos externos, o Simulation Engine lança um daemon para cada dispositivo a ser emulado. Esses daemons são responsáveis por receber os pacotes enviados pelas máquinas externas e redirecioná-los ao Simulation Engine, para que “entrem” na rede virtual. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (16/20)
Emulação(2/3) NCTU-ns Da mesma forma, quando algum pacote deve ser enviado a algum dispositivo externo, o Simulation Engine envia-o ao respectivo daemon, que o encaminha para a máquina externa. Este processo de passagem de pacotes é semelhante ao NAT. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (17/xX)
Emulação(3/3) NCTU-ns Para que a máquina real seja capaz de enviar pacotes à rede virtual, é necessário alterar a sua routing table. Deve ser adicionada uma rota (default gw), informando que todos os pacotes destinados a IPs das máquinas virtuais sejam enviados ao servidor de simulação. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (18/20)
Utilização NCTU-ns • O simulador e emulador de redes NCTUns é uma ferramenta muito abrangente, permitindo: • Planificação de redes e avaliação de seu Desempenho. • Ferramenta “educacional” para ensinar como funcionam as redes reais. • Avaliação da performance de sw executados em redes. • A sua utilização será abordada no estudo da sua GUI, através do manual da versão 6.0 [2010] MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (19/20)
Instalação NCTU-ns • Para procedermos a instalação do NCTUns-6.0, temos que optar por uma de duas possibilidades: • Instalação real de SO Linux Fedora-based (dual-boot) no pc ou portátil. • Instalação de Máquina Virtual, usando SW de virtualização: • Virt-manager • Virtual-Box • VMWare • Está disponível no moolde um guião. MRSRC-SRC@ESTGF.ipp.pt - A. Paulo Santos (20/20)