Protocol Stack Model
An OSI-like layer model for the Wave Net protocol stack. See the introduction for more information and a comparison to the OSI and TCP/IP models.
Network Layers
Similar to the OSI model, the Wave Net protocol stack is broken down into 7 layers. Each layer has its own documentation and is responsible for a specific part of the communication process. This allows each layer to be developed and tested independently of the other layers, and ensures it can be replaced or modified without affecting the other layers, easing the development process.
Application Layer
Home to our Wave Chat application, which is a real-time messaging application that uses Wave Net for communication across multiple networks.
Package Layer
Our custom packet format that is used to encapsulate messages and data for transmission across multiple networks. This layer is responsible for encryption, compression, and packetization.
Transport Layer
A relatively lightweight layer responsible for non-signed message acknowledgements when needed for routing and retransmissions. This layer is also responsible for message segmentation and reassembly. This layer also handles packet segmentation and reassembly for the Package Layer.
Routing Layer
This layer, one of the most complex layers, is responsible for routing messages across multiple networks and mediums. It is responsible for finding the best path for a message to take to reach its destination and keeping track of the network topology.
Similar to our Transmit Layer, this layer is automatically handled by some technologies we build on top of and utilize. For example, the IP stack handles routing for the internet, so we don't need to implement it ourselves but rather ensure we can route messages to an internet-connected device.
Repair Layer
Messages that are corrupted in transmission are repaired by this layer. If the message is beyond repair, the layer will automatically request a retransmission from the Transmit Layer without bothering the Routing Layer.
Transmit Layer
This is the lowest layer of the Wave Net stack with a proprietary implementation. It is frequently handled automatically by medium-specific interfaces (i.e. BLE, Wi-Fi, etc. all have their own implementations of this layer).
This means that this layer is only implemented when a medium-specific interface is not available or when a new medium is being added that does not have an interface yet, such as LoRa. It is responsible for channel selection, bit rates, collision avoidance, and other medium-specific details.
Medium Layer
The transmission medium itself, such as Bluetooth Low Energy (BLE) or the LoRa modulation scheme developed by Semtech, is outside the scope of Wave Net.
In the future we plan to implement our own radio hardware and modulation scheme for chirp spread spectrum (CSS) and FHSS for long-range communication, but for now we depend on existing hardware and drivers/interfaces for them.
Layer Documentation
Click on a layer above or one of the cards below to view the documentation for that layer.
🗃️ Application
1 item
🗃️ Package
2 items
📄️ Transport
ACKs, fragmentation, reassembly, and more.
🗃️ Routing
1 item
🗃️ Repair
2 items
🗃️ Transmit
1 item
📄️ Medium
Physical layer, MAC, and more.