23-10-2023
Sockets Direct Protocol или SDP — это транспортно-агностический протокол для поддержания потока разъемов в материальной сети с помощью Удаленного доступа к памяти (RDMA). SDP первоначально определялась Software Working Group (SWG) из Торговой ассоциации InfiniBand. Первоначально она разрабатывалась для InfiniBand[1]. Сейчас SDP поддерживается Альянсом OpenFabric.
SDP обозначает стандартный проводной протокол на структуре 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 и т.д.
Sockets Direct Protocol.