Портовые графы для моделирования телекоммуникационных сетей

УДК 519.179.2

Портовые графы для моделирования телекоммуникационных сетей

Кручинин С.В.

ООО «ВЭЛБОРН» г. Воронеж

Аннотация. На основе опыта разработки САПР телекоммуникационных сетей автор предлагает инструмент для описания телекоммуникационных сетей и иных сетевых явлений с целью моделирования, анализа, построения САПР и АСУ. Предложена абстракция портового графа, являющаяся расширением идеи графа.

Ключевые слова: телекоммуникации; сети; порты; граф.

Статья поступила в редакцию 19.06.2017.

Portal graphs in network modelling

Kruchinin S.V.

Wellborn LLC. Russia, Voronezh

Abstract. Based on the experience of developing CAD systems for telecommunications networks, the author offers a tool for describing telecommunication networks and other network phenomena for modeling, analysis, CAD and ACS construction. Offset of the port graph is proposed, which is an extension of the graph's idea.

Key words: telecommunications; network; port; graph.

The article was received on 19.06.2017.

Введение. В процессе разработки ПО, ориентированного на поддержку функционирования телекоммуникационных систем, таких систем как САПР топологий сетей и телекоммуникационных схем, системы мониторинга, моделирования телекоммуникационных систем возникает задача представления информации о топологии сети, как в виде графического отображения, так и для внутреннего хранения и передачи по сети [1 - 3].

Основной принцип создания таких сетей базируется на теории графов, где вершиной является телекоммуникационное устройство, а ребрами - линии связи. При этом в качестве «телекоммуникационного устройства» может выступать группа устройств, таким образом имеет смысл говорить о вложенных графах.

Также для описания сетей топологии «шина» и радиосетей может потребоваться использовать гиперграфы, где одна дуга может соединять несколько вершин. При разработке САПР одним из подходов была реализация такой дуги как особой вершины, с которой соединены другие дуги. Такой подход может быть интересен тем, что при замене топологии «шина» на топологию «звезд» такое мнимое устройство заменяется на действительное: концентратор (хаб/ИиЬ) или коммутатор (свитч/в,ш1:сИ). Тем не менее, при изображении сложных схем ребро гиперграфа само может представлять граф, где висячие вершины представляют связи с настоящими устройствами, а вершины со степенью большей единицы - необходимы для более удобного отображения схемы. При вычислении связности устройств все такие вершины будут удаляться, пока не получится граф с одной центральной вершиной, а остальные вершины - висячие. При этом центральная вершина представляет саму сеть, висячие вершины - соединения с телекоммуникационными устройствами.

Постановка задачи. Если устройство имеет несколько каналов связи, свойства связи (тип среды передачи: витая пара, оптоволокно, радиоканал, скорость, режим и т.д.) можно приписать ребру. Но на практике стоит различать устройство и его сетевые интерфейсы (порты). Это обусловлено и архитектурой аппаратного обеспечения, и особенностями программного обеспечения. Так процессами, выполняемыми в ЭВМ устройства, управляет операционная система, в большинстве современных

операционных систем стек протоколов TCP/IP реализован в составе ядра операционной системы. За сетевые же интерфейсы отвечают соответствующие драйвера (модули ядра в исполнении модульной операционной системы). Каждый сетевой интерфейс обладает уникальными особенностями, позволяющими однозначно его идентифицировать. Это аппаратный адрес (MAC-48), сетевой адрес (IPv4 или IPv6 и маска сети), настройки режима работы и статистика. В свою очередь, требуется модель, формализующая подобное уточнение и позволяющее использовать его в разработке математических и информационных моделей и в программировании соответствующего ПО.

Таким образом, на практике при отображении схем связи мы использовали не две сущности (вершина, ребро) а три (устройство, порт, ребро). При этом действовали следующие правила: ребро может соединять только порты, к устройству может быть присоединен порт. Напрямую устройства к ребрам (линиям связи не присоединяются). Для реализации схем вида «шина» или «радиосеть» могут применять гипер-ребра, либо использоваться «виртуальные» устройства (но они в этом случае также присоединяются через «порты»).

Таким образом, мы можем прийти к идее об обобщении графа наряду с уже используемым математическим аппаратом, пригодным для описания телекоммуникационных сетей, таким как графы, гиперграфы (для описания топологии шина и звезда, для описания сети на уровнях 2, 3 и выше модели OSI/ISO), мультиграфы (для описания нескольких параллельных подключений для устройств, например, два устройства одновременно подключены по IEEE 802.3 Ethernet и IEEE 802.11 Wi-Fi).

Формализация

Портовым графом мы назовем граф G(D,P,C), где D - множество вершин-устройств (от английского Devices - устройства), P-множество вершин-портов (от английского Ports -порты), C - множество ребер, связанных следующим отношением (от английского Connections - соединения):

