ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ 1Р-СЕТЕЙ ПЕРЕДАЧИ ДАННЫХ НА ОСНОВЕ УРАВНЕНИЙ СПЛОШНОЙ СРЕДЫ Д.С. Северов, С.В. Трифонов, М.И. Миненко (Московский физико-технический институт (государственный университет))
Научный руководитель - к.ф.-м.н., доцент Я.А. Холодов (Московский физико-технический институт (государственный университет))
Настоящая работа посвящена проблеме снижения вычислительной сложности компьютерного моделирования пакетных сетей передачи данных. Авторы предлагают замену традиционного дискретно-событийного моделирования эволюции пакетов численным моделированием потоков данных с использованием интегро-дифференциальных уравнений сплошной среды в частных производных.
Введение
Современные сети обмена информацией демонстрируют устойчивую тенденцию к переходу на пакетный принцип передачи данных. По сравнению с традиционными телефонными сетями пакетные сети передачи данных используют более сложные и менее предсказуемые протоколы взаимодействия. В условиях такой непредсказуемости решение практически значимых задач требует адекватного моделирования процессов протекающих в сети.
Разработан и активно применяется целый спектр различных специализированных средств моделирования. На одном конце спектра находятся средства подробного дискретно-событийного моделирования [1], позволяющие проследить судьбу каждого пакета и предназначенные, в первую очередь, для детального исследования и разработки протоколов взаимодействия. Такие средства обладают сложностью, неудовлетворительной для моделирования коллективных явлений и сети в целом. На другом конце спектра находятся средства имитационного моделирования сети в целом как системы массового обслуживания [2]. Такие средства игнорируют детали взаимодействия, существенные для исследования протоколов, и воспроизведения коллективных явлений.
Известны попытки моделирования пакетных сетей передачи данных с использованием численного решения обыкновенных дифференциальных уравнений для математических ожиданий основных моделируемых величин, изменяющихся во времени [3, 4]. Данный подход создает определенные трудности для прямого моделирования протоколов взаимодействия, не позволяет адекватно отражать современные сложные алгоритмы управления очередями и различать механизмы потерь данных в очередях и в каналах связи.
В основу предлагаемого решения заложено представление переноса данных и информации о потерях данных функциями, изменяющимися как во времени, так и вдоль очереди. Типовые устройства сети моделируются в зависимости от выполняемой функции дифференциальными уравнениями, как в частных производных, так и обыкновенными, а также явными кусочно-непрерывными функциональными зависимостями, включая логические. Такой подход представляет собой удачную комбинацию возможности прямого детального моделирования всех существенных особенностей протоколов взаимодействия, и умеренной вычислительной сложности для громоздких конфигураций сети.
Теоретическая модель
Рассмотрим модель сети как совокупность маршрутизаторов, отправителей, получателей, и соединяющих их однонаправленных каналов связи. Естественным образом каждый двунаправленный канал реальной сети представляется в модели двумя однонаправленными, а каждый узел реальной сети - необходимой комбинацией отправителей
и получателей. В модели в каждом маршрутизаторе и в каждом отправителе присутствуют только выходные очереди, по одной на каждый интерфейс. Входные очереди в маршрутизаторах и получателях данных, а также множественные очереди, конкурирующие за пропускную способность одного интерфейса, в текущей постановке не рассмотрены.
Модельные каналы относятся к типу «точка - точка». Реальные каналы типа «точка - многоточка» могут быть представлены комбинацией нескольких модельных каналов получателя и отправителей. Всевозможные канальные устройства, применяемые при создании реальной сети связи, учитываются либо изменением параметров канала, либо введением маршрутизатора. К первой группе устройств относятся, например, повторители и/или регенераторы сигнала, а ко второй - коммутаторы.
Базовым понятием настоящей модели является сессия, которая определяется как пара узлов сети, претендующих на передачу данных от одного (отправителя) к другому (получателю)1. В каждый момент модельного времени в сети могут присутствовать отправленные пакеты нескольких сессий.
Из-за достижения максимальной пропускной способности отдельных каналов не все пакеты могут быть переданы в очередной канал немедленно и накапливаются в очередях для последующей передачи. Если длина очереди превышает определенные пороги, то часть пакетов отбрасываются с определенной вероятностью.
Принято, что все данные, поступающие на модельный маршрутизатор из всех входящих каналов, мгновенно перераспределяются в соответствии с заданными правилами маршрутизации, после чего помещаются в очередь, соответствующую каждому исходящему каналу связи и, после прохождения очереди, поступают в канал связи. В модели отсутствуют входные очереди, в которых пакеты могли бы находиться после поступления на маршрутизатор и до перераспределения.
Моделируемые величины и структура модели
В каждой точке модели различаются потоки данных нескольких активных соединений. Для каждого активного соединения в каждой рассматриваемой точке модели определяются: (1) размер пакета, характерный для этого соединения; (2) та доля общего потока пакетов в рассматриваемой точке, которая приходится на пакеты данного активного соединения; (3) информация о потерянных пакетах данного активного соединения. Поток данных в целом в определенной точке модели представляется как перенос модельного «вещества» с определенными «плотностью» (количеством бит в пакете) и «скоростью» (количеством пакетов проходящих в единицу времени).
Важно подчеркнуть, что модель, предлагаемая в настоящей работе, в значительной мере определяется пакетной организацией трафика, и поведение сети описывается в терминах движения именно пакетов. Например, в случае протоколов обмена подобных TCP динамика поведения отправителя определяется, как правило, количеством подтверждений об успешном приеме пакетов, и не зависит напрямую от количества бит в этих пакетах. Аналогично, сброс данных из очереди маршрутизатора производится пакетами, одновременно для всех битов данных входящих в состав пакета.
Таким образом, в отличие от эталонной модели, где рассматриваются события цикла жизни определенных дискретных пакетов, в настоящей модели рассматриваются изменения во времени непрерывных характеристик, соотнесенных с общим количеством переданных и/или потерянных пакетов.
Структура модели представляется направленным графом, в котором различаются входы, выходы, а также узлы и ребра. Узлу соответствует функция перераспределения
1 Сессия может не быть сессией в смысле того или иного коммуникационного протокола, Например, поток пакетов иБР/ГР также является сессией в контексте данной модели.
потоков данных в маршрутизаторе. Вход представляет отправителя данных, а выход -потребителя. Ребро отражает очередь и примыкающий к ней канал связи.
В узлах графа (маршрутизаторах) задаются соотношения (правила маршрутизации) характеризующие перераспределение потоков данных. На входах графа (отправителях) и выходах графа (получателях) задаются соотношения, описывающие изменения потоков данных при возникновении в источниках и достижении получателей. На ребре задаются соотношения отражающие продвижение и сброс пакетов в очереди, и канале связи с учетом характеристик интерфейса.
Обозначения
Скалярные величины, имеющие один и тот же смысл в терминах модели, для различных фрагментов модели обозначаются одинаковыми символами с различными ин-
п/чтгттттттттл <элемент><индексэлемента> .<терминал><индекстерминала>
дексами < величина >s р .
< индекс сессии>
< величина > символ, обозначающий моделируемую величину: р (плотность), d (потери в пути), u (скорость), у (сброс), x (координата), t (момент времени).
< элемент > символ, обозначающий тип структурного элемента модели: q (очередь),
С (канал), Г (узел, маршрутизатор), И(хост, отправитель или получатель).
< индекс элемента > - целочисленный индекс элемента структуры среди однотипных элементов.
< терминал > обозначает вход (in) или выход (out) структурного элемента.
< индекс терминала > - порядковый номер входа или выхода. Для величин моделирующих структурный элемент, имеющий не более одного входа и одного выхода, порядковый номер может не указываться.
s обозначает элемент полезной нагрузки сети, сессию.
< индекс сессии > - целочисленный индекс данной сессии среди прочих сессий.
Обозначения величин, которые соотносятся только со структурным элементом и не соотносятся с сессией, не содержат s^ ^^^. Обозначение величин, которые соотносятся только с сессией и не соотносятся со структурными элементами, не содержат
фрагментов < элемент ><индексэлемента> , < термИнЭЛ ><индекстерминала> .
В тех обозначениях, где не указан фрагмент < индекс элемента > , подразумевается то значение, которое соответствует текущему по тексту элементу структуры.
В тех обозначениях, где не указан фрагмент < индекс сессии > , подразумевается то значение, которое соответствует текущей тексту сессии.
В рамках данной работы, если явно не оговаривается иное, ограничимся следующими вариантами фрагментов < элемент ><индекс элемента > : Sn , q,n , Cm , V Г^ 0Uj
ini . В квадратных скобках после обозначения величины может указываться ее размерность, например pqm [бит/пакет].
Sn
Сессия
Для каждой сессии sn, n = 1,...,N в целом определяется характерный размер пакета ps [бит]. Далее для каждой пары [сессия; элемент структуры] в каждый момент
sn
времени определяется количество пакетов данной сессии, ожидаемых в данном элементе структуры к данному моменту, но потерянных (сброшенных) на пути сессии
d<элемент> г
s [пакет].
Ребро: очередь и канал связи
Для моделирования движения пакетов вдоль каждой очереди qm, т = 1,...,М
определяющими являются потери данных. Эти потери являются результатом работы алгоритмов управления очередью. Действие подобных алгоритмов сводится к мгновенному изъятию пакетов из очереди. При таком изъятии между пакетами, примыкающими с двух сторон к изъятому пакету, не образуется никакого «зазора». Изъятие пакета может наступить, в общем случае, из любого места очереди.
Модель каждой очереди qm содержит непрерывную «пространственную» координату хЧт , имеющую смысл положения пакета в очереди, измеренного в пакетах от конца очереди, примыкающего к передающему интерфейсу. Такой подход позволяет моделировать алгоритмы управления очередью, изымающие пакеты из любого требуемого места очереди.
Скорость изменения координаты пакета в очереди Чт принимается одинаковой
для всех сессий проходящих через данную очередь и обозначается иЧт .
В каждый момент времени 1 в каждой точке хЧт очереди Чт для каждой сессии Бп определяется несколько переменных: р1" [бит/пакет] - текущая плотность пакетов,
п ьп
[1] - плотность потерь пакетов, ш1" [1] - плотность сброса пакетов, т1" [с] - вре-
'п 'п 'п
мя в пути. Указанные переменные могут быть соотнесены с дискретным наполнением очереди Чт пакетами различных сессий следующим образом. Предположим, что единичный интервал [хЧт,хЧт +1] очереди взаимно однозначно соответствует пакету
Х4" + 1 хЧт +1
сессии Бп . Тогда Г рЧтёх = р - количество бит в этом пакете, Г ёЧ,пёх - количе-
J 'п 'п J йп
ХЧт ХЧт
ство пакетов сессии Бп , потеря которых должна быть учтена после приема данного па-
хЧт +1
кета, а | ш^ёх: — вероятность сброса данного пакета. Определим для очереди дейст-
хЧт
вующую плотность
р4т = ^РС1 . (!)
п
Отметим, что в случае взаимно однозначного соответствия некоторого единичного интервала очереди пакету сессии Бп, в каждой точке этого интервала рЧт = рч" . Скорость продвижения пакетов в очереди
0Ст Х(1т
иЧт =-- +У Г шЧтёххЧт, (2)
(рЧт0и1 +рСт) Гх! п
где 0°т [бит/с] - номинальная пропускная способность выходного интерфейса, рЧт -и1 П рЧт ч ч , р°т [бит/пакет] - количество бит, добавляемых к пакету сетевого
уровня, при образовании последовательности кадров канального уровня, ХЧт [пакет] -длина очереди Чт .
ёХ ч"
= 1 ир- и—, (3)
п
где Гк .ои^ выход того узла-маршрутизатора Гк, к которому примыкает очередь qm.
u
qm.in
□ uq
íqm =0
. Важно подчеркнуть, что Xqm > 0.
Эволюция плотности данных pqm и потерь пакетов dqm сессии s в очереди q
11 -I
описывается следующими уравнениями: d д
—pq: (pqnmuqm ) = -pq;uq; <m
dt
— dqm + dt
dxq" Ô_ dxq"
•(dq;uqm ) = uq; <m
Исходя из топологии графа, на входной границе х^ (4) имеем следующие граничные условия:
0
(4)
очереди для уравнении
pqm(t,o) □ pqmin =p;k0utj
dqm(t,0) □ dqm ln = d;k 0utj
,n = 1,...,N
(5)
На выходной границе xqm = Xqm граничные условия не требуются, а значения pqm (t, Xqm ), dqm (t, Xqm ), однозначно определяются из уравнении (4), благодаря тому,
что скорость движения пакетов в очереди uqm (t, xqm ) всегда неотрицательна.
В наиболее распространенном частном случае, когда в качестве политики активного управления очередью (AQM - active queue management) выбирается алгоритм случайного раннего обнаружения [5] (RED - Random Early Detectlon), а сброс происходит в хвосте очереди имеем:
1 f0,rndqm > Pqm ( t )
1,mdqm < Pqm (t) ,
где md4m - случайная величина с равномерным распределением на отрезке [0;1],
sn
Pqm (t) - вероятность сброса пакета, которая в терминах RED AQM определяется как (см. [2-4])
, ^ Dqm(t)Pqm(t) < 1
Rdx q
(6)
Pqm(t)
min
1;
P qm(t)
2 - Dqm(t)Pqm(t) 1,
,1 < Dqm(t)Pqm(t) < 2: 2 < Dqm (t)Pqm (t)
D4m (t) = | uqm ln(T)dT, tdr0p - момент последнего сброса,
0, t
(7)
(8)
t^m
ldrop
Pqm(t) =
X
Яш max
X < X — Xqm
min _ P4m Xqm <
qm
min
' Xmin
* ma^' min q
< Xqm
(9)
qm
max
m
где X (t) - ожидаемая (прогнозируемая) длина очереди, а X янные параметры RED AQM.
dX qm ln aq
Чш min :
ХЧш max'
р,Шшх п°ст°-
X4m(t) - X^t)) .
(10)
метр 8Чш
тСш
dt 8Чш
Последнее уравнение получено из выражения скользящего среднего XX qm(t + 8Чш) = (1 -aq,n)X qm(t) + aqmXqm(t). Безразмерный постоянный параметр аЧш е[1, 10] определяет степень зависимости ожидаемой длины очереди от кратковременных колебаний длины реальной очереди. Имеющий размерность времени пара-равен интервалу времени между замерами реальной длины очереди.
Исчерпывающим представляется следующий набор параметров канала: Q°m, рСш ,
[с] (задержка распространения данных в данном канале), БСш (безразмерная относительная частота ошибочной передачи бита данных, Bit Error Rate - BER). В канале, также как и в очереди, происходит потеря целостности пакетов, причинами которой являются искажения сигнала и/или внешние помехи.
Определим вероятность того, что кадр канального уровня минует канал связи неповрежденным:
РСш = (1 - БСш)рСш1П +РСш. (11)
Важные для данной модели отличия сводятся к тому, что «потерянные», т.е. искаженные и/или зашумленные данные, продолжают перемещаться по каналу и занимать его ресурсы, пока ошибка не будет обнаружена в конце канала и пакет не будет отброшен. Такое поведение может интерпретироваться как уменьшение скорости выхода из канала моделируемых целостных пакетов. Такая особенность позволяет моделировать канал следующими соотношениями на выходе
out(t) = pq;.°ut(t -т сш)
Чш .0ut (t - т Сш )
т сш. °ut = т С
d
u
Сш°и1
sn
out
Ps
+ т
sn
(t) = (1- РСш)т СшрЧп (t) = P^m^t -тСш).
.°utuqm.°ut
(t
т Сш)+d;in(t -т Сш
)
(12)
(13)
Узел - маршрутизатор
Ядро маршрутизации моделируется соотнесением потоков данных со стороны входящих ребер - и потоков данных в сторону выходящих ребер. Исходя из топологии графа на стыке входа маршрутизатора гк .т; и выхода канала Ст,
ст .out
PsKn 1 =Psn drkin1 = d^.out
(14)
,rkini
= т.
urkin1 = u^.^pqm^
Предположим, что данные любой сессии поступают в любой узел не более чем из одного ребра, примыкающего к этому узлу, и покидают этот узел не более чем через одно ребро. Значения на выходе узла определяются в соответствии с таблицей маршрутизации.
«и =ргк1
и .Яг и (15)
«и _ тrk■1ni ч
rk■0"ti С j _ "ГЧ1и1
Входы и выходы графа - источники и получатели
Прежде чем описывать граничные условия модели, задаваемые на входах и выходах графа, имеет смысл напомнить, что ребра графа, моделирующего сеть, являются однонаправленными и любой двунаправленный канал моделируется двумя ребрами.
Примем, что каждой сессии соответствует один и только один вход графа, а также один и только один выход графа. На ребре, примыкающему к входу И, графа исходя из топологии графа, следует записать:
рГ = Р 111 = d
и,
"«и
ТЧш.Ш = т1
«и «и
= и!1
Т1 Т1
(16)
Значения р„ , и определяются тем активным соединением Бп , которое берет начало в
Ьп «и п
источнике 1 .
тт г и л. ~1оЙ 11.ой _l.oиt 1.ой
На ребре, примыкающем к выходу И графа, значения р , а , т , и однозначно определяются из уравнений (12), вследствие того, что скорость движения пакетов в канале и1 > 0 всегда положительна и ее направление совпадает с направлением соответствующей ей ветви графа. Иными словами, на выходе графа ничто не влияет непосредственно на динамику трафика ребра, примыкающего к данному выходу. Исходя из топологии графа на стыке выхода графа И и выхода примыкающего канала I,
(17)
В некоторых случаях (таких, например, как телевизионная или радиотрансляция в сети передачи данных средствами протокола ПОР) параметры в начале сессии, на хосте-источнике, являются постоянными, и параметры в конце сессии на хосте-получателе больше никак не влияют на поведение сети. В общем случае, такие соотношения для пары конец одной сессии - начало другой сессии можно представить следующим образом.
Ь.о" т>п2,п, Или ,лИ.т _h.ii! „Ил
рИо _р;: ой
¿Ио _ ¿С: ой
тИо _т!: ой
"Ио ["л _ "С: .ой
рг" = Ри2,и1
И.т л И.т _И.т И.т \
А, ^ )
¿и.^ _ 0и2,и1 (рИ-аИ-, тИт,иИш)
т1 о"' и
и2
И.о" __/^Или ^Или h.in h.in \
и2 ,а«и1 ,И«и1 )
h.o"t и2
и1 * и2
и^т, / Или лИ.т _И.т И.т \
2,1 (р3 Д , т ,и )
Зависимости Р"2'"1, d"^"1, Тn2'n', U"2'"1 определяются применяемыми протоколами
передачи данных и количественными характеристиками сетевой нагрузки.
В случае традиционной передачи данных с использованием протокола TCP значения в конце одного активного соединения на определенном выходе графа определяют значения в начале другого, ответного активного соединения (вдоль которого переносятся ACK пакеты) на другом определенном входе графа.
Пусть сессия s моделирует однонаправленный поток данных некоторого TCP-соединения и начинается на входе hj, а заканчивается на выходе h0 . Пусть сессия s аналогично моделирует поток подтверждений приема (ACK) для данного TCP соединения начинается на входе hj и заканчивается на выходе h0 . Тогда на приемном конце TCP-соединения (выход h0 , вход hj) верно следующее:
Р h 1 = Р s
dh = dh°
Th' = Th°
s s
h, h° V = us°
(19)
где р§ - плотность, соответствующая размеру пакета подтверждения приема (АСК). На передающем конце ТСР-соединения (вход И, выход ИО )
(20)
где ps - плотность, соответствующая размеру пакета передаваемых данных, а us определяется протоколом TCP. В данной работе моделируется версия Reno.
uh° (1 + 1/Ws) , если режим -" Congesion avoidance"
К = Р s
di' = 0
hj т 1 s = 0
к = us
us = <
WJ i
Ws/i
(21)
, если режим -" Fast Recovery" .
, если режим -" Slow Start"
Ws - текущий размер окна данного TCP-соединения, Ws - пороговый размер окна данного TCP-соединения (threshold). Рост Ws определяется решением следующего дифференциального уравнения:
dW dt
u
/Ws , если режим -" Congesion avoidance" uh° /Ws , если режим -" Fast Recovery" , если режим - "Slow Start"
(22)
u
Определим далее несколько контрольных переменных, определяющих переклю-
чение режимов и связанные с этим изменения Ws и Ws. l!°ss - количество потерянных
пакетов. - момент обнаружения потели целого пакета. - время, прошедшее с
loss
■loss г%
момента ts - количество пакетов, принятых с момента. Ts - предельное время ожидания подтверждения о приеме (timeout).
Размер окна данного TCP-соединения в режиме «congestion avoidance» определяется решением следующего уравнения
dW u h° W h
s = ----h^min(1;dh°).
(23)
dt Ws
Сравнительные вычисления
Для сравнения поведения сети в целом по гистограммам усредненной производительности и усредненного времени оборота соединений (ЯТТ) рассмотрен случай относительно сложной топологии сети (рис. 1), сходный с использованным в [4].
Рис. 1. Топология сети для сравнения поведения модели в целом
25
0 Н-1-1-1-1-1—
1 251 501 751 1001 1251
№ сесии
Рис. 2. Усредненные результаты производительности сети
Всего моделировалось 1280 сессий, при этом имела место одна загруженная очередь на пути каждой сессии. Использовались следующие характеристики сети: пропу-
скная способность магистрали - 20 Мбит/с, хорды подсети - 5 Мбит/с, размер пакетов - 8 Кбит/пакет. Трафик был организован так, что половина пакетов отправлялась по магистрали в соседнюю подсеть, а вторая половина - по хорде подсети. Соответствующие усредненные результаты производительности сети в зависимости от сессии показаны на рис. 2. Усреднение результатов делалось за период времени в 200 с. Красным цветом показаны результаты предложенной модели (DS), синим цветом, показаны результаты, полученные с использованием network simulator [1] (NS).
Заключение
В настоящей работе предложен новый подход к моделированию сетей передачи данных с использованием функций двух переменных в виде дифференциальных уравнений в частных производных, обладающей меньшей сложностью, чем традиционные средства дискретно-событийного моделирования. Выполнены сравнительные вычисления с использованием как традиционных средств [1], так и предлагаемого подхода. Результаты вычислений демонстрируют хорошую степень подобия, как на простейших, так и достаточно сложных конфигурациях сети
Литература
1. http://www.isi.edu/nsnam/ns/
2. http://www.opnet.com/solutions/network_rd/modeler.html
3. V. Misra, W.-B. Gong and D. Towsley. Fluid-based Analysis of a Network of AQM Routers Supporting TCP Flows with an Application to RED / Proceedings of ACM/SIGCOMM, 2000.
4. Yong Liu, Francesco Lo Presti, Vishal Misra, Don Towsley and Yu Gu. Fluid Models and Solutions for Large-Scale IP Networks / Proceedings of ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), 2003.
5. S. Floyd and V. Jacobson. Random Early Detection gateways for congestion avoidance. IEEE / ACM Transactions on Networking. - August 1993. - 1(4). - Р. 397-413.