我想知道RPL如何在没有数据包的节点的初始化阶段计算ETX链路度量。谢谢。
答案 0 :(得分:1)
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
了解详细信息。