Модель и анализ транспортного протокола ARTCP

МОДЕЛЬ И АНАЛИЗ ТРАНСПОРТНОГО ПРОТОКОЛА ДРТОР

Алексеев И.В.

Ярославский государственный университет им. П.Г. Демидова

Управление потоком в TCP/IP сетях

Транспортный протокол TCP (Transmission control protocol) [1, 4-5] обеспечивающий надежную дуплексную связь с контролем скорости передачи в сетях с коммутацией пакетов, несмотря на огромное число реализаций, обладает рядом существенных недостатков [2-3, 6]:

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

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

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

Постановка задачи

В этой работе мы ставим целью убедиться в соответствии алгоритма управления ARTCP [7-8], критериям его разработки и сравнить его характеристики с TCP. Протокол ARTCP должен более эффективно, чем TCP, функционировать в обычных проводных и беспроводных сетях.

Формальная модель системы такова. Имеется сеть, в топологическую

схему которой входят 2N конечных систем, два маршрутизатора и набор каналов соединяющих узлы (рис. 1). Каждые N конечных систем являющиеся сетевыми вычислительными устройствами, на которых исполняется объект протокола ARTCP, объединены в локальную сеть (ЛВС) и подключены к одному маршрутизатору. Маршрутизаторы связывают локальные сети, передавая трафик по каналу с малой пропускной способностью.

Рис. 1. Формальная модель исследуемой сети.

Каждая из конечных систем отправляет сегменты с межсегментным интервалом , а есть значение скорости отправки потока,

которое задается алгоритмом ARTCP. Размер S каждого сегмента составляет 1000 байт (40 байт заголовок и 960 байт данных). Предполагается, что источники трафика всегда имеют данные для отправки. Источники и приемники трафика находятся в разных ЛВС. Приемники трафика ARTCP отправляют подтверждения и контрольную информацию в противоположном направлении. Размер сегмента содержащего только контрольную информацию составляет 40 байт.

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

далее к маршрутизатору R2. Очередь имеет конечную длину . Сегмент,

поступающий на выходной интерфейс в момент времени t помещается в

очередь, если , иначе происходит отбрасывание сегмента.

Очередь Q маршрутизатора R1 обслуживается со скоростью канала, соединяющего маршрутизаторы.

Мы рассматриваем следующие характеристики каналов: пропускную способность, задержка передачи и вероятность битовой ошибки. Пропускная способность канала определяет скорость, с которой биты поступают в канал, задержка передачи характеризует длительность промежутка между поступлением j-го бита в канал и появлением его из канала. Вероятность битовой ошибки BER определяет вероятность потери сегмента как

. Каждый канал передает биты лишь в одном направлении. Дуплексный канал представляется парой простых каналов.

Критерии оценки алгоритма

Для тестирования алгоритма ARTCP и сравнения его с TCP применялись следующие характеристики:

> Число потерь сегментов

^ Коэффициент использования пропускной способности каналов

(отношение числа успешно принятых битов к

максимально возможному их числу) при различных BER.

> Коэффициент равноправия разделения ресурсов , где

есть доля пропускной способности, используемой на i-м соединением, при различных значениях BER.

> Средняя длина очереди Q в маршрутизаторе R1.

Мы также ставили целью проверить, не обладает ли трафик ARTCP свойством самоподобия.

Аспекты новизны ARTCP

Важнейшие отличия ARTCP от стандартного протокола TCP в следующем:

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

Сегменты ARTCP отправляются в сеть не в виде всплеска, а разделенные интервалами . Значения интервалов задаются функцией адаптации.

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

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

Таким образом, преимущества алгоритма ARTCP перед стандартным TCP в том, что:

^ Функции коррекции ошибок передачи и управления скоростью полностью независимы в ARTCP, поскольку потеря сегмента не интерпретируется как сигнал о перегрузке.

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

Управление скоростью потока в ARTCP

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

397

Рис. 2 Режимы работы протокола ARTCP

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

В работе алгоритма управления скоростью ARTCP потока выделяются два режима: грубой и тонкой настройки. В режиме грубой настройки протокол максимально быстро определяет доступную скорость, а затем переходит в режим тонкой настройки, удерживающей передачу в оптимальном режиме (рис.2). Каждый режим содержит несколько состояний. На каждом шаге функция адаптации получает на вход значение и RTT и в зависимости от

