Научная статья на тему 'Численное моделирование IP-сетей передачи данных на основе уравнений сплошной среды'

Численное моделирование IP-сетей передачи данных на основе уравнений сплошной среды Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
200
39
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Северов Дмитрий Станиславович, Трифонов Сергей Владимирович, Миненко Максим Иванович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Численное моделирование IP-сетей передачи данных на основе уравнений сплошной среды»

ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ 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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(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.ой

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

На ребре, примыкающем к выходу И графа, значения р , а , т , и однозначно определяются из уравнений (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.

i Надоели баннеры? Вы всегда можете отключить рекламу.