3. Охтилев М. Ю., Соколов Б. В., Юсупов Р. М. Интеллектуальные технологии мониторинга и управления структурной динамикой сложных технических объектов. М.: Наука, 2006.
4. Корнеев В. В., Гареев А. Ф., Васютин С. В., Райх В. В. Базы данных. Интеллектуальная обработка информации. М.: Нолидж, 2001.
Рекомендована СПИИРАН Поступила в редакцию
31.05.07 г.
УДК 004.728.8
С. С. Баглюк
Военно-космическая академия им. А. Ф. Можайского Санкт-Петербург
МОДЕЛЬ ПРОЦЕССА ПЕРЕДАЧИ ДАННЫХ МЕЖДУ ПРИКЛАДНЫМИ УРОВНЯМИ РАСПРЕДЕЛЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ
Рассматриваются основные протоколы передачи данных в современных информационных системах и предпосылки к разработке протокола передачи информации на основе прогнозирования трафика. Приводится математическое обоснование возможности прогнозирования объема ненарушаемой целостности информации.
Анализ основных протоколов передачи информации в клиент-серверной информационной системе. Известные протоколы передачи информации TCP (Transmission Control Protocol) и UDP (User Datagram Protocol), обеспечивающие транспортный уровень стека протоколов TCP/IP, реализуют надежную (с гарантированной целостностью) и ненадежную доставку информации соответственно. Данные протоколы являются основными (для своего уровня) в современных распределенных вычислительных системах. Они удобны для пользователей и применяются не одно десятилетие. Однако эти протоколы реализуют два различных подхода к передаче данных. Гарантия целостности передаваемых по протоколу TCP данных (основная спецификация этого протокола представлена в официальном стандарте Inter-net-архитектуры Request for Comment, далее — RFC, 793 и дополнена в описании транспортного уровня в RFC 1122) влечет за собой неэффективное использование канала вследствие совокупности ряда факторов, а именно:
— реализации механизмов установления и разрыва соединений;
— отсутствия алгоритмов быстрого восстановления при нарушении целостности в двух и более передаваемых подряд сегментах;
— работы механизма медленного старта (запуск этого механизма осуществляется всегда при передаче информации, начиная с версии протокола 4.3 BSD Reno — 1990);
— работы механизма предотвращения переполнения.
Тем не менее, несмотря на невысокую эффективность использования канала, совокупная работа этих механизмов и алгоритмов расчета, наложения и верификации контрольных сумм обеспечивает гарантированную целостность [1] передаваемых данных. График изменения объема (V) передачи данных по протоколу TCP в случае группового нарушения целостности представлен на рис. 1. Спады на 8-й, 17-й, 23-й и 32-й секундах вызваны нарушением целостности в двух и более передаваемых сегментах, идущих подряд. В таких условиях не может быть задействован алгоритм быстрого восстановления протокола TCP, поскольку этот механизм обеспечивает повторную отправку лишь одиночного сегмента, целостность которого
была нарушена. В данном случае после группового нарушения целостности инициируется механизм медленного старта, и размер скользящего окна TCP-сессии устанавливается равным одному сегменту. При этом при реализации прикладного процесса постоянно увеличивается объем передаваемой информации, и логично предположить, что на прикладном уровне необходимо окно большего размера, чем окно, предоставляемое протоколом TCP.
Рис. 1
Другой характерной особенностью протокола TCP является не самая высокая эффективность использования доступной ширины канала. Даже в том случае, когда ширина канала позволяет передать весь объем информации, генерируемый в ходе реализации прикладных процессов, механизмы медленного старта и предотвращения переполнения протокола не позволяют этого сделать: размер окна передачи будет увеличиваться сначала экспоненциально (медленный старт), а потом линейно (предотвращение переполнения). Размер окна будет увеличиваться до тех пор, пока не достигнет максимального для данного канала или для TCP (65 535 байт, если не используется опция масштабирования TCP).
В итоге можно сделать следующий вывод: использование алгоритмов протокола TCP обеспечивает вычисление емкости канала (ширина канала, умноженная на время возврата) итерационным методом, т. е. путем постепенного увеличения размера окна до максимального. Постоянную передачу данных в максимальном объеме (равном доступной емкости канала в конкретный момент), с первой до последней секунды, протокол TCP обеспечить не может.
В отличие от TCP при использовании протокола UDP (официальная спецификация этого протокола изложена в RFC 768) в случае нарушения целостности (объем информации, целостность которой при передаче нарушена, значения не имеет — это может быть как одна да-таграмма, так и несколько подряд) объем передаваемой информации не будет снижаться до минимума. Данные будут отправляться постоянно, причем в том объеме, который был сгенерирован каждым приложением в конкретный момент времени. Это позволяет использовать всю доступную на данный момент ширину канала для передачи информации, поступающей с прикладного уровня. Однако восстановление целостности объема протокол UDP не обеспечивает. Датаграммы, целостность которых была нарушена, приемной стороной отбрасываются и никаких шагов по их восстановлению не предпринимается. Емкость канала в этот момент на объем передаваемых данных не влияет.
В приведенном примере использована выделенная линия с постоянной шириной канала, и весь канал предоставлен одному приложению (см. рис. 1). Следовательно, при информационном обмене между двумя хостами емкость канала также будет фиксирована. В таком идеальном случае можно передавать данные с максимальным использованием ресурсов — именно в том объеме, который доступен в конкретный момент, причем этот объем известен заранее. Эффективность работы такой системы будет существенно более высокой, чем эффектив-
ность реальных систем передачи данных, поскольку в большинстве случаев в современных распределенных вычислительных системах емкость канала — величина непостоянная. Основными причинами, влияющими на изменение ширины канала, могут служить маршрутизация соседних пакетов данных по каналам с разной пропускной способностью, передача данных по каналу другими приложениями и т.п. Использование протокола TCP в случае переменной пропускной способности канала передачи позволяет избежать нарушения целостности передаваемых данных за счет уменьшения размера окна до минимума (см. рис. 1, 2).
Рис. 2
Изменение размеров (S) скользящего окна протокола TCP показано на рис. 2, наглядно демонстрирующем невысокую эффективность канала (незадействованная ширина канала выделена серым цветом). Неэффективное использование доступной пропускной способности (тем более в условиях ее нехватки для процессов прикладного уровня) — это издержки, которые влечет за собой гарантия целостной передачи. Вследствие этого зачастую (например, в системах видеоконтроля), приходится жертвовать целостностью существенной части информации и отказываться от применения TCP в пользу UDP.
В настоящее время в условиях переменной ширины канала не существует механизмов, позволяющих оценить объем информации, возможный к передаче без нарушения целостности в конкретный момент времени.
Методика оценки характера распределения при моделировании процесса передачи данных прикладного уровня. Пусть процесс передачи данных прикладного уровня — функция случайной величины (объем информации в байтах в единицу времени). Тогда такой процесс можно моделировать стандартными распределениями теории вероятности.
Пусть X = (Xi, X2,...) — стохастический процесс дискретного аргумента (времени), отражающий изменение объема передачи данных по схеме „прикладной уровень сервера — прикладной уровень клиента" без нарушения целостности. Тогда каждый отсчет X i отражает объем информации, переданный без нарушения ее целостности с прикладного уровня сервера на прикладной уровень клиента за момент времени T=ti-t— . Для оценки характера распределения такого процесса предлагается воспользоваться следующей методикой:
— по статистике трафика вычислить дисперсию D(X) и математическое ожидание M (X) процесса X;
— согласно работе [2] выполнить проверку классического условия пуассоновского потока:
VD(X) = M ( X );
— при выполнении условия пуассоновского потока считать, что трафик распределен по закону Пуассона [2, 3]; в этом случае трафик нельзя считать достоверно прогнозируемым; для передачи данных более целесообразно воспользоваться стандартными механизмами, реализованными в стеке протоколов TCP/IP;
— в случае когда выполняется условие -Jd(X) >M(X) , процесс передачи информации описывается распределением с тяжелым хвостом (РТХ).
Распределение с тяжелым хвостом позволяет построить модель процесса передачи данных на основе метода. предложенного в работе [4].
Модель процесса передачи информации по схеме „прикладной уровень сервера — прикладной уровень клиента". Представим процесс X = (Xb X2,...) в виде полубесконечного отрезка стационарного в широком смысле случайного процесса дискретного аргумента (времени) t е N. Пусть автокорреляционная функция (АКФ) процесса X=(Х1з X2,...) имеет вид
r(k)-k"ßL(k), kеZ, k(1)
Здесь 0<ß<1, L(k) — медленно меняющаяся на бесконечности функция, т.е. Hm ЩИ =1
t^-ю L(t)
для всех x > 0 .
Поскольку зачастую трафик представляет собой неэквидистантный временной ряд, то отсутствует постоянный шаг по шкале времени. Для приведения трафика к эквидистантному
виду введем процесс X(m)=(X(m), Xi,m),...), такой что X(m) =—(Xtm-m+1 +...+Xtm ), t, mе N,
1 2 m
т. е. X(m) представляет собой агрегацию процесса X по фрагментам продолжительностью m . Тогда процесс Х может быть представлен тремя определениями [4, 5].
1. Процесс X является самоподобным в узком смысле с параметром самоподобия
H=1-в,0<ß<1, если 2
1-
т
HX(m) = X, те N.
Это выражение следует понимать как равенство распределений. Параметр H, называемый коэффициентом Хэрста, имеет принципиальное значение. Он является индикатором степени самоподобия процесса, а также свидетельствует о наличии таких его свойств, как продолжительная память и возможность сохранения своего поведения.
2. Процесс X является строго самоподобным в широком смысле с параметром самоподобия H=1-—, 0<ß<1, если
... (k+1)2-ß- 2k 2"ß+ (k-1)2-Pa r(k) = ----2---= g(k) при k е N;
rm (k) = r(k), те{2,3,...} для всех kеZ, здесь g(k) — коэффициент корреляции процесса X .
Приведенные зависимости показывают, что коэффициент корреляции строго самоподобного в широком смысле процесса не изменяется после усреднения по фрагментам продолжительностью m [4]. Другими словами, процесс X является строго самоподобным в широком смысле, если агрегированный процесс X(m) неотличим от исходного процесса X, как минимум, в отношении статистических характеристик второго порядка [5].
3. Процесс X является асимптотически самоподобным в широком смысле с параметром
самоподобия H=1-'~', 0<ß<1, если
(k+1)2-ß- 2k2-ß + (k-1)2-ßA lim rm (k)=-= g(k) для всех k е N.
m^<x> 2
Таким образом, процесс X является асимптотически самоподобным в широком смысле в том случае, когда после агрегации по фрагментам продолжительностью m он при m ^ да сходится к строго самоподобному в широком смысле процессу.
Самоподобный процесс X описывается распределением с тяжелым хвостом: процесс X обладает АКФ вида rm (k), которая при m ^ да убывает значительно медленнее, чем АКФ
других стохастических моделей (для которых справедливо rm(k)^0, m^да, keN ). Так как
при распределении с легким хвостом (РЛХ) АКФ убывает по экспоненте и имеет вид
r (k) .pk, k ^да, 0<p<1, то 0r(k)<1, а при АКФ вида (1) справедливо условие
k
^r(k)^да . Следовательно, процесс X обладает распределением с тяжелым хвостом.
k
Представленная модель характеризуется двумя свойствами — персистентностью и бесконечным (при строгом выполнении условия (1)) интервалом корреляции. Покажем это путем доказательства двух утверждений.
Утверждение 1. Процесс целостной передачи данных по схеме „прикладной уровень сервера — прикладной уровень клиента", описываемый приведенной моделью, характеризуется свойством сохранять свое поведение (увеличение или уменьшение объема передаваемых данных, существование активного периода передачи данных и т.п.).
Доказательство. Доказательство основано на результатах исследования, представленных в работе [5]. Пусть Q — случайная величина, которая описывается РТХ и отражает продолжительность активной целостной передачи данных с прикладного уровня сервера прикладному уровню клиента. Тогда при передаче данных без нарушения их целостности в течение интервала времени 1< t <т условная вероятность того, что в момент т+1 передача данных будет осуществляться без нарушения целостности, определяется как
L(t)=P{ A(t+1)=1\A(t)=1}
или
l(T)=1-£0=2. P{Q—t}
Индикаторная функция A(t), введенная в работе [5], имеет вид
A(t) = 1/1 Q(t)—t.J
Учитывая, что величина Q описывается РТХ, можно записать
P{Q = т} ст-a -с(т+1)-a , Г т Y ^ > ~ v у - = 1-1-I ; с, a = const,
а значит,
P{Q — т} ст-a V т+1)
-a Л Г 1 Y
на=1-PQ=} .1-
P{Q—т}
1-1 т+1
)
V V т+1)
при т^да.
Для существования активного периода Q в момент времени т+5, 5>1, будет справедливо выражение
L(т)=P{A(т+s) = 1| A(t) = 1}при т^да,1<s<5,1<t<т. (2)
Утверждение 2. Пусть объем информации, передаваемой по схеме „прикладной уровень сервера — прикладной уровень клиента" без нарушения целостности, описывается приведенной моделью. Тогда этот объем является величиной, значение которой прогнозируемо на некотором интервале тк.
Доказательство. Доказательство основано на результатах исследования, представленных в работе [6]. Интервал корреляции, являясь числовой характеристикой случайной величины, напрямую связанной с ее предсказуемостью, для рассматриваемого процесса определя-
А®
ется как тк = [ \г (т) т, где г (т) — нормированная функция корреляции.
0
В условиях гиперболически убывающей корреляционной функции (1)
Tk =J
0
Если то для любого R > 0
+ro
Р
d т.
Rdr. т1-в
R
Tk = lim f—= lim -
R^+ro J TP R^+ro 1
0 ^ 1-p
R
1-P
= lim Tk = 0 пРиP>1 Tkro пРи P<1 (3)
R^+ro 1-p
Если в = 1, то для любого R>0
R
тк = lim f—= lim lnt|R ^ro. (4)
R^+ro J т R^+ro 0
R^+ro 0 T R^+ro
Таким образом, обобщая выражения (3) и (4) для процесса, удовлетворяющего условию (1), интервал корреляции будет бесконечно протяженным:
Tk ^ j (5)
0 <P<1.J
Представленные утверждения позволяют говорить об оценивании целостности данных до начала их передачи с прикладного на транспортный уровень (для процессов, удовлетворяющих условию (1) и описываемых РТХ).
Разработка протокола передачи данных на основе прогнозирования объема нена-рушаемой целостности. Зависимости (2) и (5), полученные для процессов передачи данных по схеме „прикладной уровень сервера — прикладной уровень клиента", позволяют сделать вывод о возможности прогнозирования сетевого трафика в случае, когда справедливо условие (1). Это целесообразно реализовать при разработке протокола с прогнозируемой целостностью (IPP — Integrity Prediction Protocol). Принципы работы перспективного протокола IPP в сравнении с TCP и UDP представлены на рис. 3, а—в в виде графиков, характеризующих объем передаваемой информации в единицу времени в условиях переменной пропускной способности канала (кривая 1) при использовании протокола ТСР (а), протокола UDP (б) и протокола IPP (в); кривая 2 соответствует объему информации, генерируемому на прикладном уровне, а кривые 3 и 4 — объему, пропускаемому в сеть протоколами TCP и IPP соответственно.
Протокол IPP может осуществлять передачу данных на основе прогнозирования того объема информации, который допустам в настоящий момент к передаче без нарушения ее целостности. Целостность передаваемой информации предлагается проверять на приемной строне с использованием методов контрольных сумм. Необходимо учитывать и ошибки прогнозирования — расхождения между текущим объемом информации, переданной без нарушения целост-
ности, и соответствующим ему прогнозируемым значением. В зависимости от важности информации датаграммы с нарушенной целостностью можно отбрасывать либо повторять, обес-
Заключение. На основании проведенного анализа основных протоколов передачи информации стека TCP/IP выявлены такие недостатки, как низкая эффективность канала при использовании протокола TCP и отсутствие гарантированной целостности при использовании протокола UDP. Для моделирования процесса передачи информации была определена методика выбора характера распределения. Построена модель процесса передачи данных и приведены доказательства прогнозируемости объема передаваемой информации. Определено направление использования прогнозирования для управления процессом передачи информации в распределенной клиент-серверной системе, что позволяет устранить выявленные недостатки существующих протоколов.
СПИСОК ЛИТЕРАТУРЫ
1. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы, технологии, протоколы. СПб.: Питер, 2002. 672 с.
2. Вентцель Е. С. Теория вероятностей. М.: Физматгиз, 1958. 464 с.
3. СтоллингсВ. Современные компьютерные сети. СПб.: Питер, 2003. С. 200—202.
4. Цыбаков Б. С. Модель телетрафика на основе самоподобного случайного процесса // Радиотехника. 1999. № 5. C. 24—31.
5. Петров В. В. Структура телетрафика и алгоритм обеспечения качества обслуживания при влиянии эффекта самоподобия. Дис. ... канд. техн. наук. М.: МЭИ(ТУ), 2004. 199 с.
6. Petroff V. Self-similar network traffic: from chaos and fractals to forecasting and QoS // Proc. of the Intern. Conf. „Next Generatbn Teletraffic and Wired/Wireless Advanced Networking", St. Petersburg, Febr. 2—6, 2004. St. Petersburg, 2004. P. 110—118.
Рекомендована кафедрой Поступила в редакцию
математического обеспечения 31.05.07 г.