[통신] zenoh

About_work·2024년 6월 11일
0

통신

목록 보기
3/4

0. 들어가기 전에

0.1. 허브 라우터 스위치 차이

0.2. ros2 통신 원리


0.3 data routing이란?

  • "데이터의 효율적인 라우팅"이란 데이터를 보낼 때, 최적의 경로를 선택하여 네트워크 자원을 최소화하고 데이터 전송의 효율을 극대화하는 과정을 의미
  • 이 개념은 네트워크 트래픽을 관리하고, 지연 시간을 줄이며, 전반적인 네트워크 성능을 향상시키는 데 중요한 역할을 합니다.
  • 특히, 분산 시스템이나 넓은 지역에 걸쳐 있는 네트워크에서 데이터를 효율적으로 관리하기 위해 필수적

0.3.1. 데이터 라우팅의 중요성

  1. 네트워크 자원의 최적화:
  • 데이터를 전송할 때 가장 짧거나 혼잡하지 않은 경로를 선택함으로써, 필요 이상의 네트워크 자원 사용을 줄일 수 있습니다. 이는 특히 대용량 데이터를 다룰 때 중요하며, 네트워크 비용을 절감할 수 있습니다.
  1. 지연 시간 감소:
  • 데이터를 빠르게 전달하기 위해 최적의 경로를 선택하면, 전송 지연을 최소화할 수 있습니다.
  1. 네트워크 성능 향상:
  • 효율적인 라우팅은 네트워크의 전체적인 성능을 향상시킬 수 있습니다.
  • 데이터 트래픽이 균등하게 분산되고, 네트워크 병목 현상을 방지하여 안정적인 서비스 제공이 가능해짐

0.3.2. 데이터 라우팅의 구현 방법

  • 동적 라우팅 알고리즘 사용:
    • 네트워크의 현재 상태(트래픽, 대역폭 사용량 등)를 기반으로, 실시간으로 최적의 경로를 계산하는 알고리즘을 사용
  • 멀티패스 라우팅:
    • 데이터를 여러 경로로 분할하여 전송함으로써, 하나의 경로에 문제가 생겨도 데이터 전송이 중단되지 않고 다른 경로를 통해 계속 전송될 수 있도록 합니다.
  • 네트워크 모니터링 도구:
    • 네트워크의 성능을 지속적으로 모니터링하고, 이를 바탕으로 데이터 라우팅 전략을 조정

1. Zenoh?

  • Zenoh는 분산 시스템을 위한 프로토콜로서, 데이터의 효율적인 라우팅, 저장, 쿼리를 위해 설계된 고성능, 확장 가능한 통신 레이어
  • 이는 사물인터넷(IoT), 로보틱스, 지리적으로 분산된 애플리케이션과 같이 매우 다양한 네트워크 환경에서 운용되는 시스템에서 주로 사용
  • Zenoh의 목표: 데이터 중심의 통신을 간소화하고 최적화하는 것으로, 큰 데이터 트래픽다양한 네트워크 조건을 관리할 수 있게 설계됨

1.1. Zenoh의 주요 특징

    1. 효율적인 데이터 라우팅:
    • Zenoh는 데이터를 전송할 때 효율적인 경로를 선택하여 네트워크 사용을 최소화
    • 이는 네트워크 트래픽과 지연 시간을 감소시켜, 특히 대용량 데이터를 처리하는 시나리오에서 유리
    1. 가변성 있는 네트워크 아키텍처 지원:
    • Zenoh는 네트워크의 변동성(예: 연결 불안정, 대역폭 변화 등)을 자동으로 감지하고 이에 적응하여 성능을 유지
    • 이는 네트워크 상태가 자주 변하는 모바일 환경이나 원격 지역에서 유리하게 작용
    1. 스케일러빌리티:
    • Zenoh는 매우 큰 규모의 네트워크에서도 효율적으로 작동할 수 있도록 설계
    • 클라우드 서버부터 단일 마이크로컨트롤러에 이르기까지 다양한 환경에서 사용 가능
    1. 데이터 중심의 접근 방식:
    • Zenoh는 데이터 자체에 초점을 맞춥니다.
    • 데이터의 위치, 상태, 역사 등을 통합 관리
    • 사용자는 데이터의 이름이나 속성으로 데이터를 쿼리할 수 있음
    1. 멀티 프로토콜 지원:
    • Zenoh는 TCP, UDP, 이더넷 등 다양한 하위 네트워크 프로토콜 위에서 작동할 수 있으며, 필요에 따라 적절한 프로토콜을 선택할 수 있습니다.

1.2. Zenoh의 주요 사용 사례

    1. IoT 디바이스 네트워킹:
    • 다수의 IoT 디바이스가 상호작용하며 데이터를 주고받는 환경에서 Zenoh는 이러한 디바이스 간의 통신을 최적화하여 효율적인 데이터 교환을 지원합니다.
    1. 로보틱스 커뮤니케이션:
    • 로봇 시스템 간 또는 로봇과 서버 간의 효율적인 데이터 통신을 위해 Zenoh를 사용할 수 있습니다. 로봇의 센서 데이터, 제어 명령 등을 신속하게 전송하고 처리할 수 있습니다.
    1. 분산 애플리케이션:
    • 지리적으로 분산된 데이터 센터 또는 클라우드 서비스에서, Zenoh를 사용하여 데이터 동기화와 라이브 업데이트를 효율적으로 관리할 수 있습니다.

