Яндекс.Метрика

Понимание принципов использования скользящего окна.

Нужны новые клиенты? Тогда Вам рекомендуем посмотреть этот раздел нашего сайта
_____






TCP использует технологию скользящего окна для указания числа сегментов, которое может принять приёмник, передающихся с номера подтверждения. В этом разделе рассматривается скользящее окно TCP.

Понимание принципов использования скользящего окна.

Понимание принципов использования скользящего окна.

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

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

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

Протокол TCP поддерживает особый параметр – размер окна перегрузки (Congestion Window Size – CWS), который обычно имеет такой же размер, как размер окна приёмника, но CWS уменьшается в 2 раза, когда начинают теряться сегменты. Потеря сегментов воспринимается как перегрузка сети. Протокол TCP активизирует сложный механизм отката и перезапускает алгоритмы, что бы далее не способствовать сетевой перегрузке.

ПРОЦЕСС ПРИМЕНЕНИЯ СКОЛЬЗЯЩЕГО ОКНА.

Шаг

Действие

Комментарий

1

Отправитель и приемник обмениваются значениями первоначального окна: в этом примере размер окна составляет 3 сегмента до момента поулчения подтверждения.

Это происходит в течение процедуры установления соединения.

2

Отправитель высылает сегменты 1, 2 и 3 приемнику

После отправки сегмента 3, отправитель будет ожидать подтверждение от приёмника.

3

Приемник получает сегмент 1 и 2, но теперь он выставляет размер окна равный 2

АСК=3 WS=2

Приемник может проводить обработку медленно по многим причинам, такими как поиск процессором значений (central processing unit – CPU) в базе данных или закачка большого файла с графикой.

4

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

После отправки двух сегментов, отправитель ожидает прибытия подтверждения от приёмника.

5

Приемник подтверждает приём сегмента 3 и 4, но продолжает поддерживать размер окна равный 2.

АСК=5 WS=2

Приёмник подтверждает успешный приём предыдущих сегментов 3 и 4, требуя передачу сегмента 5.

МАКСИМИЗАЦИЯ ПРОПУСКНОЙ СПОСОБНОСТИ.

Алгоритм обработки окном управляет скоростью передачи данных. Тем самым удается минимизировать отбрасывание данных, поскольку на передачу потерянных данных тратите» дополнительное время, и, следовательно, удаётся увеличить эффективность.

ГЛОБАЛЬНАЯ СИНХРОНИЗАЦИЯ.

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






Заказать звонок
+
Жду звонка!