論

インターネットアーキテクチャ技術論文特集

文

通過型高精度 UDP タイムスタンパの開発
町澤 朗彦† a)

鳥山 裕史†

岩間司†

金子 明弘†Development of a Cascadable Passing Through Precision UDP Time-Stamping
DeviceAkihiko MACHIZAWA†a) , Hiroshi TORIYAMA† , Tsukasa IWAMA† ,and Akihiro KANEKO†

あらまし 片方向遅延はネットワークパフォーマンスを示す重要な指標であるが，ネットワークは非均質であるため，パスを構成する区間ごとの片方向遅延を計測する必要がある．従来，経路途中の片方向遅延を高精度に測るには，パケットキャプチャ装置が用いられてきたが，キャプチャ方式ではリアルタムな遅延時間計測は原理的に不可能であり，しかも，キャプチャデータ集約に伴う作業量及びセキュリティの問題を抱えている．本論文
では，アクティブ計測を目的として，ネットワーク上の任意の複数の位置に挿入し，通過する UDP パケットに高精度なタイムスタンプを逐次挿入する，全く新しい専用ハードウェア（PUTS：cascadable Passing throughprecision UDP Time-Stamping device）を開発したので報告する．本装置を用いることにより，プローブとデー
タ収集を同時に行えるため，複数区間ごとの片方向遅延時間を，リアルタイムかつ容易にアクティブ計測することが可能である．また，PUTS のタイムスタンプは，解像度 4 ナノ秒，安定度 10−12 （外部周波数源としてルビジ
ウム原子時計を用いた場合），と極めて高精度である．なお，本装置はネットワークに挿入して使用するため，非侵襲性と設置容易性を考慮しており，管理組織の異なったネットワーク間でも協調利用することを目指している．
キーワード

高精度タイムスタンプ，区分的片方向遅延，アクティブ計測，カットスルー，FPGA

1. ま え が き

ラヒックも区間ごとに異なるなど，非均質となっていインターネットの利用が急速に広がっているが，遅延ス権限を有していないため，End-to-End に計測する

時間はネットワークの状態を反映しており [1], [2]，多が，ネットワークの非均質構造を明らかにするために，る．一般に，ユーザはパス途中のルータ等にはアクセ

くのネットワークモニタリングプロジェクトで遅延時

最近，ネットワークトモグラフィとして，End-to-End間が計測されている [3]．また，遅延時間を用いて，イ

計測からネットワーク内部の状態を推定する試みも始

ンターネットのパフォーマンス推定 [4]，TCP のふくそまっている [12]．しかし，様々な仮定を必要としておう制御 [5], [6] あるいは帯域推定 [7], [8] などへの応用もり，ホップバイホップなデータと併せて精度を高める

進んでいる．さて，遅延時間には，ping コマンドに代必要があるであろう．

表される往復遅延を用いる場合と片方向遅延を用いる
場合があるが，遅延は非対称な場合が多いため，片方従来，パス途中区間の遅延時間を測るには，DAG
project [13] や IP メータ [14] などのパケットキャプ

向遅延が有効であり [9], [10]，現在，IETF OWAMP

チャ装置が用いられてきたが，キャプチャ方式では，（One-Way Active Measurement Protocol）[11] の標

リアルタムに遅延時間を計測することは原理的に不準化が進められている．また，ネットワークは，様々可能である．つまり，別途，キャプチャ時のタイムスな回線や接続装置によって構成されており，クロスト

タンプを集約しなければならない．また，キャプチャ
データ集約に伴う，セキュリティ，ポリシ，作業量な†どの問題を抱えている [15]．

情報通信研究機構，小金井市
National Institute of Information and Communications

本論文では，アクティブ計測を目的として，ネッTechnology, 4–2–1 Nukui–Kitamachi, Koganei-shi, 184–8795

トワーク上の任意の複数の位置に挿入し，通過するJapana) E-mail: machi@nict.go.jp

2002

電子情報通信学会論文誌 B Vol. J88–B

UDP パケットに高精度なタイムスタンプを逐次挿入す
c （社）電子情報通信学会 2005
No. 10 pp. 2002–2011 

論文／通過型高精度 UDP タイムスタンパの開発

る全く新しいシステム（PUTS：cascadable Passing
through precision UDP Time-Stamper）を開発したので報告する．PUTS を用いることにより，プローブ

そこで，HOTS [24]，DAG [13], [25] や IP メータ[14] などの専用ハードウェアが開発され，パケット
キャプ チャを 用 い た 遅 延 計 測 シ ス テ ム が 提 案 さ れとデータ収集を同時に行えるため，複数区間ごとの片てい る [26], [27]． Papagiannaki は DAG を 用 いて ，

方向遅延時間を，簡便にかつリアルタイムにアクティ

SPRINT バックボーンを構成する，ある 1 台のルーブ計測することが可能である．なお，一つのパケット

タの通過遅延を計測し，キューイング処理に伴う遅に最大 183 個のタイムスタンプを挿入することが可能

延特性を明かにした [28]．しかし，キャプチャ方式でである（パケットサイズ 1500 バイトの場合）．また，は，2 地点のキャプチャデータを集約する必要がある

PUTS のタイムスタンプは，ネットワークの広帯域化ため，リアルタイムに遅延時間を得ることはできず，に対応するため，極めて高精度であり，解像度は 4 ナ

