13.7.4.2 Zenoh 코어 라우터 엔진 계층의 L7 우선순위 파이프라인 교차 폭격
시스템 아키텍트가 무결점 데이터플로우 제어를 위해 워터마크(Watermark)를 타격하고, 지각 패킷을 척살(Deadline Drop)하는 무자비한 매니페스트를 선언했다 한들, 결국 기반이 되는 네트워크 통신 회선에 심각한 경합(Contention)이 터지면 무가치해진다.
자율주행 1기가 뱉어내는 4K 비디오 스트림(지연되어도 무방한 로깅 데이터)과, 0.01초 안에 브레이크를 제어해야 하는 LiDAR 긴급 정지 시그널(Deadly Critical Data) 캡슐이 단일 Zenoh 멀티캐스트 네트워크 소켓망을 타고 질주할 때를 상상해라.
TCP/QUIC 프로토콜의 단일 배관에 이 두 이질적 텐서가 뒤섞여 들어간다면 비디오의 무거운 바이트 덩어리(100MB/s)들이 병목을 일으키고, 정작 로봇의 생사를 결정짓는 긴급 정지 패킷(1KB)은 비디오 데이터 꼬리 줄에 갇혀 하염없이 지연(Head-of-Line Blocking) 당하며 참사를 유발한다.
본 절에서는 멍청한 패킷의 평등주의를 박살 내고, L7(어플리케이션 계층)의 의미론(Semantics)을 Zenoh 코어 라우터가 탈취하여 스트림 패킷의 생사에 절대적 귀천(Priority)을 부여하는 파이프라인 트래픽 교차 폭격(Traffic Prioritization) 런북을 갈파한다.
1. 망 중립성의 붕괴: 큐(Queue)와 대역폭의 신분제
수학적 연산으로 무장한 데이터플로우의 세계에서는 패킷 간에 무한한 신분제가 존재한다.
비디오 영상은 처리 시간이 100ms 늦어지거나 몇 장 누락되어도 시스템은 복원 가능하다. 그러나 CAN 통신의 제어 벡터는 단 5ms 만 지연되어도 자율주행 제어 루프를 박살 낸다.
이를 통제하기 위해, 시스템 설계자는 Zenoh-Flow 앞단에 자리 잡은 코어 Zenoh Pub/Sub 라우터의 멱살을 잡고 우선순위 헤더(Priority Header) 를 강제로 꿰뚫어 주입(Inject)해야 한다.
// [L7 코어 라우팅 우선순위 계급 주입 런북]
// 1. 긴급 정지 연산 결과(Critical) 방출 배관!
// 가장 극단적인 계급(RealTime)을 부여하여 데몬 코어망의 최전방 프리패스를 강제한다.
pub_options = z::PublisherOptions::default()
.priority(z::Priority::RealTime);
// 2. 비디오 덤프(Background) 방출 배관!
// 천민 계급(Data/Background)을 박아 넣어 남는 대역폭만 파먹도록 추방한다.
pub_options_video = z::PublisherOptions::default()
.priority(z::Priority::Background);
2. Head-of-Line Blocking 학살 통치 기전
이 코드 단 한 줄에 의해 발동되는 라우터 펌프 런타임의 파급력은 무자비하다.
한국의 로봇 단말이 일본의 클라우드로 데이터를 전송하기 위해 좁아터진 해저 케이블 UDP 소켓에 바이트를 밀어 넣고 있다. 소켓 전송 버퍼에는 10메가바이트짜리 저열안 Background 영상 프레임들이 잔뜩 큐잉(Queueing) 되어 차례를 기다리는 중이다.
바로 그 찰나, 로봇 파이프라인에서 벼락같이 RealTime 신분의 제어 알림 캡슐 1KB 가 사출(Send)되어 라우터 엔진으로 떨어졌다.
일반 통신망이라면 이미 큐에 서 있는 영상을 다 보낸 뒤 이 제어 패킷을 실어 보낼 것이다(Head-of-Line Blocking). 하지만 Zenoh 코어 라우터는 그딴 L4(전송 계층)의 평등을 박살 낸다.
라우터 데몬은 송신을 위해 파이프망에 늘어선 수천 개의 비디오 패킷들 맨 앞줄로 RealTime 패킷 1KB를 폭력적으로 새치기(Preemption) 시킨다!
다음 틱(Tick)의 소켓 쓰기(socket.write()) 호출 타이밍에 영상 패킷은 뒤로 나가떨어지고, 긴급 캡슐이 0.1ms 의 무결점 찰나 속에서 대륙망 소켓 코어를 장악해 바다를 건너뛰게(Jump Queue) 된다.
3. 네트워크 토폴로지의 대역폭 강제 탈취 (Cross-Cut)
이 우선순위(Priority) 교차 폭격의 권력은 단순히 단일 엣지 보드(Node) 안에서만 놀아나지 않는다.
Zenoh 는 수천 대의 장비가 엮인 복잡한 메쉬 멀티캐스트(Mesh Multicast) 혹은 클리크(Clique) 망이다.
중간을 경유하는 중계(Broker/Router) 클라우드 노드들에 데이터가 몰려들어 대역폭 병목을 맞았다고 가정해보자. 경유지 데몬 엔진 역시 패킷들의 우선순위 헤더(Header)를 즉각 해독(Inspection)해 낸다. 그리고 스위칭 허브(Switching L7)의 역할을 태워 병목이 뚫릴 때까지 낮은 신분의 패킷들을 램(RAM) 바닥이나 Dev/Null 쓰레기장으로 무자비하게 던져 가둬(Drop) 버리고, 오직 VVIP(RealTime) 트래픽들만 1순위로 선별하여 클라우드망 밖으로 릴레이 토스 해버린다.
어플리케이션(L7 파이프라인)의 비즈니스적 긴급성(Semantics)이 통신 엔진망 맨 바닥의 전송 소켓 대역폭 점유 권력을 강제로 탈취(Cross-Cut)해내는 것. 이것이 1만 대 규모의 분산 기기가 쏟아내는 노이즈 폭풍 속에서도, 가장 고결한 단 1개의 자율주행 제어 펄스가 레이턴시 0의 확고함으로 망을 관통해 생존하는 Zenoh 급 하드 스웜(Swarm) 라우팅의 최종 전술이다.