Reliable Datagram Sockets

Reliable Datagram Sockets (RDS) — протокол передачи данных, разработанный совместно корпорацией Oracle и компанией SilverStorm в 2006 году, основан на аппаратных возможностях шины передачи данных InfiniBand. Протокол предусматривает возможность доставки датаграмм без установки соединения, обеспечивает высокоскоростную передачу данных и низкий уровень задержек в поддержку аппаратных возможностей Infiniband.

Разработка

Исследования в области улучшения производительности решений межпроцессного взаимодействия (IPC) и используемых для этого протоколов велись на протяжении нескольких лет. После того как двухлетний анализ уже существующих вариантов IPC продемонстрировал их неудовлетворительные показатели, было решено создать свой собственный механизм IPC на основе использования технологии zero-copy и протокола UDP. 31 октября 2006 года был опубликован пресс-релиз о начале внедрения RDS в продукты Oracle, а именно в Real Application Cluster версии 10g.

Протокол был включён в состав ядра Linux версии 2.6.30, выпущенного 9 июня 2009 года. Код был представлен некоммерческой организацией OpenFabrics Alliance (OFA)[1].

Обзор

RDS состоит из двух частей: механизма межпроцессного взаимодействия (IPC) и протокола передачи датаграмм UDP, то есть при помощи сетевого прокола реализуется обмен данными между распределёнными процессами. Ключевую роль здесь играет ориентация на использование шины InfiniBand и применение технологии zero-copy для ускорения операций копирования данных при их передаче. Благодаря использованию протокола без установки соединения, но с добавлением механизмов, обеспечивающих надежность доставки датаграмм, а также внедрению указанных технологий, производительность нового протокола по сравнению со стандартным протоколом гигабитного Ethernet возросла на 60 % (в идеальном случае). Кроме того, особое внимание было уделено переносимости и масштабировании: новый протокол, по заявлениям разработчиков, должен работать с сотнями тысяч конечных точек и десятками тысяч локальных процессов.

См. также

  • TCP
  • UDP
  • UDP Lite

Примечания

  1. Reliable Datagram Sockets (RDS) protocol support  (неопр.). Дата обращения: 28 сентября 2009. Архивировано 5 апреля 2012 года.

Ссылки

  • Официальный веб-сайт OpenFabrics Alliance  (англ.)
  • Oracle и SilverStorm объявляют о начале поставок решения Reliable Datagram Sockets (RDS) на базе InfiniBand для Oracle®Real Application Clusters 10g  (рус.)
  • What is RDS and why did we build it? — статья от разработчиков протокола на веб-сайте компании Oracle  (англ.)
  • Documentation/networking/rds.txt — описание структуры протокола  (англ.)
  • Reliable Datagram Sockets (RDS) (недоступная ссылка) — презентация, посвященная RDS  (англ.)
  • RDS and Oracle 10g RAC Update (недоступная ссылка) — презентация, посвященная RDS  (англ.)
  • Релиз Linux ядра 2.6.30. Обзор новшеств  (рус.)
Перейти к шаблону «IPstack»
Основные протоколы TCP/IP по уровням модели OSI
Физический
Канальный
Сетевой
Транспортный
Сеансовый
Представления
Прикладной
Другие прикладные