From f7a168932dda3c684bb2e4b2ca711c722992863e Mon Sep 17 00:00:00 2001 From: GUVWAF Date: Sat, 3 Sep 2022 18:00:14 +0200 Subject: [PATCH] Add example to the mesh algorithm explanation --- docs/developers/Firmware/mesh-alg.mdx | 11 ++++++++++- static/img/SNR_based_flooding.png | Bin 0 -> 49248 bytes 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 static/img/SNR_based_flooding.png diff --git a/docs/developers/Firmware/mesh-alg.mdx b/docs/developers/Firmware/mesh-alg.mdx index 598147d2..78e7b26c 100644 --- a/docs/developers/Firmware/mesh-alg.mdx +++ b/docs/developers/Firmware/mesh-alg.mdx @@ -72,4 +72,13 @@ If a transmitting node does not receive an ACK (or NAK) packet after a certain e Given our use-case for the initial release, most of our protocol is built around [flooding](). The implementation is currently 'naive' and doesn't try to optimize flooding, except by abandoning retransmission once a node has seen a nearby receiver ACK the packet it's trying to flood. This means that up to N retransmissions of a packet could occur in an N node mesh. -If any mesh node sees a packet with a HopLimit other than zero, it will decrement that HopLimit and attempt retransmission on behalf of the original sending node. In order to promote letting nodes that are further away flood the message, such that the message eventually reaches farther, the contention window (see Layer 1) for a flooding message depends on the Signal-to-Noise Ratio (SNR) of the received packet. The CW size is small for a low SNR, such that nodes that are further away are more likely to flood first and closer nodes that hear this will refrain from flooding. \ No newline at end of file +If any mesh node sees a packet with a HopLimit other than zero, it will decrement that HopLimit and attempt retransmission on behalf of the original sending node. In order to promote letting nodes that are further away flood the message, such that the message eventually reaches farther, the contention window (see Layer 1) for a flooding message depends on the Signal-to-Noise Ratio (SNR) of the received packet. The CW size is small for a low SNR, such that nodes that are further away are more likely to flood first and closer nodes that hear this will refrain from flooding. + +### Example + +Below you see an example topology consisting of four nodes, where at a certain point node 0 wants to send a broadcast message. +Due to limited coverage, it only reaches nodes 1 and 2. Since node 2 is farther away, its SNR is lower and therefore starts rebroadcasting earlier than 1. +After node 0 received this rebroadcast, its message is acknowledged. Note that a message is already acknowledged once a rebroadcast from any Meshtastic node (whether or not it has the same encryption key) is received. +Since node 1 heard the rebroadcast by 2, it will not rebroadcast again. Node 3 heard the message for the first time and the HopLimit is not yet zero, so it starts a rebroadcast for potential other receivers. + +![Mesh algorithm example](/img/SNR_based_flooding.png) \ No newline at end of file diff --git a/static/img/SNR_based_flooding.png b/static/img/SNR_based_flooding.png new file mode 100644 index 0000000000000000000000000000000000000000..5e646f60c789b380ce8f3b27bbf24a6f8d05d44d GIT binary patch literal 49248 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 z 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 V$A0AKw^H!Z-fy7sV6Xkz{{wEBaz+3E literal 0 HcmV?d00001