Sockets Direct Protocol (Sockets Direct Protocol)

Перейти к навигации Перейти к поиску

Sockets Direct Protocol или SDP — это транспортно-агностический протокол для поддержания потоковых сокетов Удаленного доступа к памяти (RDMA) в "фабричной сети" (Fabric Network). SDP первоначально определялась Software Working Group (SWG) из Торговой ассоциации InfiniBand. Первоначально она разрабатывалась для InfiniBand[1]. Сейчас SDP поддерживается Альянсом OpenFabric.

SDP обозначает стандартный проводной протокол (Wire protocol) на фабрике RDMA для поддержания потоковых сокетов (SOCK_STREAM). SDP использует различные функции RDMA сети для передачи данных без копирования (Zero-copy). SDP это чистый проводной протокол на уровне специализации и не идет ни в один сокет API или его специфических реализаций.

Цель SDP - предоставлять RDMA-ускоренную альтернативу к TCP на IP. Целью является сделать это в такой форме, которая была бы прозрачна для приложения.

Solaris 10 и Solaris 11 Express включают поддержку SDP. Некоторые другие UNIX подобные операционные системы планируют включить поддержку SDP. Windows предлагает подсистему Winsock Direct, которая может использоваться и для поддержания SDP.[2]

Поддержка SDP также представлена в Выпуске JDK7 платформы Java для приложений, выпущенных для операционных систем Solaris и Linux.[3] База данных Oracle 11g поддерживает соединения через SDP.[4]

SDP оперирует только с потоковыми сокетами и, если он установлен в систему, обходит стек TCP/IP для потокового соединения между любой конечной точке в структуре RDMA. Все другие типы сокетов поддерживаются стеком IP в Linux системах и оперируют через стандартные интерфейсы IP. Стек IP не имеет зависимости на стек SDP, а стек SDP зависим от IP драйверов для локальных назначений IP и для разрешений IP адресов в идентификации конченой точки.

SDP используется в Telstra на её 3G платформе Next G для доставки потокового мобильного телевидения.

Против поддержки этого протокола в последних выпусках выступает OFED и ищет альтернативы. Вероятными предложениями выступят RSOCKET, WINSOCK и т.д.

  1. "ANNEX A4: SOCKETS DIRECT PROTOCOL (SDP)". In InfiniBand™ Architecture Release 1.2.1, p. 1215ff. PDF download from InfiniBand Trade Association Архивная копия от 21 декабря 2015 на Wayback Machine, accessed October 2011
  2. Winsock Direct: The Value of System Area Networks Архивная копия от 8 марта 2016 на Wayback Machine, accessed October 2011
  3. Understanding the Sockets Direct Protocol Архивная копия от 27 сентября 2011 на Wayback Machine, Oracle Java Tutorials, 2011
  4. "Configuring SDP Protocol Support for Infiniband Network Communication to the Database Server". In Oracle® Database Net Services Administrator's Guide Архивная копия от 28 сентября 2011 на Wayback Machine, accessed October 2011