集約作業量も大きい．また，ストアアンドフォワード

ノ秒，安定度は 10−12 （外部周波数源としてルビジウ

デバイスで生じるバッファリング時間のパケットサイ

ム原子時計を用いた場合）となっている．

ズ依存が知られているが [29], [30]， IP メータは，内なお，PUTS はネットワークに挿入して使用するた部にハブのミラーポートと同様の構造を有し，ストア

め，系への影響を極力小くする必要があり，FPGA にアンドフォワード型であるため，ネットワークの特性よるワイヤレートでの処理，カットスルー構造，タイ

及び測定データに影響が生じてしまうため，専用ハームスタンプのペイロードへの上書き，更にチェックサ

ドウェアでも，設計に際しネットワークへの影響に注

ム補償方式により，短時間かつ一定値となる通過遅延

意する必要がある．一方，HOTS は，タイムスタンプを実現している．また，系への影響を小さくするとと挿入機能を有するネットワークインタフェースであり，もに，セキュリティの問題も有さないため，設置が容End-to-End 計測を目的として開発され，キャプチャ

易である．

機能を有しないため，区分的計測に用いることはでき

本論文の構成は以下のとおりである．まず，片方向遅延計測に関連する研究についてまとめ，続いて，3.

ない．しかも，HOTS はストアアンドフォワード型であり，本論文で提案する PUTS とは全く異なる．

で PUTS の設計，4. でプローブパケットフォーマッ

2. 2 パスの区分的計測

トについて検討する．5. では，試作した PUTS ハー

パスを構成する区間ごとの遅延時間計測に関して，IP

ドウェアを用いて，機能の動作検証するとともに，精ヘッダの Time-To-Live（TTL）フィールドを利用した度を測定した．更に，6. で応用例として，回線利用度

ホップバイホップ手法が多く用いられているが，ICMP推定を行った．

処理を伴い，近年のハードウェアルータでは ICMP 処

2. 関 連 研 究

理は “slow path” を通るため精度が低く [31], [32]，し2. 1 遅 延 計 測ている返送バイト数に関する “SHOULD” の実装の相かも，ICMP Error パケットでは RFC1812 で規定され

現在進められているネットワークモニタリングプ

違も精度低下を招いている [8]．また，得られる遅延時

ロジェクトでは，Surveyor [16]，RIPE TTM（Test

間は片方向ではなく RTT となる．なお，“fast path /Traﬃc Measurements）[17] 及び SATURN [18] で片方向遅延，ANEMOS [19] と NCS（Network Characterization Service）[20] は RTT を計測しているが，すべて PC によるアクティブ計測である．

slow path” の問題は，ICMP だけではなく，IP ヘッ
ダオプションでも見られ [33]，メインパスである “fastpath” を対象とする遅延計測では，IP ヘッダオプショ
ンの利用を避ける必要がある．

PC によりソフトウェア的に遅延時間を計測する場

一方，キャプチャ方式では，管理者の異なるネット

合，システム能力の制限によって広帯域では精度が低ワークにまたがった測定では，セキュリティ，ポリシ，

下し [21]，GbE など広帯域で利用されている “まとめスケーラビリティが課題となっている [15], [34]．

割込み” も精度を低下させるため [22]，広帯域ネット

2. 3 タイムスタンプフォーマット

ワークを高精度に測定することはできない．しかし，タイムスタンプには様々なフォーマットが用いられタイムスケールが異なると，新しい現象が発見されるており，UNIX 系 OS では，timeval 構造体：秒とマイこともあり [23]，より高精度な計測システムが必要でクロ秒をそれぞれ 32 ビット整数，timespec 構造体：秒ある．

とナノ秒をそれぞれ 32 ビット整数，bintime 構造体：
2003

電子情報通信学会論文誌 2005/10 Vol. J88–B No. 10

Fig. 1

図 1 PUTS 縦列設置による区分的片方向遅延計測
Picewise one-way delay measurement with cascadable PUTS time-stamp
system.

秒を 32 ビット整数，秒以下を 2−64 秒単位の 64 ビッ

計測するには，より多地点に設置することが望ましい

ト値としている．ntp [35] では，秒を 32 ビット整数，

ため，3.4 で設置容易性について言及する．

秒以下を 2−32 秒単位の 32 ビット値としている．IP

3. 1 通過型構造の原理と特徴

ヘッダのタイムスタンプオプション（RFC781）[36] でタイムスタンプをプローブパケットに載せて伝送す

は，当日午前 0 時からのミリ秒を 32 ビット値としていることにより，キャプチャ方式の欠点を解決し，リアる．一方，これらの「秒」を単位とする時系とは別に，

ルタイムに，しかも簡便に経由装置のデータ収集を行PC で高精度計測する場合には，プロセッサの動作周
波数でカウントアップするカウンタ（PCC：Processor
Cycle Counter または TSC：Time Stamp Counter）

うことを可能とする．図 1 に，本装置を用いたアクティブ計測による区分的片方向遅延計測の原理を示す．
送信側では，目的に応じた十分な長さの UDP パケッを用いる時系が使われる場合もある [37]．秒単位タイ

トをプローブパケットとして送出する．なお，UDP

