Jump to content

Протокол передачи данных на основе UDP

ВНЕ
Разработчик(и) Юнхун Гу
Стабильная версия
4.11 / 23 февраля 2013 г. ( 23 февраля 2013 г. )
Репозиторий исходная кузня .сеть /проекты /доб. /
Написано в С++
Тип Протокол (вычисления)
Лицензия Лицензия БСД
Веб-сайт доб. .sourceforge .сеть

Протокол передачи данных на основе UDP ( UDT ) — это высокопроизводительный протокол передачи данных, предназначенный для передачи больших объемных наборов данных по высокоскоростным глобальным сетям . Такие настройки обычно невыгодны для более распространенного протокола TCP .

Первоначальные версии были разработаны и протестированы в очень высокоскоростных сетях (1 Гбит/с, 10 Гбит/с и т. д.); однако последние версии протокола были обновлены для поддержки обычного Интернета. Например, протокол теперь поддерживает настройку соединения рандеву, что является желательной функцией для обхода межсетевых экранов NAT с использованием UDP .

UDT имеет реализацию с открытым исходным кодом, которую можно найти на SourceForge . Это одно из самых популярных решений для поддержки высокоскоростной передачи данных, которое входит в состав многих исследовательских проектов и коммерческих продуктов.

UDT был разработан Юнхонг Гу. [1] во время учебы в аспирантуре в Национальном центре интеллектуального анализа данных (NCDM) Университета Иллинойса в Чикаго в лаборатории доктора Роберта Гроссмана. Доктор Гу продолжает поддерживать и совершенствовать протокол после окончания учебы.

Проект UDT стартовал в 2001 году, когда недорогие оптические сети стали популярными и привели к более широкому осознанию проблем эффективности TCP в высокоскоростных глобальных сетях. Первая версия UDT, также известная как SABUL (Simple Available Bandwidth Utility Library), была разработана для поддержки массовой передачи научных данных по частным сетям. SABUL использовал UDP для передачи данных и отдельное TCP-соединение для управляющих сообщений.

В октябре 2003 года NCDM добился передачи данных со скоростью 6,8 гигабит в секунду из Чикаго , США, в Амстердам , Нидерланды . За 30-минутный тест они передали примерно 1,4 терабайта данных.

Позже SABUL был переименован в UDT, начиная с версии 2.0, выпущенной в 2004 году. UDT2 удалил управляющее соединение TCP в SABUL и использовал UDP как для данных, так и для управляющей информации. UDT2 также представил новый алгоритм управления перегрузкой, который позволил протоколу работать «справедливо и дружелюбно» с параллельными потоками UDT и TCP.

UDT3 (2006 г.) распространил использование протокола на обычный Интернет. Контроль перегрузки также был настроен для поддержки относительно низкой пропускной способности. UDT3 также значительно снизил использование системных ресурсов (ЦП и памяти). Кроме того, UDT3 позволяет пользователям легко определять и устанавливать собственные алгоритмы контроля перегрузки.

В UDT4 (2007 г.) было представлено несколько новых функций для лучшей поддержки высокого уровня параллелизма и обхода брандмауэра. UDT4 позволял нескольким соединениям UDT привязываться к одному и тому же порту UDP, а также поддерживал настройку рандеву-соединения для упрощения пробивки отверстий UDP .

Пятая версия протокола в настоящее время находится на стадии планирования. Возможные функции включают возможность поддержки нескольких независимых сеансов через одно соединение.

Более того, поскольку отсутствие функции безопасности для UDT было проблемой при его первоначальной реализации в коммерческой среде, Бернардо (2011) разработал архитектуру безопасности для UDT в рамках своей докторской диссертации. Однако эта архитектура совершенствуется для поддержки UDT в различных сетевых средах (например, в оптических сетях).

Архитектура протокола

[ редактировать ]

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

Признание

[ редактировать ]

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

AIMD с уменьшающимся увеличением

[ редактировать ]

UDT использует алгоритм управления перегрузкой в ​​стиле AIMD (аддитивное увеличение, мультипликативное уменьшение). Параметр увеличения обратно пропорционален доступной полосе пропускания (оценивается с использованием метода пар пакетов), поэтому UDT может быстро проверять высокую пропускную способность и может замедляться для большей стабильности, когда она приближается к максимальной пропускной способности. Коэффициент уменьшения представляет собой случайное число от 1/8 до 1/2. Это помогает уменьшить негативное влияние потери синхронизации.

В UDT передача пакетов ограничивается как контролем скорости, так и контролем окна. Скорость отправки обновляется алгоритмом AIMD, описанным выше. Окно перегрузки, как вторичный механизм управления, устанавливается в соответствии со скоростью поступления данных на стороне получателя.

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

[ редактировать ]

Реализация UDT предоставляет набор переменных, связанных с контролем перегрузки, в классе C++ и позволяет пользователям определять набор функций обратного вызова для управления этими переменными. Таким образом, пользователи могут переопределить алгоритм управления, переопределив некоторые или все эти функции обратного вызова. Большинство алгоритмов управления TCP можно реализовать с использованием этой функции, используя менее 100 строк кода.

Настройка соединения для рандеву

