ping、iftop、またはその他のツールなどの標準コマンドを使用してネットワークケーブル(イーサネット、光ファイバなど)の物理長を計算する簡単な方法はありますか?ほとんどのUnix / Linuxバージョンで動作することが望ましいです。
ベストアンサー1
LAN長ケーブルの場合:
ケーブルに完全に依存するパケット往復遅延部分は、1メートルあたり約10ナノ秒です。
物理的な物理接続ケーブルの長さを得るには、次のスイッチまたはブリッジがテストパケットに応答する必要があります。管理されたスイッチを介して適切なプロトコルを見つけることができます。
10ナノ秒の範囲では、コンパイルされたCまたはアセンブリコードを使用し、ループカウントおよび/またはHPETタイマーを使用する必要があります。
両端のハードウェア部分により、未定義の遅延が発生する可能性があります。したがって、カーネルアクティビティが実行している操作を妨げる可能性があります。これらすべては、何千ものサンプルを採取し、異常値を捨てて平均化することによって軽減することができます。口径測定システムは既知の長さとブランドのケーブルを使用します。この補正は、最大一対の正確なデバイスモデルに有効です。
数百または数千キロメートルのWANリンク長を知りたい場合は、通常のpingが提供する時間を使用しておおよその推定値を取得できます。ほとんどのケーブル(光ファイバーでも銅でも)は速度の0.5〜0.5倍に移動します。空気中の光の0.9x - しかし、アクティブデバイスには追加のレイテンシが発生するため、どのケーブルを使用する必要があるのかわかりません。
一部のネットワークハードウェア(スイッチ、非常にまれなネットワークカード)には、いわゆるTDRという単純なバージョンが組み込まれています。これらのハードウェアはケーブルの長さをかなり正確に測定できます。