2

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

4

2 回答 2

1

您可以使用该命令访问有关UnetStack 中任何代理的任何参数的更多信息。help对于链接代理,您将在 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)。根据您的模拟/设置,您可以将此数字更改为可以通信的两个节点之间的最长时间(单向)。

于 2019-09-18T06:38:51.710 回答
1

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

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

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

于 2019-09-18T06:25:13.520 回答