프로토콜 시퀀스 선택

프로토콜 시퀀스는 네트워크 운영 체제가 네트워크를 통해 다른 컴퓨터와 통신하는 데 사용하는 언어입니다. 더 구체적인 용어로 RPC 애플리케이션은 RPC 프로토콜, 전송 프로토콜 및 네트워크 프로토콜의 조합을 나타내는 문자열을 지정해야 합니다.

Microsoft RPC는 세 가지 RPC 프로토콜을 지원합니다.

  • NCACN(네트워크 컴퓨팅 아키텍처 연결 지향 프로토콜)
  • NCADG(네트워크 컴퓨팅 아키텍처 데이터그램 프로토콜)
  • NCALRPC(네트워크 컴퓨팅 아키텍처 로컬 원격 프로시저 호출)

RPC 애플리케이션은 NCALRPC 프로토콜을 사용하여 클라이언트 프로그램이 실행되는 동일한 컴퓨터에서 실행되는 서버 프로그램에서 제공하는 프로시저를 호출할 수 있습니다. 이는 지금까지 동일한 컴퓨터의 다른 프로세스에서 기능을 호출하는 가장 효율적인 방법입니다.

애플리케이션에서 사용하는 전송 및 네트워크 프로토콜은 네트워크에서 지원하는 프로토콜에 따라 달라집니다. 오늘날 인터넷을 포함한 많은 네트워크가 TCP/IP를 지원합니다. 다른 일반적인 전송 및 네트워크 프로토콜은 IPX/SPX, NetBIOS 및 AppleTalk DSP입니다. Microsoft RPC는 이러한 및 기타 전송 및 네트워크 프로토콜을 지원합니다. 전체 목록은 프로토콜 시퀀스 상수를 참조하세요.

애플리케이션에서 자동 바인딩 핸들을 사용하는 경우 프로토콜 시퀀스를 지정할 필요가 없습니다. 암시적 또는 명시적 핸들을 사용하는 경우 프로토콜 시퀀스를 가져오거나 지정해야 합니다. 각 분산 시스템은 배포할 환경을 검사하여 해당 환경에 가장 적합한 프로토콜 시퀀스를 결정해야 합니다.

모든 프로토콜 시퀀스에 동등한 기능이 있는 것은 아닙니다. 개발자는 선택한 프로토콜 시퀀스가 필요한 기능을 지원하는지 확인해야 합니다. 일반적으로 로컬 통신 및 원격 통신을 위한 ncacn_ip_tcp 또는 ncacn_httpncalrpc를 사용하는 것이 좋습니다. 모든 환경에서 작동하며 최적의 성능을 제공하며 필요한 모든 모범 사례 기능을 지원합니다.

또한 클라이언트는 Active Directory, 레지스트리, 설치 프로그램에서 만들고 초기화한 환경 변수, 애플리케이션별 구성 파일 또는 프로그램 소스 코드의 리터럴 문자열에서 가져오는 프로토콜 시퀀스 정보를 지정할 수 있습니다.

클라이언트 프로그램에 유효한 프로토콜 시퀀스 문자열이 있으면 해당 정보를 RpcStringBindingComposeRpcBindingFromStringBinding 함수에 전달하여 바인딩 핸들을 만들 수 있습니다.