Remote Procedure Call (RPC)

1. 개요

원격 프로 시저 호출 (RPC)은 네트워크의 세부 사항을 이해할 필요없이 네트워크상의 다른 컴퓨터에있는 프로그램에서 서비스를 요청하는 데 사용할 수있는 프로토콜. 프로 시저 호출은 함수 호출 또는 서브 루틴 호출이라고도 한다.

RPC는 클라이언트 - 서버 모델을 사용. 요청하는 프로그램은 클라이언트이고 서비스 제공 프로그램은 서버이다. 일반 또는 로컬 프로 시저 호출과 마찬가지로 RPC는 원격 프로 시저의 결과가 반환 될 때까지 요청 프로그램을 일시 중단해야하는 동기 작업. 그러나 동일한 주소 공간을 공유하는 경량 프로세스 또는 스레드를 사용하면 여러 RPC를 동시에 수행 할 수 있다.

1.1 RPC message procedure

RPC 프레임 워크를 사용하는 실행 가능한 프로그램으로 컴파일하면 RPC 코드의 대표 역할을하는 컴파일 된 코드에 stub이 포함된다. 프로그램이 실행되고 프로 시저 호출이 실행되면 stub은 요청을 받아 로컬 컴퓨터의 클라이언트 런타임 프로그램에 전달.

  1. 클라이언트 런타임 프로그램은 원격 컴퓨터 및 서버 응용 프로그램의 주소를 지정하는 방법을 알고 원격 절차를 요청하는 네트워크를 통해 메시지를 보냄.
  2. 마찬가지로 서버에는 원격 프로 시저 자체와 인터페이스하는 런타임 프로그램과 stub 포함.
  3. 응답 요청 프로토콜은 동일한 방식으로 반환.
1.2 클라이언트 - 서버 통신을위한 RPC 모델 및 대체 방법

여러 가지 RPC 모델과 분산 컴퓨팅 구현이 있다. 널리 사용되는 모델 및 구현은 Open Software Foundation의 DCE (Distributed Computing Environment). RPC는 네트워크 통신의 Open Systems Interconnection 모델에서 전송 계층과 응용 프로그램 계층에 걸쳐 있다. RPC를 사용하면 네트워크에서 여러 프로그램을 배포하는 응용 프로그램을보다 쉽게 ​​개발할 수 있다.


Improve this page