ムスタンプは，異なったタイムスタンパの値の差を直を用いる理由であるが，まず，2.2 で述べたルータの接計算できると思われているが，秒のけたと秒以下のけたを装置内部で一つの数値に変換する処理は，多く“fast path / slow path” 問題により，ICMP 及び IP
ヘッダオプションだけではなく，UDP 及び TCP 以外の演算量を必要とする．一方，一定レートのカウンタのトランスポートプロトコルの使用も避けるべきであは，機器の構成が単純で精度がとりやすく，四則演算る．また，片方向遅延を計測する際には，コネクショに適している．

ンのオーバヘッドがなく，パケット送出を制御しやす

なお，RFC781 では，複数のタイムスタンプの挿入を可能としているが，タイムスタンプの精度もミリ

い UDP が適していると考えられるため，UDP のペイロードにタイムスタンプを載せている．

秒しかなく，しかも，タイムスタンプの数によってパパス上には，複数の本装置が挿入されており，各地

ケット長が変化してしまうため，精密計測には不十分

点通過時のタイムスタンプをプローブパケットのペイである．

ロード部に上書きすることにより，パケットサイズを

3. 通過型タイムスタンパの設計変化させることなく複数のタイムスタンプを挿入する．
更に，次節で詳述するように，ペイロード上書きに伴

本章では，通過型タイムスタンパの備えるべき機能，

うチェックサム値変化をパケット末尾 2 バイトで補償性能及び実現方法を検討する．本装置は，アクティブ

する．受信側では，各タイムスタンプの差から，該当計測により，区間ごとの片道遅延時間を計測するため区間の片方向遅延をリアルタイムに計算することがでに，通過型の構造を採用し，プローブパケットにタイきる．

ムスタンプを載せる．3. 1 に通過型構造の特長，3. 2

次に，表 1 に通過型方式とキャプチャ方式を比較す

で通過型構造によるネットワークへの影響を低減する

る．通過型方式では，プローブパケットにタイムスタための非侵襲性，更に，3.3 で本装置のタイムスタン

ンプが挿入されているため，リアルタイムに遅延時間プの精度とタイムスタンプフォーマットについて述べを得ることができるが，キャプチャ方式では，キャプる．また，本装置によりネットワーク遅延を区分的にチャされたデータを別途収集した後に，遅延時間を計

2004

論文／通過型高精度 UDP タイムスタンパの開発
表 1 通過型とキャプチャの比較
Table 1 Passing through type vs. capturing.
リアルタイム性
データ収集作業量
装置へのアクセス権
通信傍受
記憶容量
IP アドレス
プローブパケット
データの収集トラヒック

Capturing Passing through
無
有
大
小
要
不要
可
不可
大
不要
要
不要
不要
要
要
不要

わせることにより，クロックタイミングのずれを抑える．更に，カットスルー構造を採用し，バッファリン
グ等のパケットサイズ依存性を排除し，通過遅延を短く抑えるとともに，全パケットをパイプラインに通す
ことにより，処理の有無及びパケット種別によるジッタの発生を抑える．
さて，ペイロードにタイムスタンプを上書きすると，

UDP チェックサムが変化してしまう．しかし，カットスルー構造として，滞在時間をパケット長以下に短くした場合，パケット末尾を読み込んだ時点では，すで算する必要があり，リアルタム計測には適してはいなにチェックサムフィールドはラインに送出された後とい．また，個々のパケットに対するタイムスタンプは，なる．この問題を解決するために，チェックサム補償方

異なったキャプチャ装置に保存されているため，それ式を導入する．本方式は，チェックサムが常に FFFFh

らからデータを収集し，同一パケットに対するデータとなるよう，パケット末尾 2 バイトの値を調整する方を抜き出すなどの作業が必要となる．しかも，データ式である．パケット長を L バイトとし，疑似 IP ヘッ

収集時には，データへのアクセス権が必要となるため，

ダ，UDP ヘッダ及び UDP データの先頭より L − 2

セキュリティ上の弱点となる可能性がある．更に，キャ

バイト目までの情報から計算されるチェックサム値をプチャリングには通信傍受の側面もあるため，利用に

CL−2 とすれば，チェックサム補償値 m は，以下の式

は注意が必要となる．一方，キャプチャ方式ではデーを満たす．

タを保存するための記憶容量やアクセス用 IP アドレスを必要する．通過方式では，これらの問題をすべて解決することが可能である．また，アクセス権が不要なため，スイッチングハブなどのアップリンクポート側に配置することにより，ローカル側ユーザすべてから共用することも可能であり，高価な専用ハードウェ
アを有効活用することができる．

CL−2 + m = F F F F h(1)

したがって，チェックサム補償値は次式により与えられる．

m = F F F F h − CL−2(2)

チェックサム補償により，パケット末尾の到着を待一方，通過型方式では，プローブパケットを必要とたずにパケット送出することが可能となるため，パイ

し，アクティブ計測にしか用いることはできないが，プラインの段数を低減し，滞在時間を縮小することがパッシブ方式とされるキャプチャ方式でも，キャプチャできる．なお，IPv4 では，チェックサム値を 0 とす

データを収集するためのトラヒックを被計測ネット

ることにより，チェックサムによるエラー検出を省く

ワークに流す場合には，被計測ネットワークへの影響ことができるが，IPv6 ではチェックサムは必須であは避けられない．

る [38]〜[40]．

3. 2 非 侵 襲 性
本装置はネットワークに挿入する使用形態となるた3. 3 秒単位タイムスタンプと一般化タイムスタ
ンプ

