maxPropagationDelay在UnetStack链接代理中的作用

时间:2019-09-17 05:12:04

标签: unetstack

在链接代理中,我遇到了maxPropagationDelayreservationGuardTime之类的属性。这些属性的作用是什么?在哪里可以找到有关这些属性的更多信息。

2 个答案:

答案 0 :(得分:1)

这些是特定LINK协议的参数。

  • maxPropagationDelay用于根据网络中的预期往返时间确定超时。如果网络足够小,可以在任意一对节点之间进行单跳连接,则应将其设置为取决于网络地理大小的值。否则,应将其设置为基于调制解调器最大通信范围的值。
  • reservationGuardTime是为信道预留的一小段额外时间,以实现调制解调器的实际定时抖动。通常,代理提供的默认值足以满足大多数用途。

与即将发布的UnetStack3版本一起发布的水下网络手册将为许多这些参数以及如何使用Unetstack设置各种类型的网络提供更多指导。

>

答案 1 :(得分:1)

您可以使用help命令访问有关UnetStack中任何代理的任何参数的更多信息。对于链接代理,您将在UnetStack 1.4中看到它。

> help link
link - access to link agent

Examples:
 link                           // access parameters
 link.maxRetries = 5            // set maximum retries for reliable delivery
 link << new DatagramReq(to: 2, data: [1,2,3], reliability: true)
                                // send reliable datagram

Parameters:
  MTU - maximum data transfer size
  maxRetries - maximum retries for reliable delivery
  reservationGuardTime - guard period (s)
  maxPropagationDelay - maximum propagation delay (s)
  dataChannel - channel to use for data frames (0 = control, 1 = data)

reservationGuardTime是在保留信道(使用MAC)时可以增加到帧持续时间的额外保护时间,以确保信道保留在两个节点之间能够有所反应的延迟。

maxPropagationDelay用于估计对某个请求(或需要分段的一系列请求)的确认可能花费的最长时间,并用于设置传输超时或进行信道保留(如果使用MAC)。根据您的仿真/设置,可以将此数字更改为两个可以通信的节点之间的最长时间(单向)。