Современные информационные технологии/1. Компьютерная инженерия

Козлов И.В., Кривенко С.А.

Черкасский государственный технологический университет, Украина

 

МЕТОД ПОВЫШЕНИЯ ПРОПУСКНОЙ СПОСОБНОСТИ СЕТИ НА ТРАНСПОРТНОМ УРОВНЕ

 

1. Постановка проблемы. Стандартный протокол TCP определяет появле­ние ошибки по возникновению тайм-аута и прихо­ду трех повторных подтверждений (АСК). Пропуск ожидаемых по сценарию АСК (от англ. acknowledge­mentподтверждение приема) является дополни­тельным условием возникновения сбоя в сети. В существующем алгоритме медленного старта низкая скорость восстановления интенсивности пе­редачи существенно снижает производительность и является препятствием для загрузки каналов боль­шой пропускной способности.

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

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

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

Алгоритм работы:

1.  Отправитель начинает передавать сегменты.

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

3. После прихода АСК (с номером подтверждения больше последнего) размер пакетов восстанавливается.

4.   Если АСК не пришел, и передалось все окно, то применяется алгоритм медленного старта.

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

Предлагаемый алгоритм при условии отсутствия подтверждений дает ряд преимуществ:

- уменьшается количество передаваемых данных при повторной передаче, если сегменты не дохо­дят до адресата;

- снижается интенсивность трафика, что позволя­ет снизить нагрузку на маршрутизаторы, кото­рые могли стать причиной задержки;

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

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

- увеличивается интервал ожидания прихода под­тверждений без начала повторной передачи дан­ных, успешно переданных при первой передаче, но подтверждения на которые были задержаны;

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

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

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

Алгоритм работы:

1.  Начало передачи после сбоя.

2.  Передача сегмента по последнему сценарию.

3. Если полученные АСК удовлетворяют последний сценарий, то продолжаем передачу с прежней интенсивностью. Иначе – действуем по стандартному алгоритму.

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

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

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

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

5. Выводы. Таким образом, усовершенствованные алгоритмы функционирова­ния ТСР в условиях потерь данных позволяют увеличить произво­дительность и пропускную способность канала на 10-15 %, а также прогнозировать появление сбоев в работе сети. Данное направление исследования является перспективным для постоянно растущих объемов сетевого мультимедийного трафика.

 

Литература:

1. Корячко В.П., Федоров С.В. Перепелкин А.И. Повышение производительности вычислительных сетей на транспортном уровне // Информационные технологии, №10, 2005, с.20-25.

2. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: 4-е изд. – СПб.: Питер, 2010. – 944 с.