DDS와 RTPS의 차이
2024. 1. 16.
  1. DDS (그릇):
    • DDS를 '그릇'으로 비유한다면, 이 그릇은 데이터를 담는 역할을 합니다. 즉, DDS는 데이터를 저장하고, 필요한 곳으로 데이터를 전달하는 역할을 하는 시스템입니다.
    • 여기서 '그릇'은 데이터를 안전하고 효율적으로 보관하고, 필요한 대상에게 정확히 전달하는 매체로 생각할 수 있습니다.
  2. RTPS (점원):
    • RTPS를 '점원'에 비유한다면, 이 점원은 데이터를 실시간으로 게시하고 구독하는 일을 담당합니다. 즉, 데이터를 주고받는 방법과 규칙을 정하는 역할을 합니다.
    • '점원'은 고객의 요구에 따라 적절한 데이터를 찾아서 제공하는 역할을 하며, 이 과정에서 실시간성과 정확성이 중요합니다.

DDS(데이터 분배 서비스, Data Distribution Service)와 RTPS(실시간 게시-구독, Real-Time Publish-Subscribe) 공급업체는 실시간 데이터 통신을 위한 중요한 기술 및 프로토콜을 제공하는 업체들을 의미합니다. 이들은 주로 대규모, 실시간, 네트워크 기반의 시스템에서 데이터를 효율적으로 분배하고 관리하는 데 사용됩니다.

  1. DDS (Data Distribution Service):
    • DDS는 실시간 시스템을 위한 데이터 중계 표준입니다.
    • 이는 데이터 생산자(게시자)와 소비자(구독자) 간의 데이터 통신을 위한 중간 계층으로 작동합니다.
    • DDS를 사용하면, 네트워크 상의 다양한 장치들이 서로 데이터를 효과적으로 교환할 수 있습니다.
  2. RTPS (Real-Time Publish-Subscribe):
    • RTPS는 DDS의 중심적인 프로토콜이며, 실시간 데이터 교환을 위한 규약을 제공합니다.
    • 이 프로토콜은 데이터의 신속한 전달과 신뢰성 있는 통신을 보장하는 데 중점을 둡니다.

여러분, 오늘은 Fast DDS와 같은 미들웨어가 컴퓨터 통신에서 어떤 역할을 하는지, 그리고 왜 이러한 시스템이 유지보수에 유리한지에 대해 쉽게 설명해 드리겠습니다. 이해를 돕기 위해, 우리 일상 생활에서의 예를 들어 설명해 보겠습니다.

예시: 도서관에서의 책 대여 시스템

상상해 보세요, 도서관이라는 큰 시스템이 있습니다. 이 도서관에서 책을 빌리기 위해 필요한 과정들이 여러 단계로 나누어져 있다고 합시다. OSI 모델의 7개 계층을 도서관의 서비스 계층으로 생각해 볼 수 있습니다.

  1. 방문자(응용 계층): 도서관에 들어와 원하는 책을 찾습니다. 이것은 응용 프로그램이 사용자의 요청을 받아들이는 과정과 비슷합니다.
  2. 정보 데스크(표현 계층): 책의 위치나 사용 방법을 안내합니다. 컴퓨터에서는 데이터 형식이나 암호화를 담당합니다.
  3. 카탈로그 시스템(세션 계층): 사용자가 원하는 책을 찾을 수 있도록 돕는 체계적인 시스템입니다. 세션을 관리하며, 필요한 정보를 정리합니다.
  4. 도서 정리 직원(전송 계층): 사용자가 원하는 책을 안전하고 정확하게 전달합니다. 데이터의 오류 없는 전송을 보장합니다.
  5. 운반 카트(네트워크 계층): 책을 여러 층을 거쳐 사용자에게 전달합니다. 데이터를 다양한 네트워크 경로로 라우팅하는 과정과 유사합니다.
  6. 라이브러리 내부 통로(데이터 링크 계층): 책과 사용자가 안전하게 움직일 수 있는 도서관 내의 통로를 관리합니다. 네트워크 내의 데이터 링크를 관리하는 역할과 비슷합니다.
  7. 도서관 출입구(물리 계층): 실제로 사람들이 도서관에 들어오고 나가는 입구입니다. 실제 데이터 전송 매체(케이블, 무선 등)의 역할을 합니다.

