(57)【特許請求の範囲】
【請求項１】
異なった種類の通信プロトコルに基づく各種通信信号が送受信されるネットワークから監視対象とする通信プロトコルに基づく通信信号を検出するネットワーク監視装置において、
前記監視装置は、
任意の通信信号を読み込むように構成されたプローブと、
監視対象とする通信プロトコルのプロトコル構造をデータ記述言語で記述したデータファイルが格納される記憶手段と、
監視対象とするプロトコル構造を前記データ記述言語で記述したデータファイルを前記記憶手段に入力するファイル入力手段と、
前記プローブが読み込んだ通信信号のプロトコル構造と前記記憶手段に格納されたプロトコル構造とを照合し、照合によりプロトコル構造が合致した通信信号を抽出し、当該抽出された通信信号を前記プロトコル構造に従って記述したデータとして出力する解析手段と、
を含み、
前記解析手段が具備する解析プログラムは、前記データ記述言語で記述された任意のプロトコル構造の通信信号に対し実行可能に構成されており、
追加の監視対象のプロトコル構造を前記データ記述言語で記述し随時前記ファイル入力手段から入力して前記記憶手段に格納することにより、前記解析手段で実行される前記プログラムを変えることなく任意のプロトコル構造の通信信号に対する解析を可能にしたことを特徴とするネットワーク監視装置。
【請求項２】
前記通信信号をヘッダーフィールドとデータフィールドよりなるデータ構成とし、監視対象とする通信信号の通信プロトコルのプロトコル構造をデータ記述言語により前記データフィールドに記述した構成としたことを特徴とする請求項１に記載のネットワーク監視装置。
【請求項３】
ヘッダーフィールドとデータフィールドよりなるデータ構成を第１のデータ構成としたとき、第１のプロトコルの情報を前記ヘッダーフィールドに記述し、前記データフィールドにヘッダーフィールドとデータフィールドよりなる第２のデータ構成を前記データ記述言語で記述し、第２のプロトコルの情報を前記第２のデータ構成における前記ヘッダーフィールドに記述し、必要に応じさらに前記第３のデータ構成における前記データフィールドにヘッダーフィールドとデータフィールドよりなる第３のデータ構成を前記データ記述言語で記述し、第３のプロトコルの情報を前記第３のデータ構成における前記ヘッダーフィールドに記述することで、入れ子式に複数のプロトコル構造を前記データ記述言語で記述されていることを特徴とする請求項１または２に記載のネットワーク監視装置。
【請求項４】
上記解析手段からの出力に基づき、当該通信信号のプロトコル構造の各データ項目とそのデータ内容とを対応させて出力するデータ処理手段をさらに備えていることを特徴とする請求項１乃至３のいずれかに記載のネットワーク監視装置。
【請求項５】
上記データ記述言語はＸＭＬであることを特徴とする請求項１乃至４のいずれかに記載のネットワーク監視装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、例えばＬＡＮアナライザーやＲＭＯＮ（Remote Network Monitoring）などの通信プロトコルに基づき通信信号に種々の処理を行なうネットワーク装置に適用して有用な技術に関する。
【０００２】
【従来の技術】
例えば、通信回線に伝送される通信信号を監視して、伝送される通信信号が何の通信プロトコルに則ったもので、そのヘッダフィールドに記されているデータ内容は何かと云ったデータ解析を行なうＬＡＮアナライザーと呼ばれるネットワーク装置や、また、通信回線を監視して伝送される通信信号の統計を取ったりするＲＭＯＮと呼ばれるネットワーク装置がある。
【０００３】
このようなネットワーク装置においては、予め対応可能な通信プロトコルが複数設定されており、通信信号が取り込まれると、先ず、通信信号がどの通信プロトコルに則ったものかプロトコル照合が行なわれ、この照合の結果、合致した通信プロトコルに従って上記通信信号のデータ解析が行なわれる。このような処理は、所定のプログラムに従ってＣＰＵ（Central Processing Unit）により実行されるが、通信信号を通信プロトコルに従ってデータ解析する部分は通信プロトコル毎に作成され、ネットワーク装置が実行する一連のプログラムの中に埋め込まれるのが通常である。
【０００４】
【発明が解決しようとする課題】
従って、上記従来の装置では、通信プロトコルが新規に開発されるなど、新しい通信プロトコルに対応させる必要が生じた場合に、この通信プロトコルに対応するように一連のプログラムを新規に書き替えなければならない。そのため、ユーザが新規の通信プロトコルに対応させて処理を行ないたいと云う状況が生じた場合でも、ユーザはメーカーから新たな通信プロトコルに対応したプログラムが提供されるのを待つしかなく、速やかに対応できないという問題があった。
また、ユーザ定義の通信プロトコルを用いてネットワーク試験等を行なう場合にあっては、汎用性のない通信プロトコルであるので上記従来の装置では対応することが出来ないという問題があった。
【０００５】
この発明の目的は、通信プロトコルに従って通信信号に種々の処理を行なうネットワーク装置において、新たな通信プロトコルに容易に且つ速やかに対応することを可能にすることにある。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
【０００６】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
すなわち、通信プロトコルに基づいて通信信号に種々の処理を行なうネットワーク装置において、通信プロトコルの構造が例えばＸＭＬ（Extensible Markup Language）等のデータ記述言語により表わされたデータファイルを入力可能なファイル入力手段と、該ファイル入力手段により入力されたデータファイルを読み込んで該データファイルに表わされたプロトコル構造に従った信号処理を行なう信号処理部とを設けたものである。
【０００７】
【発明の実施の形態】
以下、本発明の好適な実施例を図面に基づいて説明する。
図１は、本発明のネットワーク装置の実施例であるＬＡＮアナライザーの機能構成を示すブロック図、図２は、このＬＡＮアナライザーのハード構成の一例を示すブロック図である。
この実施例のＬＡＮアナライザーは、通信の不具合を検出するなどの目的で他の装置間で送受信される任意の通信パケットをその伝送路から取り込み、この通信パケットの解析を行なうネットワーク装置であり、図１に示すように、信号処理部として、通信回線に伝送されている任意の通信パケットを取込むプローブ機能（信号入力手段）１１と、取り込まれた通信パケットを複数の通信プロトコル構造と照合して合致した通信プロトコルに基づきデータ解析を行なうプロトコル解析モジュール１２と、解析結果をデータファイルなどに出力する出力機能（データ出力手段）１３とを備えている。
【０００８】
上記ＬＡＮアナライザーのハード構成は、図２に示すように、制御プログラムに従って各種の論理演算を行なうＣＰＵ（Central Processing Unit）１、ＣＰＵ１に作業メモリ空間を提供するＲＡＭ２、制御プログラムや制御データが格納されるフラッシュメモリなどの不揮発性メモリ３、通信回線に接続されて任意の通信パケットを取り込む通信インターフェース４、並びに、制御コンピュータなどとデータ通信可能に接続されるインターフェース５等を備えたものである。
【０００９】
上記の通信インターフェース４は、通信パケットの送信先アドレスが自己宛てのものでなくても、通信回線に伝送されている通信パケットを任意に取り込むことが可能に構成されたものである。また、もう一方のインターフェース５は、制御コンピュータから提供されるデータファイルを入力したり、通信パケットの解析結果のデータを制御コンピュータへ出力したりするのに使われるものである。
【００１０】
上記不揮発性メモリ３には、図１の機能構成を実現する制御プログラムや制御データが格納されており、ＣＰＵ１がこれら制御プログラムや制御データに従って制御処理を行うことで、図１のプローブ機能１１、プロトコル解析モジュール１２および出力機能１３が実現されるようになっている。また、不揮発性メモリ３には、上記制御データとして、ＸＭＬ形式でプロトコル構造が記述されたデータファイルであるプロトコル構造ファイルＰＦが複数格納されており、さらに追加のプロトコル構造ファイルＰＦが格納される領域も設けられている。
【００１１】
また、図示は省略するが、上記追加のプロトコル構造ファイルＰＦをインターフェース５を介して制御コンピュータから不揮発性メモリ３に入力し、上記不揮発性メモリ３の格納領域へ書き込むファイル入力機能（ファイル入力手段）や、上記出力機能１３により生成されたデータファイルをインターフェース５を介して制御コンピュータに送信するファイル送信機能が備わっている。
【００１２】
図３には、プロトコル解析モジュール１２の有する解析アルゴリズムを説明する概念図を示す。
上記のプロトコル解析モジュール１２は、図３に示すように、プロトコル構造ファイルＰＦを不揮発性メモリ３から読み込むファイル読込モジュール１５と、このプロトコル構造ファイルＰＦの構文を解析してプロトコル構造のデータを抽出するＸＭＬ構文解析モジュール１６と、入力された通信パケットとこれらプロトコル構造のデータとを照合して合致するプロトコル構造を選択するプロトコル照合モジュール（プロトコル照合手段）１７と、入力された通信パケットを照合対象の通信プロトコルに従って各データ項目毎に分解し、例えば、これらのデータ項目名とそのデータ内容とが対応して表わされる所定形式のデータに変換するデータ変換モジュール（プロトコル解析手段）１８などから構成される。これらの各モジュールはＣＰＵ１により実行されるソフトウェアの構成である。
【００１３】
ここで、ネットワーク上に伝送される通信パケットについて説明を行なう。
図４は、一個の通信パケットのデータ構造を示す図、図５は、一つの通信プロトコルに則って形成された通信パケットのデータ構造を表わしたデータグラムである。
通信パケットは、通信機器間で伝送される通信データの最小単位である。通信機器間においては、送受信されるデータが所定のデータ量毎に分割され、これら分割されたデータに通信に必要なヘッダ情報が付加されて複数の通信パケットが生成される。そして、これら複数の通信パケットが通信相手にそれぞれ送信される。通信パケットには、上記の分割されたデータが収容されるデータフィールドと、上記のヘッダ情報が収容されるヘッダフィールドとがある。
【００１４】
なお、送受信データが階層化された複数の通信プロトコルを用いて送受信される場合には、第１層プロトコルのヘッダ情報はヘッダフィールドに、第２層プロトコルのヘッダ情報以下は第１層プロトコルのデータフィールドに収容される。同様に、複数のプロトコルで階層化されている場合には、各層のヘッダ情報と送受信される分割データとが入れ子構造のように収容されて通信パケットが形成される。
【００１５】
図５のデータグラムは、インターネット・プロトコル（ＩＰ）のプロトコル構造を示したものであるが、ヘッダ情報として、例えば、プロトコルのバージョン情報、ヘッダ情報のデータ長を示すヘッダ長情報、データの伝送方法を示すサービスタイプ情報、パケット全体のデータ長を示すトータル長情報、分割されたデータの分割位置を示す識別子情報、通信パケットをさらにフラグメントする際の制御データであるフラグ情報、フラグメント化された場合にその位置を示すフラグメントオフセット情報、パケットの生存時間情報、このパケットにより運搬されるデータのプロトコルを示すプロトコルタイプ情報、ヘッダ情報のデータの正しさを検証するヘッダチェックサム情報、送信元アドレス情報、送信先アドレス情報、ＩＰの拡張機能を使用する場合に用いられるオプション情報、未定義のパッディング情報などが含まれている。また、各ヘッダ情報のデータ長は、図５の各欄に記された括弧付き数字に示されるように、予め所定ビットと決められている。
【００１６】
このように、通信プロトコルは、単なるシリアルのデータ列である通信パケットにおいて先頭ビットから最終ビットまでが何を表わすものかを定義したものである。また、通信プロトコルは多数の種類があり、異なる通信プロトコルで生成された通信パケットが同一のネットワークで送受信されることがあるため、各通信プロトコルはその構造を照合することで、任意の通信パケットが何れの通信プロトコルに則って作成されたものか識別可能なように構成されている。
【００１７】
例えば、通信パケットを所定の通信プロトコルに従って認識した場合に、通信パケットに示されていたパケットのトータル長と、実際の通信パケットのトータル長とが一致していなければ、この通信プロトコルは合致しないものと判断できる。また、データ値が固定となるビットが定義された通信プロトコルであれば、該ビットを確認して固定値でない場合に、この通信プロトコルは合致しないものと判断できる。また、所定のヘッダ情報の各項目のデータ形式が識別可能な形式（例えばストリングデータなど）に指定されている場合には、該項目のデータ形式を確認して異なる形式（例えばストリングデータにはないバイナリデータであるなど）であった場合に、この通信プロトコルは合致しないものと判断できる。そして、全ての照合で矛盾が生じない通信プロトコルがあれば、その通信プロトコルが合致するものと判断することが出来る。
【００１８】
図６には、図５の通信プロトコルをＸＭＬ（Extensible Markup Language）で表わしたプロトコル構造ファィルＰＦの一例を示す。
ＸＭＬは、データの項目を示すタグを用いて、データ内容を該タグで前後を括るように記すことで、データ構造の記述が可能なデータ記述言語である。また、タグを階層的に扱うことで、階層的になっているデータ構造も記述することが可能になっている。タグは、データ名称を鉤括弧で括って表わされデータの開始を示す開始タグ「例えば<protocol>」と、データ名称の前に「／」が付されデータの終了を示す終了タグ「例えば</protocol>」とが一対になって構成される。ＸＭＬでは、タグの名称は予め定められておらず、使用者により自由に設定することが可能になっている。
【００１９】
この実施例のＬＡＮアナライザーでは、タグに予め定義がなされており、この定義によりＸＭＬで記述されたプロトコル構造が装置で認識できるようになっている。
例えば、この実施例のＬＡＮアナライザーにおいては、プロトコル構造ファイルＰＦの開始と終了を表わすタグ「<Protocol Stack>、</Protocol Stack>」、１個の通信プロトコルに関する記述の開始と終了を表わすタグ「<Protocol>、</Protocol>」、プロトコル構造の記述の開始と終了を表わすタグ「<struct>、</struct>」、プロトコルの各要素の記述の開始と終了を表わすタグ「<element>、</element>」、前のタグに関する名称を表わすタグ「<name>」（すなわち、前のタグが「<Protocol>」であればプロトコルの名称であるし、「<element>」であれば構造要素の名称）、前のタグの表記の仕方を表わすタグ「<description>」、データ形式（例えばビット数、符号の有無、バイナリデータやストリングデータなどの形式など）を表わすタグ「<type>」などが定義されている。
【００２０】
また、実施例のＬＡＮアナライザーにおいては、ＸＭＬデータで示されたプロトコル構造に従って通信パケットのプロトコル照合を行なうので、タグに括られて記されるデータ内容の記述方法も予め定義されている。例えば、プロトコル照合に用いられる通信パケットのトータル長は「total length」と、ヘッダー長は「header length」と記述されるように予め定義されている。また、データ形式の記述方法も、符号の有無、ビット数、データ形式（バイナリデータかストリングデータかなど）などが装置により認識できるように、予め所定の記述が使われるように定義されている。また、特定ビットが必ず固定値になる通信プロトコルが用いられるようになった場合には、その特定ビットとその固定値とが装置で認識できるように予め所定の記述が使われるように定義しても良い。なお、定義されるタグの種類やデータ形式の記述方法は上記の例に制限されるものでなく、様々に変更することが可能である。
【００２１】
図３のプロトコル解析モジュール１２において、ＸＭＬ構文解析モジュール１６は、上記のプロトコル構造ファイルＰＦに記述されている通信プロトコルについて、上記のタグを頼りにデータ解析を行なって、そのプロトコル名称、ヘッダ情報の各項目の名称、ヘッダ情報の各項目のデータ長およびデータ形式などを認識する。また、このとき、通信パケットのトータル長などプロトコル照合に必要なデータをプロトコル照合用に抽出する。
【００２２】
プロトコル照合モジュール１７は、解析対象の通信パケットを上記プロトコル構造ファイルＰＦに記されたプロトコル構造に則して認識していくとともに、上記ＸＭＬ構文解析モジュール１６により抽出されたプロトコル照合用のデータに基づき、該通信プロトコルに則して通信パケットを認識した場合に通信パケットに矛盾が生じないかを検証する。そして、矛盾がなければ当該プロトコル構造ファイルＰＦの通信プロトコルを合致と判断するが、例えば、通信パケットのトータル長を表わすビットの値と実際の通信パケットのトータル長とが異なるとか、必ず固定値となるビットが違う値になっているとか、ストリングデータが入っているはずのビット範囲にストリングデータとなり得ないバイナリデータが入っているなど矛盾があれば、当該プロトコル構造ファイルＰＦの通信プロトコルは合致しないと判断する。そして、解析対象の通信パケットについて、複数のプロトコル構造ファイルＰＦを１つずつ用いて照合処理を繰返し、合致する通信プロトコルを選び出す。
【００２３】
データ変換モジュール１８は、合致と判断された通信プロトコルの構造に則って通信パケットを解読し、通信パケットにどんなデータが記されているのかユーザが一目で判るようなデータ形式に変換して出力する。このデータ形式としては、例えば、プロトコル構造ファイルＰＦに記された通信プロトコルのヘッダ情報の各項目の名称（例えば「Version」、「header length」、「service type」など）と、そのデータ値とを対応させて表形式にまとめた形式などである。
【００２４】
データ変換モジュール１８によりまとめられたデータは、出力モジュール１３によりデータファイルとして出力され、インターフェース５を介して制御コンピュータに出力される。そして、制御コンピュータにおいてディスプレーに表示出力したり、印字出力したりすることが可能とされる。
【００２５】
上記のように構成されたＬＡＮアナライザーによれば、通信プロトコルが新規に開発された場合や、ユーザが開発した通信プロトコルを用いてネットワーク試験を行いたい場合などに、これら新規の通信プロトコルの構造を記述したプロトコル構造ファイルＰＦをＬＡＮアナライザーに登録することで、新規の通信プロトコルに速やかに且つ容易に対応して通信パケットのデータ解析を行なうことが出来る。
【００２６】
また、プロトコル構造ファイルＰＦは、ＸＭＬという汎用性の高いデータ記述言語を用いて作成されたものなので、ユーザ自身が作成することも出来るし、これらプロトコル構造ファイルＰＦを様々な装置間で共有したり、メーカーとユーザ間だけでなく様々な人の間で広く流通させることも出来る。
【００２７】
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、上記実施例では、新規に作成したプロトコル構造ファイルＰＦの入力や、通信パケットのデータ解析結果の出力は、ＬＡＮアナライザーに接続されたコンピュータを介して行なわれるように説明したが、ＬＡＮアナライザー自体に、フレキシブルディスク・ドライブのようなデータファイルを直接入力する手段を設けたり、ＬＡＮアナライザー自体に表示部や印字装置を設けて、解析結果が直接出力されるような構成としても良い。また、本発明に係るＬＡＮアナライザーを、通信インターフェースを備えたコンピュータを用いてソフトウェアにより構成することも可能である。
【００２８】
また、上記実施例では、プロトコル解析を通信パケットの第１層プロトコルに対して行なう場合を説明したが、複数のプロトコルにより階層化されている通信パケットに対して複数層のプロトコル解析を行なう場合でも、各層毎に繰返し同様のプロトコル解析を行なうことで対応することが出来る。
【００２９】
また、上記実施例では、通信パケットのデータ解析の結果を表形式にまとめて出力するように説明したが、それに限られず様々な形式を用いることが可能である。例えば、ＬＡＮアナライザーの変形例の概念図を示した図７にあるように、この解析結果のデータもＸＭＬで記述したデータファイルＲＦとすることで、解析結果のデータファイルＲＦについても汎用性が向上し、種々の装置間で共有したり様々な人の間で広く流通させたりすることが出来る。ＸＭＬで解析結果を記述する場合、例えば、プロトコル構造を記述した図６のデータに、通信パケットのデータ値が追加されるようなデータとすることが出来る。すなわち、タグ「</type>」の後段に、データ値を表わすタグ（例えば<DATA>，</DATA>）を設け、このタグ間に通信パケットの該当ビットのデータ値が書き込まれるようにすれば良い。
【００３０】
また、プロトコル構造が記されるプロトコル構造ファイルＰＦのタグの種類や、定義文字（例えば「total length」、「unsigned」、「bit」、「number」、「string」など）、並びに、それらを用いたプロトコル照合の手法などは、実施例で示したものは一例に過ぎず、種々の変更が可能である。
【００３１】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるＬＡＮアナライザーに適用した場合について説明したがこの発明はそれに限定されるものでなく、通信プロトコルに基づいて通信信号に様々な処理を施すネットワーク装置に広く利用することができる。
【００３２】
［その他の実施例］
例えば、図８は、本発明をパケットエミュレータに適用した一例を示すブロック図である。パケットエミュレータとは、例えばネットワーク試験などにおいて、所定の通信プロトコルに則って通信パケットを生成する装置である。
【００３３】
本発明を適用したパケットエミュレータにおいては、その通信パケットを生成する信号処理部であるパケット生成モジュール２１として、個別に用意されたプロトコル構造ファイルＰＦを読み込んで信号処理を行なうものを採用する。そして、通信プロトコルの各要素毎にデータ値が示されたデータを上記パケット生成モジュール２１に入力するとともに、該パケット生成モジュール２１により、それらデータ値を上記プロトコル構造ファイルＰＦに記された通信プロトコルに則った順番に並べて通信パケットとして出力する。
【００３４】
このようなパケットエミュレータによれば、新規の通信プロトコルが開発された場合などに、この通信プロトコルの構造を表わすプロトコル構造ファイルＰＦを作成して装置に登録することで、容易に且つ速やかに新規の通信プロトコルに対応することが出来る。
【００３５】
また、図９は、本発明をネットワークフィルタに適用した一例を示すブロック図である。ネットワークフィルタは、ネットワーク上に伝送される通信パケットを監視して、所定の通信プロトコルのパケットのみ通過させ、それ以外の通信パケットは遮断するものである。
【００３６】
本発明を適用したネットワークフィルタにおいては、その通信パケットのプロトコル照合を行なう部分に、上記プロトコル解析モジュール１２を採用し、該プロトコル解析モジュール１２による照合結果に基づいてフィルタ回路３１を制御して、通信パケットを通過させたり遮断したりする。
このようなネットワークフィルタにおいても、新規の通信プロトコルに対して容易に且つ速やかに対応することが可能となる。
【００３７】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、本発明に従うと、通信プロトコルが新規に開発された場合や、ユーザが開発した通信プロトコルを用いてネットワーク試験を行いたい場合などに、これら新規の通信プロトコルの構造を記述したデータファイルを装置に登録することで、新規の通信プロトコルに速やかに且つ容易に対応できるという効果がある。
【００３８】
また、通信プロトコル構造の記述にＸＭＬという汎用性の高いデータ記述言語を用いることで、そのデータファイルを様々な装置間で共有したり様々な人の間で広く流通させることが出来るという効果がある。
【図面の簡単な説明】
【図１】本発明の実施例であるＬＡＮアナライザーの機能構成を示すブロック図である。
【図２】同、ＬＡＮアナライザーのハード構成の一例を示すブロック図である。
【図３】図１のプロトコル解析モジュールのアルゴリズムを説明する概念図である。
【図４】通信パケットのデータ構造を示す図である。
【図５】一つの通信プロトコルのデータ構造を表わしたデータグラムである。
【図６】図５の通信プロトコルをＸＭＬ形式で表わしたデータファィルの例を示すデータチャートである。
【図７】本発明に係るＬＡＮアナライザーの変形例を示すブロック図である。
【図８】本発明をパケットエミュレータに適用した一例を示すブロック図である。
【図９】本発明をネットワークフィルタに適用した一例を示すブロック図である。
【符号の説明】
１        ＣＰＵ
２        ＲＡＭ
３        不揮発性メモリ
４        通信インターフェース
５        インターフェース
１１      プローブ機能
１２      プロトコル解析モジュール
１３      出力機能
１５      ＸＭＬ読込みモジュール
１６      ＸＭＬ構文解析モジュール
１７      プロトコル照合モジュール
１８      データ変換モジュール
ＰＦ      プロトコル構造ファイル
【図１】
0003985944.tif 000002
【図２】
0003985944.tif 000003
【図３】
0003985944.tif 000004
【図４】
0003985944.tif 000005
【図５】
0003985944.tif 000006
【図６】
0003985944.tif 000007
【図７】
0003985944.tif 000008
【図８】
0003985944.tif 000009
【図９】
0003985944.tif 000010