Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Routing RPL如何计算开始时没有数据包(UDP/TCP)的节点之间的ETX?_Routing_Wireless_Contiki - Fatal编程技术网

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

Routing RPL如何计算开始时没有数据包(UDP/TCP)的节点之间的ETX?,routing,wireless,contiki,Routing,Wireless,Contiki,我想知道RPL如何在初始化阶段为没有数据包的节点计算ETX链路度量。谢谢 RPL查看邻居统计模块。有多个选项可以选择该模块的工作方式 如果您提供了LINK\u STATS\u CONF\u INIT\u ETX(STATS)宏的自定义定义,它将用于初始化ETX 否则,(ETX_INIT*ETX_除数)将用作默认值ETX_INIT默认定义为2ETX_除数只是一个Contiki特定的比例因子,以避免浮点运算 节点通常在发送数据包之前从邻居处接收数据包。在这种情况下,RSSI估计值已知,但ETX未知。

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

RPL查看邻居统计模块。有多个选项可以选择该模块的工作方式

  • 如果您提供了
    LINK\u STATS\u CONF\u INIT\u ETX(STATS)
    宏的自定义定义,它将用于初始化ETX
  • 否则,
    (ETX_INIT*ETX_除数)
    将用作默认值<代码>ETX_INIT默认定义为2
    ETX_除数
    只是一个Contiki特定的比例因子,以避免浮点运算
  • 节点通常在发送数据包之前从邻居处接收数据包。在这种情况下,RSSI估计值已知,但ETX未知。要从RSSI初始化ETX的初始估计值,请将此行添加到
    project-conf.h

    #define LINK_STATS_CONF_INIT_ETX(stats) guess_etx_from_rssi(stats) 
    

    这样,在没有其他信息的情况下,具有强信号的节点将优先用于路由。有关详细信息,请查看
    net/link stats.c

    非常感谢您的明确回答。无论如何,在一些研究文章中(如Orchestral Sensys 2015等),作者提到RPL主要用于支持向上路由,因此向上路由的链路PRR(或PDR)比向下路由的链路PRR(或PDR)更好。然而,下行路由使用上行的反向链路。你如何看待这个问题?为什么向上路由比向下路由好?我尝试在各种场景中做了大量实验来评估RPL向上/向下路由的性能。结果表明,在平均链路PRR和PDR方面,下行比上行差。所以我认为这是因为现有的ETX计算不能有效地支持下行。这提到了向下路由更糟糕的一个原因,与ETX无关。