автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.17, диссертация на тему:Адаптивная схема управления потоком для транспортного протокола в сетях с коммутацией пакетов

кандидата физико-математических наук
Алексеев, Игорь Вадимович
город
Ярославль
год
2000
специальность ВАК РФ
05.13.17
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Адаптивная схема управления потоком для транспортного протокола в сетях с коммутацией пакетов»

Автореферат диссертации по теме "Адаптивная схема управления потоком для транспортного протокола в сетях с коммутацией пакетов"

На правах рукописи

АЛЕКСЕЕВ ИГОРЬ ВАДИМОВИЧ

Адаптивная схема управления потоком для транспортного протокола в сетях с коммутацией

пакетов

05.13.17. Теоретические основы информатики

Автореферат

диссертации на соискание ученой степени кандидата физико-математических наук

Ярославль, 2000 г.

Работа выполнена на кафедре Теоретической информатики факультета Информатики и вычислительной техники Ярославского государственного университета им. П.Г. Демидова

Научный руководитель:

кандидат физико-математических

Научный консультант:

наук, профессор Соколов В. А. доктор физико-математических наук, профессор Тимофеев Е. А.

Официальные оппоненты:

доктор физико-математических наук, профессор Майоров В.В.

доктор физико-математических наук, профессор Щур Л.Н.

Ведущая организация:

Институт микроэлектроники и информатики РАН.

Защита состоится 28 апреля 2000 года в 15.00 на заседании Диссертационного совета К064.12.04 при Ярославском государственном университете им. П.Г. Демидова по адресу 150000, г. Ярославль, ул. Советская, д. 14.

С диссертацией можно ознакомиться в библиотеке Ярославского государственного университета им. П.Г. Демидова по адресу 150000, Ярославль, ул. Кирова, д.8/10.

Автореферат разослан_ марта 2000 года.

Ученый секретарь диссертационного

совета, к.ф-м.н. _ Пендюр А.Д.

Общая характеристика работы

Актуальность темы

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

Принято разделять коммуникационные протоколы по степени общности задач, решаемых ими, на несколько уровней, упорядоченный набор которых образует сетевую архитектуру. Самой распространенной и универсальной сетевой архитектурой является архитектура TCP/IP [Cerf V. 1974]. В рамках TCP/IP все системы в сети делятся на конечные системы, между которыми происходит информационный обмен, и промежуточные системы, не являющиеся конечными или исходными точками обмена. Конечные системы называются узлами сети, а промежуточные - маршрутизаторами.

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

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

Транспортным протоколом в архитектуре TCP/IP является TCP (Transmission Control Protocol) [Postel J. 1981, Braden R. 1989, Jacobson V. 1992], который обеспечивает надежную двустороннюю связь с контролем скорости передачи. Источник TCP потока получает информацию от пользователя в виде последовательности битов, формирует из нее блоки конечной длины, называемые сегментами и отправляет их к TCP получателю. Получатель, принимая сегменты, формирует из них исходную последовательность и передает ее своему пользователю.

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

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

На сегодняшний момент известен ряд существенных недостатков алгоритма управления потоком протокола TCP:

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

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

3. Локальные неравномерности в отправке сегментов TCP приводят к повышению вероятности потери сегментов при максимальном заполнении буферов.

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

Таким образом, важнейшей задачей является разработка нового транспортного протокола в рамках архитектуры TCP/IP, который был бы более эффективен, чем TCP. Новый протокол должен быть универсальным в смыс-

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

В диссертации разработан новый транспортный протокол ART CP. В среде языка C++ создан класс, полностью описывающий протокол ARTCP, который может стать основой реализации протокола. Разработана универсальная объектно-ориентированная имитационная модель для конструирования сетей с топологией любой сложности. Проведенные эксперименты работы протокола ARTCP для ряда сценариев показали, что он почти всегда превосходит стандартный протокол TCP.

Цель работы

Целью настоящей работы является разработка нового транспортного протокола (названного ARTCP), способного заменить стандартный протокол TCP в рамках архитектуры TCP/IP и свободного от указанных выше недостатков TCP. Протокол ARTCP должен эффективно функционировать в проводных и беспроводных сетях.

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

Научная новизна

Основные научные результаты диссертации состоят в следующем:

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

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

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

Методы исследования

Наиболее приемлемым способом исследования сложной корпоративной самоорганизующейся системы является имитационное моделирование. В

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

Положения выносимые на защиту

1. Алгоритм нового транспортного протокола ARTCP и его реализация в виде класса на языке C++. 2. Имитационная модель для конструирования коммуникационных сетей с топологией любой сложности из готового набора компонентов. 3. Результаты экспериментов работы протокола ART CP для ряда сценариев, показывающие, что он почти всегда превосходит стандартный протокол TCP.

Практическая ценность

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

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

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

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

Апробация работы

По результатам, полученным в ходе работы, были сделаны доклады на международном семинаре IEEE «Интернет: технологии и сервисы», а также на семинарах ЯрГУ: "Моделирование и анализ информационных систем", "Нейронные сети".

Структура и объем работы

Диссертация состоит из введения, четырех глав и выводов, изложенных на 145 страницах. В работу входят 74 иллюстрации. Список литературы содержит 101 наименование.

Основное содержание работы

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

Части 1.1-1.6 введения дают обзор основных целей и результатов диссертации, подчеркивают актуальность исследований транспортных протоколов.

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

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

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

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

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

ределенный интервал времени для сетевого трафика, не имеет пуассоновско-го распределения, а, как показывают результаты обработки больших серий экспериментальных данных [Taqqu M. 1998, Willinger R. 1997], обладает свойствами самоподобия. Причиной этого, как показано в [Taqqu M. 1997], являются особенности распределения длительностей периодов включения/выключения соединений. Однако, поведение самого алгоритма управления потоком может также быть причиной появления свойства самоподобия трафика согласно [Riedi R. 1999, Feldmann A. 1998].

В части 1.9 введения дано описание предлагаемых другими авторами алгоритмов управления потоком, таких как: TCP Vegas [Brakmo L. 1995], TRUMP [Tomey K. 1997], PP [Keshav S. 1991], NETBLT [Clark D. 1988], Tri-S [Wang Z. 1991], DUAL [Zhang L. 1993]. Каждый из этих методов обладает определенными недостатками и не применяется в стандартных сетевых архитектурах. Главный недостаток Vegas, Tri-S, DUAL в том, что они основаны на TCP, который реагирует на потерю сегмента снижением скорости, а в отсутствие потерь линейно увеличивает нагрузку на сеть, приводя к переполнению буферов. Схема TRUMP предполагает расширение функциональности маршрутизаторов механизмом, уведомляющим источники о перегрузке в явном виде, что означает отказ от архитектуры TCP/IP. PP предлагает эффективный способ измерения загрузки сети, однако для его работы необходимо выполнение условий, нереализуемых в архитектуре TCP/IP.

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

