ЛЕКЦИИ / v33 tcp_sliding_window
.pdfПротокол TCP: скользящее окно
Сети и системы телекоммуникаций
Протокол TCP: подтверждение доставки
Гарантия доставки данных в TCP:
•Подтверждение доставки
•Повторная отправка неподтвержденных сообщений
Варианты подтверждения:
•Остановка и ожидание (Wi-Fi, канальный уровень)
•Скользящее окно (TCP, транспортный уровень)
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
2 |
Варианты подтверждения доставки
Данные
Подтверждение
Данные
Подтверждение
Данные
Подтверждение
Данные
Подтверждение
Остановка и ожидание
Данные
Данные
Данные
Данные
Данные
Кумулятивное
подтверждение
Скользящее окно
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
3 |
Время передачи сообщения
Сообщение передается не мгновенно:
•Время передачи короткое, но не нулевое
Всреде может «находиться» некоторый объем данных:
•Скорость × Задержка
•Небольшой объем для локальных сетей
•Большой объем для широких территориальнопротяженных каналов
Сообщение
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
4 |
Протокол TCP: подтверждение доставки
Ожидание подтверждения приводит к снижению производительности
Пример сети:
•Сеть УрО РАН, канал Екатеринбург-Пермь, 10Гб/с, протяженность 465 км, задержка 10 мс
•Объем данных в сети: 12,5 МБайт
•Количество сегментов в секунду: 50 шт.
•Скорость передачи данных: 75 КБайт/с
Сообщение
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
5 |
Скользящее окно
Отправленные |
|
Скользящее окно |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Неотправленные данные |
||||||||||||||||||||||||
|
|
данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данные |
Размер окна – количество байтов |
||
подтверждение |
данных, которые могут быть |
||
которых получено |
переданы |
без |
получения |
подтверждения
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
6 |
Скользящее окно
Отправленные |
|
Скользящее окно |
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Неотправленные данные |
||||||||||||||||||||||||
|
|
данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данные
подтверждение которых получено
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
7 |
Скользящее окно
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Скользящее окно |
|||||||||||||||||||||||||
Отправленные данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Неотправленные |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
данные |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данные
подтверждение которых получено
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
8 |
Скользящее окно
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Скользящее окно |
|
|
|
|
Неотправленные |
||||||||||||||||||||
Отправленные данные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
данные |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данные
подтверждение которых получено
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
9 |
Протокол TCP: тип подтверждения
Кумулятивное подтверждение:
•Подтверждение приема указанного байта данных и всех предыдущих
•Используется по умолчанию
Выборочное подтверждение (Selective Acknowledgment, SACK):
•Подтверждение диапазонов принятых байт
•Эффективно при большом размере окна
•Дополнительное поле заголовка TCP (параметр)
Сети и системы телекоммуникаций. Протокол TCP: скользящее окно |
10 |