0
我想獲得兩個節點之間無線鏈路質量的度量。 問題是,這些節點並不經常交換消息,但每條消息都包含下一條消息計劃發送的時間。什麼是確定鏈接度量的簡單高效的內存算法?
目前,我使用的是這樣的:
if (message arrived in time)
link_quality = link_quality/2 + 0.5
else
link_quality = link_quality/2
在rfc3626
建議現在鏈路質量明顯變化很大,一個丟失的數據包將縮短一半。它只用於遲滯。
假設有兩個節點A和B.A的B的link_quality意味着它當前接收消息B的方式如何。然後它向B發佈1 + link_quality * METRIC_MAX
(0無效),所以B知道它可以將消息發送到A. 現在宣佈價值受突然的變化,所以我想我會做這樣的事情
link_metric = (3 * link_metric + new_link_metric)/4
現在,這是稍微好一點,但它仍然受到了很大的波動。 如果我進一步增加舊值的「權重」,在link_metric具有實際值之前需要相當長的時間。
你會建議什麼?
定義'質量'?帶寬,延遲,抖動,數據包丟失? – ChuckCottrill