Исследование возможностей применения тензорного метода анализа для управления информационными потоками в сетяхна базе стека протоколов TCP/IP

УДК 621.391.004

М. Н. Петров, Д. Ю. Пономарев, К. Э. Гаипов, В. В. Золотухин

ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ ПРИМЕНЕНИЯ ТЕНЗОРНОГО МЕТОДА АНАЛИЗА ДЛЯ УПРАВЛЕНИЯ ИНФОРМАЦИОННЫМИ ПОТОКАМИ В СЕТЯХ НА БАЗЕ СТЕКА ПРОТОКОЛОВ TCP/IP

Рассматривается возможность применения тензорного метода для расчета показателей качества обслуживания сети, на базе стека протоколов TCP/IP. На основании полученных качественных показателей будет приниматься решения о выборе алгоритма управления потоками IP-пакетов.

Одной из составляющих механизма обеспечения качества обслуживания, как в архитектуре дифференциальных, так и в архитектуре интегральных услуг является наличие сервера управления политикой качества обслуживания в сети, роль которого заключается в удаленном администрировании узлов с поддержкой механизмов QoS (Quality of Service (качество обслуживания)), а также сбор статистической информации о функционировании узла. Как правило, администрирование сводится к непосредственному подключению к узлу с помощью протоколов удаленного доступа и ввода соответствующих команд для настройки механизмов QoS, или для распространения правил политики на все узлы сети используется протокол COPS (Common Open Policy Service (общая открытая служба политики), RFC 2748). Средства мониторинга, например такие как Nagios, Intellipool Network Monitor, NCM (Network complex monitor), Alchemy Eye, IPCheck Server Monitor, Friendly Net Viewer и др., предназначены для сбора статистической информации и отображение её в виде графиков, диаграмм или таблиц, на основании которых инженер должен делать выводы о функционировании сети и осуществлять настройку сетевых узлов и протоколов. Актуальность рассматриваемой темы заключается в том, что на сегодняшний день нет единого подхода, как необходимо вести политику поддержки QoS сети. Обеспечение качества обслуживания в таком случае полностью зависит от уровня знаний и навыков администратора сети. В качестве единого подхода к выбору стратегии управления показателями качества обслуживания элементов сети авторы предлагают использовать тензорный метод анализа.

К управляемым и управляющим протоколам для обеспечения заданного качества обслуживания можно отнести следующие протоколы: IP, ICMP, OSPF, IS-IS, EIGRP, TCP, telnet, SSH, r-login, SNMP, CMIP, RSVP, COPS.

В протоколе ICMP (Internet Control Message Protocol, RFC-792, 1256-й протокол передачи команд и сообщений об ошибках) определены сообщения, уведомляющие об ошибках, произошедших в сети, но не все эти сообщения способны влиять на управления потоками данных в IP-сети. В протоколе ICMP определено только одно сообщение, которое способно выполнять такую функцию, - «Подавление источника», а поле «Тип сообщения» в пакете ICMP имеет значение 4. Сообщение о подавлении источника отсылается приемником информации отправителю с целью снижения скорости передачи, при этом скорость снижается на значение, установленное администратором сети.

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

Следующий протокол, который способен контролировать скорость информационного обмена в сетях IP, - это протокол TCP (Transmission Control Protocol (протокол управления передачей данных), RFC-793). Данный протокол может применяться только для передачи непотокового трафика, так как использование механизмов подтверждения и повторного запроса, определенного в протоколе TCP, может внести слишком большие задержки в передачу пакета и негативно скажется на качестве принимаемой информации. Механизмами управления в протоколе TCP являются метод скользящего окна и система таймеров. Они определяют, сколько байт информации может одновременно передать источник без подтверждения. Но следует отметить, что не все устройства (коммутаторы и маршрутизаторы) в сети на базе IP обрабатывают протокол TCP. Устройствами, обрабатывающие протокол TCP, являются оконечные узлы сети: хосты пользователей и различные серверы приложений и баз данных. Среды основных параметров, которыми необходимо манипулировать в ходе передачи данных по протоколу ТСР, необходимо выделить размер окна, таймер повторной передачи, таймер ожидания пакета и среднее время двойного оборота. Таймер повторной передачи настраивается на передающем устройстве и его истечение свидетельствует о том, что подтверждения на переданные пакеты за время, отведенное этим таймером, не пришли. Срабатывание таймера, как правило, происходит в том случае, когда пакет утерян или поврежден. Таймер ожидания пакета настраивается на приемном устройстве и его истечение показывает, что время, отведенное на ожидание следующего пакета, истекло, в этом случае посылается пакет с номером утерянного пакета.

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

