====== Architecture Map ====== ===== Purpose ===== This page explains how the major MOSH subsystems relate to one another. ===== Layered View ===== ^ Layer ^ Responsibility ^ | MOSH | smart-home logic, node behavior, elements, virtual wires | | IMC | carrier abstraction and message boundary | | MTRP | routing, forwarding, path selection, transport-neutral packet handling | | Transport | physical or link-layer communication such as ESP-NOW or NRF24 | | Hardware | boards, radios, peripherals, and device-specific capabilities | ===== Relationship Summary ===== MOSH describes what the node wants to do. IMC describes how MOSH hands that intent to a communication carrier. MTRP describes how packets are routed, forwarded, and delivered across one or more transports. The transport layer describes how bytes move over a specific link. ===== Message Flow ===== A typical message path looks like this: - MOSH creates or requests an action - IMC hands that action to a carrier - the carrier uses MTRP to route or deliver the message - MTRP selects a path and uses a transport - the receiving side processes the message and returns it upward ===== Important Separation ===== MOSH and MTRP solve different problems. * MOSH is application behavior * MTRP is network behavior IMC exists so those layers can evolve without being tightly coupled. ===== Design Benefit ===== This structure allows: * MOSH logic to remain transport-independent * multiple transport backends to exist under one routing model * constrained and full-capability nodes to participate in one system * bridge nodes to connect different transport classes ===== Where To Go Next ===== * [[mosh:architecture|MOSH Architecture]] * [[imc:carrier|Carrier Model]] * [[mtrp:start|MTRP Protocol]] * [[hardware:support_matrix|Supported Platforms]]