Solaris OS용 Sun Cluster 데이터 서비스 개발 안내서

CRNP 프로토콜 개요

CRNP는 7개 계층의 표준 OSI (Open System Interconnect) 프로토콜 스택에서 응용 프로그램, 표현 및 세션 계층을 정의합니다. 전송 계층은 TCP여야 하며 네트워크 계층은 IP여야 합니다. CRNP는 데이터 링크 및 물리 계층과 무관합니다. CRNP에서 교환되는 모든 응용 프로그램 계층 메시지는 XML 1.0에 기초합니다.

CRNP 프로토콜의 의미

클라이언트는 등록 메시지(SC_CALLBACK_RG)를 서버에 보냄으로써 통신을 시작합니다. 이 등록 메시지는 클라이언트가 알림을 받으려는 이벤트 유형과 이벤트를 수신할 포트를 지정합니다. 등록 연결 및 지정한 포트의 소스 IP가 함께 콜백 주소를 구성합니다.

클러스터 내에서 클라이언트에 대한 해당 이벤트가 생성될 때마다 서버는 콜백 주소(IP 및 포트)의 클라이언트에 연결되어 이벤트(SC_EVENT)를 클라이언트에 전달합니다. 서버는 클러스터 자체 내에서 실행되며 높은 수준의 가용성을 가집니다. 서버는 클러스터가 재부트된 후에도 지속되는 저장소에 클라이언트 등록을 저장합니다.

클라이언트는 등록 메시지(REMOVE_CLIENT 메시지를 포함하는 SC_CALLBACK_RG)를 서버에 보내 등록을 취소합니다. 클라이언트는 SC_REPLY 메시지를 서버로부터 받은 후에 연결을 닫습니다.

다음 다이어그램은 클라이언트와 서버 간의 통신 흐름을 보여줍니다.

그림 12–2 클라이언트와 서버 간의 통신 흐름

클라이언트와 서버 간의 통신 흐름을 보여주는 흐름도