1

2台のUnixマシンでサーバーとクライアントを実行しています。それらは、LAN内の2台のマシン、または離れてVLANに接続された2台のマシンにすることができます。クライアントはパケットのみを受信し、サーバーは送信のみを行います。(UDPまたはTCP)

それらの間の遅延をプログラムで測定するにはどうすればよいですか?

これを行う1つの方法は、送信前にパケットにタイムスタンプを追加することですが、クロックが同期されることは保証されていません。助言がありますか?

4

1 に答える 1

2

通信が厳密に単方向であり、クロックが同期されていない場合、それを行うことはできません。

クライアントからサーバーに送信される、「今何時ですか」という新しいパケットを導入できます。サーバーはその時間で応答し、クライアントは応答時間を2で割って、一方向の待機時間を取得します。副次的な利点として、クライアントはサーバーが何時だと思っているかを知ることができます。

于 2012-04-27T23:19:40.170 に答える