DCE/RPC
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
DCE/RPC는 1990년대 초 개방 소프트웨어 재단(OSF)의 기술 요청에 따라 개발된 분산 컴퓨팅 환경에서의 원격 프로시저 호출(RPC) 기술이다. 아폴로 컴퓨터의 네트워크 컴퓨팅 시스템(NCS)을 기반으로 하며, 복잡성으로 인해 위원회에 의한 디자인의 예시로 언급되기도 한다. 과거에는 독점 라이선스로 제공되었으나, 2005년 LGPL 라이선스로 오픈 소스화되었다. 영국 국민 보험 기록 시스템, 펜실베이니아 주립 대학교의 eLion, HP OpenView, Microsoft Exchange/Outlook 등 다양한 시스템에서 활용되었으며, FreeDCE, MSRPC(Microsoft RPC), Samba, Wine, J-Interop 등 여러 구현 및 파생 버전이 존재한다.
더 읽어볼만한 페이지
- 원격 프로시저 호출 - D-Bus
D-Bus는 2002년에 시작된 프로세스 간 통신 시스템으로, 시스템 버스와 세션 버스를 통해 정보 공유, 모듈성, 권한 격리를 제공하며, 일대일 요청-응답 및 발행/구독 통신 방식을 지원한다. - 원격 프로시저 호출 - SOAP
SOAP는 분산 환경에서 정보 교환을 위해 XML 기반 메시지를 사용하는 프로토콜로, 확장성, 중립성, 독립성을 특징으로 가지나 복잡성, 오버헤드, 성능 문제로 REST 아키텍처가 대안으로 제시되기도 한다. - 네트워크 프로토콜 - UUCP
UUCP는 유닉스 시스템 간 파일 복사, 원격 명령 실행, 이메일 및 유즈넷 뉴스 전송을 위한 프로토콜 및 프로그램 모음으로, 초기 인터넷 확장에 중요한 역할을 했으나 TCP/IP 기반 서비스 보편화로 사용이 감소했다. - 네트워크 프로토콜 - 프레임 릴레이
프레임 릴레이는 LAN 간 또는 WAN 종단점 간 데이터 전송을 위한 고속 패킷 교환 방식 통신 프로토콜로, X.25 프로토콜을 간소화하여 속도를 높이고, 영구 가상 회선을 통해 안정적인 연결을 제공하며, 서비스 품질 설정을 통해 프레임 우선순위를 지정할 수 있었으나, 현재는 다른 기술에 밀려 사용이 감소하고 있다.
DCE/RPC | |
---|---|
DCE/RPC | |
![]() | |
일반 정보 | |
종류 | 원격 프로시저 호출 시스템 |
개발자 | Digital Equipment Corporation IBM Microsoft |
초기 출시 | 1988년 |
최신 버전 | 알 수 없음 |
상태 | 사용 중 |
기술 정보 | |
프로토콜 모음 | TCP UDP HTTP SMB NetBIOS |
포트 | 135 |
2. 역사
DCE/RPC는 1990년대 초, 개방 소프트웨어 재단(OSF)의 "기술 요청"에 따라 개발되었다. 아폴로 컴퓨터를 비롯한 여러 회사들이 개발에 참여했으며, 특히 아폴로 컴퓨터의 네트워크 컴퓨팅 시스템(NCS)이 DCE/RPC의 주요 기반이 되었다.
DCE/RPC의 명명 규칙은 NCS의 전신인 "네트워크 컴퓨팅 아키텍처"(NCA)의 영향을 받았다. 예를 들어 'ncacn_np', 'ncacn_tcp', 'ncacn_http'와 같은 이름은 RPC가 사용하는 프로토콜을 나타낸다.[2]
DCE/RPC는 복잡하다는 평가를 받기도 하지만, 이는 대규모 분산 시스템을 대상으로 설계되었기 때문이며, SOAP과 같은 최신 RPC 구현에서는 찾아보기 힘든 기능을 제공한다.[1]
2. 1. 개발 배경
1990년대 초, 네트워크 환경이 발전하면서 여러 대의 컴퓨터가 자원을 공유하고 협업하는 분산 컴퓨팅 환경이 주목받기 시작했다. 이러한 환경에서 효율적인 통신 및 응용 프로그램 개발을 위한 표준화된 방법론이 필요했고, 개방 소프트웨어 재단(OSF)은 이를 위해 DCE/RPC 개발을 주도했다.DCE/RPC는 OSF가 "기술 요청"으로 공모한 기술이었다.[2] 이에 응한 주요 기업 중 하나는 아폴로 컴퓨터였다.[2] 아폴로 컴퓨터의 네트워크 컴퓨팅 시스템(NCS)이 DCE/RPC의 주요 기반이 되었다.[2] NCS의 전신이 "네트워크 컴퓨팅 아키텍처"(NCA)이기 때문에 DCE/RPC에도 그 흔적이 남아 있다.[2] 예를 들어, '''ncacn_np''', '''ncacn_tcp''', '''ncacn_http'''와 같은 명칭은 RPC가 사용하는 프로토콜을 지정하는 번호에 붙여진 이름이다.[2]
DCE/RPC는 복잡한 것으로도 유명하지만, 그 복잡성은 대상이 되는 대규모 분산 시스템에서 기인한 것이다. 예를 들어, SOAP 등 최근 RPC 구현은 DCE/RPC가 다룰 수 있는 복잡한 시스템에는 적합하지 않다.[2]
2. 2. 주요 기여자
아폴로 컴퓨터는 네트워크 컴퓨팅 아키텍처(NCA) 및 네트워크 컴퓨팅 시스템(NCS)을 개발하여 DCE/RPC의 기반을 마련했다. 개방 소프트웨어 재단의 의뢰를 받아 DCE/RPC 개발에 참여했으며, DCE/RPC에서 사용되는 전송 프로토콜 명명 규칙(ncacn_np, ncacn_tcp, ncacn_http 등)은 NCA/NCS의 영향을 받았다.2. 3. 명명 규칙
DCE/RPC의 명명 규칙은 네트워크 컴퓨팅 아키텍처(NCA)와 네트워크 컴퓨팅 시스템(NCS)의 영향을 받았다. 예를 들어, '''ncacn_np'''(SMB 명명된 파이프 전송), '''ncacn_tcp'''(TCP/IP를 경유한 DCE/RPC), '''ncacn_http'''와 같은 명칭은 DCE/RPC에서 사용되는 프로토콜을 나타낸다.2. 4. 복잡성 논란과 평가
DCE/RPC는 복잡하다는 평가를 받기도 한다. 이는 대규모 분산 시스템을 대상으로 설계되었기 때문이다. 이러한 복잡성은 SOAP과 같은 최신 RPC 구현에서는 찾아보기 힘든 다양한 기능을 제공하기 위한 것이다. DCE/RPC는 때로는 위원회에 의한 설계의 예시로 언급되기도 한다.[1]3. 라이선스
과거 DCE 소스는 독점 라이선스로만 사용할 수 있었으나, 2005년 1월 12일부터 LGPL로 배포되어 커뮤니티 참여 및 기술 발전이 가속화되었다.[1] DCE/RPC의 참조 구현(버전 1.1)은 이전 BSD 호환 OSF/1.0 라이선스로 제공되었으며, Samba나 Wine에는 이 코드가 현재 사용되지 않고 있다.
3. 1. 오픈 소스 전환
과거 DCE 소스는 독점 라이선스 하에서만 사용할 수 있었으나, 2005년 1월 12일부터 널리 인정받는 오픈 소스 라이선스인 LGPL로 제공되어 더 많은 커뮤니티가 소스 코드 작업을 통해 기능을 확장하고 최신 상태로 유지할 수 있게 되었다.[1] 소스 코드는 웹을 통해 내려받을 수 있으며, 약 100개의 ".tar.gz" 파일로 구성되어 170MB를 차지한다.오픈 그룹은 DCE 커뮤니티와 협력하여 DCE를 오픈 소스 개발 커뮤니티에 제공하고, 오픈 그룹 웹 사이트를 통해 소스 코드를 계속 제공할 것이라고 밝혔다.[1]
DCE/RPC의 참조 구현(버전 1.1)은 이전에는 BSD 호환 (자유 소프트웨어) OSF/1.0 라이선스 하에서 제공되었으며, 최소한 Solaris, AIX 및 VMS에서도 여전히 사용할 수 있다. DCE는 이전의 비 오픈 소스 라이선스 조건에 따라 오픈 그룹 웹사이트에서도 여전히 제공된다.
3. 2. 참조 구현
DCE/RPC의 참조 구현(버전 1.1)은 이전에는 BSD 호환(자유 소프트웨어) OSF/1.0 라이선스로 제공되었으며, Solaris, AIX, VMS에서 사용할 수 있다.[1]4. 활용 사례
DCE/RPC는 다음과 같은 다양한 시스템 및 응용 프로그램에서 활용되고 있다.
- 마이크로소프트 Exchange/Outlook (MAPI/RPC)[2]
- Call of Duty: Modern Warfare 2의 멀티플레이어 로비, 호스트 또는 로비 마이그레이션을 결정하기 위한 작은 클라우드 생성.
4. 1. 영국 국민 보험 기록 시스템 (NIRS/2)
영국의 연금에 해당하는 국민 보험 기록 시스템(NIRS/2)에서 사용되었다.[2][3]4. 2. 펜실베이니아 주립 대학교 학생 정보 포털 (eLion)
펜실베이니아 주립 대학교의 학생 정보 포털인 eLion에서 사용되었다.[3]4. 3. HP OpenView
구 버전의 HP OpenView Unix/Windows 에이전트용 Operations에서 DCE/RPC를 사용하여 시스템 관리 기능을 제공한다. HP OpenView Operations는 시스템/애플리케이션 관리 제품으로 유명하다.[2]4. 4. Microsoft Exchange/Outlook (MAPI/RPC)
마이크로소프트 Exchange/Outlook (MAPI/RPC) 환경에서 사용된다.[2]5. 구현 및 파생 버전
DCE/RPC는 다양한 운영체제 및 환경에서 사용할 수 있도록 여러 구현체와 파생 버전이 존재한다. 주요 구현체는 다음과 같다.
5. 1. FreeDCE
FreeDCE는 리눅스로 이식된 DCE 1.1 레퍼런스 구현이며, 64비트 플랫폼을 지원하고 autoconf를 사용하여 추가 플랫폼으로의 이식을 훨씬 쉽게 만들었다. Win32 포트가 진행 중이다.[1]5. 2. PC/DCE
Entegrity Solutions는 OSF의 DCE 1.2.2 소스 코드를 라이선스하여 Win32로 포팅하여 PC/DCE라는 제품을 만들었다.[1]5. 3. MSRPC (Microsoft RPC)
마이크로소프트의 DCE/RPC 구현은 '''MSRPC'''라고 불리며, Windows NT에서 채택되었다.[1] MSRPC는 DCE 1.1 레퍼런스 구현에 기반하며, DCOM에도 채택되었다.[1]5. 4. Samba
Samba는 MSRPC와 네트워크 및 IDL 상호 운용이 가능한 MSRPC 구현을 포함하고 있지만, MSRPC와 바이너리 호환은 되지 않는다. Samba는 윈도우 네트워크 환경과의 호환성을 제공하는 오픈 소스 소프트웨어로, MSRPC 구현을 통해 윈도우 서버 및 클라이언트와 상호 운용된다.5. 5. Wine
Wine 프로젝트는 MSRPC와 바이너리 및 IDL 상호 운용이 가능한 MSRPC 구현을 포함하고 있다. MSRPC와 네트워크 상호 운용은 되지 않는다.[1]5. 6. J-Interop
J-Interop은 Java로 구현된 MSRPC이다. 이 라이브러리는 Java Native Interface (JNI)를 사용하지 않고도 모든 비 윈도우 플랫폼에서 COM 액세스를 제공하는 데 사용할 수 있다. 현재 OpenNMS에서 시스템 모니터링을 위해 WMI 데이터를 검색하는 데 사용하고 있다.[1]5. 7. Jarapac
Jarapac는 Java로 구현된 DCE/RPC이다.[1]참조
[1]
뉴스
The Open Group
http://www.opengroup[...]
The Open Group
[2]
웹사이트
CASE STUDY : NIRS2
http://www.opengroup[...]
2005-11-23
[3]
웹사이트
CASE STUDY : NIRS2
http://www.opengroup[...]
1996
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com