ScholarGate
Ассистент

Транспортный уровень и управление перегрузками

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

Найти тему в PaperMindСкороFind papers & topics
Tools & resources
Скачать слайды
Learn & explore
ВидеоСкоро

Definition

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

Scope

Эта область охватывает сквозные транспортные службы: мультиплексирование и демультиплексирование данных для прикладных процессов, принципы надежной передачи данных по ненадежной сети (подтверждения, повторная передача, порядковые номера, скользящие окна), протокол управления передачей с установлением соединения и протокол пользовательских дейтаграмм без установления соединения, а также теорию и практику управления перегрузками. Она исключает маршрутизацию пакетов по сети (сетевой уровень) и прикладные протоколы, использующие транспортные службы (прикладной уровень).

Sub-topics

Core questions

  • Как транспортный уровень доставляет данные правильному прикладному процессу посредством мультиплексирования и демультиплексирования?
  • Как можно обеспечить надежную, упорядоченную доставку по ненадежной, подверженной потерям сети?
  • Как работают механизмы установления соединения, управления потоком и надежности TCP?
  • Когда приложению следует использовать UDP вместо TCP?
  • Как управление перегрузками обнаруживает и реагирует на перегрузку сети, оставаясь при этом справедливым?

Key concepts

  • мультиплексирование и демультиплексирование
  • порты и сокеты
  • надежная передача данных
  • скользящее окно, возврат-N, выборочный повтор
  • трехстороннее рукопожатие TCP
  • управление потоком
  • управление перегрузками
  • аддитивное увеличение/мультипликативное уменьшение (AIMD)
  • медленный старт и предотвращение перегрузок
  • Протокол пользовательских дейтаграмм (UDP)

Key theories

Надежная передача данных по ненадежному каналу
Надежность строится на подтверждениях, таймерах повторной передачи, порядковых номерах и протоколах скользящего окна (возврат-N и выборочный повтор), которые обнаруживают и восстанавливаются после потерь, дублирования и изменения порядка, несмотря на ненадежную базовую сеть.
Управление перегрузками TCP
TCP определяет перегрузку по потере пакетов и регулирует свое окно отправки с помощью динамики аддитивного увеличения/мультипликативного уменьшения — медленного старта, предотвращения перегрузок и быстрого восстановления — для зондирования доступной пропускной способности, резко снижая скорость при потерях.
Транспорт без установления соединения против транспорта с установлением соединения
UDP предлагает тонкую службу без установления соединения, без настройки, надежности или управления перегрузками, минимизируя задержку и накладные расходы, в то время как TCP предлагает потоковый сервис с установлением соединения, надежный и управляемый по перегрузкам; выбор обменивает задержку и контроль на гарантии.

Clinical relevance

Поведение транспортного уровня определяет производительность почти каждого сетевого приложения: TCP надежно передает веб-страницы, электронную почту и файлы, в то время как UDP лежит в основе приложений с низкой задержкой, таких как DNS, голосовая связь и видео в реальном времени, а также многие игры. Управление перегрузками предотвращает коллапс Интернета под нагрузкой с конца 1980-х годов, и текущая работа над алгоритмами, такими как CUBIC и BBR, и протоколами, такими как QUIC, продолжает настраивать баланс между задержкой, пропускной способностью и справедливостью.

History

TCP и IP изначально были одним протоколом в разработке Серфа-Кана 1974 года и позже были разделены, при этом UDP (RFC 768, 1980) был добавлен для приложений, нуждающихся только в базовой службе дейтаграмм. После серии коллапсов перегрузок в раннем Интернете работа Вана Джейкобсона 1988 года представила алгоритмы медленного старта и предотвращения перегрузок, которые остаются основой управления перегрузками TCP, усовершенствованные за десятилетия в такие варианты, как Reno, CUBIC и BBR.

Debates

Управление перегрузками на основе потерь против управления на основе задержек и моделей
Классический TCP определяет перегрузку по потере пакетов, что может приводить к недоиспользованию высокоскоростных каналов с большой задержкой и поздней реакции, что стимулирует разработку алгоритмов на основе задержек и моделей, таких как BBR; продолжаются дебаты о справедливости и возможности развертывания, когда такие алгоритмы сосуществуют с алгоритмами на основе потерь.

Key figures

  • Van Jacobson
  • Jon Postel
  • Vinton Cerf
  • Sally Floyd

Related topics

Seminal works

  • kurose2021
  • jacobson1988
  • rfc9293

Frequently asked questions

Когда следует использовать UDP вместо TCP?
Используйте UDP, когда низкая задержка важнее гарантированной доставки, и вы можете терпеть или самостоятельно обрабатывать потери — например, для голосовой связи/видео в реальном времени, DNS-запросов или игр. Используйте TCP, когда вам нужна надежная, упорядоченная доставка и встроенное управление перегрузками, например, для веб-страниц, передачи файлов и электронной почты.
Что на самом деле делает управление перегрузками?
Управление перегрузками регулирует скорость, с которой отправитель вводит данные в сеть, на основе сигналов перегрузки, обычно потери пакетов или задержки. Отступая, когда сеть перегружена, и зондируя свободную пропускную способность в противном случае, оно поддерживает совокупный трафик близко к пропускной способности сети и примерно справедливо распределяет пропускную способность между потоками.

Methods for this concept

Related concepts