Тип работы:
Предмет:
Язык работы:


Web-интерфейс для создания и визуализации сетевых эмуляторов

Работа №127340

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы27
Год сдачи2022
Стоимость4210 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
11
Не подходит работа?

Узнай цену на написание


Введение 4
2. Постановка задачи 6
3. Требования 7
4. Обзор 8
4.1. Аналогичные продукты 8
4.2. Выбор эмулятора 10
4.3. Программные средства 11
5. Описание решения 13
5.1. Разработка эмулятора 13
5.2. Серверная часть web-сервиса 15
5.3. Разработка web-интерфейса для взаимодействия с эмулятором 15
5.4. Другие компоненты web-сервиса 17
5.5. Размещение web-сервиса 18
6. Апробация 19
7. Заключение 20
Список литературы 22
8. Приложение 27


По устройству и работе компьютерных сетей проводится множество курсов, большинство из которых обладают недостатком в виде отсутствия должного количества примеров и демонстраций работы компьютерных сетей. Для качественного обучения устройству компьютерных сетей обучающимся требуется возможность проводить практическую работу с сетями, составлять собственные сети и наблюдать механизмы их работы. Реализация примеров работы компьютерных сетей при различных топологиях, протоколах и устройствах в сети без установки соответствующих описываемой сети физических устройств требует использования программного обеспечения, эмулирующего работу компьютерных сетей. Среди решений в данной области стоит выделить такие продукты как GNS3 [17] и Cisco Packet Tracer [7], обладающие возможностью визуализации сетевого трафика и топологии сети, что делает их пригодными для использования в образовательных целях. Однако программные решения в данной сфере являются платными, или же написаны не для образовательных целей, а для людей с высоким уровнем подготовки и хорошим пониманием устройства работы компьютерных сетей. Некоторые из них, такие как NS-3 [22] и nemu [13], требуют написания программ-сценариев для взаимодействия с ними, что требует дополнительного изучения документации по данным продуктам. Другим недостатком использования существующих программных решений является тот факт, что многие продукты в данной сфере являются классическими настольными приложениями, что вовлекает необходимость установки и снижает уровень их доступности.
В связи с перечисленными недостатками существующих на данный момент решений, была разработана концепция web-сервиса, позволяющего конструировать компьютерные сети через web-интерфейс и производить их эмуляцию на серверной стороне web-сервиса, демонстрируя пользователю результаты эмуляции описанной им компьютерной сети. Были сформированы требования, основными из которых являются возможность задания топологии и конфигурации узлов сети, возможность визуализации маршрутов пакетов, отправленных внутри эмулируемой сети, возможность отображения ARP [27] таблиц маршрутизации для различных узлов, а также возможность отображения содержимого каждого пакета, отправленного внутри сети. На основе разработанной концепции был реализован соответствующий web-сервис, нацеленный на ознакомление обучающихся с устройством работы компьютерных сетей и протоколами взаимодействия в них.
2. Постановка задачи
Цель работы — реализовать web-сервис, позволяющий создавать, эмулировать и визуализировать компьютерную сеть. Для ее достижения были поставлены следующие задачи:
1. Провести обзор существующих решений.
2. Сформировать набор необходимых инструментов и технологий.
3. Реализовать сервис, в который входят следующие возможности:
• создание модели компьютерной сети через web-интерфейс;
• запуск эмуляции с помощью JSON объекта (JavaScript Object Notation), описывающего сеть;
• просмотр результатов эмуляции в web-интерфейсе.
4. Реализовать статические компоненты сервиса.
5. Разместить и опубликовать созданный сервис.
6. Провести апробацию web-сервиса.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе проведения данной работы было сделано следующее:
1. Был проведен обзор существующих решений.
2. Был сформирован весь программный стек, необходимый для запуска сервиса.
3. Был реализован сервис, в который входят следующие возможности:
• создание модели компьютерной сети через web-интерфейс;
• запуск эмуляции с помощью JSON объекта, описывающего сеть;
• просмотр результатов эмуляции в web-интерфейсе.
4. Описываемая сеть поддерживает следующие типы узлов:
• пользовательский хост;
• сетевой концентратор;
• openflow-свитч [25].
5. Описываемая сеть поддерживает следующие протоколы:
• ICMP [28];
• TCP [33];
• UDP [29];
• ARP [27].
6. Был реализован интерфейс, в котором есть следующие компоненты:
• редактор графа для построения компьютерной сети;
• анимация маршрутов пакетов между узлами сети;
• просмотр пакетов в формате PCAP [37], прошедших через определенный интерфейс;
• просмотр таблиц ARP [27] для хостов в разные моменты времени внутри эмуляции.
7. Сервис был развернут и опубликован.
• Интерфейс был размещен на Next.js [34] хостинге Vercel [35].
• Был создан Docker-контейнер для сервиса запуска эмуляций, серверная часть была запущена в нем на облачной виртуальной машине.
8. Реализованы статические компоненты сервиса, среди которых есть:
• главная страница проекта;
• страница с руководством по использованию сервиса.
9. Проведена апробация web-сервиса.