[ редактировать ]

Помимо традиционной настройки соединения клиент/сервер (вызывающая сторона/прослушиватель, где прослушиватель ожидает соединения и потенциально принимает несколько подключающихся вызывающих абонентов), UDT также поддерживает новый режим установки соединения рандеву. В этом режиме обе стороны прослушивают свой порт и подключаются к одноранговому узлу одновременно, то есть они обе подключаются друг к другу. Таким образом, обе стороны должны использовать один и тот же порт для подключения, и обе стороны эквивалентны ролям (в отличие от ролей слушателя/вызывающего абонента в традиционной настройке). Рандеву широко используется для обхода брандмауэра, когда оба узла находятся за брандмауэрами.

Используйте сценарии

[ редактировать ]

UDT широко используется в высокопроизводительных вычислениях для поддержки высокоскоростной передачи данных по оптическим сетям. Например, GridFTP , популярный инструмент передачи данных в грид-вычислениях, имеет UDT в качестве протокола передачи данных.

В обычном Интернете UDT использовался во многих коммерческих продуктах для быстрой передачи файлов по глобальным сетям .

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

Оценка возможных механизмов безопасности

[ редактировать ]

UDT считается современным протоколом, отвечающим требованиям инфраструктуры для высокоскоростной передачи данных. сети. Однако его развитие создает новые уязвимости, поскольку, как и многие другие протоколы, он полагается исключительно на существующие механизмы безопасности для текущих протоколов, таких как протокол управления передачей (TCP) и UDP.

Исследование, проведенное доктором Данило Валеросом Бернардо из Технологического университета Сиднея , членом Австралийской технологической сети , сосредоточено на практических экспериментах с UDT с использованием предложенных ими механизмов безопасности и изучении использования других существующих механизмов безопасности, используемых в TCP/UDP для UDT, получил интересные отзывы в различных научных сообществах по сетям и безопасности.

Для анализа механизмов безопасности они проводят формальное доказательство правильности, чтобы помочь им определить их применимость, используя логику композиции протокола (PCL). Этот подход является модульным и включает в себя [ нужны разъяснения ] отдельное подтверждение каждого раздела протокола и предоставление информации о сетевой среде, в которой каждый раздел может быть надежно использован. Более того, доказательство справедливо для множества стратегий восстановления после сбоев и других вариантов реализации и конфигурации. Они заимствовали свою технику из PCL на TLS и Kerberos, описанных в литературе. Они работают над разработкой и проверкой своей архитектуры безопасности, используя системы перезаписи и автоматы.

Результатом их работы, которая является первой в литературе, является более надежное теоретическое и практическое представление архитектуры безопасности UDT, пригодной для работы с другими высокоскоростными сетевыми протоколами.

Производные работы

[ редактировать ]

Проект UDT стал основой для проекта SRT , который использует надежность передачи потокового видео в реальном времени через общедоступный Интернет.

Команда UDT трижды выигрывала престижный конкурс Bandwidth Challenge во время ежегодной конференции ACM/IEEE Supercomputing Conference , ведущей мировой конференции по высокопроизводительным вычислениям, сетям, хранению данных и анализу. [2] [3] [4]

В SC06 (Тампа, Флорида) команда передала набор астрономических данных со скоростью 8 Гбит/с с диска на диск из Чикаго, штат Иллинойс, в Тампу, Флорида, с помощью UDT. На выставке SC08 (Остин, Техас) команда продемонстрировала использование UDT для сложной высокоскоростной передачи данных с участием различных распределенных приложений через систему из 120 узлов в четырех центрах обработки данных в Балтиморе, Чикаго (2) и Сан-Диего. На выставке SC09 (Портленд, Орегон) совместная группа из NCDM, Naval Research Lab и iCAIR продемонстрировала приложения облачных вычислений с интенсивным использованием данных на базе UDT.

См. также

[ редактировать ]

Литература

[ редактировать ]
  • Бернардо, Д.В. и Хоанг, Д.Б.; «Эмпирическое исследование: экспериментирование и реализация высокоскоростной протокольной передачи данных для GRID» Материалы 25-й Международной конференции IEEE по семинарам по передовым информационным сетям и приложениям, март 2011 г., Сингапур.
  • Юнхонг Гу и Роберт Л. Гроссман, UDT: Передача данных на основе UDP для высокоскоростных глобальных сетей, Компьютерные сети (Elsevier). Том 51, выпуск 7. Май 2007 г.
  1. ^ «Юньхун Гу» .
  2. NCDM выигрывает конкурс пропускной способности на SC06, HPCWire, 24 ноября 2006 г.
  3. ^ Группы UIC выигрывают награду Bandwidth Challenge, HPCWire, 20 ноября 2008 г.
  4. ^ Испытательный стенд Open Cloud выиграл конкурс пропускной способности на SC09, 8 декабря 2009 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 04883cc30ba6250b3fd3ab1c91676ed6__1718667540
URL1:https://arc.ask3.ru/arc/aa/04/d6/04883cc30ba6250b3fd3ab1c91676ed6.html
Заголовок, (Title) документа по адресу, URL1:
UDP-based Data Transfer Protocol - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)