티스토리 뷰
의미 : 백과사전
================================================================
원격 프로시저 호출(Remote procedure call, RPC)은 컴퓨터 프로그램이 다른 주소 공간에서 원격 제어를 위한 프로그래머의 세세한 코딩 없이 함수나 프로시저의 실행을 허용하는 기술이다. 다시 말해, 프로그래머는 함수가 실행 프로그램에 로컬 위치에 있든 원격 위치에 있든 간에 반드시 동일한 코드를 짜게 된다.
어떠한 소프트웨어가 객체 지향의 원칙을 사용하여 프로그래밍 때, RPC는 원격 호출(remote invocation) 또는 원격 메소드 호출(remote method invocation)이라고 일컫는다.
가끔 ONC RPC와 DCE/RPC와 같은 비호환 대상을 수행하기 위해 쓰이는 다른 수많은 기술이 있다.
================================================================
The RPC UDP and TCP frames have a structure similar to the following example:
The UDP version is actually an NFS frame that uses Unix for authentication (hence the extra fields) and does not use an authentication verifier.
The RPC Call message has the following fields:
- Transaction ID - matches RPC requests and replies.
- Sending Direction Indicator
- RPC version number - currently the version is 4 for connectionless RPC (using UDP) and 5 for connection-oriented RPC. An extra field is added for connection-oriented RPC for the minor protocol version ('0' or '1').
- Remote Program Number - issued by Sun (rpc@sun.com)
- Remote Program Version Number - version of the program
- Remote Procedure Number - the number of the procedure being called. This number matches the Requests and the Replies and is a 4-byte field containing an 8 digit hexadecimal number.
- Remote Protocol Number - the first 4 least significant bits are used for this. The other bits are reserved.
Sun has control over program numbers 0x00000000 to 0x1fffffff. The range 0x20000000 to 0x3fffffff is for user use when testing new applications. Other ranges above are given out in blocks of 0x20000000.
The following table lists some of the more common Program call numbers that Sun have assigned in their range:
Number | Program | Explanation |
0x00100000 | portmapper | portmap sunrpc. Manages use of transport ports. Other Lookup services could be used here. |
0x00100001 | rstat_svc | Remote statistics. |
0x00100002 | rusersd | Remote users. |
0x00100003 | nfs | Network file system. |
0x00100004 | ypserv | ypprog. Yellow pages directory service. |
0x00100005 | mountd | Mount protocol. |
0x00100006 | Remote DBX | Remote DBX. |
0x00100007 | ypbind | Yellow pages binding service. |
0x00100008 | walld | Shutdown messages. |
0x00100009 | yppasswd | Yellow pages password server. |
0x00100010 | etherstatd | Ethernet status. |
0x00100011 | rquotad | Disk quota manager. |
0x00100012 | sprayd | Packet generator. |
0x00100013 | 3270_mapper | 3270 mapping service. |
0x00100014 | rje_mapper | Remote job entry mapping service. |
0x00100015 | selection_svc | Selection service. |
0x00100016 | database_svc | Remote database access. |
0x00100017 | rexd | Remote execution. |
0x00100018 | alis | Alice office automation program. |
0x00100019 | sched | Scheduling service. |
0x00100020 | llockmgr | Local lock manager. |
0x00100021> | nlockmgr | Network lock manager. |
0x00100022 | x25.inr | X.25 INR protocol. |
0x00100023 | statmon | Status monitor 1. |
0x00100024 | status | Status monitor 2. |
0x00100025 | Select_Lib | Selection library. |
0x00100026 | bootparam | Boot parameters service. |
0x00100027 | Mazewars | Mazewars game. |
0x00100028 | ypupdated | Yellow pages update service. |
0x00100029 | Key_Server | Key server. |
0x00100030 | SecureLogin | Secure login service. |
0x00100031 | NFS_FwdInit | NFS network forwarding service. |
0x00100032 | NFS_FwdTrns | NFS forwarding transmitter. |
0x00100033 | SunLink_MAP | Sunlink MAP. |
0x00100034 | Net_Monitor | Network monitor. |
0x00100035 | DataBase | Lightweight database. |
0x00100036 | Passwd_Auth | Password authorization. |
0x00100037 | TFS_Service | Translucent file service. |
0x00100038 | NSE_Service | NSE server. |
0x00100039 | NSE_Daemon | NSE activate process. |
0x00100069 | ypxfrd | Yellow Pages Transfer. |
0x00150001 | pcnfsd | PC password authorization. |
0x00200000 | PyramidLock | Pyramid lock service. |
0x00200001 | PyramidSys5 | Pyramid Sys5 service. |
0x00200002 | CADDS_Image | CV CADDS images. |
0x00300001 | ADTFileLock | ADT file locking service. |
There are also the following authentication parameters:
- 0 - (Null) Not used and the authentication fields have zero length.
- 1 - (UNIX) UNIX user and group IDs. If this is the type authentication being used then additional parameters such as the System Name, User ID and Group ID. This is used by NFS.
- 2 - (Short) Shorthand code used, generated by the client
- 3 - (DES) Data encryption standard used by secure NFS.
RFC 2695 describes authentication mechanisms for RPC.
RFC 2203 describes the RPCSEC_GSS ONC RPC security flavor.
RFC 2078 describes Generic Security Service Application Program Interface.
RFC 2203 describes the RPCSEC_GSS ONC RPC security flavor.
RFC 2078 describes Generic Security Service Application Program Interface.
Reply Messages can contain the following messages:
- call successful - Call completed with no errors.
- program unknown - Program number was not found.
- bad program ver - Program version was not found.
- proced unknown - Program procedure was not found.
- bad parameters - Invalid call parameters (arguments) were found.
- bad RPC version - RPC Version not supported.
- bad credentials - Invalid call credentials supplied.
- restart session - Request to begin a new session.
- bad verifier - Invalid verifier was supplied.
- verify rejected - Verifier has expired or was re-used.
- failed security - Caller has insufficient privileges.
출처 : http://www.rhyshaden.com/rpc.htm
'개발 > Linux' 카테고리의 다른 글
dmesg Option (0) | 2011.10.31 |
---|---|
vmalloc 영역... [가설] (0) | 2011.10.28 |
sleep_on(), wake_up() (0) | 2011.10.10 |
lighttpd.conf [cipher-list] (0) | 2011.10.10 |
cron (0) | 2011.09.27 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday