Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO
SWITCHER – UMA FERRAMENTA DE AUXÍLIO AO
ENSINO DE REDES DE COMPUTADORES
ADRIANO VALT
BLUMENAU
2019
ADRIANO VALT
SWITCHER – UMA FERRAMENTA DE AUXÍLIO AO
ENSINO DE REDES DE COMPUTADORES.
Trabalho de Conclusão de Curso apresentado
ao curso de graduação em Ciência da
Computação do Centro de Ciências Exatas e
Naturais da Universidade Regional de
Blumenau como requisito parcial para a
obtenção do grau de Bacharel em Ciência da
Computação.
Prof(a). Francisco Adell Péricas, Mestre - Orientador
BLUMENAU
2019
Dedico este trabalho a toda minha família, em
especial minha irmã Tatiana (in memoriam), que infelizmente não pode estar presente neste
momento tão importante da minha vida, e a
todos os que de alguma forma contribuíram
para a conclusão do curso.
AGRADECIMENTOS
À minha família, por todo o incentivo, apoio e paciência durante esta jornada.
Aos meus amigos, pela compreensão nos momentos em que estive ausente.
Ao meu orientador Francisco Adell Péricas, pelas contribuições realizadas e por
compartilhar o seu conhecimento, que foram de grande ajuda e forneceram a base para o
desenvolvimento da ferramenta.
À todos os demais professores que através do conhecimento compartilhado,
contribuíram pra que esse trabalho fosse possível.
A todos que de alguma forma contribuíram em alguma etapa deste trabalho.
Só existem dois dias no ano que nada pode ser
feito. Um se chama ontem e o outro se chama
amanhã, portanto hoje é o dia certo para amar,
acreditar, fazer e principalmente viver.
Dalai Lama
RESUMO
As redes de computadores ainda que venham passando despercebidas, estão cada vez mais
presentes nos meios que circundam a sociedade, seja nas residências, nos locais de trabalho,
nos ambientes de ensino ou de lazer. Para que isso tudo seja possível, muitos profissionais de
rede trabalham continuamente em busca dos melhores resultados. Mas mesmos esses
profissionais tiveram um ponto de partida, o ensino. Este trabalho teve como objetivo
principal analisar as dificuldades que envolvem o ensino de Redes de Computares com todos
os seus conceitos técnicos e com base nisso disponibilizar uma ferramenta de Simulação que
pudesse apoiá-la a demonstrar como é funcionamento dos dispositivos de rede durante a
comunicação entre eles tendo como foco principal o switch. Nele será apresentado toda a
especificação, o desenvolvimento e a operacionalidade da ferramenta que leva o nome
Switcher. Durante a fase de especificação foi realizado o levantamento de todas as
informações pertinentes à implementação da ferramenta e todos os agentes envolvidos. Com
base nessas informações foram obtidos os requisitos para que se fosse possível o
desenvolvimento da ferramenta utilizando da API (Application Programming Interface)
JavaFX. Os resultados obtidos através das avaliações realizadas com três perfis distintos de
usuário foram satisfatórios, alcançando os objetivos e indicando que a ferramenta pudesse ser
utilizada como apoio ao ensino na disciplina de redes em um campo especifico, assim como
mostraram pontos relevantes que poderiam ser melhorados.
Palavras-chave: Trabalho de conclusão de curso. Ensino. Ciência da computação. Redes de
computadores. Simuladores. Switches.
ABSTRACT
Computer networks, even though they have gone unnoticed, are increasingly present in the
media that surround society, whether in homes, workplaces, education or leisure settings. In
order for this to be possible, many network professionals are continuously working towards
the best results. But even these professionals had a starting point, teaching. This work had as
main objective to analyze the difficulties that involve the teaching of Computer Networks
with all its technical concepts and based on this to provide a Simulation tool that could
support it to demonstrate how it works of network devices during the communication between
they having as main focus the switch. In it will be presented all the specification, development
and operation of the tool that bears the name Switcher. During the specification phase, all
pertinent information about the implementation of the tool and all the agents involved were
surveyed. Based on this information the requirements were obtained so that if the
development of the tool was possible using the JavaFX Application Programming Interface
(API). The results obtained through the evaluations carried out with three different user
profiles were satisfactory, reaching the objectives and indicating that the tool could be used to
support the teaching in the field of networks in a specific field, as well as showing relevant
points that could be improved.
Key-words: Completion of course work. Teaching. Computer science. Computer network.
Simulators. Switches.
LISTA DE FIGURAS
Figura 1 – Motivo básico de uma rede: troca de arquivos e compartilhamento de recursos ... 17
Figura 2 – Classificação de redes de acordo com a transmissão ............................................ 18
Figura 3 – Os cinco componentes da comunicação de dados ................................................ 20
Figura 4 – A pilha OSI e a sequência percorrida durante uma transmissão de dados ............. 21
Figura 5 – Tipos comuns de topologia de rede...................................................................... 24
Figura 6 – Topologia híbrida ................................................................................................ 25
Figura 7 - Uma rede institucional conectada por quatro comutadores ................................... 28
Figura 8 - Tag de VLAN do 802.1Q ..................................................................................... 30
Figura 9 – Diferença da utilização de portas tronco na conexão entre switches ..................... 31
Figura 10 - A interface gráfica do VNETLAB ...................................................................... 37
Figura 11 – LVR – Laboratório Virtual de Redes ................................................................. 39
Figura 12 - A interface gráfica do protótipo.......................................................................... 41
Figura 13 – Diagrama de Casos de Uso ................................................................................ 45
Figura 14 – Diagrama de classe do Switcher ........................................................................ 47
Figura 15 – Estrutura do Switcher ........................................................................................ 51
Figura 16 - Arquitetura do JavaFX ....................................................................................... 53
Figura 17 – Interface gráfica do Switcher ............................................................................. 54
Figura 18 – Slide de apresentação dos equipamentos ............................................................ 55
Figura 19 - Divisão dos componentes do Switcher ............................................................... 56
Figura 20 - Exemplificação da conexão de um equipamento a um switch ............................. 58
Figura 21 - Interface de configuração do PC ........................................................................ 59
Figura 22 - Modo de atribuição de VLANs .......................................................................... 60
Figura 23 - Informações exibidas pelo switch e equipamentos fim........................................ 60
Figura 24 - Resultado esperado em uma simulação com uma configuração válida ................ 62
Figura 25 - Composição de um relatório gerado no Switcher, primeira parte ........................ 63
Figura 26 - Composição de um relatório gerado no Switcher, segunda parte ........................ 64
LISTA DE QUADROS
Quadro 1 – Rastreabilidade entre casos de uso e requisitos funcionais .................................. 46
Quadro 2 – Método dfs ........................................................................................................ 52
Quadro 3 – Método retornaCaminho .................................................................................... 52
Quadro 4 - Captura da posição do nodo na árvore ................................................................ 53
Quadro 5 - Principais características dos trabalhos correlatos em comparação ao trabalho .... 65
Quadro 6 - Avaliação no caso 2............................................................................................ 67
Quadro 7 - Avaliação no caso 3............................................................................................ 69
LISTA DE ABREVIATURAS E SIGLAS
API – Application Programming Interface
DNS - Domain Name System
FURB - Fundação Universidade Regional de Blumenau
IDC - International Data Corporation
IDE - Integrated Development Enviroment
IEEE - Institute of Electrical and Electronic Engineers
INEP - Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira
LAN - Local Area Network
MAC - Media Access Control
MAN - Metropolitan Area Network
MB - Megabytes
OSI - Open Systems Interconnection
PC - Personal Computer
RF - Requisito Funcional
TI - Tecnologia da informação
TIC - Tecnologias da Informação e Comunicação
UC - Use Case
VLAN - Virtual Local Area Network
SUMÁRIO
1 INTRODUÇÃO ............................................................................................................. 13
1.1 OBJETIVOS ................................................................................................................. 14
1.2 ESTRUTURA ............................................................................................................... 14
2 FUNDAMENTAÇÃO TEÓRICA ................................................................................ 16
2.1 REDES DE COMPUTADORES ................................................................................... 16
2.2 COMUNICAÇÃO DE DADOS .................................................................................... 19
2.3 TOPOLOGIAS DE REDE ............................................................................................ 23
2.4 EQUIPAMENTOS DE REDE E O FUNCIONAMENTO DOS COMUTADORES ...... 25
2.5 VLAN - VIRTUAL LOCAL AREA NETWORK ......................................................... 27
2.6 O ENSINO DE REDES DE COMPUTADORES E O PROFESSIONAL DE REDES .. 31
2.7 O USO DE SIMULADORES E FERRAMENTAS NO ENSINO DE REDES DE
COMPUTADORES ............................................................................................................. 33
2.8 TRABALHOS CORRELATOS .................................................................................... 36
2.8.1 VNETLAB uma ferramenta de ensino de redes de computadores utilizando técnicas de
virtualização ............................................................................................................... 36
2.8.2 LVR – Laboratório virtual de redes - protótipo para auxílio ao aprendizado em
disciplinas de redes de computadores .......................................................................... 38
2.8.3 Protótipo de ferramenta de apoio ao treinamento na construção de rede de computadores
................................................................................................................................... 40
3 DESENVOLVIMENTO DA FERRAMENTA ............................................................. 42
3.1 REQUISITOS ............................................................................................................... 42
3.2 ESPECIFICAÇÃO ........................................................................................................ 43
3.2.1 Diagrama de Casos de Uso.......................................................................................... 44
3.2.2 Matriz de rastreabilidade entre Requisitos Funcionais e os Casos de Uso .................... 45
3.2.3 Diagrama de classes .................................................................................................... 46
3.3 IMPLEMENTAÇÃO .................................................................................................... 50
3.3.1 Técnicas e ferramentas utilizadas ................................................................................ 50
3.3.2 Operacionalidade da implementação ........................................................................... 54
3.4 ANÁLISE DOS RESULTADOS .................................................................................. 64
3.4.1 Comparação entre a ferramenta e os trabalhos correlatos ............................................. 64
3.4.2 Validação da ferramenta quanto ao atendimento dos requisitos propostos ................... 65
4 CONCLUSÕES ............................................................................................................. 71
4.1 EXTENSÕES ............................................................................................................... 71
REFERÊNCIAS ................................................................................................................. 73
13
1 INTRODUÇÃO
Atualmente tem-se vivenciado uma transformação no modo de vida das pessoas, com
as tecnologias avançando de forma acelerada. “Marcada por novas configurações de tempo e
espaço, a sociedade atual vive formas de relacionamentos resultantes dos avanços
tecnológicos que imprimiram o rompimento de fronteiras” (SALGADO, 2016, p. 23). Esses
avanços prometem trazer mudanças no modo como todos se relacionam social, econômica e
culturalmente, traçando caminhos inimagináveis que devem revolucionar a vida em sociedade
(SALGADO, 2016, p. 26).
No Brasil isso é reflexo evidente no mercado que tende a crescer ainda mais neste ano,
segundo estudos realizados pela IDC Brasil (International Data Corporation Brasil), os
investimentos em TIC (Tecnologias da Informação e Comunicação) devem crescer 4,9% em
2019, tendo como maior crescimento registrado a área de TI (Tecnologia da informação) com
10,5%. Isso de acordo com a IDC Brasil ocorre por conta de processos de transformação
digital, por movimentos de substituição de tecnologias e pela venda de PCs (Personal
Computer), tablets, smartphones, impressoras e outros dispositivos (IDC Brasil, 2019).
Isso mostra a importância do setor e reforça a necessidade de se formar profissionais
na área, colaborando para o surgimento de novos desafios e oportunidades, inclusive na área
de educação. Para Santos (2016, p. 5), o “[...] papel da educação é fundamental na formação
de profissionais mais qualificados, com as novas competências que atendam às necessidades
do mercado. Entretanto, para formar profissionais com um perfil mais adequado é necessário
inovar a maneira de ensinar [...]”, os alunos das gerações atuais têm mais dificuldade em se
ater e absorver o que lhes é passado em sala de aula através dos métodos convencionais de
ensino. Sarkar (2006, p. 28, tradução nossa) diz que em salas com número maior de alunos
isso tende a ser ainda mais evidente e “isso se deve em parte à dificuldade de motivar os
alunos a aprender assuntos técnicos e complexos e também por causa da falta de interação
entre os alunos em grandes ambientes de sala de aula [...]”.
Diante dessa dificuldade, os simuladores passam a ganhar notoriedade, pois permitem
a reprodução ilimitada de uma situação, sem os riscos existentes em um ambiente real e sem a
necessidade de grandes investimentos. Shannon (1998, p. 7, tradução nossa) enfatiza que “A
simulação é uma das ferramentas mais poderosas disponíveis para os tomadores de decisão
responsáveis pelo projeto e operação de processos e sistemas complexos. Torna possível o
estudo, análise e avaliação de situações que de outro modo não seriam possíveis”.
14
Os simuladores de rede permitem que os alunos construam uma rede dinamicamente,
permitindo aos mesmos inserir dispositivos representados visualmente por ícones em uma tela
e assim conectá-los e configurá-los (SARKAR, 2006, tradução nossa). A possibilidade de ter
uma visão do ambiente trabalhado somados a algum meio de animação torna o saber mais
rico, a capacidade de absorção do conteúdo mais eficiente e ainda, de acordo com Sarkar
(2006, p. 28, tradução nossa), “[...] traz mais interatividade e vivacidade na sala de aula e,
consequentemente, faz com que os alunos se envolvam mais facilmente no aprendizado de
redes de computadores e de forma mais eficiente”.
Diante do exposto, este trabalho propõe o desenvolvimento de uma ferramenta que seja
capaz de executar, simular e configurar ambientes criados pelo usuário, a fim de auxiliar na
percepção do funcionamento de cada equipamento com o intuito de trazer maior
interatividade às aulas e auxiliar no aprendizado sobre redes de computadores.
1.1 OBJETIVOS
O objetivo deste trabalho é desenvolver uma ferramenta de simulação de topologias de
rede englobando o uso de comutadores (switches), de forma a auxiliar no ensino da disciplina
de Rede de Computadores.
Os objetivos específicos são:
a) fornecer de forma interativa informações sobre os diversos dispositivos de rede
disponíveis, bem como seu papel e forma de funcionamento;
b) validar se a simulação retrata de forma correta o comportamento de cada
equipamento ao receber algum dado;
c) avaliar se a aplicabilidade dos relatórios gerados pela ferramenta em um contexto
do mundo real, é eficiente e traz os resultados esperados.
1.2 ESTRUTURA
Este trabalho encontra-se estruturado em capítulos, os quais são descritos a seguir:
O primeiro capítulo é composto por uma introdução ao tema abordado neste trabalho, a
descrição dos objetivos propostos e a própria forma como ele se encontra estruturado.
O segundo capítulo é composto pela fundamentação teórica que aborda os principais
temas envolvidos e que auxiliaram na formulação desta pesquisa juntamente com os seus
trabalhos correlatos.
O terceiro capítulo é composto pelas temáticas relacionadas ao desenvolvimento da
ferramenta, com o detalhamento dos requisitos e a rastreabilidade destes com os casos de uso,
15
o diagrama de classes, as técnicas e ferramentas utilizadas na implementação da ferramenta,
sua operacionalidade em detalhes, seguida das discussões e resultados obtidos, evidenciando a
correlação entre os trabalhos correlatos e o Switcher, como foi realizada a validação de
usabilidade e quais as metodologias utilizadas.
Por fim, no quarto capítulo é realizada uma breve conclusão e mencionadas possíveis
extensões para implementação em trabalhos futuros.
16
2 FUNDAMENTAÇÃO TEÓRICA
Neste capitulo será realizada uma introdução inicial ao tema principal deste Trabalho
de Conclusão de Curso. Na seção 2.1 inicia-se com uma abordagem sobre redes de
computadores, que é basicamente o tema central desse projeto. Na seção 2.2 será apresentado
um breve conceito sobre a comunicação de dados. A seção 2.3 abordará a topologias de rede.
Na seção 2.4 será realizada uma breve explicação sobre os equipamentos de rede e o
funcionamento dos comutadores. Na seção 2.5 será apresentado os conceitos sobre VLANs
(Virtual Local Area Network). Na seção 2.6 o tema abordado é o ensino de redes de
computadores e o Profissional de Redes. Por fim, na seção 2.7 tratará do uso de ferramentas e
simuladores no auxílio ao ensino na área de redes de computadores.
2.1 REDES DE COMPUTADORES
Atualmente a sociedade tem vivido em uma era em que as redes de computadores
mesmo que despercebidas se fazem presentes na vida de cada indivíduo. Com o aumento da
proporção de dispositivos móveis conectados à rede mundial de computadores, uma parcela
significativa da população das grandes metrópoles faz parte dela sem nem se dar conta. Essa
introdução a esse meio é transparente ao usuário, que desconhece da complexidade que está
por trás de uma página web, de uma aplicação e de todo o contexto que faz com que uma rede
de computadores funcione. Para Torres (2001, p. 5), as “redes de computadores surgiram da
necessidade de troca de informações, onde é possível ter acesso a um dado que está
fisicamente localizado distante de você [...]”. Segundo Tanenbaum (2003, p. 2), as redes de
computadores são um “conjunto de computadores autônomos interconectados por uma única
tecnologia”.
Torres (2019, p. 38) considera que as “redes não são uma tecnologia que podemos
chamar de nova. Elas existem desde a época dos primeiros computadores, antes de os
primeiros computadores pessoais (PCs) existirem”. Com o passar dos anos, a evolução
tecnológica fez com que os dispositivos de rede, computadores e os diversos equipamentos
tivessem sua eficiência aumentada e o seu custo reduzido, o que colaborou para sua rápida
expansão. Sarkar (2006, p. 19, tradução nossa), destaca que “redes de computadores são
usadas em muitos aspectos de nossas vidas [...]”. Ainda segundo o autor, no mundo
corporativo elas conectam escritórios geograficamente separados, além de estarem presentes
em universidades, órgãos do governo, organizações militares e instalações médicas.
Na Figura 1 é demonstrado um exemplo do que, de acordo com Torres (2019), é o
motivo básico para que as pessoas e empresas pensem em montar uma rede:
17
compartilhamento de dados, compartilhamento de recursos e uma administração centralizada,
visando assim um aumento de produtividade e redução de custos.
Figura 1 – Motivo básico de uma rede: troca de arquivos e compartilhamento de recursos
Fonte: Torres (2019, p. 38).
No mundo corporativo, sejam nas pequenas, médias ou grandes organizações, as redes
de computadores são de fato muitas vezes impactantes e tem grande influência nos resultados
e no crescimento da organização. Conforme Gyires (2007, p. 644, tradução nossa) “As
organizações dependem cada vez mais de novas tecnologias de rede e aplicativos de rede para
suportar suas necessidades críticas de negócios.”. Esse tema tomou uma proporção bastante
relevante porque, de acordo com o autor, uma rede que tenha um fraco desempenho acaba por
impactar diretamente nas operações realizadas pelo seu negócio.
Para se garantir um desempenho eficaz de uma rede, Suárez et al. (2015) afirmam que
se podem utilizar de várias métricas, cada uma agindo sobre uma camada específica, e são
classificadas também de acordo com o seu meio de transmissão, fio ou sem fio e estão
relacionadas a pilha TCP/IP (Transmission Control Protocol/Internet Protocol).
Na camada de enlace existem métricas para determinar a taxa de transferência, a
capacidade nominal do canal e erros de transmissão. Quanto aos erros de transmissão existem
ainda duas métricas principais para tratar dessa questão que são a taxa de erro de bit e a taxa
de erro de pacote; em ambos os casos quanto maior o valor da métrica, pior o desempenho da
rede. Essas métricas podem ser aplicadas tanto em redes com fio como as sem fio, no entanto
existem métricas exclusivas que tratam das redes sem fio como a eficiência espectral, o tempo
de transição do ponto de acesso, etc. (SUÁREZ et al., 2015)
Na camada de rede, métricas são utilizadas para estimar as duas tarefas principais do
roteamento, no caso a seleção de caminho e o gerenciamento de topologia de rede. Para a
seleção de caminho de redes com fio, as mais comumente utilizadas são: a contagem de
saltos, largura de banda disponível, e tempo de ida e volta. Para redes sem fio outras métricas
são aplicadas como a contagem de transmissão esperada, o tempo de transmissão esperado,
interferência e comutação de canal, etc, embora as métricas utilizadas nas redes com fio
18
também possam ser aplicadas nesse contexto. Para se estimar a exatidão de uma topologia de
rede as métricas mais comuns são a distância e o grau de um nó (SUÁREZ et al., 2015).
As redes de computadores podem ainda ser classificadas sob diversos aspectos. O que
segundo Torres (2019) acaba por se tornar confuso, pois uma única rede pode ter diversas
classificações dependendo de qual o critério que se está sendo utilizado, podendo ser quanto à
abrangência, quanto ao modelo computacional, quanto ao tipo de comutação, quanto à
garantia de entrega de dados, quanto à previsibilidade de funcionamento, quanto à topologia,
quanto ao método de transmissão, quanto à arquitetura e quanto à pilha de protocolos.
Para Gyires (2007), dentre os critérios que podem ser utilizados para classificar uma
rede, dois são os mais comuns: tecnologia de transmissão e a escala, sendo que a escala ou
distância também é responsável por determinar que técnica será utilizada, com fio ou sem fio.
De acordo com a tecnologia de transmissão pode-se classificar as redes como broadcast ou
redes ponto a ponto, conforme exemplificado na Figura 2:
a) broadcast: neste caso um único canal de comunicação é compartilhado por todos
os nós, os quais se comunicam enviando pacotes ou quadros recebidos para todos
os outro nós. O destinatário é definido no campo de endereço, e somente este
processará o quadro;
b) ponto-a-ponto: várias conexões entre pares de nós, nesse caso um pacote ou um
quadro ao ser enviado de uma respectiva fonte pode ter que percorrer os nós
intermediários, no qual são armazenados e encaminhados até chegar ao seu destino
final.
Figura 2 – Classificação de redes de acordo com a transmissão
Fonte: elaborado pelo autor.
Já quando se é utilizado como critério a escala, a rede pode ser classificada pela sua
área de cobertura física conforme a seguir:
19
a) Personal Area Network ou Redes de área pessoal (PAN) são as redes mais simples,
como o nome sugere, elas limitam-se ao entorno de uma pessoa, exemplos básicos
que podem ser citados que pertencem a esse tipo de rede são: teclado ou mouse
sem fio;
b) Local Area Network (LAN) cobrem uma área geograficamente limitada, pode ser
uma residência, uma microempresa ou um departamento de uma empresa. São elas
que conectam os hosts, servidores e demais recursos compartilhados, como
impressoras, etc. As LANs podem ainda ser classificadas de acordo com a
tecnologia de transmissão, a velocidade de transmissão e a topologia;
c) Metropolitan Area Network (MAN) cobrem uma área maior como um bairro ou
uma cidade. Ela é comumente utilizada nos serviços de redes de televisão a cabo
que não distribuem apenas sinal de TV de sentido único, mas distribuem também
serviços de internet bidirecionais. Outras tecnologias MAN que podem ser citadas
são a FDDI (Fiber Distribuited Data Interface) e as tecnologias sem fio IEEE
(Institute of Electrical and Electronic Engineers);
d) Wide Area Network ou Redes de longa distância (WAN) cobrem uma área
geograficamente grande, podendo ser um estado, país ou continente. Ela consiste
em hosts (clientes e servidores) conectados por sub-redes pertencentes a
provedores de serviços de comunicação. Cada uma dessas sub-redes pode conter
várias linhas de transmissão, cada qual conectando um par de roteadores.
Existem também outras redes que não são as de computadores, como é o caso das
redes de telefonia e de televisão. O que faz com que as redes de computadores se
sobreponham sobre as outras é sem dúvidas a sua generalidade, conforme Peterson e Davie
(2004, p. 1) “As redes de computadores são construídas com base em hardware programável
de propósito geral [...] e são capazes de transportar uma grande variedade de dados diferentes,
suportando uma imensa e sempre crescente gama de aplicações distintas.” Diferente do que
acontece nas redes de televisão e telefônica que são otimizadas para fins específicos.
2.2 COMUNICAÇÃO DE DADOS
É possível se afirmar que a comunicação de dados em redes de computadores é o que dá
verdadeiro significado ao tema. Segundo Forouzan (2008, p. 4, grifo do autor)
“Comunicação de dados são as trocas de dados entre dois dispositivos por intermédio de
algum meio de transmissão[...]”. Para Stallings (2007) toda essa retórica básica, de que o
propósito de um sistema de comunicação é a troca de dados entre duas partes acaba por
20
esconder uma rica complexidade técnica. Para exemplificar sua afirmação o autor cita
algumas tarefas que devem ser executadas em um sistema de comunicação de dados, são elas:
a utilização do sistema de transmissão, endereçamento, interface, roteamento, geração de
sinal, recuperação, sincronização, formatação de mensagens, segurança, detecção e correção
de erros, controle de fluxo e o gerenciamento de rede.
Stallings (2007) destaca que quando computadores, terminais e/ou outros dispositivos
de processamento de dados trocam dados, há uma série de procedimentos envolvidos podendo
estes serem bem complexos. Mas primeiramente é necessário que haja um caminho entre
esses computadores por onde os dados devem trafegar, seja diretamente ou através de uma
rede de comunicação.
Toda comunicação de dados é realizada a partir de uma combinação entre hardware e
software que juntos compõem um sistema de comunicações de dados. Sua eficácia depende
de quatro características fundamentais, são elas: entrega, precisão, sincronização e jitter. Esse
sistema é composto por cinco componentes, conforme a Figura 3, são eles: mensagem,
emissor, receptor, meio de transmissão e protocolo (FOROUZAN, 2008, p. 4).
Figura 3 – Os cinco componentes da comunicação de dados
Fonte: Fourouzan (2008, p. 4).
Conforme pode-se observar na Figura 3, a mensagem é a informação a ser transmitida,
a qual pode ser formada por texto, números, figuras, áudio e vídeo. Já o emissor é o
dispositivo responsável pelo envio dos dados, pode ser um computador, telefone, entre outros.
O receptor é o dispositivo que recebe o dado, igualmente ao emissor pode ser um computador,
telefone, entre outros.
A transmissão de dados ocorre entre o transmissor e o receptor através de algum meio
de transmissão. Estes meios podem ser classificados como guiados ou não guiados. Em ambos
os casos, a comunicação é realizada na forma de ondas eletromagnéticas. No caso dos meios
guiados como é o caso dos cabos de par trançado, cabos coaxiais, cabos de fibra óptica, etc,
essas ondas são guiadas ao longo de um caminho físico. Já no caso dos meios não guiados
como é o caso das redes wireless ou sem fio como se conhece, o meio é fornecido, mas estes
não são orientados, as ondas são propagadas através do ar sem um direcionamento especifico.
21
E o último dos cinco componentes da comunicação de dados é o protocolo: este é um
conjunto de regras responsável pelo controle da comunicação de dados, é um tipo de acordo
entre os dispositivos, sem o mesmo, dois equipamentos podem estar conectados entre si, mas
não se comunicarem (FOROUZAN, 2008, p. 4).
Diferentemente de um sistema de telefonia, que necessita apenas que uma conexão seja
estabelecida para que a comunicação seja efetivada, reforçando a sua visão de que as redes de
comunicação de dados não são tão simples como aparentam, Stallings(2007, p. 18) afirma que
em uma comunicação com dispositivos de processamento de dados, existem certas
convenções que devem ser consideradas. “Essas convenções podem incluir se os dois
dispositivos podem transmitir simultaneamente ou devem se revezar, a quantidade de dados a
serem enviados ao mesmo tempo, o formato dos dados e o que fazer se certas contingências,
como um erro, surgirem.” (STALLINGS, 2007, p. 18, tradução nossa)
Segundo Matthews (2006, p. 12), a “comunicação entre computadores, assim como
ocorre com a comunicação entre humanos, depende da aceitação mútua entre padrões de
iteração denominados protocolos.” Toda essa comunicação é feita por um conjunto de
camadas de protocolos, cada um responsável por uma tarefa específica, e unidas formam a
pilha de protocolos de rede. A International Organization for Standardization (ISO) definiu
uma pilha de protocolos-padrão de sete camadas, chamada Open Systems Interconnection
(OSI), conforme a Figura 4.
Figura 4 – A pilha OSI e a sequência percorrida durante uma transmissão de dados
Fonte: elaborado pelo autor.
22
Os dados transferidos em uma comunicação de um nível não são enviados
diretamente ao processo do mesmo nível em outra máquina, mas descem
verticalmente através de cada nível adjacente em sua máquina até o nível 1 (nível
físico, responsável pela única comunicação entre as estações de fato), para depois
subir através de cada nível adjacente na estação receptora até o nível de destino. [...]
Este mecanismo de comunicação é conhecido com protocolo de nível N. (SOUSA
FILHO; ALEXANDRE, 2014, p. 98).
Algumas atribuições, tipos de dados e protocolos específicos são definidos por cada
uma das camadas conforme pode ser visto a seguir:
a) camada física: camada responsável por mover bits de um dispositivo para outro,
ela inclui as especificações mêcanicas, elétricas, óticas, de rádio, funcionais e
procedimentais para mover digitos binários em um meio fisico;
b) camada de enlace: camada responsável por gerenciar os aspectos da comunicação
entre duas estações no mesmo circuito. Podendo ser limitado a duas estações
conectadas por um link ponto a ponto, ou várias conectadas por uma LAN
wireless, por exemplo. Geralmente realiza o controle de acesso, controle de fluxo,
endereçamento e controle de erros;
c) camada de Rede: esta camada é responsável pelo endereçamento, roteamento e
controle de tráfego, nessa camada estão os roteadores e switches de camada 3, etc.
Basicamente ela se encarrega de realizar o reencaminhamento de um link para o
próximo até chegar ao seu destino final;
d) camada de Transporte: responsável pela verificação de erros ponta a ponta para
verificar se o dado foi entregue com sucesso ao extremo remoto quando estes não
estão conectados no mesmo circuito, e em alguns casos até retransmitir dados que
não foram entregues. Ela também é responsável por informar para qual aplicação a
informação deverá ser entregue, sendo referenciada pelo número da porta;
e) camada de Sessão: esta é a camada responsável pelo gerenciamento das sessões,
bem como pelas sessões de início e término;
f) camada de Apresentação: essa camada inclui codificação de caracteres,
compactação de dados, criptografia, descriptografia, etc;
g) camada de Aplicação: este é o estágio final e a seção mais alta da estrutura
hierárquica do modelo, a mais próxima da camada do usuário; muitos protocolos
são abordados nessa camada, como Telnet, DNS (Domain Name System), SMTP
(Simple Mail Transfer Protocol), etc.
23
Segundo Tanenbaum (2003, p. 41), “o modelo OSI propriamente dito não é uma
arquitetura de rede, pois não especifica os serviços e os protocolos exatos que devem ser
usados em cada camada. Ele apenas informa o que cada camada deve fazer.”
Stallings (2007, p. 44, tradução nossa) ainda afirma que “a principal motivação para o
desenvolvimento do modelo OSI foi fornecer uma estrutura para padronização[...]. O modelo
define em termos gerais as funções a serem executadas nessa camada e facilita o processo de
criação de padrões”. A camada OSI tem grande relevância para comunicação de dados pois
impede que mudanças de tecnologia ou habilidade em uma camada afetem outras camadas
acima e abaixo.
2.3 TOPOLOGIAS DE REDE
O termo topologia refere-se à forma como os computadores ou estações de trabalho
estão interligados em uma rede (BISHT; SINGH, 2015, p. 88, tradução nossa), podendo ser
classificada como topologia física ou topologia lógica. A topologia física é correspondente a
um Layout, que é a forma como objetos físicos são organizados em um local. Este pode ser
representado por um desenho, mapa ou diagrama de objetos dispostos de uma determinada
maneira.
A topologia de uma rede pode afetar diretamente o desempenho e a capacidade dos
computadores que fazem parte dela. A forma como os equipamentos de rede são conectados
possui considerável importância, pois elas definem como a informação irá se propagar na rede
(ROSS, 2008, p. 17). “As comunicações desenvolvidas em camadas superiores dependem da
organização e do gerenciamento da rede subjacente, portanto, uma topologia de rede
específica afeta o esquema de roteamento, a escalabilidade e a complexidade da rede,”
segundo Suárez et al. (2015, p. 198, tradução nossa).
As topologias seguem um padrão gráfico, no qual os vértices correspondem aos nós
(hosts, switches, hubs, roteadores, entre outros) e as arestas correspondem aos links de
conexão. Utilizando de algumas propriedades geradas pelos gráficos, como grau médio de nós
(que representam o número de conexões), o comprimento médio do caminho entre os nós e a
distância entre nós, é possível extrair informações de desempenho sobre essas tecnologias.
São três abordagens principais para se construir um gráfico que satisfaça propriedades
específicas: gráficos aleatórios, gráficos geométricos aleatórios (responsáveis pela distância
entre nós) e topologias hierárquicas (SUÁREZ et al., 2015, p. 198).
Uma topologia geralmente não abrange toda a rede existente, o que ocorre são junções
de várias topologias menores que compõem um conjunto completo. “A topologia física de
24
rede também vai definir a topologia lógica da rede ou, como é mais conhecida, a tecnologia
de rede a ser utilizada. Quando usado sozinho, o termo topologia refere-se à topologia física
da rede”, segundo Ross (2008, p. 17).
As topologias de rede podem se dividir em diversos tipos, dentre os quais os tipos
básicos são: topologia de barramento, topologia em estrela, topologia em anel, topologia em
malha e topologia em árvore. Cada uma possui sua vantagem e desvantagem, sendo
necessária uma análise das variáveis que possam auxiliar na melhor escolha para determinado
ambiente, como: custo, flexibilidade da topologia entre outros aspectos. (BISHT; SINGH,
2015, p. 90, tradução nossa). Na Figura 5 há uma exemplificação de como é constituído cada
tipo de topologia.
Figura 5 – Tipos comuns de topologia de rede
Fonte: elaborado pelo autor.
No entanto a solução para a maioria dos casos é integrar dois ou mais tipos de
topologia, que embora seja uma desvantagem pela complexidade de design e infraestrutura
dispendiosa, tem como vantagens: ser confiável, escalonável, flexível e eficaz. Esse tipo de
topologia é conhecido como topologia hibrida e está representada na Figura 6. (BISHT;
SINGH, 2015, p. 90, tradução nossa).
25
Figura 6 – Topologia híbrida
Fonte: elaborado pelo autor.
2.4 EQUIPAMENTOS DE REDE E O FUNCIONAMENTO DOS COMUTADORES
Redes de computadores são formadas por diversos dispositivos e equipamentos de rede
no qual cada um desempenha uma determinada função. Entre eles pode se citar os mais
comuns: host, hub, switch, bridge, gateway, roteador, access point, entre outros.
O Host no mundo da informática é qualquer dispositivo ou computador conectado a
uma rede, que possa oferecer informações, recursos, serviços e aplicações aos usuários ou
outros nós conectados à rede. “Um hub é um dispositivo de camada física que atua sobre bits
individuais e não sobre quadros. Quando um bit, representando 0 ou 1, chega de uma
interface, o hub apenas recria o bit, aumenta a energia e o transmite para todas as outras
interfaces.” (KUROSE; ROSS, 2013, p. 348).
O bridge é um dispositivo que opera na camada de Enlace do modelo OSI (camada 2),
é um dispositivo que é responsável pela filtragem de mensagens entre dois segmentos de rede.
Diferentemente dos repetidores que replicam o sinal elétrico, este o manipula. Ele dispõe de
duas portas e de acordo com Fernandez (2015, p. 15) suas principais funções são: “filtrar as
mensagens de acordo com o endereço de destino, repetindo para outra porta apenas as
mensagens referentes a este segmento de rede e armazenar as mensagens se o segmento de
destino estiver ocupado” e também, verificar a existência de algum erro e descartá-lo
eliminando a necessidade deste chegar até seu destinatário para que isso seja feito.
Para Torres (2001, p. 354) os “Roteadores são pontes que operam na camada de Rede
do modelo OSI (camada 3). [...] roteadores não analisam os quadros físicos que estão sendo
transmitidos, mas sim os datagramas produzidos pelos protocolos de alto nível.” Ele é
responsável por interligar diferentes redes, escolhendo sempre o caminho a ser utilizado, o
26
qual pode ser escolhido pelo critério de menor caminho ou que contiver o menor
congestionamento.
Quando uma mensagem é enviada para um host ou hosts de destino, o host de envio
divide a mensagem em partes menores, chamadas de pacotes. Quando um pacote
chega em uma linha de transmissão de entrada, o roteador armazena o pacote antes
de selecionar uma linha de saída e encaminha o pacote através dessa linha. A seleção
da linha de saída é baseada em um algoritmo de roteamento. Os pacotes são
entregues ao (s) host (s) de destino, um por um, onde os pacotes são reagrupados na
mensagem original. (GYIRES, 2007, p. 648, tradução nossa).
Enquanto que um switch mantém apenas uma tabela contendo os endereços de
equipamentos que estejam conectados ao mesmo segmento de rede, o roteador é responsável
pelo encaminhamento das mensagens para o caminho correspondente, mesmo quando o
destino não esteja conectado diretamente no mesmo segmento. Para isso ele utiliza de tabela
de roteamento que contém a informação de todos os destinos que são alcançáveis.
Segundo Forouzan (2008, p. 4), os switches são responsáveis por distribuir as
informações que trafegam na rede aos destinos correspondentes, diferente do hub que
transmite para todas as interfaces. Para isso utiliza de recursos de comutação e do
armazenamento temporário dessas informações.
De acordo com Fernandez (2015), um switch ao ser ligado inicia um processo de
aprendizado, onde este ao receber uma mensagem associa o endereço de origem a uma porta.
Ao identificar uma mensagem para este endereço ele envia esta mensagem para a porta
associada a ele. Caso esse endereço não venha a ser localizado na tabela, uma difusão
(broadcast) é realizada por sobre todas as portas a fim de identificar a porta ser utilizada.
Segundo Peterson e Davie (2004, p.88), apesar de um switch ter um número fixo de
entradas e saídas, limitando dessa forma a quantidade de hosts que podem ser conectados a
um único switch, redes de maior alcance geográfico podem ser construídas através da
interconexão de switches utilizando links ponto a ponto. Outra vantagem é que conectar um
novo host ao switch, não significa necessariamente que os hosts já conectados terão qualquer
redução de desempenho na rede. Todos hosts conectados ao switch possuem link próprio o
que faz com que muitos dos hosts conectados a um switch transmitam a velocidade máxima
do link, desde que o switch tenha sido projeto com capacidade suficiente. Isso não ocorre com
dois hosts que compartilham uma mesma ethernet por exemplo, já que os mesmos
compartilham do mesmo meio de transmissão.
A função de um comutador é receber quadros da camada de enlace e repassá-los
para enlaces de saída; [..] O comutador em si é transparente aos hospedeiros e
roteadores na sub-rede; ou seja, um nó endereça um quadro a outro nó (em vez de
endereçar o quadro ao comutador) que alegremente envia o quadro à LAN, sem
saber que um comutador receberá o quadro e o repassará. [...] Embora um
comutador também seja um comutador de pacotes do tipo armazena-e-repassa, ele é
27
em essência diferente de um roteador, pois repassa pacotes usando endereços MAC.
Enquanto um roteador é um comutador de pacotes da camada 3, um comutador
opera com protocolos da camada 2 (KUROSE; ROSS, 2013, p. 355, grifo do autor).
Existem também os switches de camada 3 que são chamados de switches multicamada
ou MLS (Multi-Layer Switch) e assim como os roteadores, eles servem para conectar redes
internas diferentes, mas não conectam as redes internas as externas. Switches de camada 3
normalmente são utilizados com foco em ganho de desempenho, sendo que em redes de
grande escala, os switches tradicionais tendem a criar um grande domínio de broadcast, que
em redes menores não é perceptível. (TORRES, 2019)
Uma funcionalidade dos switches que é muito utilizada é a capacidade de criar
VLANs, segregando a rede física e trazendo mais segurança ao controlar o caminho por onde
percorre o trafego de informações. De acordo com Nakamura e Geus(2007, p. 91), “Cada
porta do switch representa uma VLAN e a separação é feita na camada 2 da modelo OSI,
sendo necessário, portanto, um dispositivo de camada 3, como um roteador, para que duas
VLANs diferentes possam se comunicar”.
2.5 VLAN - VIRTUAL LOCAL AREA NETWORK
Uma VLAN, pode ser categorizada como uma tecnologia de segregação de redes de
forma lógica, possibilitando que a rede seja dividida em várias redes virtuais sem a
necessidade de utilização de múltiplos switches criando domínios de broadcast separados.
Segundo Peterson e Davie (2018, p. 113, tradução nossa), “As VLANs permitem que uma
única LAN estendida seja particionada em várias LANs aparentemente separadas. Cada LAN
virtual recebe um identificador[...], e os pacotes só podem viajar de um segmento para outro
se ambos os segmentos tiverem o mesmo identificador.”
Sarkar (2006, p. 84, tradução nossa) define VLAN como sendo “Uma rede lógica
compartilhada criada pela conexão de dispositivos a switches configuráveis, de modo que a
rede não seja restrita por nenhum limite físico”
Kurose e Ross (2013, p. 357) afirmam que “as LANs institucionais modernas com
frequência são configuradas hierarquicamente, cada grupo de trabalho (departamento) tendo
seu próprio comutador de LAN conectado ao comutador de LAN de outros grupos via uma
hierarquia de comutadores.” Esse modelo pode ser verificado na Figura 7, que segundo os
autores, essa parece ser uma configuração que funcione bem apenas em um mundo ideal, o
que não se repete no mundo real.
28
Figura 7 - Uma rede institucional conectada por quatro comutadores
Fonte: Kurose e Ross(2013, p. 342).
LAN, switches e VLANs andam de mãos dadas. Quando você olha para a
configuração de um roteador, não vê referências a VLANs; no entanto, quando você
olha para a configuração de um switch, você vê referências frequentes a VLANs.
Switches modernos são estruturados em torno de VLANs. As VLANs são para
switches, como as redes são para os roteadores. Quase tudo que você faz em um
switch está relacionado a VLANs. Então, em grande parte, aprendendo sobre
comutação está aprendendo sobre VLANs. O dia no futuro, quando cada porta em
cada switch estiver em uma rede separada da Camada 3, é o dia em que as VLANs
não são mais necessárias - a necessidade de VLANs está ligada à necessidade de
colocar várias portas de switch em um domínio de broadcast (em uma VLAN).
Dentro de um conjunto de redes comutadas, as VLANs fornecem segmentação e
flexibilidade organizacional. As VLANs fornecem uma maneira de agrupar
dispositivos dentro de uma LAN. Um grupo de dispositivos dentro de uma VLAN se
comunica como se estivesse conectado ao mesmo fio. As VLANs são baseadas em
conexões lógicas, em vez de conexões físicas. As VLANs permitem que um
administrador segmente redes com base em fatores como função, equipe de projeto
ou aplicativo, sem levar em conta a localização física do usuário ou dispositivo.
(CISCO PRESS, 2014, p. 4, tradução nossa)
Kurose e Ross (2013), citam três desvantagens que podem ser identificadas em
configurações que seguem o modelo da Figura 7 e que podem ser resolvidas com a utilização
de VLANs:
a) falta de isolamento do tráfego. Limitando o escopo desse tráfego de difusão
aprimoraria o desempenho da LAN e melhoraria questões de privacidade e
segurança.
b) uso ineficiente de comutadores. Se, em vez de três, a instituição tivesse dez
grupos, dez comutadores de primeiro nível seriam necessários.
29
c) gerenciamento de usuários. Caso um indivíduo que pertença a um determinado
grupo, necessite locomover-se entre outros grupos, o cabeamento físico precisa ser
mudado para conecta-lo ao outro grupo.
As VLANs tiveram considerável aceitação no mundo corporativo justamente por trazer
a possibilidade de isolar os departamentos um do outro. Um fato interessante é possibilidade
de se mapear 4096 redes virtuais em uma única LAN física. Embora pareça um número
expressivo, esse número se tornou insuficiente quando se tentou levar as VLANs a outros
patamares como a virtualização de redes L2 em datacenters em nuvem (PETERSON; DAVIE,
2018).
“Em uma VLAN baseada em portas, as portas (interfaces) do comutador são divididas
em grupos pelo gerente da rede. Cada grupo constitui uma VLAN, com as portas em cada
VLAN formando um domínio de difusão.” (KUROSE; ROSS, 2013, p. 358). Uma porta de
switch com uma única VLAN atribuída a ela é chamada de porta de acesso ou não tagueada.
Essas portas são comumente utilizadas para conectar equipamentos de fim de linha como PCs,
impressoras e servidores ao switch. Já uma porta que possui diversas VLANs atribuídas a ela
é chamada de porta tronco ou tagueada, esta por sua vez é comumente utilizada para realizar a
conexão entre dois switches, ou entre switches e roteadores.
O cabeçalho de quadro Ethernet padrão não contém informações sobre a VLAN à
qual o quadro pertence. Assim, quando os quadros Ethernet são colocados em um
tronco, as informações sobre as VLANs a que pertencem devem ser
adicionadas. Esse processo, chamado de marcação, é realizado usando o cabeçalho
IEEE 802.1Q, especificado no padrão IEEE 802.1Q. O cabeçalho 802.1Q inclui uma
tag de 4 bytes inserida no cabeçalho do quadro Ethernet original, especificando a
VLAN à qual o quadro pertence. Quando o switch recebe um quadro em uma porta
configurada no modo de acesso e atribui uma VLAN, o switch insere uma tag de
VLAN no cabeçalho do quadro, recalcula o FCS e envia o quadro marcado para fora
de uma porta de tronco. (CISCO PRESS, 2014, tradução nossa)
Uma TAG, é composta por 4 campos:
a) Tipo: este na verdade é o ID de protocolo de VLAN ou TPID (Tag Protocol
Identifier), este possui sempre o valor 0x8100. Devido ao fato de o número ser
superior a 1500 todas as placas Ethernet o interpretam como um tipo, e não como
um comprimento.
b) Prioridade: um valor de 3 bits que suporta a implementação de nível ou serviço.
c) Identificador de formato Canônico ou CFI (Canonical Format Identifier): Um
identificador de 1 bit que permite que quadros Token Ring sejam transportados por
links Ethernet.
d) VLAN identifier (VID) que é o Identificador da VLAN, este ocupa 12 bits de
30
baixa ordem. E define a que VLAN o quadro pertence.
Nem o CFI e nem a prioridade possuem qualquer relação com VLANs, já que segundo
Tanebaum (2003), o campo prioridade “torna possível distinguir o tráfego de tempo real
permanente do tráfego de tempo real provisório e do tráfego não relacionado ao tempo, a fim
de fornecer melhor qualidade de serviço em redes Ethernet”. A composição de uma TAG, ou
marcação pode ser verificada na Figura 8.
Figura 8 - Tag de VLAN do 802.1Q
Fonte: Cisco Press (2004).
Em organizações e instituições é comum haver casos em que se faz necessário que
uma estruturação seja replicada de um prédio a outro. Imagine como seria se houvesse 10
departamentos em um prédio e os usuários dele tivessem que interagir com os usuários dos
departamentos equivalentes de outros prédios, uma solução para essa situação seria atribuir
para cada porta do switch a VLAN de cada departamento e ligá-lo ao outro switch localizado
no outro prédio. Essa solução resolveria o problema, mas criaria outro, que seria a limitação
do crescimento dessa rede, pois muitas portas de um switch teriam que ser usadas somente
para interconectá-los.
Para Kurose e Ross (2003, p. 358), “Uma abordagem mais escalável para interconectar
os comutadores das VLANs é conhecido como entroncamento de VLANs. [...] A porta de
tronco pertence a todas as VLANs, e quadros enviados a qualquer VLAN são encaminhados
31
pelo enlace de tronco ao outro comutador.” Essas duas situações podem ser verificadas na
Figura 9.
Figura 9 – Diferença da utilização de portas tronco na conexão entre switches
Fonte: elaborado pelo autor.
Apesar de na literatura existir menção constante à segurança quanto à utilização de
VLANs, Nakamura e Geus(2007) afirmam que o entroncamento, modo utilizado para
interconexão de dois switches, ou switch-roteador, constitui um risco as corporações e
instituições, pois testes revelaram a possibilidade de injetar quadros modificados em um
VLAN e direciona-los a outras podendo ser usados para atacar sistemas que operam em outras
VLANs, essa falha ocorre no caso quando uma porta tronco compartilha a mesma VLAN com
uma porta que não seja tronco.
2.6 O ENSINO DE REDES DE COMPUTADORES E O PROFESSIONAL DE REDES
Segundo Cantú e Farines (2002, p. 8), no ensino de redes de computadores “Em geral,
é bastante grande a ênfase sobre os conteúdos, que no caso são bastante extensos e
complexos, incluindo muitos conceitos, protocolos, modelos de referência e uma vasta
coleção de tecnologias”. Ele ainda afirma que há muitos modelos que não possuem qualquer
prática disponível ou acessível, como alguns tipos de protocolos, topologias, etc.
Tanenbaum, autor de conceituados livros sobre redes de computadores, acaba
aparentemente sendo referência no ensino de redes de computadores. Os professores que
lecionam disciplinas relacionadas geralmente tendem a seguir a ordem dos conteúdos de
forma idêntica como estão organizados nos livros escritos pelo autor. Em seu livro os temas
são abordados de baixo para cima, iniciando pela camada física e subindo até atingir a camada
de aplicação, no entanto outros autores adotam com ponto de partida a camada de aplicação,
metodologia dita como abordagem Top down. (CANTU; FARINES, 2002).
32
O ensino de redes de computadores apresenta ainda uma série de desafios, pois aborda
temas puramente técnicos. O ensino de redes de computadores pode se dar através de
disciplinas incorporadas em outros cursos, como o caso do Curso de Ciência da Computação,
ou em cursos voltados especificamente para o tema, como é o caso do Curso de tecnologia de
redes de computadores propriamente dito. No primeiro caso apenas uma pequena parcela dos
temas que contemplam o curso de redes de computadores é abordado, mas para ambos a
necessidade de laboratórios para a prática dos conteúdos teóricos aprendidos se faz
imprescindível.
Goncalves et al. (2017, p. 2) apontam que as “Metodologias tradicionais de ensino com
aulas expositivas, apesar de capazes de fornecer uma boa base teórica, nem sempre expõem os
alunos a aplicações práticas significativas dos conceitos que aprenderam”. O autor afirma
ainda que o conhecimento obtido muitas vezes fica passível de esquecimento, já que as
habilidades técnicas e processuais não são trabalhadas o que acarreta também na dificuldade
da representação do conhecimento em contextos reais.
Rauen (2003, p. 35) constatou em seu estudo sobre abordagens alternativas para o
ensino de redes de computadores, que 50% dos alunos questionados no local de elaboração da
pesquisa apontavam a falta de laboratórios de redes de computadores como uma das maiores
dificuldades no aprendizado. Isso é uma questão realmente perceptível, visto que
diferentemente dos laboratórios de informática comuns, os laboratórios de rede necessitam de
uma quantidade significante de equipamentos específicos para a prática de determinadas
disciplinas, como roteadores, switches, etc. Mesmo os hosts desses laboratórios precisam ser
exclusivos para o ensino destas disciplinas, não podendo ser compartilhado com outros fins
pelo fato da constante alteração de suas configurações, realizadas pelos estudantes durante a
prática.
Outra dificuldade apontada por Rauen (2003, p. 37), em sua pesquisa, é a
complexidade dos livros de redes de computadores, que foi citada por 53% dos discentes
entrevistados, o que corrobora para a necessidade da existência de laboratórios para o
entendimento dos assuntos abordados.
No Brasil a carreira do profissional de redes de computadores atualmente não possui
nenhuma regulamentação específica. Existem movimentos recentes na legislação brasileira
que tentam há um tempo colocar em prática dois projetos de lei (PL), o PL 7.109/2006 e o
projeto de lei do senado (PLS) 607/2007, ambos visam regulamentar a atuação dos
profissionais de TI num todo, sem especificar claramente as atribuições de cada segmento. No
entanto os projetos continuam parados.
33
Com base na Portaria n. 2.255, de 25 de agosto de 2003, Art. 1, o Instituto Nacional de
Estudos e Pesquisas Educacionais Anísio Teixeira (Inep) foi criado para realizar um conjunto
de objetivos referentes ao sistema de educação nacional. Em sua portaria n 240 de junho de
2014, o Inep estabelece que o profissional em redes de computadores deve atender ao seguinte
perfil:
I - profissional tecnicamente capacitado, com conhecimentos cientificamente
embasados, especializado na elaboração e implantação de projetos lógicos e físicos
de redes de computadores locais e de longa distância;
II - profissional tecnicamente capacitado, com conhecimentos cientificamente
embasados em gerenciamento, manutenção e segurança de redes de computadores;
III - profissional capaz de administrar e agir com ética e responsabilidade
socioambiental obedecendo à legislação vigente;
IV- profissional capaz de atualizar seus conhecimentos técnicos e transversais a fim
de acompanhar a evolução tecnológica, da sociedade e do mundo do trabalho;
V- profissional capaz de empreender e alavancar a geração de oportunidades de
negócios na área de redes de computadores, de forma sustentável.
Ainda que feita qualquer relação é sabido que a mobilidade e as tecnologias de
comunicação estão cada vez mais em alta, aquecendo o mercado e trazendo para área do
profissional de Redes inúmeras possibilidades.
2.7 O USO DE SIMULADORES E FERRAMENTAS NO ENSINO DE REDES DE
COMPUTADORES
Gradualmente a sociedade vem se adaptando às novas formas de ensino que lhes são
impostas pelo crescente desenvolvimento das Tecnologias de Comunicação e Informação. A
implementação das TIC nas escolas é considerada um dos maiores desafios enfrentados pelos
sistemas de educação em todo o mundo. “A emergente necessidade de mudança nas práticas
educativas e a consciência de que a tecnologia pode ser uma alavanca importante para tais
mudanças, parece ser um facto consensual” (PAIVA; MORAIS; PAIVA, 2010, p. 6).
Para Machado e Santos (2004), as tecnologias da informação têm se consolidado com
o aperfeiçoamento dos meios de comunicação e isso tem corroborado para a melhoria das
práticas educacionais, disponibilizando novos recursos para a atuação do professor. Ponte
(1997) e Paiva (2007) citados por Paiva, Morais e Paiva (2010, p. 6-7) classificaram várias
potencialidades que são obtidas quando as práticas pedagógicas são alinhadas de forma
planejada com o uso das TICs:
1) Ajudam o aluno a descobrir o conhecimento por si: é uma forma de ensino activo
em que o professor ocupa um lugar intermédio ente a informação e os alunos,
apontando caminhos e avivando a criatividade, a autonomia (pois é grande a
variedade de fontes de informação e têm que escolher) e o pensamento crítico.
Existe uma grande relação reflectiva e interventiva entre o aluno e o mundo que o
34
rodeia.
2) Promovem o pensamento sobre si mesmo (metacognição), a organização desse
pensamento e o desenvolvimento cognitivo e intelectual, nomeadamente o raciocínio
formal.
3) Impulsionam a utilização, por parte de professores e alunos, de diversas
ferramentas intelectuais.
4) Enriquecem as próprias aulas pois diversifica as metodologias de ensino-
aprendizagem.
5) Aumentam a motivação de alunos e professores. 6) Ampliam o volume de
informação acessível aos alunos, que está disponível de forma rápida e simples. 7)
Proporcionam a interdisciplinaridade.
8) Permitem formular hipóteses, testá-las, analisar resultados e reformular conceitos,
estando assim de acordo com a investigação científica.
9) Possibilitam o trabalho em simultâneo com outras pessoas geograficamente
distantes.
10) Propiciam o recurso a medidas rigorosas de grandezas físicas e químicas e o
controlo de equipamento laboratorial (sensores e interfaces).
11) Criam micromundos de aprendizagem: é capaz de simular experiências que na
realidade são rápidas ou lentas demais, que utilizam materiais perigosos e em
condições impossíveis de conseguir.
12) A aprendizagem torna-se de facto significativa, dadas as inúmeras
potencialidades gráficas.
13) Ajudam a detectar as dificuldades dos alunos.
14) Permitem ensinar através da utilização de jogos didácticos.
No entanto, os autores ressaltam que a despeito “deste otimismo associado ao uso das
TIC, [..] é necessário ter em conta que as novas tecnologias não implicam a diminuição da
importância do professor, apenas apontam para uma redefinição do seu papel [..]”. (PAIVA;
MORAIS; PAIVA, 2010, p. 6).
Não somente a redefinição do papel do professor se sucede, mas no caso do
aprendizado de temas comuns em redes de computadores, por vezes se passa muito além do
que a teoria possa de alguma forma explanar e a visualização de uma determinada ocorrência
é em muitos dos casos de difícil assimilação. Para Suárez et al. (2015), a complexidade e a
implantação de redes de computadores continuam a crescer, uma vez que novos protocolos,
arquiteturas e aplicativos estão em constante evolução, e as redes de computadores estão em
contínuo processo de adaptação.
O escopo de um estudo de simulação pode ser apenas um sistema que faz parte de
outro sistema, como no caso de sub-redes. O estado de um sistema de rede é o
conjunto de variáveis e parâmetros relevantes que descrevem o sistema em um
determinado momento que compõe o escopo do estudo. Por exemplo, se estamos
interessados na utilização de um link, queremos saber apenas o número de bits
transmitidos através do link em um segundo e a capacidade total do link, em vez da
quantidade de buffers disponíveis para as portas no link, interruptores conectados
pelo link.
Em vez de construir um modelo físico de rede, construímos um modelo matemático
35
que representa o comportamento e as relações lógicas e quantitativas entre os
elementos da rede. Alterando as relações entre os elementos da rede, podemos
analisar o modelo sem construir a rede fisicamente, assumindo que o modelo se
comporta de forma semelhante ao sistema real, ou seja, é um modelo válido. Por
exemplo, podemos calcular a utilização de um link analiticamente, usando a fórmula
U = D / T, onde D é a quantidade de dados enviados em um determinado momento e
T é a capacidade do link em bits por segundo. Este é um modelo muito simples que
é muito raro em problemas do mundo real. Infelizmente, a maioria dos problemas do
mundo real é muito complexa para responder perguntas usando equações
matemáticas simples. Em casos altamente complexos, a técnica de simulação é mais
apropriada. (GYIRES, 2007, p. 643, tradução nossa).
Dentro deste contexto, as ferramentas de simulação têm seu espaço garantido, pois
trazem para próximo do aluno a possibilidade de interagir diretamente com o tema abordado
sem a necessidade de grandes investimentos com infraestrutura e equipamentos. A simulação
visa quebrar alguns paradigmas, facilitar a execução de processos complexos alinhados à
segurança e a redução dos custos operacionais. “O desejo de conhecer o futuro, a eterna
questão “e se”, motiva o ser humano a utilizar técnicas como a simulação para tentar prever e
entender o mundo à sua volta.” (GAVIRA, 2003, p. 58).
Para Medeiros, Moser e Santos (2004, p. 453), “A simulação é um construto de grande
utilidade e essencial para o desenvolvimento científico e tecnológico nos dias atuais.” O autor
afirma ainda que com o passar dos anos, esse tema adquiriu relevante importância como área
de estudo a partir das possibilidades que surgiram com avanços das tecnologias. Os avanços
computacionais e dos sistemas de simulação, devido à sua versatilidade e flexibilidade
permite que técnicas de simulação sejam aplicadas em praticamente todas as áreas sem correr
o risco de sofrer consequências indesejadas. Suárez et al. (2015) citam algumas razões para se
optar pelo estudo de uma rede de computadores utilizando de ferramentas de simulação:
Primeiro, estudar a rede pode ser excessivamente caro. Em segundo lugar, o estudo
de alguns recursos pode penalizar, ou mesmo interromper, o desempenho da rede e a
qualidade do serviço percebida pelos usuários seria afetada, o que é inaceitável.
Terceiro, interagir diretamente com a rede pode ser fisicamente impossível, seja por
seu tamanho ou por seu estado (a rede pode estar em uma fase de desenvolvimento,
ainda não-operacional). (SUÁREZ et al., 2015, p. 187, tradução nossa).
Gyires (2007, p. 644) afirma ainda que é necessário que não se confunda a simulação
com a emulação. Sendo que diferente da simulação, que tem o objetivo de gerar resultados
que representem o comportamento de certos elementos de rede e suas funções, a emulação
busca imitar a rede original e reproduzir todos os eventos que ocorrem em todos os elementos
e aplicativos da rede.
Para Suárez et al. (2015, p. 191), “[...] simulação de redes de computadores é um
elemento fundamental na pesquisa, desenvolvimento e ensino de redes”. Ainda segundo o
autor eles não somente são utilizados por praticantes e pesquisadores, mas também por
36
estudantes que buscam através da simulação uma compreensão mais aprofundada sobre redes
de computadores
Para Santos (2016, p. 22), o “[...] uso de ferramentas de simulação, como suporte ao
ensino e aprendizagem, dispensa o investimento em grandes laboratórios tecnologicamente
equipados, proporcionando uma otimização nos custos e inovações significativas na maneira
de ensinar”. Ele destaca também que essa técnica “[...] pode ajudar os alunos a desenvolver
suas habilidades técnicas e resolução de problemas, tendo em vista a possibilidade de
visualizar, de forma detalhada, o comportamento de uma rede de computadores em
funcionamento” (SANTOS, 2016, p. 22).
A verdade é que assim como as grandes corporações que buscam a excelência na
prestação dos serviços por ela ofertados, alinhado com a redução de custos operacionais, os
quais as Tecnologias da informação tem corroborado efetivamente para que isso fosse
possível, a tendência é que as instituições de ensino igualmente busquem formas cada vez
menos custosas de forma a atender um número ainda maior de estudantes.
2.8 TRABALHOS CORRELATOS
Neste capitulo são apresentados três trabalhos correlatos, sendo o primeiro o
VNETLAB que é uma ferramenta de apoio ao ensino de redes que utiliza de técnicas de
virtualização (CEMIM; VIEIRA, 2010). O segundo é o LVR, uma ferramenta que simula um
laboratório virtual de redes através de técnicas de Realidade Virtual (PINHEIRO; RIBEIRO
FILHO, 2005). Por último é apresentada uma ferramenta de auxílio ao ensino da disciplina de
redes de computadores, o qual permite aos usuários a criação de topologias de rede, o estudo e
a avaliação sobre os temas relacionados e equipamentos utilizados (SOUZA, 2003).
2.8.1 VNETLAB uma ferramenta de ensino de redes de computadores utilizando técnicas
de virtualização
O VNETLAB, conforme os autores Cemim e Vieira (2010) descrevem, é uma
ferramenta que visa auxiliar no ensino a rede de computadores. Ela é integrada a virtualização
e permite ao usuário “criar, executar e analisar os mais diversos cenários que podem ser
encontrados em uma rede de computadores” (CEMIM; VIEIRA, 2010, p.32). O VNETLAB
foi desenvolvido em JAVA, integrado ao VirtualBox da Oracle, é multiplataforma e possui
como pré-requisitos apenas que o equipamento tenha suporte a Java e ao VirtualBox, espaço
de armazenamento mínimo de 312MB(Megabyte) e 78MiB (Mebibyte) de memória RAM
37
(Random Access Memory) para a execução da ferramenta. No entanto, esses recursos tendem
a aumentar de acordo com a quantidade de objetos inseridos à topologia.
A ferramenta fornece ao usuário uma interface gráfica, conforme a Figura 10, o mesmo
pode criar uma topologia de rede selecionando os objetos a serem inseridos e os arrastando até
o painel central. Da mesma forma como os objetos podem ser inseridos, estes podem ser
movidos, excluídos e conectados. Os objetos que podem ser inseridos são: computadores,
switches, roteadores e servidores.
Figura 10 - A interface gráfica do VNETLAB
Fonte: Cemim e Vieira (2010, p. 38).
A ferramenta faz uso de virtualização para a simulação da topologia. Cada computador
e servidor inserido na topologia é na verdade uma máquina virtual executando uma mini
distribuição GNU/Linux. Enquanto que o switch é criado apenas logicamente, o roteador é
uma emulação sendo executada de dentro de uma máquina virtual com a GNU/Linux. Cemim
e Vieira (2010) ressaltam que essa característica do switch faz com que a conexão entre dois
switches não seja permitida dentro do VNETLAB.
As configurações e informações dos equipamentos podem ser inseridas e visualizadas
através de um painel lateral que é exibido quando clicado sobre um objeto inserido. A
ferramenta possibilita salvar, abrir e editar um projeto já iniciado. Ele permite ainda que as
máquinas virtuais criadas sejam salvas de modo físico, em formato de template para que
sejam utilizadas em uma aplicação do mundo real.
38
Segundo Cemim e Vieira (2010), o VNETLAB tem como vantagem mais significante
o fato de ser possível executar diferentes cenários. Os quais segundo ele, não são suportados
por ferramentas similares que utilizam da técnica de simulação por ferramenta, como a
criação e utilização de agentes SNMP (Simple Network Management Protocol) por exemplo.
Entretanto, uma desvantagem clara e uma característica conhecida das ferramentas que
utilizam a técnica de virtualização, que é onde o VNTELAB se encaixa é que exigem
quantidade maior de recursos computacionais. A depender do Sistema Operacional utilizado
na máquina virtual, pode fazer com que o espaço em disco e o consumo de memória RAM
cresçam a níveis elevados.
2.8.2 LVR – Laboratório virtual de redes - protótipo para auxílio ao aprendizado em
disciplinas de redes de computadores
Para Pinheiro e Ribeiro Filho (2005, p. 83), o LVR é “[...] um protótipo de aplicação
que permite, através de uma Interface Gráfica de Usuário, GUI, a configuração e testes em
uma rede virtual de computadores.” Ela foi desenvolvida totalmente em linguagem JAVA
com a utilização de APIs existentes. Isso faz com que o mesmo seja multiplataforma, sendo
apenas necessário que o computador no qual será executado o software conte com suporte ao
JAVA e acesso à internet para uma experiência completa.
A ferramenta faz uso de recursos de realidade virtual para uma maior imersão do
usuário com o ambiente, a qual reproduz a mesma estrutura de um laboratório de Sistemas de
Informação existente no campus de Santarém na Universidade Federal do Pará, conforme
pode ser visto na Figura 11. A navegação pelo ambiente é realizada utilizando-se as setas do
teclado e do mouse. O fato de o mesmo integrar os comandos através de menus da interface
gráfica ao ambiente virtual, faz com que o mesmo não necessite de dispositivos de entrada e
saída extras, como luvas e capacetes HMD para acessar as configurações dos equipamentos
(PINHEIRO; RIBEIRO FILHO, 2005).
39
Figura 11 – LVR – Laboratório Virtual de Redes
Fonte: Pinheiro e Ribeiro Filho (2005, p. 88).
A configuração dos equipamentos é realizada acessando os mesmos através de menus
presentes na interface. Os equipamentos presentes na sala virtual podem ser configurados e
testados, estando limitados a dois tipos: computadores e roteador. O roteador possui
implementado um total de cinco interfaces, sendo que quatro são conectadas ao ambiente
virtual e uma ao mundo real. Esta característica possibilita que se tenha até quatro sub-redes
configuradas no ambiente. Por ser a reprodução de um modelo real, o LVR não permite a
adição de novos equipamentos. Mas a ferramenta possibilita que as configurações realizadas
nos equipamentos sejam salvas, para que posteriormente possam ser carregadas e editadas
caso desejado (PINHEIRO; RIBEIRO FILHO, 2005, p. 87).
O LVR traz um conceito interessante ao usuário, do contato com uma estrutura
presente na maioria dos laboratórios de rede ainda que limitado o número de equipamentos e
as possibilidades de configurações fornecidas por eles. Esse contato mostra-se de grande valia
para uma primeira interação com essas tecnologias que no mundo real podem significar a
necessidade de alto investimento orçamentário. Os resultados obtidos com a ferramenta
conforme Pinheiro e Ribeiro Filho (2005), foram satisfatórios. Os alunos que realizaram os
testes apresentaram boa receptividade ao ambiente, melhorando a qualidade e a confiabilidade
do esquema de ensino/aprendizado utilizado. Uma vantagem citada pelo autor é a
possibilidade de interligação do ambiente virtual com o mundo real, já como desvantagem
40
ainda que não mencionada a limitação a um único ambiente com um número muito reduzido
de equipamentos sem a possibilidade da expansão.
2.8.3 Protótipo de ferramenta de apoio ao treinamento na construção de rede de
computadores
Souza (2003, p.52) define seu protótipo como sendo uma ferramenta que visa “[...]
auxiliar os alunos do curso técnico a projetar redes de computadores dentro de uma análise
interativa e funcional baseada em conceitos e padrões previstos nas normas técnicas
utilizando recurso computacional”. Ele permite ao aluno criar topologias de rede, conhecer os
dispositivos utilizados e participar de avaliações por meio de questionários presentes na
ferramenta. Foi desenvolvida em Object Pascal e implementada na IDE (Integrated
Development Enviroment) Delphi 5 integrado ao Macromedia Flash MX para a criação das
animações e imagens (SOUZA, 2003, p. 60). A ferramenta é limitada ao ambiente Windows
devido à compatibilidade da linguagem de programação.
O usuário tem a possibilidade de escolher no momento da inicialização o que deseja
fazer, que pode ser acessar um tipo de apresentação sobre assuntos abordados na disciplina de
redes de computadores. Posteriormente ele pode realizar um questionário para testar os
conhecimentos adquiridos ou acessar diretamente a ferramenta de criação de topologia de
redes que é fornecida através de uma interface gráfica, conforme pode-se ver na Figura 12. Na
área de edição o usuário pode inserir os objetos, movê-los, conectá-los ou exclui-los. Os
objetos que podem ser inseridos são: computadores, switches, roteadores e hubs. (SOUZA,
2003, p. 63)
41
Figura 12 - A interface gráfica do protótipo
Fonte: Souza (2003, p. 64).
Todos os equipamentos inseridos podem ter suas características e configurações
editadas ou exibidas conforme a necessidade, embora as possibilidades de configurações
sejam de certa forma mais simples e genéricas. As configurações por padrão são inseridas no
momento em que o objeto selecionado é inserido na área de edição. Os resultados segundo
Souza (2003), tiveram seus objetivos alcançados, gerando uma experiência muito produtiva
quando submetida a testes com alunos. Estes passaram a demonstrar maior interesse por
poderem praticar os conhecimentos adquiridos em aulas teóricas.
A principal vantagem da ferramenta é possuir um ambiente que possibilite ao aluno
estudar e testar os conhecimentos adquiridos de assuntos relacionados a redes de
computadores. Uma desvantagem da ferramenta é que ela não dispõe de simulações, testes e
animações que possam evidenciar o funcionamento da estrutura criada e permite que algumas
características sejam atribuídas manualmente o que poderia gerar a existência de um
equipamento em desconformidade com o mundo real.
42
3 DESENVOLVIMENTO DA FERRAMENTA
Neste capítulo serão apresentadas todas as etapas relacionadas ao desenvolvimento da
ferramenta. A seção 3.1 aborda o levantamento dos requisitos da ferramenta. Na seção 3.2
estão relatados a forma como os requisitos encontram-se especificados em conjunto com seus
casos de uso para que possam auxiliar no processo de implementação. Na seção 3.3 encontra-
se um detalhamento das técnicas e ferramentas utilizadas bem como a operacionalidade da
implementação. Finalizando com a seção 3.4 que apresenta as discussões em torno da
ferramenta desenvolvida e trabalhos correlatos e a análise de resultados obtidos por testes
realizados para validação das funcionalidades.
3.1 REQUISITOS
Diante das dificuldades relatadas por docentes em ministrar aulas em que o conteúdo é
demasiadamente técnico e muitas vezes com baixa disponibilidade de laboratórios, ou ainda
com laboratórios carentes de uma quantidade significativa de equipamentos como pode-se
verificar na seção 2.6, surgiu a oportunidade de desenvolver uma ferramenta que pudesse
auxiliar no ensino da disciplina.
Com base nas dinâmicas ofertadas durantes as aulas de Prática em redes de
computadores na Fundação Universidade Regional de Blumenau (FURB) sobre a
configuração de roteadores, foi possível identificar alguns dos requisitos que deveriam ser
contemplados pela ferramenta, que tem como objetivo tornar mais ativa a participação dos
alunos e possibilitar a avaliação por parte do professor.
A seguir são apontados os Requisitos Funcionais que foram especificados para o
Switcher:
a) o sistema deverá permitir a abertura de um novo trabalho;
b) o sistema deverá permitir carregar um arquivo que tenha sido salvo anteriormente;
c) o sistema deverá permitir editar um arquivo que tenha sido salvo anteriormente;
d) o sistema deverá permitir salvar em um arquivo a topologia criada na sua área de
trabalho;
e) o sistema deverá permitir alternar entre modos que facilitem a manipulação e
ações sobre os nodos;
f) o sistema deverá permitir a seleção do tipo de nodo a ser inserido;
g) o sistema deverá permitir colocar a topologia em modo de execução;
h) o sistema deverá permitir a inserção de nodos, que representam equipamentos, em
sua área de trabalho;
43
i) o sistema deverá permitir arrastar os nodos pela sua área de trabalho;
j) o sistema deverá permitir remover os nodos da sua área de trabalho;
k) o sistema deverá permitir conectar nodos através de uma linha;
l) o sistema deverá permitir escolher a porta que será realizada a conexão quando o
nodo representar um switch;
m) o sistema deverá permitir remover uma conexão entre os nodos;
n) o sistema deverá permitir atribuir configurações aos equipamentos representados
pelos nodos em tela de acordo com o equipamento selecionado;
o) o sistema deverá permitir a criação de VLANs nos nodos que representem os
switches;
p) o sistema deverá permitir atribuir VLANs a portas do switch;
q) o sistema deverá exibir informações básicas sobre os equipamentos representados
pelos nodos em tela ao passar o mouse sobre o mesmo;
r) o sistema deverá exibir informações sobre as portas dos nodos que representam um
switch ao passar o mouse sobre o mesmo;
s) o sistema deverá permitir simular a topologia criada a fim de validar se as
configurações inseridas pelo usuário estão corretas;
t) o sistema deverá exibir uma animação para mostrar ao usuário que todas as
configurações estão corretas ou emitir um aviso caso contrário;
u) o sistema deverá permitir gerar relatórios textuais e gráfico a partir do ambiente
criado, que possibilite a avaliação ou a replicação do cenário em um ambiente real.
A seguir os Requisitos Não Funcionais (RNF) que foram especificados para o
Switcher:
a) o sistema deverá ser multiplataforma (independente de Sistema Operacional);
a) o sistema deverá ser para plataforma desktop;
b) o sistema deverá ser desenvolvido em JAVA com a utilização da API JavaFX;
c) o sistema deverá exibir a interface gráfica corretamente e se comportar
adequadamente respeitando uma resolução mínima de 1024 x 768 pixels.
3.2 ESPECIFICAÇÃO
Esta seção apresenta a especificação do desenvolvimento realizado, onde constam: o
Diagrama de Casos de Uso (DCU), a rastreabilidade entre os Requisitos Funcionais e os
Casos de Uso, o Diagrama de Classes do domínio.
44
3.2.1 Diagrama de Casos de Uso
O DCU apresentado é composto por 7 casos de uso e um ator, que é o usuário da
ferramenta. O UC01: Trabalhar com arquivos permite que o usuário crie um novo espaço
de trabalho, carregue um trabalho, o edite a partir de um trabalho salvo anteriormente além de
salvar o trabalho atual.
Para o usuário realizar qualquer operação de manipulação sobre os nodos, como
adição, exclusão, conexão, movimentação e atribuição de informações o usuário precisa
obrigatoriamente definir o estado que corresponda a função desejada, que é representado pelo
UC02: Gerenciar de estados. As operações que estão relacionadas diretamente aos nodos
e permitem ao usuário adicionar, remover, arrastar e exibir informações sobre os nodos são
representados pelo UC03: Manipular nodos.
As operações relacionadas a conexão que permitem ao usuário realizar uma conexão
entre dois nodos, definir as portas onde a conexão será realizada no caso dos switches e
remover essas conexões são representadas pelo UC04: Manipular relacionamento entre
nodos. As operações relacionadas à atribuição de configurações aos nodos que permitem ao
usuário atribuir informações, criar VLANs e atribuir essas VLANs às portas do switch são
representadas pelo UC05: Atribuir informações.
O UC06: Gerar uma simulação permite que o usuário realize simulações de alcance
para validar se as configurações aplicadas estão corretas, e mostram se há um caminho válido
de um nodo origem a um nodo destino. O UC07: Gerar relatório permite ao usuário gerar
um relatório com base nas configurações por ele aplicadas aos nodos do tipo switch contendo
uma ilustração da topologia e os códigos necessários para se replicar as configurações num
ambiente real através de linha de comando, ou ser utilizado para avaliação em uma atividade
ministrada. Este digrama está representado pela Figura 13, como pode-se verificar a seguir.
45
Figura 13 – Diagrama de Casos de Uso
Fonte: elaborado pelo autor.
3.2.2 Matriz de rastreabilidade entre Requisitos Funcionais e os Casos de Uso
O Quadro 1 descreve os Requisitos Funcionais e sua associação com os casos de Usos,
que são detalhados na Figura 13.
46
Quadro 1 – Rastreabilidade entre casos de uso e requisitos funcionais
REQUISITOS FUNCIONAIS
CASO
DE
USO
RF01: O sistema deverá permitir a abertura de um novo trabalho. UC01
RF02: O sistema deverá permitir carregar um arquivo que tenha sido salvo anteriormente. UC01
RF03: O sistema deverá permitir editar um arquivo que tenha sido salvo anteriormente. UC01
RF04: O sistema deverá permitir salvar em um arquivo, a topologia criada na sua área de
trabalho. UC01
RF05: O sistema deverá permitir alternar entre modos que facilitem a manipulação e ações
sobre os nodos UC02
RF06: O sistema deverá permitir a seleção do tipo de nodo a ser inserido. UC02
RF07: O sistema deverá permitir colocar a topologia em modo de execução. UC02
RF08: O sistema deverá permitir a inserção de nodos, que representam equipamentos em
sua área de trabalho. UC03
RF09: O sistema deverá permitir arrastar os nodos pela sua área de trabalho. UC03
RF10: O sistema deverá permitir remover os nodos da sua área de trabalho. UC03
RF11: O sistema deverá permitir conectar nodos através de uma linha. UC04
RF12: O sistema deverá permitir escolher a porta que será realizado a conexão quando o
nodo representar um switch. UC04
RF13: O sistema deverá permitir remover uma conexão entre os nodos. UC04
RF14: O sistema deverá permitir atribuir configurações aos equipamentos representados
pelos nodos em tela de acordo com o equipamento selecionado. UC05
RF15: O sistema deverá permitir a criação de VLANs nos nodos que representem os
switches. UC05
RF16: O sistema deverá permitir atribuir VLANs a portas do switch. UC05
RF17: O sistema deverá exibir informações básicas sobre os equipamentos representados
pelos nodos em tela ao passar o mouse sobre o mesmo. UC03
RF18: O sistema deverá exibir informações sobre as portas dos nodos que representam um
switch ao passar o mouse sobre o mesmo. UC03
RF19: O sistema deverá permitir simular a topologia criada a fim de validar se as
configurações inseridas pelo usuário estão corretas. UC06
RF20: O sistema deverá exibir uma animação para mostrar ao usuário que todas as
configurações estão corretas ou emitir um aviso caso contrário. UC06
RF21: O sistema deverá permitir gerar relatórios textuais e gráfico a partir do ambiente
criado, que possibilite a avaliação ou a replicação do cenário em um ambiente real. UC07
Fonte: elaborado pelo autor.
3.2.3 Diagrama de classes
Na Figura 14 é apresentado o diagrama de classes do Switcher, que demonstra como as
classes da ferramenta se relacionam. Essas classes estão divididas em 2 pacotes: swModel e
swControler onde estão localizadas as classes modelo e os controllers que fazem a
intermediação da comunicação das views com os modelos. Algumas das classes controllers
foram abstraídas no diagrama de classes pois possuem a mesma estrutura que outros
controllers já apresentados.
47
Figura 14 – Diagrama de classe do Switcher
Fonte: elaborado pelo autor.
3.2.3.1 Pacote swModel
O pacote swModel é composto pelas classes modelo do Switcher, essas classes são
explicadas e melhor detalhadas a seguir:
A classe Equipamento é uma das mais importantes do Switcher, nelas são
armazenadas as informações dos equipamentos que são geradas na criação ou na configuração
como: o id que é também o endereço MAC, o nome, o IP, a máscara de sub rede, o gateway
padrão, o predecessor, o caminho para a imagem que representa o objeto escolhido, a posição
X e a posição Y do objeto em relação a área de edição, a lista dos vizinhos do objeto, uma
lista de VLANs e um vetor de portas de tamanho 28 que são utilizados pelos objetos do tipo
switch, um vetor de portas de tamanho 8 que é utilizado pelos objetos do tipo hub.
A classe PortaEquipamentos representa uma porta específica existente em um
equipamento origem e armazena as informações como: se há um equipamento destino
48
conectado a ela, o tipo, o id e o número da porta do equipamento destino que está conectado a
ela, assim como uma lista de todas as VLANs que são atribuídas a esta porta.
A classe Vlan representa uma VLAN específica e armazena as informações como: o
nome, o id e o modo como será atribuído a uma determinada porta que pode ser taggedVlan,
unTaggedVlan e notAMemberVlan. Nela está implementado o método igual que recebe uma
VLAN como parâmetro e define quando uma VLAN é igual a outra.
3.2.3.2 Pacote swControler
O pacote swControler é composto pelas classes controllers do Switcher, essas classes
são explicadas e melhor detalhadas a seguir:
A classe Animacao armazena um equipamento origem e um destino juntamente com
uma lista de lista de transições.
A classe AnimationControl é a classe responsável pela animação em tela que retrata
se um caminho de um equipamento de origem até um caminho de destino é válido, ela é
composta por uma lista de Equipamento e uma lista de Animacao.
Nela está implementado o método dfs que recebe como parâmetro uma lista de
equipamentos e um equipamento que é a origem informada pelo usuário. No início da
execução do método todos os objetos da lista de equipamentos são marcados como um objeto
não visitado e tem seu predecessor zerado. Após essa etapa, a partir do objeto informado pelo
usuário o predecessor é definido, a marcação visited é realizada para cada objeto com base
na lista de vizinhos de cada um. Com isso todos os equipamentos alcançáveis a partir da
origem são definidos também, e a lista de equipamento é preenchida com esses dados
adicionais.
Com base no resultado obtido através do método dfs o método retornaCaminho que
recebe como parâmetro dois equipamentos, uma origem e um destino realiza uma busca sobre
a nova lista de equipamentos buscando pelo predecessor de cada objeto, aplica a animação e a
inicia ao final.
Os métodos gerarPercurso e gerarPercursoTransicao definem os atributos
necessários para realizar a execução do método PathTransition que é um recurso próprio do
JavaFX.
O método apllyAnimation que recebe como parâmetro uma Pane, o equipamento de
origem e o de destino é o responsável por deixar todo o conjunto de funções prontas para que
a animação possa ser executada, diferenciando a animação no caso do equipamento de origem
for do tipo hub e adicionando cada estágio origem-destino a lista de animação que antes de ser
49
executada no método iniciaAnimacoes realizará todas as validações através do método
isEquipamentosComunicaveis para garantir que as configurações atribuídas quanto as
VLANs permitam ou barrem a execução da animação.
As classes CompControl, PhoneControl e PrinterControl são responsáveis por
realizar a integração da classe modelo com as views correspondentes. É através dessas classes
que o modelo equipamento recebe a id, o nome, a mascara de subrede, o ip e o gateway
informados pelo usuário.
A classe ConectViewControl é responsável pela conexão de equipamentos do tipo
switch com base no número da porta selecionada pelo usuário.
A classe MainControl, é responsável por toda a iteração do usuário com a view
principal da ferramenta, ela é composta por uma lista de equipamentos que são inseridos na
topologia, e demais variáveis de controle. Nela estão implementados todos os métodos de
ação que são acionados pela interface da ferramenta como:
Método onAbrirOptionClicked que é responsável por abrir um projeto salvo,
realizando a verificação e informando o usuário caso haja alguma topologia na área de edição,
dando-lhe a opção de salva-lo ou descarta-lo.
Método aprendaMaisMenuAction é responsável por realizar a integração entre a view
principal e a view correspondente.
Método generateObjectsFromFile é responsável por carregar o arquivo salvo. Para
os desenhos dos equipamentos em tela faz uso do método criaObjetoEmTela que utiliza das
informações que foram atribuídas a classe modelo como as posições X e Y e para determinar
as conexões entre eles utiliza da lista de vizinhos.
Método reportButtonAction é responsável pela geração dos relatórios, estes são
salvos em formato PDF com o auxílio da biblioteca iTEXTPDF.
Método playButtonAction responsável por atribuir as informações de entrada do
usuário para execução das animações.
Método randomMACAddress é responsável pela geração do endereço MAC que será
utilizado como ID dos equipamentos.
A classe NodeControl é responsável por todas as ações realizadas sobre os nodos,
como a criação/inserção do objeto na tela e demais manipulações. Ela é constituída por várias
variáveis de controle que auxilia na manipulação dos nodos e os métodos que são
implementados nela são:
50
Método criarItem é responsável pela criação do objeto em tela, assim como a
atribuição de uma imagem e um ID que o representem. Para isso ela recebe como parâmetro
as coordenadas x e y obtidas através do click do mouse na área de edição, o caminho da
imagem que representa o objeto selecionado, o endereço MAC, gerado randomicamente e um
nome. O equipamento criado é definido com base no caminho que é informado.
Método manipulaItem é responsável por sobre todas as demais ações sobre o nodo
baseado em um evento de mouse. Essas ações podem ser desde zoom aplicado ao passar o
mouse sobre o nodo, conectar um nodo ao outro que utiliza do método conectarItem pra
realizar a operação, excluir, atualizar as coordenadas com base no arrasto do objeto, ou até
mesmo abrir a view de configurações dos equipamentos.
A classe PathTransitionAction é responsável pela sequência de transições
realizadas durante a animação, ela se encarrega de iniciar cada transição de um nó para outro
na ordem e no momento correto.
A classe SwitchControlé responsável por realizar a integração da classe modelo com
a view correspondente. É através dessa classe que o modelo equipamento recebe a id, o nome,
a máscara de subrede, o ip, o gateway informado pelo usuário, além de realizar a criação das
VLANs e a atribuição das mesmas as portas selecionadas.
A classe ValidaCampos é responsável por todas as validações de campos existentes na
ferramenta, como campos vazios ou uso incorreto de tipos de dados.
3.3 IMPLEMENTAÇÃO
A seguir são mostradas as técnicas e ferramentas utilizadas para o desenvolvimento da
ferramenta e a operacionalidade da implementação que detalha como ela é manuseada pelo
lado do usuário para se conseguir utilizar os principais recursos disponibilizados.
3.3.1 Técnicas e ferramentas utilizadas
Quanto à implementação o Switcher foi desenvolvido na linguagem Java utilizando-se
da API JavaFX. A IDE utilizada foi o Netbeans por ter fácil integração com Scene Builder,
utilizado como facilitador na construção das views da ferramenta. O padrão adotado foi o
MVC (Model-view-controller) tendo assim gerado a estrutura dos arquivos conforme a Figura
15 na qual é possível ver também as bibliotecas que foram utilizadas.
51
Figura 15 – Estrutura do Switcher
Fonte: elaborado pelo autor.
Composto por 4 pacotes, swControler. swModel, swView e appIcons, conforme já
mencionado na seção 3.2.3, dois deles swModel e swController onde estão localizadas as
classes modelo e os controllers que além de intermediarem a comunicação entre as views que
se encontram na pacote swView, são responsáveis também pelas ações que envolvem a
animação e manipulação dos nodos que são componentes essenciais da ferramenta. O último
pacote mantém as imagens que são utilizadas para representar os equipamentos em tela,
ícones, etc.
Dentre todos os métodos presentes no Switcher, pode-se destacar dois deles que são
responsáveis por definir se há um caminho válido entre um nodo A e um nodo B e retorná-lo
para que seja possível realizar a animação, a qual demonstra visualmente qual é esse caminho
ao usuário. O método dfs realiza a busca a partir do nodo informado pelo usuário como ponto
de origem, e gera um novo grafo adicionando a cada nodo qual o predecessor dele com base
no endereço MAC dos seus vizinhos durante o percorrimento. Já o método retornaCaminho
retorna o caminho do ponto de origem até o ponto de destino que foram informados pelo
usuário e dá início à animação caso as configurações realizadas pelo usuário nos
equipamentos determinem que aquele é um caminho válido considerando-se também as
VLANs. Os dois métodos utilizados são encontrados em swControler.animationControl,
e podem ser vistos no Quadro 2 e no Quadro 3 respectivamente.
52
Quadro 2 – Método dfs
Fonte: elaborado pelo autor.
Quadro 3 – Método retornaCaminho
Fonte: elaborado pelo autor.
Através da API do JavaFX foi possível criar toda a estrutura do Switcher, bem como as
próprias animações que são realizadas utilizando o recurso transitions. A arquitetura do
JavaFX é composta por diversos componentes e funcionalidades que contemplam gráficos,
animações e recursos multimídia como pode se verificar na Figura 16.
53
Figura 16 - Arquitetura do JavaFX
Fonte: Oracle (2013, p. 7).
Conforme pode-se verificar na Figura 16 os níveis mais próximos ao usuário estão
localizados mais acima, e as bibliotecas de renderização: Java 2D, OpenGL e D3D estão
localizadas mais abaixo, próximas à JVM.
O gráfico de cena do JavaFX, mostrado como parte da camada superior na Figura
16, é o ponto de partida para a construção de um aplicativo JavaFX. É uma árvore
hierárquica de nós que representa todos os elementos visuais da interface do usuário
do aplicativo. Ele pode manipular entrada e pode ser processado. Um único
elemento em um gráfico de cena é chamado de nó. Cada nó tem um ID, uma classe
de estilo e um volume delimitador. Com exceção do nó raiz de um gráfico de cena,
cada nó em um gráfico de cena tem um único pai e zero ou mais filhos (Oracle,
2013).
O JavaFX é capaz de realizar animações de forma fluida sem a necessidade de cálculos
complexos, deixando a cargo do desenvolvedor apenas capturar as coordenadas x e y dos
nodos que são inseridos em tela e armazená-los no modelo para que seja possível utilizá-lo
posteriormente. Todas as ações realizadas sobre os nodos que são inseridos em tela são
baseadas em eventos do mouse e possuem como referência o ID do nodo para se relacionar
com o modelo, além disso eles possuem a posição onde são armazenados na árvore. Estes
eventos estão implementados na classe nodeControl e para o Switcher, como a ferramenta
trata especificamente de elementos de redes de computadores, foi definido como ID o
endereço MAC de cada equipamento, que é capturado toda vez que o mouse passa sobre o
nodo conforme pode-se verificar no Quadro 4.
Quadro 4 - Captura da posição do nodo na árvore
Fonte: elaborado pelo autor.
As demais bibliotecas que foram utilizadas são: o Gson que foi utilizada para salvar os
trabalhos já iniciados, o iTextPDF que auxilia na geração e gravação de um arquivo em
formato PDF. A biblioteca JFoenix que traz novos componentes de tela, alinhados com os
54
padrões mais atuais possuem alguns componentes que acabaram dificultando um pouco a
utilização da ferramenta, para o propósito ofertado não trouxe algum ganho que seja
significante.
3.3.2 Operacionalidade da implementação
Nesta subsecção será realizada uma apresentação sobre o funcionamento da ferramenta
através de telas que foram desenvolvidas para atender as necessidades do Switcher e
contemplam suas principais funcionalidades. A primeira tela que é aberta ao usuário executar
a ferramenta é a interface principal do Switcher conforme pode ser verificado na Figura 17.
Figura 17 – Interface gráfica do Switcher
Fonte: elaborado pelo autor.
A interface do programa é dividida em 4 partes principais: a primeira parte identificada
é constituída por um menu horizontal contendo algumas funcionalidades básicas que
permitem ao usuário abrir, salvar ou carregar um arquivo que eventualmente tenha sido salvo.
Ao acessar o menu Opções, selecionar a opção Aprenda mais do sub-menu, o usuário
poderá se inteirar sobre os principais equipamentos que são abordados na ferramenta através
de slides que mostram como eles funcionam, suas principais características e demais
configurações, baseado na literatura consultada. Para continuar a leitura de outro tema basta
que o usuário clique sobre o botão avançar, ou retroceder caso deseje rever o conteúdo,
conforme pode-se verificar na Figura 18.
55
Figura 18 – Slide de apresentação dos equipamentos
Fonte: elaborado pelo autor.
A segunda parte é constituído por um menu vertical localizado à esquerda contendo
botões que gerenciam as principais funcionalidades da ferramenta. As opções que estão
dispostas nesse menu em ordem sequencial são:
a) habilitar a edição, o que possibilita o usuário realizar a inserção de nodos na tela
de edição;
b) habilitar a exclusão, o que possibilita o usuário realizar a exclusão de nodos que
foram previamente inseridos;
c) habilitar a conexão de nodos;
d) habilitar o modo de configuração dos equipamentos;
e) realizar testes de conexão entre equipamentos;
f) salvar o trabalho;
g) gerar um relatório contendo as informações dos equipamentos que foram inseridos,
conectados e configurados na tela de edição.
56
A terceira parte é constituída também por um menu vertical que está localizado à
direita contendo os botões que representam os equipamentos que podem ser inseridos pelo
usuário na área de edição, os equipamentos disponíveis para inserção são:
a) computador;
b) impressora;
c) ip-phone;
d) switch;
e) hb.
A quarta parte é a própria área de edição, onde o usuário realiza toda a criação da
topologia como a inserção, movimentação, conexão, remoção e configuração dos nodos que
representam os equipamentos. Todas essas segmentações podem ser verificadas na Figura 19,
seguindo a sua marcação conforme abaixo:
a) barra de menus;
b) menu de funcionalidades;
c) área de edição;
d) menu de equipamentos.
Figura 19 - Divisão dos componentes do Switcher
Fonte: elaborado pelo autor.
Iniciada a ferramenta, o usuário já pode começar a criação de topologias de rede.
Primeiramente, através da inserção dos nodos em sua área de edição, por padrão o menu de
equipamentos vem desativado, isso por que, sempre que o usuário desejar realizar uma
57
operação dessa natureza ele deve obrigatoriamente habilitar o modo de edição através do
primeiro botão localizado no menu de funcionalidades.
Habilitado o modo de edição, o usuário pode escolher o nodo que representa o
equipamento que deseja inserir na área de edição do Switcher clicando sobre ele, uma vez que
o equipamento tenha sido selecionado ele pode ser inserido quantas vezes desejar
simplesmente clicando na área de edição e ele será inserido exatamente na posição em que o
clique do mouse foi realizado. Caso se queira que o nodo que foi inserido seja mudado de
local, basta clicar sobre ele, arrastá-lo e soltá-lo na posição desejada. Para realizar a inserção
de um outro tipo de equipamento o usuário obrigatoriamente precisa selecioná-lo no menu de
equipamentos.
Para excluir um nodo da área de edição o usuário precisa habilitar o modo de exclusão
clicando sobre o segundo botão disponível no menu de funcionalidades e logo após clicar
sobre o nodo que deseja que seja excluído. Podem ser excluídos tanto os nodos que
representam algum equipamento como também as linhas que representam as conexões entre
os nodos quando estas existirem.
Para realizar a conexão entre equipamentos o usuário precisa habilitar o modo de
conexão localizado no menu de funcionalidades, é o quarto botão do menu. Há uma pequena
diferença na conexão entre alguns dos equipamentos: para os nodos que representam
equipamentos de fim de linha como computadores, impressoras, e ip-phones e mesmo o hub
que não faz parte desse grupo não há qualquer diferença com exceção do limite de conexões,
oito para o hub e uma apenas para os demais.
Para conectá-los a outros equipamentos basta que com o modo de conexão habilitado,
o usuário clique sobre o primeiro nodo e logo após clique sobre o segundo nodo. Essa ação irá
criar uma linha entre os equipamentos realizando a conexão. Quando a conexão é realizada
entre um equipamento de fim de linha ou um hub com um equipamento do tipo switch no
entanto existe uma diferença, no switch antes da conexão ser estabelecida deve-se selecionar a
porta do switch ao qual o outro equipamento será conectado. Para isso uma tela de seleção é
exibida próxima ao switch selecionado para conexão que conforme pode ser visto na Figura
20, somente após a porta ter sido selecionada que a linha será inserida.
58
Figura 20 - Exemplificação da conexão de um equipamento a um switch
Fonte: elaborado pelo autor.
Realizada a conexão entre os equipamentos, o usuário pode então iniciar a
configuração dos mesmos. Para realizar a configuração dos equipamentos, o usuário deverá
habilitar o modo de configuração através do quarto botão localizado no menu de
funcionalidades, logo após clicar sobre o equipamento inserido em sua área de edição que
deseja configurar. Ao realizar essa operação uma tela de configuração será exibida de acordo
com o equipamento selecionado.
Para os equipamentos de fim de linha todas as configurações possíveis são as mesmas.
O usuário pode inserir um nome, um número IP, uma máscara de sub rede e um gateway
padrão. Na mesma tela ainda está disponível o endereço MAC do equipamento, este
juntamente com um nome é atribuído no momento em que o equipamento é criado/inserido na
topologia. Más diferentemente do nome ele não pode ser alterado pelo usuário, conforme
pode ser visto na Figura 21.
59
Figura 21 - Interface de configuração do PC
Fonte: elaborado pelo autor.
Todas as configurações disponíveis para os computadores, impressoras, hubs e ip
phones, estão disponíveis na tela de configuração do switch com a diferença da existência de
2 abas adicionais que permitem ao usuário criar e atribuir VLANS a cada uma das portas do
switch.
Inicialmente o usuário deverá criar as VLANs que desejar, após a definição do id e da
descrição da VLAN ele deverá salvá-la, e repetir esse procedimento para cada uma das
VLANs que for criada. Feito isso a VLAN é listada pelo id na aba de atribuição de VLANs.
Essa etapa é constituída de algumas diferenças quanto ao modo que é habilitado na porta.
Para definir uma porta como modo de acesso o usuário precisará selecionar a VLAN
desejada na lista, logo após marcar as portas que deseja que sejam atribuídas, marcar a opção
unTAGGED, e clicar em salvar, não necessariamente seguindo uma ordem. Para definir uma
porta como modo de tronco, o usuário não precisa escolher qualquer VLAN na lista, ele
apenas precisa escolher a porta que deseja que seja configurada dessa forma, marcar a opção
TAGGED e clicar em salvar.
Existe ainda um terceiro modo, o Não MEMBRO, que tem efeito apenas sobre portas que
foram setadas como tronco, e tem como função remover uma VLAN especifica do tronco.
Para realizar essa operação o usuário deverá selecionar a porta que foi definida como tronco
em um momento anterior, selecionar a VLAN que deseja remover na lista de VLANs, marcar
a opção Não MEMBRO e clicar em salvar. Todas essas opções podem ser verificadas na Figura
22.
60
Figura 22 - Modo de atribuição de VLANs
Fonte: elaborado pelo autor.
Feitas as configurações pode-se validar se as mesmas estão corretas através do modo
de simulação que gera uma animação de um ponto A para um ponto B, para isso o usuário
deve inserir o id de um equipamento de origem e de destino localizados no menu de
funcionalidades logo abaixo do quinto botão, que é responsável por inicializar a animação
para verificar se há alguma comunicação entre os dois nodos. Para identificar o nome do
equipamento de origem e de destino que deseja testar, basta que o usuário passe o mouse por
sobre o nodo que representa o equipamento, quando as informações básicas serão exibidas
conforme pode se verificar na Figura 23.
Figura 23 - Informações exibidas pelo switch e equipamentos fim
Fonte: elaborado pelo autor.
61
Considere uma configuração exemplo com 2 switches, 1 hub e 9 dispositivos de fim de
linhas interconectados e configurados seguindo a seguinte linha:
SWITCH1:
a) porta 1 com VLAN10 e com o equipamento PC1 conectado;
b) porta 2 com VLAN20 e com o equipamento PC0 conectado;
c) porta 3 com VLAN30 e sem equipamento conectado;
d) porta 4 com VLAN40 e sem equipamento conectado;
e) porta 5 até a porta 27 sem VLANs e sem equipamentos conectados;
f) porta 28 como tronco, removida a VLAN20 desse tronco e com o equipamento
SWITCH0 conectado.
SWITCH0:
a) porta 1 com VLAN10 e com o equipamento HUB0 conectado;
b) porta 2 com VLAN20 – Equipamento conectado PC4;
c) porta 3 com VLAN30 e com o equipamento PC5;
d) porta 4 com VLAN40 e com o equipamento PC6;
e) porta 5 sem VLAN e com o equipamento PC7;
f) porta 6 até a porta 27 sem VLANs e sem equipamentos conectados;
g) porta 28 como tronco, removida a VLAN20 desse tronco e com o equipamento
SWITCH1 conectado.
HUB0:
a) PC2
b) PC3
c) PRINTER0
Seguindo esse cenário o resultado esperado da animação seria semelhante ao da Figura
24, na qual os círculos verdes demonstram o caminho válido dentre as configurações
aplicadas quando os dados trafegam de uma origem A para um destino B, no qual um dos
objetos é um switch. Quando um dos objetos passa por um HUB, há um comportamento
diferente, isso por que o HUB replica o dado recebido para todas as interfaces, fazendo com
que este chegue a todos os equipamentos, os quais os descartam por identificarem que este
dado não é direcionado a ele, esse comportamento pode ser verificado pelos círculos
vermelhos.
62
Figura 24 - Resultado esperado em uma simulação com uma configuração válida
Fonte: elaborado pelo autor.
Caso os resultados da animação sejam positivos o usuário pode por final gerar um
relatório sobre o projeto clicando sobre o último botão do menu de funcionalidades, nesse
relatório consta uma imagem da topologia desenvolvida, instruções de como se fazer o acesso
ao switch e como deverá ser realizada a configuração dos switches em um ambiente real
através de linhas de comando.
O relatório gerado foi focado em equipamentos Cisco, pela disponibilidade do mesmo
para realização dos testes durante o desenvolvimento, mas poderia se fazer facilmente a
adaptação para geração de comandos que pudessem ser utilizados em equipamentos de
marcas distintas. As configurações dos PCs e outros equipamentos de fim de linha foram
ignorados nos relatórios por se entender que não possuam qualquer complexidade e pelo fato
de gerar um relatório muito extenso quando realizada uma conexão com muitos
equipamentos.
Pode-se verificar nas Figura 25 e Figura 26 um exemplo do que consta do relatório
gerado baseado na configuração anterior. O relatório é gerado no formato PDF (Portable
Document Format) com o auxílio da biblioteca iTEXTPDF, nele foram incluídas também
linhas de código que mostram como configurar senhas de acesso por questões de boas práticas
e estar em linha com o mínimo que se pede no que se refere à configuração de switches.
63
Figura 25 - Composição de um relatório gerado no Switcher, primeira parte
Fonte: elaborado pelo autor.
64
Figura 26 - Composição de um relatório gerado no Switcher, segunda parte
Fonte: elaborado pelo autor.
3.4 ANÁLISE DOS RESULTADOS
Esta seção está dividida em outras duas subseções que tratam de:
a) seção 3.4.1: apresentar a comparação entre a ferramenta desenvolvido e os
trabalhos correlatos selecionados e apresentados na seção 2.8;
b) seção 3.4.2: apresentar aspectos quanto à validação da ferramenta e quanto ao
atendimento dos requisitos formulados para esse trabalho.
3.4.1 Comparação entre a ferramenta e os trabalhos correlatos
A partir do Quadro 5 pode-se constatar que a ferramenta desenvolvida foi capaz de
atender uma significativa parcela das principais funcionalidades apresentadas nos trabalhos
correlatos, com exceção às dicas de operação. Este apesar de trazer tooltips em praticamente
65
todos os botões, não se mostrou relevante para que pudesse dar como atendido este quesito.
Este se mostrou um fator significativo e provou isso durante a validação da ferramenta, como
poderá ser verificado na seção 3.4.2.
Quadro 5 - Principais características dos trabalhos correlatos em comparação ao trabalho Trabalhos
Carateristicas
Cemim e
Vieira (2010)
Pinheiro e
Ribeiro Filho
(2005)
Souza
(2003)
Switcher
Multiplataforma Sim Sim Não Sim
Criação do cenário Sim Não Sim Sim
Configurar os equipamentos Sim Sim Sim Sim
Testar o cenário Sim Sim Não Sim
Animações evidenciam o
funcionamento Não Não Não
Sim
Reproduzir as configurações no mundo
real Sim Não Não
Sim
Dicas de operação Não Não Não tooltips
Material para avaliação Não Não Sim Sim Fonte: elaborado pelo autor.
3.4.2 Validação da ferramenta quanto ao atendimento dos requisitos propostos
A validação da ferramenta ocorreu através de práticas elaboradas com três perfis
distintos de usuários, ambos com número limitados de envolvidos conforme relacionado
abaixo:
a) estudantes do Curso de Ciência da Computação, sem familiaridade com switches,
com instrução mínima passada aos mesmos sobre a operação da ferramenta;
b) usuários que não possuem qualquer relação com o tema e escolhidos de forma
aleatória, sem familiaridade com switches, com uma instrução mais adequada
repassada sobre a operação da ferramenta e uma breve explicação dos conceitos
envolvidos;
c) analistas de TI, com vasta familiaridade com switches, com instrução mínima
passadas aos mesmos sobre a operação da ferramenta.
No primeiro caso os testes foram realizados com uma turma de 4 pessoas, estudantes
do Curso de Ciência da Computação da Furb. Mas uma preparação ineficaz do material para
auxiliá-los na operação da ferramenta e limitações técnicas do equipamento multimídia
utilizado para a apresentação impediram que que uma explicação ou demonstração fosse
realizada de uma forma concisa. Isso foi um ponto chave por que impediu também que se
pudessem extrair verdadeiros resultados quanto ao uso da ferramenta em questão.
Mas apesar de não ter sido possível obter informações quanto ao funcionamento da
ferramenta e logo também o seu propósito, foi possível e motivou com base no conhecimento
66
do usuário sobre o assunto que é abordado por ela, que esta validação fosse realizada também
com outros perfis de usuário. No caso estes estudantes quando questionados sobre se tinham
alguma familiaridade com switches, seu funcionamento e sua interface de configuração
ambos, responderam que não a possuíam, então foi possível identificar nesse momento dois
pontos que poderiam ser melhor explorados para que se obtivesse resultados reais sobre o
funcionamento da mesma e sua aplicabilidade.
Para o segundo e o terceiro caso onde são abordados os perfis de usuários aleatórios e
analistas de TI, um questionário foi aplicado em forma de entrevista seguido da dinâmica
descrita para cada caso. O questionário realizado tem como base alguns modelos disponíveis
na web e foram adequados à necessidade de avaliação da ferramenta no que tange o proposto.
Como resposta foi utilizado um critério de escala no qual o usuário deveria escolher com base
na sua experiencia em relação ao uso da ferramenta.
Ao final foi solicitado que se apontasse as principais dificuldades e pontos que
poderiam ser revistos e melhorados no campo observações.
Perguntas realizadas aos usuários logo após a execução dos testes:
a) visibilidade da ferramenta: A ferramenta fornece um feedback adequado ao
usuário. Mantém o usuário informado do que está sendo executado;
b) compatibilidade da ferramenta com mundo real: ferramenta utiliza termos
familiares ao usuário, o processo de criação de topologias e configurações são
apresentados de forma natural;
c) consistência e mapeamento: o usuário sabendo quais são os objetivos da
ferramenta, consegue visualizar as opções de alcance para a criação e teste de um
cenário;
d) reconhecimento e memorização: a ferramenta apresenta as instruções visíveis de
fácil acesso quando buscadas, após o aprendizado sobre a utilização da ferramenta
a facilidade em realizar novas operações foi significante;
e) flexibilidade e eficiência de uso: possibilita o usuário utilizar a ferramenta
conforme a definição do cenário determinado;
f) design estético e minimalista: apresenta somente as informações que são
importantes e necessárias para a elaboração e teste de um cenário;
g) gerenciamento de erros: a ferramenta sinaliza as mensagens de erro de forma clara,
indicando o problema e sugerindo uma solução;
h) observações.
67
Na metodologia aplicada no segundo caso, um padrão foi estabelecido e seguido da
dinâmica que não foi possível se reproduzir no primeiro caso. Como os usuários foram
escolhidos de forma aleatória e estes não possuíam qualquer conhecimento sobre redes de
computadores, switches e sua função, como funcionam e o que fazem as VLANs, foram
apresentados aos mesmos de forma conceitual qual o seu papel e relação com a ferramenta.
Logo em seguida foi realizada uma demonstração de suas funcionalidades principais como a
inserção de nodos, conexão, configuração, criação e atribuição de VLANs as portas.
Após a apresentação da ferramenta foi solicitado aos usuários que realizassem uma
atividade na qual os mesmos deveriam seguir um roteiro para que verificassem se, com base
nas orientações e demonstração passada, seriam capazes de manipular a ferramenta e
reproduzir o exercício solicitado para obter os resultados esperados. Logo após a execução
dos exercícios foi aplicado o questionário anteriormente referenciado. Para as respostas foi
utilizada a escala de Likert com um número representando cada um dos níveis o qual as
respostas possíveis são: 5 - concordo plenamente, 4 - concordo, 3 - não concordo nem
discordo, 2 - discordo e 1 - discordo totalmente, onde os resultados podem ser verificados no
Quadro 6.
Quadro 6 - Avaliação no caso 2
Pergunta Nota Usuário A Usuário B
A ferramenta fornece um feedback adequado ao usuário. Mantém o usuário
informado do que está sendo executado? 4 4
A ferramenta utiliza termos familiares ao usuário, o processo de criação de
topologias e configurações são apresentados de forma natural 4 4
O usuário sabendo quais são os objetivos da ferramenta, consegue
visualizar as opções de alcance para a criação e teste de um cenário 5 4
A ferramenta apresenta as instruções visíveis de fácil acesso quando
buscadas, após o aprendizado sobre a utilização da ferramenta a facilidade
em realizar novas operações foi significante
5 5
Possibilita o usuário utilizar a ferramenta conforme a definição do cenário
determinado 4 4
Apresenta somente as informações que são importantes e necessárias para
a elaboração e teste de um cenário 4 3
A ferramenta sinaliza as mensagens de erro de forma clara, indicando o
problema e sugerindo uma solução 5 4
Fonte: elaborado pelo autor.
Quanto a observação, os seguintes pontos foram relatados pelos usuários:
Para o usuário A: a seleção de portas no switch no momento da conexão não dá
nenhuma informação se a porta já está em uso, isso acaba gerando alguma dúvida no
momento de conectar vários dispositivos a ele.
68
Para o usuário B: as caixas de seleção utilizadas para atribuir as VLANs as portas
apresentam uma certa dificuldade para que os mesmos sejam selecionados e estas continuam
marcadas após realizar a operação de inserção e salvar.
Para o terceiro caso que trata com especialistas da área a abordagem foi um pouco
diferente e o foco foi testar não somente a funcionalidade da ferramenta, mas aproveitar o
conhecimento dos envolvidos e atestar a reprodução do material gerado em um ambiente real.
Para isso foram realizadas algumas perguntas adicionais e suas considerações foram
adicionadas nos comentários, observe que essas perguntas não foram realizadas no primeiro
caso pelos fato dos envolvidos não possuírem conhecimento suficiente ou disponibilidade de
testá-los:
a) em algum momento já fez uso de alguma ferramenta para criação de topologias de
rede, é familiarizado com esse tipo de ferramenta? Se sim qual?
b) o relatório gerado pode ser reproduzido com segurança em um ambiente real?
c) o modelo que é gerado pelo usuário na ferramenta tem similaridade a outras
ferramentas encontradas no mercado quanto a sua operação?
d) no proposto de que essa ferramenta visa auxiliar no ensino da disciplina de redes
de computadores, na sua opinião ela facilita o entendimento do aluno quanto ao
funcionamento de um equipamento?
Como os usuários selecionados nessa etapa já tinham o conhecimento sobre todo o
tema abordado não foi realizada qualquer introdução. A ferramenta foi entregue informando o
seu propósito de uma forma mais concisa, orientações básicas foram passadas juntamente com
a informação de que todos os botões possuíam tooltips e que essas tooltips que continham
dicas sobre do propósito de cada um. O exercício proposto foi o mesmo realizado no segundo
caso e as respostas para o questionário podem ser conferidas a seguir conforme o Quadro 7:
69
Quadro 7 - Avaliação no caso 3
Pergunta Nota Usuário C Usuário D
A ferramenta fornece um feedback adequado ao usuário. Mantém o usuário
informado do que está sendo executado? 4 3
A ferramenta utiliza termos familiares ao usuário, o processo de criação de
topologias e configurações são apresentados de forma natural 5 5
O usuário sabendo quais são os objetivos da ferramenta, consegue
visualizar as opções de alcance para a criação e teste de um cenário 5 4
A ferramenta apresenta as instruções visíveis de fácil acesso quando
buscadas, após o aprendizado sobre a utilização da ferramenta a facilidade
em realizar novas operações foi significante
5 5
Possibilita o usuário utilizar a ferramenta conforme a definição do cenário
determinado 4 3
Apresenta somente as informações que são importantes e necessárias para
a elaboração e teste de um cenário 4 3
A ferramenta sinaliza as mensagens de erro de forma clara, indicando o
problema e sugerindo uma solução 5 4
Fonte: elaborado pelo autor.
Quanto às respostas das perguntas direcionadas e demais observações, os seguintes
pontos foram relatados pelos usuários no terceiro caso:
Para o usuário C as respostas dos questionamentos foram:
a) sim, Cisco Packet Tracer, HP Network Simulator;
b) sim, não foram feitos testes, mas os códigos e a sequência estão corretos;
c) sim, em geral é bem similar aos produtos com que já trabalhei, mais simples com
menos funções, mas o modo de operação é basicamente o mesmo;
d) sim, é muito mais fácil para um aluno assimilar uma informação se ela estiver
associada a alguma imagem ou animação, isso dentro do proposto.
e) observações feitas pelo usuário:
- o sistema poderia incluir a adição de texto na área de edição para que o usuário
não necessitasse passar o mouse por ele para saber informações básicas dele
como o Nome;
- os checkboxs da aba de atribuição das VLANs as portas são difíceis de
selecionar;
- poderia haver um campo ou uma aba onde pudesse visualizar as VLANs
existentes e quem são seus membros;
- as portas do switch que são exibidas para seleção no momento da conexão
poderiam ter algum indicador que diga que as mesmas estão ocupadas;
- o comportamento do HUB precisa ser corrigido, ele não dispara para ele
mesmo;
70
Para o usuário D as respostas dos questionamentos foram:
a) sim, Cisco Packet Tracer;
b) sim, testado no Cisco Packet Tracer, funcionou no cenário proposto, mas
precisaria de mais testes para responder com convicção;
c) sim;
d) sim, possui algumas limitações, é bem simples, para quem está iniciando na área
fica mais fácil para entender, o professor pode utilizar o resultado dos relatórios
para verificar se o aluno configurou corretamente;
e) observações feitas pelo usuário:
- os checkboxs de atribuição das VLANs as portas são muito ruins de selecionar,
recomendado a substituição por outro meio;
- falta uma lista das VLANs e dos membros dela junto a tela de atribuição;
- o comportamento do HUB está incorreto;
Conforme pode se constatar avaliando os resultados obtidos através da entrevista
envolvendo dois perfis diferentes de usuários, caso dois e caso três, e pela percepção dos
resultados obtidos in loco durante a temática realizada em sala no caso um, pode-se observar
o seguinte:
O desempenho e funcionalidade da ferramenta são melhor provados quando os
usuários testes eram especialistas, com amplo conhecimento no tema envolvido e na
utilização de ferramentas de simulação. Quando é realizado uma preparação com usuários que
não dominam o assunto os resultados também foram satisfatórios, com boa resposta da
ferramenta aos cenários postos a prova. O mais importante a se considerar é que em ambos os
casos, dois e três, os usuários colaboraram efetivamente com a identificação de pontos que
deveriam melhorar para entregar uma melhor experiencia ao usuário.
No entanto quando a ferramenta foi colocada à disposição de usuários que não detém o
conhecimento sobre equipamentos, suas configurações e sem uma instrução correta de
operação os resultados não foram suficientemente bons para que se pudesse avaliar a
funcionalidade e a entrega do proposto pela ferramenta em si.
71
4 CONCLUSÕES
Baseado nos objetivos principais quando comparada com os trabalhos correlatos pode-
se ver que o Switcher incorpora boa parte das funcionalidades encontrados nas demais
ferramentas. Ele fornece de forma interativa uma maneira de criar topologias de rede,
demonstrar o funcionamento dos equipamentos envolvidos, gerar relatórios que podem ser
replicados no mundo real e que podem de alguma forma ser utilizados como objeto de
avaliação com base no que é criado. Os resultados obtidos através dos testes mostraram que
esses objetivos puderam ser alcançados, mas evidenciaram que um guia de utilização se faz
necessário para que a ferramenta possa ser manuseada de forma autônoma sem nenhuma
instrução, cabe ressaltar também que como a amostra de usuários foi limitada, para que se
efetivasse a aplicação em um ambiente de ensino mais testes seriam necessários.
A fundamentação teórica se mostrou de grande valia pois expandiu os campos de
conhecimento necessários para que os objetivos fossem alcançados, atendendo dessa forma os
objetivos que foram acordados e adequados durante todas as etapas de elaboração deste
trabalho. A escolha da API JavaFX foi um ponto certeiro pois ela traz inúmeros recursos que
quando utilizados em conjunto com Scene Builder possibilitaram o alcance do resultado. A
utilização da biblioteca Jfoenix, no entanto não trouxe ganhos que justificassem a
continuidade do uso baseado nas necessidades da ferramenta, os recursos disponibilizados por
ela poderiam ser tranquilamente supridos pelos recursos já oferecidos pela API do JavaFX.
Ademais os testes contribuíram com a identificação de várias melhorias ou resoluções
de problemas que poderiam ser implementadas à fim de trazer uma experiência ainda melhor
ao usuário, juntando a opinião de três diferentes perfis de utilizadores com métodos diferentes
de avaliação. Algumas dessas melhorias foram incluídas juntamente das extensões possíveis
listadas na seção 4.1. As principais vantagens e contribuições dessa ferramenta com certeza
são as possibilidades de o usuário criar seu projeto de topologia de uma forma segura antes de
ter que se aprofundar em códigos complexos e entender de forma visual o que cada um dos
códigos faz quando ele toma uma determinada ação. Uma limitação é a própria falta de um
console que pudesse fazer essa aplicação via código, que, no entanto, envolveria um
interpretador de textos.
4.1 EXTENSÕES
Durante os testes e elaboração deste trabalho algumas extensões possíveis foram
identificadas, são elas:
a) adicionar a view do Switcher uma lista de VLANs e as portas que forem atribuídas
72
a ela;
b) adicionar um nodo do tipo roteador ao menu de equipamentos para que se possa
realizar comunicação entre VLANs;
c) adicionar um nodo do tipo central telefônica ao menu de equipamentos;
d) adicionar nodos do tipo servidores como DNS, DHCP (Dynamic Host
Configuration Protocol) e servidor de impressão aumentando e dando maior
sentido aos equipamentos de fim de linha;
e) disponibilizar um tutorial de manuseio, vinculado ao primeiro acesso da
ferramenta para que essa possa ser manuseada de forma independente de
demonstração.
73
REFERÊNCIAS
BISHT, Nivedita; SINGH, Sapna. Analytical study of different network topologies.
International Research Journal of Engineering and Technology (IRJET), v. 2, n. 01, p.
88-90, 2015. Disponível em: < https://www.irjet.net/archives/V2/i1/Irjet-v2i120.pdf>. Acesso
em: 03 nov. 2018.
CANTÚ, Evandro; FARINES, Jean M. Ensino-Aprendizagem de Redes de Computadores:
Em Busca de uma Abordagem Metodológica Adaptada à Era da Internet, In: CONGRESSO
DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO - SBC, 22., 2002, Florianópolis.
Anais eletrônicos... Florianópolis: SBC, 2002. Disponível em:
<http://www.lbd.dcc.ufmg.br/colecoes/wei/2002/003.pdf >. Acesso em: 15 mar. 2019
CEMIM, Paolo.; SILVA VIEIRA, Rogério da. VNETLAB: Uma ferramenta de ensino de
redes de computadores utilizando técnicas de virtualização. 2010. 65 f. Trabalho de
Conclusão de Curso (Bacharelado em Ciência da Computação) – Faculdade de Informática,
Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre. Disponível em: <
https://www.inf.pucrs.br/ferreto/pubs/2010errc_cemim.pdf>. Acesso em: 15 set. 2018.
CISCO PRESS. Cisco Networking Academy Switched Networks Companion Guide:
VLANs. Indiana, [2014]. Disponivel em:
<http://www.ciscopress.com/articles/article.asp?p=2208697&seqNum=4 >. Acesso em 19
mai. 2019.
FERNANDEZ, Marcial P. Computação: Rede de Computadores. Fortaleza: Editora da
Universidade Estadual do Ceará – Eduece, 2015. 192 p.
FOROUZAN, Behrouz A. Comunicação de dados e redes de computadores. 4. ed.
Tradução. Ariovaldo Griesi. Porto Alegre: AMGH Editora Ltda. 2008.
GAVIRA, Muriel de O. Simulação computacional como uma ferramenta de aquisição de
conhecimento. 2003. 163f. Dissertação (Mestrado em Engenharia da Produção),
Universidade de São Paulo, São Paulo. Disponível em:
<www.teses.usp.br/teses/disponiveis/18/18140/tde-20052003-004345/.../Gavira1.pdf>.
Acesso em: 05 nov. 2018.
GONÇALVES, Dias M. et al. Percepções sobre metodologias ativas de aprendizagem de
programação no ensino profissionalizante. In: CONGRESSO BRASILEIRO DE
INFORMÁTICA NA EDUCAÇÃO - CBIE, 6., 2017 Recife. Anais Eletrônicos...Recife:
CBIE, 2017. Disponível em:<
https://www.researchgate.net/publication/319793938_Percepcoes_Sobre_Metodologias_Ativa
s_de_Aprendizagem_de_Programacao_no_Ensino_Profissionalizante>. Acesso em: 14 abr.
2019.
GYIRES, Tibor. Network Simulation. In: IVÁNYI, Antal (Ed.). Algorithms of
Informatics: Vol.2. Applications. Budapeste: Mondat Kiadó, 2007. Cap. 14. p. 643-690.
(9638759623). Disponível em: <https://pt.scribd.com/document/285337230/Algorithms-of-
Informatics-Vol-2-Applications-2007-ISBN-9638759623-Ivanyi-A-Ed>. Acesso em: 13 abr.
2019.
IDC BRASIL. IDC Brasil prevê crescimento de 4,9% no mercado de TIC em 2019. São
Paulo, [2019]. Disponivel em < http://br.idclatin.com/releases/news.aspx?id=2462>. Acesso
em: 25 abr. 2019.
74
KUROSE, James F; ROSS, Keith W. Redes de computadores e a Internet: uma abordagem
top-down. 6. ed. São Paulo: Pearson Education do Brasil, 2013. xxii, 634 p, il.
MACHADO, Daniel I.; SANTOS, Plácida L. V. Amorim da Costa. Avaliação da hipermídia
no processo de ensino e aprendizagem da física: o caso da gravitação. Ciência & Educação.
Bauru: v. 10, n. 1, p. 75-100, 2004. Disponível em: <
http://www.scielo.br/pdf/ciedu/v10n1/06.pdf>. Acesso em: 08 abr. 2019.
MATTHEWS, Jeanna. Rede de Computadores: Protocolos de internet em ação. Rio de
Janeiro: Ltc, 2006. 205 p. Tradução de: Aldir José Coelho Corrêa da Silva
MEDEIROS, Luciano F. de.; MOSER, Alvino.; SANTOS, Neri dos. Software educacional e
telemática: novos recursos para a escola. Revista Intersaberes, 2014, p. 441-459. Disponível
em: <https://www.uninter.com/intersaberes/index.php/revista/article/viewFile/800/447>.
Acesso em: 05 nov. 2018
NAKAMURA, Emilio Tissato; GEUS, Paulo Lício de. Segurança de Redes em Ambientes
Cooperativos. São Paulo: Novatec Editora Ltda, 2007. 488 p.
PAIVA, J., MORAIS, C., PAIVA, J. Referências importantes para a inclusão coerente das
TIC na educação numa sociedade “sistémica”. Revista Educação, Formação & Tecnologias
- ISSN 1646-933X, 2010, p. 5-17. Disponível em:
<http://eft.educom.pt/index.php/eft/article/view/138/106>. Acesso em: 08 abr. 2019.
PETERSON, Larry L.; DAVIE, Bruce S. Rede de Computadores: Uma abordagem
Sistêmica. 2. ed. Rio de Janeiro: Ltc, 2004. 384 p. Tradução de: José Franco Machado do
Amaral & Jorge Luís Machado do Amaral.
PETERSON, Larry L.; DAVIE, Bruce S. Computer Networks: A Systems Approach. 5. ed.
Waltham: Elsevier, 2018. 444 p.
PINHEIRO, Cássio D. B.; RIBEIRO FILHO, Manoel. LVR – Laboratório Virtual de Redes:
Protótipo para Auxílio ao Aprendizado em Disciplinas de Redes de Computadores. In:
SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO - SBIE, 16., 2005, Juiz de
Fora. Anais eletrônicos... Juiz de Fora: UFJF, 2005. Disponível em: <http://www.br-
ie.org/pub/index.php/sbie/article/view/395>. Acesso em: 16 set. 2018.
RAUEN, Tânia Regina Schoeninger. Uma abordagem alternativa para ensino de redes de
computadores. 2003. 85 f. Dissertação (Mestrado) - Curso de Ciência da Computação, Área
de Concentração Sistemas de Computação, Universidade Federal de Santa Catarina,
Florianópolis, 2003. Disponível em:
<file:///C:/Users/adema/Downloads/TCC1/Fontes/Uma%20abordagem%20alternativa%20par
a%20ensino%20de%20redes%20de%20computadores.pdf>. Acesso em: 21 mar. 2019.
ROSS, Júlio. Redes de computadores. Rio de Janeiro: Antenna. 2008.
SALGADO, Robnaldo F. TICs em sala de aula: Mediação para novas práticas de ensino e
aprendizagem. 2016. 134f. Dissertação (Mestrado em Educação) - Centro de Ciências da
Educação e Comunicação, Universidade Católica de Santos, Santos. Disponível em:
<http://biblioteca.unisantos.br:8181/handle/tede/3341>. Acesso em: 30 out. 2018.
SANTOS, Walter dos. Uso de simuladores como ferramenta no ensino e aprendizagem de
redes de computadores em um novo modelo de ensino. 2016. 105f. Dissertação (Mestrado
Profissional em Sistemas de Informação e Gestão do Conhecimento) – Programa de Pós-
Graduação em Sistemas de Informação e Gestão do Conhecimento, Fundação Mineira de
Educação e Cultura, Belo Horizonte. Disponível em:
<http://www.fumec.br/revistas/sigc/article/view/4611/2533>. Acesso em: 15 set. 2018.
75
SARKAR, Nurul. Tools for Teaching: Computer Networking and Hardware Concepts.
Pennsylvania: Idea Group, 2006.
SHANNON, Robert E. Introduction to the art and science of simulation. In: WINTER
SIMULATION CONFERENCE. Proceedings… Washington: WSC, 1998. p. 7-14.
Disponível em:
<http://cecs.wright.edu/~fciarall/ISE195/Readings/ShannonSimulationART.pdf>. Acesso em:
21 set. 2018.
SOUSA FILHO, Gilberto Farias de; ALEXANDRE, Eduardo de Santana
Medeiros. Introdução a Computação. 2. ed. João Pessoa: Editora da UFPB, 2014. 143 p.
(978-85-237-0892-4).
SOUZA, Jair de. Protótipo de ferramenta de apoio ao treinamento na construção de rede
de computadores. 2003. 70 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da
Computação) - Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau,
Blumenau. Disponível em: < http://www.bc.furb.br/docs/MO/2003/266584_1_1.pdf>.
Acesso em: 16 set. 2018.
STALLINGS, William. Data and Computer Communications. 8. ed. Upper Saddle River:
Pearson Education, Inc, 2007. 901 p. (0-13-243310-9).
SUÁREZ, Francisco J. et al. Computer Networks Performance Modeling and Simulation. In:
OBAIDAT, Mohammad S.; ZARAI, Faouzi; NICOPOLITIDIS, Petros (Ed.). Modeling and
Simulation of Computer Networks and Systems: Methodologies and Applications.
Waltham: Elsevier - Morgan Kaufmann, 2015. Cap. 7. p. 187-221. (0128011580,
9780128011584). Disponível em:
<https://www.researchgate.net/publication/282076891_Computer_Networks_Performance_M
odeling_and_Simulation>. Acesso em: 10 abr. 2019
TANENBAUM, Andrew S. Redes de Computadores. 4. ed. Tradução. Vandenberg Dantas
de Souza. Rio de Janeiro: Editora Campus. 2003.
TORRES, Gabriel. Redes de Computadores: curso completo. Rio de Janeiro: Axcel Books,
2001.
TORRES, Gabriel. Rede de Computadores. 2. ed. Rio de Janeiro: Clube do Hardware, 2019.
(978-85-52971-00-9)