коэффициент, на основании которого трафик, предназначенный одному пользователю, будет распределяться по различным направлениям. Тем самым будет достигнута необходимая загрузка интерфейсов коммуникационных устройств. К протоколам маршрутизации, использующим различные метрики, относятся OSPF (Open Shortest Path First (первый путь открывается первым), RFC-1247), IS-IS (Intermediate System to Intermediate System (связь между промежуточными системами)), EIGRP (Enhanced Interior Gateway Routing Protocol (улучшенный прокол маршрутизации внутреннего шлюза)).

Как и предыдущие протоколы, протокол IP содержит в своем заголовке необходимую информацию о том, как необходимо обрабатывать данный пакет. Основными полями заголовка IP являются поле «Адрес получателя и отправителя», поле, указывающее на протокол верхнего уровня, а также байт ToS (Type of Service (тип сервиса)) или его модификация - поле DSCP (Differential Service Code Point (указатель на код дифференциальных услуг)). Помимо полей заголовка, управляющей информацией в зависимости от модели маршрутизатора может быть размер пакета IP.

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

Основными функциями устройств третьего уровня по управлению трафиком являются механизмы организации очередей, профилирования и формирования трафика, которые могут настраиваться как непосредственно через консольный порт, так и удаленно посредством протоколов telnet (RFC-854), SNMP (Simple Network Management Protocol (простой протокол управления сетью), RFC-1157), CMIP (Common Management Information Protocol (протокол общей управляющей информации)), COPS.

Определено несколько различных способов организации очередей: простое приоритетное обслуживание, взвешенное обслуживание, взвешенное справедливое обслуживание, методы обслуживания очередей, основанные на методе раннего случайного обнаружения и специально разработанные для сетей, в которых на транспортном уровне используется протокол TCP [1-4].

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

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

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

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

Механизм взвешенного справедливого обслуживания подразумевает организацию n очередей, которые разбиты на к групп. В каждой группе находится m очередей. Между собой каждая группа работает по принципу приоритетного обслуживания, но внутри группы m очередей работают по принципу взвешенного обслуживания.

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

Помимо организации очередей, в устройствах третьего уровня реализуются механизмы профилирования и формирования трафика, такие как механизм «дырявого ведра» и «ведра маркеров», с помощью которых осуществляется сглаживание пульсаций трафика [1; 2].

Следующим этапом после выбора набора протоколов управления является настройка механизмов управления IP-трафиком. Решение данной задачи сводится к определению маршрутов прохождения IP-потоков, выбору размеров очередей для различных видов трафика, определению параметров задержек, вносимых как самим устройством, так и всем соединительным трактом, а также к определению скорости обработки пакетов в различных очередях. Кроме того, потоки в современных сетях не являются стационарными, а это значит, что параметры функционирования сетевых элементов должны динамически подстраиваться под изменения поведения потоков IP. Для анализа сложных систем авторами предлагается использование тензорного метода, предложенного в [5], а затем адаптированного к применению в телекоммуникационных сетях [6; 7].

Основоположником тензорной теории явился Г. Крон, который впервые применил тензорный метод к расчету электрических цепей [6]. Центральное место в тензорной методологии Г. Крона занимают два основных постулата обобщения:

- «метод анализа и окончательные уравнения, описывающие поведение сложной физической системы (с n степенями свободы), могут быть найдены последовательно при анализе простейшего, но наиболее общего элемента системы при условии, что каждая величина заменяется соответствующей матрицей размерности n (n-матрицей). Простейший элемент системы может иметь одну или несколько степеней свободы» [6];

- «новая система описывается тем же числом п-матриц и того же типа, что и старая система, но отличается от нее численными значениями компонент п-матриц; уравнения новой системы, записанное в п-матрицах, имеет тот же вид, что и уравнение старой системы; п-матрицы новой системы могут быть найдены из п-матриц старой системы с помощью рутинного преобразования» [6].

В качестве простейшего элемента сети 1Р можно взять модель системы массового обслуживания (СМО), обладающую следующими параметрами: интенсивностью поступления пакетов л, интенсивностью обслуживания пакетов м, загрузкой СМО с. Эти параметры связаны соотношением [7]:

л = мр.

При объединении простейших СМО в сеть, согласно первому постулату обобщения, уравнение (1) будет иметь матричный вид:

Л = М х Р,