Никакие две вершины из множества D не могут быть связан с помощью ребер из C, т.е.

VG(DPC) Vdi,d2 eD Ъс= (di,d))eC

При этом две вершины из множества P могут быть связаны ребром, т.е.

3 G(DP,Q3pbpeP 3c = (pi,p2) e C.

Отношение между вершинами из Б и вершинами из Р необходимо задавать аналогично отношению между вершин и ребер для графа, т.е. с помощью матрицы инцидентности, матрицы смежности и т.п.

Также можно расширить множество С ребер, связывающих вершины аеБ множеством Cd ребер, связывающих реРисеБ Ср+а = С и Са

В таком случае мы получим второй вариант отображения портового графа, где есть вершины двух типов (Р и Б) и ребра двух типов (с=(р1,р2), се С, рьр^еРи Срс=(рс), CpdеСс, реР, се Б).

При этом не существует ребер, связывающих вершины из Б, т.е. V dl/d2еDЪcdс=(dl,d2) е Ср+а

Это обусловлено тем, что устройства подключаются к другим устройствам через порты. Технически могут использоваться 1оорЬаск интерфейсы для привязке к устройству сетевых адресов, не привязанных к физическим интерфейсам (1о0, 1о1 и т.д.) но при формализации таких схем интерфейсы 1оорЬаск также должны отображаться в виде вершин-портов реР.

Одна вершина из Б может быть связана с несколькими вершинами р,

3 в(Р,Б,Ср+с) 3 с, Зрь.рп 3 (Ср, Сс) е Ср+с

П= \(Ср,, С))\ > 1, ¡=1..П

но для каждого реР (для случая телекоммуникационных сетей) существует только одна вершина СеБ, связанная с р.

V реР 3!СеБ 3!Ср= (рС) е Ср+а

Не существует вершин р, не связанных с ё, то есть изолированных вершин в множестве Р нет.

V G(P,D,Cp+d) Ър{(Ср, С))} = 0

Но могут существовать вершины С, не связанные не с одним портом. Такая ситуация может быть если устройство не имеет ни одного сетевого интерфейса. Во множестве Б возможны изолированные вершины.

3 G(PD Ср+с) 3 ) V рЪ (Ср, Сс) е Ср+с

П=\( Ср, Сс) \ =0

Также может существовать вершина р, не имеющая ни одно связи с другой вершиной р.

3 G(P,D,Cp+d) 3р1 Ър2, (Ср1, Ср2) е С

Количество связей вершин р может быть равно нулю или единице, \ (Ср1, Ср2)\=0..1 если мы определим, что две вершины могут быть соединены только одним ребром, либо

иметь значения 0, 1 или больше, если мы определим, что в схеме допустимы гипер-ребра (для топологий шина и радиосетей).

Возможно два варианта изображения портового графа.

Первый вариант, когда в О имеется три вида сущностей: вершины-устройства, вершины-порты и ребра, по отношению к графу, имеющему два вида сущностей (вершина и ребро).

Такой вариант портового графа изображен на рис. 1

а

Рис. 1. Портовый граф. Имеется три вершины из множества Б (устройств), по три вершины из множества Р (портов), инцидентных вершинам из Б, имеется четыре ребра из множества С, связывающих вершины-порты. Имеется одна висячая вершина-порт.

Портовый граф может быть изображен в виде мульти-графа, имеющего кратные ребра, тогда под портами будем понимать уникальное соответствие каждой вершины и каждой дуги мультиграфа. Имеется однозначное соответствие между вершиной-портом в портовом графе и инцидентностью между вершиной и дугой в мультиграфе. Таким образом для мультиграфа (см. рис.2) каждый порт р является парой для инцидентных ребра и вершины. Но отметим, что для портового графа инцидентность должна быть определена не только для пар (вершина-порт, ребро), но и для пар (вершина-устройство, вершина-ребро), что может быть сделано несколькими способами.

С1

Рис. 2. Изображенный на рис.1 портовый граф может быть изображен в виде мультиграфа, где вершины ёз и ё2 связывают два кратных ребра сз и с4.

Вернемся к рис.1. изображающему портовый граф. Он более информативен, чем мультиграф на рис.2, так как порты являются не просто обозначением инцидентности1 вершины и ребра, но могут и нести дополнительную информацию (сетевые адреса Ь2 и Ь3, режимы работы и т.д.).

Фактически при рассмотрении портового графа вершины реР ведут себя по отношению к ёеБ как ребра, а по отношению к сеС как вершины. Мы полагаем, что можно найти обобщения графов и большего порядка, если вводить достаточное число сущностей, отличное от 2 (графа) и 3 (портовые графы). Что же касается портового графа, его можно представить и в виде графа, не сводя к мультиграфу, а напротив, воспользовавшись подобием вершин р по отношению к вершинам а ребрам графа. Для этого, воспользуемся описанным свойством портового графа, что существует только одна связь (р,а) для каждого р, и изобразим ее в виде дополнительных ребер, отличных от уже присутствующих в портовом графе.