1. Относительное число потерь сегментов (отношение числа потерянных к общему числу отправленных сегментов)

2. Коэффициент использования пропускной способности каналов и - число _принятых _битов (отношение числа успешно принятых битов к макси-

(скорость _ канала) х время

мально возможному их числу).

3. Коэффициент равноправия разделения ресурсов F = (jrbt)2 /n х (jrb2), где bt

t -1 / t -1

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

4. Средняя длина очереди Q в маршрутизаторе R1 (рис.1).

В работе проводится сравнение ARTCP и TCP по этим основным характеристикам.

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

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

S Размер сегмента в битах

Ts (t) Межсегментный интервал, устанавливаемый отправителем

T (t) Межсегментные интервалы в потоке, измеряемые получателем

Rs (t) Скорость отправки потока, устанавливаемая отправителем

Rr (t) Скорость прибытия потока, измеряемая получателем

Re (t) Скорость прибытия потока к получателю после того, как отправитель извлечет эту информацию из подтверждений

Ac (t,) Значение области компенсации, выражающее количество данных, накопившихся в буфере

Q(t) Длина очереди в маршрутизаторе

q max Максимально возможная длина очереди

BER Вероятность битовой ошибки в канале

RTT Время обращения сегмента (интервал между отправкой сегмента и прибытием его подтверждения)

speedup Коэффициент, повышающий вероятность роста скорости

slowdown Коэффициент, повышающий вероятность снижения скорости

s Значение точности, применяемое при сравнении, г << 1

Каждый из узлов в одной из ЛВС отправляет сегменты с межсегментным интервалом ts (t) = S/RS (t), где RS (t) задается алгоритмом управления потоком ARTCP. Предполагается, что источники потоков всегда имеют информацию для отправки. Источники и приемники трафика находятся в разных ЛВС. Приемники трафика ARTCP отправляют подтверждения в противоположном направлении в виде сегментов, не содержащих данных.

Задача маршрутизатора в том, чтобы осуществлять передачу сегмента по адресу получателя в его заголовке. В буфере маршрутизатора R1 организуется FIFO очередь сегментов, которые отправляются далее к маршрутизатору R2. Очередь имеет конечную длину Q < Qmax. Сегмент, поступающий на

выходной интерфейс в момент времени t, помещается в очередь, если

S < Qmax - Q(t), иначе этот сегмент теряется. Очередь маршрутизатора R1 обслуживается со скоростью канала, соединяющего маршрутизаторы.

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

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

1. ARTCP в качестве сигнала о перегрузке в сети использует не потерю сегмента, а темпоральные характеристики потока. Источник ARTCP делает вывод о начале перегрузки сети, если при увеличении Rs (t) происходит увеличение времени RTT и стабилизация скорости потока, измеряемая получателем, т.е. Re (t) < RS (t - RTT).

2. Сегменты ARTCP отправляются в сеть не в виде всплеска, а разделенные интервалами ts (t). Измерение значения межсегментных интервалов тг (t)

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

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

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

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

3. Благодаря механизму диспетчеризации сегментов их отправка в сеть происходит без всплесков, более равномерно. Поэтому, во-первых, снижает-

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

Главным отличием ARTCP от TCP является новый алгоритм управления потоком, который задает скорость отправки потока, отслеживая значения Re (t) и RTT.

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

В работе алгоритма управления скоростью ARTCP потока выделяются несколько режимов (рис. 2). Сначала алгоритм максимально быстро определяет доступную ПС, а затем переходит в режим тонкой настройки, удерживающей скорость потока, равной доступной ПС. Алгоритм управления потоком получает на вход значение Re (t) и RTT и, в зависимости от их значений и текущего состояния, совершает переход в новый режим и рассчитывает значение Rs (t). Значение Rs (t) используется механизмом диспетчеризации для

установки длительности межсегментного интервала.

Режимы алгоритма управления потоком ARTCP. На момент времени t источник имеет оценку Re (t) доступной ПС сети и может сравнить значение скорости отправки потока в момент t-RTT и скорости его прибытия к получателю. В момент времени t источник получает подтверждения приема сегментов, отправленных до момента t-RTT.

Режим ускоренного старта (SS) имеет цель максимально быстро увеличить скорость потока от минимального значения до значения, равного или превосходящего ПС канала сразу после инициализации соединения. Для этого скорость увеличивается экспоненциально. Выход из режима SS происходит, когда Re (tl) < (1 - s) х RS (tl - RTT).

Режим мультипликативного сброса (MD1) следует за режимом SS. После выхода из SS значение Rs (t) будет превышать Re (t), поэтому в режиме

MD1 скорость потока скачкообразно устанавливается заведомо ниже Re (t). После снижения скорости алгоритм переходит в режим восстановления.

Режим восстановления (REC) имеет целью, линейно увеличивая скорость, довести ее до уже известного значения ПС канала: Re (t), компенсируя возникшую в режиме SS перегрузку. В режиме REC вычисляется значение

?

