Введение

Протокол удалённых вычислений низкого уровня

Протокол Sockets Direct Protocol (SDP) — это транспортно-независимый протокол, обеспечивающий поддержку потоковых сокетов через сети с удалённым прямым доступом к памяти (RDMA). SDP был первоначально разработан Рабочей группой по программному обеспечению (SWG) Торговой ассоциации InfiniBand. Изначально созданный для InfiniBand (IB), в настоящее время SDP поддерживается альянсом OpenFabrics Alliance.

Протокол

SDP определяет стандартный сетевой протокол поверх RDMA-ткани для поддержки потоковых сокетов (SOCK STREAM). SDP использует различные сетевые возможности RDMA для высокопроизводительных передач данных без копирования. SDP является спецификацией протокола исключительно сетевого уровня и не затрагивает особенности API сокетов или реализации. Цель протокола Sockets Direct – предоставить альтернативу протоколу TCP на IP с ускорением посредством RDMA. Эта задача решается таким образом, чтобы быть прозрачным для приложения. Solaris 10 и Solaris 11 Express включают поддержку SDP. Ряд других вариантов Unix-подобных операционных систем планируют добавить поддержку протокола Sockets Direct. Windows предлагает подсистему Winsock Direct, которую можно использовать для поддержки SDP. Поддержка SDP была добавлена в JDK 7 выпуска Java Platform, Standard Edition (июль 2011 г.) для приложений, развернутых в операционных системах Solaris и Linux (OFED 1.4.2 и 1.5). Oracle Database 11g поддерживает подключение через SDP. Sockets Direct Protocol работает только с потоковыми сокетами и, будучи установленным в системе, обходит резидентный в ОС стек TCP для потоковых соединений между любыми конечными точками в RDMA-ткани. Все остальные типы сокетов (например, датаграммные, raw, пакетные и т.д.) поддерживаются стеком IP Linux и работают через стандартные IP-интерфейсы (например, IPoIB на InfiniBand-тканях). Стек IP не зависит от стека SDP; однако, стек SDP зависит от IP-драйверов для локального назначения IP-адресов и для разрешения IP-адресов для идентификации конечных точек. SDP используется австралийской телекоммуникационной компанией Telstra на своей 3G-платформе Next G для трансляции потокового мобильного телевидения. Этот протокол устарел или больше не поддерживается OFED в последних версиях, поэтому рекомендуется искать альтернативные решения. Возможные варианты – RSocket, Winsock и другие.