JP2011182011A - 中継装置及び通信システム及び異常検出方法及びプログラム - Google Patents

中継装置及び通信システム及び異常検出方法及びプログラム Download PDF

Info

Publication number
JP2011182011A
JP2011182011A JP2010041528A JP2010041528A JP2011182011A JP 2011182011 A JP2011182011 A JP 2011182011A JP 2010041528 A JP2010041528 A JP 2010041528A JP 2010041528 A JP2010041528 A JP 2010041528A JP 2011182011 A JP2011182011 A JP 2011182011A
Authority
JP
Japan
Prior art keywords
packet
reception
unit
information
state transition
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.)
Pending
Application number
JP2010041528A
Other languages
English (en)
Inventor
Hideaki Okada
英明 岡田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010041528A priority Critical patent/JP2011182011A/ja
Publication of JP2011182011A publication Critical patent/JP2011182011A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】静的なルールよりも幅広くネットワーク上の異常を検知する。
【解決手段】機器A(222)〜D(225)間でパケットの中継を行う中継装置(201)において、機器動作推定部(205)が機器A(222)〜D(225)から受信したパケットの受信順序及び受信間隔を監視し、受信状況に応じて所定の状態遷移定義に基づいて状態を遷移させ、機器A〜Dがそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しない状態に遷移した場合に、障害検知部(208)に対して異常の発生を通知する。
【選択図】図1

Description

