Синдром глупого окна и борьба с ним. Обнаружение перегрузок в сети.

11 июля, 2011

Продолжим рассматривать протокол TCP, поговорим о различных специальных случаях работы протокола:

Протокол TCP предусматривает механизм управления трафиком с учётом перегрузок возникающих на промежуточных узлах. Здесь имеется два механизма, которые работают совместно. Они называются: slow start, multiplicative decrease.
Обнаружение перегрузки происходит по отсутствию подтверждений. В этом случае используется не всё доступное окно передачи, а минимальное из двух значений: размер анонсированного окна и размер, так называемого, окна перегрузки. при каждой повторной передаче размер окна перегрузки уменьшается в 2 раза. Это позволяет резко сократить исходящий трафик при возникновении затора на маршрутизаторах. В штатном режиме окно перегрузки совпадает с анонсированным окном. Описанный механизм называется multiplicative decrease.
Механизм slow start (медленный старт) используется либо после преодоления перегрузки в сети, либо при открытии нового соединения. Механизм позволяет избежать лавинообразного роста трафика, когда множество узлов начинают отправлять данные.
Суть механизма в том, что в сеть посылается один сегмент и далее окно увеличивается на размер подтверждённых данных до размера анонсированного окна. В некоторых реализациях предусмотрено по-роговое значение, которое равно половине размера окна до возникновения перегрузки, начиная с которого окно увеличивается на 1 сегмент.
Рассматриваемые механизмы позволили повысить пропускную способность TCP-соединений в 3-10 раз по сравнению с исходным стандартом.
Синдром глупого окна. Эта ситуация связана с необходимостью пе-редачи коротких сегментов и множества подтверждений для них. В результате растёт соотношение служ. информация/полезн. информация.
Ситуация возникает, когда программа-получатель считывает данные медленно, маленькими фрагментами и модуль TCP анонсирует окна маленького размера. Ситуация может возникнуть также при отправке сегментов малого размера и при этом максимальный размер сегмента данного соединения им не кратен. Для преодоления ситуации требуются меры и на стороне отправ-ля и на стороне получателя.
На стороне получателя:
1. Получатель не должен анонсировать окна малого размера до тех пор, пока в буфере приёма не будет достаточно места для хотя бы одного сегмента макс. размера, либо свободной окажется половина буфера приёма (из двух значений будет использовано меньшее).
2. Подтверждения приёма отправляются не сразу, а с некоторой за-держкой (не более 500 мс).
На стороне отправителя:
Данные не передаются до тех пор пока не будет сформирован сег-мент максимального размера, либо не будет получено хотябы одно подтверждение.

____________________________

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