Транспортный уровень - Transport layer

В компьютерная сеть, то транспортный уровень концептуальное разделение методов в многоуровневая архитектура протоколов в сетевом стеке в Набор интернет-протоколов и Модель OSI. Протоколы этого уровня предоставляют приложениям услуги связи между хостами.[1]:§1.1.3 Он предоставляет такие услуги, как связь с установлением соединения, надежность, управление потоком, и мультиплексирование.

Подробности реализации и семантики транспортного уровня Набор интернет-протоколов,[1] что является основой Интернет, а Модель OSI общих сетей разные. Все протоколы, используемые сегодня на этом уровне Интернета, возникли при разработке TCP / IP. В модели OSI транспортный уровень часто называют Слой 4, или же L4,[2] в то время как пронумерованные уровни не используются в TCP / IP.

Самый известный транспортный протокол из набора Интернет-протоколов - это Протокол управления передачей (TCP). Он используется для передачи с установлением соединения, тогда как передача без установления соединения Протокол пользовательских датаграмм (UDP) используется для более простой передачи сообщений. TCP - более сложный протокол из-за его современный дизайн включая услуги надежной передачи и потока данных. Вместе TCP и UDP составляют практически весь трафик в Интернете и являются единственными протоколами, реализованными во всех основных операционных системах. Дополнительные протоколы транспортного уровня, которые были определены и реализованы, включают Протокол управления перегрузкой дейтаграмм (DCCP) и Протокол передачи управления потоком (SCTP).

Услуги

Услуги транспортного уровня передаются в приложение через программный интерфейс к протоколам транспортного уровня. Услуги могут включать в себя следующие функции:

  • Связь с установлением соединения: Обычно приложению проще интерпретировать соединение как поток данных вместо того, чтобы иметь дело с базовыми моделями без подключения, такими как дейтаграмма модель Протокол пользовательских датаграмм (UDP) и протокол Интернета (IP).
  • Доставка в том же порядке: сетевой уровень обычно не гарантирует, что пакеты данных будут доставлены в том же порядке, в котором они были отправлены, но часто это желательная функция. Обычно это делается с помощью нумерации сегментов, когда получатель передает их приложению по порядку. Это может вызвать блокировка передней линии.
  • Надежность: Пакеты могут быть потеряны во время транспортировки из-за перегрузка сети и ошибки. С помощью код обнаружения ошибки, например контрольная сумма, транспортный протокол может проверить, не повреждены ли данные, и проверить правильность получения, отправив ACK или же NACK сообщение отправителю. Автоматический повторный запрос схемы могут использоваться для повторной передачи потерянных или поврежденных данных.
  • Управление потоком: Скорость передачи данных между двумя узлами иногда необходимо контролировать, чтобы не дать быстрому отправителю передать больше данных, чем может поддерживать принимающий буфер данных, вызывая переполнение буфера. Это также можно использовать для повышения эффективности за счет уменьшения опустошение буфера.
  • Предотвращение перегрузки: Контроль перегрузки может контролировать вход трафика в телекоммуникационную сеть, чтобы избежать застойный коллапс пытаясь избежать превышения лимита на любую обработку или связь возможности промежуточных узлов и сетей и принятие мер по сокращению ресурсов, таких как снижение скорости отправки пакеты. Например, автоматические повторные запросы может держать сеть в перегруженном состоянии; этой ситуации можно избежать, добавив предотвращение перегрузки к управлению потоком, включая медленный старт. Это сохраняет потребление полосы пропускания на низком уровне в начале передачи или после повторной передачи пакета.
  • Мультиплексирование: Порты может предоставить несколько конечных точек на одном узле. Например, имя на почтовом адресе представляет собой своего рода мультиплексирование и различает разных получателей одного и того же места. Каждое компьютерное приложение будет прослушивать информацию о своих портах, что позволяет использовать более одного сетевая служба в то же время. Это часть транспортного уровня в Модель TCP / IP, но из уровень сеанса в модели OSI.

Анализ

Транспортный уровень отвечает за доставку данных соответствующему прикладному процессу на хост-компьютерах. Это включает статистическое мультиплексирование данных из различных прикладных процессов, то есть формирование сегментов данных и добавление номеров портов источника и назначения в заголовок каждого сегмента данных транспортного уровня. Вместе с IP-адресом источника и назначения номера портов составляют сетевой разъем, то есть идентификационный адрес межпроцессного взаимодействия. В модели OSI эта функция поддерживается уровень сеанса.

Некоторые протоколы транспортного уровня, например TCP, но не UDP, поддерживают виртуальные схемы, т.е. предоставить связь с установлением соединения по базовому пакетно-ориентированному дейтаграмма сеть. Байт-поток доставляется, скрывая связь в пакетном режиме для процессов приложения. Это включает в себя установление соединения, разделение потока данных на пакеты, называемые сегментами, нумерацию сегментов и переупорядочивание данных вне очереди.

Наконец, некоторые протоколы транспортного уровня, например TCP, но не UDP, обеспечивают надежную сквозную связь, т.е. восстановление после ошибки посредством код обнаружения ошибок и автоматический повторный запрос (ARQ) протокол. Протокол ARQ также обеспечивает управление потоком, который можно сочетать с предотвращение перегрузки.

UDP - очень простой протокол, не обеспечивающий виртуальных каналов или надежной связи, делегируя эти функции заявление программа. Пакеты UDP называются дейтаграммы, а не сегменты.

