Управление трафиком в TCP

advertisement
20.03.2014
Используемый в протоколе TCP механизм управления потоком называется
схемой распределения кредитов. В этой схеме каждый отдельный байт
передаваемых данных рассматривается как порядковый номер. Помимо
данных каждый передаваемый сегмент включает в заголовке три поля,
относящиеся к управлению потоком: SN (Sequence Number — порядковый
номер), AN (Acknowledgement Number — номер подтверждения) и W
(Window — окно). TCP-сущность подтверждает принятый сегмент ответным
сегментом, включающим поля (AN = i, W=j) со следующей интерпретацией:
подтверждается получение всех байтов вплоть до
порядкового номера SN= i — 1; номер
следующего ожидаемого байта равен i.
 дается разрешение послать дополнительное
окно в W=j байтов данных; то есть j байтов,
соответствующих порядковым номерам с i -го по

(i +j - 1)-й.
Для большей наглядности показан поток данных, идущий только в одном
направлении, и предполагается, что в каждом сегменте посылается 200 байт
данных. Во время установления соединения номера в последовательностях
отправителя и получателя синхронизированы и станция А работает на основе
выделенного начального лимита, равного 1400 байт, начиная с номера байта 1001.
Введем следующие обозначения:
 W — размер окна в байтах;
 R — скорость передачи данных (бит/с)
по определенному соединению,
доступная на стороне отправителя;
 D — задержка (в секундах) при
передаче данных между
отправителем и получателем через
определенное соединение.
Предположим, отправитель начинает передавать
последовательность байтов получателю через
установленное
соединение.
Первый
байт
достигнет получателя через время, равное D
секундам. Такое же время потребуется для
получения подтверждения. В течение этого
промежутка времени отправитель способен
передать 2RD бит, или RD/4 байт
Нормированная пропускная способность S/Smax
может быть выражена как
1
0.8
Масштабный
коэффициент окна
равен 4
0.7
0.6
Размер окна по
умолчанию
0.5
0.4
0.3
0.2
Гигабитная сеть
(EtherNet 100м)
8
7
6
5
4
3
0
2
0.1
1
Нормализированная пропускная способность
0.9
Спутниковый
SDH-STM (NY - Tokio)
канал
Произведение скорости на
задержку (бит)
Log
Протокол TCP может сформировать сегмент
для каждого пакета данных, предоставляемого
пользователем, или подождать, пока не
накопится определенный объем данных.
Применяемая политика зависит от
соображений производительности. При передаче данных большими порциями накладные
расходы минимизируются. С другой стороны,
если данные передаются часто и понемногу,
минимизируется время отклика системы.
Применяемая политика зависит от
соображений производительности. При
доставке данных пользователю большими
порциями пользователь получает данные с
некоторым опозданием. С другой стороны,
если данные доставляются пользователю
часто и небольшими порциями, могут
возникнуть излишние затраты на обработку
данных как в самом протоколе TCP, так и
программном обеспечении пользователя, а
также излишний рост числа прерываний
операционной системы.
Однако сегменты могут прибывать в неверном
порядке. В этом случае у принимающей ТСРсущности есть два варианта действий:
 Прием по порядку. Принимаются только те
сегменты, которые прибывают в правильном
порядке; любой сегмент, прибывающий с
нарушением порядка, отбрасывается.
 Прием в окне. Принимаются все сегменты,
попадающие в приемное окно
В реализации



протокола TCP может использоваться одна из
трех стратегий повторных передач:
Повторная передача только первого сегмента. Если
получается подтверждение, соответствующий сегмент или
сегменты удаляются из очереди, а таймер
переустанавливается.
Пакетная повторная передача. Если приходит
подтверждение, соответствующий сегмент или сегменты
удаляются из очереди, а таймер переустанавливается.
Индивидуальная повторная передача. Поддерживается
по одному таймеру для каждого сегмента в очереди. Если
приходит подтверждение, соответствующий сегмент или
сегменты удаляются из очереди и переустанавливается
соответствующий таймер или таймеры.
Есть две возможности действий, касающихся
времени отправки подтверждения:
 Немедленное подтверждение. При приеме
данных сразу же передается пустой (без данных)
сегмент, содержащий соответствующий номер
подтверждения.
 Кумулятивное подтверждение. При получении
данных TCP-сущность делает себе на память
заметку о необходимости отправки
подтверждения, но ждет, пока не будет
передаваться исходящий сегмент данных, вместе
с которым можно это подтверждение отправить.

Единственный инструмент протокола TCP,
имеющий отношение к борьбе с перегрузкой, —
это механизм управления потоком и контроля
ошибок при помощи скользящего окна. Хотя этот
механизм разработан для управления сквозным
трафиком, было придумано несколько искусных
технических приемов, делающих возможным его
применение для обнаружения и предотвращения
перегрузки, а также для восстановления в случае,
если перегрузка возникла.
Логически слабые
места
1,5
Мбит/с
10 Мбит/с
Объединенная сеть
1,5
Мбит/с
10 Мбит/с
Получатель
Отправитель
Маршрутизатор
маршрутизатор
Физически слабые
места
Реализация средств
борьбы с
перегрузками
Управление
повторными
передачами при
помощи таймера
Оценка
изменчивости
RTT
Экспотенциальн
ый откат RTO
Управление
окном
Алгоритм Карна
Затяжной
пуск
Динамическое
измерение окна при
перегрузке
Быстрая
повторная
передача
Быстрое
восстановление
Ограниченная
передача
 Мы
рассмотрели далеко не все
алгоритмы
и
технологии,
позволяющие
оптимизировать
протокол
ТСР.
Не
были
раскрыты методы борьбы с
перегрузкой т. к. это требует
отдельной презентации.
Download