где Л - вектор, элементы которого показывают интенсивность поступления 1Р-пакетов в каждую СМО, с количеством элементов, равным количеству СМО в 1Р-сети; М - квадратная матрица, элементы главной диагонали которой показывают интенсивность обслуживания 1Р-пакетов в устройстве, а остальные элементы - взаимное влияние отдельных СМО друг на друга, число столбцов и строк этой матрицы определяется количеством СМО в сети; Р - вектор загрузки, элементы которого показывают загрузку каждой СМО.

В тензорной методологии ограничение на выбор простейшей сети не накладывается, но в качестве простейшей, или примитивной (в терминологии тензорного анализа) сети предлагается выбрать сеть, которая состоит из такого же количества СМО, что и исследуемая, только между этими СМО отсутствуют связи. Для такой сети матричное уравнение (2) имеет простую форму записи, и в случае отсутствия взаимного влияния все элементы матрицы М, кроме диагональных, равны нулю.

В тензорной методологии определены три типа сетей: контурные, узловые и ортогональные, и используются два способа анализа таких сетей: узловой и контурный [5; 6]. Выбор того или иного метода анализа не имеет значения, а лишь определяется удобством применения.

Рассмотрим применение узлового метода анализа. В качестве примера возьмем маршрутизатор 1Р-пакетов, имеющий три порта: один принимающий, а два других передающих (рис. 1). Согласно узловому методу анализа составим примитивную сеть для данной сети (рис. 2).

Определим компоненты для примитивной сети (см. рис. 2) согласно формуле (2):

11 М1 0 0 р

1г = 0 т2 0 х Р2

1з 0 0 тз Рз

где л,- - интенсивности соответствующих СМО; м,- - интенсивности обслуживания пакетов соответствующей СМО; с,- - загрузка в соответствующей СМО.

I

Маршрутизатор

а 1

СМ01

СМО 2

СМО 3

Рис. 1. Маршрутизатор: а - ГР-иакеты; б - эквивалентная схема

Рис. 2. Примитивная узловая сеть

При объединении примитивных элементов в сеть (см. рис. 1, б) происходит перераспределение загрузок. Узловой метод анализа позволит установить матрицу перехода, с помощью которой осуществляется перераспределение загрузок при переходе от примитивной к исходной сети. Для перехода от примитивной сети к исходной определим матрицу А, которая связывает загрузки в СМО примитивной и исходной сетей следующим соотношением:

Р = А х Р',

где Р - вектор загрузок в ветвях примитивной сети; Р - вектор загрузок в исходной сети; А - матрица перехода.

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

Для установления такого преобразования необходимо определить инвариант относительно преобразования координат. В [7] в качестве инварианта выбрано уравнение

Р хЛ = Р хЛ .

Подставим уравнение (3) в формулу (4):

А хР хЛ = Р хЛ ^ Р х АТ хЛ = Р хЛ. (5) Произведя сокращение Р', получим

АТ хЛ = Л.

Подставим в уравнение (2) уравнения (3) и (6):

Л = М' хР' ^ АТ хЛ= М' хР' ^ АТ хМ хР =

= М' х Р ^ АТ х М х А х Р = М' х Р,

б

и произведем сокращение на P : 1 0 0 T

AT X M x A = M'. (8) M '= — 1 1 0 X

Определив по формулам (6) и (8) значения Л' и — 1 0 1

М' и подставив их формулу (2) Л' = М' х Р', решим это уравнение относительно Р . Результатом решения данного уравнения является вектор загрузок.

Для нахождения загрузок в отдельных ветвях необходимо полученное значение Р подставить в формулу

Рв = А х Р.

А для нахождения интенсивностей потоков, проходящих в отдельных ветвях, необходимо воспользоваться следующей формулой:

Л В = М х А х Р.

Произведем расчет для сети (см. рис. 1, б), в которую добавим вспомогательные загрузки узловых пар (рис. 3). Через эти загрузки будем выражать загрузки в примитивной сети и составлять матрицу перехода А.

Mi

0 0

M 2

0

1 0 0 T 11 11 — 12 —13

Л'= —1 1 0 X 12 = 12

—1 0 1 1з 1з

1 0 0 М1+М2+М3 —M2 —Мз

X —1 1 0 = — М 2 М 2 0 X

—1 0 1 —М 3 0 М 3

11 — 12 — 1з M1+M 2 + Мз М2 —Мз Ра

12 = М2 М2 0 X Pb

1з Мз 0 М3 Pc

М1+М2+М3 М 2 —М3 1 — 12 — 1

