맨위로가기

일반 객체 요구 매개자간 프로토콜

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

일반 객체 요구 매개자간 프로토콜(GIOP)은 Object Management Group(OMG)이 정의한 프로토콜로, 객체 지향 분산 시스템 환경에서 객체 간의 상호 운용성을 제공한다. GIOP는 Common Data Representation(CDR), Interoperable Object Reference (IOR), 정의된 메시지 형식을 포함하며, 원격 메서드 호출, 응답, 오류 처리 등을 위한 다양한 메시지 형식을 규정한다. GIOP 메시지는 바이너리 형식으로 표현되며, 헤더를 통해 식별된다. GIOP의 대안으로, 특정 환경에 맞춰 효율성을 높이는 환경에 특화된 ORB 간 프로토콜(ESIOP)이 존재하며, DCE-CIOP는 분산 컴퓨팅 환경(DCE)에서 사용하기 위한 ESIOP의 한 예시이다. GIOP는 OMG의 등록 상표가 아니므로 자유롭게 사용할 수 있다.

더 읽어볼만한 페이지

  • 분산 컴퓨팅 - 클라우드 컴퓨팅
    클라우드 컴퓨팅은 인터넷을 통해 컴퓨팅 자원을 서비스 형태로 제공하는 모델로, 다양한 서비스 및 배치 모델을 가지며 비용 효율성과 확장성을 제공하지만 보안 및 의존성 문제도 존재하며 지속적으로 발전하고 있다.
  • 분산 컴퓨팅 - 그리드 컴퓨팅
    그리드 컴퓨팅은 지리적으로 분산된 컴퓨터 자원을 연결하여 가상 슈퍼컴퓨터를 구축하는 기술이며, 유휴 자원을 활용하고 과학 연구 등 다양한 분야에 활용된다.
일반 객체 요구 매개자간 프로토콜
일반 정보
이름일반 객체 요구 매개자간 프로토콜
영어 명칭General Inter-ORB Protocol
약칭GIOP
종류프로토콜
OSI 모델 계층표현 계층 및 응용 계층
상세 정보
목적객체 요청 브로커들이 CORBA 환경에서 통신하는 데 사용
기반 프로토콜TCP/IP
관련 프로토콜IIOP (Internet Inter-ORB Protocol) - GIOP의 특정 구현체
특징추상적인 프로토콜로, 다양한 전송 계층에서 사용 가능
메시지 형식Request (요청)
Reply (응답)
CancelRequest (요청 취소)
LocateRequest (객체 위치 요청)
LocateReply (객체 위치 응답)
CloseConnection (연결 종료)
MessageError (오류 메시지)
Fragment (메시지 조각)
추가 정보
최적화다양한 최적화 기법 (예: 압축)을 통해 효율성을 향상시킬 수 있음
보안SSL/TLS와 같은 보안 프로토콜을 통해 보안 강화 가능

2. 메시지 형식

객체 관리 그룹(OMG)은 일반 객체 요구 매개자간 프로토콜(GIOP)을 정의하며, 여기에는 객체 요청, 객체 구현 확정, 통신로 관리 등의 목적을 위해 에이전트 간에 교환되는 정의된 메시지 형식이 포함된다. 주요 메시지는 다음과 같다:[6]


  • Request: 원격 메서드를 호출한다.
  • Reply: `Request`에 대한 응답으로, 보통 원격 메서드의 반환 데이터를 포함한다. 서버 측 리디렉션 지시나 예외를 포함할 수 있다.
  • CancelRequest: 이전에 보낸 `Request`를 취소한다(`Reply`를 기다리지 않음).
  • LocateRequest: 서버가 원격 객체를 지원하는지 확인하고, 지원하지 않으면 요청을 보낼 주소를 묻는다.
  • LocateReply: `LocateRequest`에 대한 응답으로, 원격 객체의 새 주소를 포함할 수 있다.
  • CloseConnection: 서버가 보내며, 더 이상 응답하지 않음을 나타낸다.
  • MessageError: 잘못된 메시지에 대한 응답으로 보내진다. 외부 오류 알림에는 사용되지 않는다(`Request`에 대한 `Reply`로 오류를 알림).
  • Fragment: 이전 메시지의 연속을 포함하며, 긴 메시지는 분할되어 전송된다.

2. 1. Common Data Representation (CDR)

Common Data Representation|커먼 데이터 리프리젠테이션영어(CDR)은 OMG IDL의 데이터형을 ORB 간의 저수준 통신용 표현으로 매핑하는 규정이다.[1]

2. 2. 상호 운용 가능 객체 참조 (IOR)

IOR은 원격 객체에 대한 참조 형식을 규정한다. IOR은 태그가 붙은 프로파일과 각종 정보를 운반하는 컴포넌트로 구성된다. 전형적인 IOR에는 프로토콜 버전, 서버 주소, 원격 객체를 식별하는 바이트열(객체 키)로 구성된다.[1]

2. 3. 정의된 메시지 형식