本発明は、複数の通信装置の間でデータの中継を行う中継装置等に関し、例えば、制御ネットワークにおいて複数の機器の間で制御用データの中継を行う中継装置等に関する。
標準的なLAN(Local Area Network)通信技術であるイーサネット(登録商標)を用いて、制御機器および被制御機器間の制御ネットワークを構築するシステムが普及し始めている。
これは、イーサネット(登録商標)機器の実装技術が進み、100Mbpsや1Gbps等の、これまでの制御ネットワークと比べて高速な通信速度を持つものが安価に利用できるようになったこと、OSI(Open Systems Interconnect)の第2層であるデータリンク層の中継装置であるイーサネット(登録商標)ハブが、スイッチングハブ(イーサネット(登録商標)スイッチ)となり、イーサネット(登録商標)フレームの衝突によるフレームの喪失の可能性がなくなり、高い信頼性が必要な制御用途に利用しやすくなってきたことなどが原因である。
例えば、産業用イーサネット(登録商標)プロトコルと呼ばれる、PROFINETやEtherNet(登録商標)/IPは、イーサネット(登録商標)上に構築される制御ネットワーク向けのプロトコルである。
これら産業用イーサネット(登録商標)プロトコルには、イーサネット(登録商標)上で独自のプロトコルを構築しているものもあれば、イーサネット(登録商標)上にTCP/UDP/IP等のイーサネット(登録商標)標準のプロトコルを使用し、これらTCP/UDP/IPプロトコル上でさらに独自のプロトコルを構築しているものもある。
このようなイーサネット(登録商標)による制御通信は、FA(Factory Automation)、PA(Process Automation)と呼ばれるような工場の機器制御だけでなく、航空機内の機器の制御(例えば、非特許文献1)や、列車上の機器の制御(特許文献1)にも用いられている。
このような制御システムにおいては、機器の制御、管理等を行う組込みネットワーク及び組み込みネットワークを使用するアプリケーションは慎重に設計、試験され、運用される。
しかし、試験で発見されなかったシステムに潜在する欠陥(ソフトウェアのバグ、設計の不具合、等)が顕在化し、障害を発生させてしまう場合がある。
あるいは、ひとつのネットワークを複数の制御機器−被制御機器間の通信に利用するため、ネットワーク内のいずれかの機器に障害が発生した場合には多数の機器にその影響が及ぶ可能性がある。
例えば、無駄な通信トラフィックが発生して他の正常な通信トラフィックの速度低下を招く、障害が発生した機器から想定外のメッセージが発信され、想定外のメッセージを受信した正常な機器が誤動作する、等である。
オフィスネットワークやインターネットアクセスのネットワークと比べて、これら制御ネットワークでは、機器を含むネットワーク上の障害を検知し、対処することが重要である。
ネットワークにおける障害(異常)の検知の例として、例えば、特許文献2に記載の技術がある。
特許文献2の技術では、ネットワークシステム上を流れるトラフィックフロー情報を収集し、収集されたトラフィックフロー情報を、予め用意されたトラフィックフロー特性に基づいて定義されたトラフィックルールと比較することで異常を検知するものである。
特許文献2では、トラフィックルールの例として、特定の送信元および送信先TCPポート番号の組の、TCPのトラフィックに対し、送信データサイズや応答データサイズ、送信頻度をルールとしている。
また、別の例として、アクセス制御(パケットフィルタリング)機能がある。
簡単な例として、UDP通信を行わない機器に対しては、UDPの送信を認めない(破棄する)。
これは、ファイアウォールや、パーソナルファイアウォールなどとも呼ばれるパソコン上のファイアウォール、あるいはまたイーサネット(登録商標)スイッチやルータにおいて実現されている。
特開2001−275211号公報 特開2008−85819号公報
Proceedings of the 27th Annual Conference of the IEEE Industrial Electronics Society(IECON ’01) p.1593, Network−Based Control Systems: A Tutorial
制御ネットワークに、しばしば共通的に見られる特徴として、ネットワーク上のトラフィックが、予測可能であることがある。
簡単な例を図20に示す。
機器Aから機器Dが中継装置(L2SW)を介して接続されている。
このネットワークでは機器の制御のため、主な制御用の通信として、パケット(Req−A)、パケット(Res−A−B)、パケット(Res−A−C)、パケット(Push−D−A)が送受信される。
パケット(Req−A)は、機器Aが機器B、機器Cに対してマルチキャストで要求を行うパケットである。
パケット(Res−A−B)は、機器Bがパケット(Req−A)に対して応答を行うパケットである。
パケット(Res−A−C)は、機器Cがパケット(Req−A)に対して応答を行うパケットである。
パケット(Push−D−A)は、機器Dが自身の判断で機器Aに対してプッシュ型のユニキャスト通信を行うパケットである。
なお、これらのパケットは、UDP/IP上で行われるものとする。
Req−Aは100msの定周期に行われ(結果としてRes−A−B、Res−A−Cも定周期となる)、Push−D−Aは、機器D内の何らかのイベントの発生により行われるものとする。
それ以外の通信、例えばARP(Address Resolution Protocol)等が行われることがあるものの、機器上のアプリケーションが明示的に行う通信は、以上ですべてであるとする。
各パケットの中身における制御の内容(値)は変わることがあっても、上記の動作は一定である。
オフィスユースやインターネットアクセス等に用いられるネットワークと異なり、制御専用のネットワークにおける通信は、このように、ネットワーク上の通信を、そのネットワークを利用するアプリケーションの仕様、設計情報から、ある程度前もって知ることができる、あるいはより詳細に知ることができる可能性が高い。
図20に示した例の場合、従来技術によってネットワークの異常(障害)を検知することが可能である。
特許文献2のトラフィックフロー情報を適用すれば、Req−A、Req−A−B、Req−A−Cは、それぞれ送信元、送信先のIPアドレス、UDPポート番号が分かっており、100msに1パケットという頻度も分かっている。
したがって、例えば1秒毎に異常診断を行い、過去1秒あたりのパケット数が例えば10±2個であれば異常ではないと判断できる(±2個は、タイマーのずれなどを考慮したマージンである)。
あるいは、アクセス制御(パケットフィルタリング)を適用すれば、Req−A、Req−A−B、Req−A−Cに加えて、Push−D−Aも、それぞれ送信元、送信先のIPアドレス、UDPポート番号が分かっている。
したがって、これらの情報を元にルールを作成できる。ルールに従わないパケットを発見した場合、異常が発生したと判断できる。
ところが、図20の通信にある条件が加わったとする。機器Aは、Push−D−Aを受信後、1秒間はReq−Aを送信しない、という制御アプリケーションの仕様が加わったとする。
この場合、上記のアクセス制御は、なお有効であるが、トラフィックフロー情報による異常検知は適用できなくなる。
Push−D−A受信後の1秒間は、Req−Aのトラフィック量は0となり、10±2の範囲を超えるためである。
あるいはまた、Push−D−Aパケットが発生する確率が既知(1分に1度以下)であるとすれば、過去1秒あたりのパケット数で判断するのではなく、過去1分あたりのパケット数が600±20個であれば異常ではないと判断することもできるが、障害(異常)発生から、検出までの時間が長くなってしまう可能性が高い。
この発明は、上記のような課題を解決することを主な目的の一つとしており、静的なルールに代えて、あるいは静的なルールに追加して、各通信装置の動作アルゴリズムに基づいて生成されたルールを用いて、より幅広くネットワーク上の異常を検知することを主な目的とする。
本発明に係る中継装置は、
それぞれが既定の動作アルゴリズムに従って他の通信装置にパケットを送信する複数の通信装置に接続され、前記複数の通信装置の間でパケットの中継を行う中継装置であって、
前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信パターンが異常受信パターンとして定義されている異常検出情報を記憶する情報記憶部と、
各通信装置から送信されたパケットを順次受信する受信部と、
前記受信部によるパケットの受信状況を監視し、前記異常検出情報で定義されている異常受信パターンでパケットが受信された場合に、異常の発生を通知する受信状況監視部とを有することを特徴とする。
本発明によれば、複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しない異常受信パターンを参照しながらパケットの受信状況を監視し、異常受信パターンでパケットが受信された場合に、異常の発生を通知するため、静的なルールよりも幅広くネットワーク上の異常を検知することができる。
実施の形態1に係る中継装置の構成例を示す図。 実施の形態1に係るパケットチェック部のルールの例を示す図。 実施の形態1に係る機器動作推定部の例を示す図。 実施の形態1に係る状態遷移定義の対象となるパケット定義例を示す図。 実施の形態1に係る状態遷移定義の例を示す図。 実施の形態1に係る状態遷移の例を示す図。 実施の形態2に係る中継装置の構成例を示す図。 実施の形態2に係る機器動作推定部の例を示す図。 実施の形態2に係る統計情報チェック部のルールの例を示す図。 実施の形態2に係る状態遷移定義の例を示す図。 実施の形態2に係る状態遷移の例を示す図。 実施の形態3に係る中継装置の構成例を示す図。 実施の形態3に係る機器動作推定部の例を示す図。 実施の形態4に係るネットワークの構成例を示す図。 実施の形態4に係る機器動作推定部の例を示す図。 実施の形態4に係る拡張機器動作推定サーバ装置の例を示す図。 実施の形態1に係る中継装置の動作例を示すフローチャート図。 実施の形態1に係る中継装置の動作例を示すフローチャート図。 実施の形態1〜4に係る中継装置等のハードウェア構成例を示す図。 ネットワークの例を示す図。
実施の形態1.
本実施の形態及び以降の実施の形態では、イーサネット(登録商標)のスイッチングハブ、イーサネット(登録商標)のルータ等の中継装置において、中継装置の接続ポートに接続されている機器および機器上のアプリケーションによるネットワーク通信情報を既知の情報として使用して、静的なルールに基づく手法に代わって、あるいは追加して、より幅広くネットワーク上の故障を検知する技術を説明する。
図1に実施の形態1に係る中継装置の構成例を示す。
本実施の形態に係る中継装置(201)は、例えば、イーサネット(登録商標)スイッチである。
中継装置(201)は、ポート1(210)からポート4(213)までの4つのポートを備えている。
それぞれのポートに機器A(222)〜機器D(225)が接続されている。
機器A(222)〜機器D(225)は、それぞれ通信装置の例である。
中継装置(201)は、機器A(222)〜機器D(225)の間でパケットの中継を行う。
また、機器A(222)〜機器D(225)は、それぞれが既定の動作アルゴリズムに従って他の機器にパケットを送信する。
中継装置(201)は、例えば、イーサネット(登録商標)の物理層(PHY(214)〜PHY(217))が装備され、さらにイーサネット(登録商標)のMAC層(MAC(218)〜MAC(221))が装備される。
また、フレームの転送など、中継装置(201)としての機能を実現するため、各MACはMACブリッジ(209)と接続される。
さらに、中継装置(201)において、各ポートのMAC層にパケット抽出部(204)等が接続される。
図1では図示を省略しているが、ポート2〜ポート4に対するMAC(MAC(219)〜MAC(221))にもそれぞれ個別に同様に、パケット抽出部(204)から障害検知部(208)に至る構成が配備される。
パケット抽出部(204)は、フレームから抽出したパケットの情報を渡すため、パケット特徴抽出部(203)と接続される。
機器動作推定部(205)、パケットチェック部(207)は、パケット特徴抽出部(203)より、パケット特徴情報を受け取る。
障害検知部(208)は、機器動作推定部(205)、パケットチェック部(207)より、異常通知を受け取る。
また、中継装置(201)の管理、設定等のため、RS−232−Cポート(226)が装備される。
障害検知部(208)は、機器動作推定部(205)などからの異常通知をうけて、障害として認識する手段であるが、例えば障害を検知すると、SNMP(Simple Network Management Protocol)等を使用して異常通知を送信したり、障害を検知したポートを遮断したりする。
パケット抽出部(204)は、対応するMACから、パケットの一部、または全部を抽出する。
通常、イーサネット(登録商標)フレーム(パケット)の最大サイズは1500バイト程度となるため、全部を取り出すと負荷が高くなってしまう可能性がある。
また、パケットの特徴の抽出において重要である、プロトコルのヘッダ情報はパケットの前方にかたまって配置されることが一般的である。
これらの理由により、パケット抽出部(204)は、フレームの先頭の64バイト、あるいは128バイトに限定してパケットの特徴を抽出してもよい。
例えば、イーサネット(登録商標)上でTCP/UDP/IPを使用する場合、イーサネット(登録商標)フレームのヘッダは14バイト、IPヘッダはオプションがない場合で20バイト、UDPヘッダは8バイト、TCPヘッダは24バイトである。
ヘッダのデータサイズを合計すると、UDPの場合で42バイト、TCPの場合で58バイトとなり、64バイト以内に収まる。
なお、PHY(214)、MAC(218)及びパケット抽出部(204)は受信部に相当する。
ポート2(211)〜ポート4(213)においても、PHY(214)、MAC(218)及びパケット抽出部(204)に対応する構成は受信部に相当する。
なお、受信には、中継装置201としての受信と、MACにおける受信がある。
中継装置201としての受信は、中継装置201がポートより機器A〜Dのいずれかからのフレームを受信することを意味する。
MACにおける受信は、MACがポートより機器A〜Dのいずれかからのフレームを受信することと、MACブリッジ209から機器への送信用パケットを受信すること(MACブリッジ209から受信したデータが、機器へフレームとして送信される)の双方を含む。
例えば、後述する図4において、番号1は、MACがポートより機器Aからのフレームを受信することを意味しており、番号2〜4は、機器A宛てのパケットをMACブリッジ209から受信する(機器Aにフレームを送信する)ことを意味している。
なお、図4の詳細は後述する。
パケット特徴抽出部(203)は、上に挙げたヘッダ情報から、パケットに特徴的な情報を抽出する。
パケット特徴情報の例を示す。
なお、プロトコルポート番号は、TCPやUDPのポート番号であり、中継装置(201)のポートの番号とは無関係である。
一般的には、これらの組み合わせで、通信に使用しているプロトコルや、セッション(一続きの通信)を区別できる。
送信元MACアドレス
送信先MACアドレス
送信元IPアドレス
送信先IPアドレス
IPパケット長
プロトコル:ARP、TCPまたはUDP
送信元プロトコルポート番号
送信先プロトコルポート番号
パケットの向き:IN(機器からスイッチへ)/OUT(スイッチから機器へ)
パケットチェック部(207)は、従来技術におけるアクセス制御(パケットフィルタリング)のように、パケット特徴情報があらかじめ設定されたルールに従わない場合に、異常と判断する。
図2に、図20のネットワークを適用した場合の、パケットチェック部(207)の持つ、ルール表の例を示す。
図2は、ポート1(210)に機器A(222)が接続されているとした場合の、ポート1(210)に対する表である。
番号1はReq−A、番号2はRes−A−B、番号3はRes−A−C、番号4はPush−D−Aにそれぞれ対応している。
なお、ARPパケットにはプロトコルポート番号は存在しない。
図2は、許可されているパケットのルールであり、図2のルールに反するもの、すなわち許可されていないパケットが観測されると、パケットチェック部(207)は異常発生とみなして、障害検知部(208)に通知する。
なお、図1では省略したが、パケットチェック部(207)には図2の表を記憶するためのルール記憶部が装備され、また、中継装置(201)に装備されるシリアルポート(RS232C)や、IP通信によって、図2の表の設定を行うルール設定部が装備される。
機器動作推定部(205)は、機器A(222)〜機器D(225)がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信パターンが異常受信パターンとして定義されている状態遷移定義(異常検出情報)を記憶する領域を有しており、パケットの受信状況を監視し、状態遷移定義で定義されている異常受信パターンでパケットが受信された場合に、異常の発生を通知する。
状態遷移定義には、パケットの異常受信パターンとして、各機器が正常に動作している場合には発生しないパケットの受信順序及び各機器が正常に動作している場合には発生しないパケットの受信間隔の範囲の少なくともいずれかが定義されている。
そして、機器動作推定部(205)は、状態遷移定義で定義されている受信順序でパケットが受信された場合及び状態遷移定義で定義されている受信間隔の範囲内でパケットが受信された場合の少なくともいずれかにおいて、異常の発生を通知する。
図3に機器動作推定部(205)の例を示す。
機器動作推定部(205)は、その中心的な存在として、状態遷移機械(402)を有する。
状態遷移機械入力フィルタ部(403)は、パケット特徴抽出部(203)からパケット特徴情報を得て、状態遷移機械(402)に必要なパケット特徴情報を選択して状態遷移機械(402)に出力する。
状態遷移機械(402)が異常を検知すると、異常通知部(405)に通知する。
なお、状態遷移機械入力フィルタ部(403)と状態遷移機械(402)は、受信状況監視部の例である。
異常通知部(405)は、障害検知部(208)に検出した異常を通知する。
状態遷移機械入力フィルタ部(403)、状態遷移機械(402)は、状態遷移定義記憶部(406)に記憶されている状態遷移定義を使用する。
状態遷移機械(402)は機器A(222)〜D(225)から受信したパケットの受信順序及び受信間隔を監視し、受信状況に応じて状態遷移定義に基づいて状態を遷移させ、機器A〜Dがそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しない状態に遷移した場合に、障害検知部(208)に対して異常の発生を通知する。
状態遷移定義記憶部(406)は情報記憶部の例である。
状態遷移定義管理部(404)は、状態遷移定義の格納処理、読み出し処理、更新処理等を行い、状態遷移定義を管理する。
状態遷移定義管理部(404)は、例えば、RS−232−Cポート等と接続され、設定情報を得て、状態遷移定義記憶部(406)に保存する。
以降では、図20に示した通信に加えて、機器AはPush−D−Aを受信後1秒間はReq−Aを送信してはならない、という制御を行っていた場合の、機器A(222)を接続するポート1(210)の機器動作推定部(205)を例にとって説明する。
図4は、状態遷移定義の対象となるパケットを定義する表を示す。
図5は、状態遷移定義の例を示す。
図6は理解を容易にするために図5の状態遷移定義を図示したものである。
図4の状態遷移定義の対象となるパケット定義例について説明する。
状態遷移機械入力フィルタ部(403)は、パケット特徴抽出部(203)から受け取ったパケット特徴情報を、本表のパケット特徴と比較する。
そして、状態遷移機械入力フィルタ部(403)は、本表の特徴に合致するパケットの表における番号をイベント番号として、状態遷移機械(402)の入力として出力する。
パケット番号1、2、3、4は、それぞれ図20のReq−A、Res−A−B、Res−A−C、Push−D−Aに相当するパケットである。
状態遷移機械(402)は、図5に示した状態遷移定義にしたがって動作する。
図5の状態遷移定義は、上述のように状態遷移定義記憶部(406)において記憶されており、また、図5の状態遷移定義には機器A(222)〜機器D(225)がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信パターンが異常受信パターンとして定義されている。
また、状態遷移機械(402)は、タイマー機能を有している。
これは、指定した長さの時間を期限とするタイマーであり、指定した時間が経過すると状態遷移機械(402)に対してイベントを発生させる。
また、状態遷移機械(402)からは、タイマーの経過時間を知ることができる。
状態遷移機械(402)は、タイマーにより発生したイベントに対しても状態遷移定義に従って状態を遷移させていく。
状態遷移機械(402)は、図5に示すように初期状態の他、S1からS8の8個の状態を持つ。
状態に遷移した場合には、動作INの動作を行う。
状態遷移機械(402)に対する入力イベントとして、上で述べたタイマーイベントの他、状態遷移機械入力フィルタ部(403)によって通知されるイベント番号(図4におけるパケット番号と同じ番号)がある。
機器A(222)〜機器D(225)から図4のテーブルに一致するパケット受信がある度にイベントが発生し、状態遷移機械(402)は、発生したイベントに対して状態遷移定義に従って状態を遷移させていく。
状態遷移定義は、ある状態にある場合に、あるイベントが発生した場合、かつ、なんらかの条件が成立した場合に、動作OUTに示される動作を行って、遷移先に示される状態に遷移する、ということをあらわしており、状態遷移機械(402)は、状態遷移定義に従って動作する。
図5の例では、後述のように状態S8に遷移した際に異常の発生を通知することになっており、状態S8への状態遷移は機器A(222)〜機器D(225)がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しない状態遷移であり、状態S8へ遷移するパケットの受信パターン(パケットの受信順序及びパケットの受信間隔)は異常受信パターンに相当する。
機器動作推定部(205)では、状態遷移機械入力フィルタ部(403)が、パケットが受信される度に、受信されたパケットを解析し、状態遷移機械(402)が、順次受信されたパケット(すなわち、パケット受信により発生したイベント)と状態遷移定義に従って、状態を遷移させて、状態S8に至った場合に異常の発生を通知する。
図5において、初期状態からS1状態へは自動的に遷移する。
必ずしも、機器A(222)の通信の最初から観測できるとは限らないため、番号2、3のパケットは無視しており、番号1のパケットを受信すると状態S2に遷移する。
S2からS3、S5の流れは、Req−Aに対して、Res−A−B、Res−A−Cを順番に受信した際の遷移である。
一方、S2からS4、S6の流れは、Req−Aに対して、Res−A−C、Res−A−Bを順番に受信した際の遷移である。
S5、S6から、Req−Aを受信するとS2状態に戻る。
さらに、状態S2において、Req−A(番号1のパケット) を受信した場合、状態S3においてRes−A−Bを受信した場合、状態S4においてRes−A−Cを受信した場合、状態S5、S6においてRes−A−BやRes−A−Cを受信した場合は、状態S8に遷移し、異常通知を行っている。
図6に示した状態遷移の図は、抜粋であり、図の簡略化のため、省略している。
これらが、図20に示したReq−A、Res−A−B、Res−A−Cに対応する状態遷移である。
なお、図6に示す状態S1〜S8は、図5に示す状態S1〜S8を表している。
また、図6に示す(1)〜(4)は、図5に示すイベント番号、図4に示すパケット番号を表している。
図5の状態遷移定義では、機器A〜Dがそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信順序を各パケットの送信元と送信先を指定して定義している。
例えば、機器Aが正常に動作していれば、機器Aから機器B及び機器Cに対するReq−Aが送信された後に更に機器Aから機器B及び機器Cに対するReq−Aが送信されることはないため、このような異常な順序で中継装置(201)がパケットを受信している場合には、異常の発生が通知される。
より具体的には、状態S1においてイベント1が発生すると状態S2に遷移し、状態S2においてイベント1が再度発生すると、状態S8に遷移する。
状態S8では、異常の発生が通知される。
イベント1は、図4のテーブルに示されるように、送信元が機器Aであり、送信先が機器B及びCであるReq−Aの受信である。
なお、本実施の形態では、状態遷移機械入力フィルタ部(403)において、図4に示したパケット定義以外のパケットを異常なパケットであるとのチェックは行っていない。
これは、パケットチェック部(207)によってチェックされることを想定している。
さらに、図20の通信に加えて、Push−D−A受信によって1秒間、Req−Aを送信しないことに対応する状態遷移定義について説明する。
状態S1から状態S6の各状態において、番号4のパケット、すなわち、Push−D−Aを受信すると、状態S7に遷移する。
状態S7に遷移すると、既存のタイマーがあれば破棄し、0.9秒間(1秒間に対して余裕を見ている)のタイマーを開始する。
このように図5の状態遷移定義では、Push−D−AとReq−Aとの間では1秒間という受信間隔が規定され、Push−D−Aは先行受信間隔規定パケットの例であり、Req−Aは後行受信間隔規定パケットの例である。
そして、状態S7へ遷移させるイベント4と対応付けられて図4のテーブルに先行受信間隔規定パケットであるPush−D−Aの送信元(機器D)と送信先(機器A)が定義されている。
また、異常通知が行われる状態S8(後述)へ遷移させるイベント1と対応付けられて図4のテーブルに後行受信間隔規定パケットであるReq−Aの送信元(機器A)と送信先(機器B及び機器C)が定義されている。
更に、図5の状態遷移定義では、機器A〜Dがそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないPush−D−AとReq−Aとの間の受信間隔の範囲(0.9秒以下)を定義している。
なお、状態S7においてReq−A(パケット番号1)を受信した場合、Push−D−Aの受信とほぼ同時に発生している場合も考えられるため、タイマー経過時間が0.2秒以上であれば、S8状態に遷移して異常通知を行い、そうでなければ、S7状態に止まる。
状態S7においてRes−A−C、Res−A−B(それぞれパケット番号2,3)を受信した場合、以前のReq−Aに対する応答である可能性があるため、無視する。
Push−D−A(パケット番号4)を受信した場合、再び状態S7に遷移し、0.9秒のタイマーを設定する。
また、状態遷移機械(402)は、既存のタイマーは破棄する。
状態S7において、タイマーが終了した場合、初期状態に遷移する。
状態S8に遷移した場合、状態遷移機械(402)は、異常通知部(405)を介して障害検知部(208)に異常の発生を通知する。
なお、実際のネットワークにおいては、何らかの原因によって、パケットが喪失することもあり得る。
したがって、機器動作推定部(205)から障害検知部(208)に対して異常が通知されても、すぐに障害発生とはみなさず、障害検知部(208)はオペレータに対して警告のみ送信し、所定の時間内に複数回の異常通知が行われた場合にのみ障害発生としてみなすなどの対応を行う場合もある。
次に、本実施の形態に係る中継装置(201)の動作例を図17のフローチャートを参照して説明する。
まず、機器動作推定部(205)において、状態遷移機械(402)が状態遷移定義記憶部(406)から図5に例示した状態遷移定義を読み出す(S1701)(情報読み出しステップ)。
次に、いずれかのポートがいずれかの機器からフレームを受信した場合(S1702でYES)(受信ステップ)、パケット抽出部(204)がMAC(218)からフレームを取得し、取得したフレームからパケットを抽出する(S1703)。
次に、パケット抽出部(204)がパケットをパケット特徴抽出部(203)に出力し、パケット特徴抽出部(203)がパケットから特徴情報を抽出する。
パケット特徴抽出部(203)は、抽出情報を機器動作推定部(205)とパケットチェック部(207)に出力し、パケットチェック部(207)は図3のルールに基づく検査を行い、機器動作推定部(205)は図5の状態遷移定義に基づく検査を行う(S1706)(受信状況監視ステップ)。
次に、図18のフローチャートを参照して、S1706の詳細、つまり、機器動作推定部(205)による検査の詳細を説明する。
状態遷移機械入力フィルタ部(403)により状態遷移定義の対象となるパケットのみが選択され、状態遷移機械(402)は状態遷移定義の対象となるイベントの番号情報(図4のパケット番号)を状態遷移機械入力フィルタ部(403)から入力する(S1801)。
次に、状態遷移機械(402)は、現在の状態を確認する(S1802)。
現在の状態がS1〜S6のいずれかである場合は、状態遷移機械(402)は、状態遷移機械入力フィルタ部(403)から入力した番号情報に従って、フレーム受信により発生したイベントを特定する(S1803)。
そして、図5の状態遷移定義により、現在の状態とイベントから遷移先となる新しい状態を特定する(S1804)。
新しい状態がS7であれば(S1805)、状態遷移機械(402)は、状態S7の動作INにあるようにタイマーを起動し(S1806)、新しい状態(S7)を記憶する(S1807)。
また、新しい状態がS1〜S6のいずれかであれば(S1805)、新しい状態(S1〜S6のいずれか)を記憶する(S1807)。
新しい状態がS8の場合は、状態遷移機械(402)は異常通知部(405)に異常の発生を通知する(S1812)。
また、新しい状態がない場合(S1805)は、状態遷移機械(402)は動作を終了する。
一方で、ステップS1802において現在の状態を確認した結果、現在の状態がS7である場合には、状態遷移機械(402)は、状態遷移機械入力フィルタ部(403)から入力した番号情報に従って、フレーム受信により発生したイベントを特定する(S1808)。
イベント1以外のイベントの場合は、S1804に処理を移す。
一方、イベント1が発生している場合は、状態遷移機械(402)はタイマー起動(S1806)から0.2秒が経過しているか否かを判断し(S1810)、0.2秒を経過していない場合はS1804に処理を移す。
また、0.2秒を経過している場合は、状態遷移機械(402)は状態をS8に遷移させ(S1811)、異常通知部(405)に異常の発生を通知する(S1812)。
なお、ステップS1806においてタイマーが起動された後0.9秒が経過した時点でパケットの受信がない場合は、図18のフローとは別にタイマー終了というイベント(図5のS7)が発生し、状態が初期状態に戻る。
このように、本実施の形態では、ネットワーク上の通信に関する既知の情報に基づいて構築された状態遷移定義を用いた機器動作推定部(205)によって、中継装置(201)が観測したパケットが、既知の情報通りであるか否かによって異常を検知する。
そして、機器動作推定部(205)によって、統計情報チェック、パケットチェックによって実現されているような、静的なルールに基づく異常検知では検知できなかった、幅広い範囲の異常検知を行うことができる。
換言すると、本実施の形態に係る中継装置では、複数の機器がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの異常受信パターンを定義し、各機器からのパケットの受信状況を監視し、定義されている異常受信パターンでパケットが受信された場合に異常の発生を通知するため、統計情報チェック、パケットチェック等の静的なルールに基づく異常検知では検知できなかった、幅広い範囲の異常検知を行うことができる。
統計情報チェック、パケットチェックは広く利用されている既存技術であるというだけでなく、状態遷移定義を用いた機器動作推定部(205)と比較して単純な方式によって異常を検知している。
これら既存技術と組み合わせることにより、検知できる異常の範囲を広くしながらも、全体として異常検知のための計算負荷を抑えることができるだけでなく、パケット抽出部(204)やパケット特徴抽出部(203)を共有することにより、負荷および実装コストの双方を抑えることができる。
なお、上記では、パケットチェック部(207)は、図4に示すパケット定義に示される全レコードについて常に一律にチェックしているが、これに代えて、レコードごとにチェックの要否を設定して、チェック要となっているレコードのみをチェックするようにしてもよい。
例えば、ある事象が発生した際に、図4の番号1のレコードのみをチェック対象とし、番号1のレコードについてのみチェックを行い、別の事象が発生した際には、図4の番号1のレコードをチェック対象から外すとともに番号2〜4のレコードをチェック対象とし、番号2〜4のレコードに対してのみチェックを行うようにしてもよい。
以上、本実施の形態では、
ネットワークを中継し、接続する装置であって、
各接続ポートに、
ポートを流れるパケットの一部または全体の情報を抽出するパケット抽出部、
パケット抽出部から得られるパケット情報から、パケットの特徴を抽出するパケット特徴抽出部、
状態遷移機械を備え、パケット特徴抽出部から得られるパケット特徴情報を状態遷移機械の入力とする、機器動作推定部を有し、
機器動作推定部の状態遷移機械は、
当該ポートに接続される機器上で動作するネットワークを使用するアプリケーションの、ネットワークに対する動作を既知の情報として構成される障害検知部を有し、
機器動作推定部は、想定通りの状態遷移が行われない場合に異常として障害検知部に通知するネットワーク中継装置を説明した。
また、本実施の形態に係るネットワーク中継装置は、
各接続ポートに、
パケット抽出部及びパケット特徴抽出部を機器動作推定部と共有し、抽出したパケット特徴情報を元に、当該パケットの特徴が事前に設定されたルールに従うか否か判断し、ルールに従わない場合に異常として障害検知部に通知するパケットチェック部を有することを説明した。
実施の形態2.
図7に実施の形態2の構成例を示す。
図7では、図1と比較して統計情報チェック部(802)が追加されている。
また、図7では、機器動作推定部(801)と、パケットチェック部(803)が図1の構成と異なっており、また、機器動作推定部(801)は、統計情報チェック部(802)とも接続される。
また、統計情報チェック部(802)は、受信頻度計測部の例である。
また、図7の他の構成要素は図1で示したものと同様であり、説明を省略する。
図8に、実施の形態2における機器動作推定部(801)の構成例を示す。
図8では図3と比較して、新たに、状態遷移機械(902)が統計情報チェック部(802)と接続され、状態遷移機械(902)の指示に従って、統計情報チェック部(802)におけるルールの有効、無効の制御を行う。
すなわち、状態遷移機械(902)は統計情報チェック部(802)への指示手段を装備し、統計情報チェック部(802)は状態遷移機械(902)からの指示受け手段を装備する。
なお、本実施の形態においても、状態遷移機械入力フィルタ部(903)と状態遷移機械(902)は、受信状況監視部の例である。
統計情報チェック部(802)は、従来技術におけるトラフィックフロー情報に基づく異常検知のように、パケット特徴情報から収集した情報から統計情報を作成し、当該統計情報があらかじめ設定されたルールに従わない場合に、異常と判断する。
換言すると、統計情報チェック部(802)は、受信頻度の計測対象となる計測対象パケットを1つ以上示すとともに計測対象パケットごとに所定の単位時間における適正受信頻度を示すルール情報(計測対象パケット情報)を参照し、ルール情報に示される計測対象パケットごとに、単位時間における受信頻度を計測する。
そして、統計情報チェック部(802)は、計測した受信頻度とルール情報に示される適正受信頻度との差異が所定レベル以上である場合に、異常の発生を通知する。
統計情報チェック部(802)は、受信頻度計測部の例である。
なお、パケットチェック部(803)と同様に、ルール記憶部やルール設定部は図7において省略されている。
また、ルール情報を記憶しているルール記憶部は情報記憶部の例である。
図9に図20のネットワークを適用した場合の、機器Aが接続されているポート1に関係する統計情報チェック部(802)の持つ、ルール情報の例を示す。
番号1はReq−A、番号2はRes−A−B、番号3はRes−A−Cにそれぞれ対応している。
これらReq−A、Res−A−B、Res−A−Cは計測対象パケットに相当する。
なお、Push−D−Aは、送信確率が不明であるとしてルール化されていない。
ルールとして、1秒あたりのパケット数(頻度)を使用する。
統計情報チェック部(802)は、パケット特徴抽出部(203)から得られるパケット特徴情報から、図9の番号1から3に相当する特徴のパケットについて、それぞれ、例えば、0.1秒毎に、過去1秒の頻度を統計情報として算出し、誤差が20%を超えた場合に、異常発生とみなして、障害検知部(208)に通知する。
本実施の形態においては、上記機能に加えて、図9に示すようにルールの有効・無効を示す列がある。
ルールが有効の場合には1、無効の場合には0とする。
統計情報チェック部(802)は、状態遷移機械(902)からの指示を受けて、有効・無効を変更する手段を有し、上で述べたルールのチェックは、ルールが有効の場合にのみ行うものとする。
次に、状態遷移機械(902)の使用する状態遷移定義の例を図10に示す。
また、図10の表を図示したものを図11に示す。
図10の状態遷移定義のうちイベント番号は実施の形態1(図4のパケット番号)と同じである。
なお、本実施の形態における状態遷移定義による異常検知は、実施の形態1と比べて緩いものとなっている。
図10の例では、初期状態の他、S1、S2の2つの状態を有する。
初期状態からS1状態には自動的に遷移する。
状態S1に遷移すると、図9に示した統計情報チェック部(802)のルール1、2、3をそれぞれ有効化する。
すなわち、状態遷移機械(902)は、統計情報チェック部(802)に対する指示手段を装備する。
状態S1において、図4に示したパケットの番号1、2、3のパケット、すなわち図20でいうReq−A、Res−A−B、Res−A−Cのパケットを受信した場合、特に何もしない。
一方で、統計情報チェック部(802)は、上に示した通り、パケットの特徴が図9に示した特徴と合致するパケットにつき、その統計情報を算出するとともに、頻度と合致するか否かチェックし、異常を検知する。
状態S1において、パケットの番号4のパケット、すなわち、Push−D−Aを受信すると、状態S2に遷移する。
状態S2に遷移すると、1秒のタイマーを開始するとともに、図9に示した統計情報チェック部のルール1、2、3をそれぞれ無効化する。
状態S2において再びパケット番号4のパケットであるPush−D−Aを受信すると、状態S2に再び遷移する。
すなわち、既存のタイマーを破棄して、再度タイマーを設定し、ルール1、2、3を(既に無効化されているが)無効化する。
状態S2において1秒のタイマーが終了した場合、状態S1に遷移する。
状態S1に遷移すると、再びルール1、2、3が有効化される。
以上によって、状態S1、S2に応じて、統計情報に基づくチェックルールを適用するか否かを切り替え、静的には適用できない統計情報ルールによるチェックを適用することができ、アプリケーションの特性に応じた柔軟な異常検知を行うことができる。
また、パケットチェック部や統計情報チェック部などの既存の一般的な部を利用することにより、負荷や実装コストを抑えることができる。
なお、上記では、状態S2に遷移した際に、図9のルール1、2、3を無効化する例を説明したが、これに代えて、特定の状態に遷移した際に、いずれかのルールを有効化するようにしてもよい。
上記では、Push−D−Aの受信の際に定期周期通信を停止させるため、図9のルール1、2、3を無効化して、受信頻度の計測を停止させる。
これに対して、例えば、Push−D−Aをトリガーにして、機器Aから機器Dに通信が1秒間行われるようなアルゴリズムの場合は、Push−D−Aの受信により状態S2に遷移した際に、機器Aと機器Dとの間の通信頻度を計測するというルールを有効化することが考えられる。
また、ルールの有効化、無効化に加えて、特定のパケットの受信により、図9の頻度を変更するようにしてもよい。
例えば、Push−D−Aをトリガーにして機器Aから機器B及び機器Cへの送信が2倍になるようなアルゴリズムの場合、状態S2への遷移があった際に、図9のルール1の頻度を、現在の「10」から「20」に変更するようにしてもよい。
また、ルール1の頻度の値を変更するのではなく、別のルールに切り替えて頻度を変更するようにしてもよい。
つまり、送信元IPアドレス、送信先IPアドレス、プロトコル、送信元ポート番号、送信先ポート番号、IN/OUTの項目はルール1と同じで、頻度の値だけが「20」となっているルール4を設け、状態S2への遷移があるまでは、ルール1を有効にし、ルール4を無効にしておく。
そして、状態S2への遷移が発生した際に、ルール1を無効にし、ルール4を有効にして、ルール4の頻度「20」に従って、機器Aから機器B及び機器Cへのパケットの受信頻度を計測するようにしてもよい。
このように、本実施の形態では、
各接続ポートに、
パケット抽出部及びパケット特徴抽出部を機器動作推定部と共有し、
抽出したパケット特徴情報を元に、特定の特徴を持つパケットの統計情報を算出し、
統計情報が事前に設定されたルールに従うか否か判断し、
ルールに従わない場合に異常として障害検知部に通知する統計情報チェック部を有するネットワーク中継装置を説明した。
また、本実施の形態では、
機器動作推定部が装備する状態遷移機械は、
パケット特徴情報を入力とする状態遷移にともなって、パケットチェック部や統計情報チェック部のルールを変更することを説明した。
実施の形態3.
図12に実施の形態3の構成例を示す。
実施の形態1や実施の形態2の構成例と同様であるが、機器動作推定部(1301)が異なる。
機器動作推定部(1301)の構成を図13に示す。
図3に示した構成と同様であるが、状態遷移定義管理部(1704)が異なる。
図12に戻ると、DHCP監視部(1305)が追加され、パケット抽出部(204)が抽出したパケットを解析し、DHCPパケットを監視する。
DHCP監視部(1305)は、機器動作推定部(1301)中の状態遷移定義管理部(1704)に対して後述する機器タイプの情報を提供する機能を有する。
また、イーサネット(登録商標)接続ポート5(1302)が追加され、これに対応するPHY(1303)、MAC(1304)が追加される。
MAC(1304)は、機器動作推定部(1301)の状態遷移定義管理部(1704)と接続され、状態遷移定義管理部(1704)に対してイーサネット(登録商標)通信機能を提供する。
状態遷移定義管理部(1704)は、DHCP監視部(1305)から通知された機器タイプを接続ポート5(1302)から後述する外部の状態遷移定義提供サーバ装置に通知し、状態遷移定義提供サーバ装置から状態遷移定義を取得する。
そして、状態遷移定義記憶部(1706)は、状態遷移定義管理部(1704)が取得した状態遷移定義を記憶する。
なお、状態遷移定義提供サーバ装置は機器タイプ別に状態遷移定義を保有しており、情報保有装置の例である。
また、状態遷移定義管理部(1704)は情報取得部の例である。
DHCP(Dynamic Host Configuration Protocol)は、IETF(Internet Engineering Task Force)のRFC(Request For Comment)2131で定義される、IPアドレスなどのネットワークパラメータの設定を行うためのプロトコルである。
DHCPに対しては、種々のネットワークパラメータの設定を可能とするため、RFC2132で標準的なオプションパラメータが規定されると共に、他のRFCによって追加的なオプションパラメータが規定されている。
本実施の形態では、機器A〜機器Dは、IPアドレス等の設定のため、DHCPを使用するものとする。
DHCPのオプションの中には、例えばオプション番号61、Client−identifierオプションがある。
これは、DHCPを利用してIPアドレス他のパラメータを取得するクライアント(機器A〜機器DはDHCPクライアントにあたる)に対する固有の識別子である。
例えば、DHCPサーバは、この識別子を見て、識別子に応じたネットワークパラメータをDHCPクライアントに提供することができる。
DHCPクライアントからDHCPサーバへのメッセージは、UDPを使用し、宛先UDPポート番号は67であるとRFC2131によって決められている。
また、そのメッセージフォーマットも決められている。
したがって、パケット抽出部(204)から得られたパケット情報から、DHCP監視部(1305)は、当該パケットがDHCPクライアントのメッセージであるか否か確認し、DHCPクライアントのメッセージである場合には、決められたメッセージフォーマットにしたがって、その内容を解析する。
本実施の形態においては、機器A〜機器Dは、それぞれDHCPメッセージのclient−identifierオプション中に1〜4の識別子を設定するものとする。
DHCP監視部(1305)は、接続ポートを流れるDHCPメッセージを解析してclient−identifierを抽出し、機器動作推定部(1301)に、client−identifierの値(1〜4)を渡す。
すなわちDHCP監視部(1305)は、機器タイプ同定部の一つの実装であり、この例では機器タイプとして1〜4の識別子を使用している。
図12の中継装置(201)が接続されたネットワーク上には、機器タイプに対応する状態遷移定義情報を記憶し、機器動作推定部(1301)に対して、例えばHTTPプロトコルによって提供する状態遷移定義提供サーバ装置が存在する。
DHCP監視部(1305)から機器タイプを受領した機器動作推定部(1301)中の状態遷移定義管理部(1704)は、HTTPプロトコルによって、状態遷移定義提供サーバ装置に状態遷移定義情報の提供を依頼する。
そのため、状態遷移定義管理部(1704)は、状態遷移定義提供サーバ装置のIPアドレス(例えば、10.1.1.2)を記憶している。
例えば、http://10.1.1.2/1を取得(HTTPプロトコルのGET)すると、状態遷移定義提供サーバ装置は、機器タイプ1、すなわち機器Aに対する状態遷移定義情報を送信する。
状態遷移定義情報を受信した状態遷移定義管理部(1704)は、同情報を状態遷移定義記憶部(1706)中に状態遷移定義として保存する。
状態遷移機械(1702)は、状態遷移定義記憶部(1706)に保存された定義に従って動作する。
状態遷移機械(1702)の動作自体は実施の形態1又は2に示したものと同様であるため、説明を省略する。
このように、本実施の形態によれば、接続ポートを流れるパケットの情報から機器のタイプを特定し、そのタイプにしたがった状態遷移定義情報を設定することにより、個々の中継装置に手動で設定することが不要となり、機器動作推定部中の状態遷移定義の管理を容易にすることができる。
本実施の形態では、状態遷移機械の動作を定義する状態遷移定義をダウンロードする状態遷移ダウンロード部を有するネットワーク中継装置を説明した。
また、本実施の形態では、パケット情報から機器のタイプを抽出する機器タイプ同定部を有し、
当該タイプの機器に応じて状態遷移定義をダウンロードする状態遷移定義ダウンロード部を有するネットワーク中継装置を説明した。
実施の形態4.
本実施の形態に係るネットワークでは、図14に示すように、拡張機器動作推定サーバ装置(230)が設置される。
拡張機器動作推定サーバ装置(230)は、異常検出装置の例である。
拡張機器動作推定サーバ装置(230)の構成は後述する。
中継装置(201)の構成は、図12の場合と同様に、イーサネット(登録商標)接続ポートであるポート5とそれに対応するPHY、MACを有し、MACが機器動作推定部(1501)に接続される。
図15に機器動作推定部(1501)の構成例を示す。
ポート5に対応するMAC(1304)が、状態遷移機械入力フィルタ部(1503)に接続される。
状態遷移機械入力フィルタ部(1503)は、中継装置(201)で受信した各パケットの属性が示される特徴情報を受信順序に従って、ポート5のMAC(1304)を介して拡張機器動作推定サーバ装置(230)に送信する。
状態遷移機械入力フィルタ部(1503)及びポート5のMAC(1304)は送信部の例である。
本実施の形態では、状態遷移定義は、実施の形態2と同じ定義を使用する。
実施の形態2の状態遷移定義は、実施の形態1と比べて簡単なものであった。
実施の形態2においては、Req−A、Res−A−B、Res−A−Cパケットの頻度のみをチェックしており、実施の形態1のように、Req−Aの送信後にRes−A−BやRes−A−Cが受信されるという順序関係はチェックしていなかった。
これは、実施の形態2では、検知できる異常の範囲が実施の形態1よりも狭いことを意味するが、同時に、実施の形態2では、状態遷移定義が小さいために、実施の形態1よりも省メモリで実現できるなど、負荷・コストが小さくなる可能性があることを示している。
すなわち、本実施の形態では、基本的に機器動作推定部(1501)は、実施の形態2と同様に動作する。
しかし、状態遷移機械入力フィルタ部(1503)は、状態遷移機械(1502)への出力と同じ内容をポート5を通して、拡張機器動作推定サーバ装置(230)に送信する。
状態遷移機械(1502)への出力1つ1つを送信してもよいが、いくつかの出力をまとめて送るほうが伝送効率がよく、状態遷移機械(1502)への出力内容に加えて、その出力が行われた時刻を示す時刻情報を合わせて送付する。
時刻情報は、中継装置(201)におけるパケットの受信順序を表す。
時刻情報の送信により、まとめて送ることや、ネットワーク上の送信時間のゆれによって、時間に関する情報の取り扱いが乱れることがなくなる。
本実施の形態では、10秒分の情報をまとめて送付することとする。
拡張機器動作推定サーバ装置(230)の構成例を図16に示す。
拡張機器動作推定サーバ装置(230)は、拡張機器動作推定部(1601)を有する。
拡張機器動作推定部(1601)の基本的な構成は、中継装置(201)上の機器動作推定部(1501)と同じである。
ただし、状態遷移機械入力フィルタ部(1503)に代わって、拡張状態遷移機械入力取得部(1603)を有する。
拡張状態遷移機械入力取得部(1603)は、通信部(1611)に接続されている。
通信部(1611)は、中継装置(201)の状態遷移機械入力フィルタ部(1503)から送信されるフィルタされたパケット特徴情報を、時刻情報とともに受信する。
通信部(1611)は受信部の例である。
拡張状態遷移機械入力取得部(1603)は、通信部(1611)からフィルタされたパケット特徴情報と時刻情報を取得する。
パケット特徴情報は、10秒分まとめて送付されるため、拡張状態遷移機械入力取得部(1603)は、中継装置(201)から例えば20秒遅れの時刻で動作するものと仮定し、時刻情報に従って、パケット特徴情報を1つずつ状態遷移機械(1602)に出力する。
状態遷移定義記憶部(1606)に記録される状態遷移定義(異常検出情報)の内容は、例えば、実施の形態1と同様である。
つまり、機器A〜Dがそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信パターンが異常受信パターンとして定義されている。
状態遷移定義記憶部(1606)は、情報記憶部の例である。
また、状態遷移機械(1602)は、通信部(1611)により受信されたパケットの特徴情報及び時刻情報に基づき、状態遷移定義で定義されている異常受信パターンで中継装置(201)においてパケットが受信されている場合に、異常の発生を中継装置(201)に通知する。
より具体的には、状態遷移機械(1602)は、異常通知部(1605)、障害検知部(1612)を通じて中継装置(201)に異常の発生を通知する。
状態遷移機械(1602)の動作は、実施の形態1で示した中継装置(201)の状態遷移機械(402)の動作と同様であり、説明を省略する。
なお、態遷移機械(1602)は、受信状況監視部の例である。
このように、本実施の形態によれば、異常検知が遅れる(本実施の形態の例では約20秒)という欠点は持つが、中継装置の負荷・コストを小さくし、中継装置と比べて比較的高い負荷に耐えることができる拡張機器動作推定サーバ装置と分担して、幅広い異常検知に対応することができる。
以上、本実施の形態では、
機器動作推定部は、
ネットワーク中継装置外にあって当該装置とネットワーク接続される拡張機器動作推定装置に対して、パケット特徴情報を送信するパケット特徴情報転送部を有することを説明した。
最後に、実施の形態1〜4に示した中継装置(201)及び拡張機器動作推定サーバ装置(230)(以下、中継装置(201)等と記す)のハードウェア構成例について説明する。
図19は、実施の形態1〜4に示す中継装置(201)等のハードウェア資源の一例を示す図である。
なお、図19の構成は、あくまでも中継装置(201)等のハードウェア構成の一例を示すものであり、中継装置(201)等のハードウェア構成は図19に記載の構成に限らず、他の構成であってもよい。
図19において、中継装置(201)等は、プログラムを実行するCPU1911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU1911は、バス1912を介して、例えば、ROM(Read Only Memory)1913、RAM(Random Access Memory)1914、通信ボード1915、磁気ディスク装置1920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU1911は、FDD1904(Flexible Disk Drive)、コンパクトディスク装置1905(CDD)と接続していてもよい。また、磁気ディスク装置1920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM1914は、揮発性メモリの一例である。ROM1913、FDD1904、CDD1905、磁気ディスク装置1920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
実施の形態1〜4で説明した「状態遷移定義記憶部」は、RAM1914、磁気ディスク装置1920等により実現される。
通信ボード1915は、ネットワークに接続されている。通信ボード1915は、LAN(ローカルエリアネットワーク)の他、例えば、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置1920には、オペレーティングシステム1921(OS)、プログラム群1923、ファイル群1924が記憶されている。
プログラム群1923のプログラムは、CPU1911がオペレーティングシステム1921を利用しながら実行する。
また、RAM1914には、CPU1911に実行させるオペレーティングシステム1921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM1914には、CPU1911による処理に必要な各種データが格納される。
また、ROM1913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置1920にはブートプログラムが格納されている。
中継装置(201)等の起動時には、ROM1913のBIOSプログラム及び磁気ディスク装置1920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム1921が起動される。
上記プログラム群1923には、実施の形態1〜4の説明において「〜部」(「状態遷移定義記憶部」以外、以下同様)及び「状態遷移機械」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU1911により読み出され実行される。
ファイル群1924には、実施の形態1〜4の説明において、「〜の判断」、「〜の抽出」、「〜の検査」、「〜の比較」、「〜の遷移」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU1911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM1914のメモリ、FDD1904のフレキシブルディスク、CDD1905のコンパクトディスク、磁気ディスク装置1920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス1912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態1〜4の説明において「〜部」及び「状態遷移機械」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1〜4で説明したフローチャートに示すステップ、手順、処理により、本発明に係る異常検出方法を実現することができる。
また、「〜部」及び「状態遷移機械」として説明しているものは、ROM1913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
プログラムはCPU1911により読み出され、CPU1911により実行される。
すなわち、プログラムは、実施の形態1〜4の「〜部」及び「状態遷移機械」としてコンピュータを機能させるものである。あるいは、実施の形態1〜4の「〜部」及び「状態遷移機械」の手順や方法をコンピュータに実行させるものである。
201 中継装置、203 パケット特徴抽出部、204 パケット抽出部、205 機器動作推定部、207 パケットチェック部、208 障害検知部、209 MACブリッジ、210 ポート1、211 ポート2、212 ポート3、213 ポート4、214 PHY、215 PHY、216 PHY、217 PHY、218 MAC、219 MAC、220 MAC、221 MAC、222 機器A、223 機器B、224 機器C、225 機器D、226 RS−232−Cポート、230 拡張機器動作推定サーバ装置、402 状態遷移機械、403 状態遷移機械入力フィルタ部、404 状態遷移定義管理部、405 異常通知部、406 状態遷移定義記憶部、801 機器動作推定部、802 統計情報チェック部、803 パケットチェック部、902 状態遷移機械、903 状態遷移機械入力フィルタ部、904 状態遷移定義管理部、905 異常通知部、906 状態遷移定義記憶部、1301 機器動作推定部、1302 接続ポート5、1303 PHY、1304 MAC、1305 DHCP監視部、1501 機器動作推定部、1502 状態遷移機械、1503 状態遷移機械入力フィルタ部、1504 状態遷移定義管理部、1505 異常通知部、1506 状態遷移定義記憶部、1601 拡張機器動作推定部、1602 状態遷移機械、1603 拡張状態遷移機械入力取得部、1604 状態遷移定義管理部、1605 異常通知部、1606 状態遷移定義記憶部、1611 通信部、1612 障害検知部、1702 状態遷移機械、1703 状態遷移機械入力フィルタ部、1704 状態遷移定義管理部、1705 異常通知部、1706 状態遷移定義記憶部。

