Sockets Direct Protocol eller SDP er en transportagnostisk protokol til understøttelse af Remote Memory Access (RDMA) streamsockets på et "Fabric Network". SDP blev oprindeligt defineret af Software Working Group (SWG) fra InfiniBand Trade Association . Det blev oprindeligt udviklet til InfiniBand [1] . SDP vedligeholdes i øjeblikket af OpenFabric Alliance .
SDP står for standard Wire-protokollen i RDMA-fabrikken til understøttelse af stream-stik ( SOCK_STREAM ). SDP bruger forskellige funktioner i RDMA-netværket til at overføre data uden at kopiere ( Nul-kopi ). SDP er en ren wire protokol på specialiseringsniveau og går ikke til nogen socket API eller specifikke implementeringer.
Formålet med SDP er at levere et RDMA-accelereret alternativ til TCP på IP . Målet er at gøre dette på en måde, der er gennemsigtig for applikationen.
Solaris 10 og Solaris 11 Express inkluderer SDP-understøttelse. Nogle andre UNIX-lignende operativsystemer planlægger at inkludere SDP-understøttelse. Windows tilbyder Winsock Direct- undersystemet , som også kan bruges til at understøtte SDP. [2]
Support til SDP er også introduceret i JDK7-udgivelsen af Java-platformen for applikationer, der er udgivet til Solaris- og Linux -operativsystemerne . [3] Oracle Database 11g understøtter forbindelser over SDP. [fire]
SDP fungerer kun på stream-sockets og, hvis den er installeret på systemet, omgår TCP/IP-stakken for en streamforbindelse mellem ethvert endepunkt i RDMA-strukturen. Alle andre sockettyper understøttes af Linux IP-stakken og fungerer over standard IP-grænseflader. IP-stakken er ikke afhængig af SDP-stakken, og SDP-stakken er afhængig af IP-drivere til lokale IP-tildelinger og til løsning af IP-adresser i slutpunktsidentifikation.
SDP bruges af Telstra på sin Next G 3G-platform til at levere mobil-tv-streaming.
Understøttelse af denne protokol har været imod i de seneste udgivelser af OFED og leder efter alternativer. Sandsynlige forslag vil være RSOCKET, WINSOCK osv.