[1] Atwater Erinn. Netsim is a simulator game intended to teach you the basics of how computer networks function, with an emphasis on secu-rity.— Access mode: https://netsim.erinn.io/ (online; accessed: May 10, 2022).
[2] Atwater Erinn. Web-based network simulator for teaching hacking to high schoolers.—Access mode: https://github.com/errorinn/netsim(online; accessed: May 10, 2022).
[3] Axios. Promise based HTTP client for the browser and node.js. — Access mode: https://github.com/axios/axios (online; accessed: May 10, 2022).
[4] Boost. Boost provides free peer-reviewed portable C++ source li-braries.— Access mode: https://www.boost.org/ (online; accessed: May 10, 2022).
[5] Boson. Most Advanced Network Simulator Designed for Cisco Certification Training. — Access mode: https://www.boson.com/netsim-cisco-network-simulator (online; accessed: May 10, 2022).
[6] Cisco. Cisco Network Academy. — Access mode: http://web.archive.org/web/20220408223855/https://www.netacad.com(on¬line; accessed: May 10, 2022).
[7] Cisco. Gisco packet tracer. — Access mode: http://web.archive.org/web/20220408223855/https://www.netacad.com/ru/courses/packet-tracer (online; accessed: May 10, 2022).
[8] Docker. Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called con-tainers. — Access mode: https://www.docker.com/ (online; accessed: May 10, 2022).
[9] Doxygen. Doxygen is the de facto standard tool for generating doc-umentation from annotated C++ sources. — Access mode: http://www.doxygen.nl (online; accessed: May 10, 2022).
[10] EVE-NG. The Emulated Virtual Environment For Network, Security and DevOps Professionals. — Access mode: https://www.eve-ng.net/ (online; accessed: May 10, 2022).
[11] Erik Wilde Cesare Pautasso. REST: From Research to Practice. — Springer Science Business Media.
[12] Express. Fast, unopinionated, minimalist web framework for Node.js. — Access mode: https://expressjs.com/ (online; accessed: May 10, 2022).
[13] Ferrari Martina. A lightweight network emulator embedded in a small python library. — Access mode: https://github.com/NightTsarina/nemu (online; accessed: May 10, 2022).
[14] GNS3. GNS3 repositories. — Access mode: https://github.com/GNS3 (online; accessed: May 10, 2022).
[15] Geist. An open source design system for building modern websites and applications. — Access mode: https://geist-ui.dev/en-us (online; accessed: May 10, 2022).
[16] Git. Git is a free and open source distributed version control system designed to handle everything from small to very large pro jects with speed and efficiency.—Access mode: https://git-scm.com/ (online; accessed: May 10, 2022).
[17] LLC Galaxy Technologies. The official guide and reference for GNS3. — Access mode: https://docs.gns3.com/ (online; accessed: May 10, 2022).
[18] Labs NRE. Antidote is a network emulator combined with a presenta-tion framework designed to create and deliver networking technology training. Its user interface operates in a web browser, including the terminals that students use to run commands on emulated network devices and servers. — Access mode: https://docs.nrelabs.io/ (on-line; accessed: May 10, 2022).
[19] Labs NRE. Source code of Antidote project (No longer maintained). — Access mode: https://github.com/Antidote-for-Tox/Antidote(online; accessed: May 10, 2022).
[20] Linux. Linux Containers. — Access mode: https://
linuxcontainers.org/ (online; accessed: May 10, 2022).
[21] NS-3. OpenFlow switch support. — Access mode: https://www.nsnam.org/docs/release/3.13/models/html/openflow-switch.html (online; accessed: May 10, 2022).
[22] NS-3. ns-3 is a discrete-event network simulator for Internet sys¬tems, targeted primarily for research and educational use. ns-3 is free, open-source software, licensed under the GNU GPLv2 license, and maintained by a worldwide community. — Access mode: https://www.nsnam.org/ (online; accessed: May 10, 2022).
[23] Nenad M Jovanovic R. Popovic Zoran Jovanovic. WNet-
Sim: A Web-Based Computer Network Simulator. — Access
mode: https://www.researchgate.net/publication/233691072_WNetSim_A_Web-Based_Computer_Network_Simulator (online; ac¬cessed: May 10, 2022).
[24] Node.js. Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine. — Access mode: https://nodejs.org/en/ (online; accessed: May 10, 2022).
[25] ONF. Collaboratively transforming network infrastructure. — Access mode: https://opennetworking.org/ (online; accessed: May 10, 2022).
[26] PM2. PM2 is a daemon process manager that will help you manage and keep your application online 24/7. — Access mode: https://pm2.keymetrics.io/ (online; accessed: May 10, 2022).
[27] Plummer David C. An Ethernet Address Resolution Protocol. — Ac¬cess mode: https://datatracker.ietf.org/doc/html/rfc826 (on¬line; accessed: May 10, 2022).
[28] Postel J. INTERNET CONTROL MESSAGE PROTOCOL. — Ac¬cess mode: https://datatracker.ietf.org/doc/html/rfc792 (on¬line; accessed: May 10, 2022).
[29] Postel J. User Datagram Protocol. — Access mode: https://datatracker.ietf.org/doc/html/rfc768 (online; accessed: May 10, 2022).
[30] React. A JavaScript library for building user interfaces. — Access mode: https://en.reactjs.org/ (online; accessed: May 10, 2022).
[31] Tshark. Dump and analyze network traffic. — Access mode: https://www.wireshark.org/docs/man-pages/tshark.html (online; ac¬cessed: May 10, 2022).
[32] University Southern California. Internet Protocol. — Access mode: https://datatracker.ietf.org/doc/html/rfc791 (online; accessed: May 10, 2022).
[33] University Southern California. TRANSMISSION CONTROL PRO-TOCOL. — Access mode: https://datatracker.ietf.org/doc/html/rfc793 (online; accessed: May 10, 2022).
[34] Vercel. The React Framework for Production. — Access mode: https://nextjs.org/ (online; accessed: May 10, 2022).
[35] Vercel. Vercel combines the best developer experience with an obses¬sive focus on end-user performance. Our platform enables frontend teams to do their best work.—Access mode: https://vercel.com/(online; accessed: May 10, 2022).
[36] Waf. Waf is a piece of software used to help building software projects. The goal of this tutorial is to provide a quick overview of how to set up the scripts for a project using Waf. —Access mode: https://waf.io/apidocs/tutorial.html (online; accessed: May 10, 2022).
[37] Wikipedia. pcap is an application programming interface (API) for capturing network traffic.—Access mode: https://ru.wikipedia.org/wiki/Pcap (online; accessed: May 10, 2022).
[38] Wireshark. Wireshark is the world’s foremost and widely-used network protocol analyzer. — Access mode: https://www.wireshark.org/(online; accessed: May 10, 2022).
[39] Yarn. Package Manager. — Access mode: https://yarnpkg.com/(online; accessed: May 10, 2022).
[40] node.js. Node.js native addon build tool. — Access mode: https://github.com/nodejs/node-gyp (online; accessed: May 10, 2022).
[41] uber. A library for creating directed graph editors. — Access mode: https://github.com/uber/react-digraph(online; accessed: May 10, 2022).


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