This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
playground:wiki3:network_delays [2020/03/19 16:31] dlr |
playground:wiki3:network_delays [2020/03/19 17:40] dlr [Very bad backhaul (>1000ms)] |
||
---|---|---|---|
Line 17: | Line 17: | ||
On a fast network, to target the RX1 window with maximum anticipation, the following configuration must be set: | On a fast network, to target the RX1 window with maximum anticipation, the following configuration must be set: | ||
- | |Network max. delay up* | |Network max. delay down* | | + | |Network max. delay up | |Network max. delay down | |
|0| |400| | |0| |400| | ||
On a slow network, to target the RX2 window with maximum anticipation, the following configuration must be set: | On a slow network, to target the RX2 window with maximum anticipation, the following configuration must be set: | ||
- | |network max. delay up* | |network max. delay down* | | + | |network max. delay up | |network max. delay down | |
|0| |1400| | |0| |1400| | ||
Line 38: | Line 38: | ||
<code> | <code> | ||
- | T0_lns = now - N_du | + | T0lns = now - Ndu |
- | T_est = now + T_agg + T_opp + N_dd | + | Test = now + Tagg + Topp + Ndd |
- | Decision = T_est - T0_lns = N_du + T_agg + T_opp + N_dd < 1000 ? | + | Decision = Test-T0lns = Ndu + Tagg + Topp + Ndd < 1000 ? |
- | T_tx = now + T_win - N_dd | + | Ttx = now + Twin - Ndd |
</code> | </code> | ||
Line 47: | Line 47: | ||
* ''T0'': packet transmission date by gateway. | * ''T0'': packet transmission date by gateway. | ||
- | * ''T0_lns'': packet transmission date by gateway estimated by lns. | + | * ''T0lns'': packet transmission date by gateway estimated by lns. |
* ''now'': packet reception date by LNS. | * ''now'': packet reception date by LNS. | ||
- | * ''N_du'': //Network max. delay up//: the setting on the dashboard (350ms by default). | + | * ''Ndu'': //Network max. delay up//: the setting on the dashboard (350ms by default). |
- | * ''T_est'': estimated earliest timestamp for transmission | + | * ''Test'': estimated earliest timestamp for transmission |
- | * ''T_agg'': Aggregation time: the LNS waits 350ms after the first packet. | + | * ''Tagg'': Aggregation time: the LNS waits 350ms after the first packet. |
- | * ''T_opp'': Opportunity time: the LNS waits 150ms after the first packet. | + | * ''Topp'': Opportunity time: the LNS waits 150ms after the first packet. |
- | * ''N_dd'': //Network max. delay down//: the setting on the dashboard (350ms by default). | + | * ''Ndd'': //Network max. delay down//: the setting on the dashboard (350ms by default). |
* ''Decision'': whether the RX1 window is reachable, 1000ms being the default RX1 value (it can be changed). | * ''Decision'': whether the RX1 window is reachable, 1000ms being the default RX1 value (it can be changed). | ||
- | * ''T_tx'': the time at which the LNS will send the packet to the gateway. | + | * ''Ttx'': the time at which the LNS will send the packet to the gateway. |
- | * ''T_win'': the time for the target RX window (1000ms by default for RX1). | + | * ''Twin'': the time for the target RX window (1000ms by default for RX1). |
++++ | ++++ | ||
++++ Example | | ++++ Example | | ||
Line 71: | Line 71: | ||
Computation: | Computation: | ||
- | * ''T0_lns'' assumed is ''09:59:59.846'' by LNS (''now'' minus 350ms ''Ndu''). | + | * ''T0lns'' assumed is ''09:59:59.846'' by LNS (''now'' minus 350ms ''Ndu''). |
- | * ''T_est'' without push is ''now'' + 350 + 350 = ''10:00:00.896'' | + | * ''Test'' without push is ''now'' + 350 + 350 = ''10:00:00.896'' |
- | * ''T_est'' with push is ''now'' + 350 + 150 + 350 = ''10:00:01.046'' | + | * ''Test'' with push is ''now'' + 350 + 150 + 350 = ''10:00:01.046'' |
- | * Decision: ''T_est'' is greater than 1000ms after ''T0'', so RX1 isn't reachable. | + | * Decision: ''Test'' is greater than 1000ms after ''T0'', so RX1 isn't reachable. |
- | * Decision: ''T_est'' is less than 2000ms after ''T0'', so RX2 is reachable. | + | * Decision: ''Test'' is less than 2000ms after ''T0'', so RX2 is reachable. |
- | * ''T_tx'' is ''T0_lns'' + 2000 - 350 = ''10:00:01.496'' (time at which the LNS sends the TX message) | + | * ''Ttx'' is ''T0lns'' + 2000 - 350 = ''10:00:01.496'' (time at which the LNS sends the TX message) |
Behavior: | Behavior: | ||
- | * The LNS sends the packet at ''10:00:01.496'' (''T_tx''). | + | * The LNS sends the packet at ''10:00:01.496'' (''Ttx''). |
- | * The packet forwarder receives it at ''10:00:01.708'' (''T_tx+212ms''). | + | * The packet forwarder receives it at ''10:00:01.708'' (''Ttx+212ms''). |
* The LoRa frame is sent at ''10:00:02.000'' when the RX2 window opens. Actual timing is done with ''tmst'' (SX1301 clock counter). | * The LoRa frame is sent at ''10:00:02.000'' when the RX2 window opens. Actual timing is done with ''tmst'' (SX1301 clock counter). | ||
++++ | ++++ | ||
Line 139: | Line 139: | ||
<code>1200 + 350 + 50 + 1200 = 2800ms</code> | <code>1200 + 350 + 50 + 1200 = 2800ms</code> | ||
- | The RX2 window has to be changed. On each end-device, and on the dashboard configuration of the end-device, the RX1 window delay has to be adjusted to a greater value. For example, 2000 (for RX2 target) or 3000ms (for RX1 target) is fine. | + | The RX1 window delay has to be adjusted to a greater value on each end-device, and on the WMC end-devices configuration interface. For example, setting RX1 to 2000ms (to reach the RX2 window) or 3000ms (to reach the RX1 window) is fine. |
- | + | ||
- | Indeed, the delay calculated above is 2800ms, so if RX1 delay is 3000ms, it is reachable. | + | This solution is possible at the cost of provisioning every end-devices of the network, so that it can work with high latencies. This network configuration is useful with satellite backhaul, for example. |
- | + | ||
- | This is possible at the cost of provisioning every end-device on the network so that it can work with high latencies. This can be useful with satellite backhaul, for example. | + | |