P= М2 М2 0 X 12

М3 0 М3 13

1 0 0 М1+М2+М3 М2 —М3

Pb = — 1 1 0 X — М2 М2 0

— 1 0 1 —М3 0 М3

м

Рис. 3. Исследуемая сеть

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

Я =Р„ >

' Р2 =-Р +Рь , .РР = -Ра +Р .

Выразим из этой системы матрицу А: 1 0 0 А= -1 1 0.

-1 0 1

Воспользуемся формулами (6), (8) и (9) для получения загрузки в соответствующих СМО исследуемой сети:

Соответственно получаем

—12 —13

12

13

Итак, тензорный метод позволяет достаточно легко описывать текущее состояние сети, при этом вычислительная сложность алгоритма невысока, так как она сводится к простым арифметическим операциям. Данное обстоятельство делает перспективным применение тензорного метода анализа в системах управления телекоммуникационными сетями. Уравнение (11) в явном виде описывает динамику поведения сети в зависимости от интенсивности поступления пакетов, что дает возможность определить гарантии по задержке и вероятности потерь для каждого потока в сети. А использование аналитических выражений для средней очереди и времени задержки из теории массового обслуживания позволит соответствующим образом отрегулировать значение параметров механизмов организации и обслуживания очередей.

Из вышеизложенного следует, что тензорный анализ имеет хорошие перспективы в качестве метода управления сетью IP. В частности, можно предложить следующую архитектуру управления сетью IP (рис. 4) согласующуюся с концепцией построения систем управления на базе протоколов SNMP, CMIP, COPS.

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

1. Петров, М. Н. Тензорная методология в информационных сетях / М. Н. Петров, Е. В. Веревкина, М. О. Захарченко ; НИИ систем. упр., волновых процессов и технологий. Красноярск, 2001.

2. Крон, Г. Тензорный анализ сетей / Г. Крон. М. : Сов. радио, 1978.

3. Пономарев, Д. Ю. Тензорный метод и качество обслуживания / Д. Ю. Пономарев // Инновации в ус-

X

ловиях развития информационно-коммуникационных технологий : материалы науч.-практ. конф. / под ред. В. Г. Домрачева, С. У. Увайсова ; Моск. ин-т электрон. машиностроения. М., 2007.

4. Кучерявый, Е. А. Управление трафиком и качество обслуживания в сети Интернет / Е. А. Кучерявый. СПб. : Наука и техника, 2004.

5. Шринивас, В. Качество обслуживания в сетях IP : пер. с англ. / В. Шринивас. М. : Вильямс, 2003.

6. Брайан, Х. Полный справочник по Cisco : пер. с англ. / Х. Брайан. М. : Вильямс, 2006.

7. Леммл, Т. CCIE: Cisco Certified Interwork Expert : учеб. руководство : пер. с англ. / Т. Леммл, Дж. Шварц. М. : Лори, 2002.

Рис. 4. Модель управления сетью на основе тензорного метода анализа

M. N. Petrov, D. Y. Ponomarev, K. E. Gaipov, V. V. Zolotuhin

POSSIBILITIES RESEARCH OF TENSOR ANALYSIS FOR TRAFFIC CONTROL

IN TCP/IP NETWORKS

TCP/IP traffic control is one of the most important tasks for providing given QoS level in modern communication. Tensor analyses present method for optimal distribution network recourses and more effective traffic control in TCP/IP networks.

УДК 519.8

Д. А. Дегтерев, С. Л. Сапунов

ЧИСЛЕННОЕ ИССЛЕДОВАНИЕ АНТ-АЛГОРИТМОВ ДЛЯ МНОГОМЕРНОЙ ЗАДАЧИ О РЮКЗАКЕ

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

Многомерная задача о рюкзаке является ЫР-трудной задачей. Приближенные алгоритмы, в том числе и ант-алгоритмы, позволяют найти субоптимальные решения для нее за полиномиальное время. Сформулируем многомерную задачу о рюкзаке [1]:

п п

У

]=1 ]=1

х, е {0,1}, ] = 1, 2,..., п , г = 1, 2,..., т.

Предполагается, что с] > 0, 0 < ау < Ь1,

I = 1,2,...,п , г = 1,2,...,т.

Стратегия поиска оптимального решения с помощью ант-алгоритмов хорошо соотносится с решением

задачи о многомерном рюкзаке [2]. Можно показать, что задача нахождения туристом оптимального набора предметов и задача поиска кратчайшего пути колонией муравьев практически совпадают.

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