Расширение множества С ребрами, показывающими связь р и а до множества Ср+а позволяет изобразить портовый граф в виде обычного графа, где имеются вершины и ребра, но вершины и ребра помечены, как имеющие один из двух типов. Для вершин это признак принадлежности множеству Б или Р, для ребер - множеству С или Са соответственно. Портовый граф, изображенный на рис. 1 в отображенном виде представлен на рис.3.

Такое отображение назовем отображенным портовым графом.

Рис.3. Портовый граф (рис.1, рис.2) отображен на граф с добавлением ребер, соответствующих отношениям вершин р к вершинам а.

Мы полагаем, что дополнительные ребра из Са являются менее значимыми по информативности, нежели дополнительные вершины-порты, вводимые для мультиграфа. Таким образом портовый граф (рис.1) более информативен, чем мультиграф (рис.2), так как содержит больше релевантной информации, и более информативен чем отображенный портовый граф (рис.3.), так как содержит меньше избыточной информации.

При этом, с одной стороны, отображение портового графа на обобщенный портовый граф может быть полезно для исследования свойств, в том числе методами раскраски графа, доступными для теории графов.

Кроме того, мультиграфы могут быть аналогичным образом отображены в портовые графы и отображенные портовые графы.

Выводы:

Портовые графы естественным образом являются обобщением идеи мультиграфов (мультиграф сводим к портовому графу, так как на каждое ребро присутствует своя вершина-порт,

а исходная вершина становится устройством, к которому присоединены порты), но при этом дополняется идеей гиперграфа. Портовый гиперграф - портовый граф, у которого несколько портов соединены гиперребром (топология шина, радиосеть).

Нами рассмотрены основные свойства портового графа и механизм отображения, связывающий портовые графы, графы и мультиграфы.

Механизм отображения также может быть применен и к мультиграфам, имеющим кратные ребра, которые могут быть изображены в виде портового графа или отображенного портового графа.

Как следствие, гиперграфы и мультиграфы, служащие для моделирования сети могут быть сведены к таком производному портовому графу.

Портовые графы могут использоваться для описания и моделирования телекоммуникационных сетей, в иных отраслях знания, использующих графы, идея портовых графов может быть первой в ряде обобщений графов для сущностей более высокого порядка, чем вершина, ребро, и вершина-устройство, вершина-порт, ребро.

Заключение. На момент написания статьи нами была проведена дополнительная проверка новизны исследования, а именно, не введено ли в оборот понятие портового графа уже на момент написания статьи. Похожий по смыслу, но не идентичный аппарат применяется для описаний потоковых графов, где также применяется обобщение графа, дополняющее его рядом сущностей, среди которых также присутствует порт. В частности, вершинам потокового графа приписываются упорядоченные множества входов портов (в которые входят дуги, но не более одной для одного порта) и выходных портов (из которых выходят дуги) [4]. Отличие потокового графа от портового графа заключается в том, что в системах телекоммуникаций, для которых введена формализация портового графа, как правило, не выделяются входные и выходные порты (работающие в полнодуплексном либо полудуплексном режиме). Тем не менее, мы можем предположить, что потоковый и портовый графы являются родственными обобщениями, для которых может быть получено обобщение более высокого порядка. Это дополнительно под-

тверждает актуальность рассматриваемого аппарата и необходимость его применения в разнообразных отраслях компьютерных наук.

Библиографический список:

1. Кручинин С.В., Кузнецов А.М., Зотов С.В. Графическое ядро визуализации и анализа инженерных схем//Свидетельство о государственной регистрации программа для ЭВМ № 2011618938 от 27.09.2011. -Федеральная служба по интеллектуальной собственности, патентам и товарным знакам.

2. Кручинин С. В. Математическая модель акторов телекоммуникационной сети в проектировании САПР//Известия Волгоградского государственного технического университета. -2014. -Т. 20. № 6 (133). -С. 123-131.

3. Кузнецов А.М. Реализация математической модели мультиграфа мобильных сетей транспортных средств // Научно-исследовательские публикации. 2016. № 5 (37). С. 50-54.

4. Гордеев Д. С. Визуализация внутреннего представления программ в системе функционального программирования SFP. - Новосибирск, 2004. - 54 с. -

[Текст]http://www.iis.nsk.su/files/articles/sbor_kas_16_gordeeY.pdf Об авторе:

Кручинин Сергей Владимирович - главный научный сотрудник, ООО «ВЭЛБОРН», г. Воронеж.

E-mail: siblis@yandex.ru

About the author:

Kruchinin Sergei Vladimirovich - Chief Research Scientist, Candidate of political sciences, Wellborn LLC, Voronezh.