(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介して、クライアントからの要求に応じてサーバから送信される、時刻データを含む時刻データパケットを監視するパケット監視装置であって、
標準時刻源からの同期信号に同期して計時を行う計時部と、
前記通信ネットワークを介して送信されるパケットに相当する信号を受信する受信部と、
前記受信部によりパケットが受信されたことを検出する検出部と、
前記検出部による前記パケットの検出時の前記計時部による時刻データを記憶する記憶部と、
前記受信部により受信されたパケットが、前記時刻データパケットであるか否かを判定する判定部と、
前記受信部により受信されたパケットが、前記時刻データパケットであると判定された場合に、前記記憶部にサンプリング記憶された時刻データと前記受信された時刻データパケットに含まれる時刻データとの時間差を算出する時間差算出部と、
前記受信された時刻データパケットに対して、前記算出された時間差に応じた処理を行うパケット処理部と、を備えるパケット監視装置。
【請求項２】
前記パケット処理部は、
前記時間差が規定値以内である場合には、
前記受信された時刻データパケットを、前記通信ネットワークを介して前記クライアントにそのまま転送することを特徴とする請求項１に記載のパケット監視装置。
【請求項３】
前記パケット処理部は、
前記時間差が規定値を超える場合には、
前記受信された時刻データパケットを破棄することを特徴とする請求項１又は２に記載のパケット監視装置。
【請求項４】
前記パケット処理部は、
前記時間差が規定値を超える場合には、
前記受信された時刻データパケットに、前記時刻データの誤差が大きいことを示す情報を追加した後、その時刻データパケットを、前記通信ネットワークを介して前記クライアントに送信することを特徴とする請求項１に記載のパケット監視装置。
【請求項５】
前記クライアントはＮＴＰ（ネットワークタイムプロトコル）クライアントであり、前記サーバはＮＴＰサーバであり、前記時刻データパケットはＮＴＰパケットであり、
前記パケット処理部は、
前記ＮＴＰパケットのリープインジケータ内に前記情報を追加することを特徴とする請求項４に記載のパケット監視装置。
【請求項６】
前記記憶部は、
前記計時部の時刻データを複数記憶可能であることを特徴とする請求項１乃至５のいずれか一項に記載のパケット監視装置。
【請求項７】
前記記憶部は、ファーストインファーストアウトメモリであることを特徴とする請求項６に記載のパケット監視装置。
【請求項８】
前記パケット処理部は、
前記受信されたパケットが、前記時刻データパケットでないと判定された場合に、そのパケットを、前記通信ネットワークを介して前記クライアントにそのまま転送することを特徴とする請求項１乃至７のいずれか一項に記載のパケット監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバからクライアントへと送信される時刻データを含むパケットを監視するパケット監視装置、例えば、通信ネットワークを介して、ＮＴＰ（ネットワークタイムプロトコル）クライアントからの要求に応じてＮＴＰサーバから送信されるパケットであって、時刻データ（タイムスタンプ）を含むＮＴＰパケットを監視するＮＴＰパケット監視装置に関する。
【背景技術】
【０００２】
コンピュータの内部時計を、通信ネットワークを介して調整していくプロトコルの１つであるＮＴＰは、ｓｔｒａｔｕｍと呼ばれる最大１６層の階層構造を有している。最上位のＮＴＰサーバは、ｓｔｒａｔｕｍ１であり、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）、標準電波、原子時計などの協定世界時(ＵＴＣ)に基づく時刻を刻む標準時刻源（ｓｔｒａｔｕｍ０）に直結されたＮＴＰサーバとなる（例えば特許文献１参照）。ＮＴＰでは、下位のＮＴＰサーバは、上位のＮＴＰサーバに対してＮＴＰクライアントとなる。下位のＮＴＰサーバは、上位のＮＴＰサーバに対して時刻を問い合わせる要求パケットを送信し、上位のＮＴＰサーバは、その時刻データが含まれるＮＴＰパケット（６４バイト）を下位のＮＴＰサーバに送信する。下位のＮＴＰサーバは、上位のＮＴＰサーバからのＮＴＰパケットに含まれる時刻データに、自機の時刻を合わせる。ＮＴＰでは、このようにして、各コンピュータでの内部時計の調整が行われる。
【０００３】
図８に示されるように、下位のＮＴＰサーバ（すなわちＮＴＰクライアント５）は、複数の上位ＮＴＰサーバ１に、時刻を問い合わせることが可能である。この場合には、複数のＮＴＰパケット６が各上位ＮＴＰサーバ１からＮＴＰクライアント５に送信されるようになる。ＮＴＰクライアント５は、複数のＮＴＰパケット６に含まれる時刻データを考慮して内部時計の調整を行う。例えば、ＮＴＰクライアント５は、複数のＮＴＰパケット６に含まれる時刻データの平均を現在時刻として内部時計を調整することができる。
【０００４】
ところが、複数の上位のＮＴＰサーバ１の中には、正常に動作しておらず、正確な時刻を計時していないものが含まれている場合もある。このような場合には、複数のＮＴＰパケット６に含まれる時刻データの平均を現在時刻として採用すると、ＮＴＰクライアント５において、内部時計を正確に調整することが却って困難となる。
【０００５】
各上位ＮＴＰサーバ１からのＮＴＰパケット６に含まれる時刻データには、ネットワークの揺らぎや通信遅延などにより、若干のずれがある。そこで、ＮＴＰクライアント５では、各上位ＮＴＰサーバ１からのＮＴＰパケット６に含まれる時刻データの分散値を求め、分散値に基づく規定範囲（例えば３σ）外の時刻データがあった場合には、その時刻データを、内部時計の調整に用いないようにしている。
【０００６】
【特許文献１】特開２００６−１０６３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このように、ＮＴＰクライアントでは、複数の上位のＮＴＰサーバに対して、現在時刻の問い合わせを行っているが、その際には、統計的な手法を用いて、正常でない時刻データを、内部時計の調整に用いる時刻データから除外することにより、誤った時刻の取得を防止している。
【０００８】
しかしながら、上記統計的な手法を用いても、複数の上位のＮＴＰサーバにおける時刻データの相対的な違いに基づいて、正常でない時刻データを推定し、その時刻データを除外することができるだけである。すなわち、この方法は、残りの時刻データが、正確な時刻を報知していることを保障するものではない。
【０００９】
また、上記統計的な手法を用いた場合には、異常な時刻データを正確に除外することができるようになるまでにある程度の時間が必要となる。したがって、それまでの間は、ＮＴＰクライアントにおいて、正常であるか否か不明である時刻データを参照して、内部時計を調整せざるをえないのが現状である。
【００１０】
本発明は、上記事情に鑑みてなされたもので、クライアントにおける正確な時間調整を可能とするパケット監視装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明に係るパケット監視装置は、通信ネットワークを介して、クライアントからの要求に応じてサーバから送信される、時刻データを含む時刻データパケットを監視するパケット監視装置であって、標準時刻源からの同期信号に同期して計時を行う計時部と、前記通信ネットワークを介して送信されるパケットに相当する信号を受信する受信部と、前記受信部によりパケットが受信されたことを検出する検出部と、前記検出部による前記パケットの検出時の前記計時部による時刻データを記憶する記憶部と、前記受信部により受信されたパケットが、前記時刻データパケットであるか否かを判定する判定部と、前記受信部により受信されたパケットが、前記時刻データパケットであると判定された場合に、前記記憶部にサンプリング記憶された時刻データと前記受信された時刻データパケットに含まれる時刻データとの時間差を算出する時間差算出部と、前記受信された時刻データパケットに対して、前記算出された時間差に応じた処理を行うパケット処理部と、を備える。
【００１２】
また、前記パケット処理部は、前記時間差が規定値以内である場合には、前記受信された時刻データパケットを、前記通信ネットワークを介して前記クライアントにそのまま転送することとしてもよい。
【００１３】
また、前記パケット処理部は、前記時間差が規定値を超える場合には、前記受信された時刻データパケットを破棄することとしてもよい。
【００１４】
また、前記パケット処理部は、前記時間差が規定値を超える場合には、前記受信された時刻データパケットに、前記時刻データの誤差が大きいことを示す情報を追加した後、その時刻データパケットを、前記通信ネットワークを介して前記クライアントに送信することとしてもよい。
【００１５】
この場合、前記クライアントはＮＴＰ（ネットワークタイムプロトコル）クライアントであり、前記サーバはＮＴＰサーバであり、前記時刻データパケットはＮＴＰパケットであり、前記パケット処理部は、前記ＮＴＰパケットのリープインジケータ内に前記情報を追加することとしてもよい。
【００１６】
また、前記記憶部は、前記計時部の時刻データを複数記憶可能であることとしてもよい。
【００１７】
この場合、前記記憶部は、ファーストインファーストアウトメモリであることとしてもよい。
【００１８】
また、前記パケット処理部は、前記受信されたパケットが、前記時刻データパケットでないと判定された場合に、そのパケットを、前記通信ネットワークを介して前記クライアントにそのまま転送することとしてもよい。
【発明の効果】
【００１９】
本発明に係るパケット監視装置は、サーバから送信されるＮＴＰパケット等の時刻データパケットに含まれる時刻データと、標準時刻源からの同期信号に同期して計時を行う計時部における時刻データとの時間差を演算し、その時間差に応じたパケット処理を行う。このようにすれば、クライアントが時刻データパケットを受信する前に、協定世界時（ＵＴＣ）に基づく時刻との時間差（すなわち誤差）が大きい時刻データを含む時刻データパケットを見つけ出すことができるようになるので、クライアントにおいて、その時刻データを用いて内部時計の調整をしないようにすることができるようになる。この結果、クライアントにおいて正確な時間調整が可能となる。
【発明を実施するための最良の形態】
【００２０】
次に、本発明の一実施形態について図面を参照して詳細に説明する。
【００２１】
図１には、本実施形態に係るパケット監視装置としてのＮＴＰパケット監視装置１０が実装されたネットワーク構成が示されている。図１に示されるように、ＮＴＰパケット監視装置１０は、上位ＮＴＰサーバとしてのＮＴＰサーバ１と、下位ＮＴＰサーバとしてのＮＴＰクライアント５との間の通信ネットワーク２に挿入されている。ＮＴＰパケット監視装置１０は、ＮＴＰサーバ１とＮＴＰクライアント５との間で、通信ネットワーク２を介して送受信されるパケットを中継する。通信ネットワーク２は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であり、本実施形態では、通信ネットワーク２をＬＡＮであるものとして説明を行う。
【００２２】
ＮＴＰパケット監視装置１０には、標準時刻源３が接続されている。この標準時刻源３は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）、標準電波、原子時計などの協定世界時(ＵＴＣ)に基づく時刻を刻む時刻源である。この標準時刻源３は、周期的なパルスを発生し、そのパルス信号をＮＴＰパケット監視装置１０に入力している。このパルス信号は、１ＰＰＳ信号と称される１秒周期のパルス信号である。ＮＴＰパケット監視装置１０は、入力された１ＰＰＳ信号に基づいて、内部の時刻を校正している。
【００２３】
図２には、ＮＴＰパケット監視装置１０の内部構成が示されている。図２に示されるように、ＮＴＰパケット監視装置１０の内部構造は、大別して、ハードウエアから成る物理層及びデータリンク層から成るネットワークインターフェイス層と、後述するパケット処理が行われるアプリケーション層とに階層化されている。
【００２４】
ＮＴＰパケット監視装置１０のネットワークインターフェイス層には、受信部としての送受信部２０、２１と、計時部としての時計部２３と、検出部としての受信パケット監視部２４と、記憶部としてのＴＭレジスタ２５と、ＬＡＮコントローラ４０、４１とが設けられている。時計部２３と、受信パケット監視部２４と、ＴＭレジスタ２５とで、受信パケット時刻記録部３０が構成されている。
【００２５】
送受信部２０は、ＮＴＰサーバ１との間でパケットを送受信する通信用のハードウエア（通信用ＩＣ）である。送受信部２０は、通信ネットワーク２を介して送信されるパケットに相当する電気信号を受信する。送受信部２０は、その電気信号をデータ信号に変換して出力する。送受信部２０は、そのパケットの受信が完了した時点で、受信割込信号を出力する。送受信部２１は、ＮＴＰクライアント５との間でパケットを送受信する通信用のハードウエアであり、その構成は、送受信部２０と同じである。送受信部２１は、後述するＬＡＮコントローラ４１から入力されるパケットを、電気信号に変換して通信ネットワーク２上に出力する。
【００２６】
時計部２３は、標準時刻源３からの同期信号としての１ＰＰＳ信号を入力し、その信号に同期して計時を行うハードウエアである。図３には、時計部２３の詳細な構成が示されている。図３に示されるように、時計部２３は、クロック補正回路３１と、内部クロック３２と、カウンタ３３とを備えている。クロック補正回路３１は、１ＰＰＳ信号を入力し、内部クロック３２から出力されるクロック信号の出力タイミングを補正する。内部クロック３２は、例えば、高精度な水晶発振器であり、測定分解能より十分高速（例えば１ＭＨｚ）なクロック信号を出力する。このクロック信号は、前述のようにクロック補正回路３１によって、そのタイミングが補正されている。カウンタ３３は、例えば、６４ビットのカウンタであり、そのカウンタは、３２ビットの秒カウンタと、３２ビットのマイクロ秒カウンタとに分けられている。カウンタ３３は、１ＰＰＳ信号と、内部クロック３２からのクロック信号とを入力し、１ＰＰＳ信号が入力される毎に、秒カウンタがカウントアップされ、内部クロック信号により、マイクロ秒カウンタがカウントアップされる。１ＰＰＳ信号が入力される度に、マイクロ秒カウンタがリセットされる。このカウンタ３３のカウント値が、現在時刻データとなる。
【００２７】
以上の構成により、時計部２３によって計時される時刻は、協定世界時（ＵＴＣ）に従った時刻となり、その誤差は、１０-9秒以下となっている。カウンタ３３は、外部から時刻データ要求信号が入力された場合に、現在時刻データを外部に出力することができるようになっている。
【００２８】
受信パケット監視部２４は、送受信部２０でのパケットの受信が完了した時点で送受信部２０から出力される受信割込信号を入力している。受信パケット監視部２４は、送受信部２０によりパケットが受信されたことを、この受信割込信号の入力により検出する。受信パケット監視部２４は、パケットが受信されたことを、この受信割込信号により検出するのと同時に、時計部２３のカウンタ３３に対し、時刻データ要求信号を出力する。
【００２９】
ＴＭレジスタ２５は、複数の時刻データＴＭ１〜ＴＭｎを記憶可能なファーストインファーストアウトメモリ（キューバッファ）である。ＴＭレジスタ２５には、時計部２３のカウンタ３３から出力される時刻データが記憶される。ＴＭレジスタ２５に記憶された時刻データは、後述するＣＰＵ５０によって不図示の内部バスを介して読み出し可能となっている。
【００３０】
ＬＡＮコントローラ４０、４１は、通信ネットワーク２を制御するためのコントローラＬＳＩである。ＬＡＮコントローラ４０は、送受信部２０から出力されるパケットを入力する。ＬＡＮコントローラ４０は、このパケットに基づいて、ネットワーク制御等を行うとともに、パケットを、アプリケーション層で使用できる状態に変換する。また、ＬＡＮコントローラ４１は、ＣＰＵ５０から受信したパケットに基づいて、ネットワーク制御等を行うとともに、そのパケットを送受信部２１に入力できる状態、すなわちデータ信号に変換する。
【００３１】
以上述べた構成により、送受信部２０でのパケットの受信が完了すると、それを受信パケット監視部２４が検出し、そのときに、時計部２３で計時されていた時刻データが、ＴＭレジスタ２５に記憶されるようになる。この間の処理は、すべてハードウエアで実現されており、送受信部２０でのパケットの受信完了から、ＴＭレジスタ２５への時刻データの記憶までの遅れは、マイクロ秒オーダであり、非常に短くなっている。
【００３２】
ＮＴＰパケット監視装置１０のアプリケーション層には、ＣＰＵ５０が設けられている。ＣＰＵ５０は、不図示のメモリに記憶されたパケット処理のプログラムを実行する。このプログラムの実行により、ＣＰＵ５０は、ＬＡＮコントローラ４０から送られるパケットを読み込んで、そのパケットの内容を解析する。また、ＣＰＵ５０は、不図示の内部バスを介して、ＴＭレジスタ２５から、時刻データを読み込むことができるようになっている。ＣＰＵ５０は、パケットの解析結果と、ＴＭレジスタ２５から読み出された時刻データとに基づいて、このＮＴＰサーバ１からＮＴＰクライアント５に送信されるＮＴＰパケットに対するパケット処理を実行する。
【００３３】
なお、図２では、ＮＴＰサーバ１より受信したパケットをＣＰＵ５０で処理して、ＮＴＰクライアント５に送信する流れしか示されていないが、本実施形態に係るＮＴＰパケット監視装置１０は、ＮＴＰクライアント５からのパケットを送受信部２１で受信し、そのパケットを送受信部２０からＮＴＰサーバ１へ送信することができるようにもなっている。
【００３４】
次に、本実施形態に係るＮＴＰパケット監視装置１０のＣＰＵ５０で実行されるパケット処理について図４のフローチャートを参照して説明する。図４に示されるように、ＣＰＵ５０は、パケットが受信されるまで待っている（ステップ２０１）。送受信部２０でパケットが受信されると、前述のように受信割込信号が出力される。この受信割込の発生により、ステップ２０１における判断が肯定され、ＣＰＵ５０は、ステップ２０３に進む。
【００３５】
ステップ２０３では、ＣＰＵ５０は、内部バスを介して、ＴＭレジスタ２５から時刻データＴＭｋ（ｋ＝１〜ｎ）を読み出す。次のステップ２０５では、ＣＰＵ５０は、受信したパケットの内容を解析し、そのパケットが、ＮＴＰパケットであるか否かを判定する。
【００３６】
そのパケットがＮＴＰパケットでない場合には、ステップ２０５での判定は否定され、ＣＰＵ５０は、ステップ２１１に進み、そのままパケットの内容を変更することなく、ＬＡＮコントローラ４１に送信し、ステップ２０１に戻る。このパケットは、ＬＡＮコントローラ４１、送受信部２１及び通信ネットワーク２を介して、ＮＴＰクライアント５に出力される。
【００３７】
一方、そのパケットが、ＮＴＰパケットである場合には、ステップ２０５での判定は肯定され、ＣＰＵ５０は、ステップ２０７に進み、パケットに含まれる時刻と、ＴＭレジスタ２５から読み出された時刻との時間差を算出する。
【００３８】
次のステップ２０９では、ＣＰＵ５０は、算出された時間差が規定値以内であるか否かを判定する。図５には、この判定の様子を示すタイミングチャートが示されている。図５では、ＴＭレジスタ２５に記憶された時刻データをＴｓとしており、規定値をδとしている。図５に示されるように、ＮＴＰパケットに記憶されていた時刻データＴｐが、白丸（±δ内）であった場合（すなわちδ≧｜Ｔｓ−Ｔｐ｜）には、ここでの判定は肯定され、ＮＴＰパケットに記憶されていた時刻が黒丸（±δ外）であった場合（すなわちδ＜｜Ｔｓ−Ｔｐ｜）には、ここでの判定は否定される。なお、δとしては、任意であるが、例えば５００マイクロ秒又は１ミリ秒を設定することができる。
【００３９】
この判定が肯定されれば、ＣＰＵ５０は、ステップ２１１に進み、パケットをＬＡＮコントローラ４１にそのまま送信し、ステップ２０１に戻る。このパケットは、ＬＡＮコントローラ４１、送受信部２１及び通信ネットワーク２を介して、ＮＴＰクライアント５に出力される。
【００４０】
一方、この判定が否定されれば、ＣＰＵ５０は、ステップ２１３に進み、パケットを破棄し、ステップ２０１に戻る。ここで、ＣＰＵ５０は、ＮＴＰクライアント５に対する警告パケットを生成し、ＮＴＰクライアント５に送るようにしてもよい。
【００４１】
以降、ＣＰＵ５０が、パケットを受信するごとに、上述した処理が繰り返される。
【００４２】
図６には、本実施形態に係るＮＴＰパケット監視装置１０が組み込まれたネットワークでのＮＴＰパケットの送信の様子の一例が示されている。ＮＴＰクライアント５から３台の上位ＮＴＰサーバ１に対し、時刻データの送信要求が送信されて、図６に示されるように、各上位ＮＴＰサーバ１からそれぞれＮＴＰパケット６Ａ、６Ｂ、６Ｃが送信されるものとする。
【００４３】
ＮＴＰパケット６Ａ、６Ｂ、６Ｃは、この順で、ＮＴＰパケット監視装置１０によって受信されたとする。この場合、ＮＴＰパケット監視装置１０のＴＭレジスタ２５には、最初にＮＴＰパケット６Ａが受信されたときの時刻データＴＭ１が記憶され、次に、ＮＴＰパケット６Ｂが受信されたときの時刻データＴＭ２が記憶され、最後に、ＮＴＰパケット６Ｃが受信されたときの時刻データＴＭ３が記憶されるようになる。
【００４４】
そして、ＮＴＰパケット監視装置１０のＣＰＵ５０は、最初に、ＮＴＰパケット６Ａに含まれる時刻データと、ＴＭレジスタ２５に最初に記憶されていた時刻データＴＭ１との時間差を算出する。また、ＣＰＵ５０は、ＮＴＰパケット６Ｂに含まれる時刻データと、ＴＭレジスタ２５に次に記憶されていた時刻データＴＭ２との時間差を算出する。さらに、ＣＰＵ５０は、ＮＴＰパケット６Ｃに含まれる時刻データと、ＴＭレジスタ２５に記憶されていた時刻データＴＭ３との時間差を算出する。このように、複数の時刻データを記憶するＴＭレジスタ２５を備えているため、複数のＮＴＰパケットを受信した場合でも、すべてのＮＴＰパケットについて、ＴＭレジスタ２５に記憶された時刻データとの時間差を測定し、それぞれのＮＴＰパケットの時刻データの良否を判定することができるようになる。
【００４５】
ここで、ＮＴＰパケット６Ｃにおける時間差が規定値を超えていたものとする。この場合、ＮＴＰパケット監視装置１０は、ＮＴＰパケット６Ｃを破棄し、ＮＴＰパケット６Ａ、６ＢをＮＴＰクライアント５に送信する。ＮＴＰクライアント５では、誤差が小さいと判定されたＮＴＰパケット６Ａ、６Ｂに含まれる時刻データを用いて、内部時計の調整を行う。
【００４６】
以上詳細に説明したように、本実施形態に係るＮＴＰパケット監視装置１０によれば、ＮＴＰサーバ１から送信されるＮＴＰパケット６に含まれる時刻データと、標準時刻源３からの同期信号に同期して計時を行う時計部２３における時刻データＴＭｋとの時間差を演算し、その時間差に応じたパケット処理を行う。このようにすれば、ＮＴＰクライアント５がＮＴＰパケット６を受信する前に、協定世界時（ＵＴＣ）に基づく時刻との時間差（すなわち誤差）が大きい時刻データを含むＮＴＰパケット（例えば図６のＮＴＰパケット６Ｃ）を見つけ出すことができるようになるので、ＮＴＰクライアント５において、その時刻データを用いて内部時計の調整をしないようにすることができるようになる。この結果、ＮＴＰクライアント５において正確な時間調整が可能となる。
【００４７】
本実施形態では、ＣＰＵ５０は、上記時間差が規定値内である場合には、受信したＮＴＰパケット６をそのままＮＴＰクライアント５に転送する。時間差の少ない、すなわち誤差の少ない時刻データを有するＮＴＰパケットは、そのままの状態で、ＮＴＰクライアント５の時間調整に用いられる。
【００４８】
また、本実施形態では、上記時間差が規定値を超える場合には、ＮＴＰパケット６を破棄した。このようにすれば、ＮＴＰクライアント５では、誤差の大きいＮＴＰパケット６を受信しなくなるので、その時刻データを時間調整に用いないようにすることができる。
【００４９】
なお、ＣＰＵ５０では、時間差が規定値を超える場合に、ＮＴＰパケット６を破棄せず、そのＮＴＰパケットの時刻データの誤差が大きいことを示す情報を追加して、ＮＴＰクライアント５に送信するようにしてもよい。この場合には、誤差の大きいＮＴＰパケット６も、ＮＴＰクライアント５で受信されるようになるが、ＮＴＰクライアント５側で、内部時計の調整にそのＮＴＰパケット６に含まれる時刻データを用いないようにすればよい。
【００５０】
なお、この情報を追加するパケット内のロケーションとしては、例えば、リープ（うるう）インジケータを選択することができる。リープインジケータは、ＮＴＰパケット６内に含まれる２ビットのデータ列（これをＬＩビットともいう）であり、うるう秒を調整するためのインジケータである。このインジケータでは、値００、０１、１０がそれぞれ、”うるう秒なし”、”＋のうるう秒”、”−のうるう秒”であることを示している。そこで、本実施形態では、値１１を用いる。すなわち、このリープインジケータの値が１１に設定されていた場合には、時刻データの誤差が大きいことを示しているとすることができる。
【００５１】
この場合、ＣＰＵ５０では、図４のステップ２１３で、ＮＴＰパケットを破棄することなく、そのＮＴＰパケット内のリープインジケータの値に”１１”を設定し、ＬＡＮコントローラ４１に送るようにすればよい。ＮＴＰクライアント５では、このＮＴＰパケットの受信後、リープインジケータを参照して、その値が”１１”に設定されていた場合には、そのＮＴＰパケットに含まれる時刻データを、内部時計の調整に用いないようにすればよい。
【００５２】
この追加情報は、ＮＴＰクライアント５に対する警告であるとみなすことができる。ＮＴＰクライアント５は、この警告にしたがって、そのＮＴＰパケットに含まれる時刻データを用いないようにすることができる。
【００５３】
また、上記実施形態によれば、時刻データを記憶するＴＭレジスタ２５を、その時刻データを複数記憶可能なメモリとし、そのメモリをファーストインファーストアウトメモリとした。このようにすれば、複数のパケットを連続して受信した場合にも対応可能である。
【００５４】
なお、時間差の算出方法は、図５に示されるようなものには限られない。例えば、通信ネットワーク２の遅延を考慮して、ＮＴＰサーバ１の時刻データと標準時刻源３の時刻データとの時間差を算出することも可能である。図７に示されるように、ＮＴＰクライアント５からの時刻データの要求パケットが、ＮＴＰパケット監視装置１０を通過した時刻Ｔｒとする。この時刻Ｔｒを、ＮＴＰパケット監視装置１０で記憶しておく。
【００５５】
要求パケットが、ＮＴＰパケット監視装置１０から出てＮＴＰサーバ１に到達する時間と、その要求パケットに応じたＮＴＰパケットが、ＮＴＰサーバ１から出てＮＴＰパケット監視装置１０に到達するまでの時間は、ほぼ等しいと考えられる。したがって、ＮＴＰパケット監視装置１０においてＮＴＰパケット６が受信されたときに、ＴＭレジスタ２５に記憶された時刻データをＴｓであるとすると、ＮＴＰサーバ１が、ＮＴＰクライアント５からの要求パケットを受信し実際にＮＴＰパケット６を送信する時刻は、時刻Ｔｓよりも、（Ｔｒ−Ｔｓ）／２だけ早い時刻Ｔｓ’であると考えられる。そこで、ＣＰＵ５０は、時刻Ｔｒと時刻Ｔｓを用いて、この時刻Ｔｓ’を算出する。そして、ＣＰＵ５０は、この時刻Ｔｓ’を基準として、ＮＴＰパケットに含まれる時刻データＴｐとＴｓ’との時間差を算出し、算出された時間差が、規定値δを超えているか否かを判定し、その判定結果に応じたパケット処理を行うようにすることができる。
【００５６】
また、上記実施形態に係るＮＴＰパケット監視装置１０は、受信されたパケットが、ＮＴＰパケットでないと判定された場合に、そのパケットを、通信ネットワーク２を介してＮＴＰクライアント５にそのまま送信する。ＮＴＰサーバ１からＮＴＰクライアント５へ送信されるＮＴＰパケット６以外のパケットとしては、例えば、ＡＲＰ（アドレス解決プロトコル）のパケットがある。このように、上記実施形態に係るＮＴＰパケット監視装置１０は、通信ネットワーク２上のすべてのパケットを受信し、チェックするようにすれば、ＮＴＰサーバ１の異常を、漏れなく、いち早く発見することができるようになる。
【００５７】
なお、上記実施形態では、時計部２３は、内部クロックを有するものとしたが、外部の水晶発振器からの内部クロックを入力して計時を行うようなものであってもよい。
【００５８】
また、上記実施形態では、送受信部２０、２１とＬＡＮコントローラ４０、４１とを別々としたが、これらは一体であってもよい。
【００５９】
なお、上記実施形態では、通信ネットワーク２をＬＡＮとしたが、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよく、ＮＴＰが実装されている通信ネットワークであれば、本発明を適用可能である。例えば、ＮＴＰサーバ１と、ＮＴＰクライアント５との間に、インターネットが介在していてもよい。
【００６０】
なお、上記実施形態では、ＮＴＰパケットを監視するＮＴＰパケット監視装置について説明したが、本発明は、タイムプロトコルなどの他のプロトコルのパケットにも適用可能である。すなわち、本発明は、時刻データが含まれるパケットであれば適用可能である。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施形態に係るＮＴＰパケット監視装置が組み込まれたネットワークの構成を示すブロック図である。
【図２】ＮＴＰパケット監視装置の構成を示すブロック図である。
【図３】時計部の構成を示すブロック図である。
【図４】本発明の一実施形態に係るＮＴＰパケット監視装置のＣＰＵで実行されるパケット処理の動作を示すフローチャートである。
【図５】ＮＴＰパケット監視装置での時間差の判定を示すタイミングチャートである。
【図６】本発明の一実施形態に係るＮＴＰパケット監視装置が組み込まれたネットワークでのパケットの送信の様子の一例を示す図である。
【図７】ＮＴＰパケット監視装置での時間差の判定の変形例を示すタイミングチャートである。
【図８】従来のＮＴＰのネットワーク構成を示す図である。
【符号の説明】
【００６２】
１  ＮＴＰサーバ
２  通信ネットワーク
３  標準時刻源
５  ＮＴＰクライアント
６、６Ａ、６Ｂ、６Ｃ  ＮＴＰパケット
１０  ＮＴＰパケット監視装置
２０、２１  送受信部
２３  時計部
２４  受信パケット監視部
２５  ＴＭレジスタ
３０  受信パケット時刻記録部
３１  クロック補正回路
３２  内部クロック
３３  カウンタ
４０、４１  ＬＡＮコントローラ
５０  ＣＰＵ
【図１】
0004827866.tif 000002
【図２】
0004827866.tif 000003
【図３】
0004827866.tif 000004
【図４】
0004827866.tif 000005
【図５】
0004827866.tif 000006
【図６】
0004827866.tif 000007
【図７】
0004827866.tif 000008
【図８】
0004827866.tif 000009