め，ネットワークへの影響が最小限となるよう設計すタイムスタンプには，秒単位のタイムスタンプとる．つまり，通過遅延を一定値かつ最小限とし，更に，

PCC 等の任意の一定レートのカウンタがあるが，本

ボトルネックとならないこと．具体的には，以下の項装置では，両タイムスタンプを利用できるものとする．

目を実現する．

なお，本論文では，PCC などの一定の速さでカウン（ 1 ） 遅延ジッタを小さくトアップするタイムスタンプを一般化タイムスタンプ（ 2 ） 通過遅延を短くと呼ぶこととする．

（ 3 ） ワイヤレートで動作すること

さて，予備実験により，1000 Base-T 対応スイッチ

上記項目を実現するために，FPGA を用いたハード（非インテリジェントタイプ）の遅延ジッタは 10 ナノ

ウェア処理により，ジッタの発生を抑え，ワイヤレー

秒程度であるため，1000 Base-T のキャリヤ周波数でトを実現する．また，キャリヤ同期を受信ラインに合ある 125 MHz を考慮して，タイムスタンプの解像度
2005

電子情報通信学会論文誌 2005/10 Vol. J88–B No. 10

及び処理ジッタを 8 ナノ秒以下とする．また，秒単位（ 4 ） セキュリティホールを含まないこと

タイムスタンプと一般化タイムスタンプ両者の基とな•るカウンタを駆動するクロックを 1 GHz の整数倍ま4. パケットフォーマット

たは整数の逆数とすれば，カウンタ値のビットシフト
演算によりナノ秒単位と容易に変換することができる．

ログイン不要・IP アドレス不要

本章では，PUTS のタイムスタンプ挿入対象となる

今回は，FPGA の性能から 250 MHz クロックで駆動

プローブパケットのフォーマットを定義する．また，し，タイムスタンプのビット長は 64 ビットとする．

PUTS は，秒単位または一般化タイムスタンプなどの秒単位タイムスタンプは，先頭 32 ビットを 1 pps カ

複数の動作モードを有するが，動作モードもプローブウンタとし，後続 32 ビットは，直前の 1 pps 信号からの 250 MHz クロック数の 4 倍とすることにより，ナノ秒を表す．一方，一般化タイムスタンプは，電源投パケットで指定する．

4. 1 パケットフォーマット

入時及び電源投入後最初の 1 pps 入力に対して，カウ

遅 延 時 間 計測 用 プ ロー ブ パ ケット は UDP と し ，PUTS は，事前に登録された UDP ポート番号のパ

ンタを 0 にリセットし，以後，250 MHz クロックでカケットに対してのみ，タイムスタンプ挿入処理を施し，

ウントアップする．
な お ，カ ウ ン タ ク ロック は 固 定 で は な く，今 後 ，他のパケットに対してはそのまま通過させる．UDP
ヘッダを含むフォーマットは以下のとおり．

FPGA の性能改善に伴い，更に高いカウントアップ
速度によって，より高解像度なタイムスタンプが得られるが，1 GHz の整数倍あるいは整数分の 1 とすれ
ば，ナノ秒への変換は容易であろう．ただし，カウン
トアップ速度の参照方法を用意する必要がある．
また，タイムスタンプ精度は，基準とする発振子の精度によって左右され，遠隔地とのタイムスタンプ
比較では絶対時刻との同期が必要であるため，PUTS
では，GPS などの高精度な時刻源より 10 MHz 及び

1 PPS を入力して使用することを基本とし，必要とする精度・期間によっては，内蔵の OCXO（またはTCXO）のみでも使用可能である．
3. 4 設置容易・安全性
本装置は，より多く設置することにより，より効果を発揮する．もし，全リンク上に，PUTS を配すれば，ネットワークの状態推定を極めて簡単に行うことができるであろう．一般に，ネットワークは広域に展開しており，しかも，異なった組織によって運営されているネットワークが相互に接続されている．このようなネットワークに本装置を設置するためには，その設置の容易・安全性が重要となる．設置の容易・安全性として，3.2 の非侵襲性に加えて，以下の項目について

0
7
15
23
31
39
47
55
63
+------+-------+-------+-------+-------+-------+-------+-------+| src port|
dst port|
length|checksum(FFFFh)|+------+-------+-------+-------+-------+-------+-------+-------+| ver | mode | N hop |reserve|
serial number|+------+-------+-------+-------+-------+-------+-------+-------+|
TS field 1|+------+-------+-------+-------+-------+-------+-------+-------+|
TS field 2|+------+-------+-------+-------+-------+-------+-------+-------+
+
.
+
+
.
+
+
.
+
+------+-------+-------+-------+-------+-------+-------+-------+|
TS field N|+------+-------+-------+-------+-------+-------+-------+-------+|
padding (random pattern)|+------+-------+-------+-------+-------+-------+-------+-------+
+
.
+
+
.
+
+
.
+
+------+-------+-------+-------+-------+-------+-------+-------+|
padding (random pattern)|
CSC|+------+-------+-------+-------+-------+-------+

各フィールドには以下の情報を設定する．

checksum:

PUTS で FFFFh 設定

ver:
mode:
N hop:
serial number:TS ﬁeld:バージョン

padding:
CSC:

