소켓 직접 프로토콜

Sockets Direct Protocol

SDP(Sockets Direct Protocol)는 RDMA(Remote Direct Memory Access) 네트워크 패브릭을 통해 스트림 소켓을 지원하기 위한 전송 불가지론 프로토콜이다.SDP는 원래 InfiniBand Trade Association의 SWG(Software Working Group)에 의해 정의되었다.원래 InfiniBand (IB)를 위해 디자인된 [1]SDP는 현재 OpenFabrics Alliance에 의해 유지되고 있다.

SDP는 스트림 소켓(SOCK_STREAM)을 지원하기 위해 RDMA 패브릭에 표준 와이어 프로토콜을 정의하고 있으며, SDP는 고성능 제로 카피 데이터 전송을 위해 다양한 RDMA 네트워크 기능을 사용한다.SDP는 순수 유선 프로토콜 수준 규격으로 소켓 API나 구현 세부사항은 포함되지 않는다.

소켓 직접 프로토콜의 목적은 IP 상의 TCP 프로토콜에 대한 RDMA 가속 대안 제공이다.목표는 애플리케이션에 투명한 방식으로 이를 수행하는 것이다.

Solaris 10과 Solaris 11 Express는 SDP에 대한 지원을 포함한다. 몇몇 다른 Unix 운영 체제 변형들은 Sockets Direct Protocol에 대한 지원을 포함할 계획이다.윈도우는 윈독 다이렉트라고 불리는 서브시스템을 제공하며, 이 서브시스템은 SDP를 지원하는 데 사용될 수 있다.[2]

SDP 지원은 Solaris 및 Linux 운영 체제(OFED 1.4.2 및 1.5)에 배포된 애플리케이션을 위해 JDK 7 릴리스인 Standard Edition(2011년 7월)에 도입되었다.[3]Oracle Database 11g는 SDP를 통한 연결을 지원한다.[4]

소켓 직접 프로토콜은 스트림 소켓만 다루며, 시스템에 설치된 경우, RDMA 패브릭의 엔드포인트 사이의 스트림 연결을 위해 OS 상주 TCP 스택을 우회한다.다른 모든 소켓 유형(데이터그램, 원시, 패킷 등)은 Linux IP 스택에서 지원되며 표준 IP 인터페이스(즉, InfiniBand 패브릭의 IPoIB)를 통해 작동한다.IP 스택은 SDP 스택에 종속되지 않지만, SDP 스택은 로컬 IP 할당 및 끝점 식별을 위한 IP 주소 확인에 대한 IP 드라이버에 의존한다.

SDP는 호주 통신사 텔스트라가 자사의 3G 플랫폼 넥스트 G에서 스트리밍 모바일 TV를 제공하기 위해 사용하고 있다.

이 프로토콜은 최신 버전에서 OFED에 의해 사용되지[5] 않거나 유지되지 않았으므로 대안을 모색한다.유력한 제안은 Rsocket, Winsock 등이 될 것이다.

참조

  1. ^ "ANNEx A4: 소켓 다이렉트 프로토콜(SDP)".InfiniBand™ Architecture 릴리즈 1.2.1, 페이지 1215ff.InfiniBand Trade Association에서 PDF 다운로드, 2011년 10월 액세스
  2. ^ Winsock Direct: 2011년 10월에 접속된 시스템 영역 네트워크의 가치
  3. ^ Sockets Direct Protocol, Oracle Java 튜토리얼, 2011
  4. ^ "데이터베이스 서버에 대한 Infiniband 네트워크 통신을 위한 SDP 프로토콜 지원 구성".Oracle® Database Net Services 관리자 가이드, 2011년 10월 액세스
  5. ^ Tzipore Koren, "[ewg] SDP 상태? ( Linux-3.4.x용 ib_sdp 패치)" 2012년 4월 14일: "SDP가 더 이상 사용되지 않는가? - 더 이상 사용되지 않는가?"