2.15. Основные функции протоколов транспортного уровня
Транспортный уровень реализует надёжный и прозрачный
механизм передачи данных с требуемым качеством обслуживания, обеспечивает два
уровня сервиса: передачу с установлением соединения, и передачу без установления
соединения.
Транспортный уровень
поддерживает оптимизацию исследования сетевых ресурсов, для этого в нем
определено 5 классов транспортных протоколов. В зависимости от качества сервиса который представляет сетевой уровень, применяется
соответствующий класс протоколов. Транспортный уровень обеспечивает:
- обнаружение ошибок при
передаче и их исправление по мере возможности
- сегментирование и сборка
блоков данных
- объединение
(мультиплексирование/демультиплексирование) нескольких транспортных соединений
в одно сетевое (повышение скорости)
- разделение транспортного
соединения по нескольким сетевым (повышение коэффициента использования каналов
передачи данных)
Протоколы транспортного
уровня могут решать проблему негарантированной доставки сообщений, а также
гарантировать правильную последовательность прихода данных. В стеке TCP/IP
транспортные протоколы определяют, для какого именно приложения предназначены
эти данные.
TCP (IP идентификатор 6) — «гарантированный»
транспортный механизм с предварительным установлением соединения,
предоставляющий приложению надёжный поток данных, дающий уверенность в
безошибочности получаемых данных, перезапрашивающий данные в случае потери и
устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а
также уменьшать время ожидания данных при передаче на большие расстояния. Более
того, TCP гарантирует, что полученные данные были отправлены точно в такой же
последовательности. В этом его главное отличие от UDP.
UDP (IP идентификатор 17)
протокол передачи датаграмм без установления соединения. Также его называют
протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в
доставке сообщения адресату, а также возможного перемешивания пакетов. В
приложениях, требующих гарантированной передачи данных, используется протокол
TCP.
UDP обычно используется в
таких приложениях, как потоковое видео и компьютерные игры, где допускается
потеря пакетов, а повторный запрос затруднён или не оправдан, либо в
приложениях вида запрос-ответ (например, запросы к DNS), где создание
соединения занимает больше ресурсов, чем повторная отправка.
И TCP, и UDP используют для
определения протокола верхнего уровня число, называемое портом.