タイムスタンプの動作モード指定
挿入されている TS フィールドの数
通し番号

mode に応じて情報を上書き
ランダムビット列

CheckSum Compensator

考慮した．
（ 1 ） ネットワーク断を起こさないこと••

UDP ペイロード先頭 8 オクテットに PUTS ヘッ

電源投入後，速やかに機能すること

ダ，パケット末尾 2 バイトには，チェックサム補償

可動部品を用いず，故障が少ないこと

CSC（CheckSum Compensator）を置き，他はラン（ 2 ） 起動時に設定が不要なこと

ダムビット列で埋める．ランダムビット列を用いるの（ 3 ） 設置場所を選ばないこと

は，情報量圧縮符号化が施されている経路でもパケッ•

トサイズの大きな変化を防ぐためである．なお，最低2006

小型・低消費電力・無音

論文／通過型高精度 UDP タイムスタンパの開発

一つの TS ﬁeld をもつ必要があるが，それ以上であれ
ば，任意サイズのパケット長が可能である．ただし，2点間の時間差を計測するには，TS ﬁeld は二つ必要で•

ID 挿入モード

タイムスタンプの代わりに，8 バイト長の ID を挿入する．本モードを利用することにより経由する PUTS

ある．

4. 2 動作モード
現在のバージョン（ver = 3）では，表 2 に示す動作モードを用意している．PUTS は，登録したポート番号（src または dst port）に一致したパケットに対してのみ，モード指定に従ってタイムスタンプ処理をを知ることができる．

5. 性 能 評 価
5. 1 システムの実装
本装置は FPGA を用いて PCI カードに実装されている（図 2）．回路は 250 MHz で動作し，タイムスタ

施す．

•

挿入する場合に有効である．

一般化タイムスタンプ挿入モード

ンプ用 64 ビットカウンタも 250 MHz でカウントアッ(N hop) + 1 番目の TS ﬁeld に，次のように 64 ビット
カウンタ値を上書きし，N hop ﬁeld の値を一つイク
ンリメントする．もし，(N hop) + 1 番目の TS ﬁeld

いるため，同一アーキテクチャで，10 GbE-XFP 版の位置が，パケット長を超える場合には，最後の TS（PUTS/X）と 100/1000 Base-T 版（PUTS/G）を開

ﬁeld 値に上書きする．

発した．回路は 250 MHz 動作であるが，複数ビット並

0
7
15
23
31
39
47
55
63
+------+-------+-------+-------+-------+-------+-------+-------+|
64-bit counter|+------+-------+-------+-------+-------+-------+-------+-------+

トを実現する．

プするため，解像度は 4 ナノ秒となっている．近年，
ネットワークのバックボーンは 10 GbE 化されてきて列に処理することにより，10 Gbit/s でもワイヤレー•

タイムスタンプ処理対象ポート番号などは，PCI-X

秒単位タイムスタンプ挿入モード一般化タイム

バスを介して，ホストコンピュータから設定するが，スタンプ挿入モードと同様に，64 ビットのタイムス設定値はフラッシュメモリに保存可能であり，フラッ

タンプを TS ﬁeld に上書きするが，先頭 32 ビットはシュメモリに保存された設定で動作する場合には，ホ1 pps カウンタ値，後続 32 ビットは直近 1 pps 入力時

ストコンピュータは不要で，単体で機能するため，PCIよりのナノ秒値とする．

フォームファクタの設置空間のみで利用可能である．

0
7
15
23
31
39
47
55
63
+------+-------+-------+-------+-------+-------+-------+-------+|
second|nano-second|+------+-------+-------+-------+-------+-------+-------+-------+•

カウンタレート挿入モード

タイムスタンプの代わりに，カウンタレートを挿入する．本モードを利用することにより経由する各 PUTSのカウンタレートを知ることができる．

•

イベントタイムスタンプ挿入モード

タイムスタンプ挿入と同時に本ビットをクリアすることにより，発信元に最も近い PUTS のみがタイムスタンプを挿入することになる．時刻情報を有しないセンサデバイス等の発したパケットにタイムスタンプをまた，ハードディスクや冷却ファンなどの可動部品を有しておらず，故障が少なく，無音で動作する．消費電力は，GbE 版が 9 W, 10 GbE 版が 22 W となっている．周波数源はオンボードに OCXO（または TCXO）
を搭載し，より精度を必要とする際には，外部より原子時計（セシウムあるいはルビジウム）または GPSの 10 MHz 及び 1 pps 信号を入力する．起動時間は，電源投入後，GbE 版で約 0.5 秒，10 GbE 版で約 1.5
秒である．
さて，全パケットはタイムスタンプ処理の有無にかかわらず，同じパイプラインをカットスルーに通過す

表 2 タイムスタンプ処理指示子（mode）
Table 2 Time-stamping command (mode).
bit
1
2
3
4
6
other

Description
64 ビットカウンタタイムスタンプ挿入モード
カウンタレート挿入モード
秒単位タイムスタンプ挿入モード
イベントタイムスタンプ挿入モード
ID 挿入モード
予約

Fig. 2図 2 PUTS/X（10 GbE 版）の外観
Exterior view of a PUTS/X (10 GbE model).

2007

電子情報通信学会論文誌 2005/10 Vol. J88–B No. 10

Fig. 3図 3 PUTS の精度及び遅延
Precision and latency of PUTS.

