JP4555989B2 - タイムスタンプ装置及びタイムスタンプ用パケット生成装置 - Google Patents

タイムスタンプ装置及びタイムスタンプ用パケット生成装置 Download PDF

Info

Publication number
JP4555989B2
JP4555989B2 JP2004299806A JP2004299806A JP4555989B2 JP 4555989 B2 JP4555989 B2 JP 4555989B2 JP 2004299806 A JP2004299806 A JP 2004299806A JP 2004299806 A JP2004299806 A JP 2004299806A JP 4555989 B2 JP4555989 B2 JP 4555989B2
Authority
JP
Japan
Prior art keywords
time
packet
time stamp
data packet
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2004299806A
Other languages
English (en)
Other versions
JP2006115153A (ja
Inventor
朗彦 町澤
晋一 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2004299806A priority Critical patent/JP4555989B2/ja
Publication of JP2006115153A publication Critical patent/JP2006115153A/ja
Application granted granted Critical
Publication of JP4555989B2 publication Critical patent/JP4555989B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、ネットワーク上の所定のデータパケットに高精度なタイムスタンプ情報を挿入するタイムスタンプ装置、及び高精度なタイムスタンプ情報を格納するためのデータパケットを生成するタイムスタンプ用パケット生成装置に関する。より詳しくは、本発明は、ネットワークの非侵襲な計測、即ち伝送遅延の変動への影響を最小限にした高精度の監視、解析などの計測処理を目的として、ネットワーク上のデータパケットに高精度の時刻や時間などのタイムスタンプ情報を付与するタイムスタンプ装置、及び前記データパケットの生成装置に関する。
1ギガビットイーサネット(1 gigabit Ethernet)上で最小のイーサネット・フレーム(72バイト=MAC22bytes+NetworkPDU46bytes+CRC4bytes)を伝送するための所要時間は、576ナノ秒である。このような高速広帯域ネットワークの計測を可能にするために、10ナノ秒単位の高精度タイムスタンプ処理が要求されている。
イーサネット上のIPパケットのタイムスタンプ処理として、IPパケットのヘッダ部のタイムスタンプオプションがある(RFC781参照)。このタイムスタンプオプションによる精度はミリ秒程度しかない。さらに、IPパケットのヘッダ部へのタイムスタンプの挿入はパケット長の変化を伴い、伝送遅延の変動を生じるため、高精度なネットワーク計測のためのタイムスタンプ処理には適していない。
タイムスタンプ処理の精度を向上させるために、様々な改良が行われている。例えば、ソフトウェアのみによるタイムスタンプ処理として、ネットワーク・デバイスドライバ内にタイムスタンプ機能を設け、CPUのタイムスタンプカウンタを使用してタイムスタンプ情報を挿入する手法があり、精度は1マイクロ秒近くまで改良されている。
しかし、コンピュータ(PC)内の水晶発振回路の周波数は温度によって変化するため、この周波数の揺らぎがタイムスタンプ情報の精度を低下させてしまうという問題がある。そこで、水晶発振回路の周波数の揺らぎをソフトウェアによって補償する改良手法がある。また、水晶発振回路の代わりに安定性が改良されているセシウム原子時計を使用する改良手法もある。例えば、DAGと呼ばれるハードウェアをベースにしたネットワーク計測システムでは、セシウム原子時計を利用したハードウェアのタイムスタンプ処理が行われる(非特許文献1参照)。
Jorg Micheel, Stephen Donnelly, and Ian Graham著、「Precision timestamping of network packets 」p.p. 54-97、In proceedings of the ACM SIGCOMM Internet Measurement Workshop, San Francisco、2001年11月
ネットワーク計測や時刻同期をはじめとする各種のネットワークアプリケーションでは、高精度な時間情報が必要とされる。例えば、ギガビットイーサネットでは、1バイト当たりのネットワーク通過時間は8ナノ秒であり、10ギガビットイーサネットでは、僅か0.8ナノ秒にすぎない。
非特許文献1に開示されているDAGシステムのハードウェアのタイムスタンプ装置の精度は最大で100ナノ秒程度とされている。これは、大気中のシンチレーションがGPS信号を変動させ、さらにGPS上のセシウム電子時計を変化させることなどが原因となっている。他方、ギガビットイーサネットのLANにおけるジッタ(伝送遅延の変動)は、100ナノ秒に満たない程度である。そのため、GPSを利用したハードウェアのタイムスタンプ装置は、このような高速ネットワークの計測には適していない。
また、非特許文献1のDAGシステムのタイムスタンプ装置は、タイムスタンプ情報をパケットとは別にホストPCに取り込む構造であるため、ネットワーク上の複数の経由地で挿入された時間情報を1つのパケットに格納して転送することはできない。
本発明の目的は、高速ネットワークの計測において伝送遅延に変動を与えないような非侵襲な計測を可能とするために、高精度な時間情報を付与するタイムスタンプ装置を提供することである。
また、本発明の目的は、高精度の時間情報を格納し、伝送時間の変動を生じさせないようなデータパケットを生成するタイムスタンプ用パケット生成装置を提供することである。
上記目的を達成するため、本発明は、ネットワーク上のデータパケットにタイム情報を挿入するタイムスタンプ装置であって、1)部クロック信号から同期信号及び時間信号を生成する時間同期信号生成手段と、2)前記時間信号を用いて所定の間隔でタイムカウントするタイムカウント手段と、3)ネットワークから受信したデータ信号をビットストリームに変換する第1のネットワークインターフェース手段と、4)前記ビットストリームをデータ信号に変換してネットワークへ送出する第2のネットワークインタフェース手段と、5)前記同期信号を用いて、前記第1のネットワークインターフェース手段及び前記第2のネットワークインターフェース手段の間を通過する前記ビットストリームをカットスルー方式により処理するパケット処理手段とを備える。
そして、前記パケット処理手段は、前記第1のネットワークインターフェース手段によりビットストリームに変換されたデータパケットから、所定の識別情報を有しかつペイロード部が固定長であるデータパケットを検出する処理と、前記検出されたデータパケットのペイロード部に前記タイムカウント手段により生成されたタイムカウント情報を格納する処理と、前記タイムカウント情報が格納されたデータパケットのチェックサムの演算結果がデータパケットに設定されているチェックサム値となるためのチェックサム補償値を演算して、演算したチェックサム補償値を該データパケットのトレイラ部に格納する処理とを行う
本発明のタイムスタンプ装置は、高精度の外部クロック信号として、例えば、セシウム原子時計の10MHzクロック信号を利用する。そして、タイムカウント手段は、例えば64ビットのカウンタを備えて、前記クロック信号を増幅した100MHzの時間信号を用いて、所定の間隔のタイムカウントを行う。このタイムカウント情報(カウンタ値)をタイムスタンプ情報とする。
そして、ネットワーク上のデータ信号は、前記第1のネットワークインターフェース手段によってビットストリームに変換され、前記パケット処理手段を通過し、前記第2のネットワークインターフェース手段によってデータ信号に変換されてネットワーク上に送出される。さらに、パケット処理手段では通過するビットストリームに対して、カットスルー方式によって以下の処理が施される。
前記パケット処理手段は、ビットストリームで構成されるデータパケットの所定の識別情報を用いて特定のタイムスタンプ用のデータパケットを検出する。そして、識別情報が検出されたデータパケットの固定されたサイズのペイロード部に、タイムカウント手段により供給されたタイムカウント情報(カウンタ値)を格納する。さらに、タイムカウント情報の格納後に行うチェックサム演算結果が、前記データパケットに設定されている所定のチェックサム値となるように補償値を演算し、データパケットの末尾の所定部に前記補償値を格納する。
その後、パケット処理手段によって処理されたデータパケットは、第2のネットワークインターフェース手段によってデータ信号に変換されてネットワークへ送出される。
なお、識別情報を検出しなかったビットストリームはそのまま第2のネットワークインターフェース手段によってネットワークへ送出される。
本発明のタイムスタンプ装置において、タイムカウント手段では、例えば、セシウム原子時計の10MHzクロック信号のような高精度の外部クロック信号をもとに増幅された任意の周波数を用いて、例えば10ナノ秒単位など任意の間隔によるタイムカウント情報を生成し、パケット処理手段では、ストアアンドフォワード方式ではなくカットスルー方式によって、高精度のタイムカウント情報を用いたタイムスタンプ情報を特定のパケットに格納する。また、本発明のタイムスタンプ装置では、パケット処理手段の処理対象は、所定の識別情報が設定された任意の固定されたデータサイズのペイロード部を有するデータパケットであり、例えば、UDPなどのデータグラム型のデータパケットを使用する。
これにより、高速ネットワークの計測において、高精度なタイムスタンプ情報を使用した伝送時間の高精度な計測を実現することができる。また、パケットサイズの変化やバッファリング時間の変動による伝送遅延の変動を生じさせないため、伝送遅延ジッタに影響を及ぼさない非侵襲な計測を実現することができる。
さらに、前記パケット処理手段は、前記パケットデータのペイロード部にタイムカウント情報が格納されている場合に、前記格納されたタイムカウント情報の後ろに追加してタイムカウント情報を格納する。これにより、1つのデータパケットに複数の経由地でのタイムスタンプ情報を格納して転送できるため、1つのデータパケットでネットワークの伝送時間を監視・計測することができる。
また、前記パケット処理手段は、前記データパケットから所定のモード値を検出し、前記モード値に応じて、少なくともタイムカウント情報を含む所定のタイムスタンプ情報を前記ペイロード部に格納する。例えば、各経由地のタイムカウント情報(カウンタ値)を順次格納するモード、カウンタ値と共にカウンタ値を時間情報に変換するパラメタを格納するモード、カウンタ値と共に計測値などの所定のデータを格納するモードなどを指定することができる。これにより、高精度のタイムスタンプ情報を、ネットワーク計測だけでなく、正確な時間管理が必要な計測データの転送などにも利用することができる。
また、前記パケット処理手段は、さらに、前記ビットストリームをキャプチャし、データ記憶手段に保存するパケットキャプチャ手段を備える。これにより、ネットワーク上を通過するビットストリームを保存して、ネットワークの監視や解析などに使用することができる。
また、本発明は、タイムスタンプ用データパケットを生成するタイムスタンプ用パケット生成装置であって、1)タイム情報を格納するために所定のデータサイズのペイロード部を備え、所定の識別情報を格納したデータグラム型のデータパケットを生成するパケット生成手段と、2)前記データパケットをデータ信号に変換してネットワークへ送出するネットワークインタフェース手段とを備える。
また、本発明のタイムスタンプ用パケット生成装置は、さらに、3)高精度の外部クロック信号から同期信号及び時間信号を生成する時間同期信号生成手段と、4)前記時間信号を用いて所定の間隔でタイムカウントするタイムカウント手段と、5)前記データパケットのペイロード部に前記タイムカウント手段によるタイムカウント情報を格納するタイムスタンプ付与手段とを備える。
これにより、前記タイムスタンプ装置で処理対象となるデータパケットを提供することができる。
また、前記タイムスタンプ用パケット生成装置のネットワークインターフェース手段は、任意の間隔で前記データパケットをネットワークへ送出する。これにより、正確な時報や1pps(packet per second)信号に相当するパケットを、送出又はブロードキャストすることができる。
本発明のタイムスタンプ装置によれば、従来のタイムスタンプ処理の100ナノ秒の精度に比べて、より高精度(例えば、10ナノ秒r.m.s.)でタイムスタンプ情報を付与する処理を実現することができ、高速ネットワークに対する高精度の計測が可能となる。
また、本発明のタイムスタンプ装置によれば、通過する特定のデータパケットに対してカットスルー方式により高精度のタイムスタンプ情報を格納することができ、高速ネットワークに対する非侵襲な計測が可能となる。
また、本発明のタイムスタンプ用パケット生成装置は、高精度なタイムスタンプ情報を格納するパケットを任意の間隔で送出することができ、例えば、1ppsパケットなどにより、ネットワーク家電、情報機器の時計合わせや1pps信号を必要とする精密計測機器、同期システムへの正確な時刻情報の伝送・提供が可能となる。
以下、本発明を実施するための最良の形態例を、図を用いて説明する。
本発明のタイムスタンプ装置1は、ネットワーク上を通過する所定のデータパケットに、高精度のタイムスタンプ情報を挿入し、又は、タイムスタンプ情報を挿入するためのデータパケットを作成する装置である。
タイムスタンプ装置1が付与するタイムスタンプ情報は、高精度な外部クロック信号にもとづく所定の間隔でカウントアップしたカウンタ値とする。所定の間隔をGTS(Generalize Time Stamp)とし、本例では、10ナノ秒間隔のカウンタ値とする。タイムスタンプ情報として挿入される値が、ナノ秒の累乗ではなく所定の間隔(GTS)のカウント数である理由は、処理コストを軽減でき、ジッタを少なくすることができるからである。
タイムスタンプ装置1で処理対象とする所定のデータパケット、又は、生成するデータパケットは、特定のポート番号を有するUDP(User Datagram Protocol)パケットであってIPv4及びIPv6の両方に対応しているものとする。この特定のデータパケットのフォーマットの詳細は後述する。
図1は、本発明のタイムスタンプ装置の構成例を示す図である。
タイムスタンプ装置1は、PCI(Peripheral Component Interconnect)規格カードサイズのFPGAをベースに実施され、ネットワークインターフェース部10、時間同期情報生成部20、タイムカウンタ部30、パケット処理部40、及びホストインターフェース部50を備える。
ネットワークインターフェース部10は、1ギガビット・イーサネット・インターフェースを備える2つのポートを持ち、ネットワーク上のデータ信号をビットストリームに変換し、又は、変換したビットストリームをデータ信号に変換してネットワークへ送出する処理を全二重動作で行う手段である。
具体的には、ネットワークインターフェース部10は、それぞれ、コネクタ(RJ45)11−1及び物理層処理部(PHY)12−1のポート#1、コネクタ(RJ45)11−2及び物理層処理部(PHY)12−2のポート#2からなる2つの1000Base−Tのインターフェースを備え、IPパケットが2つのインターフェース(ポート#1及びポート#2)の間を通過する構造となっている。
時間同期情報生成部20は、外部信号入力部21、位相同期部(PLL)22を備え、外部信号入力部21が入力した高精度の基準クロック信号を位相同期部22で増幅して所定の周波数の同期信号及び時間信号を生成する処理手段である。
外部信号入力部21は、高精度の基準クロック信号として、セシウム電子時計の10MHzクロック信号を使用する。又は、ルビジウム原子発振器、タイムスタンプ装置1内に備えるオーブンタイプ水晶発信回路(図示せず)のクロック信号を使用してもよい。なお、装置内のオーブンタイプ水晶発振回路は、外部の10MHz信号を使用せずに、温度調整された室内で10―8の精度を維持できる性能を備える。
また、外部信号入力部21は、高精度な1pps信号(1秒パルス)を入力することができる。
位相同期部22は、外部信号入力部21で入力された高精度な基準クロック信号を増幅し、物理層処理部12−1,12−2、パケット処理部40に対し25MHzの同期信号を、タイムカウンタ部30に対し100MHzの同期信号又は1ppsの時間信号を送出する。また、ホストインターフェース部50に40MHzの同期信号を送出する。
タイムカウンタ部30は、64ビットのタイムカウンタを持ち、同期信号及び時間信号を用いて、所定の間隔(GTS)でカウントアップする。1カウントは、10ナノ秒単位であり、カウント数は、最大227×10ナノ秒となる。
また、タイムカウンタ部30は、タイムスタンプ装置1の電源投入時又は最初の1pps時間信号に対してカウンタ値を0にリセットする。また、1ppsの時間信号が2の冪に達する度に、タイムスタンプ値を1pps数で除した値を計算し、64ビットの計算結果をカウンタレートとして保持する。
パケット処理部40は、ネットワークインターフェース部10の2つのポート#1及びポート#2の間のパイプラインを通過するIPパケット(ビットストリーム)のうち、予め定められた特定のポート番号を持つGTSパケットをカットスルー方式により処理する処理手段である。
パケット処理部40は、タイムスタンプ付与部41、チェックサム補償部42、パケットキャプチャ部43、パケット生成部44を備える。
タイムスタンプ付与部41は、通過するIPパケットの所定の位置を検出して、特定のポート番号を持つGTSパケットのみに対して、ペイロード部の所定位置に設定されたモード指定に従って、所定のタイムスタンプ情報をGTSパケットに格納する処理手段である。タイムスタンプ付与部41は、タイムスタンプ情報として、そのGTSパケットのイーサネットフレームの先頭が、コネクタ11−1、11−2に到着した時点でタイムカウンタ部30によりカウントアップされたカウンタ値を使用する。
チェックサム補償部42は、タイムスタンプ情報の格納後に、CRC(Cyclic Redundancy Check)チェックサムの演算結果がGTSパケットのヘッダ部に設定されるチェックサム値となるための補償値を演算し、GTSパケットのトレイラに格納する処理手段である。
パケットキャプチャ部43は、ネットワークインターフェース部10の2つのポートを通過するイーサネットフレーム(ビットストリーム)をキャプチャし、所定のデータ記憶部に、例えばtcpdumpフォーマットで保存する処理手段である。パケットキャプチャ部43は、ワイヤーレートで1000万個以上のイーサネットフレームをキャプチャする。
パケット生成部44は、タイムスタンプ情報を格納する所定のデータサイズのペイロード部を備え、所定のポート番号が設定されたデータグラム型のデータパケット、すなわちGTSパケットを生成する処理手段である。また、パケット生成部44は、生成したGTSパケットを、ネットワークインターフェース部10を通じて任意の間隔でネットワークに送出される。
なお、パケット処理部40は、GTSパケット以外のIPパケットには何も処理を加えずにそのまま通過させる。
パケット処理部40の処理対象となるGTSパケットは所定のデータサイズのペイロード部を持つ。ペイロード部のフォーマットは、0〜7byteに、バージョン番号(Ver#)、モード(mode)、TS数(n)、シリアル番号(serial#)が設定され、8byte以降にタイムスタンプ情報が格納されるように構成される。
バージョン番号は、GTSパケットのフォーマットのバージョンを示すフィールド、モードはタイムスタンプ付与処理の種別を示すフィールド、TS数はペイロード部に格納されるタイムスタンプ数となるホップ数を示すフィールド、シリアル番号は一連のGTSパケットの当該パケットの順序を示すフィールドである。各値は、ネットワークのバイトオーダすなわちbig-endianで格納される。
図2〜図4に、各モードでのGTSパケットのペイロード部のフォーマットを示す。
モードの指定は、例えば、パッシングモード(0x02)、タイムコンバージョンモード(0x04)、イベントタイムスタンプモード(0x10、0x11)などがある。
〔パッシングモード〕
パッシングモードは、ペイロード部に複数の経由地のタイムスタンプ情報を格納できるモードである。
図2(A)に示すように、コンピュータTXからコンピュータRXへネットワークNを通過してパケットが伝送されるとする。コンピュータTX側とコンピュータRX側に、それぞれタイムスタンプ装置1―1、1−2を設置し、コンピュータTXからコンピュータRXへと伝送されるGTSパケットにパッシングモードのものを使用する。
タイムスタンプ装置1−1では、このパッシングモードのGTSパケットにタイムスタンプ情報(timestamp#0)を格納し、タイムスタンプ装置1−2で同じパケットにタイムスタンプ情報(timestamp#1)を格納する。
これにより、1つのGTSパケットで、コンピュータTXとコンピュータRXの間のネットワークNの伝送時間を計測することができる。
図2(B)は、パッシングモード指定のペイロード部のフォーマットを示す図である。
タイムスタンプ付与部41は、モード指定としてパッシングモード(xxxxxxxx=00000010)の指定を検出すると、ペイロード部のTS数(ホップ数)n(yyyyyyyy)の値から、ペイロード部の所定の格納位置(8*(yyyyyyyy+1))バイト目にタイムスタンプ情報を格納し、TS数(ホップ数)n(yyyyyyyy)を1つインクリメントする。なお、GTSパケットのサイズが、「8*(yyyyyyyy+1)」バイト以下であれば、パケット最後部8バイトにタイムスタンプ情報を格納する。
〔タイムコンバージョンモード〕
タイムコンバージョンモードは、タイムスタンプ情報として、GTSによるカウンタ値及びカウンタ値から時間情報へ変換するための値を格納するモードである。
本発明では、処理コスト及びジッタ抑制のために、タイムカウンタ部30によるカウンタ値をタイムスタンプ情報として使用する。カウンタ値cは、以下の式(1)で簡単に秒単位系での時間tに変換することができる。
t=c/r+o (1)
タイムコンバージョンモードでは、タイムスタンプ情報として、タイムカウンタ部30のカウント値及び時間tへの変換に必要なパラメタの組をペイロード部に格納する。
図3は、タイムコンバージョンモード指定のペイロード部のフォーマットを示す図である。
タイムスタンプ付与部41は、モード指定としてタイムコンバージョンモード(xxxxxxxx=00000100)の指定を検出すると、タイムスタンプ情報として、タイムカウンタ部30のカウンタ値(c)、1秒間のカウント数レートを示すカウンタレート(rate(r))、カウンタが0にセットされた時間を示すオフセット(offset(o))、及びカウンタ値から算出する時間の単位(time)をペイロード部の所定の位置(16バイト目)に格納する。
これにより、タイムコンバージョンモードのGTSパケットを取得したホストコンピュータは、カウンタ値cから時間tを算出することができる。
〔イベントタイムスタンプモード〕
イベントタイムスタンプモードは、タイムスタンプ情報として、GTSによるカウンタ値及び所定のデータを格納するモードである。
図4は、イベントタイムスタンプモード指定のペイロード部のフォーマット例を示す図である。
タイムスタンプ付与部41は、モード指定としてタイムコンバージョンモードのアンロック状態(xxxxxxxx=00010000)の指定を検出すると、タイムスタンプ情報として、タイムカウンタ部30によるカウンタ値及び所定の計測値の組をペイロード部の所定の位置(8バイト目)に格納し、モードをタイムコンバージョンのロック状態(xxxxxxxx=00010001)に書き換える。
一方、タイムスタンプ付与部41は、モード指定としてタイムコンバージョンモードのロック状態(xxxxxxxx=00010001)の指定を検出した場合には、ペイロード部へのタイムスタンプ情報の格納は行わない。
これにより、ホストコンピュータが計測したデータなどを、イーサネットを通じて他のコンピュータに転送する場合に、イベントタイムスタンプモードのGTSパケットのペイロード部に、カウンタ値及び転送するデータの組を格納することで、転送データに正確なタイムスタンプを付与することができる。
なお、いずれのモードにおいても、パケット処理部40の処理性能は、パケット長とは無関係であり、ほぼ一定して400ナノ秒である。ただし、最大で20ナノ秒のジッタ(11ナノ秒r.m.s)が生じる。ファストイーサネットの伝送周波数が25MHzに起因するものである。
図5に、本発明による、100MイーサネットのGTSパケットのジッタの計測結果の例を示す。100Mイーサネットのネットワークのキャリアは25MHzであり、本発明が、予想される範囲のジッタを正確に計測していることがわかる。
ホストインターフェース部50は、タイムスタンプ装置1が挿入されているホストコンピュータとのデータ及び制御のやりとりをPCIによって行う処理手段である。ホストインターフェース部50は、PCIバスにより電源を供給し、タイムスタンプ装置1の各処理部の設定又はリセットを行う。
ホストコンピュータは、ホストインターフェース部50を通じて、タイムスタンプ装置1の位相同期部22のクロック、10MHz外部クロック信号の有無など各処理手段の状態を確認し、リモートからファームウェアアップデートをすることができる。
以下、本発明の適用例を説明する。本発明を、ネットワーク・デバイスの転送ジッタの計測、コンピュータにおけるタイムスタンプ処理の評価、及びネットワーク使用率の評価の各処理に適用した。
〔ネットワーク・デバイスの転送ジッタの計測〕
図6は、本発明を適用したネットワーク・デバイスの転送ジッタの計測を説明するための図である。図6(A)に示すように、コンピュータTXからコンピュータRXへネットワーク装置NDを通過してパケットが伝送される場合に、ネットワーク装置NDのパケット転送のジッタを計測した。数台のGbEスイッチングハブ、L2/3スイッチを計測するため、計測対象を挟んでコンピュータTX側とコンピュータRX側に、それぞれタイムスタンプ装置1―1、1−2を設置し、コンピュータTXからコンピュータRXへ向けてパッシングモードのGTSパケットを伝送した。
図6(B)に示す計測結果は、スイッチングハブのジッタは約40ナノ秒であり、L2/3スイッチのジッタは100〜200ナノ秒であることを示している。この結果から、いくつかのスイッチングハブでは、接続するLANにおける伝送遅延のジッタが100ナノ秒単位を超えないことがわかる。100ナノ秒のジッタは、GPSによる時間同期の限界である。したがって、GPSを使用することなく、ワイヤード・ネットワークでの100ナノ秒未満の時間同期を達成することが可能であることがわかる。
〔コンピュータにおけるタイムスタンプ処理の評価〕
図7は、本発明を適用したコンピュータにおけるタイムスタンプ処理の評価を説明するための図である。
図7(A)に示すように、コンピュータTXからコンピュータRXへパケットが伝送されるとする。
パケットにタイムスタンプ処理を行うために、プログラム可能性及び多様性を備えるコンピュータが使用されることも多い。コンピュータを用いたタイムスタンプ処理の精度を向上させるための代表的な手法として、2つの手法がある。
1つは、gettimeofday()関数の代りに、プロセッサ・サイクル・カウンタを使用する手法である。近年のMPUは、各CPUのクロックサイクルをインクリメントする高精度なカウンタを備え、このカウンタは、GTSに相当する。
もう1つは、ネットワークインターフェースのデバイスにタイムスタンプ機能を実装する手法である。デバイスドライバは、プログラム中では最終段階であり、デバイスドライバ内でのタイムスタンプ処理は、プロセススケジュールによる影響がほとんどない。
そこで、コンピュータTXのネットワークの出入り口にタイムスタンプ装置1を接続して、コンピュータTXにおける、前記手法によるタイムスタンプ処理の精度について評価した。すなわち、ユーザプログラム領域(user land)でgettimeofday()関数を用いた処理、ユーザプログラム領域でのRDTSC(あるMPUにおいて、プロセッサ・サイクル・カウンタを読み出す命令)による処理、及びネットワークインターフェース・ドライバ(NIC)でのRDTSCによる処理を評価した。
テスト対象のコンピュータTXは、2.4GHzのMPU及びFSB400MHzのバス(bus)であり、オペレーティングシステムはLinux2.4.20、ネットワークインターフェース・ドライバはtulip-0.9.14である。コンピュータTXは、セシウム電子時計によって駆動されている。
図7(B)に評価結果を示す。この評価結果から、NIC内でのRDTSCによるタイムスタンプ処理の精度は、GPSベースのハードウェアのタイムスタンプ処理よりも、100ナノ秒以上よいことがわかる。なお、高精度が維持される時間は、コンピュータ内の水晶発振回路に依存するので、長期間安定した処理精度を維持するためには、水晶発振回路の交換が必要となる。
〔ネットワーク使用率の推定〕
図8は、本発明を適用したネットワークの使用率の推定を説明するための図である。
図8(A)に示すように、ネットワーク上のハブAとハブBとの間のラインの使用率を推定するために、ハブA及びハブBにそれぞれタイムスタンプ装置1−1、1−2を接続し、タイムスタンプ装置1−1からタイムスタンプ装置1−2へGTSパケットをプローブパケットとして送出して、ハブAからハブBへのトラヒックを計測した。
プローブパケットの伝送遅延から、パケットが転送待ちとなったかどうかを確認できる。例えば、バックグラウンドのトラヒックのパケットサイズを定数Pとし、ラインの通信速度をRとすると、図8(B)の上部に示すように、ハブAからハブBへ伝送されるバックグラウンドのトラヒックでは、パケットがラインを占有する。
その場合に、図8(B)の下部に示すように、待ちによる遅延はゼロからP/Rまでの間で一様となり、プローブパケットが待ち状態ではないならば、伝送遅延は最小となるはずである。したがって、最小の容量に含まれるパケットの割合が、ラインの不使用率を示す。
図8(C)に、1Gbpsのラインで、パケットサイズP=1500バイトのバックグラウンドのパケットの占有率が50%である場合におけるプローブパケットの実計測の待ち時間を示す。このヒストグラムは、おおむね、図8(B)の下部に示す理論上のヒストグラムに類似し、一方、推定値50.2%も実際のトラヒックにかなり近いことがわかる。
以上、本発明をその実施の形態により説明したが、本発明はその主旨の範囲において種々の変形が可能であることは当然である。例えば、タイムスタンプ装置1のネットワークインターフェース部10の2つのポートは、XENPAC仕様の光モジュールによる10ギガビットイーサネットのインターフェースのポートであってもよい。また、外部信号入力部21が入力するクロック信号は10MHzに限られない。
本発明のタイムスタンプ装置の構成例を示す図である。 パッシングモード指定のGTSパケットのペイロード部のフォーマットを示す図である。 タイムコンバージョンモード指定のGTSパケットのペイロード部のフォーマットを示す図である。 イベントタイムスタンプモード指定のGTSパケットのペイロード部のフォーマットを示す図である。 100MイーサネットのGTSパケットのジッタの計測結果の例を示す図である。 本発明を適用したネットワーク・デバイスの転送ジッタの計測を説明するための図である。 本発明を適用したコンピュータにおけるタイムスタンプ処理の評価を説明するための図である。 本発明を適用したネットワークの使用率の推定を説明するための図である。
符号の説明
1 タイムスタンプ装置
10 ネットワークインターフェース部
11−1、11−2 コネクタ
12−1、12−2 物理層処理部
20 時間同期情報生成部
21 外部信号入力部
22 位相同期部
30 タイムカウンタ部
40 パケット処理部
41 タイムスタンプ付与部
42 チェックサム補償部
43 パケットキャプチャ部
44 パケット生成部
50 ホストインターフェース部

Claims (7)

  1. ネットワーク上のデータパケットにタイム情報を挿入するタイムスタンプ装置であって、
    外部クロック信号から同期信号及び時間信号を生成する時間同期信号生成手段と、
    前記時間信号を用いて所定の間隔でタイムカウントするタイムカウント手段と、
    ネットワークから受信したデータ信号をビットストリームに変換する第1のネットワークインターフェース手段と、
    前記ビットストリームをデータ信号に変換してネットワークへ送出する第2のネットワークインターフェース手段と、
    前記同期信号を用いて、前記第1のネットワークインターフェース手段及び前記第2のネットワークインターフェース手段の間を通過する前記ビットストリームをカットスルー方式により処理するパケット処理手段とを備え、
    前記パケット処理手段は、前記第1のネットワークインターフェース手段によりビットストリームに変換されたデータパケットから、所定の識別情報を有しかつペイロード部が固定長であるデータパケットを検出する処理と、
    前記検出されたデータパケットのペイロード部に前記タイムカウント手段により生成されたタイムカウント情報を格納する処理と、
    前記タイムカウント情報が格納されたデータパケットのチェックサムの演算結果が該データパケットに設定されているチェックサム値となるためのチェックサム補償値を演算して、演算したチェックサム補償値を該データパケットのトレイラ部に格納する処理とを行う
    ことを特徴とするタイムスタンプ装置。
  2. 前記パケット処理手段は、前記ビットストリームに変換されたパケットデータのペイロード部にタイムカウント情報が格納されている場合に、前記格納されたタイムカウント情報の後続の位置に、前記タイムカウント手段により生成されたタイムカウント情報を格納する
    ことを特徴とする請求項1に記載のタイムスタンプ装置。
  3. 前記パケット処理手段は、前記ビットストリームに変換されたデータパケットから所定のモード値を検出し、前記検出したモード値に応じて、少なくとも前記タイムカウント手段により生成されたタイムカウント情報を含む所定の情報を該データパケットのペイロード部に格納する
    ことを特徴とする請求項1または請求項2に記載のタイムスタンプ装置。
  4. 前記第1のネットワークインターフェース手段により変換されたビットストリームを記憶するデータ記憶手段を備えて、
    前記パケット処理手段は、前記第1のネットワークインターフェースにより変換されたビットストリームをキャプチャして前記データ記憶手段に保存するパケットキャプチャ手段を備える
    ことを特徴とする請求項1ないし請求項のいずれか一項に記載のタイムスタンプ装置。
  5. 外部クロック信号から同期信号及び時間信号を生成する時間同期信号生成手段と、前記時間信号を用いて所定の間隔でタイムカウントするタイムカウント手段と、ネットワークから受信したデータ信号をビットストリームに変換する第1のネットワークインターフェース手段と、前記ビットストリームをデータ信号に変換してネットワークへ送出する第2のネットワークインターフェース手段と、前記同期信号を用いて、前記第1のネットワークインターフェース手段及び前記第2のネットワークインターフェース手段の間を通過する前記ビットストリームをカットスルー方式により処理する間に、前記ビットストリームに変換されたデータパケットから所定の識別情報を有しかつペイロード部が固定長であるデータパケットを検出して、前記検出されたデータパケットのペイロード部にタイムカウント情報を格納して、前記タイムカウント情報の格納後のデータパケットのチェックサム値に対するチェックサム補償値を演算して前記データパケットのトレイラ部に格納するパケット処理手段とを備えるタイムスタンプ装置により処理されるタイムスタンプ用データパケットを生成するタイムスタンプ用パケット生成装置であって、
    固定長データサイズであってタイムカウント情報を格納するペイロード部を備え、所定の識別情報を格納したデータグラム型のデータパケットを生成するパケット生成手段と、
    前記データパケットをデータ信号に変換してネットワークへ送出するネットワークインターフェース手段とを備える
    ことを特徴とするタイムスタンプ用パケット生成装置。
  6. 外部クロック信号から同期信号及び時間信号を生成する時間同期信号生成手段と、
    前記時間信号を用いて所定の間隔でタイムカウントするタイムカウント手段と、
    前記パケット生成手段で生成したデータパケットのペイロード部に前記タイムカウント手段により生成されたタイムカウント情報を格納するタイムスタンプ付与手段とを備える
    ことを特徴とする請求項記載のタイムスタンプ用パケット生成装置。
  7. 前記ネットワークインターフェース手段は、任意の間隔で前記データパケットをネットワークへ送出する
    ことを特徴とする請求項または請求項に記載のタイムスタンプ用パケット生成装置。
JP2004299806A 2004-10-14 2004-10-14 タイムスタンプ装置及びタイムスタンプ用パケット生成装置 Active JP4555989B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004299806A JP4555989B2 (ja) 2004-10-14 2004-10-14 タイムスタンプ装置及びタイムスタンプ用パケット生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004299806A JP4555989B2 (ja) 2004-10-14 2004-10-14 タイムスタンプ装置及びタイムスタンプ用パケット生成装置

Publications (2)

Publication Number Publication Date
JP2006115153A JP2006115153A (ja) 2006-04-27
JP4555989B2 true JP4555989B2 (ja) 2010-10-06

Family

ID=36383298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004299806A Active JP4555989B2 (ja) 2004-10-14 2004-10-14 タイムスタンプ装置及びタイムスタンプ用パケット生成装置

Country Status (1)

Country Link
JP (1) JP4555989B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112865901B (zh) * 2019-11-28 2023-04-07 郑州芯兰德网络科技有限公司 一种基于fpga纳秒时间戳的高速数据包采集***及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07135495A (ja) * 1993-11-10 1995-05-23 Oki Electric Ind Co Ltd 直流分岐装置
JPH07307772A (ja) * 1994-05-16 1995-11-21 N T T Data Tsushin Kk インタフェース試験器
JP2001127795A (ja) * 1999-10-26 2001-05-11 Yokogawa Electric Corp ネットワーク品質評価装置
JP2001333092A (ja) * 2000-05-19 2001-11-30 Nec Corp パケット遅延特性計測方法及び方式
JP2002064542A (ja) * 2000-08-14 2002-02-28 Nec Corp ラベル化パケット転送処理方法およびその通信装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07135495A (ja) * 1993-11-10 1995-05-23 Oki Electric Ind Co Ltd 直流分岐装置
JPH07307772A (ja) * 1994-05-16 1995-11-21 N T T Data Tsushin Kk インタフェース試験器
JP2001127795A (ja) * 1999-10-26 2001-05-11 Yokogawa Electric Corp ネットワーク品質評価装置
JP2001333092A (ja) * 2000-05-19 2001-11-30 Nec Corp パケット遅延特性計測方法及び方式
JP2002064542A (ja) * 2000-08-14 2002-02-28 Nec Corp ラベル化パケット転送処理方法およびその通信装置

Also Published As

Publication number Publication date
JP2006115153A (ja) 2006-04-27

Similar Documents

Publication Publication Date Title
US10887211B2 (en) Indirect packet classification timestamping system and method
CN112385183B (zh) 执行phy级硬件时间戳和时间同步的装置、方法和微控制器
JP6214008B2 (ja) 時間認識デバイス間で時間情報を通信する方法および装置
US9667408B2 (en) Communication systems and methods for distributed power system measurement
US8325767B2 (en) Enhancement of IEEE 1588 synchronization using out-of-band communication path
US8107502B2 (en) Method and apparatus for monitoring packet networks
JP2004312734A (ja) 受動型計測アナライザおよびルーター/スイッチ
JP5127482B2 (ja) タイミング同期方法、同期装置、同期システム及び同期プログラム
US8949448B1 (en) System and method for improving the timestamp precision in a precision time protocol (PTP) device
WO2001088668A2 (en) Hardware time stamping and registration of packetized data method and system
US11588609B2 (en) Hardware clock with built-in accuracy check
US6470031B1 (en) Method and apparatus for accurate packet time stamping
Kannisto et al. Precision time protocol prototype on wireless LAN
JP4555989B2 (ja) タイムスタンプ装置及びタイムスタンプ用パケット生成装置
Ferrari et al. Synchronization of the probes of a distributed instrument for real-time ethernet networks
Buhr et al. A real-time fast Ethernet transceiver achieving sub-ns time synchronization
CN114884605A (zh) 基于fpga实现网络节点时间同步的方法
Horvat et al. Analysis of QoS parameters for multimedia streaming in Wireless Sensor Networks
CN115333660A (zh) 精确时间戳校正
Kutschera et al. IEEE 1588 clock synchronization over IEEE 802.3/10 GBit ethernet
JP2018125768A (ja) データ伝送装置及びプログラム
Depari et al. Multi-probe measurement instrument for real-time ethernet networks
Imrek et al. Clock distribution and synchronization over 1000BASE-T Ethernet
Stępień et al. Precise time distribution and time synchronized transmission aspects in the industrial ethernet networks
Lu et al. The Research of Network-induced Delay Measurement Methods in Wireless Networked Control Systems based on Zigbee Network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070903

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100401

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100622

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100628

R150 Certificate of patent or registration of utility model

Ref document number: 4555989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250