Адаптивная схема управления потоком для транспортного протокола в сетях с коммутацией пакетов
|
Реферат 2
Введение 6
1.1. Предмет исследования 6
1.2. Научная новизна работы 8
1.3. Практическая ценность результатов 9
1.4. Апробация работы 9
1.5. Содержание работы 9
1.6. Благодарности 10
1.7. Коммуникационные транспортные протоколы 10
1.8 Свойство самоподобия сетевого трафика 47
1.9 Управление потоками в коммуникационных системах 55 Глава 1. Постановка задачи 65
1.1. Недостатки протокола TCP 66
1.2. Цель работы 67
1.3. Формальная модель системы 67
1.4. Основные характеристики протокола 68
1.5. Сеть как самоорганизующаяся система 69 Глава 2. Алгоритм ARTCP 70
2.1. Аспекты новизны протокола ARTCP 70
2.2. Эвристика в основе алгоритма ARTCP 71
2.3. Параметры и переменные 72
2.4. Формат сообщения 73
2.5. Структурная схема ARTCP 73
2.6. Совместимость с TCP 81
2.7. Сравнение ARTCP и TCP на основе анализа алгоритма 81
2.8. Направления дальнейшего развития ARTCP 83 Глава 3. Имитационная модель 85
3.1. Формат сообщения 86
3.2. Объектная структура ПМ 87
3.3. Главный цикл 9 5
3.4. Дуплексный режим 96
3.5. Трассировка модели 96
3.6. Визуализация данных 97
4
Глава 4. Результаты моделирования 102
4.1. Общая схема модельного эксперимента 102
4.2. Сценарий 1: изолированный ARTCP 104
4.3. Сценарий 2: определение важнейших параметров сети 111
4.4. Сценарий 3: ARTCP и TCP в условиях ошибок передачи 116
4.5. Сценарий 4: ARTCP и TCP - коэффициент использования 118
4.6. Сценарий 5: ARTCP и TCP - коэффициент равноправия 120
4.7. Сценарий 6: ARTCP и TCP средняя длина очереди 122
4.8. Сценарий 7: 1 ARTCP и 1 CBR 125
4.9. Сценарий 8: 2 ARTCP и 1 CBR 129
4.10. Сценарий 9: свойство самоподобия трафика ARTCP 133 Основные выводы 138 Список литературы 139
5
Введение 6
1.1. Предмет исследования 6
1.2. Научная новизна работы 8
1.3. Практическая ценность результатов 9
1.4. Апробация работы 9
1.5. Содержание работы 9
1.6. Благодарности 10
1.7. Коммуникационные транспортные протоколы 10
1.8 Свойство самоподобия сетевого трафика 47
1.9 Управление потоками в коммуникационных системах 55 Глава 1. Постановка задачи 65
1.1. Недостатки протокола TCP 66
1.2. Цель работы 67
1.3. Формальная модель системы 67
1.4. Основные характеристики протокола 68
1.5. Сеть как самоорганизующаяся система 69 Глава 2. Алгоритм ARTCP 70
2.1. Аспекты новизны протокола ARTCP 70
2.2. Эвристика в основе алгоритма ARTCP 71
2.3. Параметры и переменные 72
2.4. Формат сообщения 73
2.5. Структурная схема ARTCP 73
2.6. Совместимость с TCP 81
2.7. Сравнение ARTCP и TCP на основе анализа алгоритма 81
2.8. Направления дальнейшего развития ARTCP 83 Глава 3. Имитационная модель 85
3.1. Формат сообщения 86
3.2. Объектная структура ПМ 87
3.3. Главный цикл 9 5
3.4. Дуплексный режим 96
3.5. Трассировка модели 96
3.6. Визуализация данных 97
4
Глава 4. Результаты моделирования 102
4.1. Общая схема модельного эксперимента 102
4.2. Сценарий 1: изолированный ARTCP 104
4.3. Сценарий 2: определение важнейших параметров сети 111
4.4. Сценарий 3: ARTCP и TCP в условиях ошибок передачи 116
4.5. Сценарий 4: ARTCP и TCP - коэффициент использования 118
4.6. Сценарий 5: ARTCP и TCP - коэффициент равноправия 120
4.7. Сценарий 6: ARTCP и TCP средняя длина очереди 122
4.8. Сценарий 7: 1 ARTCP и 1 CBR 125
4.9. Сценарий 8: 2 ARTCP и 1 CBR 129
4.10. Сценарий 9: свойство самоподобия трафика ARTCP 133 Основные выводы 138 Список литературы 139
5
1.1. Предмет исследования
Одним из важнейших направлений научно-технического прогресса в настоящее время являются коммуникационные системы, представляющие собой сети передачи информации. Координацию процессов передачи информации в распределенной системе, которой является сеть, осуществляют коммуникационные протоколы.
Принято разделять коммуникационные протоколы по степени общности задач, решаемых ими, на несколько уровней, упорядоченный набор которых образует сетевую архитектуру. Самой распространенной и универсальной сетевой архитектурой является архитектура TCP/IP [43, 1]. В рамках TCP/IP все системы в сети делятся на конечные системы, между которыми происходит информационный обмен, и промежуточные системы, не являющиеся конечными или исходными точками обмена. Конечные системы называются узлами сети, а промежуточные - маршрутизаторами.
Двусторонний поток информации между парой смежных систем в сети обеспечивается каналом, связывающим две системы. Каналы характеризуются скоростью информационного потока (пропускной способностью), задержкой передачи и вероятностью битовых ошибок. В каждой точке подключения маршрутизатора к каналу имеется буфер, в котором организуется очередь данных ожидающих отправки по этому каналу. Буферное пространство и пропускная способность (ПС) представляют собой разделяемые ресурсы сети. Если скорость прибытия информации в маршрутизатор превышает максимально возможную скорость ее отправки, то происходит перегрузка сети, выражающаяся в переполнении буферов и потерях информации.
Протокол транспортного уровня занимает важнейшее положение в любой сетевой архитектуре, в том числе и в TCP/IP, поскольку он обеспечивает надежную и эффективную передачу информации непосредственно между конечными системами сети. Для этого транспортный протокол задает согласованный набор правил поведения для участников информационного обмена. Эти правила регулируют совместный доступ узлов к разделяемым ресурсам сети, поэтому эффективность транспортного протокола определяет эффективность работы всей сети в целом. Программа, реализующая алгоритм протокола, называется объектом протокола.
Транспортным протоколом в архитектуре TCP/IP является TCP (Transmission Control Protocol) [4, 5, 6], который обеспечивает надежную двустороннюю связь с контролем
6
скорости передачи. Источник TCP потока получает информацию от пользователя в виде последовательности битов, формирует из нее блоки конечной длины, называемые сегментами и отправляет их к TCP получателю. Получатель, принимая сегменты, формирует из них исходную последовательность и передает ее своему пользователю.
Для осуществления обмена TCP устанавливает логическое соединение между парой узлов сети, на каждом из которых исполняется алгоритм TCP. Поток сегментов по TCP соединению может проходить через упорядоченную последовательность маршрутизаторов и каналов. Пропускная способность соединения в целом ограничена минимальной из ПС каналов, через которые проходит соединение. Алгоритм управления потоком, являющийся частью TCP, стремится отправлять данные со скоростью, не превышающей меньшее из ПС соединения и скорости потребления информации получателем.
Набор соединений транспортного протокола, разделяющих общий канал, представляет собой сложную самоорганизующуюся систему в смысле Г. Хакена [101]. Поведение каждого из объектов протокола в этой системе определяется алгоритмом протокола, однако, поведение всей системы, как целого, вообще говоря, не описывается совокупностью действий ее компонентов. Каждый объект протокола стремится максимально эффективно адаптироваться к доступным ресурсам сети в условиях кооперации с другими объектами этого протокола.
На сегодняшний момент известен ряд существенных недостатков алгоритма управления потоком протокола TCP:
1. Для оценки доступной ПС алгоритм управления потоком TCP постоянно увеличивает скорость отправки сегментов, искусственно вызывая перегрузку сети. Это приводит к частым потерям пакетов и, при устойчивом переполнении буферов, к увеличению задержек сегментов в сети.
2. TCP интерпретирует потерю сегмента как признак перегрузки сети и реагирует на любую потерю данных снижением скорости передачи, что ведет к существенным ограничениям эффективности TCP в сетях, где вероятность потери сегментов из-за возникновения ошибок отлична от нуля. Это относится, в частности, ко всем беспроводным сетям.
3. Локальные неравномерности в отправке сегментов TCP приводят к повышению вероятности потери сегментов при максимальном заполнении буферов.
7
Устранение приведенных выше недостатков TCP является темой большого числа исследований. В работах на эту тему предлагаются разные варианты усовершенствования транспортного протокола. Большинство протоколов, предлагаемых для использования в сетях с ненулевой вероятностью битовых ошибок, не являются совместимыми с TCP и требуют введения дополнительных элементов в структуру сети, усложняя ее и нарушая основной принцип транспортного протокола, состоящий в том, что на транспортном уровне соединение устанавливается между непосредственным источником и получателем информации.
Таким образом, важнейшей задачей является разработка нового транспортного протокола в рамках архитектуры TCP/IP, который был бы более эффективен, чем TCP. Новый протокол должен быть универсальным в смысле возможности использования его как в проводных, так и беспроводных сетях, что особенно важно в свете дальнейшего развития сетевых технологий и расширения областей их применения.
В диссертации разработан новый транспортный протокол ARTCP. В среде языка C++ создан класс, полностью описывающий протокол ARTCP, который может стать основой реализации протокола. Разработана универсальная объектно-ориентированная имитационная модель для конструирования сетей с топологией любой сложности. Проведенные эксперименты работы протокола ARTCP для ряда сценариев показали, что он почти всегда превосходит стандартный протокол TCP.
Одним из важнейших направлений научно-технического прогресса в настоящее время являются коммуникационные системы, представляющие собой сети передачи информации. Координацию процессов передачи информации в распределенной системе, которой является сеть, осуществляют коммуникационные протоколы.
Принято разделять коммуникационные протоколы по степени общности задач, решаемых ими, на несколько уровней, упорядоченный набор которых образует сетевую архитектуру. Самой распространенной и универсальной сетевой архитектурой является архитектура TCP/IP [43, 1]. В рамках TCP/IP все системы в сети делятся на конечные системы, между которыми происходит информационный обмен, и промежуточные системы, не являющиеся конечными или исходными точками обмена. Конечные системы называются узлами сети, а промежуточные - маршрутизаторами.
Двусторонний поток информации между парой смежных систем в сети обеспечивается каналом, связывающим две системы. Каналы характеризуются скоростью информационного потока (пропускной способностью), задержкой передачи и вероятностью битовых ошибок. В каждой точке подключения маршрутизатора к каналу имеется буфер, в котором организуется очередь данных ожидающих отправки по этому каналу. Буферное пространство и пропускная способность (ПС) представляют собой разделяемые ресурсы сети. Если скорость прибытия информации в маршрутизатор превышает максимально возможную скорость ее отправки, то происходит перегрузка сети, выражающаяся в переполнении буферов и потерях информации.
Протокол транспортного уровня занимает важнейшее положение в любой сетевой архитектуре, в том числе и в TCP/IP, поскольку он обеспечивает надежную и эффективную передачу информации непосредственно между конечными системами сети. Для этого транспортный протокол задает согласованный набор правил поведения для участников информационного обмена. Эти правила регулируют совместный доступ узлов к разделяемым ресурсам сети, поэтому эффективность транспортного протокола определяет эффективность работы всей сети в целом. Программа, реализующая алгоритм протокола, называется объектом протокола.
Транспортным протоколом в архитектуре TCP/IP является TCP (Transmission Control Protocol) [4, 5, 6], который обеспечивает надежную двустороннюю связь с контролем
6
скорости передачи. Источник TCP потока получает информацию от пользователя в виде последовательности битов, формирует из нее блоки конечной длины, называемые сегментами и отправляет их к TCP получателю. Получатель, принимая сегменты, формирует из них исходную последовательность и передает ее своему пользователю.
Для осуществления обмена TCP устанавливает логическое соединение между парой узлов сети, на каждом из которых исполняется алгоритм TCP. Поток сегментов по TCP соединению может проходить через упорядоченную последовательность маршрутизаторов и каналов. Пропускная способность соединения в целом ограничена минимальной из ПС каналов, через которые проходит соединение. Алгоритм управления потоком, являющийся частью TCP, стремится отправлять данные со скоростью, не превышающей меньшее из ПС соединения и скорости потребления информации получателем.
Набор соединений транспортного протокола, разделяющих общий канал, представляет собой сложную самоорганизующуюся систему в смысле Г. Хакена [101]. Поведение каждого из объектов протокола в этой системе определяется алгоритмом протокола, однако, поведение всей системы, как целого, вообще говоря, не описывается совокупностью действий ее компонентов. Каждый объект протокола стремится максимально эффективно адаптироваться к доступным ресурсам сети в условиях кооперации с другими объектами этого протокола.
На сегодняшний момент известен ряд существенных недостатков алгоритма управления потоком протокола TCP:
1. Для оценки доступной ПС алгоритм управления потоком TCP постоянно увеличивает скорость отправки сегментов, искусственно вызывая перегрузку сети. Это приводит к частым потерям пакетов и, при устойчивом переполнении буферов, к увеличению задержек сегментов в сети.
2. TCP интерпретирует потерю сегмента как признак перегрузки сети и реагирует на любую потерю данных снижением скорости передачи, что ведет к существенным ограничениям эффективности TCP в сетях, где вероятность потери сегментов из-за возникновения ошибок отлична от нуля. Это относится, в частности, ко всем беспроводным сетям.
3. Локальные неравномерности в отправке сегментов TCP приводят к повышению вероятности потери сегментов при максимальном заполнении буферов.
7
Устранение приведенных выше недостатков 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 свойство самоподобия, во-первых, свидетельствует о том, что модель хорошо воспроизводит свойства реальных сетей, а во- вторых, служит основанием использования именно метода модельного эксперимента для исследования нового протокола.
2. Для исследования свойств протокола ARTCP создана универсальная имитационная программная модель, позволяющая изучать процессы, происходящие в сети с точки зрения транспортного протокола. Эта модель, построенная с помощью объектно¬ориентированных методов на языке С++, дает возможность конструировать топологические схемы большой сложности и задавать любые условия их функционирования. Имитационная модель состоит из набора топологических элементов сети и объектов протоколов. В модели полностью осуществлена реализация протокола ARTCP и сервиса сети с коммутацией пакетов.
3. Результаты модельного эксперимента, проведенного на имитационной модели, показывают существенное превосходство адаптивного алгоритма управления скоростью потока протокола ARTCP по сравнению с TCP. Особенно хорошо ARTCP должен функционировать в беспроводных сетях. Обнаруженное у трафика моделируемой сети, в которой функционирует протокол ARTCP свойство самоподобия, во-первых, свидетельствует о том, что модель хорошо воспроизводит свойства реальных сетей, а во- вторых, служит основанием использования именно метода модельного эксперимента для исследования нового протокола.