Fig. 5

Fig. 4図 4 遅延時間の分布（GbE 版）
Distribution of latency (GbE model).

Fig. 6

図 5 遅延時間の分布（10GbE 版）
Distribution of latency (10 GbE model).

図 6 回線利用度推定テストネットワーク
Test network whose utilization was estimated.

るため，通過時間は一定となる．また，通過時間は，度を 2 × 108 m とすれば，遅延時間の差とファイバ長

パケットサイズや負荷の大小の影響も受けない．

の差は，一致する．したがって，PUTS の測定精度は

5. 2 精度

光ファイバの長さを m 単位で計測可能なレベルであ

本節では，図 3 の構成を用いて，X の位置に挿入しるといえる．なお，PUTS/X 一段で生じる遅延時間

た機器の遅延時間を測定する．PUTS #1 及び#2 は，の平均及びジッタの標準偏差はそれぞれ 396 ns，2 ns

独立したセシウム原子時計により駆動されている．まである．また，FPGA 内部で生じる遅延は，60 ns でず，2 枚の GbE 版 PUTS の間を，長さ 0.3 m の UTPあり，残りは PHY で生じている．

ケーブルを用いて，精度を測る．2 枚の PUTS/G のタイムスタンプ差は図 4 に示すように，400 ns 一定

6. 応 用 例

であり，ジッタは生じておらず，解像度（4 ns）の精

図 6 の構成で，クロストラヒックの回線利用度を推度で計測可能であることを示している．長さ 0.3 m の定する．HUB が FIFO キューイングを行い，クロス

UTP では遅延時間はたかだか 2 ns であり，PUTS の解像度以下であるため，PUTS/G 一段で生じる遅延
時間は 400 ns とする．なお，FPGA 内部で生じる遅延は，88 ns であり，残りは PHY で生じている．

トラヒックのパケットサイズが一定の場合，プローブ

次に，2 枚の 10 GbE 版 PUTS の間を，長さ 1 m

を R とすれば，P/R の間，回線を占有する．図 7 左パケットのキューイングディレーの分布は一様分布となる（図 7）．図 7 左上は，クロストラヒックの回線占
有時間を表す．パケットサイズ P に対して，回線速度

及び 3 m の光ファイバで直結した場合の遅延時間を下は，プローブパケットの到着時間によるキューイン

図 5 に示す．PUTS/X では，XG MII のデータ転送

グ時間を示す．クロストラヒックの直後に到着したプが 156 MHz の DDR で行われているが，PUTS の動

ローブパケットは，P/R 時間待機し，クロストラヒッ

作周波数 250 MHz と整数倍となっていないため，タイ

ク送出完了直前に到着したプローブパケットは少ない

ミング誤差が生じている．長さ 1 m のファイバで接続

待機時間で済む．また，回線が空いている時間帯に到着した場合には，遅延時間の平均は 401 ns．3 m のファしたプローブパケットは，速やかにフォワードされる．

イバの場合は，平均 411 ns．光ファイバ中の光の群速

これらのキューイング時間からヒストグラムを作成す2008論文／通過型高精度 UDP タイムスタンパの開発

Fig. 7図 7 回線利用度推定の原理
Priciple of link usage estimation.

ヒックの多くがパケット長 1500 バイトの IP パケットと推定される．

7. む す び
ネットワーク遅延のアクティブ計測を目的として，
ネットワーク上の任意の複数の位置に挿入し，通過す
る UDP パケットに高精度なタイムスタンプを逐次挿入する，全く新しいタイムスタンプ装置を開発した．
本装置を用いることにより，パスを構成する複数区間
図 8 キューイング遅延分布の実測値
Fig. 8 Histogram of queuing time.

の片方向遅延を，精度 4 ナノ秒で計測することが可能となる．また，プローブパケットにタイムスタンプ
を載せて伝送するため，リアルタイムかつ容易に遅延ると，図 7 右下のようになるが，最短遅延時間の割合

時間を収集することができる，一方，本装置挿入によが回線の空き時間に相当する．

るネットワークへの影響は，400 ナノ秒ほどの固定遅さて，実際に，図 6 の構成（リンクはすべて GbE）

延が増加するのみで，非侵襲性が高い．なお，本装置

で ク ロ ス ト ラ ヒック と し て iperf を 用 い て ，UDP
511 Mbps のトラヒックを流した．IP ヘッダ，UDP
ヘッダ，Ethernet frame ヘッダ，インタフレームギャッ
プを考慮すると，iperf のトラヒックは，回線容量のは設置容易・安全性に優れており，管理組織の異なる53%を占める．一方，84 バイトの UDP パケットをプ
ローブパケットとして，1 ms 間隔で 10 秒間送出し，片方向遅延時間のヒストグラムを作成した（図 8）．
図 8 より，空き帯域は 47%と推定され，極めて高いにおける非認証（unauthenticated）モードに対応すネットワークにまたがった計測にも適している．ただし，組織にまたがった利用では，パケット内容の保証を必要とする場合もあるが，本論文では，OWAMP
るモードのみの提案となっており，認証モード及び暗号化モードなど，OWAMP の標準化を参考にして開発を進める予定である．

精度で，回線利用度を推定することが可能である．ま今後，OWAMP との整合性を図るとともに，インた，キューイング遅延が，幅 12.3 マイクロ秒の一様

