Simuladores e Emuladores de Rede para o Projeto e Soluc ... · real, com componentes de roteamento,...
Transcript of Simuladores e Emuladores de Rede para o Projeto e Soluc ... · real, com componentes de roteamento,...
Simuladores e Emuladores de Rede para o Projeto e
Solucao de Problemas em Ambientes de ProducaoMarcelo Sousa, Joab Silva, Whasley Souza, Yngrid Cabral, Uenio Rocha, e Tatiana Olimpio
Instituto Federal da Paraıba – IFPB campus Campina Grande
Capıtulo Tecnico da ComSoc – Ramo Estudantil IEEE do IFPB campus Campina Grande
E-mails: {marcelo.portela, joab.a.silva, whasley.s.c, yngrid.k.cabral, uenio.v.rocha, tatiana.olimpio.br}@ieee.org
Resumo—Simuladores e emuladores tem um papel importantepara auxiliar no funcionamento de redes de computadores. Portentarem se aproximar ao modo de operacao de um ambiente reale possıvel extrair vantagens no uso de ferramentas desse tipo.Sob a identificacao adequada dos requisitos daquele ambiente(requisitos do cliente) um engenheiro de redes pode projetar demaneira adequada as solucoes para o respectivo cenario, com aoportunidade de realizar testes exaustivos antes da aplicacao emequipamentos reais. Isso pode economizar recursos financeiros,alem de resultar em uma melhor documentacao de projeto, o quecontribui tambem para uma melhor identificacao e solucao deproblemas (trobleshooting). Neste artigo, os autores apresentamas principais caracterısticas de alguns simuladores e emuladoresde redes de computadores, assim como algumas diferencas emseus modos de operacao. A contextualizacao com ambientes reaise realizada, citando vantagens e desvantagens dessas ferramentasfrente a interacao com protocolos, dispositivos reais e confiabi-lidade na tentativa de reproduzir o comportamento da rede emambientes de producao. Um detalhamento maior e exposto naanalise do simulador Cisco Packet Tracer e do emulador GNS3,que tambem integram parte de um experimento em laboratorioreal, com componentes de roteamento, comutacao, Internet dasCoisas e sistemas operacionais variados.
Index Terms—Simuladores, emuladores, Cisco Packet Tracer,GNS3, Projeto de Redes.
I. INTRODUCAO
Softwares que reproduzem caracterısticas e funcionalidades
de dispositivos de rede tornaram-se amplamente disponıveis. A
diferenca teorica entre os softwares emuladores e os softwares
simuladores e que os primeiros reproduzem fielmente carac-
terısticas do objeto original, podendo substituı-lo em diversas
funcoes. Essencialmente, um emulador e um software criado
para transcrever instrucoes de um determinado processador
ao processador no qual ele esta sendo executado. Tambem
e capaz de reproduzir funcoes de circuitos integrados. Ja os
programas simuladores imitam o objeto original em algumas
funcoes, porem, nao em todas e nem sempre de maneira muito
realista.
Em se tratando de redes de computadores, ambos tem o
seu campo de atuacao. Os simuladores reproduzem algumas
caracterısticas de dispositivos de redes reais, possibilitando a
execucao de alguns experimentos. Nem tudo e permitido, en-
tretanto. Alguns protocolos nao sao compreendidos, algumas
funcoes nao se encontram disponıveis e, em alguns casos,
configuracoes realizadas produzem um efeito diferente do que
e observado em dispositivos reais [1].
Um simulador [2] e um programa de computador que tenta
reproduzir com a maior fidelidade possıvel alguma experiencia
ou comportamento real [3]. Exemplos de simuladores de redes
sao: Cisco Packet Tracer [4]; NS2 [5]; NS3 [6]; Castalia [7];
OMNET++ [8]; OPNET [9].
Simulacoes sao consideradas imitacoes do Modus Operandi
de procedimentos ou sistemas do mundo real, executado ao
longo do tempo. Em outras palavras, simuladores envolvem
a criacao de uma historia artificial do sistema, em que, por
meio de observacoes, e possıvel retirar inferencias sobre as
caracterısticas do sistema real. Esses modelos sao elaborados
tomando como base um conjunto de suposicoes em relacao
a operacao do sistema. Tais suposicoes sao representadas
utilizando expressoes matematicas, logicas e um relaciona-
mento simbolico entre as entidades ou objetos de interesse
compreendidos no sistema. Uma vez desenvolvido e validado,
um modelo pode ser utilizado para investigar uma vasta
diversidade de questionamentos sobre o sistema no mundo
real [10].
Um emulador e uma ferramenta que reproduz uma pla-
taforma virtualizada que permite que uma dada arquitetura
de computador consiga executar sistemas que foram desen-
volvidos para outra arquitetura especıfica. Desse modo, um
emulador permite que o usario faca com que o seu computador
pessoal aparente ser outra plataforma (como um switch ou
roteador) para rodar outro sistema operacional, como por
exemplo, o Internetwork Operating System (IOS) [11], ou o
RouterOS [12].
Os softwares emuladores, por sua vez, tem a capacidade
de transformar um computador comum em um dispositivo de
rede, como um roteador real, replicando praticamente todas
as suas funcoes. A limitacao fica por conta do desempenho
do elemento emulado, notadamente inferior ao de um ele-
mento fısico. Por este motivo, e desaconselhavel a aplicacao
de elementos emulados em testes de desempenho [1]. Esse
comportamento se deve principalmente pelo fato de o que o
elemento fısico conta com recursos computacionais dedicados
ao fim especıfico de interesse.
Este artigo tem como principal objetivo apresentar carac-
terısticas de alguns simuladores e emuladores de rede dis-
ponıveis para uso de estudantes, professores, pesquisadores e,
principalmente, para profissionais que lidam com a operacao
de redes de computadores, no que se refere tanto ao projeto,
quanto ao trobleshooting de redes. As analises consideram
aspectos relativos a confiabilidade dos softwares, possibilidade
16 REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016
de integracao com ambientes reais e capacidadde para lidar
com protocolos de redes avancados.
O restante do artigo esta dividido da seguinte maneira: a
Secao II apresenta caracterısticas importantes de simuladores
de rede, assim como mostra que eles podem ter propositos
distintos de aplicacao; a Secao III detalha os principais
parametros de funcionamento do simulador Cisco Packet Tra-
cer e descreve um exemplo de cenario com Internet das Coisas;
a Secao IV aborda a operacao de alguns softwares emuladores
presentes no mercado, com um foco maior na descricao de
funcionamento do GNS3 e suas potencialidades. Ainda nessa
secao, os resultados de uma implementacao de Rede Definida
por Software, realizada no Mininet, sao discutidos; a Secao V
apresenta um experimento realizado no Laboratorio de Redes
do IFPB, campus Campina Grande, que envolve a integracao
de um ambiente emulado com o GNS3 (hosts Linux, Win-
dows, roteadores Cisco e MikroTik) e de dispositivos fısicos,
como equipamentos Cisco para roteamento e comutacao, hosts
Linux e Windows e um Arduino com shield Ethernet; as
consideracoes finais estao reunidas na Secao VI.
II. SIMULADORES DE REDE
Em projetos de sistemas que se encontram em fases iniciais,
como concepcao e projeto, e comum a utilizacao de simula-
dores para averiguar requisitos antes da sua materializacao.
Modelos de simulacao tambem podem ser utilizados como
ferramenta de analise para predizer efeitos das mudancas exis-
tentes no sistema, como tambem ferramenta de projeto para
predizer o desempenho de novos arcaboucos sob variacao de
um conjunto de circunstancias [13]. Simulacao tem se demons-
trado como uma solucao viabilizadora em varios domınios,
pois a observacao com base empırica, apenas no mundo real,
pode se tornar inviavel devido ao alto custo e investimento de
tempo necessario para tal. Entretanto, em algumas situacoes,
simulacoes tambem podem se apresentar inviaveis quando o
sistema a ser modelado envolve certa complexidade em termos
de expressar algo matematicamente [10].
No campo da comunicacao e redes de computadores, simu-
ladores englobam um conjunto de modelos que sao capazes de
representar, com certo grau de aproximacao, o comportamento
dos elementos contidos na rede se prevalendo de calculos
matematicos para descrever a interacao entre as entidades e
seus respectivos eventos [13].
III. O CISCO PACKET TRACER
O Packet Tracer e um simulador desenvolvido pela Cisco
Systems para ser utilizado como ferramenta no Networking
Academy (NetAcad), um programa mundial de treinamento de
novos profissionais na area de redes e comunicacao de dados.
O NetAcad esta difundido por varios paıses [3].
A interface do simulador e bastante intuitiva e possibilita
exibir a topologia fısica ou tambem a topologia logica da
rede projetada, de modo que para configurar um determinado
dispositivo, basta clicar em sua posicao para abrir um menu
especıfico com varias opcoes.
Por meio desse simulador e possıvel criar topologias com
variadas infraestruturas de redes (simples ou complexas).
Adicionalmente, e possıvel criar animacoes didaticas demons-
trando o trafego de pacotes e o funcionamento interno de
diversos protocolos comumente adotados em redes, assim
como visualizar os cabecalhos dos pacotes e reproduzir com
excelente nıvel de fidelidade o processo de configuracao
de diversos dispositivos empregados em ambientes reais de
producao [3]. A seguir, algumas caracterısticas operacionais
do Packet Tracer sao discutidas.
A. Modo de Tempo Real
Ha dois modos de funcionamento: Tempo Real e Modo de
Simulacao. No primeiro, a simulacao e realizada com base
em uma representacao de passagem do tempo muito proxima
a um cenario real. Um mostrador no formato HH:MM:SS e
apresentado no lado esquerdo inferior da plataforma, de ma-
neira que um incremento em segundos e disponibilizado para o
usuario. Ainda nesse modo e possıvel utilizar uma funcao para
adiantar a representacao do tempo, pelo botao (Fast Forward
Time). Apertar esse botao resulta em um adiantamento de 30
segundos em relacao ao momento corrente.
Uma consequencia importante no uso desse modo e ob-
servar que os tempos (timers) dos protocolos suportados sao
respeitados de maneira muito proxima a cenarios reais. Por
exemplo, os perıodos necessarios para a convergencia de
diversos protocolos podem ser observados, de acordo com
o previsto nas documentacoes correspondentes. Protocolos
como STP, RSTP, OSPF RIP, EIGRP, HSRP, entre outros,
compatibilizam seus funcionamentos temporais de maneira
muito proxima a cenarios reais, o que tambem pode auxiliar
no projeto e solucao de problemas em ambientes de producao.
B. Modo de Simulacao
Ha um modo de operacao bastante elucidativo, no que se
refere a analise de trafego e do funcionamento de protocolos:
o Modo de Simulacao. Nesse modo, e possıvel programar
a evolucao da simulacao e obter uma analise discreta, com
relacao ao fluxo de pacotes. Algumas opcoes aumentam o
potencial desse modo. Por exemplo, e possıvel especificar se
todos, ou apenas alguns dos protocolos suportados participarao
da visualizacao de analise de trafego. Outra funcionalidade
importante e poder habilitar a opcao de auto-captura, ou de
captura manual (passo-a-passo). Na primeira, o trafego flui
automaticamente dispositivo a dispostivo, de acordo com a
taxa de reproducao programada pelo usuario. Na segunda
opcao, o trafego flui ate um dispositivo, mas para que siga para
um proximo, e necessario que o usuario realize essa captura
manual. A auto-captura e indicada para analisar um macro
comportamento do cenario. Ja a captura manual e indicada
para a analise de um comportamento mais granular e discreto.
Ha um Painel de Simualacao que apresenta a ocorrencia
temporal em segundos de cada PDU (Protocol Data Unit).
Aqui esta um dos pontos fortes do Packet Tracer. Ao clicar
em um desses pacotes, um conjunto de informacoes referentes
aquela PDU e apresentada, de modo que o usuario pode
analisar o conteudo de cada camada do modelo OSI (Open
Systems Interconnection). Esse recurso, aliado a uma descricao
REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016 17
sobre o que esta acontecendo na camada correspondente, e
muito poderoso para a identificacao e solucao de problemas.
Ainda com relacao a analise de informacoes de cada PDU
e possıvel verificar os detalhes de entrada e os detalhes de
saıda, com relacao ao dispositivo. Portanto, as informacoes de
cabecalho, payload e trailler ficam disponıveis ao usuario, de
maneira detalhada, indicando, inclusive a quantidade de bits
de cada campo.
C. Dispositivos Finais
O conjunto de Dispositivos Finais disponıveis e composto
de: PC Desktop; Laptop; Servidor; Impressora; Telefones;
Televisao; Tablet; Smartphone; e Sniffer. Com excecao do Te-
lefone Analogico e do Sniffer, os outros dispositivos permitem
a atribuicao de enderecamento IP.
Um PC, por exemplo, apresenta algumas abas importantes:
• Physical – apresenta uma visao frontal do gabinete
do PC, com uma indicacao de ligado/desligado do LED
de Power do dispositivo. Alem disso, diversas opcoes de
interface de rede sao disponibilizadas para serem acres-
centadas ao PC, entre elas uma placa para comunicacao
sem fio (WMP300N).
• Config – possibilita a alteracao do nome do disposi-
tivo, assim como alterar parametros atrelados a interface
correspondente. Por exemplo, e possıvel alterar o modo
Duplex (Half, Full, ou Auto) e alterar a largura de banda
(100 Mbps, 10 Mbps, ou Auto). Adicionalmente, nessa
aba tambem e possıvel realizar a alteracao manual do
endereco MAC da respectiva interface.
• Desktop – disponibiliza diversas funcoes de
configuracao. Entre as mais importantes e utilizadas
estao: IP Configuration, em que e possıvel alterar
parametros de enderecamento IPv4 e IPv6, com
atribuicao estatica ou por DHCP; Terminal, que atua
como um simulador de Terminal, como programas do
tipo Putty e TeraTerm; Command Prompt, que funciona
de maneira semelhante ao prompt de comandos de um
sistema operacional Windows, inclusive preservando
a sintaxe dos comandos; Web Browser, que habilita a
navegacao Web, semelhante a um navegador do tipo
Google Chrome ou Mozilla Firefox.
Em um dispositivo Servidor, por exemplo, e possıvel
indicar quais servicos o usuario deseja habilitar. Opcoes
como HTTP, HTTPS, DHCP, DNS, FTP, entre outros,
estao disponıveis para o usuario.
D. Dispositivos Intermediarios
Os principais dispositivos intermediarios sao compostos por:
Roteadores; Switches; Hubs; Dispositivos Sem Fio; Firewalls;
e Modems DSL. No geral, os dispositivos apresentam uma
visao relativa as interfaces de rede, assim como disponibilizam
a opcao para inserir modulos adicionais. Existe a opcao de
acessar a CLI (Command Line Interface) do dispositivo, de
maneira direta, por meio de uma aba interna ao roteador ou
switch. Adicionalmente, como em ambientes de producao, o
usuario pode acessar a CLI do dispositivo por duas opcoes:
• Fora da Banda (Out of Band) – em que recursos da rede
nao sao alocados. Normalmente este e um acesso por
linha console (cabo rollover) ou por linha auxiliar (via
modem) e caracteriza-se por ser um acesso mais seguro
e estavel;
• Dentro da Banda (Inband) – em que recursos da rede
precisam ser utilizados. Geralmente protocolos como
Telnet ou SSH sao executados para esse tipo de acesso,
em que cliente e servidor necessitam possuir enderecos
IP e garantirem conectividade.
E. Meios Fısicos
Ha diversas opcoes de meio fısico para conectar os dispositi-
vos finais e intermediarios: cabo console; cabo direto (cobre);
cabo cruzado (cobre); fibra optica; cabo para telefone; cabo
coaxial; cabos de conexao serial – DCE (Data Communication
Equipment) e DTE (Data Terminal Equipment); cabo octal;
cabo customizavel para IoE (Internet of Everything) [14]; e
cabo de USB.
Algumas conexoes realizadas entre dispositivos precisam
respeitar os requisitos de projeto, principalmente se o recurso
Auto MDIX (Medium Dependent Interface Crossover) nao
estiver habilitado. Por exemplo, a conexao entre um PC e um
roteador, por meio de cabo de cobre, deve ser usada no modo
cruzado (cross-over).
Para fins de aprendizado, ha um modo de escolha automatica
sobre o tipo de cabo utilizado, em que o proprio Packet Tracer
indica a melhor opcao de cabo a ser implantado entre os
dispositivos.
F. Internet das Coisas
A partir da versao 7, o Packet Tracer conta com recursos de
simulacao de cenarios de Internet das Coisas. Ha componentes
especıficos, como placas com microcontrolador, sensores e
atuadores. A Figura 1 ilustra um dos cenarios de amostra
trazidos na versao 7 do Packet Tracer, referente a um sistema
monitor de temperatura. O cenario contem um PC, um Sevidor
de Registros, um Monitor de Temperatura, um Termostato
e um switch que conecta esses dispositivos. Dois atuadores
para aumentar ou dimininuir a temperatura estao conectados
ao Termostato. Essa amostra de simulacao instrui o usuario
a acessar o Servidor de Registros, por meio do endereco
1.1.1.1 e monitorar a temperatura. E possıvel alterar os
parametros de temperatura por meio da manipulacao direta no
Termostato, ou no servidor.
Em ambientes de producao, uma plataforma microcontro-
ladora que tem sido bastante utilizada para implantar funci-
onalidades de Internet das Coisas e o Arduino. Por meio do
acoplamento a shields Ethernet, Wi-Fi, ou ZigBee, o Arduino
possibilita o monitoramento e controle de fenomenos em areas
de interesse, visto que adquire conectividade em rede [15].
G. Activity Wizard
O Activity Wizard e um recurso interessante do Packet
Tracer. Ele habilita a programacao de roteiros de atividades, de
modo que haja uma contabilizacao do percentual de acertos em
18 REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016
Figura 1. Simulacao de monitoramento de temperatura, por meio de umaatividade de amostra do Cisco Packet Tracer.
configuracoes e montagens, por parte do usuario. Esse recurso
e bastante util para ambientes de capacitacao, por exemplo,
em que o instrutor pode programar roteiros de atividades
para os alunos, que por sua vez, tem a opcao de saber quais
itens conseguiram acertar. Arquivos desse tipo possuem uma
extensao .pka.
IV. EMULADORES DE REDE
A principal vantagem do uso de emuladores ao inves de
simuladores de rede e a possibilidade de lidar com trafego
em tempo real e disponibilizar cenarios mais proximos a
ambientes de producao. Adicionalmente, um dos maiores
benefıcios proporcionados e a possibilidade de interconectar
o ambiente virtual (emulado) a um ambiente real.
Outro ponto importante a ser considerado quanto ao uso
de emuladores e a interface entre o elemento emulado e
o usuario, que pode interagir com o elemento virtual em
tempo real, e de forma muito semelhante ao que faria se
estivesse lidando com um dispositivo fısico. A configuracao
dos elementos virtuais, por exemplo, pode ser realizada de
forma analoga a de elementos reais, e nao por meio de uma
linguagem de programacao criada especificamente para este
proposito. Comandos digitados em um dado elemento afetam
a rede experimental em tempo real [1].
A. O GNS3
Apesar de os simuladores de rede serem ferramentas im-
portantes, quando o usuario configura algum dispositivo, na
realidade ele interaje com o software que reproduz aquela
experiencia, e nao com o equipamento real. Por causa disso,
varias funcionalidades mais complexas dos equipamentos nao
sao suportadas por um programa simulador [3]. Por exemplo, o
Packet Tracer nao suporta de maneira extensa protocolos como
o BGP e o MPLS. Mesmo em alguns comandos presentes e
possıvel observar uma limitacao na quantidade de argumentos
disponıveis para uso.
O GNS3 e um aplicativo gratuito sob licenca da GNU que
prove a interface grafica que permite ao usuario construir a
topologia de rede que pretende configurar. Ele reune diversos
emuladores de sistemas operacionais. O mais conhecido e
o Dynamips, que permite emular roteadores Cisco e prove
uma colecao de dispositivos genericos e interfaces. Tambem
e possıvel emular o funcionamento de switches, por meio de
uma modalidade conhecida como EtherSwitch, em que um
roteador possui um modulo de switch e consegue implementar
funcoes como VLANs, STP, Port-Security, entre outras. Ha
outros emuladores suportados pelo GNS3 [16]:
• Qemu – Emula dispositivos Cisco ASA, roteadores Ju-
niper, roteadores Vyatta e hosts Linux;
• Pemu – Essa e uma variacao de Qemu, utilizada para
Firewalls PIX, da Cisco;
• Virtualbox – Emula roteadores Juniper, roteadores
Vyatta, hosts Linux e hosts Windows;
• VMware – Permite a emulacao de sistemas operacionais
para hosts e para roteadores Juniper, o Junos OS, por
exemplo;
• Docker – Habilita a utilizacao de conteiners para otimizar
a alocacao de recursos de sistemas virtualizados.
Toda instancia de um roteador (ou qualquer outro disposi-
tivo emulado) lida com a copia do proprio sistema operacional,
que compete com recursos de RAM e CPU do host. Alem
disso, dispositivos como roteadores e firewalls necessitam de
aplicativos terminais para prover acesso ao administrador de
rede. Ha um outro conjunto de funcionalidades que estende a
operacao do GNS3, relacionado a aplicativos terminais. De-
pendendo do sistema operacional, o aplicativo terminal pode
ser o Gnome Terminal, iTerm2, Konsole, PuTTY, SecureCRT,
SuperPutty, TeraTerm, Windows Telnet Client, Xterm, entre
outros. Independentemente de qual aplicacao terminal seja
utilizada, ela consome mais recursos para que as sessoes sejam
estabelecidas, embora nao seja algo tao significativo.
Ha duas ferramentas importantes que aumentam os be-
nefıcios de uso do GNS3:
• Wireshark – Aplicativo popular de captura de pacotes;
• VPCS (Virtual PC Simulator) – Permite simular um
maximo de nove PCs, para uso em operacoes simples
como ping, traceroute, atribuicao de enderecos etc.
Essas ferramentas tambem consomem recursos de memoria
e CPU do host. Desse modo, ajustar alguns parametros no
GNS3 e importante para garantir um correto funcionamento e
otimizar o gerenciamento de recursos da maquina fısica. Por
exemplo, o ajuste do valor de Idle-PC evita uma sobrecarga
proxima de 100% da CPU do host [16]. O processo envolvido
com o ajuste do valor de Idle-PC estima o perıodo em que
a imagem do Sistema Operacional esta ociosa (sem desem-
penhar tarefas) e coloca o roteador em um estado idle (sleep
mode).
Do ponto de vista operacional, ha algumas diferencas no uso
do Packet Tracer e do GNS3. Por exemplo, no Packet Tracer,
uma interface fısica ao ser ligada, ha um LED indicando
atividade dessa interface, que fica na cor verde. Por outro lado,
no GNS3, os LEDs das interfaces indicam apenas que aquele
dispositivo (Roteador, Switch, Firewal, PC etc) esta ligado
(verde) ou desligado (vermelho).
Outra diferenca importante e que o GNS3 nao e dotado de
um Modo de Simulacao, como no Packet Tracer. Entretanto,
o GNS3 permite a integracao com o Wireshark para a analise
REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016 19
e captura de trafego, de maneira real, o que o torna uma
ferramenta poderosa mais proxima a ambientes reais.
1) O Uso de Maquinas Virtuais e do Docker: O GNS3
permite o uso de maquinas virtuais, por meio de progra-
mas, como o Virtualbox e VMware Player. Na pratica, cada
maquina virtual precisa ser criada separadamente e de modo
independente ao GNS3, no programa virtualizador correspon-
dente. Em seguida, essas maquinas podem ser importadas
para o GNS3 e alguns parametros ainda podem ser alterados.
Em ambos os casos, o adequado e ajustar os modos de
configuracao de parametros de hardware, em especial no que
se refere as configuracoes de rede. Por exemplo, ao utilizar
uma RouterBoard Mikrotik, virtualizada com o Virtualbox, e
possıvel ativar as quatro interfaces disponibilizadas, de modo
a aumentar a densidade de portas do roteador e escalar seu uso
dentro do GNS3. Os enderecos MAC das interfaces tambem
podem ser especificados no proprio Virtualbox.
Alem de roteadores e switches de fabricantes variados e
possıvel utilizar maquinas virtuais para carregar hosts Li-
nux e Windows, por exemplo. Para esses casos, os sistemas
operacionais sao carregados por completo e disponibilizados
para uso no GNS3. Essa caracterıstica e muito importante e
e um diferencial, quando se compara potencialidades frente
a programas simuladores. Emular os sistemas operacionais
permite explorar as vulnerabilidades de cada um, assim como
projetar solucoes casadas com versoes especıficas de software
e de atualizacoes.
Um sistema completo virtualizado requer um conjunto
proprio de recursos alocados e apresenta um compartilhamento
mınimo. Ha maior isolamento, mas sao sistemas que exigem
mais recursos para funcionar.
O Docker [17] e uma plataforma Open Source escrito em
Go, que e uma linguagem de programacao de alto desem-
penho desenvolvida pela Google, que facilita a criacao e
administracao de ambientes isolados. O Docker possibilita o
empacotamento de uma aplicacao ou ambiente inteiro dentro
de um container, de modo que o ambiente inteiro torna-se
portavel para qualquer outro host que contenha o Docker
instalado. Isso reduz bastante o tempo de implantacao de
alguma infraestrutura ou ate mesmo aplicacao, pois nao ha ne-
cessidade de ajustes de ambiente para o correto funcionamento
do servico. Outra facilidade do Docker e poder criar imagens
(containers prontos para implantacao) a partir de arquivos de
definicao denominados Dockerfiles [18].
No GNS3, o Docker e suportado a partir da versao 1.5. Pode
ser utilizado apenas como uma versao enxuta de computador,
substituindo as custosas (em consumo de recursos) maquinas
virtuais ou o VPCS, se apenas ferramentas como telnet,
nmap etc sao necessarias. Tambem podem ser utilizadas para
emular infraestruturas de containers de ambientes de producao.
Os containers utilizam o kernel do host, consumindo menos
memoria RAM e CPU, alem de rodarem com programas
simples, em vez de o sistema operacional completo.
2) Integracao com Dispositivos Reais: Uma das funciona-
lidades mais importantes disponibilizadas pelo GNS3, para
a interacao com ambientes de producao e a integracao com
dispositivos reais. Ele possui um tipo de dispositivo especial
projetado para essa funcao: um dispositivo nuvem. Ao adici-
onar a interface fısica do host a nuvem, e possıvel conectar
dispositivos emulados (internamente ao GNS3) a dispositivos
de rede externos, como PCs e ate mesmo roteadores.
Entretanto, quando um roteador envia quadros, eles passam
diretamente para a fila de saıda da interface de rede. Ou seja,
o computador host pode enviar quadros ao roteador virtual,
mas o roteador virtual nao pode enviar quadros ao computador
host. Dispositivos conectados externamente (na rede local, por
exemplo) nao experimentam esse empecilho, de modo que
nao ha problema na comunicacao entre eles e os dispositivos
virtualizados internos.
Ha maneiras de viabilizar a comunicacao entre o computa-
dor host e os dispositivos virtuais. Mas cada sistema operaci-
onal possui uma abordagem diferente, incluindo a adicao de
uma bridge virtual interna [16].
3) O Dynamips: O Dynamips e um emulador gratuito sob
licenca da GNU que permite executar imagens reais do Cisco
IOS, desde que o usuario tenha o arquivo (.bin ou .image)
de alguma imagem do sistema que seja compatıvel com
os equipamentos suportados pelo emulador. Os arquivos de
configuracao gerados nesse emulador podem ser exportardos
para equipamentos reais e vice-versa, o que pode ser util para
os administradores realizarem testes-piloto antes de lancarem
uma nova configuracao em ambientes reais [3]. Ele permite
a reproducao fiel das caracterısticas de diversos modelos de
roteadores do fabricante Cisco Systems, tornando possıvel a
criacao de cenarios de estudo que, se fossem fisicamente estru-
turados, apresentariam um custo muito elevado. O Dynamips
permite a adicao virtual de alguns modulos disponıveis para
cada plataforma de roteador, que incrementam funcionalidades
e recursos a cada um deles.
Um software desenvolvido posteriormente, denominado Dy-
nagen, opera em conjunto com o Dynamips, fornecendo uma
interface front-end para a definicao dos elementos virtu-
ais, alem de prover um meio centralizado de controle das
instancias virtuais [1].
B. O CORE
O CORE (Common Open Research Emulator) e uma ferra-
menta para emular redes de computadores, desenvolvido pela
divisao de pesquisa e tecnologia da Boeing. Por meio dele e
possıvel projetar, implementar e avaliar topologias contendo
maquinas UNIX e equipamentos de redes como roteadores e
switches. Ele roda nativamente no Linux ou no FreeBSD [19].
Entre os variados recursos, o CORE habilita:
• Executar programas instalados na maquina real;
• Interagir com a rede real existente no ambiente;
• Ter cada maquina ou ativo de rede simulado sendo
controlado via comandos em shell;
• Simular redes sem fio.
C. O Mininet
O Mininet e um emulador de rede, que pode reunir dis-
positivos finais, switches, roteadores e enlaces em um kernel
unico de Linux. Ele utiliza um processo de virtualizacao para
representar uma rede completa. Um host Mininet se comporta
como uma maquina real, sendo possıvel utilizar protocolos
20 REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016
como SSH para acesso remoto, ou ferramentas como o iperf
para avaliar o desempenho da rede, assim como rodar progra-
mas arbitrarios, incluindo qualquer um que esteja instalado
no sistema Linux de base. Devido a caracterıstica de poder
facilmente interagir com uma rede, por meio da CLI Mininet,
customiza-la ou a implementar em hardware real, o Mininet e
util para desenvolvimento, capacitacao e pesquisas. Entretanto,
ele nao possui interface grafica amigavel, de maneira que
programas alternativos podem ser utilizados na apresentacao
e animacao das topologias.
Esse emulador tambem e uma boa alternativa para desen-
volver e compartilhar experimentos com o OpenFlow [20] e
sistemas de Redes Definidas por Software (SDN – Software-
Defined Networks) [21]. Redes desse tipo tem sido uma impor-
tante fonte de pesquisa e desenvolvimento, com o objetivo de
desvincular o plano de controle do plano de encaminhamento
de dados.
O controlador e de fundamental importancia em uma SDN.
Por meio dele e possıvel implementar protocolos ja estabele-
cidos no mercado, ou simplesmente criar regras de encami-
nhamento de pacotes de acordo com a necessidade. Existem
diversas solucoes de controladores e a escolha do melhor
controlador depende do proposito de utilizacao. O software HP
VAN SDN Controller [22] fornece uma interface com diversas
possibilidades de implementacoes e controle, habilitando uma
analise de engenharia de trafego mais detalhada. Esse contro-
lador, em conjunto com o Mininet, foi utilizado neste artigo
para simular o comportamente do trafego de pacotes em redes
passıveis de controle por uma entidade externa, separando o
plano de controle do plano de encaminhamento de dados.
A Figura 2 apresenta um cenario de rede gerada a partir
do Mininet contendo seis switches OpenFlow. Neste cenario,
o algoritmo de encaminhamento habilitado para definir as
rotas e o SPF (Shortest Path First) [23]. De acordo com
o SPF a rota escolhida e a que apresenta o menor custo
entre origem e destino. Uma requisicao foi gerada a partir
do host 10.10.2.1 com destino ao host 10.10.2.254.
A rota definida e destacada seguindo pelos switches 3, 1 e 6,
respectivamente.
A Figura 3 apresenta o mesmo cenario anterior, porem com
o algoritmo SPF desabilitado. Neste caso, a definicao da rota
foi realizada pelo administrador da rede no controlador. Por
alguma razao, em um cenario de producao a rota de menor
custo poderia nao ser a rota de melhor desempenho para o
trafego de pacotes, em determinado intervalo de tempo. Ou
seja, essa e uma situacao em que o administrador da rede
ganha benefıcio nos recursos de SDN, em poder influenciar
o comportamento do roteamento. Apos a interacao e analise
do ambiente de producao, o administrador da rede poderia
julgar que a rota de melhor desempenho para a rede e a aquela
apresentada na Figura 3. Essa rota foi definida por meio de
um script em Python e, para ser aplicada, foi necessario alterar
parametros de configuracao.
Por padrao, uma rota gerada a partir do SPF tem um
parametro denominado prioridade, com valor igual a 29.999.
Logo, um valor de prioridade maior e necessario para substituir
a rota SPF. A rota gerada no controlador foi definida com
prioridade 30.000, conforme esta apresentado na Figura 4.
V. EXPERIMENTO DE INTEGRACAO ENTRE UM AMBIENTE
VIRTUAL E UM AMBIENTE REAL
Esta secao apresenta as caracterısticas de um experimento
de integracao entre um ambiente virtual (emulado no GNS3)
e um ambiente real (implementado em diversos equipamentos
fısicos). O experimento foi realizado no Laboratorio de Redes,
do IFPB Campina Grande, onde tambem funciona a Academia
Cisco, do campus.
Considere a Figura 5. O cenario mostra diversos dispositivos
emulados no GNS3. A relacao entre os sistemas operacionais
e os programas correspondentes de virtualizacao e descrita a
seguir:
• Virtualbox – 1 host Windows 7; 1 host Linux Fedora 22;
1 roteador MikroTik (R3-Mikrotik);
• Dynamips – 2 roteadores Cisco 3725 (R1-Cisco e R2-
Cisco).
A rede virtualizada conta com o protocolo de roteamento
dinamico OSPF, rodando entre os roteadores. As interfaces
f0/0 (R2-Cisco), f0/0 (R1-Cisco) e e0 (R3-Cisco) foram
configuradas no modo passivo para mensagens de atualizacao
do protocolo. Desse modo, a rede se torna menos vulneravel a
ataques de seguranca, pois a troca de mensagens de roteamento
fica confinada onde realmente e necessario.
A integracao do GNS3 com os dispositivos reais foi reali-
zada por meio de um dispositivo nuvem (extremo a direita).
Uma bridge virtual (br0) foi criada entre as interfaces eth0
(do PC utilizado para hospedar o GNS3) e uma outra interface
virtual, tambem criada (tap0). O processo completo para
habilitar a integracao dessas interfaces pode ser encontrado
em [16].
O PC hospedeiro do GNS3 foi conectado a um switch real
Cisco, de modelo 2960, e a ele, diversos dispositivos reais
foram conectados. A Figura 6 ilustra a topologia da rede de
dispositivos reais conectados. Nessa figura, a representacao da
conexao com o GNS3 (extremo a esquerda) serve para indicar
a integracao partindo do ambiente real para o ambiente emu-
lado. Segue uma breve descricao das principais caracterısticas
desses dispositivos e do funcionamento da rede real:
• PC GNS3 – Possui um sistema operacional Linux Mint
17.3, processador Intel Core i7 e 16 GB de memoria
RAM. E nele em que o GNS3, com as suas maquinas
virtuais foram processadas. Seus enderecos IPv4 cor-
responderam a: 192.168.255.200/24, na interface
fısica eth0; e 192.168.255.254/24 na interface
virtual br0. O endereco do gateway padrao e igual a
192.168.255.250, que corresponde a interface g0/0
do roteador Cisco R1. A interface eth0 desse PC esta
conectada fisicamente (cabo direto de cobre) ao switch
Cisco 2960.
• Laptop – Possui um sistema operacional Linux
Mint 17.2, processador Intel Core i7 e 6 GB de
memoria RAM. Seus enderecos IPv4 corresponderam a:
192.168.255.100/24, na interface fısica eth0; e
192.168.255.250, para o gateway padrao. Uma rota
estatica foi adicionada para alcancar a rede emulada,
10.0.0.0/28 (vide Figura 5), o que ocasionou resul-
tado positivo de conectividade.
REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016 21
Figura 2. Uso do HP VAN SDN Controller, em conjunto com o Mininet, para analisar o trafego de pacotes em uma rede de comunicacao de dados. Deacordo com o algoritmo selecionado para o roteamento, o SPF, a rota escolhida e aquela de menor custo, que esta destacada em vermelho.
Figura 3. Alteracao da saıda de roteamento, por meio do uso de recursos de SDN, indicada em vermelho.
Figura 4. Indicacao do novo valor de prioridade (30.000) utilizado para sobrepor a prioridade padrao do SPF (29.999), o que resulta na implementacao dasregras de roteamento programadas pelo administrador da rede (Follow Flow).
• Arduino Mega – Possui um shield Ethernet, o qual foi
utilizado para testes de conectividade com diversos dispo-
sitivos. Um SD card de 8 GB foi utilizado para armazenar
os codigos de programacao do Arduino. Seus enderecos
IPv4 corresponderam a: 192.168.255.125/24, na
interface fısica eth0; e 192.168.255.250, para o
gateway padrao. Testar a conectividade e compatibilidade
nesses tipos de operacoes de rede, envolvendo sistemas
embarcados e importante, visto que eles ocupam um
papel importante em cenarios reais de Internet das Coisas.
• Switch – Foi utilizado com configuracoes padrao, sem
enderecamento IP ativo nas VLANs de gerenciamento.
Ele conecta fisicamente todos os dispositivos reais pre-
sentes na rede 192.168.255.0/24.
• R1 – Atua como o gateway padrao da rede
192.168.255.0/24. Seus enderecos IPv4
corresponderam a: 192.168.255.250/24, na
interface g0/0; e 10.10.10.1/30 na interface serial
s0/1/0. Juntamente com outros treze roteadores,
R1 utiliza um protocolo de roteamento OSPF, com
g0/0 sendo configurada como interface passiva. Uma
rota estatica com destino a rede 10.0.0.0/28
22 REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016
Figura 5. Captura da tela do GNS3, apresentando o cenario e os dispositivos emulados. Esses dispositivos se conectam ao mundo real por meio do elementonuvem.
Figura 6. Captura de tela do Cisco Packet Tracer, apresentando uma simulacao da rede real, que foi implementada no laboratorio.
REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016 23
foi configurada em R1, em que a indicacao de
endereco de proximo salto foi feita para R1-Cisco,
com distancia administrativa unitaria padrao. Outra
rota estatica (flutuante) com o mesmo destino de rede
foi configurada, embora utilizando outra indicacao de
endereco de proximo salto, ou seja, apontando para
R3-Mikrotik e com distancia administrativa igual a
cinco. Na pratica, apenas a primeira rota estatica e
instalada na Tabela de Roteamento (RIB – Routing
Information Base) do roteador, pois apresenta menor
valor de distancia administrativa (e mais confiavel). A
segunda rota estatica serve como um backup. Caso a
rota principal falhe, a secundaria assume, o que aumenta
a disponibilidade da rede e melhora a qualidade de
servico. Todos os roteadores reais sao do modelo Cisco
1941 e apenas uma area foi utilizada na configuracao do
OSPF (Area 0). Um processo de redistribuicao de rota
foi realizado, de modo que a rota estatica configurada
anteriormente foi injetada no processo OSPF.
• De R2 a R14 – os pares de roteadores utilizam re-
des ponto-a-ponto (/30), o que alem de enconomizar
enderecos, aumenta a seguranca, visto que apenas dois
hosts (um em cada extremidade do enlace) sao permiti-
dos. Todos eles rodam o OSPF, mas a interface g0/0
de R14 foi configurada como passiva. R14 consegue
alcancar a rede 10.0.0.0/28 pois R1 realizou uma
redistribuicao de rota estatica. Por fim, uma operacao de
NAT overload foi configurada em R14, de modo que
todos os enderecos provenientes das redes internas sejam
traduzidos para um unico endereco de acesso a redes
externas (e apos alguns saltos, a Internet).
Cumpre ressaltar que apesar de a Figura 6 apresentar
uma topologia logica contendo a representacao de diversos
dispositivos, essa rede foi implementada em dispositivos reais,
que tambem tiveram a sua operacao integrada com o funcio-
namento de dispositivos emulados, internamente ao GNS3. A
Figura 7 ilustra uma foto do rack que contem os roteadores
reais utilizados no experimento.
Adicionalmente, vale salientar que anteriormente a
implementacao das configuracoes e setup dos dispositivos
reais, o projeto da rede foi auxiliado pelo Packet Tracer.
Como resultado, os dispositivos da rede emulada conseguiram
integrar de maneira bem sucedida com os dispositivos reais,
inclusive garantiram o acesso a Internet. A Figura 8 mostra
o resultado de uma operacao de traceroute a partir
de R3-Mikrotik com destino a um endereco de servidor
tradicional de DNS, o 8.8.8.8. O acesso foi realizado
diretamente a uma ferramenta denominada Winbox, que e
utilizada para acessar dispositivos MikroTik. Por meio de
uma interface grafica amigavel, foi possıvel observar os
saltos de roteamento realizados no caminho de upload (visto
que e a unica direcao com a qual o traceroute tem
compromisso).
VI. CONCLUSAO
O projeto de redes e troubleshooting pode ser auxiliado
pelo uso de simuladores e emuladores. Enquanto simuladores
Figura 7. Rack contendo os roteadores Cisco 1941 utilizados no experimento.Um total de 14 roteadores foram conectados, garantindo conectividade pormeio do protocolo OSPF, na Camada de Rede, do protocolo PPP, na Camadade Enlace e de cabos seriais com padrao V.35, na Camada Fısica.
Figura 8. Saıdas a um teste de tracado de caminho de upload. E possıvelobservar os saltos percorrendo as diversas redes /30 entre os roteadores reaisdo laboratorio, passando por enderecos publicos na Internet, ate chegar aodestino solicitado.
24 REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016
utilizam um software proprio para rodar uma aproximacao
dos sistemas simulados, os emuladores virtualizam esses
sistemas, o que os aproxima mais da operacao real de
equipamentos em ambientes de producao. Este artigo apre-
sentou uma caracterizacao de simuladores e emuladores de
rede disponıveis no mercado e compartilhou os parametros
de preparacao de um experimento envolvendo o projeto e
integracao de um ambiente virtual a um ambiente real. O
correto funcionamento do cenario implantado possibilitou que
dispositivos emulados, internos ao GNS3, conseguissem co-
nectividade a dispositivos na Internet. O protocolo OSPF foi
utilizado de maneira bem sucedida, tanto no ambiente emu-
lado, quanto nos equipamentos reais. O Cisco Packet Tracer foi
utilizado para projetar a rede fısica e as configuracoes foram
posteriormente copiadas para os dispositivos correspondentes.
Como proposta para a continuacao do trabalho, os autores
pretendem investigar aspectos que envolvem a seguranca da
informacao em cenarios que integram o ambiente virtual ao
real.
AGRADECIMENTOS
Os autores agradecem ao Capıtulo Tecnico da ComSoc, do
Ramo Estudantil IEEE, campus Campina Grande e ao IFPB
pelo apoio ao desenvolvimento deste trabalho.
REFERENCIAS
[1] M. A. Filippetti. “Uma Arquitetura para a Construcao de Labo-ratorios Hıbridos de Redes de Computadores Remotamente Acessıveis”.Dissertacao de Mestrado, Instituto de Pesquisas Tecnologicas do Estadode Sao Paulo – IPT, 2008.
[2] I. Minakov, R. Passerone, A. Rizzardi and S. Sicari. “A ComparativeStudy of Recent Wireless Sensor Network Simulators”. ACM Transac-
tions on Sensor Networks, vol. 12, no. 3, pp. 20:1–20:39, July 2016.[3] S. H. B. Brito. Laboratorios de Tecnologias Cisco em Infraestrutura de
Redes. Novatec, second edition, 2014.[4] N. H. Prasad, B. K. Reddy, B. Amarnath and M. Puthanial. “Intervlan
Routing and Various Configurations on Vlan in a Network using CiscoPacket Tracer”. International Journal for Innovative Research in Science
and Technology, vol. 2, no. 11, pp. 749–758, 2016.[5] P. Panse, T. Shrimali and M. Dave. “Performance Evaluation of Vehi-
cular Ad Hoc Network Using SUMO and NS2”. In Proceedings of the
International Congress on Information and Communication Technology,pp. 127–135. Springer, 2016.
[6] N. Ravindranath, I. Singh, A. Prasad and V. Rao. “PerformanceEvaluation of IEEE 802.11ac and 802.11n using NS3”. Indian Journal
of Science and Technology, vol. 9, no. 26, 2016.[7] M. B. Taj and M. A. Kbir. “The Impact of MAC Protocols in Energy
Consumption of Transferring Multimedia Contents Using Castalia Si-mulator”. In International Conference on Electrical and Information
Technologies (ICEIT), pp. 521–525, May 2016.[8] M. Pasha, M. U. Farooq et al.. “A Proof-of-Concept Model for Vehicular
Cloud Computing Using OMNeT++ and SUMO”. In Innovations in
Computer Science and Engineering, pp. 193–198. Springer, 2016.[9] X. Li, M. Peng, J. Cai, C. Yi and H. Zhang. “OPNET-Based Modeling
and Simulation of Mobile Zigbee Sensor Networks”. Peer-to-Peer
Networking and Applications, vol. 9, no. 2, pp. 414–423, 2016.[10] G. N. Martins. “Avaliacao da Confiabilidade de Simulador em Redes
de Sensores Sem Fio com Base em Plataforma Real de Sensoriamento”.Dissertacao de Mestrado, Coordenacao de Pos-Graduacao em Cienciada Computacao, Campina Grande, PB, Agosto 2016.
[11] M. Tahmassebpour. “Immediate Detection of DDoS Attacks with usingNetFlow on Cisco Devices IOS”. Indian Journal of Science and
Technology, vol. 9, no. 26, 2016.[12] A. M. Saliu, M. I. Kolo, M. K. Muhammad and L. A. Nafiu. “Internet
Authentication and Billing (Hotspot) System Using MikroTik RouterOperating System”. International Journal of Wireless Communications
and Mobile Computing, vol. 1, no. 1, pp. 51–57, 2013.
[13] B. Jerry. Discrete-Event System Simulation. Pearson Education, 2009.[14] J. Marek, B. Hoefflinger and U.-M. Gomez. “MEMS – Micro-
Electromechanical Sensors for the Internet of Everything”. In CHIPS
2020, volume 2, pp. 221–229. Springer, 2016.[15] K. A. Hribernik, Z. Ghrairi, C. Hans and K.-D. Thoben. “Co-creating
the Internet of Things – First Experiences in the Participatory Designof Intelligent Products with Arduino”. In 17th International Conference
on Concurrent Enterprising (ICE), pp. 1–9. IEEE, 2011.[16] C. Welsh. GNS3 Network Simulation Guide. Packt Publishing, 2013.[17] K. Matthias and S. P. Kane. Primeiros Passos com Docker – Uso de
Conteineres em Producao. Novatec, 2015.[18] O que e Docker? Mundo Docker. Disponıvel em.
“http://www.mundodocker.com.br/o-que-e-docker/”, Acessado emSetembro de 2016.
[19] A. M. Moreiras, R. R. dos Santos, A. Y. Harano, E. S. Cordeiro, T. J.Nakamura, E. B. Morales, H. de Souza Ganzeli, R. M. Carnier andG. B. Lugoboni. Laboratorio de IPv6 – Aprenda na Pratica Usando
um Emulador de Redes. Novatec, 2015.[20] M. Cello, M. Marchese and M. Mongelli. “On the QoS Estimation in
an OpenFlow Network: The Packet Loss Case”. IEEE Communications
Letters, vol. 20, no. 3, pp. 554–557, March 2016.[21] F. A. Lopes, M. Santos, R. Fidalgo and S. Fernandes. “A Software Engi-
neering Perspective on SDN Programmability”. IEEE Communications
Surveys and Tutorials, 2016.[22] J. Tourrilhes, P. Sharma, S. Banerjee and J. Pettit. “The Evolution of
SDN and OpenFlow: A Standards Perspective”. IEEE Computer Society,vol. 47, no. 11, pp. 22–29, 2014.
[23] J. McQuillan, I. Richer and E. Rosen. “The New Routing Algorithmfor the ARPANET”. IEEE Transactions on Communications, vol. 28,no. 5, pp. 711–719, 1980.
REVISTA DE TECNOLOGIA DA INFORMACAO E COMUNICACAO, VOL. 6, NO. 2, OUTUBRO 2016 25