Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 7 лет назад пользователемIlya Krukov
1 Сети и системы телекоммуникаций Управление потоком и перегрузкой в TCP ИМКН УрФУ
2 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Скорость передачи данных с использованием протокола TCP Управление потоком в TCP Алгоритм Нагля Управление перегрузкой в TCP AIMD Медленный старт План 2
3 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP TCP должен обеспечивать Гарантированную доставку данных Эффективное использование канала связи TCP должен хорошо работать как на медленных каналах связи с ошибками, так и на быстрых надежных каналах Изменение размера скользящего окна – основной метод регулирования скорости в TCP Традиционный подход – фиксированный размер окна 8 сегментов TCP Современный подход – динамический размер окна в зависимости от требований приложения и загрузки сети Скорость передачи данных в TCP 3
4 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Скорость передачи данных в TCP 4 Отправитель Получатель Приложение Буфер Транспортная подсистема
5 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Управление потоком 5 Отправитель Получатель Приложение Буфер Транспортная подсистема
6 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Управление перегрузкой 6 Отправитель Получатель Приложение Буфер Транспортная подсистема
7 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Предотвращение «затопления» быстрым отправителем медленного получателя Сеть может быть свободна, но приложение не готово получить данные Транспортная подсистема работает с приложениями: Приложение не обязано забирать данные, как только они появились Транспортная подсистема не обязана передавать данные приложению или в сеть, как только она их получила Управление потоком в TCP 7
8 Сети и системы телекоммуникаций. Протокол TCP Управление потоком в TCP 8 32 бита Порт отправителя Порт получателя Порядковый номер Номер подтверждения Размер окна FINFIN SYNSYN RSTRST PSHPSH ACKACK URGURG Длина заголовка Контрольная сумма Указатель на срочные данные Параметры (не обязательно) Данные (не обязательно)
9 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Для управления потоком TCP использует механизм скользящего окна Получатель записывает в поле заголовка TCP «Размер окна» объем данных, которые он готов принять (свободное место в буфере) Размер окна может меняться динамически Приложение читает данные из буфера быстро – окно растет Приложение читает медленно, буфер заполнен – окно уменьшается Управление потоком в TCP 9
10 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Некоторые приложения читают и пишут данные маленькими порциями Эмуляторы терминала telnet или ssh При нажатии каждой клавиши данные передаются на сервер – 1 байт данных Для передачи 1 байта данных требуется передать IP- пакет длиной 41 байт (20 байт заголовок IP, 20 байт заголовок TCP, 1 байт данных) Высокие накладные расходы Отложенные подтверждения Задержка отправки подтверждения до 500 мс в надежде получить данные Терминал за 500 мс выдает эхо, данные отправляются вместе с подтверждением Отложенные подтверждения 10
11 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Получателю отправляется только первая порция маленьких данных Остальные данные буферизируются, пока не придет подтверждение Данные из буфера отправляются в одном сегменте Продолжается накопление данные в буфере, пока не придет новое подтверждение Алгоритм Нагля (Nagles algorithm) 11
12 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Приложение может быть готово принять данные, но сеть перегружена Отправляется большая порция данных Многие сегменты будут отброшены сетью Перегрузка (congestion) – состояние, при котором в сеть поступает больше пакетов, чем она способна передать Управление перегрузкой 12 Маршрутизатор Буфер
13 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Коллапс перегрузки в Интернет (congestion collapse) Произошел в 1986 г. (теоретически предсказан в 1984) Каналы связи загружены полностью Скорость передачи данных между хостами падала на порядок Решение: Учет загрузки сети при формировании размера скользящего окна Механизм – окно перегрузки Традиционный подход – фиксированный размер 8 сегментов TCP Предложенный подход – динамический размер окна в зависимости от нагрузки на сеть Коллапс перегрузки 13
14 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Окно управления потоком: Задается получателем (поле «Размер окна» в заголовке TCP) Размер определяется возможностями приложения читать данные из буфера Окно перегрузки: Задается отправителем Размер определяется загрузкой сети Размер скользящего окна определяется меньшим из окон перегрузки или управления потоком Окна перегрузки и управления потоком 14
15 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Эффективность Сеть должна быть максимально загружена Справедливость Все хосты в сети получают примерно одинаковую часть от пропускной способности сети Характеристики загрузки сети 15 A B C
16 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Additive increase/multiplicative decrease (Аддитивное увеличение, мультипликативное уменьшение) Метод, который используется в TCP для определения размера окна перегрузки Типовые параметры: a – максимальный размер сегмента (MSS) b – ½ AIMD 16
17 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP AIMD 17 Хост 1 Хост 2 «Узкое» место Computer Networks 5/E
18 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Размер окна AIMD 18 Размер окна Время Аддитивное увеличение Сигнал о перегрузке Мультипликативное уменьшение
19 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Сигнал о перегрузке 19 Сигнал Пример протокола Достоинства и недостатки Потеря пакетаTCP New Reno Cubic TCP (Linux) Хорошо распознается Поздно узнаем о перегрузке Задержка пакета Compound TCP (Windows) Быстро узнаем о перегрузке Задержка может быть вызвана не только перегрузкой Сигнал от маршрутизатора TCP with Explicit Congestion Notification Быстро узнаем о перегрузке Необходима поддержка в маршрутизаторе Computer Networks 5/E
20 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Проблема AIMD – медленный (линейный) рост размера окна перегрузки Приемлемо на медленных каналах Неприемлемо на быстрых надежных каналах Медленный старт - альтернативный метод управления размером окна перегрузки: Первоначально размер окна перегрузки устанавливается маленьким (1 или 4 сегмента) При каждом получении подтверждения отправляется 2 сегмента После сигнала о перегрузке начинаем с начала Медленный старт обеспечивает экспоненциальный рост размера окна перегрузки Медленный старт 20
21 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP TCP использует совместно AIMD и медленный старт Работа начинается с медленного старта После достижения «порога медленного старта» TCP переходит на AIMD Определение «порога медленного старта» Медленный старт начинает работать без ограничения Поступает сигнал о перегрузке Порог медленного старта устанавливается в половину текущего окна перегрузки Окно перегрузки уменьшается до минимального значения Медленный старт и AIMD в TCP 21
22 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Медленный старт и AIMD в TCP 22 Размер окна Время Аддитивное увеличение Порог медленного старта Медленный старт Сигнал о перегрузке Мультипликативное уменьшение
23 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Приложение просит много данных, но сеть перегружена: Окно управления потоком: 40Кбайт Окно перегрузки: 20 Кбайт Скользящее окно: 20 Кбайт Сеть свободна, но приложение ограничивает скорость : Окно управления потоком: 20Кбайт Окно перегрузки: 40 Кбайт Скользящее окно: 20 Кбайт Размер скользящего окна 23
24 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Скорость передачи данных с использованием протокола TCP Управление потоком в TCP Алгоритм Нагля Управление перегрузкой в TCP AIMD Медленный старт Итоги 24
25 Сети и системы телекоммуникаций. Управление потоком и перегрузкой в TCP Вопросы? 25
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.