Ускоренный старт [ ss |

i

Мультипликативный [ MD1 1 Сброс I-J

1

Восстановление

[ REC ]

[ STOP | * * +

OO'i

Тонкая _

настройка | FT

S

Мультипликативный I MD2] Сброс I I

Рис. 2 Режимы алгоритма управления потоком ARTCP

площади области компенсации Ас {tt) как площадь криволинейной фигуры ABC (рис. 3), образованной значениями Rs(t) над прямой Re(ti) за время, пока Rs (tt )> Re (tt) в режиме SS. Смысл Ac (tt) в том, что это значение выражает объем данных, накопившихся в буфере маршрутизатора, пока скорость отправки сегментов превышала скорость их обслуживания. Линейный рост скорости в режиме REC происходит так, чтобы число отправленных сегментов было меньше их максимального числа (при отправке потока со скоростью Re (tl)) на величину Ас (t,.). Это означает равенство площади треугольника CDF (рис. 3) и Ас(tt). Выход из режима REC происходит по условию: Rs (t) > Re (t).

Режим тонкой настройки (FT) следует за режимом REC, в режиме FT скорость отправки данных медленно подстраивается под ПС канала. Отношение коэффициентов speedup и slowdown в состоянии FT определяет вероятность снижения или повышения скорости на каждом шаге. Коэффициент speedup, отвечающий за повышение скорости обратно пропорционален скорости данного соединения. Коэффициент slowdown, отвечающий за снижение скорости, пропорционален отношению измеряемого RTT к минимальному значению RTT. Значение speedup больше при меньших значениях Rs (t), что дает медленным соединениям преимущество для получения доступа к большей относительной доле ПС. Значение slowdown одинаково для всех соединений и растет при росте RTT. Таким образом, вероятность повышения скорости для медленных соединений больше, а вероятность снижения скорости одинакова для всех соединений. Выход из режима FT происходит в случае скачкообразного изменения измеряемого RTT.

Режим мультипликативного сброса (MD2) необходим для быстрого снижения скорости при условии резкого роста RTT. Снизив скорость, алгоритм совершает переход в режим FT.

Схема поведения значения скорости потока приведена на рис. 3, где показан процесс адаптации ARTCP к каналу с ПС = 96 Кб/с.

В главе 3 описывается созданная для исследования возможностей ARTCP и отработки его механизмов имитационная программная модель (ИПМ) самого протокола и сетевых компонентов, в среде которых функционирует ARTCP.

ИПМ состоит из набора объектов протокола ARTCP и всех элементов сети, поведение которых оказывает влияние на алгоритм управления потоком. ИПМ построена в виде сети из требуемого количества взаимодействующих объектов, объединенных в определенную топологическую схему. Объект протокола ARTCP и объекты всех компонентов сети реализованы как классы на языке С++. Универсальность ИПМ в том, что набор компонентов сети: узел, маршрутизатор, канал позволяют сконструировать сетевую топологию любой требуемой сложности, а индивидуальные настройки экземпля-

ров всех классов модели - задавать любые условия функционирования системы. Ниже приведено краткое описание основных компонентов ИПМ.

Объектная структура модели. Моделируемая сеть конструируется из набора узлов, каналов и маршрутизаторов. Объекты протоколов ARTCP или CBR привязываются к узлам сети.

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

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

Объект протокола CBR (Constant bit rate) отправляет данные в сеть с заранее заданной постоянной скоростью, не управляя скоростью потока и не ретранслируя потерянные данные.

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

Объект маршрутизатора моделирует современное межсетевое устройство с неблокирующей коммутационной матрицей и буферизацией на выходе. Маршрутизатор включает в свой состав несколько подчиненных объектов: набор интерфейсов (по одному на каждый двусторонний канал) и матрицу коммутации.

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

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

Объект канала связывает узлы и маршрутизаторы в ИПМ. Он характеризуется битовой скоростью, временем задержки и вероятностью битовых ошибок. Эти параметры устанавливаются индивидуально для каждого канала. Передача сегментов в двух направлениях моделируется парой простых каналов.

На ИПМ был проведен ряд модельных экспериментов с протоколом ARTCP. Результаты моделирования ARTCP, сравнение его характеристик с TCP и характеристика свойства самоподобия потоков ARTCP приведены в главе 4.

Задача модельного эксперимента состоит в определении характеристик протокола ARTCP: коэффициента использования ПС, коэффициента равноправия разделения ПС, среднего значения длины очереди для соединений в установившемся режиме, среднего числа отправленных и ретранслированных сегментов. Было также проведено сравнение ARTCP с TCP. Эксперименты проводились в нескольких сценариях, укладывающихся в схему соединения двух ЛВС через канал с ограниченной ПС. Каналы внутри ЛВС обладают ПС = 10 Мб/с, задержкой = 0.01 с, BER = 0. В различных сценариях между ЛВС создаются несколько ARTCP потоков и поток CBR.

В автореферате приводятся лишь наиболее репрезентативные результаты моделирования.

Для пояснения принципов функционирования ARTCP рассмотрим сценарий с одним потоком ARTCP, ограниченным каналом с ПС 96 Кб/с и задержкой 0.1 с. Максимальная длина очереди в маршрутизаторе R1 составляет 16 Кбайт. На рис. 3 приведен график зависимости скорости отправки потока от времени. На графике отмечены режимы SS, MD1, REC, FT, через которые проходит алгоритм. Потерь пакетов в данном эксперименте не происходит.

ARTCP потоков с потоком CBR, при

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

rate (bits/seconds)

SS R'C T

..............................

A

D

0 5 10 15 20 25 time (seconds) Рис. 3. Зависимость скорости потока от времени для канала в 96 Кб/с

В случае взаимодействия двух

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

интервале 390-410 секунд и скорость CBR источника в интервале 50-200 Кб/с.

Полученные результаты таковы: для двух ARTCP потоков в присутствии CBR потока и = 0.981 ± 0.012; для двух ARTCP потоков в отсутствие CBR потока и = 0.971 ± 0.023; число потерянных сегментов во всех случаях равно нулю; для двух ARTCP потоков в присутствии CBR потока F = 0.989 ± 0.011; для

двух ARTCP потоков в отсутствие CBR потока f = 0.97 ± 0.028. (Указано среднее значение ± среднеквадратичное отклонение). На рис. 4 приведен график зависимости порядковых номеров отправляемых сегментов от времени в типичном эксперименте.

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

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

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

■ ■ + ■ ' : :Х ^.....* ■ :' J

ф

8

$

0 50 100 150 200 250 300 350 400 450 500 time (seconds) Рис. 4. Зависимость порядкового номера отправляемых сегментов от времени

■ : ■ RTCP TCP >--*-'

2e-05 3e-05 4e-05

Probability of bit error

Рис. 5. Зависимость скорости потоков от БЕЯ для канала в 256 Кб/с (среднее и дисперсия)

300000

250000

200000

150000

100000

50000

-50000

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

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

Соединения протокола ARTCP более равноправны между собой, чем TCP, причем с ростом числа соединений для протокола ARTCP значение F возрастает.

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

Свойство самоподобия ARTCP трафика. Основным методом анализа коммуникационных сетей является теория систем массового обслуживания. Однако большинство результатов этой теории получено в предположении о конечности дисперсий как интервалов между поступлениями сегментов, так и длительностей их обслуживания. Экспериментальное изучение трафика в TCP/IP сетях (В. Леланд и др.) показало, что такое предположение о конечности дисперсии неверно. В классических работах В. Виллингера и М. Таггу показано, что трафик в сетях архитектуры TCP/IP обладают свойством самоподобия.

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

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

■ ■ ■ TCP '---Х---'

160 ...................................{..........................

t

fc 12000

§ у

ё 10000 *•

§ 80 ф 60 L

4000 2000

..........

0 4 6 8 10

Рис. 6. Зависимость средней длины очереди от

числа потоков

Полученная исходная серия подверглась статистической обработке с применением методов R/S статистики и aggregated variance. По результатам применения обоих методов был вычислен коэффициент Хёрста: по методу R/S он равен 0.63, по методу aggregated variance: 0.65. Таким образом, трафик ARTCP, как и другой сетевой трафик [Willinger R. 1997, Taqqu M. 1998], обладает свойством самоподобия. Наличие свойства самоподобия у трафика, полученного на имитационной модели, так же как и у трафика реальных сетей, указывает на то, что разработанная модель хорошо воспроизводит процессы, происходящие в реальных сетях.

Итак, использование метода имитационного моделирования протокола ARTCP является в настоящий момент единственно возможным средством его исследования.

Основные результаты и выводы

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

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

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

Публикации автора по теме диссертации

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

2. Алексеев И.В. Математическая модель протокола TCP с адаптацией скорости // Моделирование и анализ информационных систем. - 1999. - том 6, №2 - С.51-53.

3. Алексеев И.В. Интегрированные услуги нового поколения Internet // Сети. - 1999. - №10, С.102-108

4. Алексеев И.В. Введение в архитектуру MPLS // Сети. - 1999. - №12, С.48-53

5. Alekseev I.V., Sokolov V.A. Compensation Mechanism for Adaptive Rate TCP // In proc. of First IEEE/Popov workshop on Internet Technologies and Services, (October 25-28 1999), vol. 2, p. 68-75

6. Alekseev I.V., Bezzubov S.A., Rusakov A.I. Building Regional Wide Area Network // In proc. of 7-th Joint European Networking Conference (May 13-16 1996), p. 172:1-172:9

Оглавление автор диссертации — кандидата физико-математических наук Алексеев, Игорь Вадимович

Реферат

Введение

1.1. Предмет исследования

1.2. Научная новизна работы

1.3. Практическая ценность результатов

1.4. Апробация работы

1.5. Содержание работы

1.6. Благодарности

1.7. Коммуникационные транспортные протоколы

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

1.9 Управление потоками в коммуникационных системах

Глава 1. Постановка задачи

1.1. Недостатки протокола TCP

1.2. Цель работы

1.3. Формальная модель системы

1.4. Основные характеристики протокола

1.5. Сеть как самоорганизующаяся система

Глава 2. Алгоритм ARTCP

2.1. Аспекты новизны протокола ARTCP

2.2. Эвристика в основе алгоритма ARTCP

2.3. Параметры и переменные

2.4. Формат сообщения

2.5. Структурная схема ARTCP

2.6. Совместимость с TCP

2.7. Сравнение ARTCP и TCP на основе анализа алгоритма

2.8. Направления дальнейшего развития ARTCP

Глава 3. Имитационная модель

3.1. Формат сообщения

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

3.3. Главный цикл

3.4. Дуплексный режим

3.5. Трассировка модели

3.6. Визуализация данных

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

4.1. Общая схема модельного эксперимента

4.2. Сценарий 1: изолированный ARTCP

4.3. Сценарий 2: определение важнейших параметров сети

4.4. Сценарий 3: ARTCP и TCP в условиях ошибок передачи

4.5. Сценарий 4: ARTCP и TCP - коэффициент использования

4.6. Сценарий 5: ARTCP и TCP - коэффициент равноправия

4.7. Сценарий 6: ARTCP и TCP средняя длина очереди

4.8. Сценарий 7: 1 ARTCP и 1 CBR

4.9. Сценарий 8: 2 ARTCP и 1 CBR

4.10. Сценарий 9: свойство самоподобия трафика ARTCP 133 Основные выводы 138 Список литературы

Введение

1.1. Предмет исследования

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

Принято разделять коммуникационные протоколы по степени общности задач, решаемых ими, на несколько уровней, упорядоченный набор которых образует сетевую архитектуру. Самой распространенной и универсальной сетевой архитектурой является архитектура TCP/IP [43, 1]. В рамках TCP/IP все системы в сети делятся на конечные системы, между которыми происходит информационный обмен, и промежуточные системы, не являющиеся конечными или исходными точками обмена. Конечные системы называются узлами сети, а промежуточные - маршрутизаторами.

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

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

Транспортным протоколом в архитектуре TCP/IP является TCP (Transmission Control Protocol) [4, 5, 6], который обеспечивает надежную двустороннюю связь с контролем скорости передачи. Источник TCP потока получает информацию от пользователя в виде последовательности битов, формирует из нее блоки конечной длины, называемые сегментами и отправляет их к TCP получателю. Получатель, принимая сегменты, формирует из них исходную последовательность и передает ее своему пользователю.

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

Набор соединений транспортного протокола, разделяющих общий канал, представляет собой сложную самоорганизующуюся систему в смысле Г. Хакена [101]. Поведение каждого из объектов протокола в этой системе определяется алгоритмом протокола, однако, поведение всей системы, как целого, вообще говоря, не описывается совокупностью действий ее компонентов. Каждый объект протокола стремится максимально эффективно адаптироваться к доступным ресурсам сети в условиях кооперации с другими объектами этого протокола.

На сегодняшний момент известен ряд существенных недостатков алгоритма управления потоком протокола TCP:

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

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

3. Локальные неравномерности в отправке сегментов TCP приводят к повышению вероятности потери сегментов при максимальном заполнении буферов.

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

Таким образом, важнейшей задачей является разработка нового транспортного протокола в рамках архитектуры TCP/IP, который был бы более эффективен, чем TCP. Новый протокол должен быть универсальным в смысле возможности использования его как в проводных, так и беспроводных сетях, что особенно важно в свете дальнейшего развития сетевых технологий и расширения областей их применения.

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

1.2. Научная новизна работы

Основные научные результаты диссертации состоят в следующем:

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

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

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

1.3. Практическая ценность результатов

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

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

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

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

1.4. Апробация работы

По результатам, полученным в ходе работы, были сделаны доклады на международном семинаре IEEE «Интернет: технологии и сервисы», а также на семинарах ЯрГУ: "Моделирование и анализ информационных систем", "Нейронные сети". Новый протокол вызвал большой интерес и одобрение со стороны экспертов в области телекоммуникаций.

1.5. Содержание работы

Для создания алгоритма нового протокола и разработки его имитационной модели необходимо рассмотреть все компоненты транспортного протокола. В части 1.7 введения (коммуникационные транспортные протоколы), даны важнейшие определения, принципы и алгоритмы, которые используются далее по тексту. В части 1.8 (управление потоками в коммуникационных системах) рассмотрены работы в области управления скоростью передачи в распределенных сетях построенных на принципе коммутации пакетов. Самоподобие сетевого трафика и важнейшие работы в этой области описаны в части 1. свойство самоподобия сетевого трафика) введения. На основе типичных задач и путей решения проблемы управления потоками можно осуществить постановку задачи - создание протокола, свободного от недостатков TCP, это сделано в главе 1. В главе 2 дано описание алгоритма предлагаемого протокола ARTCP, и его функциональных компонентов. В главе 3 приведено описание разработанной имитационной модели сети и аспекты ее объектной реализации. В главе 4 приведены результаты модельных экспериментов, дано сравнение свойств ARTCP и TCP, а также показано свойство самоподобия ARTCP трафика. Работа завершается выводами.

1.6. Благодарности

Хочу выразить искреннюю благодарность своему научному руководителю проф. В. А.

Соколову за ценные советы и помощь с работой. Особенно хочется отметить помощь и поддержку, оказанную научным консультантом проф. Тимофеевым Е. А. Отдельное спасибо моим коллегам по Центру Интернет ЯрГУ, в частности, проректору по информатизации Русакову А. И. за помощь и поддержку, а также руководителю проекта "Региональный кластер научных вычислений"1 (грант РФФИ № 98-07-90171) Захаровой М. Н. за предоставление возможности осуществлять разработку программной модели и модельный эксперимент, а также всем, кто оказывал мне помощь и поддержку. Написание данной диссертации является частью работ выполняемых по проекту "Развитие высокоскоростного сегмента Ярославской региональной опорной сети на основе АТМ технологий" (грант РФФИ № 98-07-90307).

1.7. Коммуникационные транспортные протоколы

1.7.1. Современные коммуникационные сети

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

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

1 Региональный кластер научных вычислений "Cyclone" состоит из трех Alpha-станций под управлением ОС Digital UNIX. Подробная информация по адресу http://cluster.yars.free.net/cluster набор равноправных узлов имеющих возможность обмениваться информацией. Такое определение относится к так называемой сети передачи данных, однако, не ограничивается только компьютерными данными и может быть расширено для любой сети, построенной по принципу коммутации пакетов, в том числе и универсальной сети с интеграцией сервисов.

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

Любая коммуникационная система состоит из двух основных компонентов: аппаратной и логической частей.

1.7.2. Аппаратная инфраструктура сетей

Аппаратная часть это физическая инфраструктура, посредством которой осуществляется распространение физических сигналов кодирующих информационные сообщения. Физическая инфраструктура может либо осуществлять информационный обмен между всеми участниками сети одновременно (широковещательная сеть), либо только между двумя узлами (сеть типа точка-точка). В зависимости от масштаба и топологии сетевой инфраструктуры производят ее дальнейшую классификацию: локальные вычислительные сети (ЛВС), территориальные сети (WAN), сотовые сети и т.д.

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

1.7.3. Системы протоколов

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

Задачей любого протокола является управление совместным использованием ресурсов. Протоколы сходны с языками. Определение протокола дается следующим образом - через определение его функциональных компонентов [3]: Протокол определяет точный формат допустимых сообщений (синтаксис); Протокол определяет процедурные правила для обмена информацией (грамматика); Протокол определяет словарь правильных сообщений и их значения (семантика); Разработка, описание и верификация протоколов составляют наиболее сложную задачу в решении проблемы создания коммуникационных систем.

1.7.3.1. Методы формального описания

Существуют несколько методов для формального описания протоколов. Это языки

SDL (Specification and description language), Lotos и Estelle. Наиболее часто применяется язык SDL, который является стандартом ITU2. Существуют две формы SDL - графическая и программная [55]. Естественно, что из всех компонентов протокола именно процедурные правила могут быть даны с помощью того или иного языка формального описания.

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

1.7.3.3. Пять элементов протокола

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

Таким образом, выделяют пять компонентов протокола, каждый из которых должен быть задан тем или иным методом формального описания:

1. Сервис, предоставляемый пользователю

2. Предполагаемая характеристика среды исполнения протокола

3. Словарь допустимых сообщений

4. Кодировка сообщений - формат каждого сообщения из словаря

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

2 International Telecommunications Union -телекоммуникаций международная организация разрабатывающая стандарты в области сервиса верхнего уровня протокол должен выполнять ряд задач низкого уровня -синхронизации, распознавания и коррекции ошибок. То, как протокол выполняет эти задачи, зависит от свойств среды его исполнения.

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

1.7.3.4. Определение протокола через "связанные конечные автоматы"

На низком уровне абстракции протокол можно представить в виде конечных автоматов. В своей монографии [3] Хольцман предлагает так называемую модель связанных конечных автоматов для формализованного описания протокола. В этом случае задачи разработки, формальной верификации и проверки на совместимость сводятся к нахождению желаемых/нежелаемых состояний и переходов. Каждый из связанных конечных автоматов может получать символы на вход, осуществлять переход в новое состояние и генерировать символьную информацию на выходе. Отдельные конечные автоматы связываются между собой посредством ограниченных FIFO очередей, через которые выходной сигнал одного автомата поступает на вход другого. Так моделируется асинхронная связь, характерная для большинства коммуникационных систем.

Определение очереди: очередь сообщений (символов) представляется тройкой (S, N, C), где S - ограниченное множество определяющее словарь очереди, N - целое число позиций в очереди, C - упорядоченное множество элементов из S. S и С: множества сообщений. Если модель системы требует наличия нескольких очередей, то их словари должны образовывать непересекающиеся множества. Если M множество всех системных очередей, индекс 1 < m <| M | нумерует очереди, а 1 < n < N позиции внутри очереди, с^ - n-ный символ в m-той очереди. Системный словарь тогда выражается через словари каждой из очередей и нулевой символ е : v = y'm=1 sm ye . В [3] дается определение связанных конечных автоматов как набора (Q, q0, M, T), где Q - конечное непустое множество состояний, q0 - элемент Q - начальное состояние, M - множество символьных очередей, определенных выше, T - отношение перехода. T имеет два аргумента T(q, a), где q текущее состояние и a - действие (одно из: ввод, вывод, пустое действие). Реализация перехода с действиями типа ввод/вывод зависит от состояния символьных очередей. При их реализации изменяется состояние одной из очередей. Отношение перехода T задает множество (которое может быть пустым) всех возможных результирующих состояний. Достаточным условием реализации T(q, s ) является то, что текущее состояние есть q.

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

1.7.3.5. Иерархии протоколов

Принципы разработки и исследования любой сложной системы предполагают расчленение ее на части меньшего объема и сложности, которые можно исследовать по отдельности. Имея в виду принципы взаимодействия частей, можно обобщить знание на всю систему. Системы протоколов в коммуникации имеют сложную иерархическую структуру. Каждый из протоколов в такой системе представляет собой определенный уровень абстракции, при этом нижележащие уровни скрывают низкоуровневые задачи от верхних уровней. Иерархический принцип позволяет выразить логическую структуру протоколов, разделяя задачи нижних и верхних уровней. протокол 1 (кодек) протокол 2 (четность) туннель протокол 2 протокол четность) (кодек) концсвик протокол N концсвик концсвик Данные заголовок заголовок протокол 2 протокол 1 протокол 0 протокол 1 протокол заголовок протокол N

Рис. 1. Пример инкапсуляция данных одного протокола в формате сообщений другого.

Протокол 2 инкапсулирует сообщения протокола 1.

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

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

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

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

Набор слоев и соответствующих им протоколов называется архитектурой сети. Упорядоченный набор протоколов определенных в рамках конкретной сетевой архитектуры называется стеком протоколов. Каждый из N уровней одной системы осуществляет обмен с уровнем N конечной системы, используя для этого сервисы уровня N-1, при этом каждый из промежуточных уровней инкапсулирует3 данные верхнего уровня внутри своего формата сообщений (рис. 1.).

Таким образом, на каждом уровне N процедура, отправляющая или получающая данные от уровню N другой системы, на самом деле отправляет информацию для обработки на уровень N-1 своей системы, снабдив данные своей контрольной информацией.

1.7.3.6. Общие свойства уровней иерархической системы

В функции каждого из уровней входят несколько типов операций, которые, реализуясь по-разному на каждом уровне абстракции, имеют сходные признаки. Так каждому уровню необходим механизм для идентификации отправителей и получателей -определенная система адресации и мультиплексирования потоков. Уровни должны работать с несколькими режимами обмена данными: симплекс, полудуплекс, дуплекс, а также поддерживать набор приоритетов и логических соединений. Очень важной функцией

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

1.7.3.7. Сервисы и интерфейсы

Рис. 2. Преобразование потока информации на интерфейсе NSAP между смежными уровнями сетевой архитектуры.

Предоставление сервисов верхним уровням является главной задачей каждого из уровней. Активные элементы внутри каждого из уровней называются объектами протокола. Объект может представлять собой программный процесс или часть функциональности аппаратуры, например интеллектуальный контроллер ввода/вывода. Объекты уровня N реализуют сервисы, используемые уровнем N+1. В этом случае уровень N является поставщиком услуг, а уровень N+1 пользователем. Уровень N для выполнения своей задачи по предоставлению набора сервисов уровню N+1 может сам выступать пользователем услуг уровня N-1. Возможно предоставление нескольких типов сервиса, например быстрой и ненадежной связи наряду с медленной и надежной. Сервисами уровня можно воспользоваться через интерфейс, называемый точкой доступа к сервису (ТДС). Каждый из возможных ТДС уровня N это интерфейс, на котором объект уровня N+1 может иметь доступ к сервисам уровня N. Каждая ТДС идентифицируется уникальным адресом. Чтобы два смежных уровня могли обмениваться информацией необходимо наличие набора правил регламентирующих распределение доступа и интерфейс между ними (рис. 2.).

IDU - формат блока данных на соответствующем интерфейсе

ICI - контрольная информация для нижележащего уровня

PDU - сообщение, определенное протоколом соответствующего уровня

IDU - сообщение в формате интерфейса между уровнями h - заголовок, несущий контрольную информацию для протокола соответствующего уровня

Data - передаваемые данные

Механизм обмена следующий: сущность уровня N снабжает данные заголовком несущим информацию для протокола уровня N. На приемной стороне соединения заголовок Nh будет использован уровнем N для восстановления данных в исходном виде, после чего сами данные будут переданы пользователю уровня N. Данные совместно с заголовком образуют сообщение протокола уровня N (PDU). Кроме того, уровень N передающей стороны снабжает N PDU дополнительной контрольной информацией для уровня N-1 (N-1 ICI). Структура, содержащая ICI и PDU, образует так называемое сообщение в формате интерфейса между уровнями (IDU) которое передается нижележащему уровню.

На уровне N-1 от сообщения отделяется контрольная информация N-1 ICI, которая определяет способ обработки данного сообщения. После этого уровень N-1 генерирует собственную контрольную информацию для уровня N-2 (N-2 ICI) и добавляет ее к сообщению вместе с заголовком протокола уровня N-1 (N-1 h). После этого получившаяся структура данных передается на уровень N-2 для дальнейшей обработки.

Рассмотрим как определяется сервис, предоставляемый уровнем своему пользователю.

1.7.3.8. Типы соединений

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

В случае сервиса с установлением логического соединения обмен данными может начаться лишь после того, как от отправителя до получателя установлен логически выделенный канал. Протокол транспортного уровня TCP функционирует именно по такой схеме.

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

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

1.7.3.9. Примитивы сервисов

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

Запрос объект должен выполнить определенную задачу

Индикация Запрашивающий должен быть проинформирован о событии

Ответ Запрашивающий желает прореагировать на событие

Подтверждение Прибытие ответа на предыдущий запрос

Пример - установление и прекращение связи для простейшего протокола могут быть активированы с помощью следующего набора: (примитивы могут иметь параметры) CONNECT.request - запрос на установление соединения CONNECT.indication - сигнал вызываемой стороне

CONNECT.response - применяется вызываемой стороной для подтверждения/отмены установления соединения

CONNECT.confirm - сообщение вызывающей стороне о приеме запроса на соединение

DATA.request - запрос на передачу данных

DATA.indication - сигнал о приеме данных

DISCONNECT.request - запрос на разъединение DISCONNECT.indication - сигнал другой стороне о разъединении

1.7.3.10.Связь сервисов и протоколов

Сервис это набор примитивов (элементарных действий) которые уровень N предоставляет пользователю - т.е. уровню N+1. Сервис относится к интерфейсу между двумя уровнями. Протокол, с другой стороны, есть набор правил, определяющих формат и значение сообщений, обмениваемых между объектами коммуникационных узлов, находящимися на одинаковом уровне и связанных через сеть. Объекты пользуются протоколами для реализации своих сервисов. По аналогии с объектными языками программирования сервис является классом, в котором определены операции, которые могут быть осуществлены, но не оговариваются детали их внутренней реализации, каковая и является тем или иным протоколом.

1.7.4. Эталонные модели

1.7.4.1. Модель ISO OSI RM

Международной организацией по стандартизации (ISO) в целях унификации методов разработки протоколов была предложена так называемая эталонная модель взаимодействия открытых систем (OSI RM) (рис. 3.).

Рис. 3. Эталонная модель взаимодействия открытых систем (ЭМВОС). Уровни и направление передачи данных. Изображены также промежуточные системы канального и сетевого уровней.

Эталонная модель OSI RM состоит из семи уровней:

1.7.4.1.1. Физический уровень

В задачу этого уровня входит корректная передача битового потока по физической линии связи. Когда отправитель передает «1», бит принимающая сторона должна получить его как «1» бит, а не «0». Спецификации этого уровня задают как логические, так и физические и схемотехнические параметры. Физический уровень рассматривает информацию как непрерывный битовый поток.

1.7.4.1.2. Канальный уровень

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

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

1.7.4.1.3. Сетевой уровень

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

1.7.4.1.4. Транспортный уровень

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

1.7.4.1.5. Сеансовый уровень

Этот уровень синхронизирует, открывает, закрывает и манипулирует сеансами связи, активными объектами уровня презентации (каковых может быть несколько). Уровень СЕАНСА присваивает степень срочности сообщениям, руководит ускоренной передачей сообщений об возникших ошибках вышележащим уровням.

1.7.4.1.6. Уровень презентации

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

1.7.4.1.7. Уровень приложения

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

1.7.4.2. Модель TCP/IP

В середине 1970-х американской военной исследовательской организацией DARPA было принято решение о создании сети с коммутацией пакетов для обеспечения соединения исследовательских учреждений на территории Соединенных Штатов. В то время исследователи и производители впервые столкнулись с проблемой организации в сеть разнообразных и гетерогенных компьютерных систем. С целью выработки протоколов связи для разнородных систем DARPA начала финансирование исследований проводимых в Станфордском университете по созданию семейства сетевых протоколов. Второй целью было создание сети имеющей возможность продолжать функционировать даже при выходе из строя существенной доли ее аппаратной части. В результате этой работы появились протоколы семейства Internet protocols. Способность новой разработки соединять сети, основанные на разных технологиях, совершенно прозрачным образом была основной задачей разработчиков с самого начала. Наиболее практичными и широко используемыми членами этого семейства являются протоколы Transmission Control Protocol (TCP) - протокол контроля передачи и Internet protocol (IP) протокол интернета, а сама архитектура стала известной под названием эталонной модели TCP/IP.

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

Введение 2000 год, диссертация по информатике, вычислительной технике и управлению, Алексеев, Игорь Вадимович

1.1. Предмет исследования Одним из важнейших направлений научно-технического прогресса в настоящее время являются коммуникационные системы, представляющие собой сети передачи информации.Координацию процессов передачи информации в распределенной системе, которой является сеть, осуществляют коммуникационные протоколы. Принято разделять коммуникационные протоколы по степени общности задач, решаемых ими, на несколько уровней, упорядоченный набор которых образует сетевую архитектуру. Самой распространенной и универсальной сетевой архитектурой является архитектура TCP/IP [43, 1]. В рамках TCP/IP все системы в сети делятся на конечные системы, между которыми происходит информационный обмен, и промежуточные системы, не являющиеся конечными или исходными точками обмена. Конечные системы называются узлами сети, а промежуточные - маршрутизаторами.Двусторонний поток информации между парой смежных систем в сети обеспечивается каналом, связывающим две системы. Каналы характеризуются скоростью информационного потока (пропускной способностью), задержкой передачи и вероятностью битовых ошибок. В каждой точке подключения маршрутизатора к каналу имеется буфер, в котором организуется очередь данных ожидающих отправки по этому каналу. Буферное пространство и пропускная способность (ПС) представляют собой разделяемые ресурсы сети. Если скорость прибытия информации в маршрутизатор превышает максимально возможную скорость ее отправки, то происходит перегрузка сети, выражающаяся в переполнении буферов и потерях информации.Протокол транспортного уровня занимает важнейшее положение в любой сетевой архитектуре, в том числе и в TCP/IP, поскольку он обеспечивает надежную и эффективную передачу информации непосредственно между конечными системами сети. Для этого транспортный протокол задает согласованный набор правил поведения для участников информационного обмена. Эти правила регулируют совместный доступ узлов к разделяемым ресурсам сети, поэтому эффективность транспортного протокола определяет эффективность работы всей сети в целом. Программа, реализующая алгоритм протокола, называется объектом протокола.Транспортным протоколом в архитектуре TCP/IP является TCP (Transmission Control Protocol) [4, 5, 6], который обеспечивает надежную двустороннюю связь с контролем 7скорости передачи. Источник TCP потока получает информацию от пользователя в виде последовательности битов, формирует из нее блоки конечной длины, называемые сегментами и отправляет их к TCP получателю. Получатель, принимая сегменты, формирует из них исходную последовательность и передает ее своему пользователю.Для осуществления обмена TCP устанавливает логическое соединение между парой узлов сети, на каждом из которых исполняется алгоритм TCP. Поток сегментов по TCP соединению может проходить через упорядоченную последовательность маршрутизаторов и каналов. Пропускная способность соединения в целом ограничена минимальной из ПС каналов, через которые проходит соединение. Алгоритм управления потоком, являющийся частью TCP, стремится отправлять данные со скоростью, не превышающей меньшее из ПС соединения и скорости потребления информации получателем.Набор соединений транспортного протокола, разделяющих общий канал, представляет собой сложную самоорганизующуюся систему в смысле Г. Хакена [101].Поведение каждого из объектов протокола в этой системе определяется алгоритмом протокола, однако, поведение всей системы, как целого, вообще говоря, не описывается совокупностью действий ее компонентов. Каждый объект протокола стремится максимально эффективно адаптироваться к доступным ресурсам сети в условиях кооперации с другими объектами этого протокола.На сегодняшний момент известен ряд существенных недостатков алгоритма управления потоком протокола TCP: 1. Для оценки доступной ПС алгоритм управления потоком TCP постоянно увеличивает скорость отправки сегментов, искусственно вызывая перегрузку сети. Это приводит к частым потерям пакетов и, при устойчивом переполнении буферов, к увеличению задержек сегментов в сети.2. TCP интерпретирует потерю сегмента как признак перегрузки сети и реагирует на любую потерю данных снижением скорости передачи, что ведет к существенным ограничениям эффективности TCP в сетях, где вероятность потери сегментов из-за возникновения ошибок отлична от нуля. Это относится, в частности, ко всем беспроводным сетям. 3. Локальные неравномерности в отправке сегментов TCP приводят к повышению вероятности потери сегментов при максимальном заполнении буферов. 8Устранение приведенных выше недостатков TCP является темой большого числа исследований. В работах на эту тему предлагаются разные варианты усовершенствования транспортного протокола. Большинство протоколов, предлагаемых для использования в сетях с ненулевой вероятностью битовых ошибок, не являются совместимыми с TCP и требуют введения дополнительных элементов в структуру сети, усложняя ее и нарушая основной принцип транспортного протокола, состоящий в том, что на транспортном уровне соединение устанавливается между непосредственным источником и получателем информации.Таким образом, важнейшей задачей является разработка нового транспортного протокола в рамках архитектуры TCP/IP, который был бы более эффективен, чем TCP.Новый протокол должен быть универсальным в смысле возможности использования его как в проводных, так и беспроводных сетях, что особенно важно в свете дальнейшего развития сетевых технологий и расширения областей их применения. В диссертации разработан новый транспортный протокол ARTCP. В среде языка C++ создан класс, полностью описывающий протокол ARTCP, который может стать основой реализации протокола. Разработана универсальная объектно-ориентированная имитационная модель для конструирования сетей с топологией любой сложности. Проведенные эксперименты работы протокола ARTCP для ряда сценариев показали, что он почти всегда превосходит стандартный протокол TCP.

Заключение диссертация на тему "Адаптивная схема управления потоком для транспортного протокола в сетях с коммутацией пакетов"

Основные выводы

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

2. Для исследования свойств протокола ARTCP создана универсальная имитационная программная модель, позволяющая изучать процессы, происходящие в сети с точки зрения транспортного протокола. Эта модель, построенная с помощью объектно-ориентированных методов на языке С++, дает возможность конструировать топологические схемы большой сложности и задавать любые условия их функционирования. Имитационная модель состоит из набора топологических элементов сети и объектов протоколов. В модели полностью осуществлена реализация протокола ARTCP и сервиса сети с коммутацией пакетов.

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

Библиография Алексеев, Игорь Вадимович, диссертация по теме Теоретические основы информатики

1. Tanenbaum A.S. Computer Networks. Third edition, Prentice-Hall, New Jersey, 1996.

2. Jacobson V. Congestion Avoidance and Control. // ACM SIGCOMM'88. 1988.

3. Holzmann G. Design and Validation of Computer Protocols. Prentice Hall, New Jersey, 1991.

4. Postel J. Transmission Control Protocol. // RFC793 (STD7). 1981.

5. Braden R. T. Requirements for Internet Hosts Communication Layers. // RFC1122. 1989.

6. Jacobson V., Braden R., Borman D. TCP Extensions for High Performance. // RFC1323. 1992.

7. Karn P., Partridge C. Estimating Round-trip Times in Reliable Transport Protocols. // ACM SIGCOMM'87. 1987.

8. Nagle J. Congestion Control in IP/TCP Networks. // ARPANET Working Group Requests for Comment (RFC-896), DDN Network Information Center, SRI International, Menlo Park, CA. 1984.

9. Бертсекас Д., Галлагер Р. Сети передачи данных. Пер. с англ. М., Мир. 1989.

10. George F., Young G. SNA Flow Control: Architecture and Implementation. // IBM System Journal, vol. 21, no. 2. 1982. - pp. 179-210.

11. Digital Equipment Corporation. DECnet Digital Network Architecture phase IV. General Description. // Order AA-N149A-TC, Digital Equipment Corporation. 1982.

12. Postel J. B., Sunshine C. A., and Cohen D. The ARPA Internet Protocol. // Computer Networks, vol. 5, no. 4. 1981. - pp. 171-261.

13. Yang C., Reddy A. A Taxonomy for Congestion Control Algorithms in Packet Switching Networks. // IEEE Network Magazine. Vol. 9, Number 5. 1995.

14. Brakmo L., O'Malley S., Peterson L. TCP Vegas: New Techniques for Congestion Detection and Avoidance. // ACM SIGCOMM. -1994.- pp. 24-35.

15. Brakmo L., Peterson L. TCP Vegas: End to End Congestion Avoidance on a Global Internet. // IEEE Journal on Selected Areas in Communications, 13(8). -1995.

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

17. Braden. B., Clark D., Crowfort J., Deering S., Estrin D. Recommendations in Queue Management and Congestion Avoidance in the Internet. // RFC 2309 -1998.

18. Floyd S., Jacobson V. Random Early Detection gateways for Congestion Avoidance. // IEEE/ACM Transactions on Networking. Vol.1, N.4. -1993.- p. 397-413.

19. Brakmo L., Peterson L. Performance Problems in BSD4.4 TCP. // ACM Computer Communications Review. 25(5). -1995.- p. 69-86.

20. Caceres R., Danzig P., Jamin S., Mitzel D. Characteristics of Wide-Area TCP/IP Conversations. // ACM SIGCOMM'91. -1991.

21. Fall K., Floyd S. Simulation-based Comparisons of Tahoe, Reno, and SACK TCP. // Computer Communications Review. July -1996.

22. Tomey C. Rate-Based Congestion Control Framework for Connectionless Packet-Switched Networks. // Doctor of Philosophy Thesis. University of New South Wales Australian Defence Force Academy. -1997.23