Chapter 1. Zenoh의 탄생과 역사적 배경

Chapter 1. Zenoh의 탄생과 역사적 배경

분산 시스템의 역사에서 데이터 통신 기술은 연산 자원의 물리적 탈중앙화와 무선 네트워크 토폴로지(Topology)의 확장에 따라 끊임없는 진화를 겪어왔다. 초기 네트워크 모델은 호스트 간의 정적인 주소 매핑에 의존하는 클라이언트-서버(Client-Server) 아키텍처를 근간으로 하였으나, 사물인터넷(IoT) 장치의 폭발적인 증가와 에지 컴퓨팅(Edge Computing)의 등장은 한 지점에서 다른 지점으로 연결을 맺는 종래의 점대점(Point-to-Point) 방식에 구조적 한계를 초래하였다. 데이터 생산자와 소비자의 수가 기하급수적으로 늘어나고 연결의 가변성이 극대화되는 현대의 환경에서는, 물리적 노드의 ’위치’가 아니라 교환되는 ‘정보’ 자체를 식별하는 새로운 패러다임이 절실히 요구되었다.

이러한 시대적 요구 속에서 개발된 기존의 미들웨어 솔루션들은 나름의 영역에서 기술적 진보를 이루었음에도 불구하고 뚜렷한 한계를 노출하였다. 로보틱스와 실시간 분산 제어 영역의 표준인 DDS(Data Distribution Service)는 높은 신뢰성과 풍부한 서비스 품질(QoS) 옵션을 제공하였으나, 방대한 명세와 무거운 프로토콜 스택으로 인해 수 킬로바이트(KB)의 메모리만을 점유해야 하는 마이크로컨트롤러 환경에서 심각한 통신 오버헤드를 발생시켰다. 반대로 저전력 IoT 통신에 특화된 MQTT(Message Queuing Telemetry Transport)는 브로커(Broker) 중심의 스타(Star) 토폴로지를 강제함으로써, 노드 간 피어-투-피어(Peer-to-Peer) 협력 구조를 저해하고 네트워크의 코어에서 단일 장애점(Single Point of Failure) 및 병목 현상을 유발하는 태생적 약점을 지니고 있었다. 더욱이 데이터 전송(Data in Motion), 저장 상태(Data at Rest), 그리고 데이터의 가공 및 컴퓨팅(Data in Computation) 영역은 각각 단절된 채 독립적인 규약과 브리지(Bridge) 도구를 통해서만 간신히 상호 연결되고 있었다.

Zenoh(제노) 프로토콜은 이처럼 파편화된 분산 시스템, 특히 거대한 데이터 센터인 클라우드(Cloud)로부터 말단의 센서 노드인 마이크로컨트롤러까지를 잇는 거대한 컨티뉴엄(Cloud-to-Microcontroller Continuum)을 단일 통신 인프라로 수렴하기 위하여 탄생하였다. 초기 설계 과정에서부터 Zenoh 구성원들은 기존 프로토콜들이 감당하던 불필요한 메타데이터 전송과 연결 세션 유지 비용을 최소화하기 위해 노력하였다. 그 결과, 단 몇 바이트(Byte) 수준의 효율적인 와이어(Wire) 포맷만으로 데이터를 구성하는 극단적인 제로 오버헤드(Zero Overhead) 원칙이 채택되었으며, 불안정한 네트워크 링크와 가변적인 토폴로지 속에서도 안정적으로 노드를 스카우팅(Scouting)하고 경로를 확립하는 구조가 확립되었다.

본 장에서는 컴퓨터 통신 아키텍처의 패러다임 전환 과정을 살펴봄으로써, 데이터 중심 네트워킹(Data-centric Networking)의 중요성을 입증한다. 낡은 인터넷 프로토콜 설계가 남긴 주소 지정의 한계를 넘어서고자 제안된 리소스(Resource) 중심의 식별 체계와 라우팅(Routing) 메커니즘의 형성 과정을 고찰하며, 나아가 통신 오버헤드를 근본적으로 제거한 Zenoh가 어떠한 지향점을 토대로 현대 시스템 아키텍처의 난제들을 해결하고자 하는지 논증한다.