1.3. Zenoh Router ?

  • Zenoh는 데이터 중심의 프로토콜

전통적인 IP 라우터

  • 전통적인 IP 라우터는 IP 주소를 기반으로 패킷의 출발지와 목적지를 확인
  • 라우터는 라우팅 테이블을 사용하여 패킷이 어느 경로로 전송될지를 결정하며, 이는 네트워크의 효율성과 성능을 유지하기 위해 중요
  • 이 라우터들은 주로 네트워크 계층(3계층)에서 작동하며, 패킷 전달과 관련된 결정만을 내립니다.

Zenoh 라우터의 특징

  • Zenoh 라우터는 데이터 중심의 접근 방식을 사용하며, Zenoh 네트워크 내에서 데이터의 라우팅, 저장, 검색을 관리
  • 이는 전통적인 IP 라우터와는 다른 몇 가지 주요 특징을 가집니다:
  1. 데이터 중심 라우팅:
  • Zenoh 라우터는 IP 주소 대신, 데이터의 키(또는 식별자)와 속성을 기반으로 라우팅 결정을 내립니다.
  • 이는 데이터의 의미와 중요성을 고려하여 더 효율적인 데이터 전송을 가능하게 합니다.
  1. 피어 투 피어 아키텍처:

    • Zenoh는 중앙집중식 서버 없이 피어 투 피어 방식을 사용하여 각 노드가 서로 직접 통신할 수 있습니다.
    • 이는 네트워크 지연을 최소화하고, 데이터의 신속한 전송을 지원
  2. 멀티 프로토콜 지원:

    • Zenoh 라우터는 TCP, UDP, 직렬 연결 등 다양한 전송 프로토콜을 지원
    • 이를 통해 다양한 네트워크 환경과 상황에 유연하게 적용할 수 있습니다.
  3. 가변 구독:

    • Zenoh는 데이터의 필요에 따라 구독을 동적으로 조정할 수 있으며, 이는 네트워크 트래픽과 데이터 처리 요구를 최적화할 수 있게 해줍니다.
  4. 데이터 저장 및 캐싱:

    • Zenoh 라우터는 데이터를 필요에 따라 임시로 저장하거나 캐싱할 수 있습니다. 이는 네트워크의 효율성을 높이고, 데이터 접근 시간을 단축하는 데 도움을 줍니다.

  • 이러한 특징들은 Zenoh 라우터가 단순한 패킷 전송 이상의 역할을 하게 하며, 특히 분산된 데이터 관리와 실시간 데이터 처리에 적합하게 만듭니다. 이는 전통적인 IP 라우터와는 확연히 다른 접근 방식으로, 더 동적이고 데이터 중심적인 네트워킹을 가능하게 합니다.

  • 데이터 중심 라우팅에 대한 이해를 돕기 위해, Zenoh 라우터가 어떻게 데이터의 키와 속성을 사용하여 라우팅을 결정하는지 구체적인 예시를 들어 설명하겠습니다.

예시: 스마트 홈 시스템

  • 시나리오: 여러분의 스마트 홈 시스템에는 여러 센서(온도, 습도, 움직임)와 기기(조명, 에어컨, 보안 카메라)가 설치되어 있으며, 이 모든 데이터는 중앙 서버로 전송되어 처리
  • 전통적 IP 라우팅:
    • 각 장치는 IP 주소를 사용하여 데이터를 네트워크 내 다른 장치나 서버에 전송
    • 네트워크 트래픽과 서버 부하는 라우터의 효율성에 크게 의존하며, 라우터는 단지 IP 주소를 바탕으로 패킷을 전달합니다.
  • Zenoh 데이터 중심 라우팅:
    • 각 센서의 데이터는 고유한 키(예: home/living_room/temperature)와 데이터 속성(예: 긴급, 중요도, 타입)을 가집니다.
    • Zenoh 라우터는 이 키와 속성을 기반으로 데이터를 라우팅합니다.
      • 예를 들어, 긴급 속성이 있는 데이터는 높은 우선 순위를 받아 더 빠르게 처리 가능

데이터 중심 라우팅의 구체적 접근 방식

  1. 키 기반 라우팅:
  • Zenoh는 데이터를 키를 기준으로 구분
  • 예를 들어, 온도 센서에서 오는 데이터(home/living_room/temperature)는 조명 제어(home/living_room/light)와 구분
  • 라우터는 이 키를 확인하여 해당 데이터가 어느 서버 또는 서비스로 전송될지 결정
  • 이는 네트워크 자원을 보다 효율적으로 사용하게 함
  1. 속성 기반 라우팅:
  • 데이터의 긴급성, 중요도 같은 속성에 따라 라우팅 우선순위가 결정
  • 긴급한 보안 카메라 경보는 일반 조명 제어 데이터보다 먼저 처리될 수 있습니다.
  • 이는 특히 실시간 데이터 처리가 중요한 응용 프로그램에서 중요합니다.
  1. 유연성과 확장성:
  • Zenoh의 데이터 중심 라우팅은 네트워크의 변경이나 확장이 이루어져도 라우팅 로직을 크게 변경하지 않고도 적응할 수 있습니다.
  • 새로운 장치나 센서가 추가되더라도 해당 데이터 키와 속성만 정의하면 쉽게 통합할 수 있습니다.
profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글