их значений и текущего состояния совершает переход в новое состояние и рассчитывает значение .

После запуска (переход 1 ) в режиме SS протокол увеличивает скорость экспоненциально. После начала роста RTT происходит выход из режима SS (переход 2 реализуется при условии ). На

момент времени t отправитель имеет оценку доступной ПС сети, и

соответственно знает величину превышение этой ПС: .

Совершив переход 2, протокол попадает в состояние мультипликативного сброса MD1 . В состоянии MD1 скорость потока устанавливается заведомо ниже . В режиме MD1 вычисляется

значение площади области компенсации как суммы площадей набора

трапеций образованных значениями над прямой . Смысл

в том, что это значение выражает объем данных накопившихся в буфере

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

В последующем за MD1 состоянии восстановления (REC) скорость отправки потока будет расти так, чтобы скомпенсировать перегрузку сети, отправляя сегменты со скоростью (линейно возрастающей) меньшей, чем в течении некоторого времени, достаточного, чтобы площадь

фигуры под прямой сравнялась с .

Выход из состояния REC (переход 4) осуществляется в том случае, когда

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

Отношение коэффициентов speedup и slowdown в состоянии FT определяют вероятность снижения или повышения скорости на каждом шаге. Коэффициент speedup, отвечающий за повышение скорости обратно пропорционален скорости данного соединения. А коэффициент slowdown, отвечающий за снижение скорости, пропорционален отношению

. Speedup больше для соединений с малой скоростью, что дает им преимущество для получения доступа к большей относительной доли ПС. Значение slowdown одинаково для всех соединений и растет при росте RTT. Таким образом, вероятность повышения скорости для медленных соединений больше, а вероятность снижения скорости одинакова для всех соединений.

Переход из состояния FT в состояние мультипликативного уменьшения MD2 (переход 6) осуществляется при условии:

, где K - константа, а FTmaxRTT -

максимальное RTT в режиме FT.

В состоянии MD2 происходит мультипликативное снижение скорости

передачи, после чего протокол возвращается в состояние FT, реализуя переход 7. В том случае, если условие продолжает оставаться истинным, то мультипликативное уменьшение продолжается, т.е. последовательность переходов 6 - 7 реализуется неоднократно, выражаясь в экспоненциальном снижении скорости передачи данных. Схема поведения значения скорости потока приведена на рис. 3.

Программная модель

Для исследования возможностей протокола и отработки его механизмов была разработана программная модель самого протокола и сетевых компонентов, в среде которых должен функционировать протокол ARTCP. Для построения данной программной модели (ПМ) были использованы методы объектной разработки и реализация на языке C++ в среде Digital UNIX.

ПМ представляет собой имитационную модель всех функциональных компонентов протокола ARTCP и всех элементов топологии сети, поведение которых оказывает влияние на алгоритм управления потоком. Компоненты системы представлены в виде набора взаимодействующих объектов, объединенных в определенную топологическую схему.

Объектная структура ПМ

Набор элементов сети ПМ: конечная система, маршрутизатор, симплексный канал позволяют сконструировать сеть любой топологической сложности. Для связывания топологических элементов в сеть, перед запуском ПМ, каждый из объектов привязывается к последующему, применяя методы подключения следующего компонента. Все объекты элементы сети являются производными от одного базового класса. Каждый объект наследует методы обработки прерывания, запроса на передачу и приема сегмента.

Главный цикл ПМ генерирует запросы на прерывание, передаваемые соответствующим методам каждого из экземпляров основных объектов. Все объекты в составе ПМ создают файлы отчетов и регистрации событий, по которым исследуется динамика поведения модели.

Объект протокола ARTCP реализует начальную синхронизацию соединения, управление скорость передачи в полном соответствии с алгоритмом ARTCP, генерацию и диспетчеризацию потока данных, прием

/

