\section{Состав информации о конфигурации сети виртуальных машин} \label{sec:Chapter1_1} \index{Chapter1_1} Под конфигурацией сети виртуальных машин в данной работе понимается формализованное описание набора виртуальных машин и связей между ними, необходимое для развертывания сетевой топологии лабораторного стенда. Такое описание должно фиксировать не только структуру сети ВМ, но и параметры элементов сети, необходимые для настройки ВМ. В модель конфигурации сети ВМ входят следующие элементы и поля: \begin{enumerate} \item \textbf{Топология сети} Топология представляет собой полное описание рассматриваемой конфигурации. Она объединяет все устройства и сети, входящие в состав лабораторного стенда. В составе топологии фиксируются: \begin{itemize} \item список устройств; \item список сетей; \end{itemize} \item \textbf{Устройство} Устройство соответствует отдельному элементу стенда (виртуальной машине). В зависимости от назначения оно может рассматриваться как хост, маршрутизатор или коммутатор. Такое деление нужно для указания роли устройства в топологии, но все эти элементы имеют общую структуру описания. Для устройства задаются: \begin{itemize} \item \textbf{имя устройства}~--- уникальное обозначение элемента в пределах топологии; \item \textbf{роль устройства}~--- назначение элемента в сети, например хост, маршрутизатор или коммутатор; \item \textbf{набор сетевых интерфейсов}~--- перечень интерфейсов, принадлежащих данному устройству. \end{itemize} Одно устройство может иметь один или несколько сетевых интерфейсов. Каждый интерфейс принадлежит ровно одному устройству. \item \textbf{Сетевой интерфейс} Сетевой интерфейс описывает точку подключения устройства к сети. Через интерфейсы задаются адресация, принадлежность к сетям, VLAN и отношения между физическими или логическими интерфейсами. Для интерфейса задаются: \begin{itemize} \item \textbf{имя интерфейса}~--- обозначение интерфейса внутри устройства; \item \textbf{тип интерфейса}~--- характеристика интерфейса, например физический, виртуальный, VLAN-интерфейс или bridge-интерфейс; \item \textbf{адаптер}~--- сведения о сетевом адаптере, с которым связан интерфейс; \item \textbf{подчинённые интерфейсы}~--- список интерфейсов для bridge-интерфейса; \item \textbf{родительский интерфейс}~--- интерфейс, на основе которого создан vlan-интерфейс; \item \textbf{IP-адрес}~--- адрес интерфейса в соответствующей сети; \item \textbf{сеть}~--- имя сети или сегмента, к которому подключён интерфейс; \item \textbf{маска подсети}~--- параметр, определяющий размер IP-сети; \item \textbf{шлюз по умолчанию}~--- адрес маршрутизатора, используемый для выхода из сети; \item \textbf{VLAN}~--- идентификатор виртуальной локальной сети; \item \textbf{устройство-владелец}~--- устройство, которому принадлежит данный интерфейс. \end{itemize} Интерфейс связан с одним устройством и может быть включён в одну сеть. При этом сеть может содержать несколько интерфейсов разных устройств. \item \textbf{Сеть} Сеть описывает общий сетевой сегмент, к которому могут быть подключены интерфейсы устройств. Она используется для группировки интерфейсов и задания их "физической" связи. Для сети задаются: \begin{itemize} \item \textbf{имя сети}~--- обозначение сетевого сегмента в пределах топологии; \item \textbf{список подключённых интерфейсов}~--- интерфейсы устройств, входящие в данную сеть; \end{itemize} Одна сеть может объединять один или несколько интерфейсов. Каждый интерфейс в текущей модели относится к одной сети или остаётся без указания сети, если этот параметр ещё не определён. \end{enumerate} Так как на этапе описания конфигурации часть параметров может быть неизвестна, необходимо допускать частично заполненные данные. Это позволяет зафиксировать структуру сети и часть параметров, а затем уточнять отдельные поля без изменения общей структуры. \todo[inline]{Мне очень не нравится факт "фиксируем стуктуру, меняем, но "общую" мы её не меняем". + термин поля тут ещё не актуален, ибо не таблица}