МОДЕЛЬ И АНАЛИЗ ТРАНСПОРТНОГО ПРОТОКОЛА ARTCP
←
→
Транскрипция содержимого страницы
Если ваш браузер не отображает страницу правильно, пожалуйста, читайте содержимое страницы ниже
Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 395 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf МОДЕЛЬ И АНАЛИЗ ТРАНСПОРТНОГО ПРОТОКОЛА ARTCP Алексеев И.В. (aiv@yars.free.net) Ярославский государственный университет им. П.Г. Демидова Управление потоком в 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. Формальная модель исследуемой сети. связывают локальные сети, передавая трафик по каналу с малой пропускной способностью. 395
stR S L BER U i=∑скорость b )(F τ i 1 ≤ − S tL канала n b )(время / τs 1− ∑ = × Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 396 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf Каждая из конечных систем отправляет сегменты с межсегментным интервалом ,а есть значение скорости отправки потока, которое задается алгоритмом ARTCP. Размер S каждого сегмента составляет 1000 байт (40 байт заголовок и 960 байт данных). Предполагается, что источники трафика всегда имеют данные для отправки. Источники и приемники трафика находятся в разных ЛВС. Приемники трафика ARTCP отправляют подтверждения и контрольную информацию в противоположном направлении. Размер сегмента содержащего только контрольную информацию составляет 40 байт. Задача маршрутизатора в том, чтобы осуществлять передачу сегмента в соответствии с адресом назначения в его заголовке. На выходном интерфейсе маршрутизатора R1 создается FIFO очередь сегментов, которые отправляются далее к маршрутизатору R2. Очередь имеет конечную длину . Сегмент, поступающий на выходной интерфейс в момент времени t помещается в очередь, если , иначе происходит отбрасывание сегмента. Очередь Q маршрутизатора R1 обслуживается со скоростью канала, соединяющего маршрутизаторы. Мы рассматриваем следующие характеристики каналов: пропускную способность, задержка передачи и вероятность битовой ошибки. Пропускная способность канала определяет скорость, с которой биты поступают в канал, задержка передачи характеризует длительность промежутка между поступлением j-го бита в канал и появлением его из канала. Вероятность битовой ошибки BER определяет вероятность потери сегмента как . Каждый канал передает биты лишь в одном направлении. Дуплексный канал представляется парой простых каналов. Критерии оценки алгоритма Для тестирования алгоритма ARTCP и сравнения его с TCP применялись следующие характеристики: ¾ Число потерь сегментов (отношение числа потерянных к общему числу отправленных сегментов) ¾ Коэффициент использования пропускной способности каналов (отношение числа успешно принятых битов к максимально возможному их числу) при различных BER. ¾ Коэффициент равноправия разделения ресурсов , где есть доля пропускной способности, используемой на i-м соединением, при различных значениях BER. ¾ Средняя длина очереди Q в маршрутизаторе R1. Мы также ставили целью проверить, не обладает ли трафик ARTCP свойством самоподобия. 396
sτ( t)( rR Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 397 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf Аспекты новизны ARTCP Важнейшие отличия ARTCP от стандартного протокола TCP в следующем: ARTCP в качестве сигнала о перегрузке в сети использует не потерю сегмента, а темпоральные характеристики потока. Снижение скорости происходит, если при увеличении нагрузки происходит увеличение времени RTT и стабилизация скорости потока, измеряемая получателем. Сегменты ARTCP отправляются в сеть не в виде всплеска, а разделенные интервалами . Значения интервалов задаются функцией адаптации. Измерение значения межсегментных интервалов у получателя дает значение скорости прибытия потока . Рост скорости отправки сегментов прекращается, когда начинает расти время RTT, а значение стабилизируется при увеличивающемся . Эти два признака свидетельствуют о насыщении сети, когда средняя скорость прибытия запросов сравнивается со средней скоростью обслуживания и началом роста очереди. Получатель ARTCP в сегментах с подтверждениями указывает также значение скорости . Получая подтверждение сегмента спустя время RTT после его отправки, источник ARTCP узнает также значение скорости, с которой поток, содержащий этот сегмент, прибыл к получателю и использует это значение в качестве оценки ПС сети. Таким образом, преимущества алгоритма ARTCP перед стандартным TCP в том, что: ¾ Функции коррекции ошибок передачи и управления скоростью полностью независимы в ARTCP, поскольку потеря сегмента не интерпретируется как сигнал о перегрузке. ¾ ARTCP определяет доступную пропускную способность сети, не доводя ее до состояния перегрузки, поэтому средняя длина очередей в сети существенно снижается, и устраняются потери сегментов, связанные с определением максимальной доступной пропускной способности. ¾ Благодаря механизму диспетчеризации сегментов их отправка в сеть происходит без всплесков, более гладко. Поэтому, во-первых, снижается потребность в буферном пространстве у маршрутизаторов а, во-вторых, уменьшается дисперсия времени доставки сегментов. Управление скоростью потока в ARTCP Сегменты в пределах разрешенного отправителем окна отправляются в сеть со скоростью регулируемой функцией адаптации, задача которой отправлять поток в сеть со скоростью равной скорости его обслуживания и компенсировать возможные перегрузки. Для этого получатель Рис. 2 Режимы работы протокола ARTCP 397
RTT ERTT r−i+>PRECISION A sct tR /)(1RTT rit−×ERTT min R )(min ≥ Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 398 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf измеряет интервалы между моментами прибытия последовательно отправленных сегментов и, вычислив значение , сообщает его отправителю в полях заголовка сегмента с подтверждением. В работе алгоритма управления скоростью 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. Таким образом, вероятность повышения скорости для медленных соединений больше, а вероятность снижения скорости одинакова для всех соединений. 398
FT E K ( RTT max > − × RTT )m in Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 399 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf Переход из состояния FT в состояние мультипликативного уменьшения MD2 (переход 6) осуществляется при условии: , где K - константа, а FTmaxRTT - максимальное RTT в режиме FT. В состоянии MD2 происходит мультипликативное снижение скорости передачи, после чего протокол возвращается в состояние FT, реализуя переход 7. В том случае, если условие продолжает оставаться истинным, то мультипликативное уменьшение продолжается, т.е. последовательность переходов 6 - 7 реализуется неоднократно, выражаясь в экспоненциальном снижении скорости передачи Рис. 3 Ожидаемое поведение скорости потока данных. Схема поведения значения ARTCP скорости потока приведена на рис. 3. Программная модель Для исследования возможностей протокола и отработки его механизмов была разработана программная модель самого протокола и сетевых компонентов, в среде которых должен функционировать протокол ARTCP. Для построения данной программной модели (ПМ) были использованы методы объектной разработки и реализация на языке C++ в среде Digital UNIX. ПМ представляет собой имитационную модель всех функциональных компонентов протокола ARTCP и всех элементов топологии сети, поведение которых оказывает влияние на алгоритм управления потоком. Компоненты системы представлены в виде набора взаимодействующих объектов, объединенных в определенную топологическую схему. Объектная структура ПМ Набор элементов сети ПМ: конечная система, маршрутизатор, симплексный канал позволяют сконструировать сеть любой топологической сложности. Для связывания топологических элементов в сеть, перед запуском ПМ, каждый из объектов привязывается к последующему, применяя методы подключения следующего компонента. Все объекты элементы сети являются производными от одного базового класса. Каждый объект наследует методы обработки прерывания, запроса на передачу и приема сегмента. Главный цикл ПМ генерирует запросы на прерывание, передаваемые соответствующим методам каждого из экземпляров основных объектов. Все объекты в составе ПМ создают файлы отчетов и регистрации событий, по которым исследуется динамика поведения модели. Объект протокола ARTCP реализует начальную синхронизацию соединения, управление скорость передачи в полном соответствии с алгоритмом ARTCP, генерацию и диспетчеризацию потока данных, прием 399
Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 400 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf данных и отправку подтверждений, ретрансляции по таймеру повторной передачи и быструю ретрансляцию. При этом обмен данными может одновременно происходить в двух направлениях. Внутренняя структура класса ARTCP включает в себя несколько экземпляров класса очереди, моделирующих стандартный буфер приема и передачи для управления потоком по методу скользящего окна и коррекции ошибок передачи. Протокол CBR (Constant bit rate) отправляет данные в сеть с заранее заданной постоянной скоростью, не управляя скоростью потока и не ретранслируя потерянные данные. Сервис виртуальной выделенной линии, создающий потоки такого типа очень актуален в современных сетях, поскольку одним из результатов нашего эксперимента было исследование взаимодействия ARTCP и CBR. Конечная система в ПМ служит платформой для разворачивания протоколов ARTCP и CBR. Функции узла заключаются в передаче запроса на прерывание активному объекту протокола, передаче сегмента, принимаемого с канала, объекту активного протокола (по значению номера порта в заголовке сегмента) и отбрасыванию сегментов не адресованных данному узлу. Принимая сегмент от объекта активного протокола, узел делает попытку отправить его в канал и возвращает статус этой операции объекту протокола. Каждый узел имеет уникальный в пределах моделируемой сети адрес, указываемый в заголовке сегмента. Маршрутизатор включает в свой состав несколько подчиненных объектов: набор интерфейсов (по одному на каждый дуплексный канал) и матрицу коммутации. Задача матрицы коммутации в том, чтобы передать сегмент на нужный выходной интерфейс в соответствии с адресом получателя в заголовке сегмента. Для этого матрица строит таблицу маршрутизации, ассоциируя адрес отправителя с номером интерфейса, с которого был получен сегмент. Если адрес получателя имеется в таблице маршрутизации, то сегмент передается ассоциированному с этим адресом интерфейсу, иначе, рассылается всем интерфейсам, кроме того, с которого был он получен. Такой способ работы характерен скорее для коммутаторов ЛВС, однако, он вполне адекватен для задач исследования алгоритма управления потоком. Каждый интерфейс имеет в своем составе очередь, в которую помещаются ожидающие отправки сегменты. Получая сегмент с канала, объект интерфейса передает его матрице коммутации. Сегменты, принимаемые от матрицы, могут быть отброшены, если очередь на выходе не может вместить сегмент. Попадающий в начало очереди сегмент обслуживается незамедлительно со скоростью передающего канала. Таким образом, объект маршрутизатора моделирует современное межсетевое устройство с неблокирующей коммутационной матрицей и буферизацией на выходе. Канал представляет собой односвязную динамическую очередь, куда помещаются сегменты принятые на обслуживание. Канал характеризуется битовой скоростью R, временем задержки D и вероятностью битовых ошибок BER. Поскольку сама операция передачи сегмента не блокирующая, то блокировка входа канала реализуется с помощью таймера в течение времени 400
BER 0 ≠ Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 401 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf t=S/R, где S – размер пакета, т.е. времени приема пакета размера S в канал. От момента приема первого бита определенного сегмента до момента передачи последнего бита данного сегмента следующему устройству проходит время D+t. Если , то сегмент может быть потерян на выходе из канала. Результаты моделирования Проведенный в рамках данной работы модельный эксперимент ставил задачей определение эффективности работы сети с алгоритмом ARTCP, а также сравнить характеристики ARTCP с протоколом TCP. Численными результатами экспериментов являются следующие показатели: коэффициент использования ПС, коэффициент равноправия разделения ПС, средние значения длины очереди и времени RTT для соединений в установившемся режиме, среднее число отправленных и ретранслированных сегментов. Во всех последующих экспериментах для каналов LAN ПС = 10 Мб/с, задержка 0.01 с., BER 0. Для пояснения принципов функционирования ARTCP Рис. 4. Зависимость скорости потока от обратимся сначала к сценарию с времени для канала в 64 Кб/с одним потоком 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, для того, чтобы избежать возможных неточностей, связанных с синхронизацией Рис. 5. Зависимость порядкового номера программной модели. отправляемых сегментов от времени 401
U F 981 971 989 .0 97 6 10 = ± × 012 023 011 .0 028 ± Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 402 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf Использовалась топология, состоящая из трех пар "источник- получатель" и двух маршрутизаторов, соединенных каналом с ПС 256 Кб/с и задержкой 0.1 с. размер буфера R1: 32 Кбайт. В каждом из 100 экспериментов этого сценария один поток ARTCP запускается в начале работы модели, второй поток ARTCP и поток CBR запускаются по случайному закону, дающему равномерное распределение в интервалах 90-110 и 190-210 секунд соответственно. Случайно выбираются также время останова первого ARTCP потока в интервале 390-410 секунд и скорость CBR источника в интервале 50- 200 Кб/с. Полученные результаты таковы: коэффициент использования ПС для двух ARTCP потоков в присутствии CBR потока ; коэффициент использования ПС для двух ARTCP потоков в отсутствие CBR потока ; число потерянных сегментов 0; коэффициент равноправия разделения ПС для двух ARTCP потоков в присутствии CBR потока ; коэффициент равноправия разделения ПС для двух ARTCP потоков в отсутствие CBR потока . (приведены средние значения среднеквадратичное отклонение) Сравнение с TCP Для изучения влияния потерь сегментов не связанных с перегрузкой трафик 10 TCP и 10 ARTCP потоков пропускался через WAN канал с ПС 256 Кб/с, задержкой 0.1 с. и с различными значениями BER. Для каждого из значений BER (до ) проводилось 50 экспериментов длительностью 500 с. Все потоки запускаются синхронно в момент времени t = 0. Рис. 6. Зависимость скорости ARTCP и TCP от BER для канала в 256 Кб/с для 10 потоков Результаты моделирования по данному сценарию приведены на рис. 6. Явно видно существенное преимущество ARTCP перед TCP, когда с увеличением BER, для протокола ARTCP скорость потока остается близкой к максимальной, а скорость TCP испытывает резкое снижение. В следующем сценарии производится сравнение коэффициентов использования ПС и равноправия разделения ПС для Рис. 7. Коэффициент U для ARTCP и TCP в ARTCP и TCP. Для обоих зависимости от числа одновременных потоков протоколов были произведены измерения на 10-ти вариантах 402
Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 403 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf сетевой топологии, содержащей соответственно от 2 до 20 узлов (1-10 одновременных потоков). На каждом из вариантов топологии проводилось 100 модельных экспериментов, длительность каждого составила 500 с. При небольшом числе активных соединений эффективность использования ПС канала для TCP несколько выше (рис. 7). С ростом количества соединений коэффициент использования ARTCP ресурсов канала приближается к единице, в то время как для TCP эффективность использования канала снижается из-за ретрансляций. Соединения протокола ARTCP более равноправны между собой, чем TCP, причем с ростом Рис. 8. Коэффициент F для ARTCP и TCP. 10 числа соединений для протокола потоков, измерения по 500 и 100 секунд ARTCP значение F возрастает (рис. 8). На графике приведены значения коэффициента равноправия для 500 и 100 с. модельного времени. Поскольку TCP переполняет буфер сети, определяя ее пропускную способность, то для TCP средняя длина очереди всегда близка к максимальной. Для ARTCP такая проблема отсутствует, поскольку доступная пропускная способность определяется по измерениям скважности потока и времени RTT. Поэтому средняя длина очереди для ARTCP всегда существенно ниже, чем для TCP (рис. 9). Свойство самоподобия ARTCP Рис. 9. Средняя длина очереди для ARTCP и трафика TCP в зависимости от количества потоков Для определения того, обладает ли трафик ARTCP свойством самоподобия и вычисления коэффициента Хёрста, был проведен модельный эксперимент, в результате которого было получена серия, состоящая из 147036 измерений суммирующих события прихода сегментов с данными на маршрутизатор R1 от 10-и активных источников. К полученной исходной серии были применены методы R/S статистики и AVM. По результатам применения обеих методов был вычислен Коэффициент Хёрста по методу R/S равен 0.63, по методу Aggregated variance: 0.65. Выводы В настоящей работе предложен совершенно новый алгоритм управления скоростью потока, сглаживающий неравномерности передачи, не вызывающий 403
Электронный журнал «ИССЛЕДОВАНО В РОССИИ» 404 http://zhurnal.ape.relarn.ru/articles/2000/027.pdf перегрузку сети благодаря использованию измеренных значений скважности и 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, RFC1122, 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 1996 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 404
Вы также можете почитать