다중 기기와의 실시간 무선 통신을 위한 한국형 DDS(int2DDS) 개발



  • 이정섭, 박가희, 권병헌, 이상웅


    Intellectus


da2c4194825ef.png

Ⅰ. 서론

Ⅱ. 관련 연구

Ⅲ. int2DDS 시스템 설계 및 구현

Ⅳ. 성능 시험 평가

Ⅴ. 결론


Key Words

데이터분산서비스(DDS), 무선 통신, 다중 기기 통신,
지능형 교통 체계(ITS), Rust, SDV


Ⅰ. 서론


자율협력주행, 스마트 교차로, 군집 무인 이동체 운영 등 차세대 지능형 교통 체계(ITS) 환경에서는 수많은 단말기, 센서,엣지 컴퓨팅 노드 간의 실시간 데이터 교환이 시스템의 효율성과 신뢰성에 직결된다.


이러한 분산 통신 시스템 환경에서 국제 표준 통신 규격인 OMG(Object Management Group)의 DDS(Data Distribution Service)가 폭넓게 도입되고 있다.


DDS는 중앙 서버 없이 노드 간 직접 통신을 지원하는 출판-구독(Publish-Subscribe) 모델을 기반으로 높은 확장성과 유연성, 세밀한 서비스 품질(QoS, Quality of Service) 제어를 제공한다.


그러나 상용 및 대다수의 오픈소스 DDS는 대역폭이 풍부하고 안정적인 유선 네트워크 환경을 주된 대상으로 설계되었다. 


이로 인해 2.4GHz 등 물리적 한계가 뚜렷한 무선 대역에서 다수의 기기가 동시에 통신을 시도할 경우 심각한 성능 저하 및 통신 불안정 문제가 발생한다.


특히 DDS 네트워크에참여하는 노드들이 서로의 존재를 파악하는 탐색(Discovery)단계에서 막대한 멀티캐스트 네트워크 트래픽이 발생하며, 이는 라우터의 병목 현상과 심각한 패킷 손실로 이어진다.


본 연구에서는 기존 DDS가 무선 다중 기기 환경에서 겪는 근본적인 통신 단절 문제를 해결하기 위해, 시스템 프로그래밍 언어인 Rust를 기반으로 독자적으로 개발한 통신 미들웨어'int2DDS'를 제안한다. 


제안하는 시스템은 기존 C/C++ 기반 미들웨어가 가지는 메모리 안전성 문제를 컴파일 단계에서 해결하며, 브로드캐스트 탐색 방식을 도입하여 라우터의 멀티캐스트 차단 문제를 우회한다. 


본 논문은 30대 이상의 무선 단말기가 참여하는 복합 네트워크 환경을 구축하여 int2DDS의 실효성을 검증하고, 기존 오픈소스 DDS와의 성능 비교를 통해 그 우수성을 입증하고자 한다.



Ⅱ. 관련 연구


1. 무선 환경에서의 DDS Discovery 한계


DDS 시스템에서 각각의 참여자(Participant)는 통신을 시작하기 위해 SPDP(Simple Participant Discovery Protocol)를 통해 서로를 탐색한다. 이 과정은 주로 멀티캐스트(Multicast)를 통해 이루어진다. 


그러나 무인 이동체 군집망이나 제한된 무선 다중

접속 환경에서는 각 노드가 주기적으로 송출하는 멀티캐스트 패킷이 기하급수적으로 증가하여 네트워크 오버헤드를 유발한다.


이현규 외(2024)[1]의 연구에 따르면, 노드 수가 일정 수준이상 증가할 경우 단순 탐색 방식은 트래픽 폭주를 일으킨다.


상용 무선 라우터(공유기)의 경우, 이러한 멀티캐스트 트래픽급증을 비정상적인 부하로 인식하여 멀티캐스트 패킷 자체를 차단(Drop)하는 자체 보호 매커니즘이 작동한다. 

그 결과, 새로운 노드가 네트워크에 진입하지 못하거나 기존 통신이 단절

되는 상황이 발생한다.



2. 안전성 중심의 미들웨어 언어 동향

현재 ITS 및 모빌리티 분야에서 가장 널리 쓰이는 미들웨어(FastDDS, CycloneDDS 등)는 주로 C나 C++로 구현되어있다. 

이러한 언어들은 실행 성능(Runtime Performance) 면에서는 뛰어나지만, 수많은 노드가 비동기적으로 데이터를 주고받는 복잡한 멀티스레드 환경에서 메모리 누수나 데이터 경합(Data Race)과 같은 취약점에 노출되기 쉽다[2].


차량의 제어권과 직결되는 SDV(Software Defined Vehicle)나 물리적 AI(Physical AI) 환경에서는 미들웨어의 결함이 치명적일 수 있다. 


최근에는 컴파일 타임에 메모리 안전성을 강제하는 Rust 언어를 시스템 미들웨어에 적용하려는 움직임이

학계와 산업계 전반으로 확산되고 있다[3].






