33.4 DDS-RTPS 단순 엔드포인트 발견 프로토콜(SEDP) 토픽 교환 메커니즘
ROS2 미들웨어의 객체 인지 아키텍처는 거시적 차원의 참가자 발굴(Participant Discovery)과 미시적 차원의 통신 객체 매칭(Endpoint Matching)이라는 이원화된 계층으로 설계되어 있다. 앞서 단순 참가자 발견 프로토콜(SPDP)을 통해 운영 체제 프로세스(도메인 참여자) 간의 상호 인지 및 유니캐스트(Unicast) 채널이 확립되었다면, 그 내부에서 실제로 데이터를 생산하고 소비하는 객체들인 퍼블리셔(DataWriter)와 서브스크라이버(DataReader) 간의 논리적 결합은 단순 엔드포인트 발견 프로토콜(Simple Endpoint Discovery Protocol, SEDP) 단계에서 완성된다. 본 절에서는 비대칭 스웜(Swarm) 통신망 환경 내에서 SEDP의 작동 원리와, 이를 매개하는 내장 토픽(Built-in Topic) 기반의 메타데이터 교환 메커니즘을 상세히 규명한다.
1. 내장 토픽(Built-in Topic) 기반의 메타데이터 릴레이 모델
SEDP는 물리적 네트워크 계층에서의 브로드캐스팅을 배제하고, SPDP로 이미 확보된 유니캐스트 데이터 패스 위에서 DDS 고유의 발행-구독 메커니즘을 재귀적(Recursive)으로 활용하여 구현된다. ROS2 프로세스는 초기화 시점에 사용자의 코드 호출 유무와 무관하게 시스템 예약 영역에 세팅된 ‘내장 토픽’ 전담 퍼블리셔와 서브스크라이버를 자동 생성한다.
이러한 내장 통신망은 크게 다음 세 가지 토픽을 통해 엔드포인트의 제원을 교환한다.
- DCPSSubscriptions 토픽: 도메인 참여자 내부에 새로운 사용자 서브스크라이버 객체가 생성(혹은 소멸)될 때마다, 이 내장 토픽을 통해 해당 DataReader의 관심사(Topic Name, Type)와 요구 QoS 체계가 네트워크 상의 타 참여자들에게 통지된다.
- DCPSPublications 토픽: 사용자 퍼블리셔(DataWriter) 객체의 생성 및 소멸은 이 토픽 페이로드에 적재되어 외부로 전파된다.
- DCPSTopic 토픽: 데이터의 구조를 정의하는 스키마(IDL 기반 Type Information) 변이를 상호 동기화하기 위해 배정된 채널이다.
1.1 메타데이터 페이로드의 정보 구조체 파라미터화
내장 토픽으로 송출되는 SEDP 패킷은 해당 엔드포인트를 고유하게 특정하기 위한 식별자(Endpoint GUID)와 더불어, 교차 매칭(Cross-Matching)을 위한 필수 메타데이터를 포함한다. 특히, 로봇 시스템의 유연성을 위해 Topic 이름(이하 T_{name})과 Type 식별자(이하 T_{type}), 그리고 호환성을 결정짓는 QoS 프로파일 튜플(Tuple) 데이터 블록이 RTPS 변환 계층에 의해 직렬화(Serialization)되어 전송된다.
2. 엔드포인트 매칭 및 통신 간선(Edge) 프로비저닝 역학
원격 노드로부터 수신된 DCPSPublications 및 DCPSSubscriptions 내장 토픽 데이터를 통하여, 로컬 도메인 참여자의 데몬은 백그라운드 스레드에서 전역 분산형 매칭 엔진(Core Matching Engine) 알고리즘을 구동한다. 본 알고리즘은 로컬 생성 객체와 원격 발견 객체 간의 교집합을 도출하여 실질적 라우팅 경로를 프로비저닝(Provisioning)한다.
2.1 엄격한 다중 조건 교차 검증 논리
특정 퍼블리셔(Publisher, P_i)와 서브스크라이버(Subscriber, S_j) 사이에 데이터 전송 경로가 성립되기 위해서는, 미들웨어 엔진이 다음의 3단계 논리 필터를 순차적으로 모두 통과(True 반환)시켜야 한다.
- 주제적 일치성(Topical Consistency): T_{name}(P_i) == T_{name}(S_j)을 만족하여, 양 객체가 논리적으로 동일한 정보(예:
/drone_cmd_vel)를 다루고 있는지 검증한다. - 데이터 구조 동형성(Structural Isomorphism): T_{type}(P_i) == T_{type}(S_j) 조건을 통해, 구조체 메모리 레이아웃 측면에서 MD5 해시 또는 Type Hash 기반 동질성이 보장되는지를 확인한다.
- QoS 프로파일 쌍대성(QoS Profile Dualism): QoS(P_i) \sqsupseteq QoS(S_j)의 논리식을 바탕으로, 서브스크라이버가 요구하는 서비스 규약(Reliability, Durability, Deadline 등)을 퍼블리셔 측이 제공(Offered) 가능한지 수학적 집합론 관점에서 검사한다.
2.2 통신 프로비저닝 및 유니캐스트 스트리밍 개시
위 3가지 논리 검증이 모두 완료되면, DDS 커널 수준에서 SEDP 프로토콜이 종료되고 해당 엔드포인트 쌍 간을 직결(Direct Connect)하는 UDP/TCP 파이프가 메모리에 적재된다. 이후부터는 복잡한 라우팅 오버헤드나 중앙 브로커(Broker)를 거치지 않고, 퍼블리셔가 발생시키는 데이터 청크(Chunk)가 서브스크라이버의 IP 주소 및 포트로 다이렉트 스트리밍되는 고성능 직통망 체제로 진입하게 된다. 이러한 메타데이터 선교환 및 사전 검증 구조는 비행 중 발생하는 페이로드 데이터를 노드 매칭 과정과 물리적으로 분리함으로써, 자율 제어 스트림의 지터(Jitter)를 근원적으로 제거하는 바탕이 된다.