J -—[мШ1 [RECl [MD2|—-i

А В

грубая настройка

тонкая настройка

тонкая настройка

Рис. 3 Ожидаемое поведение скорости потока ARTCP

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

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

Протокол CBR (Constant bit rate) отправляет данные в сеть с заранее заданной постоянной скоростью, не управляя скоростью потока и не ретранслируя потерянные данные. Сервис виртуальной выделенной линии, создающий потоки такого типа очень актуален в современных сетях, поскольку одним из результатов нашего эксперимента было исследование взаимодействия ARTCP и CBR.

Конечная система в ПМ служит платформой для разворачивания протоколов ARTCP и CBR. Функции узла заключаются в передаче запроса на прерывание активному объекту протокола, передаче сегмента, принимаемого с канала, объекту активного протокола (по значению номера порта в заголовке сегмента) и отбрасыванию сегментов не адресованных данному узлу. Принимая сегмент от объекта активного протокола, узел делает попытку отправить его в канал и возвращает статус этой операции объекту протокола.

Каждый узел имеет уникальный в пределах моделируемой сети адрес, указываемый в заголовке сегмента.

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

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

Таким образом, объект маршрутизатора моделирует современное межсетевое устройство с неблокирующей коммутационной матрицей и буферизацией на выходе.

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

t=S/R, где S - размер пакета, т.е. времени приема пакета размера S в канал. От момента приема первого бита определенного сегмента до момента передачи последнего бита данного сегмента следующему устройству проходит время D+t. Если , то сегмент может быть потерян на выходе из канала.

Результаты моделирования

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

ПС, коэффициент равноправия разделения ПС, средние значения длины очереди и времени RTT для соединений в установившемся режиме, среднее число отправленных и

ретранслированных сегментов. Во всех последующих экспериментах для каналов LAN ПС = 10 Мб/с, задержка 0.01 с., BER 0.

Для пояснения принципов функционирования ARTCP обратимся сначала к сценарию с одним потоком ARTCP, адаптирующемуся к каналу WAN с ПС 64 Кб/с и задержкой 0.1 с. Максимальная длина очереди в маршрутизаторе R1 составляет 16 Кбайт.

Из сравнения рис. 3 и 4 видно, что поведение программной модели протокола ARTCP концептуально соответствует алгоритму протокола. Четко выделяются состояния SS на участке от 0 до 3.5 секунд, MD1 в момент 3.5 секунды, REC на участке от 3.5 до 5 секунд и FT от 5 секунд. Потерь пакетов в данном эксперименте не происходит.

В случае взаимодействия двух ARTCP потоков с потоком CBR, при асинхронном запуске и останове каждого из потоков необходимо убедиться в

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

d ric^i^d rl + I

i

; ! N /V.

У t

Рис. 4. Зависимость скорости потока от времени для канала в 64 Кб/с

0 50 100 150 200 £50 300 330 400 450 500

Рис. 5. Зависимость порядкового номера отправляемых сегментов от времени

Использовалась топология, состоящая из трех пар "источник-получатель" и двух маршрутизаторов, соединенных каналом с ПС 256 Кб/с и задержкой 0.1 с. размер буфера R1: 32 Кбайт. В каждом из 100 экспериментов этого сценария один поток ARTCP запускается в начале работы модели, второй поток ARTCP и поток CBR запускаются по случайному закону, дающему равномерное распределение в интервалах 90-110 и 190-210 секунд соответственно. Случайно выбираются также время останова первого ARTCP потока в интервале 390-410 секунд и скорость CBR источника в интервале 50200 Кб/с.

Полученные результаты таковы: коэффициент использования ПС для двух ARTCP потоков в присутствии CBR потока ; коэффициент

использования ПС для двух ARTCP потоков в отсутствие CBR потока

; число потерянных сегментов 0; коэффициент равноправия разделения ПС для двух ARTCP потоков в присутствии CBR потока

; коэффициент равноправия разделения ПС для двух ARTCP

потоков в отсутствие CBR потока среднеквадратичное отклонение)

Сравнение с TCP

Рис. 6. Зависимость скорости ARTCP и TCP от BER для канала в 256 Кб/с для 10 потоков

Рис. 7. Коэффициент U для ARTCP и TCP в зависимости от числа одновременных потоков

. (приведены средние значения

Для изучения влияния потерь сегментов не связанных с перегрузкой трафик 10 TCP и 10 ARTCP потоков пропускался через WAN канал с ПС 256 Кб/с, задержкой 0.1 с. и с различными значениями BER. Для каждого из значений BER (до ) проводилось 50 экспериментов длительностью 500 с. Все потоки запускаются синхронно в момент времени t = 0.

Результаты моделирования по данному сценарию приведены на рис. 6. Явно видно существенное преимущество ARTCP перед TCP, когда с увеличением BER, для протокола ARTCP скорость потока остается близкой к максимальной, а скорость TCP испытывает резкое снижение.

В следующем сценарии производится сравнение коэффициентов использования ПС и равноправия разделения ПС для ARTCP и TCP. Для обоих протоколов были произведены измерения на 1 0-ти вариантах

сетевой топологии, содержащей соответственно от 2 до 20 узлов (1-10 одновременных потоков). На каждом из вариантов топологии проводилось 100 модельных экспериментов, длительность каждого составила 500 с. При небольшом числе активных соединений эффективность

использования ПС канала для TCP несколько выше (рис. 7). С ростом количества соединений коэффициент использования ARTCP ресурсов канала приближается к единице, в то время как для TCP эффективность использования канала снижается из-за ретрансляций.

Соединения протокола ARTCP более равноправны между собой, чем TCP, причем с ростом числа соединений для протокола ARTCP значение F возрастает (рис. 8). На графике приведены значения коэффициента равноправия для 500 и 100 с. модельного времени.

Поскольку TCP переполняет буфер сети, определяя ее пропускную

способность, то для TCP средняя

Рис. 8. Коэффициент F для ARTCP и TCP. 10 потоков, измерения по 500 и 100 секунд

тс > -

!

___

Рис. 9. Средняя длина очереди для ARTCP и TCP в зависимости от количества потоков

длина очереди всегда близка к максимальной. Для ARTCP такая проблема отсутствует, поскольку доступная пропускная способность определяется по измерениям скважности потока и времени RTT. Поэтому средняя длина очереди для ARTCP всегда существенно ниже, чем для TCP (рис. 9).

Свойство самоподобия ARTCP трафика

Для определения того, обладает ли трафик ARTCP свойством самоподобия и вычисления коэффициента Хёрста, был проведен модельный эксперимент, в результате которого было получена серия, состоящая из 147036 измерений суммирующих события прихода сегментов с данными на маршрутизатор R1 от 10-и активных источников.

К полученной исходной серии были применены методы R/S статистики и AVM. По результатам применения обеих методов был вычислен Коэффициент Хёрста по методу R/S равен 0.63, по методу Aggregated variance: 0.65.

Выводы

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

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

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

Результаты модельного эксперимента, осуществленного на имитационной модели, показывают превосходство адаптивного алгоритма управления скоростью потока протокола ARTCP по сравнению с TCP.

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

1. Postel J., Transmission Control Protocol, RFC793 (STD7), 1981.

2. A Comparison of Mechanisms for Improving TCP Performance over Wireless Links, H. Balakrishnan, V.N. Padmanabhan, S. Seshan, R.H. Katz, Proc. of ACM SIGCOMM, p. 256-269, August 1996

3. The Effects of Asymmetry on TCP Performance, H. Balakrishnan, V.N. Padmanabhan, R.H. Katz, Proc. Of ACM/IEEE International Conf. on Mobile Computing and Networking, September 1997

4. Braden R. T., Requirements for Internet Hosts - Communication Layers, RFC 1122, October, 1989

5. TCP Extensions for High Performance, V. Jacobson, R. Braden, D. Borman, RFC1323, May 1992

6. Congestion Control for Best-Effort Service: Why We Need a New Paradigm, C. Lefelhocz, B. Lyles, S. Shenker, L. Zhang, IEEE Network, Vol. 10, N. 1, January/February 1 996

7. Протокол TCP с адаптацией скорости, И.В. Алексеев, В.А. Соколов, Моделирование и анализ информационных систем, Т.6, №1, С. 4-12, 1999

8. Compensation Mechanism for Adaptive Rate TCP, I.V. Alekseev, V.A. Sokolov, 1-St International IEEE/Popov Seminar "Internet: Technologies A and Services", P. 68-75, October 1999