객체 요청, 객체 구현 확정, 통신로 관리 등의 목적으로 메시지가 에이전트 간에 교환된다. 메시지에는 다음과 같은 것이 있다.[6]

  • '''Request''' - 원격 메서드 호출.
  • '''Reply''' - ''Request''에 대한 응답 메시지. 일반적으로 원격 메서드에서 반환되는 데이터를 포함하며, 경우에 따라 서버 측으로의 리디렉션 지시나 예외 기술이 포함된다.
  • '''CancelRequest''' - 이전에 보낸 ''Request''를 취소(''Reply''를 기다리지 않겠다는 선언).
  • '''LocateRequest''' - 해당 서버가 원격 객체를 지원하는지 확인하는 메시지. 지원하지 않는 경우 해당 객체에 대한 요청을 보낼 주소를 묻는다.
  • '''LocateReply''' - ''LocateRequest''에 대한 응답 메시지. 경우에 따라 해당 원격 객체의 새로운 주소가 포함된다.
  • '''CloseConnection''' - 서버에서 보내며, 앞으로 응답하지 않음을 나타낸다.
  • '''MessageError''' - 부정한 메시지에 대한 응답으로 전송된다. 외부로의 오류 통지에는 사용되지 않는다 (관리 서버의 ''Request''에 대한 ''Reply''로 오류를 통지한다).
  • '''Fragment''' - 이전 메시지의 속행을 포함하는 메시지. 긴 메시지는 분할되어 전송된다.

3. 바이너리 형식

GIOP 메시지를 바이너리 형식으로 덤프 표시하면 헤더가 독특하여 즉시 식별할 수 있다.


  • 4개의 ASCII 문자: G I O P
  • 2바이트의 버전 번호 (1바이트가 메이저 버전이며 현재는 1만 해당)
  • 1바이트의 메시지 플래그. LSB로 엔디안을 나타낸다 (0 - 빅 엔디안, 1 - 리틀 엔디안).
  • 1바이트의 메시지 유형 (''Reply'', ''Request'', ''Fragment'' 등을 나타냄)
  • 4바이트의 메시지 길이 (헤더 부분은 포함하지 않음)


메시지는 정수 태그가 붙은 임의의 데이터 조각의 전송에도 사용된다. 이러한 데이터 조각은 서비스 컨텍스트라고 하며, 필요에 따라 통신 표준을 확장하는 데 사용된다. 표준으로 제공되는 서비스 컨텍스트에는 예외를 던지는 서비스 컨텍스트, 문자 코드를 지정하는 서비스 컨텍스트 등이 있다. 클라이언트와 서버의 인터셉터에서 메시지에 서비스 컨텍스트를 추가하여 서로 주고받을 수도 있다.

4. 환경에 특화된 ORB 간 프로토콜 (ESIOP)

CORBA는 일반 객체 요구 매개자간 프로토콜(GIOP)의 대안으로 환경에 특화된 ORB 간 프로토콜(Environment Specific Inter-ORB Protocol, ESIOP) 개념을 포함하고 있다. GIOP는 대부분의 CORBA 구현체의 범용 목적의 요구를 충족하기 위해 정의되지만, ESIOP는 특수한 요구사항을 해결하기 위한 시도이다.[8][9]

4. 1. ESIOP의 특징

ESIOP는 특수한 요구사항을 해결하기 위한 시도로 볼 수 있다. 예를 들어, ESIOP는 제한된 대역폭이나 높은 지연 시간을 가진 네트워크 환경에서 효율성을 높이기 위해 대안적인 프로토콜 인코딩을 사용할 수 있다.[8][9] 또한, ESIOP는 분산 컴퓨팅 환경(DCE)과 같이 일부 CORBA가 아닌 기술 스택 위에 CORBA를 계층화하는 데 사용될 수 있다.[8][9]

4. 2. DCE-CIOP

DCE 공통 ORB 간 프로토콜(DCE Common Inter-ORB Protocol, DCE-CIOP)은 분산 컴퓨팅 환경(DCE)에서 사용하기 위한 환경에 특화된 ORB 간 프로토콜(Environment Specific Inter-ORB Protocol, ESIOP)이다.[8][9] DCE-CIOP는 CORBA를 DCE RPC와 CDR(Command Data Representation)과 매핑시켜 준다.[8][10] DCE-CIOP는 CORBA 2.6.1 표준의 16장에 정의되어 있다.[11]

5. GIOP의 법적 상태

CORBA, IIOP, OMG 등의 약칭은 Object Management Group의 등록 상표이므로 사용에 주의해야 한다. 그러나 GIOP는 등록 상표가 아니다(http://www.omg.org/legal/tm_list.htm OMG 상표 목록 참조). 따라서 경우에 따라 GIOP라는 용어를 사용하는 것이 좋다.

참조

[1] 웹사이트 IIOP: OMG's Internet Inter-ORB Protocol: A Brief Description http://www.omg.org/l[...] 2014-08-19
[2] 서적 Design Patterns in Communications Software https://books.google[...] Cambridge University Press 2001-07-23
[3] 서적 Fundamentals of Distributed Object Systems: The CORBA Perspective https://books.google[...] John Wiley & Sons 2004-04-07
[4] 간행물 A bridge for heterogeneous communication between CORBA and DCE https://books.google[...] Springer 1997-12-05
[5] 서적 The Common Object Request Broker: Architecture and Specification: Revision 2.6.1 http://www.omg.org/c[...] OMG 2016-05-11
[6] 웹사이트 About the Common Object Request Broker Architecture Specification Version 3.4 https://www.omg.org/[...] 2023-04-13
[7] 웹인용 보관된 사본 http://www.omg.org/l[...] 2014-08-19
[8] 서적 Design Patterns in Communications Software https://books.google[...] Cambridge University Press 2001-07-23
[9] 서적 Fundamentals of Distributed Object Systems: The CORBA Perspective https://books.google[...] John Wiley & Sons 2004-04-07
[10] 간행물 A bridge for heterogeneous communication between CORBA and DCE https://books.google[...] Springer 1997-12-05
[11] 서적 The Common Object Request Broker: Architecture and Specification: Revision 2.6.1 http://www.omg.org/c[...] OMG 2016-05-11



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com