Алгоритм системы поддержки принятия решений для развертывания протокола IPv6

Салтаев Михаил Викторович - аспирант Вологодского государственного технического университета. (г. Вологда)

Аннотация: На сегодняшний день внедрение протокола IPv6 является, наверное, одной из самых важных операций в мире телекоммуникаций. Однако до сих пор не существует четкого понимания, как же разворачивать новую технологию в существующей сети. В настоящей статье сделана попытка описать некий базовый алгоритм, который, по предположению автора, позволит создать такую систему, которая сможет анализировать телекоммуникационную сеть и давать советы на предмет внедрения протокола IPv6.

Ключевые слова: IPv6, протокол, многоагентные системы, нечеткая логика, телекоммуникационная сеть, имитационная модель.

Для того чтобы понять, почему же необходимо анализировать существующую сеть на «совместимость» с протоколом IPv6, сперва обратим внимание на существенные отличия его от IPv4. Изменения IPv6 по отношению к IPv4 можно поделить на следующие группы.

• Расширение адресации: в IPv6 длина адреса расширена до 128 бит (против 32 в IPv4), что позволяет обеспечить больше уровней иерархии адресации, увеличить число адресуемых узлов, упростить авто-конфигурацию.

• Спецификация формата заголовков: некоторые поля заголовка IPv4 отбрасываются или делаются опционными, уменьшая издержки, связанные с обработкой заголовков пакетов с тем, чтобы уменьшить влияние расширения длины адресов в IPv6.

• Возможность пометки потоков данных: введена возможность помечать пакеты, принадлежащие определенным транспортным потокам, для которых отправитель запросил определенную процедуру обработки, например, нестандартный тип TOS (вид услуг) или обработка данных в реальном масштабе времени.
• Идентификация и защита частных обменов: в IPv6 введена спецификация идентификации сетевых объектов или субъектов, для обеспечения целостности данных и при желании защиты частной информации. Основные характеристики IPv6 перечислены ниже.

• Встроенная поддержка протокола шифрования IPsec. [1]

Как видно, существенных изменений в протоколе IPv6 достаточно много. Отдельного внимания заслуживает увеличение поля для адреса до 128 бит, а также обязательное использование протокола IPSEC.  Данные обстоятельства могут свидетельствовать о наличии таких вопросов: а справится ли существующая инфраструктура с внедрением нового протокола? Насколько будет затратно его внедрение? По какой схеме или алгоритму проводить его внедрение, например, в крупной корпоративной сети?

Исходя из этих вопросов можно сформулировать следующие проблемы, требующие решения:
1)    Концептуальная задача – с чего начать внедрение протокола? Или более конкретно – необходима последовательность действий по разворачиванию протокола на универсальной сети;
2)    Оптимизационная задача – внедрение не должно привести к ухудшению качества сети, следовательно алгоритм должен учитывать это;
3)    Аналитическая задача – необходимо проанализировать различные варианты внедрения нового протокола и соответствующие последствия (поведение сети)
4)    Прикладная задача – превращение концептуальной идеи в прикладную – реализация алгоритма в виде программного обеспечения;

Совершенно очевидно, что для того, чтобы нам понять, можно ли в сети развернуть IPv6, для начала нам нужно понять, что это за сеть или, проще говоря, проанализировать ее. Благо на сегодняшний день существует немало механизмов, позволяющих получить информацию о сети в автоматическом режиме. Так, например, можно собрать частично информацию об активных устройствах сети по протоколу SNMP, узнать о «соседях» по протоколу CDP (если сеть из устройств фирмы Cisco). Часть информации безусловно можно получить и с помощью трассировки и ping'а.

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

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

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

В рамках данного исследования проанализировать возможность внедрения протокола IPv6 предполагается двумя способами – аналитическим при помощи аппарата нечеткой логики, и наглядным при помощи имитационных моделей сети.

Таким образом, общий алгоритм системы можно построить так:

Рисунок 1. Блок-схема разрабатываемого базового алгоритма

Так как в качестве реализации алгоритма предполагается использовать инструментарий многоагентных систем, то описание блоков дадим с привязкой к предполагаемым агентам.

1)    Блок «Сбор данных о сети» - представляется агентом, осуществляющим сбор информации с устройств по специализированным протоколам (таким, как SNMP, ICMP, CDP и т.д.). Цель – получить максимум информации в автоматическом режиме об существующих активных устройствах сети, также осуществляется сбор информации о связях между устройствами.
2)    Блок «Построение структуры сети» - строится модель сеть в виде графа. Потребуется для дальнейшего анализа загрузки связей.
3)    Блок «Корректировка пользователя» - агент-эксперт, обязательно необходим для уточнения деталей.
4)    Блок «Сбор параметров устройств» - представлен базой данных по устройствам. Обязательно необходим для выставления граничных условий при использовании операции нечеткой логики (в блоке «Включение анализа»).
5)    Блок «Конкретизация модели» - в модель добавляются критически значимые сервисы и параметры, которые могут влиять на загруженность сети.
6)    Блок «Включение анализа» - на данном этапе при помощи операций нечеткой логики над определенными лингвистическими переменными вычисляется возможность развертывания протокола IPv6 в данной сети.
7)    Блок «Имитационная модель» - выполняется параллельно с аналитической частью. Представляет собой построение сети в виде имитационной модели и получение результатов.
8)    Блок «Подготовка вывода» - на данном заключительном этапе сравниваются результаты аналитического и имитационного моделирования. Делается вывод о возможности внедрения протокола IPv6, формируются рекомендации.

Теперь посмотрим на упрощенную агентную структуру разрабатываемой системы (см. рис. 2).

Агент-парсер соответствует блоку «Сбор данных о сети» и отвечает за сбор исходных данных (разнородных по своей сути) и перевод их во внутренний язык системы. Агент представления осуществляет построение исследуемой сети в виде графа. Агент базы данных объединяет в себе все блоки алгоритма, так или иначе содержащих статическую информацию об объектах. Агент моделирования в данном случае выполняет функции как моделирования исследуемой сети, так и аналитического обследования. Агент исполнитель – выходной блок алгоритма, отвечающий за дачу конкретных рекомендаций по исследуемой проблеме.

Рисунок 2. Упрощенная схема разрабатываемой многоагентной системы

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

Список литературы:

1.    Семенов Ю.А. 4.4.1.1 Адресация IPv6 // book.itep.ru: Telecommunication technologies - телекоммуникационные технологии. 2012. URL: http://book.itep.ru/4/44/ip6_4411.htm (дата обращения: 23.06.2012).

Интересная статья? Поделись ей с другими: