Современные информационные технологии/1. Компьютерная инженерия
Козлов
И.В., Кривенко С.А.
Черкасский государственный
технологический университет, Украина
МЕТОД ПОВЫШЕНИЯ ПРОПУСКНОЙ
СПОСОБНОСТИ СЕТИ НА ТРАНСПОРТНОМ УРОВНЕ
1.
Постановка проблемы. Стандартный протокол TCP
определяет появление ошибки по возникновению тайм-аута и приходу трех
повторных подтверждений (АСК). Пропуск ожидаемых
по сценарию АСК (от англ. acknowledgement — подтверждение
приема) является дополнительным условием возникновения сбоя в сети. В существующем алгоритме медленного старта низкая скорость восстановления интенсивности передачи
существенно снижает производительность и является препятствием для загрузки каналов большой пропускной
способности.
Для устранения приведенных
недостатков разработан следующий метод, который включает в себя алгоритм
уменьшения сегментов и улучшенные алгоритмы
медленного старта и быстрого
восстановления.
2. Алгоритм уменьшения
сегментов. Пусть
при наличии сценария п — число отправленных сегментов, после которых не
были приняты ожидаемые в периоде подтверждения. Анализ трафика показывает, что
для работы алгоритма при малом
времени возврата (RTT) можно принять число
пропущенных АСК, равным двум, при большом времени возврата — увеличить это
число до пяти. Данный параметр
выбирается эмпирическим путем. В случае большого времени реакции долгое ожидание подтверждения повлечет за
собой передачу большого объема
информации в условиях уже возникшей ошибки, особенно в несимметричных каналах.
Слежение за трафиком на
предмет определения сценария необходимо продолжать и после пропуска АСК. Если в новом режиме такой пропуск является
закономерным, то это позволит сформировать новый сценарий и выбрать
новое значение п.
Алгоритм
работы:
1. Отправитель начинает передавать сегменты.
2. После передачи
п сегментов отправитель уменьшает размер последующих, сохраняя интервал
отправки и продолжает посылать данные в
пределах окна.
3. После прихода АСК (с номером подтверждения больше
последнего) размер пакетов восстанавливается.
4.
Если АСК не пришел, и передалось все окно, то применяется
алгоритм медленного старта.
Уменьшение сегментов, а не
простое внесение задержек в моменты их отправки позволяет контролировать
состояние сети с той же интенсивностью. Размер
сегментов не изменяет закономерности отправки подтверждений принимающей
стороной, так
как АСК отправляется в ответ на сегмент любой длины. В результате временное появление задержек при передаче также временно снижает интенсивность трафика без уменьшения производительности
(как это происходит в существующих алгоритмах).
Предлагаемый алгоритм при
условии отсутствия подтверждений дает ряд
преимуществ:
- уменьшается количество
передаваемых данных при повторной передаче, если сегменты не доходят до адресата;
- снижается интенсивность
трафика, что позволяет снизить нагрузку на маршрутизаторы, которые могли
стать причиной задержки;
- в
отличие от протокола TCP,
применяющего алгоритм медленного старта,
который резко уменьшает интенсивность передачи с последующим медленным наращиванием после прихода ожидаемого подтверждения, передача восстанавливается с
прежним сценарием либо формируется новый;
-
уменьшенный трафик сокета освобождает канал передачи для других соединений того
же узла;
-
увеличивается интервал ожидания прихода подтверждений без начала повторной
передачи данных, успешно переданных при первой передаче, но подтверждения на
которые были задержаны;
- продолжение передачи
вместо ее приостановки дает возможность
получить сценарий в новых условиях, когда задержка сегментов стала
закономерной.
3. Улучшение
алгоритмов медленного старта и быстрого
восстановления. Если после исчезновения перегрузки условия приема восстановлены, использование
улучшенных алгоритмов с использованием сценария позволит передавать данные с
прежней интенсивностью, достигнутой
на момент определения ошибки, вместо
экспоненциального увеличения числа
отправляемых подряд сегментов. В случае определения несоответствия принимаемых подтверждений последнему сценарию происходит возврат
к стандартному алгоритму медленного старта.
Подобный подход
оправдан в связи с тем, что большинство
ошибок происходит вследствие перегрузки
маршрутизаторов. При этом параметры сети и
маршрут следования пакетов остаются прежними.
Следовательно, после нормализации потока через
перегруженный маршрутизатор передача может осуществляться по
последнему сценарию. Если подобный возврат оказался ошибочным, то это выявляется
при передаче уже нескольких сегментов и их потеря не влечет за собой
существенного уменьшения производительности.
Алгоритм работы:
1. Начало
передачи после сбоя.
2. Передача
сегмента по последнему сценарию.
3. Если полученные АСК удовлетворяют последний сценарий,
то продолжаем передачу с прежней интенсивностью. Иначе – действуем по
стандартному алгоритму.
Преимущества алгоритма: потеря одного
пакета не должна повлечь за собой снижение производительности в течение длительного
времени, как это происходит в стандартном алгоритме. Вероятность того, что в
данном случае потеря была единичной и случайной, без каких-либо изменений в
передающей сети гораздо выше, чем при медленном старте.
4. Алгоритм предотвращения периодичной
ошибки. Ошибки (например, в связи с переполнением приемного буфера получателя) могут иметь периодичный
характер. Поэтому необходимо вести учет их возникновения при конкретном
сценарии. Определив, что через определенное число периодов возникает переполнение, перед ожидаемым моментом сбоя необходимо на
время передачи предшествующего ошибке периода,
снизить интенсивность потока уменьшением размера сегментов.
Периодичная ошибка в основном связана с заполнением одной из очередей на маршруте следования
сегментов, и эта ситуация должна определяться алгоритмом
контроля задержки подтверждений. Однако в случае,
когда очередь постоянно находится в состоянии,
близком к переполнению, отправляющий узел может
оказаться неспособным отреагировать на быстрое переполнение.
Для
применения алгоритма предотвращения периодичной ошибки
необходимо вести статистику определяемых сценариев, для
чего фиксировать последовательность сегментов и число
периодов.
5. Выводы. Таким образом, усовершенствованные алгоритмы
функционирования ТСР в условиях потерь данных
позволяют увеличить производительность и пропускную способность канала на 10-15 %, а
также прогнозировать появление сбоев в работе сети.
Данное направление исследования является перспективным для постоянно растущих
объемов сетевого мультимедийного трафика.
Литература:
1. Корячко В.П., Федоров С.В.
Перепелкин А.И. Повышение производительности вычислительных сетей на
транспортном уровне // Информационные технологии, №10, 2005, с.20-25.
2. Олифер В.Г., Олифер Н.А.
Компьютерные сети. Принципы, технологии, протоколы: 4-е изд. – СПб.: Питер,
2010. – 944 с.