Ⅲ. int2DDS 시스템 설계 및 구현


222e195cdf4fa.jpeg

<그림 1> OMG- DDS Layer


1. Rust 기반 메모리 안전성 및 고성능 구조

int2DDS는 C/C++와 대등한 고성능을 유지하면서도 메모리 안전성을 보장하는 Rust 언어로 전면 개발되었다. Rust 언어의 특성을 활용하여 달성한 주요 기술적 이점은 다음과 같다.


1) 메모리 보호

가비지 컬렉터(GC) 없이 데이터의 소유권을 엄격히 규칙화하여 관리하여, 이를 통해 할당된 메모리를 해제하지 않아 발생하는 메모리 누수나, 이미 해제된 메모리에 접근하는 '대상을 잃은 포인터(Dangling Pointer)' 문제를 컴파일 단계에서 원천적으로 차단한다.


2) 빌림 검사기와 동시성

DDS 미들웨어는 데이터를 송수신하는 수많은 스레드가 동시에 동작한다. Rust의 빌림 검사기는 데이터를 참조하는 규칙을 엄격히 검사하여, 런타임에 발생할 수 있는 데이터 경합을 사전에 감지하고 거부한다. 

이를 통해 임베디드 장비 등 제한된 자원 위에서도 오버헤드 없이 안전한 멀티스레딩 통신 구현이 가능해졌다.


3) 제로 비용 추상화(Zero-cost Abstractions)

고수준의 프로그래밍 패턴을 사용하더라도 C 언어 수준의 기계어로 번역되어 추가적인 런타임 오버헤드가 발생하지 않는다.



2. 무선 환경 맞춤형 탐색(Discovery) 아키텍처

int2DDS의 가장 큰 특징은 기존 DDS가 스펙상 의존하던 멀티캐스트 탐색의 한계를 구조적으로 해결했다는 점이다.

앞서 서술한 바와 같이, 무선 공유기는 부하가 걸리는 순간 전체 네트워크 보호를 위해 멀티캐스트 패킷을 막아버린다. int2DDS는 이 문제를 해결하기 위해 노드 탐색 단계에서 브로드캐스트(Broadcast) 통신 방식을 동시에 지원하도록 설계되었다.


브로드캐스트 방식은 네트워크 망 내의 모든 단말에게 패킷을 전송하므로 라우터의 멀티캐스트 차단 정책을 우회할 수 있다. 


실제 2.4GHz 대역 테스트 결과, 트래픽 부하가 극심한

상황에서도 브로드캐스트 패킷은 정상적으로 도달하여, 네트워크 참여자 간의 Discovery가 단절 없이 100%에 가깝게 성공함을 확인하였다.



3. 하이브리드 네트워크 토폴로지 구성

2.4GHz 무선 대역은 주파수 간섭과 채널 포화로 인해 단일 무선 공유기 1대에서 30대의 기기가 동시 통신하기 어렵다는 물리적 한계가 존재한다. int2DDS는 통신 안정화를 극대화하기 위해 네트워크 인프라를 분리 구성하는 하이브리드 아키텍처를 적용하였다.


중앙의 메인 공유기를 하나의 망으로 두고, 하위에 3대의

공유기를 허브 모드로 구성하여 노드들을 분산시킨다. 이후 각 허브 간의 채널을 3개로 분리함으로써 물리적 간섭을 회피하는 환경을 제공한다.

Ⅳ. 성능 시험 평가


1. 시험 환경 구성

시험망은 AX1500SR 공유기 1대당 10대씩의 Nano Pi를 할당하여 총 3개의 세트(Set)로 분산 구성하였다. 3대의 허브는 RT-BE58U에 연결되어 물리적으로는 3개의 채널로 분리되나 논리적으로는 하나의 네트워크 망으로 묶여 작동한다. 구성된 네트워크 내부의 무선 디바이스 간에는 int2DDS를 통해 실시간 Publish/Subscribe를 수행하며, 수집된 데이터를 외부의 타 네트워크로 전송을 위한 브릿지를 통해 데이터를 전달하도록 구성하였다.


042985cc1919a.jpeg


<그림 2> 시험망 구성도


2. 시험 방법 및 평가

기존 오픈소스로 배포되는 DDS(FastDDS, CycloneDDS 등)는 무선 환경에서 멀티캐스트 차단으로 인해 다중 기기 간 통신이 불가능하였다. 


반면 int2DDS는 브로드캐스트 기반 탐색 방식을 통해 30대의 무선 디바이스가 순차적으로 네트워크에

진입하여 실시간 데이터 송수신에 성공함으로써 무선 다중 통신 가능성을 실증하였다.


이에 따라 정량적 성능 비교는 세 DDS 모두 구동 가능한

1:1 통신 환경에서 수행하였다. 평가 지표는 평균 지연 시간(Latency)과 메시지 손실률(Packet Loss Rate)로 설정하였다. 