ターネットパフォーマンスモニタリングの基盤として分布となっていることから，Ethernet frame ヘッダ及普及を図る予定である．また，本論文では，UDP パ

びインタフレームギャップを考慮すれば，クロストラ

ケットにタイムスタンプを載せる方式を提案したが，2009

電子情報通信学会論文誌 2005/10 Vol. J88–B No. 10

現在のインターネットの主要なアプリケーションで用

timestamping of network packets,” Proc. ACM SIG-

いられている TCP の挙動を解析するために，PUTS

COMM Internet Measurement Workshop, pp.273–の TCP への拡張も今後の課題である．更に，JGN2277, San Francisco, 2001.
[14]

S. Katsuno, K. Yamazaki, T. Kubo, T. Asami, K.

等のリアルネットワークでの継続的計測により，帯域

Sugauchi, O. Tsunehiro, H. Enomoto, K. Yoshida,

推定，ふくそう推定，時刻同期，時計のキャリブレー

and H. Esaki, “High-speed ip meter him and its appli-

ションなどを行う．

cation in lan/wan environments,” IEICE Trans. Inf.

謝辞 コーダ電子（株）野間泉氏と佐武康一郎氏よ& Syst., vol.E85-D, no.8, pp.1241–1249, Aug. 2002.
[15]

り FPGA 実装に関して多くの助言を頂いた．また，
当機構西永望氏に IPv4 と IPv6 での UDP チェックサ[16]/isoc/conferences/inet/99/proceedings/4h/4h 2.html

文

[17]

献

V. Jacobson and M.J. Karels, “Congestion avoidance
1988.
V. Paxson, “End-to-end internet packet dynamics,”

measurements setup,” Proc. PAM 2002, pp.66–75,
2002.
[18]

itoring,” Proc. IEEE, vol.90, no.9, pp.1592–1603,

Proc. PAM 2003, pp.241–247, 2003.
[19]

2002.
[4]

Proc. PAM 2003, pp.131–141, 2003.
[5]

2002.

[7]

Oct. 2004.
八木敬宏，塩田茂雄，間瀬憲一，“ボトルネックリンク速度[8]

北口善明，町澤朗彦，箱崎勝也，中川晋一，“高精度時刻 pc
による片道遅延時間によるネットワーク帯域推定手法，”信
学論（B），vol.J87-B, no.10, pp.1696–1703, Oct. 2004.

[9]

K.C. Claﬀy, G.C. Polyzos, and H.-W. Braun, “Mea-ence, vol.4, no.3, pp.121–132, 1993.
[10]
[11]

S.

Shalunov,

B.

Teitelbaum,

A.

Karp,

J.W.

http://www.ietf.org/internet-drafts/draft-ietf-ippm-

pp.47–65, 2002.
[13]

J. Micheel, S. Donnelly, and I. Graham, “Precision

2010

R. Prasad, M. Jain, and C. Dovrolis, “Eﬀect of interPAM 2004, 2004. http://www.pam2004.org/papers/
265.pdf[23]

M. Carson and D. Santay, “Micro-time-scale network
measurements and harmonic eﬀects,” Proc. PAM
2004, pp.103–112, 2004.

[24]

Z. Shu and K. Kobayashi, “Hots:

An owamp-

compliant hardware packet timestamper,” Proc.
PAM 2005, pp.358–361, 2005.
[25]

S.F. Donnelly, High precision timing in passive measurements of data networks, Dr thesis of U. Waikato,
2002.

[26]

A. Pásztor and D. Veitch, “A precision infrastructure for active probing,” Proc. PAM 2001, 2001.
http://citeseer.ist.psu.edu/495791.html[27]

C. Fraleigh, C. Diot, B. Lyles, S. Moon, P. Owezarski,
D. Papagiannaki, and F. Tobagi, “Design and deployment of a passive monitoring infrastructure,” Proc.

M. Coates, A. Hero, R. Nowak, and B. Yu, “Internet tomography,” IEEE Signal Process. Mag., vol.19,

G. Jin and B.L. Tierney, “System capability eﬀects

rupt coalescence on network measurements,” Proc.

owdp-14.txt[12]

G. Jin, G. Yang, B.R. Crowley, and D.A. Agar-

2003), pp.27–38, Miami, 2003.
[22]

Boote, and M.J. Zekauskas, “A one-way active
measurement protocol, (owamp),” Internet draft.

An
Proc.

