RPL如何计算开头没有数据包(UDP/TCP)的节点间的ETX?
How does RPL calculate ETX among nodes without data packets (UDP/TCP) at the beginning?
我想知道RPL如何在没有数据包的节点的初始化阶段计算ETX link指标。谢谢。
RPL查看邻居统计模块。模块可能有多种选择
- 如果您提供
LINK_STATS_CONF_INIT_ETX(stats)
宏的自定义定义,它将用于初始化 ETX。
- 否则使用
(ETX_INIT * ETX_DIVISOR)
作为默认值。 ETX_INIT
默认定义为 2。 ETX_DIVISOR
只是一个 Contiki 特定的比例因子,以避免浮点运算。
节点经常在发送数据包之前接收来自邻居的数据包。在那种情况下,RSSI 估计是已知的,但 ETX 是未知的。要从 RSSI 初始化 ETX 的初始估计,请将此行添加到 project-conf.h
:
#define LINK_STATS_CONF_INIT_ETX(stats) guess_etx_from_rssi(stats)
这样,在没有其他信息的情况下,信号强的节点将被优先路由。详情请看net/link-stats.c
。
我想知道RPL如何在没有数据包的节点的初始化阶段计算ETX link指标。谢谢。
RPL查看邻居统计模块。模块可能有多种选择
- 如果您提供
LINK_STATS_CONF_INIT_ETX(stats)
宏的自定义定义,它将用于初始化 ETX。 - 否则使用
(ETX_INIT * ETX_DIVISOR)
作为默认值。ETX_INIT
默认定义为 2。ETX_DIVISOR
只是一个 Contiki 特定的比例因子,以避免浮点运算。
节点经常在发送数据包之前接收来自邻居的数据包。在那种情况下,RSSI 估计是已知的,但 ETX 是未知的。要从 RSSI 初始化 ETX 的初始估计,请将此行添加到 project-conf.h
:
#define LINK_STATS_CONF_INIT_ETX(stats) guess_etx_from_rssi(stats)
这样,在没有其他信息的情况下,信号强的节点将被优先路由。详情请看net/link-stats.c
。