1. RPC (Remote Procedure Call, 원격 프로시져 호출)
ㅇ 마치 로컬에 있는 것처럼 원격 프로시져/프로그램을 호출하여 결과 만을 돌려받는 것
- 즉, 함수적 호출을 이용하는 분산 처리 구조
ㅇ 일반적으로,
- 사용자 프로그램이 네트워크 동작을 의식할 필요 없이,
- 원격지 다른 시스템과 상호처리 가능한 클라이언트/서버 형태의 인터페이스 프로토콜/메커니즘
2. 특징 및 참고사항
ㅇ 두 기계간의 직접 통신
- 어떤 컴퓨터의 프로그램에서 다른 컴퓨터에서 동작하고있는 프로그램을 직접 불러
내게되며, 이 기능에 의해 두 머신의 프로그램 간에 직접 통신이 가능
- 실행결과 값은 통신망을 통해서 전달 ☞ IPC(InterProcess Communication)
ㅇ 분산 프로그램의 작성
- RPC에 의해 프로그래머들은 네트워크에 대한 세부사항을 몰라도 분산 프로그램을
작성할 수 있게됨
ㅇ Local Procedure Call
- 원격 시스템이 아닌 국부적 호출인 경우에는 Local Procedure Call이라고 함
ㅇ rpcinfo
- 원격에서 RPC 관련 정보를 얻을 수 있는 유닉스 프로그램
ㅇ RPC 서비스 번호
- RPC 서비스의 식별을 위하여 4 바이트의 서비스 번호를 부여 (111번)
ㅇ 주요 사용 : NFS 등
ㅇ 1980년대 후반에 UNIX를 기반으로 개발되었으나,
- 대규모 적용이 어려운 성능 열화 문제, 호환성 미비, 보안 취약점을 가지는 등으로,
- 폐쇄적인 환경에서는 나름 쓸모가 있으나, 규모가 커지면 별로 쓰임 없음
※ 참고용어 ☞ 분산 컴퓨팅 환경
3. 주요 RPC 버젼들 및 표준
ㅇ 유닉스 계열 (ONC RPC)
- SUN사에서 개발, 후에 ONC에서 RPC로 표준화한 버젼
- NFS(Network File System), NIS(Network Information System), AutoMountd 등
분산 처리 기능을 실현하는 소프트웨어에서 주로 사용
ㅇ MS 시스템 (DCE RPC)
- DCE(Distributed Computing Environment)의 일부로써 OSF에서 SUN사가 개발한
RPC 후속 프로토콜과 호환되는 버젼
ㅇ 표준
- RFC 1057
- ISO/IEC CD 11578 N6561 (ISO Remote Procedure Call Specification)(1991)