2012-04-11 91 views
1

我有一臺機器以恆定的速率(每x毫秒)發送數據包到另一臺機器。我需要測量每個數據包的單向延遲。一個想法可能是第一臺機器記錄發送第一個數據包的時刻,一旦完成所有傳輸,讓第二臺機器知道它,這樣它就可以計算從該數值開始的每個數據包的延遲。:是否需要任何同步?

我在這裏需要任何特定的同步嗎?我不知道這是否會對我的測量產生相當大的誤差。

+0

https://en.wikipedia.org/wiki/Minimum-Pairs_Protocol – 2017-12-20 03:09:28

回答

0
  1. 向目的地發送10k個單向數據包。
  2. 發送「已完成」的消息到目的地
  3. 目標與「所有收到的」
  4. 回覆一旦回覆到達你知道花費了多少時間

你必須在一個很小的系統誤差由於需要確認消息而進行的測量,但這將很小。隨着現實世界的延遲,它完全有效。計算的延遲是:(a*10000+a+b)/(10000+1+1)。對於ab這個詞變得只是a

或者,嚴格同步時鐘(困難)併發送時間戳。

+0

這是一個想法,是的。但我需要能夠縮放每個數據包之間的時間間隔,這樣我就可以使鏈接飽和,不佔用它等。 – 2012-04-11 15:34:19

+0

我添加了替代方法。 – usr 2012-04-11 15:43:40

+0

如果您只想使鏈路飽和,爲什麼在測量數據包丟失時不增加負載?你可以找到最佳點。 – usr 2012-04-11 15:46:31