Proc. Internet Measurement Conference 2003 (IMC

G. Almes, S. Kalidindi, and M. Zekauskas, “A oneway delay metric for ippm,” RFC 2679, IETF, 1999.

Dovrolis,on algorithms for network bandwidth measurement,”

surement considerations for assessing unidirectional
latencies,” Internetworking: Research and Experi-C.

2001, pp.289–299, 2001.
[21]

推定ツールの提案と精度検証，” 信学論（B），vol.J87-B,
no.10, pp.1636–1647, Oct. 2004.

andIEEE High Performance Distributed Computing

佐々木貴之，角田 裕，太田耕平，加藤 寧，根元善章，“適応型帯域推定と sack を組み合わせた無線ネットワーク向け tcp，” 信学論（B），vol.J87-B, no.10, pp.1657–1667,

Danaliswal, “Network characterization service (ncs),” Proc.

width: Measurement methodology, dynamics, and re-

[6]

A.

PAM2003papers/3707.pdf[20]

M. Jain and C. Dovrolis, “End-to-end available bandlation with tcp,” ACM SIGCOMM 2002, pp.295–308,“Anemos:

autonomous network monitoring system,”

PAM 2003, 2003. http://moat.nlanr.net/PAM2003/

L. Carbone, F. Coccetti, P. Dini, R. Percacci, and A.
Vespignani, “The spectrum of internet performance,”

J.G.T. Corral and L. Toutain, “End-to-end active
measurement architecture in ip networks (saturne),”Proc. ACM SIGCOMM 1997, pp.139–154, 1997.
T.M. Chen and L. Hu, “Internet performance mon-M. Alves, L. Corsello, D. Karrenberg, and C. Ogut,“New measurements with the ripe ncc test traﬃc

and control,” ACM SIGCOMM 1988, pp.314–329,

[3]

An

ments,” Proc. INET 1999, 1999. http://www.isoc.org

する．

[2]

S. Kalidindi and M.J. Zekauskas, “Surveyor:

infrastructure for internet performance measure-ムの扱いの相違について指摘して頂いた．ここに感謝[1]V. Paxson, A. Adams, and M. Mathis, “Experienceswith nimi,” Proc. PAM 2000, p.34, 2000.

PAM 2001, pp.556–575, 2004.
[28]

K. Papagiannaki, S. Moon, C. Fraleigh, P. Thiran,and C. Diot, “Measurement and analysis of single-

論文／通過型高精度 UDP タイムスタンパの開発
hop delay on an ip backbone network,” IEEE J. Sel.
Areas Commun., vol.21, no.6, pp.908–921, 2003.
[29]

R.S. Prasad, C. Dovrolis, and B.A. Mah, “The effect of layer-2 switches on pathchar-like tools,” Proc.
ACM IMW 2002, pp.321–322, 2002.

[30]

R.S. Prasad, C. Dovrolis, and B.A. Mah, “The effect of layer-2 store-and-forward devices on per-hop
capacity estimation,” Proc. IEEE INFOCOM 2003,

鳥山裕史 （正員）昭 58 名大大学院情報工学専攻博士課程
前期課程了．同年郵政省電波研究所（現情報通信研究機構）入所．平 2〜5 ATR 通信システム研究所．平 5〜6 ドイツテレコ
ム研究所客員研究員．画像符号化，情報通信などの研究に従事．

pp.2090–2100, San Francisco, 2003.
[31]

S. Savage,“Sting:surement tool,”

A tcp-based network mea-

岩間

司 （正員）

Proc. USENIX Symposium on

Internet Technologies and Systems 1999, 1999.
http://www.usenix.org/publications/library/proceedings/usits99/full-papers/savage/savage.pdf[32]

R. Govindan and V. Paxson, “Estimating router icmp

[33]

P. Fransson and A. Jonsson, “End-to-end measure-generation delays,” Proc. PAM 2002, pp.6–13, 2002.
ments on performance penalties of ipv4 options,”
Proc. IEEE GLOBECOM 2004, pp.1441–1447, Dal-

昭 58 山梨大・工・電子卒．昭 60 東工大
大学院修士課程了．同年郵政省電波研究所（現情報通信研究機構）入所．以来，電波伝搬特性解析，移動通信のセル構成，標準時，時刻認証基盤技術の研究に従事．現在，
電磁波計測部門タイムアプリケーショング
ループ主任研究員．平 2 本会篠原記念学術奨励賞受賞．IEEE
会員．

las, 2004.
[34]

D. Agarwal, J.M. Gonzalez, G. Jin, and B. Tierney,

金子

明弘 （正員）“An infrastructure for passive network monitoring of
application data streams,” Proc. PAM 2003, 2003.
http://moat.nlanr.net/PAM2003/PAM2003papers/
3765.pdf[35]

D.L. Mills, “Network time protocol, (version 3),”[36]

Z.-S. Su, “A speciﬁcation of the internet protocol (ip)

昭 57 昭和第一工業高・電気卒．同年郵政省電波研究所（現情報通信研究機構）入所．以来，VLBI，時刻比較，周波数標準等の研究に従事．

RFC 1305, IETF, 1992.
timestamp option,” RFC 781, IETF, 1981.
[37]

町澤朗彦，北口善明，“割込みハンドラと高精度 pc によるソフトウェアタイムタンプの精度改善，” 信学論（B），
vol.J87-B, no.10, pp.1678–1685, Oct. 2004.

[38]

R. Braden, D. Borman, and C. Partridge, “Computing the internet checksum,” RFC 1071, IETF, 1988.

[39]

S. Deering and R. Hinden, “Internet protocol, version[40]

J. Postel, “User datagram protocol,” RFC 768, IETF,

6 (ipv6) speciﬁcation,” RFC 2460, IETF, 1998.
1980.

（平成 17 年 1 月 6 日受付，5 月 10 日再受付）

町澤朗彦 （正員）昭 59 上智大・理工・電気電子卒．同年郵政省電波研究所（現情報通信研究機構）入所．平 6 科学技術庁に出向し，IMnet 立上げに参与．平 8〜11 Univ. Canterbury
客員研究員．平 15 JGN2 立上げに参与．
画像の高能率符号化，視覚情報処理，計算機ネットワークの研究に従事．日本認知科学会会員．

2011