Architecture

Zenoh operates seamlessly across heterogeneous environments by abstracting over the underlying network topology. A Zenoh network is a graph of nodes, each of which plays one of three roles.

Layered Model

┌─────────────────────────────────────┐
│           Application API           │
├─────────────────────────────────────┤
│     Data Plane  │   Query Plane      │  ← Push / Get / Reply
├─────────────────────────────────────┤
│            Session Layer            │  ← Open/Accept, Declarations, Interests
├─────────────────────────────────────┤
│           Transport Layer           │  ← Batching, Fragmentation, KeepAlive
├──────────┬──────────┬───────────────┤
│   TCP    │   UDP    │  QUIC / TLS … │  ← Network links
└──────────┴──────────┴───────────────┘

Node Roles

See Roles for the normative definition of Router, Peer, and Client.

Topologies

See Topologies for deployment patterns including peer-to-peer meshes, client-router, and hierarchical router networks.

Routing

See Routing for how declarations and data messages are propagated across the network.