Claims (11)

  1. それぞれが既定の動作アルゴリズムに従って他の通信装置にパケットを送信する複数の通信装置に接続され、前記複数の通信装置の間でパケットの中継を行う中継装置であって、
    前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信パターンが異常受信パターンとして定義されている異常検出情報を記憶する情報記憶部と、
    各通信装置から送信されたパケットを順次受信する受信部と、
    前記受信部によるパケットの受信状況を監視し、前記異常検出情報で定義されている異常受信パターンでパケットが受信された場合に、異常の発生を通知する受信状況監視部とを有することを特徴とする中継装置。
  2. 前記情報記憶部は、
    パケットの異常受信パターンとして、前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信順序及び前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信間隔の範囲の少なくともいずれかが定義されている異常検出情報を記憶し、
    前記受信状況監視部は、
    前記異常検出情報で定義されている受信順序でパケットが受信された場合及び前記異常検出情報で定義されている受信間隔の範囲内でパケットが受信された場合の少なくともいずれかにおいて、異常の発生を通知することを特徴とする請求項1に記載の中継装置。
  3. 前記情報記憶部は、
    前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信順序を各パケットの送信元と送信先を指定して定義する異常検出情報を記憶し、
    前記受信状況監視部は、
    前記受信部によりパケットが受信される度に、受信されたパケットの送信元と送信先を解析し、前記受信部により順次受信された各パケットの送信元と送信先が前記異常検出情報に示されている各パケットの送信元と送信先と一致する場合に、異常の発生を通知することを特徴とする請求項2に記載の中継装置。
  4. 前記情報記憶部は、
    受信間隔が規定されている一対のパケットのうちの先行する先行受信間隔規定パケットの送信元と送信先を定義し、後行する後行受信間隔規定パケットの送信元と送信先を定義し、前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しない先行受信間隔規定パケットと後行受信間隔規定パケットとの間の受信間隔の範囲を定義する異常検出情報を記憶し、
    前記受信状況監視部は、
    前記受信部により受信されたパケットの送信元と送信先を解析し当該パケットが前記先行受信間隔規定パケットに該当する場合に、当該パケットが受信されてから次に前記受信部によりパケットが受信されるまでの受信間隔を計時し、次に受信されたパケットの送信元と送信先を解析し当該パケットが前記後行受信間隔規定パケットに該当する場合に、計時した受信間隔が前記異常検出情報に定義されている受信間隔の範囲内である場合に、異常の発生を通知することを特徴とする請求項2又は3に記載の中継装置。
  5. 前記情報記憶部は、
    前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合に受信される適正パケットを1つ以上示すとともに、適正パケットごとに送信元と送信先を示すパケットチェック情報を記憶し、
    前記中継装置は、更に、
    前記受信部によりパケットが受信される度に、受信された受信パケットの送信元と送信先が前記パケットチェック情報に示される適正パケットの送信元と送信先に一致するか否かを判断し、いずれの適正パケットにも送信元と送信先が一致しない場合に異常の発生を通知するパケットチェック部を有することを特徴とする請求項1〜4のいずれかに記載の中継装置。
  6. 前記情報記憶部は、
    受信頻度の計測対象となる計測対象パケットを1つ以上示すとともに、計測対象パケットごとに所定の単位時間における適正受信頻度を示す計測対象パケット情報を記憶し、
    前記中継装置は、更に、
    前記計測対象パケット情報に示される計測対象パケットごとに、前記単位時間における前記受信部による受信頻度を計測し、計測した受信頻度と前記計測対象パケット情報に示される適正受信頻度との差異が所定レベル以上である場合に、異常の発生を通知する受信頻度計測部を有することを特徴とする請求項1〜5のいずれかに記載の中継装置。
  7. 受信頻度計測部は、
    計測対象パケット以外の特定種類のパケットが前記受信部により受信されるまでは、計測対象パケットの受信頻度を計測し、前記特定種類のパケットが前記受信部により受信された際に、計測対象パケットの受信頻度の計測を停止することを特徴とする請求項6に記載の中継装置。
  8. 前記中継装置は、
    前記異常検出情報を保有する情報保有装置に接続され、
    前記中継装置は、更に、
    前記情報保有装置から前記異常検出情報を取得する情報取得部を有し、
    前記情報記憶部は、
    前記情報取得部により取得された前記異常検出情報を記憶することを特徴とする請求項1〜7のいずれかに記載の中継装置。
  9. それぞれが既定の動作アルゴリズムに従って他の通信装置にパケットを送信する複数の通信装置に接続され、前記複数の通信装置の間でパケットの中継を行う中継装置と、
    前記中継装置と接続され、前記通信装置間のパケット送受信における異常を検出する異常検出装置とを有する通信システムであって、
    前記中継装置は、
    各通信装置から送信されたパケットを順次受信する受信部と、
    前記受信部により受信された各パケットの属性が示される特徴情報を前記受信部における受信順序に従って前記異常検出装置に送信する送信部とを有し、
    前記異常検出装置は、
    前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信パターンが異常受信パターンとして定義されている異常検出情報を記憶する情報記憶部と、
    前記中継装置から、パケットの特徴情報を受信する受信部と、
    前記受信部により受信されたパケットの特徴情報及び前記中継装置におけるパケットの受信順序に基づき、前記異常検出情報で定義されている異常受信パターンで前記中継装置においてパケットが受信されている場合に、異常の発生を前記中継装置に通知する受信状況監視部とを有することを特徴とする通信システム。
  10. それぞれが既定の動作アルゴリズムに従って他の通信装置にパケットを送信する複数の通信装置に接続され、前記複数の通信装置の間でパケットの中継を行う中継装置が行う異常検出方法であって、
    前記中継装置が、前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信パターンが異常受信パターンとして定義されている異常検出情報を所定の記憶領域から読み出す情報読み出しステップと、
    前記中継装置が、各通信装置から送信されたパケットを順次受信する受信ステップと、
    前記中継装置が、前記受信ステップによるパケットの受信状況を監視し、前記異常検出情報で定義されている異常受信パターンでパケットが受信された場合に、異常の発生を通知する受信状況監視ステップとを有することを特徴とする異常検出方法。
  11. それぞれが既定の動作アルゴリズムに従って他の通信装置にパケットを送信する複数の通信装置に接続され、前記複数の通信装置の間でパケットの中継を行う中継装置に、
    前記複数の通信装置がそれぞれの動作アルゴリズム通りに正常に動作している場合には発生しないパケットの受信パターンが異常受信パターンとして定義されている異常検出情報を所定の記憶領域から読み出す情報読み出し処理と、
    各通信装置から送信されたパケットを順次受信する受信処理と、
    前記受信処理によるパケットの受信状況を監視し、前記異常検出情報で定義されている異常受信パターンでパケットが受信された場合に、異常の発生を通知する受信状況監視処理とを実行させることを特徴とするプログラム。
JP2010041528A 2010-02-26 2010-02-26 中継装置及び通信システム及び異常検出方法及びプログラム Pending JP2011182011A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010041528A JP2011182011A (ja) 2010-02-26 2010-02-26 中継装置及び通信システム及び異常検出方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010041528A JP2011182011A (ja) 2010-02-26 2010-02-26 中継装置及び通信システム及び異常検出方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2011182011A true JP2011182011A (ja) 2011-09-15

Family

ID=44693105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010041528A Pending JP2011182011A (ja) 2010-02-26 2010-02-26 中継装置及び通信システム及び異常検出方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2011182011A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103079018A (zh) * 2011-10-25 2013-05-01 中兴通讯股份有限公司 中继抓包定位对接业务异常的方法及装置
WO2021014766A1 (ja) * 2019-07-25 2021-01-28 株式会社日立製作所 通信中継装置および診断方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103079018A (zh) * 2011-10-25 2013-05-01 中兴通讯股份有限公司 中继抓包定位对接业务异常的方法及装置
WO2021014766A1 (ja) * 2019-07-25 2021-01-28 株式会社日立製作所 通信中継装置および診断方法
JP2021022771A (ja) * 2019-07-25 2021-02-18 株式会社日立製作所 通信中継装置および診断方法
JP7290495B2 (ja) 2019-07-25 2023-06-13 株式会社日立製作所 通信中継装置および診断方法

Similar Documents

Publication Publication Date Title
JP4981974B2 (ja) 管理システム及び情報処理システム
US8274911B2 (en) Network monitoring system and path extracting method
JP2008092118A (ja) レイヤ2ループ検出装置、レイヤ2ループ検出システムおよびレイヤ2ループ検出方法
US8842539B2 (en) Method of limiting the amount of network traffic reaching a local node operating according to an industrial ethernet protocol
EP3222003B1 (en) Inline packet tracing in data center fabric networks
JP6400255B2 (ja) 侵入検知装置および侵入検知プログラム
US10833889B2 (en) Method and device for monitoring control systems
US20210385120A1 (en) Systems and methods for sideline processing in a Virtual Network Function
JP2015171052A (ja) 識別装置、識別プログラム、及び識別方法
JP2018007179A (ja) 監視装置、監視方法および監視プログラム
US20150236920A1 (en) Method and apparatus for determining connection information of a link
JP2010245710A (ja) ネットワーク管理装置及び通信システム及びネットワーク管理方法及びプログラム
WO2014013317A1 (en) Systems and methods of installing and operating devices without explicit network addresses
US10996971B2 (en) Service OAM for virtual systems and services
JP2011182011A (ja) 中継装置及び通信システム及び異常検出方法及びプログラム
JP5322987B2 (ja) 故障検出装置
JP2008244632A (ja) 監視対象設定システム、監視対象設定方法、監視対象設定プログラム、ネットワーク監視システム、管理装置及び収集装置
JP7045247B2 (ja) 通信保護装置、制御方法、および、プログラム
US9432275B2 (en) Transmission monitoring method and device
JP6248379B2 (ja) 入出力装置、メモリ監視方法および伝送装置
WO2019007139A1 (zh) 一种实现故障检测的方法、设备和系统
US9548909B2 (en) Communication device, packet monitoring method, and computer program
JP5427913B2 (ja) 管理システム及び情報処理システム
US20170257259A1 (en) Computer system, gateway apparatus, and server apparatus
JP6955937B2 (ja) 管理装置およびネットワークシステム