From 905b00af02328639c683f3928d058624f6185942 Mon Sep 17 00:00:00 2001 From: Dmitrii Krosh Date: Sun, 24 May 2026 15:38:09 +0300 Subject: [PATCH] add Chapter4 --- Latex/Chapter2.tex | 82 ++++++++++++++---- Latex/Chapter3.tex | 46 +++------- Latex/Chapter4.tex | 48 ++++++++++- Latex/Chapter6.tex | 4 + Latex/files/diagram.png | Bin 0 -> 51144 bytes Latex/files/schema.d2 | 10 +-- Latex/files/schema.png | Bin 52105 -> 61900 bytes Latex/files/schema.svg | 172 +++++++++++++++++++------------------- Latex/files/topology.yaml | 78 +++++++++++++++++ example/0_vvedenie.tex | 2 +- 10 files changed, 297 insertions(+), 145 deletions(-) create mode 100644 Latex/files/diagram.png create mode 100644 Latex/files/topology.yaml diff --git a/Latex/Chapter2.tex b/Latex/Chapter2.tex index 61f1059..6ba6ff2 100644 --- a/Latex/Chapter2.tex +++ b/Latex/Chapter2.tex @@ -1,40 +1,92 @@ -\section{Обзор существующих решений} +\section{Обзор графических средств описания сетевых конфигураций} \label{sec:Chapter2} \index{Chapter2} % \todo[inline]{Здесь надо рассмотреть все существующие решения поставленной задачи, но не просто пересказать, в чем там дело, а оценить степень их соответствия тем ограничениям, которые были сформулированы в постановке задачи.} -Существующие решения, близкие к задаче описания конфигурации сети виртуальных машин, можно разделить на три группы: универсальные диаграммеры, сетевые эмуляторы и генераторы диаграмм по текстовому описанию. Их применимость целесообразно оценивать по следующим критериям: возможность изобразить структуру сети, возможность сопоставить элементам сети набор параметров, возможность интерпретировать результат как формализованное описание, пригодное для последующей обработки. +Существующие графические средства, позволяющие описывать и/или отображать конфигурацию сети виртуальных машин, можно разделить на три группы: универсальные диаграммеры, сетевые эмуляторы и генераторы диаграмм по текстовому описанию. Их применимость целесообразно оценивать по следующим критериям: возможность изобразить структуру сети, возможность сопоставить элементам сети набор параметров, возможность интерпретировать результат как формализованное описание, пригодное для последующей обработки. \subsection{Универсальные диаграммеры} -К универсальным диаграммерам относятся draw.io \cite{drawio}, Lucidchart \cite{Lucidchart} и Microsoft Visio \cite{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 поддерживает технические диаграммы и визуальное моделирование систем. -Основное преимущество таких решений состоит в удобстве визуального построения схемы. Пользователь может быстро расположить элементы, провести связи между ними и получить наглядное изображение топологии. Однако для поставленной задачи этого недостаточно. Диаграмма в таких системах в первую очередь является графическим объектом: она хорошо передаёт внешний вид структуры, но не задаёт строгую модель данных сетевой конфигурации. Параметры виртуальных машин, интерфейсов, MAC-адресов, IP-адресов и сетевых сегментов могут быть добавлены только как текстовые подписи или дополнительные свойства объектов, но их последующая автоматическая интерпретация становится нетривиальной. +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/drawio.png} +\caption{Пример работы в draw.io} +\label{fig:drawio} +\end{figure} -Следовательно, универсальные диаграммеры могут использоваться для иллюстрации результата, но не являются подходящей основой для хранения и воспроизводимого редактирования конфигурации. Они не обеспечивают требуемой проверяемости описания и плохо подходят для ситуации, когда одному элементу сети необходимо сопоставить множество формализованных атрибутов. +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/lucidchart.png} +\caption{Пример диаграммы в Lucidchart} +\label{fig:lucidchart} +\end{figure} + +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/visio.png} +\caption{Пример работы в Visio} +\label{fig:visio} +\end{figure} + +Основное преимущество таких решений состоит в удобстве визуального построения схемы сети. Пользователь может быстро расположить элементы, провести связи между ними и получить наглядное изображение сетевой топологии. Однако для поставленной задачи этого недостаточно. Диаграмма в таких системах в первую очередь является графическим объектом: она хорошо передаёт внешний вид структуры, но не задаёт строгую модель данных сетевой конфигурации. Параметры виртуальных машин, интерфейсов, MAC-адресов, IP-адресов и сетевых сегментов могут быть добавлены только как текстовые подписи или дополнительные свойства объектов, но их последующая автоматическая интерпретация становится нетривиальной. + +Следовательно, универсальные диаграммеры могут использоваться для иллюстрации результата, но не являются подходящей основой для хранения и редактирования конфигурации. Они не обеспечивают требуемой проверяемости описания и плохо подходят для ситуации, когда одному элементу сети необходимо сопоставить множество формализованных атрибутов. \subsection{Сетевые эмуляторы} -Ко второй группе относятся сетевые эмуляторы, например Cisco Packet Tracer \cite{Cisco} и Huawei eNSP \cite{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} +\label{fig:cisco} +\end{figure} -(стоит ли писать) Кроме того, сетевые эмуляторы оказываются избыточными для рассматриваемой задачи. В работе требуется зафиксировать структуру конфигурации, известные и неизвестные параметры элементов, обеспечить редактируемость и экспорт описания. Полноценная симуляция сетевых протоколов и поведения оборудования для этого не требуется.P +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/ensp.png} +\caption{Пример работы в Huawei eNSP} +\label{fig:ensp} +\end{figure} -Также такие системы хуже подходят для независимого структурированного хранения модели, которую можно было бы использовать как источник данных для разных представлений: таблицы, диаграммы или YAML-файла. +Эти решения ближе к реальной настройке сети, чем универсальные диаграммеры: они позволяют не только нарисовать топологию, но и моделировать поведение сетевых устройств. Однако их назначение далеко от цели данной работы. Диаграммеры в их составе ориентированы на описание сети на основе оборудования конкретного производителя, а не на универсальное формализованное описание конфигурации сети виртуальных машин для лабораторных стендов. \subsection{Генераторы диаграмм} -Третью группу составляют генераторы диаграмм по текстовому описанию: D2 \cite{D2}, Graphviz \cite{Graphviz}, PlantUML \cite{PlantUML}. Все три инструмента используют декларативный язык, позволяющий преобразовывать текстовое описание в диаграмму и выполняют смежные задачи. +Третью группу составляют генераторы диаграмм по текстовому описанию: D2 \cite{D2} (рисунок \ref{fig:d2netw}), Graphviz \cite{Graphviz} (рисунок \ref{fig:graphviz}), PlantUML \cite{PlantUML} (рисунок \ref{fig:plantuml}). Все три инструмента используют декларативный язык, позволяющий преобразовывать текстовое описание в диаграмму и выполняют смежные задачи. -Такие инструменты лучше соответствуют требованию воспроизводимости, поскольку исходное описание диаграммы хранится в текстовом виде, что упрощает интеграцию с программной реализацией. По этой причине генераторы диаграмм могут быть полезны как вспомогательный механизм визуализации сетевой топологии. В частности, в рамках работы D2 используется для построения графа L1 топологии сети на основе внутренней модели данных. +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/d2netw.png} +\caption{Пример диаграммы в D2} +\label{fig:d2netw} +\end{figure} -Однако эти решения не решают задачу полностью. Их основной результат — диаграмма, а не предметная модель конфигурации сети виртуальных машин. Узлы и связи в таких языках можно снабжать дополнительными атрибутами, наращивая необходимые свойства, но такое представление, по мере увеличения сложности топологии, быстро становится трудно читаемым. Генератор диаграмм может отобразить уже подготовленную модель, но не заменяет саму модель данных и табличный способ её редактирования. +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/graphviz.png} +\caption{Пример диаграммы в Graphviz} +\label{fig:graphviz} +\end{figure} + +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/plantuml.png} +\caption{Пример диаграммы в PlantUML} +\label{fig:plantuml} +\end{figure} + +Такие инструменты упрощают интеграцию с программной реализацией, поскольку исходное описание диаграммы хранится в текстовом виде. По этой причине генераторы диаграмм могут быть полезны как вспомогательный механизм визуализации сетевой топологии. В частности, в рамках данной работы D2 используется для построения графа L1 топологии сети на основе внутренней модели данных. + +Однако эти средства не решают задачу полностью. Они позволяют генерировать диаграмму, но не редактировать ее структуру или атрибуты ее элементов. Узлы и связи во входных языках таких средств можно снабжать дополнительными атрибутами, наращивая необходимые свойства, но такое представление, по мере увеличения сложности топологии, быстро становится трудно читаемым. Генератор диаграмм может отобразить уже подготовленное описание сетевой диаграммы, но не предоставляет язык описания конфигурации сети и способ её редактирования. -\todo[inline]{картиночек, насколько неудобно в графе держать} \subsection{Вывод} -Рассмотренные решения покрывают отдельные аспекты поставленной задачи, но не удовлетворяют ей полностью. Универсальные диаграммеры удобны для ручного построения схем, но плохо подходят для формализованного хранения параметров. Сетевые эмуляторы позволяют моделировать работу сети, но являются избыточными и ориентированы на симуляцию, а не на независимое описание конфигурации виртуальных машин. Генераторы диаграмм обеспечивают воспроизводимую визуализацию, однако требуют внешней модели данных, в которой будут определены сущности, атрибуты и правила экспорта. +Рассмотренные решения покрывают отдельные аспекты поставленной задачи, но не позволяют ее решить полностью. Универсальные диаграммеры удобны для ручного построения схемы сети, однако результат их работы в первую очередь является графическим представлением. Такие средства плохо подходят для хранения набора формализованных параметров устройств, интерфейсов и сетевых сегментов, а также для последующей программной обработки этого описания. Сетевые эмуляторы ориентированы на оборудование и сценарии конкретного производителя, что ограничивает их применимость для описания лабораторных стендов общего вида. Генераторы диаграмм по текстовому описанию лучше подходят для интеграции с программной реализацией, поскольку позволяют получать визуальное представление на основе текстовых данных. Тем не менее их основная функция заключается в построении диаграммы, а не в задании и редактировании конфигурации сети. -Таким образом, в качестве основы разрабатываемого решения целесообразно использовать не формат диаграммы, а структурированную модель данных сетевой конфигурации. Диаграмма и YAML-файл в этом случае выступают вспомогательными представлениями: диаграмма используется для визуального контроля топологии, а YAML — как пример формализованного экспорта описания. Такой подход соответствует цели работы: разработать инструмент планирования частично сконфигурированных сетевых конфигураций с табличным вводом, воспроизводимым хранением и возможностью дальнейшей обработки. +Таким образом, в качестве основы разрабатываемого решения целесообразно использовать не формат диаграммы, а структурированную модель данных сетевой конфигурации. Диаграмма в этом случае рассматривается как вспомогательное представление. D2 был выбран в качестве генератора диаграмм, поскольку для него существует лёгкая в использовании библиотека в языке Python \cite{py-d2}, позволяющая генерировать текстовое описание диаграммы. Другие генераторы диаграмм также могли бы использоваться. +\todo[inline]{Трудно обосновать d2, т.к. действительно любой другой также можно было бы использовать, выбирали только потому что библиотека простая и диаграммки красивые} diff --git a/Latex/Chapter3.tex b/Latex/Chapter3.tex index e99f4eb..e550f9e 100644 --- a/Latex/Chapter3.tex +++ b/Latex/Chapter3.tex @@ -1,18 +1,15 @@ -\section{Исследование и построение решения задачи} +\section{Выбор формата табличного представления конфигурации сети} \label{sec:Chapter3} \index{Chapter3} % \todo[inline]{Здесь надо декомпозировать большую задачу из постановки на подзадачи и продолжать этот процесс, пока подзадачи не станут достаточно простыми, чтобы их можно было бы решить напрямую (например, поставив какой-то эксперимент или доказав теорему) или найти готовое решение.} -\subsection{Представление модели} -Рассмотрение существующих решений показывает, что диаграмма удобна для визуального восприятия, но недостаточна как основная форма хранения данных: графическое изображение сложно интерпретировать как строгое описание конфигурации. Поэтому в качестве основы решения выбрано табличное представление данных, а диаграмма рассматривается только как производное отображение модели. Такой подход позволяет отделить логическое описание сети от способа его визуализации. +Исходя из результатов обзора, в качестве пользовательской формы задания конфигурации выбрано табличное представление. Такая форма представления удобна тем, что позволяет явно фиксировать элементы сети и их атрибуты, редактировать отдельные значения и проверять заполненность полей. При этом она допускает частично заданные конфигурации: часть параметров может быть указана сразу, а часть оставлена пустой для последующего уточнения. -Табличная форма удобна тем, что позволяет явно фиксировать элементы сети и их атрибуты, редактировать отдельные значения и проверять заполненность полей. При этом она допускает частично заданные конфигурации: часть параметров может быть указана сразу, а часть оставлена пустой для последующего уточнения. - -При разработке табличного представления конфигурации сети виртуальных машин рассматривались два варианта организации данных: представление в первой нормальной форме и представление в третьей нормальной форме. Оба варианта позволяют формализовать описание сети, однако различаются удобством редактирования данных. Вторая нормальная форма отдельно не рассматривалась как самостоятельный вариант представления, поскольку для данной задачи она является промежуточным этапом между компактным пользовательским описанием и полностью разнесённой структурой данных. +При разработке табличного представления конфигурации сети виртуальных машин рассматривались два варианта организации данных: представление в первой нормальной форме (далее - 1НФ) и представление в третьей нормальной форме (далее - 3НФ). Оба варианта позволяют структурированно описать сеть, однако различаются сложностью редактирования данных в случае непосредственной работы с таблицами. Вторая нормальная форма отдельно не рассматривалась как самостоятельный вариант представления, поскольку для данной задачи она является промежуточным этапом между компактным пользовательским описанием и полностью разнесённой структурой данных. Разберём оба представления на примере топологии, изображённой на рисунке~\ref{fig:exmpl1} -\begin{figure}[h] +\begin{figure}[htbp] \centering \includegraphics[width=0.8\textwidth]{files/exmpl1.png} \caption{Пример топологии} @@ -21,14 +18,14 @@ \subsubsection*{Первая нормальная форма} -Первая нормальная форма (далее - 1НФ) \cite{DB}: +Первая нормальная форма \cite{DB}: Переменная отношения находится в \textbf{1НФ} тогда и только тогда, когда в любом допустимом значении этой переменной отношения каждый её кортеж содержит только одно значение для каждого из атрибутов. -В первой нормальной форме данные представляются в виде одной таблицы, где каждая строка содержит атомарные значения: имя узла, интерфейс, адреса, принадлежность сети и т.д.. Такое представление остаётся достаточно простым для ручного заполнения и позволяет сразу видеть основную структуру конфигурации. +В первой нормальной форме данные представляются в виде одной таблицы, где каждая строка содержит атомарные значения: имя узла, интерфейс, адреса, принадлежность сети и т.д. Такое представление остаётся достаточно простым для ручного заполнения и позволяет сразу видеть основную структуру конфигурации. -Пример представления в 1НФ (таблица \ref{tab:1nf}): +Пример представления конфигурации сети в 1НФ приведен в таблице \ref{tab:1nf}. \begin{table}[h!] \centering @@ -54,7 +51,7 @@ com\_right & Switch & eth3 & C & \\ \subsubsection*{Третья нормальная форма} -Третья нормальная форма (далее - 3НФ) \cite{DB}: +Третья нормальная форма \cite{DB}: Переменная отношения находится в \textbf{3НФ} тогда и только тогда, когда её неключевые атрибуты, если они существуют, являются одновременно: @@ -69,9 +66,9 @@ com\_right & Switch & eth3 & C & \\ \item \textbf{Взаимно независимые атрибуты} --- это два или больше атрибутов, таких что ни один из них функционально не зависит от какой-либо комбинации остальных атрибутов. Подобная независимость подразумевает, что каждый такой атрибут может обновляться независимо от остальных атрибутов. \end{itemize} -В третьей нормальной форме данные разделяются на отдельные сущности: узлы, интерфейсы, сетевые сегменты и связи. Такой подход уменьшает дублирование данных и лучше соответствует классической реляционной модели, однако делает представление более громоздким. Для понимания одной связи приходится обращаться сразу к нескольким таблицам. +В третьей нормальной форме данные разделяются на отдельные сущности: узлы (устройства), интерфейсы, сетевые сегменты и связи. Каждой из этих сущностей сопоставляется отдельная таблица. Такой подход уменьшает дублирование данных по сравнению с 1НФ, однако делает представление более громоздким. Для понимания одной связи приходится обращаться сразу к нескольким таблицам. -Пример представления в 3НФ (таблицы \ref{tab:3nf1} - \ref{tab:3nf3}): +Пример представления конфигурации сети в 3НФ приведен в таблицах \ref{tab:3nf1} - \ref{tab:3nf3}. \begin{table}[h] \centering @@ -131,25 +128,6 @@ PC4.eth1 & 10.0.0.4/24 \\ \subsubsection*{Выбор формы} -В качестве основного пользовательского представления была выбрана первая нормальная форма. Она удобнее для ручного заполнения, проще воспринимается при описании лабораторных стендов и не требует постоянного перехода между большим количеством связанных таблиц. +В качестве основного пользовательского представления была выбрана первая нормальная форма. Она удобнее в сравнении с 3НФ для ручного заполнения, проще воспринимается при описании лабораторных стендов и не требует постоянного перехода между большим количеством связанных таблиц. -Табличное представление в 1НФ используется как удобная форма ввода, а при дальнейшей обработке данные могут преобразовываться во внутреннюю модель, где отдельно выделяются узлы, интерфейсы и связи. Такой подход сохраняет простоту заполнения таблицы и одновременно позволяет использовать данные для экспорта во входные форматы средства развертывания сетевых конфигураций или средства построения диаграмм топологии. - -\subsection{Внутренняя модель данных} - -Табличное представление используется для ввода, но для дальнейшей обработки требуется программная структура, в которой связи между объектами выражены явно. Поэтому данные таблиц должны преобразовываться во внутреннее представление, например в набор объектов Python (рисуок \ref{fig:uml_model1}), соответствующих основным сущностям конфигурации. Такая модель служит центральным представлением, из которого данные могут быть преобразованы в другие форматы. - -\begin{figure}[h] -\centering -\includegraphics[width=0.8\textwidth]{files/UML.png} -\caption{UML диаграмма классов Python} -\label{fig:uml_model1} -\end{figure} - -\subsection{Преобразование модели данных} - -Также одной из подзадач является разработка механизмов преобразования модели. Основными преобразованиями являются импорт данных из табличного описания во внутреннюю модель , экспорт в формализованный файл конфигурации и построение диаграммы топологии. YAML-файл в этом случае используется как структурированное описание, пригодное для дальнейшей обработки программами, вроде Netloom для поднятия сети из виртуальных машин, а D2 может применяться для генерации визуального представления сети на основе уже построенной модели. - -\subsection{Вывод} - -Таким образом, решение строится не вокруг построения диаграммы, а вокруг формальной модели сетевой конфигурации. Табличное представление используется как способ ввода и редактирования, внутренняя модель — как основа обработки данных, а YAML и диаграмма — как формы представления результата. Такой подход позволяет обеспечить редактируемость, воспроизводимость и возможность дальнейшего применения описания при подготовке лабораторных стендов из виртуальных машин. \ No newline at end of file +Табличное представление в 1НФ используется как форма ввода, а при дальнейшей обработке данные могут преобразовываться во внутреннюю модель, где отдельно выделяются узлы, интерфейсы и связи. Такой подход сохраняет простоту заполнения таблицы и одновременно позволяет использовать данные для экспорта во входные форматы средства развертывания сетевых конфигураций или средства построения диаграмм топологии. diff --git a/Latex/Chapter4.tex b/Latex/Chapter4.tex index ab538e3..0f76d00 100644 --- a/Latex/Chapter4.tex +++ b/Latex/Chapter4.tex @@ -1,10 +1,50 @@ \section{Описание программной реализации} \label{sec:Chapter4} \index{Chapter4} -\todo[inline]{Если в рамках работы писался какой-то код, здесь должно быть его описание: выбранный язык и библиотеки и мотивы выбора, архитектура, схема функционирования, теоретическая сложность алгоритма, характеристики функционирования (скорость/память).} -\begin{figure}[h] +%\begin{figure}[htbp] +%\centering +%\includegraphics[width=0.8\textwidth]{files/UML.png} +%\caption{UML диаграмма классов Python} +%\label{fig:uml_model} +%\end{figure} + +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/schema.png} +\caption{Процесс работы} +\label{fig:schema} +\end{figure} + +Табличное представление используется для ввода, но для дальнейшей обработки требуется программная структура, в которой связи между объектами выражены явно. Поэтому данные таблиц должны преобразовываться во внутреннее представление, например в набор объектов Python (рисуок \ref{fig:uml_model1}), соответствующих основным сущностям конфигурации. Такая модель служит центральным представлением, из которого данные могут быть преобразованы в другие форматы. + +\begin{figure}[htbp] \centering \includegraphics[width=0.8\textwidth]{files/UML.png} \caption{UML диаграмма классов Python} -\label{fig:uml_model} -\end{figure} \ No newline at end of file +\label{fig:uml_model1} +\end{figure} + +Также необходима разработка механизмов преобразования модели. Основными преобразованиями являются импорт данных из табличного описания во внутреннюю модель, экспорт во входные языки средства развертывания сетевых конфигураций и средства построения диаграмм. YAML-файл в этом случае используется как структурированное описание, пригодное для дальнейшей обработки программами, вроде Netloom для поднятия сети из виртуальных машин, а D2 может применяться для генерации визуального представления сети на основе уже построенной модели. + +Программная реализация средства описания конфигурации сети виртуальных машин выполнена на языке Python. Объём написанного кода: 710 строк, 48 килобайт. На рисунке \ref{fig:schema} представлен основной процесс работы с утилитой. Построение диаграмм происходит с помощью модуля py-d2 (пример на рисунке \ref{fig:diagram}). + +\begin{figure}[htbp] +\centering +\includegraphics[width=0.8\textwidth]{files/diagram.png} +\caption{Пример диаграмммы, построенной утилитой} +\label{fig:diagram} +\end{figure} + +Воспроизводимость описания конфигурации обеспечивается тем, что результат хранится в виде структурированных данных. Одна и та же таблица при повторной обработке приводит к построению той же внутренней модели и, соответственно, к одинаковому описанию конфигурации. А преобразование в формат, пригодный для использования в средстве развёртывания сети виртуальных машин, обеспечивает возможность дальнейшего применения описания при подготовке лабораторных стендов из виртуальных машин. + +\todo[inline]{вынести в отдельное приложение?} + +Пример экспортированного YAML-описания конфигурации сети приведён в листинге~\ref{lst:yaml-config}. + +\lstinputlisting[ + language=yaml, + caption={Фрагмент YAML-описания конфигурации сети виртуальных машин}, + label={lst:yaml-config} +]{files/topology.yaml} + +% Таким образом, решение строится не вокруг построения диаграммы, а вокруг формальной модели сетевой конфигурации. Табличное представление используется как способ ввода и редактирования, внутренняя модель — как основа обработки данных, а YAML и диаграмма — как формы представления результата. Такой подход позволяет обеспечить редактируемость, воспроизводимость и возможность дальнейшего применения описания при подготовке лабораторных стендов из виртуальных машин. diff --git a/Latex/Chapter6.tex b/Latex/Chapter6.tex index 0eccbd4..710ec7e 100644 --- a/Latex/Chapter6.tex +++ b/Latex/Chapter6.tex @@ -28,6 +28,10 @@ Graphviz. Open source graph visualization software, 2026. Available at \url{http \bibitem{PlantUML} PlantUML. Tool for creation of a wide array of diagrams, 2026. Available at \url{https://plantuml.com/guide} (accessed May~19, 2026). +\bibitem{py-d2} +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 с. diff --git a/Latex/files/diagram.png b/Latex/files/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf5421e907fb2ea407e088afdc686ada1c145f2 GIT binary patch literal 51144 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 literal 52105 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

(>`j&Eq+v1_^2ngZ2U^>G0zAMn}N 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

#+z`upkn#VXdezqUQ$)hc`T5-|NB3jDG$PA-E# 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сетевая топологиятабличное представлениевнутренняя модель (Python)диаграммаYAML-описаниесредство развёртывания сетевой топологии (Netloom)ручное заданиепреобразование кодомpy-d2преобразование кодом - - - - - + .d2-1010277928 .fill-N1{fill:#0A0F25;} + .d2-1010277928 .fill-N2{fill:#676C7E;} + .d2-1010277928 .fill-N3{fill:#9499AB;} + .d2-1010277928 .fill-N4{fill:#CFD2DD;} + .d2-1010277928 .fill-N5{fill:#DEE1EB;} + .d2-1010277928 .fill-N6{fill:#EEF1F8;} + .d2-1010277928 .fill-N7{fill:#FFFFFF;} + .d2-1010277928 .fill-B1{fill:#0D32B2;} + .d2-1010277928 .fill-B2{fill:#0D32B2;} + .d2-1010277928 .fill-B3{fill:#E3E9FD;} + .d2-1010277928 .fill-B4{fill:#E3E9FD;} + .d2-1010277928 .fill-B5{fill:#EDF0FD;} + .d2-1010277928 .fill-B6{fill:#F7F8FE;} + .d2-1010277928 .fill-AA2{fill:#4A6FF3;} + .d2-1010277928 .fill-AA4{fill:#EDF0FD;} + .d2-1010277928 .fill-AA5{fill:#F7F8FE;} + .d2-1010277928 .fill-AB4{fill:#EDF0FD;} + .d2-1010277928 .fill-AB5{fill:#F7F8FE;} + .d2-1010277928 .stroke-N1{stroke:#0A0F25;} + .d2-1010277928 .stroke-N2{stroke:#676C7E;} + .d2-1010277928 .stroke-N3{stroke:#9499AB;} + .d2-1010277928 .stroke-N4{stroke:#CFD2DD;} + .d2-1010277928 .stroke-N5{stroke:#DEE1EB;} + .d2-1010277928 .stroke-N6{stroke:#EEF1F8;} + .d2-1010277928 .stroke-N7{stroke:#FFFFFF;} + .d2-1010277928 .stroke-B1{stroke:#0D32B2;} + .d2-1010277928 .stroke-B2{stroke:#0D32B2;} + .d2-1010277928 .stroke-B3{stroke:#E3E9FD;} + .d2-1010277928 .stroke-B4{stroke:#E3E9FD;} + .d2-1010277928 .stroke-B5{stroke:#EDF0FD;} + .d2-1010277928 .stroke-B6{stroke:#F7F8FE;} + .d2-1010277928 .stroke-AA2{stroke:#4A6FF3;} + .d2-1010277928 .stroke-AA4{stroke:#EDF0FD;} + .d2-1010277928 .stroke-AA5{stroke:#F7F8FE;} + .d2-1010277928 .stroke-AB4{stroke:#EDF0FD;} + .d2-1010277928 .stroke-AB5{stroke:#F7F8FE;} + .d2-1010277928 .background-color-N1{background-color:#0A0F25;} + .d2-1010277928 .background-color-N2{background-color:#676C7E;} + .d2-1010277928 .background-color-N3{background-color:#9499AB;} + .d2-1010277928 .background-color-N4{background-color:#CFD2DD;} + .d2-1010277928 .background-color-N5{background-color:#DEE1EB;} + .d2-1010277928 .background-color-N6{background-color:#EEF1F8;} + .d2-1010277928 .background-color-N7{background-color:#FFFFFF;} + .d2-1010277928 .background-color-B1{background-color:#0D32B2;} + .d2-1010277928 .background-color-B2{background-color:#0D32B2;} + .d2-1010277928 .background-color-B3{background-color:#E3E9FD;} + .d2-1010277928 .background-color-B4{background-color:#E3E9FD;} + .d2-1010277928 .background-color-B5{background-color:#EDF0FD;} + .d2-1010277928 .background-color-B6{background-color:#F7F8FE;} + .d2-1010277928 .background-color-AA2{background-color:#4A6FF3;} + .d2-1010277928 .background-color-AA4{background-color:#EDF0FD;} + .d2-1010277928 .background-color-AA5{background-color:#F7F8FE;} + .d2-1010277928 .background-color-AB4{background-color:#EDF0FD;} + .d2-1010277928 .background-color-AB5{background-color:#F7F8FE;} + .d2-1010277928 .color-N1{color:#0A0F25;} + .d2-1010277928 .color-N2{color:#676C7E;} + .d2-1010277928 .color-N3{color:#9499AB;} + .d2-1010277928 .color-N4{color:#CFD2DD;} + .d2-1010277928 .color-N5{color:#DEE1EB;} + .d2-1010277928 .color-N6{color:#EEF1F8;} + .d2-1010277928 .color-N7{color:#FFFFFF;} + .d2-1010277928 .color-B1{color:#0D32B2;} + .d2-1010277928 .color-B2{color:#0D32B2;} + .d2-1010277928 .color-B3{color:#E3E9FD;} + .d2-1010277928 .color-B4{color:#E3E9FD;} + .d2-1010277928 .color-B5{color:#EDF0FD;} + .d2-1010277928 .color-B6{color:#F7F8FE;} + .d2-1010277928 .color-AA2{color:#4A6FF3;} + .d2-1010277928 .color-AA4{color:#EDF0FD;} + .d2-1010277928 .color-AA5{color:#F7F8FE;} + .d2-1010277928 .color-AB4{color:#EDF0FD;} + .d2-1010277928 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1010277928);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1010277928);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1010277928);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1010277928);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1010277928);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1010277928);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1010277928);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1010277928);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]>сетевая топологиятабличное представление (.csv)внутренняя модель (Python)диаграмма (.svg)описание для Netloom (.yaml)средство развёртывания сетевой топологии (Netloom)ручное заданиепреобразование кодомпреобразование кодом (py-d2)преобразование кодом + + + + + diff --git a/Latex/files/topology.yaml b/Latex/files/topology.yaml new file mode 100644 index 0000000..bf7ac14 --- /dev/null +++ b/Latex/files/topology.yaml @@ -0,0 +1,78 @@ +meta: + id: topology.yaml + name: topology.yaml +networks: +- name: NA +- name: NB +- name: NC +nodes: +- role: host + name: H1 + interfaces: + eth1: + ip: null + network: NA + gateway: null + index: 1 + eth2: + ip: null + network: NB + gateway: null + index: 2 + bridges: [] + vlans: [] +- role: host + name: H2 + interfaces: + eth1: + ip: null + network: NA + gateway: null + index: 1 + bridges: [] + vlans: [] +- role: host + name: H3 + interfaces: + eth1: + ip: null + network: NA + gateway: null + index: 1 + bridges: [] + vlans: [] +- role: host + name: H4 + interfaces: + eth1: + ip: null + network: NB + gateway: null + index: 1 + bridges: [] + vlans: [] +- role: host + name: H5 + interfaces: + eth1: + ip: null + network: NC + gateway: null + index: 1 + bridges: [] + vlans: [] +- role: host + name: H6 + interfaces: + eth1: + ip: null + network: null + gateway: null + index: 1 + eth2: + ip: null + network: NC + gateway: null + index: 2 + bridges: [] + vlans: [] diff --git a/example/0_vvedenie.tex b/example/0_vvedenie.tex index 5118af3..1e7516b 100644 --- a/example/0_vvedenie.tex +++ b/example/0_vvedenie.tex @@ -28,7 +28,7 @@ На примере (рис. \ref{fig:example}), видно, что для одного и того же графа работ могут быть построены разные расписания. Так, в расписании 1 целевая функция равна 9 и достигается в момент выполнения работы $V_2$. В расписании 2 пиковое использование ресурса достигает 11 во время выполнения работ $V_3$ и $V_4$. Таким образом, в расписании 1 целевая функция меньше, чем в расписании 2. -\begin{figure}[h] +\begin{figure}[htbp] \centering \includegraphics[width=\textwidth]{pictures/example.png} \caption{Граф работ и возможные расписания для него}