Транспортный уровень
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2015 г. ) |
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
В компьютерных сетях транспортный уровень представляет собой концептуальное разделение методов многоуровневой архитектуры протоколов сетевого стека в наборе протоколов Интернета и модели OSI . Протоколы этого уровня предоставляют приложениям услуги сквозной связи. [ 1 ] : §1.1.3 Он предоставляет такие услуги, как связь с установлением соединения , надежность , управление потоком и мультиплексирование .
Детали реализации и семантики транспортного уровня набора протоколов Интернета , [ 1 ] которая является основой Интернета , и модель общей сети OSI различны. Все протоколы, используемые сегодня на этом уровне Интернета, возникли в результате развития TCP/IP. В модели OSI транспортный уровень часто называют уровнем 4 или L4 . [ 2 ] в то время как нумерованные уровни не используются в TCP/IP.
Самый известный транспортный протокол из набора протоколов Интернета — это протокол управления передачей (TCP). Он используется для передач с установлением соединения, тогда как протокол пользовательских дейтаграмм (UDP) без установления соединения используется для более простых передач сообщений. TCP является более сложным протоколом из-за его конструкции с отслеживанием состояния, включающей надежные службы передачи и потока данных. Вместе TCP и UDP составляют практически весь трафик в Интернете и являются единственными протоколами, реализованными во всех основных операционных системах. Дополнительные протоколы транспортного уровня, которые были определены и реализованы, включают протокол управления перегрузкой дейтаграмм (DCCP) и протокол передачи управления потоком (SCTP).
Модель OSI по слою |
---|
Услуги
[ редактировать ]Услуги транспортного уровня передаются приложению через программный интерфейс протоколов транспортного уровня. Услуги могут включать в себя следующие функции: [ 4 ]
- Связь, ориентированная на соединение : [ 5 ] Обычно приложению проще интерпретировать соединение как поток данных , чем иметь дело с базовыми моделями без установления соединения, такими как модель дейтаграмм протокола пользовательских дейтаграмм (UDP) и интернет-протокола (IP).
- Доставка в том же порядке. Сетевой уровень обычно не гарантирует, что пакеты данных будут доставлены в том же порядке, в котором они были отправлены, но часто это желательная функция. Обычно это делается с помощью нумерации сегментов, при этом получатель передает их приложению по порядку. Это может привести к блокировке начала строки .
- Надежность : пакеты могут быть потеряны во время транспортировки из-за перегрузки сети и ошибок. С помощью кода обнаружения ошибок , такого как контрольная сумма , транспортный протокол может проверить, что данные не повреждены, и проверить правильность получения, отправив ACK или NACK отправителю сообщение . Схемы автоматического повторного запроса могут использоваться для повторной передачи потерянных или поврежденных данных.
- Управление потоком : иногда необходимо управлять скоростью передачи данных между двумя узлами, чтобы не допустить, чтобы быстрый отправитель передавал больше данных, чем может поддерживать принимающий буфер данных , что приводит к переполнению буфера. Это также можно использовать для повышения эффективности за счет уменьшения опустошения буфера .
- Предотвращение перегрузки : контроль перегрузки может контролировать вход трафика в телекоммуникационную сеть, чтобы избежать коллапса перегрузки , пытаясь избежать переподписки на любые возможности обработки или связи промежуточных узлов и сетей и предпринимая шаги по сокращению ресурсов, такие как снижение скорости. отправки пакетов . Например, автоматические повторные запросы могут привести к перегрузке сети; этой ситуации можно избежать, добавив к управлению потоком функцию предотвращения перегрузок, включая медленный старт . Это сохраняет потребление полосы пропускания на низком уровне в начале передачи или после повторной передачи пакета.
- Мультиплексирование : порты могут предоставлять несколько конечных точек на одном узле. Например, имя почтового адреса представляет собой своего рода мультиплексирование и различает разных получателей из одного и того же места. Каждое компьютерное приложение будет прослушивать информацию на своих собственных портах, что позволяет использовать более одной сетевой службы одновременно. Это часть транспортного уровня в модели TCP/IP и сеансового уровня в модели OSI.
Анализ
[ редактировать ]Транспортный уровень отвечает за доставку данных соответствующему процессу приложения на хост-компьютерах. Это предполагает статистическое мультиплексирование данных из различных прикладных процессов, т.е. формирование сегментов данных и добавление номеров портов источника и назначения в заголовок каждого сегмента данных транспортного уровня. Вместе с 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 IPX NetWare , /SPX , AppleTalk и Fibre Channel .
- ATP, протокол транзакций AppleTalk
- CUDP, циклический UDP [ 9 ]
- DCCP, протокол управления перегрузкой дейтаграмм
- FCP, протокол Fibre Channel
- ТЕМ, ПРОТОКОЛ
- MPTCP, многопутевой TCP
- NORM, надежная многоадресная рассылка, ориентированная на NACK
- RDP, надежный протокол передачи данных
- RUDP, надежный протокол пользовательских датаграмм
- SCTP, протокол передачи управления потоком
- SPX, последовательный обмен пакетами
- SST, структурированная потоковая транспортировка
- TCP, протокол управления передачей
- UDP, протокол пользовательских датаграмм
- UDP-Lite
- μTP, микротранспортный протокол
Сравнение протоколов транспортного уровня Интернета
[ редактировать ]Особенность | UDP | UDP-Lite | TCP | Многопутевой TCP | SCTP | DCCP | РУДП [ а ] |
---|---|---|---|---|---|---|---|
Размер заголовка пакета | 8 байт | 8 байт | 20–60 байт | 50–90 байт | 12 байт [ б ] | 12 или 16 байт | 14+ байт |
Типичные издержки пакета данных | 8 байт | 8 байт | 20 байт | ?? байты | 44–48+ байт [ с ] | 12 или 16 байт | 14 байт |
Объект пакета транспортного уровня | Датаграмма | Датаграмма | Сегмент | Сегмент | Датаграмма | Датаграмма | Датаграмма |
Ориентированный на соединение | Нет | Нет | Да | Да | Да | Да | Да |
Надежный транспорт | Нет | Нет | Да | Да | Да | Нет | Да |
Ненадежный транспорт | Да | Да | Нет | Нет | Да | Да | Да |
Сохранять границы сообщения | Да | Да | Нет | Нет | Да | Да | Да |
Доставка | Неупорядоченный | Неупорядоченный | Заказал | Заказал | Заказанный/Неупорядоченный | Неупорядоченный | Неупорядоченный |
данных Контрольная сумма | Необязательный | Да | Да | Да | Да | Да | Необязательный |
Размер контрольной суммы | 16 бит | 16 бит | 16 бит | 16 бит | 32 бита | 16 бит | 16 бит |
Частичная контрольная сумма | Нет | Да | Нет | Нет | Нет | Да | Нет |
Путь ЧЕЛОВЕК | Нет | Нет | Да | Да | Да | Да | ? |
Управление потоком | Нет | Нет | Да | Да | Да | Нет | Да |
Контроль перегрузок | Нет | Нет | Да | Да | Да | Да | ? |
Явное уведомление о перегрузке | Нет | Нет | Да | Да | Да | Да | ? |
Несколько потоков | Нет | Нет | Нет | Нет | Да | Нет | Нет |
Множественная адресация | Нет | Нет | Нет | Да | Да | Нет | Нет |
Объединение / Нэгл | Нет | Нет | Да | Да | Да | Нет | ? |
- ^ RUDP официально не стандартизирован. С 1999 года не было никаких разработок, связанных со стандартами.
- ^ Исключая заголовки блоков данных и служебные фрагменты. Без встроенных фрагментов пакет SCTP практически бесполезен.
- ^ Подсчитывается следующим образом: 12 байт заголовка SCTP + 16 байт заголовка фрагмента DATA или 20 байт заголовка фрагмента I-DATA + 16+ байт фрагмента SACK. Дополнительные фрагменты, не относящиеся к данным (например, AUTH), и/или заголовки для дополнительных фрагментов данных, которые могут легко увеличить накладные расходы на 50 или более байт, не учитываются.
Сравнение транспортных протоколов OSI
[ редактировать ]Рекомендация ISO/IEC 8073/ITU-T X.224 «Информационные технологии — Взаимодействие открытых систем — Протокол для предоставления транспортных услуг в режиме соединения» определяет пять классов транспортных протоколов в режиме соединения, обозначенных от класса 0 (TP0) до класса 4. (ТП4). Класс 0 не содержит восстановления после ошибок и был разработан для использования на сетевых уровнях, обеспечивающих безошибочные соединения. Класс 4 наиболее близок к TCP, хотя TCP содержит такие функции, как плавное закрытие, которые OSI назначает сеансовому уровню. Все классы протоколов режима соединения OSI обеспечивают ускоренную передачу данных и сохранение границ записей. Подробные характеристики классов приведены в следующей таблице: [ 10 ]
Услуга | ТП0 | ТП1 | ТП2 | ТП3 | ТП4 |
---|---|---|---|---|---|
Сеть, ориентированная на соединение | Да | Да | Да | Да | Да |
Сеть без установления соединения | Нет | Нет | Нет | Нет | Да |
Конкатенация и разделение | Нет | Да | Да | Да | Да |
Сегментация и повторная сборка | Да | Да | Да | Да | Да |
Восстановление ошибок | Нет | Да | Нет | Да | Да |
чрезмерное количество PDU Повторно инициировать соединение (если не подтверждено ) | Нет | Да | Нет | Да | Нет |
Мультиплексирование и демультиплексирование в одном виртуальном канале | Нет | Нет | Да | Да | Да |
Явное управление потоком | Нет | Нет | Да | Да | Да |
Повторная передача по тайм-ауту | Нет | Нет | Нет | Нет | Да |
Надежный транспортный сервис | Нет | Да | Нет | Да | Да |
Существует также транспортный протокол без установления соединения, указанный в Рекомендации ISO/IEC 8602/ITU-T X.234. [ 11 ]
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Р. Брейден , изд. (октябрь 1989 г.). Требования к интернет-хостам – коммуникационные уровни . Сетевая рабочая группа. дои : 10.17487/RFC1122 . СТД 3. RFC 1122 . Интернет-стандарт 3. Обновлено RFC 1349 , 4379 , 5884 , 6093 , 6298 , 6633 , 6864 , 8029 и 9293 .
- ^ «Представляем пакет интернет-протоколов» . Руководство системного администратора, Том 3 .
- ^ «X.225: Информационные технологии – Взаимосвязь открытых систем – Протокол сеанса, ориентированный на соединение: Спецификация протокола» . Архивировано из оригинала 1 февраля 2021 года . Проверено 10 марта 2023 г.
- ^ «Транспортный уровень» (PDF) . Университет Галготии .
- ^ Хина, Кера. «Передача данных и сети» (PDF) . Университет Галготии . п. 9.
- ^ Папастерджиу и др. 2017 , с. 620-621.
- ^ Папастерджиу и др. 2017 , с. 623-624.
- ^ Корбет 2018 .
- ^ Брайан К. Смит, Cyclic-UDP: протокол Best Effort, управляемый приоритетами (PDF) , получено 23 февраля 2020 г.
- ^ «Рекомендация МСЭ-Т X.224 (11/1995) ISO/IEC 8073» . Itu.int . Проверено 17 января 2017 г.
- ^ «Рекомендация МСЭ-Т X.234 (07/1994) ISO/IEC 8602» . Itu.int . Проверено 17 января 2017 г.
Библиография
[ редактировать ]- Корбет, Джонатан (29 января 2018 г.). «QUIC как решение проблемы закостенения протоколов» . LWN.net .
- Папастергиу, Гиоргос; Фэрхерст, Горри; Рос, Дэвид; Брунстрем, Анна; Гриннемо, Карл-Йохан; Хуртиг, Пер; Хадеми, Наим; Тюксен, Майкл; Вельцль, Майкл; Дамьянович, Драгана; Манджианте, Симона (2017). «Де-окостенение транспортного уровня Интернета: обзор и перспективы на будущее». Опросы и учебные пособия IEEE по коммуникациям . 19 : 619–639. дои : 10.1109/COMST.2016.2626780 . hdl : 2164/8317 . S2CID 1846371 .