11.1 ROS2 통신 미들웨어의 진화와 Zenoh의 필요성

11.1 ROS2 통신 미들웨어의 진화와 Zenoh의 필요성

ROS2(Robot Operating System 2)의 실시간 통신의 근간이었던 DDS(Data Distribution Service)는 견고한 표준 기술이나, 상용 로보틱스 시장의 요구사항에 부합하기에는 아키텍처적 한계를 내포하고 있다. 다수의 자율 이동 로봇(AMR, Autonomous Mobile Robot)군이 5G 및 위성 통신망(Starlink 등)과 같은 광역 네트워크(WAN) 상에서 원활하게 상호 운용되어야 하는 현대의 운용 환경에서는 새로운 전환점이 요구된다.

본 절에서는 기존 ROS2의 RMW(ROS Middleware) 계층을 점유했던 DDS 기반 통신 구조의 제약 사항을 심층적으로 분석하고, 차세대 프로토콜인 Zenoh가 어떻게 이러한 한계들을 극복할 수 있는지에 대한 아키텍처의 패러다임 시프트 현상을 규명한다.

1. 기존 ROS2 DDS 아키텍처의 구조와 한계

로보틱스 소프트웨어의 사실상 표준(De-facto Standard)으로 자리 잡은 ROS2는 네트워크 계층을 RMW 계층으로 추상화한 뒤, 하부에 FastDDS, CycloneDDS 등 다양한 DDS 벤더의 구현체를 탑재하여 구동된다. 그러나 이러한 아키텍처는 근거리 유선 이더넷(Gigabit Ethernet) 환경을 상정하고 설계된 레거시(Legacy) 통신 모델의 한계를 안고 있다.

graph TD
    classDef rosClass fill:#e1f5fe,stroke:#333,stroke-width:1px;
    classDef ddsClass fill:#fff3e0,stroke:#333,stroke-width:1px;
    classDef zenohClass fill:#f3e5f5,stroke:#333,stroke-width:2px;

    subgraph "ROS2 Application Layer"
        R[ROS2 Nodes / Lifecycle]
    end

    subgraph "Middleware Interface"
        RMW[RMW API Layer]
    end

    subgraph "Legacy Architecture"
        DDS[DDS Implementation<br>e.g. FastDDS, CycloneDDS]
        Multicast((UDP Multicast<br>Local Subnet Only))
    end

    subgraph "Next-Generation Architecture"
        ZenohRMW[rmw_zenoh]
        ZenohCore[Zenoh Core Engine<br>TCP/UDP/QUIC]
        Router((Zenoh Router<br>LAN/WAN/Cloud))
    end

    R --> RMW
    RMW -.->|Past| DDS
    DDS --> Multicast
    
    RMW ==>|Future| ZenohRMW
    ZenohRMW ==> ZenohCore
    ZenohCore ==> Router

    class R,RMW rosClass;
    class DDS,Multicast ddsClass;
    class ZenohRMW,ZenohCore,Router zenohClass;

1. 막대한 디스커버리 오버헤드 (Discovery Overhead)
DDS 표준 규격은 완벽한 분산 P2P를 지향하므로, 네트워크에 노드(Node)가 새롭게 진입할 때마다 망 내의 모든 노드와 교차로 통신하며 핸드쉐이크(Handshake)를 수행해야 한다. 로봇 대수가 증가함에 따라 디스커버리 트래픽은 기하급수적으로 폭증하며, 실제 센서 데이터가 점유해야 할 대역폭의 대다수를 “상태 알림(Discovery XML)” 트래픽이 잠식하는 현상(Discovery Storm)을 촉발한다.

2. 멀티캐스트(Multicast) 의존에 따른 토폴로지 제약
DDS는 엔드포인트 탐색을 위해 UDP 기반의 멀티캐스트(Multicast) 패킷 발송에 크게 의존한다. 그러나 퍼블릭 클라우드(AWS, Azure, GCP 등)의 가상 사설망(VPC) 스위치 장비들은 보안 및 트래픽 폭주 방지를 위해 멀티캐스트를 전면 차단하고 있다. 이에 따라 클라우드와 로봇 간 직접 통신을 구성하기 위해서는 VPN 단말이나 릴레이(Relay) 서버를 강제로 도입해야 하는 아키텍처적 결함이 존재한다.

2. 무선 네트워크(Wi-Fi, 5G) 환경에서의 데이터 유실 및 불안정성 문제

DDS 기반의 ROS2 시스템은 유선 스위치 환경에서는 안정적이나, Wi-Fi 및 모바일 무선망으로 전환될 시 급격한 성능 저하를 야기한다.

1. 대역폭 포화(Bandwidth Saturation)와 패킷 손실
로봇이 라이다(LiDAR) 3D 포인트 클라우드(Point Cloud)나 고해상도 카메라 영상(Image Stream)과 같이 초당 수십 메가바이트(MB)에 달하는 방대한 데이터를 DDS 코어로 주입할 시, 무선망(Wi-Fi)에서는 TCP/UDP 재전송(Retransmission) 스톰에 빠져 치명적인 패킷 분실(Packet Loss)이 발생하고 통신 큐(Queue)가 마비될 가능성이 높다.

