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.