Sockets Direct Protocol
Encyclopedia
The Sockets Direct Protocol (SDP) is a networking protocol originally defined by the Software Working Group (SWG) of the InfiniBand Trade Association
. Originally designed for InfiniBand
(IB) , SDP now has been redefined as a transport agnostic protocol for Remote Direct Memory Access
(RDMA) network fabrics. SDP defines a standard wire protocol over an RDMA fabric to support stream sockets (SOCK_STREAM). SDP uses various RDMA network features for high-performance zero-copy
data transfers. SDP is a pure wire-protocol level specification and does not go into any socket API or implementation specifics.
The purpose of the Sockets Direct Protocol is to provide an RDMA accelerated alternative to the TCP
protocol on IP
. The goal is to do this in a manner which is transparent to the application.
Today, Sockets Direct Protocol for the Linux
operating system is part of the OpenFabrics Enterprise Distribution (OFED), a collection of RDMA networking protocols for the Linux operating system. OFED is managed by the OpenFabrics Alliance
. Many standard Linux distributions include the current OFED.
Oracle Solaris 10 and Oracle Solaris 11 Express also include support for SDP. Several other UNIX operating system variants plan to include support for Sockets Direct Protocol. Microsoft Windows offers a subsystem called Winsock Direct, which could be used to support SDP.
SDP support was introduced to the JDK 7 release of the Java Platform, Standard Edition (July 2011) for applications deployed in the Solaris Operating System and on Linux operating systems (OFED 1.4.2 and 1.5). Oracle Database 11g supports connection over SDP.
Sockets Direct Protocol only deals with stream sockets, and if installed in a system, bypasses the OS resident TCP stack for stream connections between any endpoints on the RDMA fabric. All other socket types (such as datagram, raw, packet, etc.) are supported by the Linux IP stack and operate over standard IP interfaces (i.e., IPoIB on InfiniBand fabrics). The IP stack has no dependency on the SDP stack; however, the SDP stack depends on IP drivers for local IP assignments and for IP address resolution for endpoint identifications.
SDP is used by the Australian telecommunications company Telstra
on their 3G
platform Next G
to deliver streaming mobile TV.
InfiniBand Trade Association
The InfiniBand Trade Association is the standards organization that defines and maintains the InfiniBand specification. It is an industry consortium....
. Originally designed for InfiniBand
InfiniBand
InfiniBand is a switched fabric communications link used in high-performance computing and enterprise data centers. Its features include high throughput, low latency, quality of service and failover, and it is designed to be scalable...
(IB) , SDP now has been redefined as a transport agnostic protocol for Remote Direct Memory Access
Remote Direct Memory Access
In computing, remote direct memory access is a direct memory access from the memory of one computer into that of another without involving either one's operating system...
(RDMA) network fabrics. SDP defines a standard wire protocol over an RDMA fabric to support stream sockets (SOCK_STREAM). SDP uses various RDMA network features for high-performance zero-copy
Zero-copy
"Zero-copy" describes computer operations in which the CPU does not perform the task of copying data from one memory area to another. This is most often used to save on processing power and memory use when sending files over a network.- Principle :...
data transfers. SDP is a pure wire-protocol level specification and does not go into any socket API or implementation specifics.
The purpose of the Sockets Direct Protocol is to provide an RDMA accelerated alternative to the TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
protocol on IP
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...
. The goal is to do this in a manner which is transparent to the application.
Today, Sockets Direct Protocol for the Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
operating system is part of the OpenFabrics Enterprise Distribution (OFED), a collection of RDMA networking protocols for the Linux operating system. OFED is managed by the OpenFabrics Alliance
OpenFabrics Alliance
The OpenFabrics Alliance is a non-profit organization that evangelizes remote direct memory access switched fabric technologies for server and storage connectivity...
. Many standard Linux distributions include the current OFED.
Oracle Solaris 10 and Oracle Solaris 11 Express also include support for SDP. Several other UNIX operating system variants plan to include support for Sockets Direct Protocol. Microsoft Windows offers a subsystem called Winsock Direct, which could be used to support SDP.
SDP support was introduced to the JDK 7 release of the Java Platform, Standard Edition (July 2011) for applications deployed in the Solaris Operating System and on Linux operating systems (OFED 1.4.2 and 1.5). Oracle Database 11g supports connection over SDP.
Sockets Direct Protocol only deals with stream sockets, and if installed in a system, bypasses the OS resident TCP stack for stream connections between any endpoints on the RDMA fabric. All other socket types (such as datagram, raw, packet, etc.) are supported by the Linux IP stack and operate over standard IP interfaces (i.e., IPoIB on InfiniBand fabrics). The IP stack has no dependency on the SDP stack; however, the SDP stack depends on IP drivers for local IP assignments and for IP address resolution for endpoint identifications.
SDP is used by the Australian telecommunications company Telstra
Telstra
Telstra Corporation Limited is an Australian telecommunications and media company, building and operating telecommunications networks and marketing voice, mobile, internet access and pay television products and services....
on their 3G
3G
3G or 3rd generation mobile telecommunications is a generation of standards for mobile phones and mobile telecommunication services fulfilling the International Mobile Telecommunications-2000 specifications by the International Telecommunication Union...
platform Next G
Next G
Next G is a third generation mobile telecommunication network operated by Telstra in Australia.-Background:After a review, Telstra announced a plan to upgrade its ageing networks and systems; which includes a new 3G network to replace the then current CDMA mobile network.-Construction:The network...
to deliver streaming mobile TV.