Протоколы транспортного уровня Лекция 5
Протоколы транспортного уровня TCP – работает поверх IP, ориентирован на соединение: перед началом передачи информации проверяет состояние порта удаленного узла. Для контроля за пересылкой данных использует перезапросы с узла-получателя (квитирование). Контрольная сумма рассчитывается для всего пакета, что позволяет обнаруживать ошибки в поле данных. Реализуется только на оконечных узлах. Используется для передачи трафика, чувствительного к потерям. ТСР (Transmission Control Protocol) UDР (User Datagram Protocol) UDP также работает поверх IP. Не ориентирован на соединение. Не контролирует успешность доставки данных. Контрольная сумма рассчитывается для всего пакета, что позволяет обнаруживать ошибки в поле данных. Пакеты, данные которых были повреждены удаляются безвозвратно. Реализуется только на оконечных узлах. Используется для передачи трафика, чувствительного к задержкам и мало чувствительного к потерям)
Структура заголовка UDP 32 бита1684 Порт отправителяПорт получателя Данные Длина датаграммыКонтрольная сумма Номера портов UDP: 7,9,11,13,15,17,19,37,42,43,53,67,68,69,88,111, 123,161,162,512,513,514,525.
Псевдозаголовок UDP Добавляется к UDP-пакету перед вычислением контрольной суммы. Нужен для проверки корректности доставки (контрольная сумма вычисляется на основании заголовка, псевдозаголовка и данных). Получателю не пересылается. UDP-пакет дополняется нулям до кратного 16 битам. На приеме контрольная сумма вычисляется на основе данных псевдозаголовка, полученных из IP-заголовка, заголовка UDP и поля данных IP-адрес отправителя IP-адрес получателя Длина UDP-пакета Тип протокола Без учета псевдозаголовка
Структура заголовка TCP 32 бита1684 Порт отправителяПорт получателя Позиция сегмента (порядковый номер первого байта в сообщении) Первый ожидаемый байт Размер окна Контрольная сумма пакетаСрочность Опции и заполнитель Смещ. данных РезервФлаги
Контрольная сумма TCP также рассчитывается с использованием псевдозаголовка (поле «тип протокола» ) TCP-сегмент: поток байтов разбивается на сегменты, каждый из которых передается в одном IP-пакете. MSS – максимальный размер сегмента. Определяется через рекомендуемый размер IP- пакетов (MTU). Динамическое окно – передача сразу нескольких сегментов (представляемых в виде байтов) до получения подтверждения на них. В частности, используется для реализации механизма медленного старта. RTT – полное время доставки пакетов (от момента пересылки в сеть до получения подтверждения). ACK – подтверждение (квитанция) о доставке пакета.
Установление и закрытие соединения 1. Установление соединения Клиент – активный участник соединения Сервер – пассивный участник соединения Данные Запрос на саединение Обмен данными. Возможен дуплекс Syn seq 50 Ask51, syn200 ask201 Syn seq 50 ask101 ask seq
2. Закрытие соединения Клиент – активный участник соединения Сервер – пассивный участник соединения Запрос на разрыв соединения Согласие на разрыв соединения Fin seq 350 Seq 475, ask 351 Fin seq 475, ask 351 ask 475
Медленный старт время Пропускная способность таймаут Окно перегрузки Режим медленного старта может приводить к явлению глобальной синхронизации – неэффективного использования полосы пропускания при синхронном вхождении в медленный старт.
Алгоритм RED RED RED - Random Early Detection: случайное раннее обнаружение. Предотвращает предвзятое обслуживание трафика, эффект глобальной синхронизации, борется с внезапными всплесками трафика, выравнивает джиттер задержки.
Базируется на двух основных алгоритмах: -алгоритм вычисления среднего размера очереди M ср = М ср(t-1) (1 – 0,5 n ) + M t 0,5 n, где M ср(t-1) – предыдущий средний размер очереди, М t – текущий размер очереди, n экспоненциальный весовой коэффициент -алгоритм вычисления вероятности отбрасывания пакетов где М ср – средний размер очереди, М min – минимальное пороговое значение среднего размера очереди, М max – максимальное пороговое значение среднего размера очереди, K – знаменатель граничной вероятности
Flow WRED Модификация алгоритма RED – взвешенное случайное раннее обнаружение перегрузки на основе потока. Классифицирует пакеты в зависимости от приоритета, производит мониторинг состояния активных потоков, корректирует политику отбрасывания пакетов путем введения коэффициента масштабирования.
Версии ТСР TCP Tahoe: поддерживает режим медленного старта. Потерянный пакет и все следующие за ним пересылаются повторно. Реагирует на ACK ТСР Reno: размер окна изменяется циклически. Поддерживает две фазы изменения размера окна: медленного старта и избежания перегрузки. Реагирует на ACK TCP New Reno: используется опция выборочного подтверждения. TCP Vegas: изменение размера окна в ответ на изменение RTT. TCP Westwood: использует алгоритм управления окном перегрузки, основанный на интенсивности потока данных и текущего значения полосы пропускания.