This commit is contained in:
2026-05-24 22:39:13 +03:00
parent 1b2c84b6ae
commit d10d6d1352
12 changed files with 33 additions and 37 deletions
+4 -4
View File
@@ -290,15 +290,15 @@
}
\newenvironment{abstractenv}{
\def\skip@bstr@ctp@ges{\@@skip@bstr@ctp@ges}
\afterpage{\skip@bstr@ctp@ges \thispagestyle{empty}}
\pagestyle{empty}
\afterpage{\skip@bstr@ctp@ges \thispagestyle{plain}}
\pagestyle{plain}
}
% Redefine above commands if etd option is specified. The blank pages make printing nice,
% but they don't want them in the submitted PDF
\DeclareOption{etd}{
\renewcommand{\clearemptydoublepage}{ \clearpage }
\renewenvironment{abstractenv}{\afterpage{\thispagestyle{empty}}\pagestyle{empty}}{}
\renewenvironment{abstractenv}{\afterpage{\thispagestyle{plain}}\pagestyle{plain}}{}
}
% ------------------------ Load the class and needed packages ---------------------------------
@@ -572,7 +572,7 @@
\newcommand{\abstractpage}{
\thispagestyle{empty}
% \thispagestyle{empty}
\begin{abstractenv}
\begin{center}
\providecommand\pdfbookmark[3][]{} \pdfbookmark[1]{Abstract}{bm:Abstract}
+4 -4
View File
@@ -16,9 +16,9 @@
Для достижения поставленной цели необходимо решить следующие задачи:
\begin{itemize}
\item Проанализировать существующие подходы к описанию и визуализации сетевых конфигураций и сформулировать требования к разрабатываемому инструменту по поддержке редактирования конфигураций.
\item Разработать модель представления конфигураций в виде структурированных данных, позволяющую задавать известные параметры и оставлять поля для последующего заполнения.
\item Реализовать выбранный способ ввода и редактирования конфигурации, обеспечивающий проверяемость и воспроизводимость описания.
\item Разработать механизм экспорта выбранного представления в структурированный текстовый формат, входной для средства развертывания конфигурации сети ВМ.
\item проанализировать существующие подходы к описанию и визуализации сетевых конфигураций и сформулировать требования к разрабатываемому инструменту по поддержке редактирования конфигураций;
\item разработать модель представления конфигураций в виде структурированных данных, позволяющую задавать известные параметры и оставлять поля для последующего заполнения;
\item реализовать выбранный способ ввода и редактирования конфигурации, обеспечивающий проверяемость и воспроизводимость описания;
\item разработать механизм экспорта выбранного представления в структурированный текстовый формат, входной для средства развертывания конфигурации сети ВМ.
\end{itemize}
+4 -4
View File
@@ -3,7 +3,7 @@
Под конфигурацией сети виртуальных машин в данной работе понимается формализованное описание набора виртуальных машин и связей между ними, необходимое для развертывания сетевой топологии лабораторного стенда. Такое описание должно фиксировать не только структуру сети ВМ, но и параметры элементов сети, необходимые для настройки ВМ.
В модель конфигурации сети ВМ входят следующие элементы и поля:
В модель конфигурации сети ВМ входят следующие элементы и их атрибуты:
\begin{enumerate}
\item \textbf{Топология сети}
@@ -18,7 +18,7 @@
\item \textbf{Устройство}
Устройство соответствует отдельному элементу стенда (виртуальной машине). В зависимости от назначения оно может рассматриваться как хост, маршрутизатор или коммутатор. Такое деление нужно для указания роли устройства в топологии, но все эти элементы имеют общую структуру описания.
Устройство соответствует отдельному элементу стенда (виртуальной машине). В зависимости от назначения оно может рассматриваться как хост, маршрутизатор или коммутатор. Такое деление нужно для указания роли устройства в топологии, но все эти элементы имеют одинаковую структуру описания.
Для устройства задаются:
\begin{itemize}
@@ -57,12 +57,12 @@
Для сети задаются:
\begin{itemize}
\item \textbf{имя сети}~--- обозначение сетевого сегмента в пределах топологии;
\item \textbf{список подключённых интерфейсов}~--- интерфейсы устройств, входящие в данную сеть;
\item \textbf{список подключённых интерфейсов}~--- интерфейсы устройств, входящие в данную сеть.
\end{itemize}
Одна сеть может объединять один или несколько интерфейсов. Каждый интерфейс в текущей модели относится к одной сети или остаётся без указания сети, если этот параметр ещё не определён.
\end{enumerate}
Так как на этапе описания конфигурации часть параметров может быть неизвестна, необходимо допускать частично заполненные данные. Это позволяет зафиксировать структуру сети и часть параметров, а затем уточнять отдельные поля без изменения общей структуры.
Так как на этапе описания конфигурации часть параметров может быть неизвестна, необходимо допускать частично заполненные данные. Это позволяет зафиксировать структуру сети и часть параметров, а затем уточнять отдельные атрибуты без изменения общей структуры.
\todo[inline]{Мне очень не нравится факт "фиксируем стуктуру, меняем, но "общую" мы её не меняем". + термин поля тут ещё не актуален, ибо не таблица}
+16 -16
View File
@@ -2,30 +2,32 @@
\label{sec:Chapter2} \index{Chapter2}
% \todo[inline]{Здесь надо рассмотреть все существующие решения поставленной задачи, но не просто пересказать, в чем там дело, а оценить степень их соответствия тем ограничениям, которые были сформулированы в постановке задачи.}
\todo[inline]{с картиночками тут пипец}
Существующие графические средства, позволяющие описывать и/или отображать конфигурацию сети виртуальных машин, можно разделить на три группы: универсальные диаграммеры, сетевые эмуляторы и генераторы диаграмм по текстовому описанию. Их применимость целесообразно оценивать по следующим критериям: возможность изобразить структуру сети, возможность сопоставить элементам сети набор параметров, возможность интерпретировать результат как формализованное описание, пригодное для последующей обработки.
\subsection{Универсальные диаграммеры}
К универсальным диаграммерам относятся такие средства как draw.io \cite{drawio} (рисунок \ref{fig:drawio}), Lucidchart \cite{Lucidchart} (рисунок \ref{fig:lucidchart}) и Microsoft Visio \cite{Visio} (рисунок \ref{fig:visio}). Такие средства позволяют строить различные виды схем, в том числе сетевые диаграммы. Например, draw.io позиционируется как онлайн-инструмент для построения блок-схем, UML-, ER- и сетевых диаграмм; Microsoft Visio также содержит шаблоны и фигуры для сетевых диаграмм; Lucidchart поддерживает технические диаграммы и визуальное моделирование систем.
К универсальным диаграммерам относятся такие средства как draw.io \cite{drawio} (рис. \ref{fig:drawio}), Lucidchart \cite{Lucidchart} (рис. \ref{fig:lucidchart}) и Microsoft Visio \cite{Visio} (рис. \ref{fig:visio}). Такие средства позволяют строить различные виды схем, в том числе сетевые диаграммы. Например, draw.io позиционируется как онлайн-инструмент для построения блок-схем, UML-, ER- и сетевых диаграмм; Microsoft Visio также содержит шаблоны и фигуры для сетевых диаграмм; Lucidchart поддерживает технические диаграммы и визуальное моделирование систем.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{files/drawio.png}
\caption{Пример работы в draw.io}
\caption{Диаграмма сети в draw.io}
\label{fig:drawio}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{files/lucidchart.png}
\caption{Пример диаграммы в Lucidchart}
\caption{Диаграмма сети в Lucidchart}
\label{fig:lucidchart}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{files/visio.png}
\caption{Пример работы в Visio}
\caption{Диаграмма сети в Visio}
\label{fig:visio}
\end{figure}
@@ -35,58 +37,56 @@
\subsection{Сетевые эмуляторы}
Ко второй группе относятся сетевые эмуляторы, например Cisco Packet Tracer \cite{Cisco} (рисунок \ref{fig:cisco}) и Huawei eNSP \cite{eNSP} (рисунок \ref{fig:ensp}). Cisco Packet Tracer предназначен для обучения сетевым технологиям и позволяет моделировать работу сетей в виртуальной лабораторной среде; Huawei eNSP также описывается как симулятор устройств, применяемый для подготовки в области передачи данных.
Ко второй группе относятся сетевые эмуляторы, например Cisco Packet Tracer \cite{Cisco} (рис. \ref{fig:cisco}) и Huawei eNSP \cite{eNSP} (рис. \ref{fig:ensp}). Cisco Packet Tracer предназначен для обучения сетевым технологиям и позволяет моделировать работу сетей в виртуальной лабораторной среде; Huawei eNSP также позиционируется как средство моделирования сетей, применяемое для подготовки специалистов в области сетевой передачи данных.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{files/cisco.png}
\caption{Пример работы в Cisco Packet Tracer}
\caption{Диаграмма сети в Cisco Packet Tracer}
\label{fig:cisco}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{files/ensp.png}
\caption{Пример работы в Huawei eNSP}
\caption{Диаграмма сети в Huawei eNSP}
\label{fig:ensp}
\end{figure}
Эти решения ближе к реальной настройке сети, чем универсальные диаграммеры: они позволяют не только нарисовать топологию, но и моделировать поведение сетевых устройств. Однако их назначение далеко от цели данной работы. Диаграммеры в их составе ориентированы на описание сети на основе оборудования конкретного производителя, а не на универсальное формализованное описание конфигурации сети виртуальных машин для лабораторных стендов.
Эти решения ближе к реальной настройке сети, чем универсальные диаграммеры: они позволяют нарисовать топологию (а также) моделировать поведение сетевых устройств. Однако их назначение далеко от цели данной работы. Диаграммеры в их составе ориентированы на описание сети на основе оборудования конкретного производителя, а не на универсальное формализованное описание конфигурации сети виртуальных машин для лабораторных стендов.
\subsection{Генераторы диаграмм}
Третью группу составляют генераторы диаграмм по текстовому описанию: D2 \cite{D2} (рисунок \ref{fig:d2netw}), Graphviz \cite{Graphviz} (рисунок \ref{fig:graphviz}), PlantUML \cite{PlantUML} (рисунок \ref{fig:plantuml}). Все три инструмента используют декларативный язык, позволяющий преобразовывать текстовое описание в диаграмму и выполняют смежные задачи.
Третью группу составляют генераторы диаграмм по текстовому описанию: D2 \cite{D2} (рис. \ref{fig:d2netw}), Graphviz \cite{Graphviz} (рис. \ref{fig:graphviz}), PlantUML \cite{PlantUML} (рис. \ref{fig:plantuml}). Все три инструмента используют декларативный язык, позволяющий преобразовывать текстовое описание в диаграмму и выполняют смежные задачи.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{files/d2netw.png}
\caption{Пример диаграммы в D2}
\caption{Диаграмма сети в D2}
\label{fig:d2netw}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{files/graphviz.png}
\caption{Пример диаграммы в Graphviz}
\caption{Диаграмма сети в Graphviz}
\label{fig:graphviz}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\textwidth]{files/plantuml.png}
\caption{Пример диаграммы в PlantUML}
\caption{Диаграмма сети в PlantUML}
\label{fig:plantuml}
\end{figure}
Такие инструменты упрощают интеграцию с программной реализацией, поскольку исходное описание диаграммы хранится в текстовом виде. По этой причине генераторы диаграмм могут быть полезны как вспомогательный механизм визуализации сетевой топологии. В частности, в рамках данной работы D2 используется для построения графа L1 топологии сети на основе внутренней модели данных.
Такие инструменты упрощают интеграцию с внешними средствами описания конфигурации, поскольку исходное описание диаграммы хранится в текстовом виде. По этой причине генераторы диаграмм могут быть полезны как вспомогательный механизм визуализации сетевой топологии. В частности, в рамках данной работы D2 используется для построения графа L1 топологии сети на основе внутренней модели данных.
Однако эти средства не решают задачу полностью. Они позволяют генерировать диаграмму, но не редактировать ее структуру или атрибуты ее элементов. Узлы и связи во входных языках таких средств можно снабжать дополнительными атрибутами, наращивая необходимые свойства, но такое представление, по мере увеличения сложности топологии, быстро становится трудно читаемым. Генератор диаграмм может отобразить уже подготовленное описание сетевой диаграммы, но не предоставляет язык описания конфигурации сети и способ её редактирования.
\subsection{Вывод}
Рассмотренные решения покрывают отдельные аспекты поставленной задачи, но не позволяют ее решить полностью. Универсальные диаграммеры удобны для ручного построения схемы сети, однако результат их работы в первую очередь является графическим представлением. Такие средства плохо подходят для хранения набора формализованных параметров устройств, интерфейсов и сетевых сегментов, а также для последующей программной обработки этого описания. Сетевые эмуляторы ориентированы на оборудование и сценарии конкретного производителя, что ограничивает их применимость для описания лабораторных стендов общего вида. Генераторы диаграмм по текстовому описанию лучше подходят для интеграции с программной реализацией, поскольку позволяют получать визуальное представление на основе текстовых данных. Тем не менее их основная функция заключается в построении диаграммы, а не в задании и редактировании конфигурации сети.
Рассмотренные решения покрывают отдельные аспекты поставленной задачи, но не позволяют ее решить полностью. Универсальные диаграммеры удобны для ручного построения схемы сети, однако результат их работы в первую очередь является графическим представлением. Такие средства плохо подходят для хранения набора формализованных параметров устройств, интерфейсов и сетевых сегментов, а также для последующей программной обработки этого описания. Сетевые эмуляторы ориентированы на оборудование конкретного производителя, что ограничивает их применимость для описания лабораторных стендов общего вида. Генераторы диаграмм позволяют получать визуальное представление на основе текстовых данных. Тем не менее их основная функция заключается в построении диаграммы, а не в задании и редактировании конфигурации сети.
Таким образом, в качестве основы разрабатываемого решения целесообразно использовать не формат диаграммы, а структурированную модель данных сетевой конфигурации. Диаграмма в этом случае рассматривается как вспомогательное представление. D2 был выбран в качестве генератора диаграмм, поскольку для него существует лёгкая в использовании библиотека в языке Python \cite{py-d2}, позволяющая генерировать текстовое описание диаграммы. Другие генераторы диаграмм также могли бы использоваться.
\todo[inline]{Трудно обосновать d2, т.к. действительно любой другой также можно было бы использовать, выбирали только потому что библиотека простая и диаграммки красивые}
+3 -7
View File
@@ -1,16 +1,12 @@
\anonsection{Заключение}
\label{sec:Chapter5} \index{Chapter5}
В ходе выполнения курсовой работы был разработан подход к описанию сетевых конфигураций виртуальных машин, ориентированный на формализованное задание структуры сети и последующий экспорт результата во входной формат средства развертывания конфигурации сети ВМ.
В результате работы были получены следующие результаты:
В работе получены следующие результаты:
\begin{itemize}
\item выполнен анализ существующих подходов к описанию и визуализации сетевых конфигураций; на его основе выбран способ редактирования конфигурации с использованием табличного представления во внешнем редакторе;
\item разработана модель представления конфигурации сети виртуальных машин в виде структурированных данных, позволяющая описывать устройства, интерфейсы, сети и связи между ними, а также оставлять отдельные параметры незаполненными;
\item разработана модель для представления конфигурации сети виртуальных машин в виде структурированных данных, позволяющая описывать устройства, интерфейсы, сети и связи между ними, а также оставлять отдельные параметры незаполненными;
\item выполнено сопряжение табличного представления с разработанной моделью данных, что обеспечивает ввод, редактирование и последующую обработку описания конфигурации;
\item разработана программа преобразования табличного описания во входной язык NetLoom, обеспечивающая дальнейшее использование для разворачивания конфигурации сети виртуальных машин.
\item разработана программа преобразования табличного описания во входной язык средства визуализации конфигурации сети виртуальных машин и средства развертывания конфигурации.
\end{itemize}
Таким образом, поставленная задача была решена: получено средство, позволяющее описывать частично заданные сетевые конфигурации виртуальных машин, редактировать их в табличной форме и преобразовывать в структурированный текстовый формат, пригодный для дальнейшей обработки.
В качестве направлений развития работы можно предложить разработку отдельного редактора конфигурации сети, использующего созданную модель данных. Также перспективным является встраивание в редактор функций проверки корректности конфигурации, а также поддержка диаграмм для отображения конфигурации сети на разных уровнях стека протоколов.
+1 -1
View File
@@ -33,7 +33,7 @@ py-d2. Fully typed python interface for building .d2 diagram files in python.
\url{https://github.com/MrBlenny/py-d2} (accessed May~23, 2026)
\bibitem{DB}
\textbf{Дейт \;К.\;Дж.} Введение в системы баз данных (8-е изд.)~// Издательский дом "Вильяме". 2005. 1327 с.
\textbf{Дейт \;К.\;Дж.} Введение в системы баз данных (8-е изд.)~// Издательский дом "Вильямс". 2005. 1327 с.
\bibitem{netloom}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 KiB

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 507 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 61 KiB

+1 -1
View File
@@ -49,7 +49,7 @@
\Consultant{Курячий Георгий Владимирович}
\ConsultantDegree{}
\Abstract{В данной работе рассматривается задача разработки средства описания конфигурации сети виртуальных машин для лабораторных работ. Изучены существующие решения и выявлены их недостатки. Разработана и реализована модель данных для представления конфигурации сети. Разработаны и реализованы программные инструменты для редактирования, графического представления и вывода в структурированном текстовом формате конфигурации сети.}
\Abstract{В данной работе рассматривается задача разработки средства описания конфигурации сети виртуальных машин для лабораторных работ. Изучены существующие решения и выявлены их недостатки. Разработана и реализована модель данных для представления конфигурации сети. Разработаны и реализованы программные инструменты для редактирования, графического представления и вывода в структурированном текстовом формате конфигурации сети, входном для средства развертывания сети ВМ.}
%%%% DON'T change this. It is here because .sty does not support cyrillic cp properly %%%%