시험은 유선(LAN) 환경과 무선(Wifi) 환경으로 구분하여 진행하였으며, 무선 환경에서는 socket buffer 설정(2M, 8M)을 달리하여 조건별 성능 차이를 측정하였다. 데이터 페이로드 크기는 실제 ITS 환경에서 발생하는 데이터 특성을 반영하여 1KB, 64KB, 1MB의 세 가지 조건으로 설정하였다.


1) 유선(LAN) 환경

유선 환경에서는 int2DDS, FastDDS, CycloneDDS 모두 안

정적인 성능을 보였다. 1KB 페이로드 기준 int2DDS의 평균

지연시간은 0.08ms로 FastDDS(0.14ms) 대비 약 43% 낮은

수치를 기록하였으며, 전 구간에 걸쳐 메시지 손실률은 0%를

유지하였다. 이는 유선 환경에서는 기존 DDS와 동등 이상의

기본 성능을 갖추고 있음을 보여준다.

f129095bb2dd7.png

2) 무선(Wifi) 환경 — socket buffer default

무선 환경에서는 세 DDS 간의 성능 격차가 뚜렷하게 드러

났다. 특히 64KB 페이로드 조건에서 FastDDS의 평균 지연

시간은 62.78ms, CycloneDDS는 102.42ms까지 급증한 반

면, int2DDS는 13.18ms를 유지하여 FastDDS 대비 약 79%,

CycloneDDS 대비 약 87% 낮은 지연시간을 기록하였다. 메

시지 손실률 측면에서도 1MB 페이로드 조건에서 FastDDS는

21.91%, CycloneDDS는 5.42%의 손실이 발생하였으나,

int2DDS는 전 조건에서 0%의 손실률을 유지하였다.


9387ffc1b139e.png

<표 2> Wifi 환경 평균 지연시간 비교 — socket

buffer default (ms)



3) 무선(Wifi) 환경 — socket buffer 조건별

socket buffer 크기를 8M으로 설정한 경우 전반적인 지연시

간이 개선되었다. 1KB 페이로드에서 int2DDS(2.24ms)는

FastDDS(2.18ms), CycloneDDS(2.16ms)와 유사한 수준을 보

였으나, 페이로드가 커질수록 격차가 벌어져 1MB 조건에서

int2DDS 124.34ms, FastDDS 129.46ms, CycloneDDS

193.85ms를 각각 기록하였다. socket buffer 2M 조건에서도

int2DDS가 전 구간에서 가장 안정적인 지연시간을 유지하였다

2652cbead2ba0.png

<표 3> Wifi 환경 socket buffer 조건별 평균

지연시간 비교 (ms)

Ⅴ. 결론


본 논문에서는 기존 DDS가 2.4GHz 무선 다중 접속 환경에서 겪는 멀티캐스트 탐색 부하 및 통신 단절 문제를 분석하고, 이를 극복하기 위한 통신 미들웨어 'int2DDS'를 제안하였다. 


int2DDS는 Rust 기반의 메모리 안전성, 브로드캐스트 탐색 우회, 하이브리드 네트워크 토폴로지를 통해 30대 이상의무선 기기 환경에서 성공적인 실시간 통신을 실증하였다.


성능 평가 결과, 무선 환경 64KB 페이로드 기준

FastDDS(62.78ms), CycloneDDS(102.42ms) 대비 int2DDS는 13.18ms로 현저히 낮은 지연시간을 기록하였으며, 전 조건에서 메시지 손실률 0%를 유지하여 무선 다중 기기 환경에 특화된 미들웨어로서의 우수성을 입증하였다.


향후 코어 로직의 오픈소스 배포 및 SDV 미들웨어 시스템으로의 확장을 통해 지능형 교통 체계와 물리적 AI 인프라 구축에 기여할 계획이다.


감사의 글


이 논문은 2026년 정부(과학기술정부통신부)의 재원으로 정보통신기획평가원의 지원을 받아 수행된 연구임

(RS-2023-00277078, 자율주행을 위한 다중다종 센서 융합의 인공 신경망 구동 최적화 및 통합 인지 SW 기술 개발)



참고문헌


[1] 이현규, 문성태, "군집 운영을 위한 PX4-ROS2 무선 통신 최적화 기술 연구," 한국통신학회논문지, 제49권 제7호, pp. 947-954, 2024.


[2] Y. Maruyama, S. Kato, and T. Azumi, "Exploring the performance of ROS2," in Proceedings of the 13th International Conference on Embedded Software (EMSOFT), Pittsburgh, PA, USA, pp. 1-10, Oct. 2016.


[3] S. Qin, G. Chen, W. Chen, Y. Wu, and Z. Chen, "Understanding Memory and Thread Safety Practices and Issues in Real-World Rust Programs," in Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation

(PLDI), London, UK, pp. 763-779, Jun. 2020.

mobile background

데이터 기반 상담으로

기술 검토부터 전략 수립까지 함께 합니다.


대표자  ∙  김승욱, 고선규, 이상웅

사업장 주소  ∙ 서울시 강남구 영동대로 85길 13, 송석빌딩 8층

이메일  ∙  contact@int2.us