처음부터 차근차근
RPC 본문
RPC
RPC란 원격 절차(프로시저) 호출이다.
=Remote Procedure Call
프로세스간 통신을 위해 사용하는 *IPC 방법의 한 종류이다.
* IPC(Inter Process Communication) : 프로세스간 데이터 공유
RPC는 원격 프로세스에 접근해서 프로시저 or 함수를 호출해서 사용하는 방식이다.
일반적으로는 프로세스는 자신의 주소공간 안에 존재하는 함수만 호출할 수 있는데, RPC를 이용하면 다른 주소공간에서 동작하는 프로세스의 함수를 실행할 수 있게 된다.
그래서 RPC는 클라이언트-서버를 베이스로 한 강력한 기술이라 할 수 있다.
RPC는 포트맵퍼(portmapper)에 의해 서비스 항목과 프로세스를 연결하고,
서비스 프로세스의 결과는 RPC 포트맵퍼에 의해 다시 클라이언트에게 전달한다.
RPC에서 사용하는 통신 기법 :
메시지 기반 통신 기법(message based communication scheme)
원격 시스템간 효율적으로 자료를 공유할 수 있게 한다.
RPC 메시지 구성(xml)
<?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
<params>
<param>
<value><int>40</int></value>
</param>
<param>
<value><int>20</int></value>
</param>
</params>
</methodCall>
methodName : 사용할 함수의 이름
param : 파라미터. 함수에 전달할 인자들
실습
apt search rpcbind : RPC 서버 패키지 확인
service rpcbind restart : RPC 서버 구동
rpcinfo : RPC 서버 동작 확인
RPC 기능 구현
*XDR 코드 작성
*XDR(= External Data Representation) : 컴퓨터 네트워크용 종단간의 메시지 형태를 표현한 것
서버 동작
클라이언트 동작
RPC 관리 서버에서 제거
출처 : 운영체제(21-1학기)김병국교수 강의 내용 변형 및 요약
'Linux & Unix' 카테고리의 다른 글
Virtual Box 공유 폴더 만들기, 명령어 정리 (0) | 2022.04.06 |
---|---|
라이브러리와 아카이브, 에러 처리 (0) | 2022.03.01 |
RC4와 AES, TELNET서버 구동, 로그 서비스 (0) | 2022.02.27 |
프로세스 제어와 제한, 우선순위, 암호화 (0) | 2022.02.26 |
chown() (0) | 2022.02.25 |