Chapter 652. ROS2 DDS 미들웨어 계층 (ROS2 DDS Middleware Layer) Chapter 652. ROS2 DDS 미들웨어 계층 (ROS2 DDS Middleware Layer) 652.1DDS (Data Distribution Service) 표준 개요 652.2OMG DDS 사양의 역사와 발전 652.3DDS 데이터 중심 발행-구독 (DCPS) 모델 652.4DDS 글로벌 데이터 공간 (Global Data Space) 개념 652.5DDS 도메인 (Domain)과 도메인 참가자 (DomainParticipant) 652.6DDS 토픽 (Topic) 정의와 데이터 타입 매핑 652.7DDS Data Writer와 Data Reader 구조 652.8DDS Publisher와 Subscriber 관리 652.9DDS 파티션 (Partition)과 논리적 데이터 분리 652.10DDS QoS (Quality of Service) 정책 전체 구조 652.11DDS 신뢰성 (Reliability) QoS 정책 652.12DDS 내구성 (Durability) QoS 정책 652.13DDS 이력 (History) QoS 정책 652.14DDS 수명 (Lifespan) QoS 정책 652.15DDS 마감 (Deadline) QoS 정책 652.16DDS 활성 (Liveliness) QoS 정책 652.17DDS 소유권 (Ownership) QoS 정책 652.18DDS 소유권 강도 (Ownership Strength) QoS 정책 652.19DDS 자원 제한 (Resource Limits) QoS 정책 652.20DDS 전송 우선순위 (Transport Priority) QoS 정책 652.21DDS 시간 기반 필터 (Time-Based Filter) QoS 정책 652.22DDS 지연 (Latency Budget) QoS 정책 652.23DDS 표현 (Presentation) QoS 정책 652.24DDS 목적지 순서 (Destination Order) QoS 정책 652.25DDS 라이터 데이터 수명 주기 (Writer Data Lifecycle) QoS 정책 652.26DDS 리더 데이터 수명 주기 (Reader Data Lifecycle) QoS 정책 652.27DDS QoS 호환성과 요청-제공 (Request-Offered) 모델 652.28DDS QoS 정책 간 상호작용과 우선순위 652.29DDS 콘텐츠 필터링 토픽 (Content Filtered Topic) 652.30DDS 멀티 토픽 (MultiTopic) 652.31DDS 발견 (Discovery) 프로토콜 개요 652.32SPDP (Simple Participant Discovery Protocol) 동작 원리 652.33SEDP (Simple Endpoint Discovery Protocol) 동작 원리 652.34DDS 발견 프로토콜의 네트워크 트래픽 분석 652.35DDS 정적 발견 (Static Discovery) 구성 652.36DDS 전송 프로토콜: RTPS (Real-Time Publish-Subscribe) 개요 652.37RTPS 메시지 구조와 서브메시지 유형 652.38RTPS 헤더와 서브메시지 헤더 해석 652.39RTPS의 신뢰성 있는 데이터 전송 메커니즘 652.40RTPS Heartbeat과 AckNack 프로토콜 652.41RTPS GAP 서브메시지와 데이터 필터링 652.42RTPS 프래그먼트(Fragment) 기반 대용량 데이터 전송 652.43RTPS Writer와 Reader의 상태 머신 652.44DDS 멀티캐스트 전송 구성 652.45DDS 유니캐스트 전송 구성 652.46DDS UDP 전송 계층 설정 652.47DDS TCP 전송 계층 설정 652.48DDS 공유 메모리 (Shared Memory) 전송 652.49DDS-XRCE (Extremely Resource Constrained Environments) 652.50Micro-XRCE-DDS Agent와 Client 아키텍처 652.51DDS 보안 사양 (DDS Security) 개요 652.52DDS 보안 인증 (Authentication) 플러그인 652.53DDS 보안 접근 제어 (Access Control) 플러그인 652.54DDS 보안 암호화 (Cryptographic) 플러그인 652.55DDS 보안 로깅 (Logging) 플러그인 652.56DDS 보안 거버넌스 (Governance) 파일 구성 652.57DDS 보안 권한 (Permissions) 파일 구성 652.58DDS 보안 인증서 관리와 PKI 인프라 652.59ROS2의 미들웨어 추상화 계층 개요 652.60rmw (ROS Middleware Interface) 아키텍처 652.61rmw API의 주요 함수와 인터페이스 652.62rmw 노드 생성 및 소멸 인터페이스 652.63rmw 발행자(Publisher) 생성 및 발행 인터페이스 652.64rmw 구독자(Subscription) 생성 및 수신 인터페이스 652.65rmw 서비스(Service) 서버 및 클라이언트 인터페이스 652.66rmw 가드 조건(Guard Condition)과 대기 집합(Wait Set) 인터페이스 652.67rmw 구현체 선택과 전환 방법 652.68RMW_IMPLEMENTATION 환경 변수 설정 652.69Fast DDS (eProsima) rmw 구현체 개요 652.70Fast DDS의 내부 아키텍처와 모듈 구조 652.71Fast DDS의 XML 프로파일 설정 체계 652.72Fast DDS의 전송 계층 구성 (UDP, TCP, SHM) 652.73Fast DDS의 발견 서버 (Discovery Server) 모드 652.74Fast DDS의 초기 피어 (Initial Peers) 구성 652.75Fast DDS의 흐름 제어 (Flow Controller) 설정 652.76Fast DDS의 메모리 관리 전략 652.77Fast DDS의 송/수신 버퍼 최적화 652.78Fast DDS의 성능 튜닝 기법 652.79Fast DDS의 TypeLookup Service 652.80Cyclone DDS (Eclipse) rmw 구현체 개요 652.81Cyclone DDS의 내부 아키텍처와 모듈 구조 652.82Cyclone DDS의 XML 설정 파일 체계 652.83Cyclone DDS의 네트워크 인터페이스 구성 652.84Cyclone DDS의 공유 메모리 (Iceoryx) 통합 652.85Iceoryx의 아키텍처와 제로 카피 (Zero-Copy) 메커니즘 652.86Cyclone DDS의 메모리 관리 전략 652.87Cyclone DDS의 성능 튜닝 기법 652.88Cyclone DDS의 보안 플러그인 구성 652.89Connext DDS (RTI) rmw 구현체 개요 652.90Connext DDS의 아키텍처와 특징 652.91Connext DDS의 QoS 프로파일 관리 652.92Connext DDS의 라우팅 서비스 (Routing Service) 652.93Connext DDS의 모니터링 (Admin Console) 652.94DDS 벤더 간 상호운용성 메커니즘 652.95DDS 벤더 성능 비교와 선택 기준 652.96rcl (ROS Client Library) 계층과 DDS 연계 652.97rcl의 내부 구조와 초기화 과정 652.98rclcpp와 rmw 인터페이스 연동 구조 652.99rclpy와 rmw 인터페이스 연동 구조 652.100rosidl과 DDS IDL 타입 생성 파이프라인 652.101DDS IDL (Interface Definition Language) 문법 652.102rosidl 타입 지원 (Type Support) 프레임워크 652.103DDS 기반 분산 시스템의 네트워크 토폴로지 설계 652.104DDS 기반 WAN 통신 구성 652.105DDS 라우터 (Routing Service) 활용 652.106DDS 릴레이 서버 (Relay Server) 구성 652.107DDS 기반 방화벽 통과 전략 652.108DDS 모니터링 도구와 진단 기법 652.109DDS 패킷 캡처와 Wireshark 분석 652.110DDS 성능 분석과 지연 시간 프로파일링 652.111DDS 처리량 (Throughput) 벤치마킹 652.112DDS 지터 (Jitter) 분석과 최소화 652.113ROS2 미들웨어 계층의 실시간 지원 652.114ROS2 미들웨어의 실시간 제약 조건 충족 전략 652.115ROS2 미들웨어의 메모리 관리 전략 652.116ROS2 미들웨어의 메모리 풀 (Memory Pool) 사전 할당 652.117ROS2 미들웨어의 대역 내/외 (In-Band/Out-of-Band) 데이터 전송 652.118ROS2 미들웨어의 대용량 데이터 전송 최적화 652.119ROS2 미들웨어의 타임스탬프 동기화와 시계 관리 652.120ROS2 미들웨어의 멀티쓰레드 실행 모델 652.121ROS2 미들웨어의 다중 노드 동일 프로세스 (Composition) 통합 652.122ROS2 미들웨어와 DDS 인터커넥트 확장성 (Scalability) 652.123ROS2 미들웨어의 향후 발전 방향