This commit is contained in:
2026-05-25 10:17:23 +03:00
parent 2bc55b2cf7
commit fd0aaa0b18
7 changed files with 10 additions and 8 deletions
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+4 -4
View File
@@ -6,7 +6,7 @@
При разработке табличного представления конфигурации сети виртуальных машин рассматривались два варианта организации данных: единая таблица (представление аналогично первой нормальной форме в контексте СУБД \cite{DB} ) и раздельные таблицы (аналогично третьей нормальной форме в контексте СУБД). Оба варианта позволяют структурированно описать сеть, однако различаются сложностью редактирования данных в случае непосредственной работы с таблицами. При разработке табличного представления конфигурации сети виртуальных машин рассматривались два варианта организации данных: единая таблица (представление аналогично первой нормальной форме в контексте СУБД \cite{DB} ) и раздельные таблицы (аналогично третьей нормальной форме в контексте СУБД). Оба варианта позволяют структурированно описать сеть, однако различаются сложностью редактирования данных в случае непосредственной работы с таблицами.
Разберём оба представления на примере топологии, изображённой на рисунке~\ref{fig:exmpl1} Разберём оба представления на примере топологии, изображённой на рис.~\ref{fig:exmpl1}
\begin{figure}[htbp] \begin{figure}[htbp]
@@ -21,7 +21,7 @@
При представлении данных в виде одной таблицы каждая строка содержит сведения об отдельном элементе или связи конфигурации: имя узла, интерфейс, адреса, принадлежность сети и т.д. Такое представление остаётся достаточно простым для ручного заполнения и позволяет сразу видеть основную структуру конфигурации. При представлении данных в виде одной таблицы каждая строка содержит сведения об отдельном элементе или связи конфигурации: имя узла, интерфейс, адреса, принадлежность сети и т.д. Такое представление остаётся достаточно простым для ручного заполнения и позволяет сразу видеть основную структуру конфигурации.
Пример представления конфигурации сети в 1НФ приведен в таблице \ref{tab:1nf}. Пример представления конфигурации сети в единой таблице приведен в таблице \ref{tab:1nf}.
\begin{table}[h!] \begin{table}[h!]
\centering \centering
@@ -49,7 +49,7 @@ com\_right & Switch & eth3 & C & \\
При представлении данных в виде раздельных таблиц сведения о конфигурации распределяются по основным видам сущностей: узлы (устройства), интерфейсы, сетевые сегменты и связи. Каждой из этих сущностей сопоставляется отдельная таблица. Такой подход уменьшает дублирование данных по сравнению с единой таблицей, однако делает представление более громоздким. Для понимания одной связи приходится обращаться сразу к нескольким таблицам. При представлении данных в виде раздельных таблиц сведения о конфигурации распределяются по основным видам сущностей: узлы (устройства), интерфейсы, сетевые сегменты и связи. Каждой из этих сущностей сопоставляется отдельная таблица. Такой подход уменьшает дублирование данных по сравнению с единой таблицей, однако делает представление более громоздким. Для понимания одной связи приходится обращаться сразу к нескольким таблицам.
Пример представления конфигурации сети в 3НФ приведен в таблицах \ref{tab:3nf1} - \ref{tab:3nf3}. Пример представления конфигурации сети в раздельных приведен в таблицах \ref{tab:3nf1}~-- \ref{tab:3nf3}.
\begin{table}[H] \begin{table}[H]
\centering \centering
\small \small
@@ -118,4 +118,4 @@ com\_right & Switch & eth3 & C & \\
В качестве основного пользовательского представления была выбрана единая таблица. Она удобнее для ручного заполнения, проще воспринимается при описании лабораторных стендов и не требует постоянного перехода между несколькими связанными таблицами. В качестве основного пользовательского представления была выбрана единая таблица. Она удобнее для ручного заполнения, проще воспринимается при описании лабораторных стендов и не требует постоянного перехода между несколькими связанными таблицами.
Единая таблица используется как форма ввода, а при дальнейшей обработке данные могут преобразовываться во внутреннюю модель, где отдельно выделяются узлы, интерфейсы и связи. Такой подход сохраняет простоту заполнения таблицы и одновременно позволяет использовать данные для экспорта во входные форматы средства развертывания сетевых конфигураций или средства построения диаграмм топологии. Единая таблица используется как форма ввода с помощью табличного процессора (например, LibreOffice Calc), а при дальнейшей обработке данные могут преобразовываться во внутреннюю модель, где отдельно выделяются узлы, интерфейсы и связи. Такой подход сохраняет простоту заполнения таблицы и одновременно позволяет использовать данные для экспорта во входные форматы средства развертывания сетевых конфигураций или средства построения диаграмм топологии.
+3 -1
View File
@@ -23,7 +23,7 @@
Также необходима разработка механизмов преобразования модели. Основными преобразованиями являются импорт данных из табличного описания во внутреннюю модель, экспорт во входные языки средства развертывания сетевых конфигураций \cite{netloom} и средства построения диаграмм (D2). Также необходима разработка механизмов преобразования модели. Основными преобразованиями являются импорт данных из табличного описания во внутреннюю модель, экспорт во входные языки средства развертывания сетевых конфигураций \cite{netloom} и средства построения диаграмм (D2).
Программная реализация выполнена на языке Python. Объём написанного кода: 710 строк, 48 килобайт. Код выложен на веб-сервисе Github \cite{github}. На рисунке \ref{fig:schema} представлен основной процесс работы с утилитой. Построение диаграмм происходит с помощью модуля py-d2 (пример на рис \ref{fig:diagram}). Программная реализация выполнена на языке Python. Объём написанного кода: 710 строк, 48 килобайт. Код выложен на веб-сервисе Github \cite{github}. На рис. \ref{fig:schema} представлен процесс работы с утилитой. Построение диаграмм происходит с помощью модуля py-d2 (пример на рис. \ref{fig:diagram}).
\begin{figure}[H] \begin{figure}[H]
@@ -48,6 +48,8 @@
Пример экспортированного YAML-описания конфигурации сети приведён в листинге~\ref{lst:yaml-config}. Пример экспортированного YAML-описания конфигурации сети приведён в листинге~\ref{lst:yaml-config}.
\newpage
\lstinputlisting[ \lstinputlisting[
language=yaml, language=yaml,
caption={Фрагмент YAML-описания конфигурации сети виртуальных машин}, caption={Фрагмент YAML-описания конфигурации сети виртуальных машин},
+1 -1
View File
@@ -6,7 +6,7 @@
\item выполнен анализ существующих подходов к описанию и визуализации сетевых конфигураций; на его основе выбран способ редактирования конфигурации с использованием табличного представления во внешнем редакторе; \item выполнен анализ существующих подходов к описанию и визуализации сетевых конфигураций; на его основе выбран способ редактирования конфигурации с использованием табличного представления во внешнем редакторе;
\item разработана модель для представления конфигурации сети виртуальных машин в виде структурированных данных, позволяющая описывать устройства, интерфейсы, сети и связи между ними, а также оставлять отдельные параметры незаполненными; \item разработана модель для представления конфигурации сети виртуальных машин в виде структурированных данных, позволяющая описывать устройства, интерфейсы, сети и связи между ними, а также оставлять отдельные параметры незаполненными;
\item выполнено сопряжение табличного представления с разработанной моделью данных, что обеспечивает ввод, редактирование и последующую обработку описания конфигурации; \item выполнено сопряжение табличного представления с разработанной моделью данных, что обеспечивает ввод, редактирование и последующую обработку описания конфигурации;
\item разработана программа преобразования табличного описания во входной язык средства визуализации конфигурации сети виртуальных машин и средства развертывания конфигурации. \item разработана программа преобразования табличного описания во входные языки средства визуализации конфигурации сети виртуальных машин и средства развертывания конфигурации.
\end{itemize} \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) \url{https://github.com/MrBlenny/py-d2} (accessed May~23, 2026)
\bibitem{DB} \bibitem{DB}
\textbf{Дейт \;К.\;Дж.} Введение в системы баз данных (8-е изд.)~// Издательский дом "Вильямс". 2005. 1327 с. Дейт К.Дж. Введение в системы баз данных (8-е изд.)~// Издательский дом "Вильямс". 2005. 1327 с.
\bibitem{netloom} \bibitem{netloom}
+1 -1
View File
@@ -49,7 +49,7 @@
\Consultant{Курячий Георгий Владимирович} \Consultant{Курячий Георгий Владимирович}
\ConsultantDegree{} \ConsultantDegree{}
\Abstract{В данной работе рассматривается задача разработки средства описания конфигурации сети виртуальных машин для лабораторных работ. Изучены существующие решения и выявлены их недостатки. Разработана и реализована модель данных для представления конфигурации сети. Разработаны и реализованы программные инструменты для редактирования, графического представления и вывода в структурированном текстовом формате конфигурации сети, входном для средства развертывания сети ВМ.} \Abstract{В данной работе рассматривается задача разработки средства описания конфигурации сети виртуальных машин для лабораторных работ. Изучены существующие решения и выявлены их недостатки. Разработана и реализована модель данных для представления конфигурации сети. Разработаны и реализованы программные инструменты для редактирования, графического представления и вывода в структурированном текстовом формате конфигурации сети, входном для средства развертывания сети виртуальных машин.}
%%%% DON'T change this. It is here because .sty does not support cyrillic cp properly %%%% %%%% DON'T change this. It is here because .sty does not support cyrillic cp properly %%%%