wip
This commit is contained in:
+16
-16
@@ -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, т.к. действительно любой другой также можно было бы использовать, выбирали только потому что библиотека простая и диаграммки красивые}
|
||||
|
||||
Reference in New Issue
Block a user