набор интернет-протоколов |
---|
Уровень приложений |
Транспортный уровень |
Интернет-слой |
Связующий слой |
В компьютерных сетях транспортный уровень — это концептуальное разделение методов в многоуровневой архитектуре протоколов в сетевом стеке в наборе интернет-протоколов и модели OSI . Протоколы этого уровня предоставляют сквозные коммуникационные услуги для приложений. [1] : §1.1.3 Он предоставляет такие услуги, как ориентированная на соединение связь , надежность , управление потоком и мультиплексирование .
Детали реализации и семантика транспортного уровня набора протоколов Интернета [ 1] , который является основой Интернета , и модели OSI общей сети различны. Все протоколы, используемые сегодня на этом уровне для Интернета, возникли в ходе разработки TCP/IP. В модели OSI транспортный уровень часто называют Уровнем 4 , или L4 [2], в то время как пронумерованные уровни не используются в TCP/IP.
Самым известным транспортным протоколом из набора протоколов Интернета является протокол управления передачей (TCP). Он используется для передач, ориентированных на соединение, тогда как протокол пользовательских дейтаграмм без соединения (UDP) используется для более простых передач сообщений. TCP является более сложным протоколом из-за его структуры с сохранением состояния, включающей надежные службы передачи и потоков данных. Вместе TCP и UDP охватывают по существу весь трафик в Интернете и являются единственными протоколами, реализованными в каждой крупной операционной системе. Дополнительные протоколы транспортного уровня, которые были определены и реализованы, включают протокол управления перегрузкой дейтаграмм (DCCP) и протокол передачи управления потоком (SCTP).
OSI model by layer |
---|
Услуги транспортного уровня передаются приложению через программный интерфейс к протоколам транспортного уровня. Услуги могут включать следующие функции: [4]
Транспортный уровень отвечает за доставку данных в соответствующий прикладной процесс на хост-компьютерах. Это включает статистическое мультиплексирование данных из различных прикладных процессов, т. е. формирование сегментов данных и добавление номеров портов источника и назначения в заголовок каждого сегмента данных транспортного уровня. Вместе с IP-адресами источника и назначения номера портов составляют сетевой сокет , т. е. идентификационный адрес коммуникации между процессами. В модели OSI эта функция поддерживается сеансовым уровнем .
Некоторые протоколы транспортного уровня, например TCP, но не UDP, поддерживают виртуальные каналы , т. е. обеспечивают ориентированную на соединение связь по базовой пакетно-ориентированной сети датаграмм . Поток байтов доставляется, скрывая пакетный режим связи для прикладных процессов. Это включает в себя установление соединения, разделение потока данных на пакеты, называемые сегментами, нумерацию сегментов и переупорядочивание неупорядоченных данных.
Наконец, некоторые протоколы транспортного уровня, например TCP, но не UDP, обеспечивают надежную связь «от конца до конца», т. е. восстановление после ошибок с помощью кода обнаружения ошибок и протокола автоматического запроса на повтор (ARQ). Протокол ARQ также обеспечивает управление потоком , которое может быть объединено с предотвращением перегрузки .
UDP — очень простой протокол, не предоставляющий ни виртуальных каналов, ни надежной связи, делегируя эти функции прикладной программе . Пакеты UDP называются датаграммами , а не сегментами.
TCP используется для многих протоколов, включая HTTP- браузер и передачу электронной почты. UDP может использоваться для многоадресной и широковещательной рассылки , поскольку повторные передачи на большое количество хостов невозможны. UDP обычно обеспечивает более высокую пропускную способность и меньшую задержку и поэтому часто используется для мультимедийной связи в реальном времени, где иногда допускается потеря пакетов, например, IP-телевидение и IP-телефония, а также для онлайн-игр.
Многие сети, не основанные на IP, такие как X.25 , Frame Relay и ATM , реализуют ориентированную на соединение связь на сетевом или канальном уровне, а не на транспортном уровне. В X.25, в модемах телефонных сетей и в беспроводных системах связи надежная связь между узлами реализуется на нижних уровнях протокола.
Спецификация протокола транспортного уровня в режиме соединения OSI определяет пять классов транспортных протоколов: TP0 , обеспечивающий наименьшее количество ошибок восстановления, до TP4 , который предназначен для менее надежных сетей.
Из-за окостенения протоколов TCP и UDP являются единственными широко используемыми транспортными протоколами в Интернете. [6] Чтобы избежать непереносимости промежуточных устройств , новые транспортные протоколы могут имитировать проводной образ допустимого протокола или быть инкапсулированными в UDP, принимая некоторые накладные расходы (например, из-за внешних контрольных сумм, которые стали избыточными из-за внутренних проверок целостности). [7] QUIC использует последний подход, восстанавливая надежный потоковый транспорт поверх UDP. [8]
В этом списке показаны некоторые протоколы, которые обычно размещаются на транспортных уровнях набора протоколов Интернета , набора протоколов OSI , NetWare IPX /SPX , AppleTalk и Fibre Channel .
Особенность | УДП | UDP-Lite | ТКП | Многопутевой TCP | СКТП | ДЦКП | РУДП [а] |
---|---|---|---|---|---|---|---|
Размер заголовка пакета | 8 байт | 8 байт | 20–60 байт | 50–90 байт | 12 байт [б] | 12 или 16 байт | 14+ байт |
Типичные накладные расходы на пакет данных | 8 байт | 8 байт | 20 байт | ?? байт | 44–48+ байт [c] | 12 или 16 байт | 14 байт |
Пакетная сущность транспортного уровня | Дейтаграмма | Дейтаграмма | Сегмент | Сегмент | Дейтаграмма | Дейтаграмма | Дейтаграмма |
Ориентированный на соединение | Нет | Нет | Да | Да | Да | Да | Да |
Надежный транспорт | Нет | Нет | Да | Да | Да | Нет | Да |
Ненадежный транспорт | Да | Да | Нет | Нет | Да | Да | Да |
Сохранять границу сообщения | Да | Да | Нет | Нет | Да | Да | Да |
Доставка | Неупорядоченный | Неупорядоченный | Заказано | Заказано | Упорядочено / Неупорядочено | Неупорядоченный | Неупорядоченный |
Контрольная сумма данных | Необязательный | Да | Да | Да | Да | Да | Необязательный |
Размер контрольной суммы | 16 бит | 16 бит | 16 бит | 16 бит | 32 бита | 16 бит | 16 бит |
Частичная контрольная сумма | Нет | Да | Нет | Нет | Нет | Да | Нет |
MTU пути | Нет | Нет | Да | Да | Да | Да | ? |
Управление потоком | Нет | Нет | Да | Да | Да | Нет | Да |
Контроль за перегрузкой | Нет | Нет | Да | Да | Да | Да | ? |
Явное уведомление о перегрузке | Нет | Нет | Да | Да | Да | Да | ? |
Несколько потоков | Нет | Нет | Нет | Нет | Да | Нет | Нет |
Многоадресность | Нет | Нет | Нет | Да | Да | Нет | Нет |
Комплектация / Nagle | Нет | Нет | Да | Да | Да | Нет | ? |
Рекомендация ISO/IEC 8073/ITU-T X.224 «Информационные технологии — Взаимосвязь открытых систем — Протокол для предоставления транспортного сервиса в режиме соединения» определяет пять классов транспортных протоколов в режиме соединения, обозначенных как класс 0 (TP0) — класс 4 (TP4). Класс 0 не содержит восстановления после ошибок и был разработан для использования на сетевых уровнях, которые обеспечивают безошибочные соединения. Класс 4 наиболее близок к TCP, хотя TCP содержит функции, такие как постепенное закрытие, которое OSI назначает сеансовому уровню. Все классы протоколов в режиме соединения OSI обеспечивают ускоренные данные и сохранение границ записей. Подробные характеристики классов приведены в следующей таблице: [10]
Услуга | ТП0 | ТП1 | ТП2 | ТП3 | ТП4 |
---|---|---|---|---|---|
Сеть, ориентированная на соединение | Да | Да | Да | Да | Да |
Сеть без подключения | Нет | Нет | Нет | Нет | Да |
Конкатенация и разделение | Нет | Да | Да | Да | Да |
Сегментация и повторная сборка | Да | Да | Да | Да | Да |
Ошибка восстановления | Нет | Да | Нет | Да | Да |
Повторно инициировать соединение (если слишком много PDU не подтверждено) | Нет | Да | Нет | Да | Нет |
Мультиплексирование и демультиплексирование по одному виртуальному каналу | Нет | Нет | Да | Да | Да |
Явное управление потоком | Нет | Нет | Да | Да | Да |
Повторная передача по тайм-ауту | Нет | Нет | Нет | Нет | Да |
Надежная транспортная служба | Нет | Да | Нет | Да | Да |
Существует также транспортный протокол без установления соединения, определенный в рекомендации ISO/IEC 8602/ITU-T X.234. [11]