2. 통신 단절(Disconnection)에 대한 회복력 부족
주행 중인 로봇이 Wi-Fi 음영지대(Shadow Zone)를 통과하여 일시적인 세션 단절이 발생할 경우, DDS 엔진은 수만 번의 재전송 요청 루프를 처리하느라 CPU 점유율을 비정상적으로 소모한다. 연결 재확립(Re-discovery)까지 길게는 수 초 이상이 소요되며, 이는 실시간 제어(Real-time Control)가 필수적인 자율주행 알고리즘에 치명타로 작용한다. 진정한 자율주행 엣지(Edge) 로보틱스를 위해서는 무선망의 잦은 단절과 레이턴시(Latency) 스파이크를 견뎌내는 내결함성(Loss-Tolerant) 통신 계층이 요구된다.

3. 이기종 네트워크(LAN-WAN) 간의 확장성 및 장벽 극복

산업용 로봇군을 지리적으로 분산된 클라우드(WAN) 상에서 원격 관제(Teleoperation) 및 모니터링하기 위한 수요가 급증하고 있으나, DDS는 본질적으로 단일 로컬 서브넷(Local Subnet) 내부망(LAN)에 최적화된 프로토콜이다.

1. 서브넷 라우팅 장벽 (Subnet Routing Barrier)
ROS2 노드(Node)들은 라우터 망(NAT) 구조를 기본적으로 통과할 수 없다. 즉, 특정 대역(예: 192.168.0.x)을 벗어나는 순간 DDS 탐색 패킷은 라우터에 의해 차단(Drop)된다. 물리적인 제어 대상들이 서로 다른 빌딩, 심지어 5G 망과 Wi-Fi 망 간 이기종 네트워크에 산재해 있을 경우 ROS2 단일 통신망으로 묶기 불가능하다.

2. 기존 인프라 개조의 한계
이러한 한계를 우회하기 위해 과거의 시스템 엔지니어들은 SROS2와 같은 가상 VPN 터널망을 강제 구성하거나, 각 게이트웨이마다 외부 종속적인 DDS Router 데몬을 추가로 배치해야 하는 운영 파편화(Fragmentation) 문제를 감수해야 했다.

따라서 전 지구적 인터넷 공간(WAN)에서 로봇들이 마치 로컬 네트워크에 존재하는 것처럼 제약 없이 통신할 수 있는, 차세대 통합 라우팅 아키텍처가 절실히 요구되고 있는 시점이다.

4. ROS2 생태계가 차세대 미들웨어로 Zenoh에 주목하는 이유

Eclipse 파운데이션의 Zenoh 프로젝트 도입은 DDS의 경직된 아키텍처적 한계를 해소하고자 하는 ROS2 코어 개발 진영(Open Robotics)의 주요한 마일스톤(Milestone)으로 평가받고 있다.

Zenoh가 ROS2 네트워킹의 대안으로 부상한 4가지 공학적 근거:

  1. 디스커버리 오버헤드 최소화 (Zero-Discovery Storms):
    Zenoh는 인프라스트럭처 수준의 라우터(Router) 기반 토폴로지를 적용하여 엔드 노드 간 교차 디스커버리를 제한한다. 오직 라우터에게 자신의 리소스를 선언(Declare)하는 방식만으로 전체 망 파악이 가능하므로 디스커버리 혼잡을 원천 배제한다.

  2. 완벽한 이기종 망 통합 (LAN to WAN Seamless Bridging):
    NAT(Network Address Translation) 및 방화벽 구조 등 다양한 인터넷 환경 속에서도 Zenoh 라우터는 라우팅 정보를 효율적으로 교환한다. 클라우드 서버 노드와 단말 로봇 노드 간의 통신이 별도의 VPN 없이 단일 망(Single Subnet)처럼 유연하게 동작한다.

  3. 마이크로컨트롤러(MCU)부터 데이터센터까지 포괄적 호환성:
    100KB 미만의 메모리를 갖춘 초소형 센서 모듈(Zenoh-Pico 활용)부터 고성능 관제 서버까지 동일한 프로토콜 스펙으로 통일할 수 있으므로, ROS2의 생태계를 궁극적으로 모든 IoT 엣지 단말까지 확장시킬 수 있다.

  4. 오픈소스 생태계와의 비침투적 통합 (Non-Intrusive Integration):
    통신 아키텍처 구조의 대대적인 변경에도 불구하고, 로보틱스 애플리케이션 개발자는 rclcpprclpy 등 작성된 기존 ROS2 소스코드를 한 줄도 변경할 필요가 없다. 하위 미들웨어 엔진만 교체(rmw_zenoh)함으로써 이 모든 통신 인프라 혁신을 누릴 수 있다.

결론적으로, 이러한 기능적 검증을 토대로 ROS2의 최신 배포판(Jazzy 등)에서는 공식 RMW 구현체 중 하나로 rmw_zenoh 채택 및 고도화가 강력하게 추진되고 있으며, 로보틱스 통신 표준의 대격변이 본격화되고 있다.