RPC
"Remote Procedure Call"의 약자입니다.
RPC는 한 컴퓨터가 다른 컴퓨터를 대신해 네트워크를 통해 코드를 실행하도록 지시하는 메시지입니다. 이를 통해 한 컴퓨터에서 로컬로 실행 중인 프로그램이 특정 작업을 수행하는 코드 블록인 프로시저를 서버의 다른 프로그램으로 넘길 수 있으며, 해당 프로그램은 결과를 반환합니다. 그런 다음 RPC를 요청한 프로그램은 원격 프로시저의 결과를 로컬에서 실행한 프로시저의 결과와 같은 방식으로 처리합니다.
RPC는 여러 클라이언트 컴퓨터가 서버에 연결하여 지시를 보내고 데이터를 받을 수 있는 클라이언트-서버 모델을 사용합니다. 프로그램이 RPC를 요청할 때는 서버에 실행할 프로시저와 실행 방법을 지시하는 매개변수 집합을 포함합니다. 예를 들어 클라이언트 컴퓨터가 DNS 서버에 RPC 메시지를 보내면 매개변수로 확인하려는 도메인 이름을 포함합니다. 네트워크 프린터로 인쇄 작업을 보내는 또 다른 메시지에는 용지 크기와 방향 같은 인쇄 설정이 매개변수로 포함됩니다.
단일 RPC 프로토콜이 존재하는 것은 아닙니다. 대신 RPC라는 개념은 원격 코드 실행을 가능하게 하는 여러 프로토콜에서 사용되는 개념입니다. 일반적인 RPC 프로토콜로는 XML 마크업을 사용해 RPC 형식을 지정하는 XML-RPC와 JSON을 사용해 RPC 형식을 지정하는 JSON-RPC가 있습니다. 하지만 모든 RPC 프로토콜은 비슷한 방식으로 메시지를 보냅니다. 먼저 클라이언트 프로그램은 프로시저를 대신하는 스텁이라는 클라이언트 측 코드에 프로시저 호출을 요청합니다. 스텁은 서버와 통신하여 실행할 프로시저와 사용할 매개변수를 전달합니다. 서버는 프로시저를 실행하고 그 결과를 스텁으로 보내며, 스텁은 RPC를 요청한 프로그램에 결과를 반환합니다.
지식 테스트하기