이제, Fast DDS는 이러한 도서관 시스템의 '운반 카트'와 '정보 데스크' 역할을 합니다. 데이터를 적절한 방법과 경로로 안전하게 전달하는 미들웨어로, 효율적인 통신을 담당합니다. 미들웨어가 있어야 각 계층은 자신의 역할에만 집중할 수 있으며, 시스템 전체의 유지보수가 훨씬 쉬워집니다. 각 계층이 잘 분리되어 있기 때문에, 한 부분에 문제가 생겨도 전체 시스템에 영향을 미치지 않고, 해당 부분만을 수정하거나 개선할 수 있습니다.

이렇게 계층화된 시스템은 복잡한 네트워크나 소프트웨어 환경에서 문제를 쉽게 식별하고, 더 빠르고 효율적으로 해결할 수 있게 도와줍니다. 이와 같은 이유로, Fast DDS와 같은 미들웨어를 사용하는 것은 매우 중요하며, 이는 모든 현대적 IT 시스템의 기본이 되는 원칙입니다.


네, 맞습니다. OSI(Open Systems Interconnection) 모델의 높은 계층은 하위 계층을 기반으로 한 통신 과정을 의미합니다. OSI 모델은 데이터 통신을 7개의 계층으로 분리하여 각 계층이 특정 기능을 담당하게 구조화하였습니다. 이 계층적 구조는 통신 과정을 이해하고 관리하기 용이하게 만듭니다.

OSI 모델의 계층 설명:

  1. 물리 계층(Physical Layer): 실제 전기적 신호로 데이터를 전송하는 가장 기본적인 계층입니다. 케이블, RJ45, 광섬유 등 물리적 전송 매체를 다룹니다.
  2. 데이터 링크 계층(Data Link Layer): 네트워크 장비 간의 신뢰성 있는 데이터 전송을 보장합니다. 이 계층에서는 프레임 단위로 데이터를 전송하며, 오류 검출 및 재전송 기능을 제공합니다.
  3. 네트워크 계층(Network Layer): 데이터 패킷을 송신지에서 수신지까지 전달합니다. IP 주소를 사용하여 라우팅을 수행하며, 가장 효율적인 경로를 선택합니다.
  4. 전송 계층(Transport Layer): 종단 간의 신뢰성 있는 데이터 전송을 책임집니다. TCP/UDP와 같은 프로토콜을 사용하여 통신을 관리하며, 데이터의 순서 보장, 오류 검출, 흐름 제어 등을 수행합니다.
  5. 세션 계층(Session Layer): 통신 세션을 관리하며, 데이터 교환의 시작과 종료를 담당합니다. 애플리케이션 간의 세션을 유지, 관리, 종료하는 역할을 합니다.
  6. 표현 계층(Presentation Layer): 데이터의 형식을 정의하고, 암호화와 압축을 담당합니다. 송수신되는 데이터가 애플리케이션에 의해 올바르게 해석될 수 있도록 변환합니다.
  7. 응용 계층(Application Layer): 사용자와 가장 가까운 계층으로, 네트워크 소프트웨어 UI 및 API를 포함합니다. 이메일, 웹 브라우저 등 사용자가 직접 사용하는 애플리케이션들이 이 계층에 속합니다.

각 계층은 하위 계층의 기능을 기반으로 작동합니다. 예를 들어, 전송 계층은 네트워크 계층에서 제공하는 IP 네트워킹 기능을 바탕으로 신뢰할 수 있는 통신을 구현합니다. 또한, 각 계층은 서로 독립적이어서, 한 계층의 기술이 변경되어도 다른 계층에 영향을 주지 않고 개별적으로 업그레이드 또는 수정이 가능합니다.

이런 계층적 구조 덕분에, 복잡한 네트워크 시스템의 문제를 쉽게 식별하고, 특정 계층만을 대상으로 문제를 해결할 수 있습니다. 따라서 OSI 모델은 네트워크 통신을 설계, 구현, 관리하는 데 있어 매우 중요한 기준이 됩니다.

'2023 > isaac sim' 카테고리의 다른 글

(window) humble #3  (0) 2024.01.17
(WSL)Ubuntu 20.04 humlbe #2  (1) 2024.01.16
Ubuntu (Source) vs(Binary)  (0) 2024.01.16
(Xavier) SDK 5.12/20.04 Nitro ROS  (0) 2024.01.16
(window) humble #2  (0) 2024.01.13