Открыть сервис

Дейтаграммная коммутация

Дейтаграммная коммутация — это метод передачи данных в компьютерных сетях, при котором информация разбивается на небольшие пакеты (дейтаграммы), каждый из которых передаётся независимо от других и может следовать по различным маршрутам к месту назначения. В отличие от коммутации каналов, где для сеанса связи устанавливается выделенный физический или логический путь, дейтаграммная коммутация не требует предварительного установления соединения и не гарантирует сохранения порядка следования пакетов. Основой данного подхода является принцип «коммутации с промежуточным хранением» (store-and-forward), при котором каждый узел сети (маршрутизатор) принимает пакет, анализирует его заголовок и принимает решение о дальнейшей передаче на основе текущей топологии сети и загрузки каналов.

История возникновения

Концепция дейтаграммной коммутации была разработана в 1960-х годах в рамках проектов по созданию распределённых сетей, устойчивых к повреждениям. Одним из ключевых исследователей, внёсших вклад в эту область, является американский инженер Пол Бэран, который в 1964 году опубликовал серию работ, описывающих сеть с децентрализованным управлением и передачей данных в виде блоков. Параллельно в Великобритании Дональд Дэвис независимо предложил термин «пакет» и идею коммутации пакетов, которая легла в основу дейтаграммного подхода.

Первой практической реализацией дейтаграммной коммутации стала сеть ARPANET, запущенная в 1969 году в США. В ней использовались пакеты фиксированной длины, которые передавались через маршрутизаторы (IMP — Interface Message Processor) без предварительного установления соединения. В 1970-х годах этот метод был принят в качестве основы для протокола IP (Internet Protocol), который до сих пор является фундаментом сети Интернет.

Принцип работы

Дейтаграммная коммутация основана на следующих ключевых принципах:

  • Независимость пакетов: Каждый пакет содержит полную информацию о пункте назначения (IP-адрес получателя) и порядковый номер, позволяющий восстановить исходный поток данных. Пакеты могут передаваться разными маршрутами, что увеличивает надёжность сети при отказах отдельных узлов или линий связи.
  • Маршрутизация на каждом узле: Решение о том, на какой следующий узел направить пакет, принимается локально на каждом маршрутизаторе на основе таблицы маршрутизации. Эта таблица может динамически обновляться в зависимости от состояния сети (например, с помощью протоколов RIP, OSPF или BGP).
  • Отсутствие гарантий доставки: Дейтаграммная коммутация не гарантирует, что все пакеты будут доставлены, что они будут доставлены в правильном порядке или что они не будут продублированы. Ответственность за обеспечение надёжности (например, повторную отправку потерянных пакетов) возлагается на протоколы более высокого уровня, такие как TCP.
  • Независимость от приложений: Метод не требует предварительного согласования параметров между отправителем и получателем, что позволяет использовать его для широкого круга приложений — от веб-серфинга до потокового видео.

Сравнение с другими методами коммутации

Коммутация каналов

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

Коммутация пакетов с установлением соединения (виртуальные каналы)

В этом методе (например, в сетях X.25 или Frame Relay) перед передачей данных устанавливается виртуальный канал — логический путь через сеть, по которому все пакеты следуют в одном порядке. В отличие от дейтаграммной коммутации, здесь не требуется анализ заголовка каждого пакета на каждом узле, что ускоряет обработку, но снижает гибкость при отказах. Дейтаграммная коммутация более устойчива к сбоям, так как при выходе из строя узла или линии пакеты автоматически перенаправляются по альтернативным маршрутам.

Применение в современных сетях

Дейтаграммная коммутация является основой для работы протокола IP, который используется в Интернете и большинстве локальных сетей. Наиболее распространённые протоколы, работающие поверх IP и использующие дейтаграммный принцип:

  • UDP (User Datagram Protocol) — протокол без установления соединения, обеспечивающий быструю, но ненадёжную передачу данных. Используется в приложениях, где важна скорость и допустима потеря пакетов (например, в онлайн-играх, видеоконференциях, DNS-запросах).
  • IP (Internet Protocol) — основной протокол сетевого уровня, который отвечает за маршрутизацию дейтаграмм. Версия IPv4 (32-битные адреса) и IPv6 (128-битные адреса) реализуют дейтаграммную коммутацию.

Кроме того, дейтаграммный подход применяется в некоторых беспроводных сетях, системах спутниковой связи и в сетях передачи данных для промышленных систем (например, в протоколе Modbus TCP).

Преимущества и недостатки

Преимущества

  • Эффективное использование ресурсов: Каналы связи могут быть заняты только во время передачи данных, а не всё время сеанса.
  • Устойчивость к отказам: При выходе из строя одного маршрутизатора или линии связи пакеты могут быть перенаправлены по другим путям, что обеспечивает высокую надёжность сети.
  • Простота реализации: Не требуется сложного оборудования для установления и поддержания соединений — достаточно маршрутизаторов, работающих с таблицами маршрутизации.
  • Масштабируемость: Сети на основе дейтаграммной коммутации легко расширяются за счёт добавления новых узлов и каналов.

Недостатки

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

Интересные факты

  • Термин «дейтаграмма» был введён в 1970-х годах в рамках разработки протокола IP и происходит от слов «data» (данные) и «telegram» (телеграмма), подчёркивая независимость и автономность каждого пакета.
  • В сети ARPANET изначально использовались пакеты длиной до 1008 бит, что было связано с ограничениями памяти ранних маршрутизаторов.
  • Протокол IPv6, разработанный в 1990-х годах, сохраняет дейтаграммный принцип, но упрощает обработку заголовков для повышения производительности.

Критика и ограничения

Основная критика дейтаграммной коммутации связана с её непригодностью для приложений, требующих строгих гарантий задержки и пропускной способности (например, телемедицина или управление промышленными процессами). В таких случаях предпочтительнее использовать коммутацию каналов или виртуальные каналы с поддержкой QoS. Кроме того, рост объёмов трафика в Интернете приводит к перегрузкам, которые могут быть частично сглажены за счёт использования протоколов управления перегрузкой (например, TCP), но не устраняют фундаментальных ограничений дейтаграммного подхода.

Источники

  • Бэран, П. «On Distributed Communications Networks». RAND Corporation, 1964.
  • Дэвис, Д. «Packet Switching in Computer Networks». Nature, 1967.
  • Таненбаум, Э., Уэзеролл, Д. «Компьютерные сети». 5-е издание, 2012.
  • RFC 791 — Internet Protocol (IPv4), 1981.
  • RFC 2460 — Internet Protocol (IPv6), 1998.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →