RPL 如何在开始时没有数据包 (UDP/TCP) 的节点之间计算 ETX?



我想知道RPL如何在初始化阶段为没有数据包的节点计算ETX链路指标。谢谢。

RPL 查看邻居统计信息模块。模块有多种选择

  1. 如果您提供LINK_STATS_CONF_INIT_ETX(stats)宏的自定义定义,它将用于初始化 ETX。
  2. 否则(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

最新更新