TCP используется для многих протоколов, включая HTTP просмотр веб-страниц и передача электронной почты. UDP может использоваться для многоадресная передача и вещание, поскольку повторная передача невозможна для большого количества хостов. UDP обычно дает больше пропускная способность и более короткое время ожидания, и поэтому часто используется для мультимедийной связи в реальном времени, где иногда может быть допущена потеря пакетов, например, IP-TV и IP-телефония, а также для компьютерных онлайн-игр.

Многие сети, не основанные на IP, например X.25, Ретрансляция кадров и Банкомат, реализовать связь с установлением соединения на уровне сети или канала передачи данных, а не на транспортном уровне. В X.25 в модемах телефонных сетей и в системах беспроводной связи надежная связь между узлами реализована на более низких уровнях протокола.

Спецификация протокола транспортного уровня в режиме соединения OSI определяет пять классов транспортных протоколов: TP0, обеспечивая наименьшее устранение ошибок, чтобы TP4, который разработан для менее надежных сетей.

Протоколы

В этом списке показаны некоторые протоколы, которые обычно размещаются на транспортных уровнях Набор интернет-протоколов, то Набор протоколов OSI, NetWare с IPX / SPX, AppleTalk, и Fibre Channel.

Сравнение протоколов транспортного уровня

ОсобенностьUDPUDP-LiteTCPМногопутевый TCPSCTPDCCPRUDP[а]
Размер заголовка пакета8 байт8 байт20–60 байт50–90 байт12 байт[b]12 или 16 байт14+ байт
Типичные накладные расходы на пакет данных8 байт8 байт20 байт?? байты44–48 + байт[c]12 или 16 байт14 байтов
Пакетный объект транспортного уровняДейтаграммаДейтаграммаСегментСегментДейтаграммаДейтаграммаДейтаграмма
Ориентированный на соединениеНетНетдадададада
Надежный транспортНетНетдададаНетда
Ненадежный транспортдадаНетНетдадада
Сохранить границу сообщениядадаНетНетдадада
ДоставкаНеупорядоченныйНеупорядоченныйУпорядоченныйУпорядоченныйЗаказанный / НеупорядоченныйНеупорядоченныйНеупорядоченный
Данные контрольная суммаНеобязательныйдададададаНеобязательный
Размер контрольной суммы16 бит16 бит16 бит16 бит32 бит16 бит16 бит
Частичное контрольная суммаНетдаНетНетНетдаНет
Дорожка MTUНетНетдададада?
Управление потокомНетНетдададаНетда
Контроль перегрузкиНетНетдададада?
Явное уведомление о перегрузкеНетНетдададада?
Несколько потокиНетНетНетНетдаНетНет
Множественное наведениеНетНетНетдадаНетНет
Пакетирование / НэглНетНетдададаНет?
  1. ^ RUDP официально не стандартизирован. С 1999 года не было никаких разработок, связанных со стандартами.
  2. ^ Исключая заголовки блоков данных и служебные данные. Без встроенных фрагментов пакет SCTP по существу бесполезен.
  3. ^ Подсчитывается следующим образом: 12 байтов заголовка SCTP + 16 байтов заголовка блока DATA или 20 байтов заголовка блока I-DATA + 16+ байтов блока SACK. Дополнительные фрагменты, не относящиеся к данным (например, AUTH) и / или заголовки для дополнительных фрагментов данных, которые могут легко увеличить накладные расходы на 50 байтов или более, не учитываемые.

Сравнение транспортных протоколов OSI

ИСО / МЭК 8073 / Рекомендация МСЭ-Т X.224, «Информационные технологии - Взаимодействие открытых систем - Протокол для предоставления транспортных услуг в режиме установления соединения», определяет пять классов транспортных протоколов в режиме установления соединения, обозначенных от класса 0 (TP0) до класса 4. (TP4). Класс 0 не содержит средства восстановления после ошибок и был разработан для использования на сетевых уровнях, которые обеспечивают безошибочные соединения. Класс 4 наиболее близок к TCP, хотя TCP содержит такие функции, как плавное закрытие, которое OSI назначает сеансовому уровню. Все классы протоколов OSI в режиме соединения обеспечивают ускоренную передачу данных и сохранение границ записей. Подробные характеристики классов приведены в следующей таблице:[4]

СлужбаTP0TP1TP2TP3TP4
Сеть с установлением соединениядадададада
Сеть без установления соединенияНетНетНетНетда
Конкатенация и разделениеНетдададада
Сегментация и повторная сборкададададада
Восстановление после ошибкиНетдаНетдада
Повторно установить соединение (если слишком много PDU не признаны)НетдаНетдаНет
Мультиплексирование и демультиплексирование по одному виртуальный каналНетНетдадада
Явное управление потокомНетНетдадада
Повторная передача по таймаутуНетНетНетНетда
Надежное транспортное обслуживаниеНетдаНетдада

Существует также транспортный протокол без установления соединения, указанный в Рекомендации ISO / IEC 8602 / ITU-T X.234.[5]

Рекомендации

  1. ^ а б Р. Брейден, изд. (Октябрь 1989 г.). Требования к Интернет-хостам - Уровни связи. Дои:10.17487 / RFC1122. RFC 1122.
  2. ^ «Представляем Internet Protocol Suite». Руководство системного администратора, том 3.
  3. ^ Брайан С. Смит, Cyclic-UDP: протокол Best-Effort с приоритетом (PDF), получено 23 февраля, 2020
  4. ^ «Рекомендация ITU-T X.224 (11/1995) ISO / IEC 8073». Itu.int. Получено 17 января, 2017.
  5. ^ «Рекомендация ITU-T X.234 (07/1994) ISO / IEC 8602». Itu.int. Получено 17 января, 2017.