CAN Bus Transport
High-throughput, frame-based field bus integration.
CAN bus is a deterministic, broadcast transport designed for real-time systems. MapsMessaging integrates with CAN via SocketCAN and ingests frames as fast as the bus allows.
The bus itself defines throughput, ordering, and arbitration. There is no concept of connection state, retries, or flow control at the transport layer.
Features
- Native SocketCAN integration
- Zero connection setup
- Deterministic arbitration at the hardware level
- High-frequency frame ingestion
- Low latency, low overhead
- Suitable for embedded and industrial systems
When to Use CAN Bus
CAN bus is recommended when:
- Interfacing with embedded systems or vehicles
- Deterministic timing matters more than payload size
- The data source controls transmission rate
- Reliability is handled at the protocol level (e.g. NMEA 2000, J1939)
- Extremely low overhead is required
If you need reliable delivery, large payloads, or remote clients, use TCP instead.
Transport Characteristics
Unlike TCP or UDP, CAN bus:
- Is broadcast, not point-to-point
- Has no sessions or connections
- Uses hardware arbitration, not software flow control
- Delivers fixed-size frames
- Cannot be back-pressured by the receiver
MapsMessaging operates as a passive consumer. The bus is always the limiting factor.
Endpoint Usage
CAN bus endpoints inherit common settings from EndPointConfigDTO, but most fields are ignored due to the stateless nature of CAN.
- name: "Canbus Interface"
url: canbus://::/
deviceName: can1
protocol: n2k
Notes
- url is a logical identifier, not a network address
- deviceName must refer to an existing SocketCAN interface
- protocol determines frame decoding and topic mapping
Message Handling Model
- Frames are read continuously from the bus
- No acknowledgement or retransmission is performed
- Unknown frames may be forwarded as raw payloads (protocol-dependent)
- Decoding and routing are handled by the configured protocol layer
The server does not throttle reads. If the bus is saturated, that is by design.
Security Notes
- CAN bus has no native authentication or encryption
- Physical access equals network access
- Use isolated networks or gateways where required
- Security must be enforced at higher protocol layers or externally
Operational Notes
- Bus speed and topology define throughput
- CPU usage scales with frame rate, not configuration
- Multiple consumers can safely read the same CAN interface
- MapsMessaging does not interfere with arbitration or timing
When NOT to Use CAN Bus
Avoid CAN bus when:
- Payloads exceed CAN frame limits
- Remote access is required
- Encryption or authentication is mandatory
- The data source cannot tolerate packet loss
Choose CAN bus when you want reality, not comfort.