説明

情報処理装置及び情報処理システム

【課題】情報処理装置において、ネットワークの過剰通信状況下(DoS攻撃発生状況下)における高頻度の受信処理によって、より優先度の高い処理に悪影響がでることを防ぐ。
【解決手段】ネットワークを構成する情報処理装置において、通信状況に関する情報を収集して、過剰通信状況にあると判断した場合、通信起因の割込みをデータ処理部に渡さずに通信処理機能を停止させる。この状態で通信状況に関する情報を引き続き収集し、過剰通信状況の終了と判断した場合に割込みをデータ処理部に伝達して通信処理機能を復帰させる。

【発明の詳細な説明】
【技術分野】
【0001】
ネットワークと接続し、被制御装置を制御する情報処理装置及び情報処理システムに関する。
【背景技術】
【0002】
ネットワークと接続された情報処理装置に対する攻撃の一つに、DoS(Denial of Service)攻撃というものがある。
【0003】
DoS攻撃では、大量のネットワークトラフィックを攻撃対象の情報処理装置に送信することによって、通信処理による負荷をかけようとするものである。
【0004】
攻撃手法としては、攻撃対象となる情報処理装置のセキュリティホールを狙ったものや、単純に正規の手順にしたがったサービスを大量に要求するといった方法が挙げられる。
【0005】
複数の送信元によるDoS攻撃をDDoS(Distributed DoS)攻撃と呼ぶ。
【0006】
一方で、プラントシステムでは、コンピュータネットワークのオープン化が進んでいる。
【0007】
従来は、各メーカでの独自仕様のプロトコルや情報処理装置が利用され、そこで動作するソフトウェアも独自仕様のものであった。
【0008】
それが現在では、インターネットにおける標準のTCP/IPプロトコルの利用や汎用OSの活用が進んでいる。
【0009】
これらの導入は、機器の低コスト化,インターネットとの接続親和性,豊富な技術者等といった様々なメリットから、プラント監視システムを低コストで構築することを可能とした。
【0010】
しかしながら、これらのメリットと同時にDoS攻撃が懸念される。例えば、不正ウィルスに感染した情報処理端末(ノートパソコンやPDA等)がプラント監視システムに接続した場合、その情報処理端末自身がDoS攻撃を実行するだけでなく、セキュリティホールのある汎用OS,ソフトウェアが動作する他の情報処理端末においても感染が及ぶ可能性がある。
【0011】
特許文献1では、単位時間当たりの受信量を測定して、その受信量が受信制限判別値よりも増加したときは通信許容量を低下させることで受信量を制限し、受信制限解除判別値よりも受信量が低下したときは単位時間当たりの受信量の制限を解除することが開示されている。具体的には、Ethernet(登録商標)の100Mbpsと10Mbps間で帯域幅を切り換える。これにより、通信を維持したまま受信量を制限することができる。
【0012】
特許文献2では、あるゲート装置がDDoS攻撃の攻撃容疑パケットを検出すると、上流の通信装置に対して攻撃容疑パケットの伝送帯域制限値を通知する。この通知手順をネットワークの最上流まで繰り返して、攻撃容疑パケットの伝送帯域を制限することが開示されている。これにより、ネットワークの輻輳を改善し、DDoS攻撃によるサービス停止を抑止することができる。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2005−167344号公報
【特許文献2】特開2003−283555号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、特許文献1では、受信量を制限することはできるが、受信処理は制限されないため、DoS攻撃による悪影響が依然として生じる。
【0015】
特に、プラントシステムで用いられる情報処理装置は性能が非力なため、受信量の制限が解決とはならない。
【0016】
また、特許文献2では、ネットワークの上位の通信機器に対して伝送帯域制限値を通知するため、同一LAN内にて発生したDoS攻撃に対しては対応できない。
【0017】
また、特許文献1,特許文献2に共通する課題として、パケットを取り込み、DoS攻撃容疑パケットと有意なパケットを区別する処理の負荷が挙げられる。
【0018】
特許文献1では、受信量を制限した状態で、DoS攻撃パケットと有意なパケットの両方、つまり全てのパケットに関して受信処理をする。
【0019】
特許文献2では、DoS攻撃容疑パケットを検出して伝送帯域を制限するため、所定の評価基準によってDoS攻撃容疑パケットと有意なパケットを区別する。
【0020】
DDoS攻撃のように大量のパケットを受信する状況下では、これらの区別処理自体が、情報処理装置に対して負荷となり、場合によってはシステムダウンの可能性がある。
【0021】
本発明は、DoS攻撃等の過剰通信状況にある場合においても、システムダウンの危険性がなく、かつ通信による過負荷がない情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0022】
本発明は、上記課題を解決するために、ネットワークと接続して用いられ、制御装置を制御する情報処理装置において、ネットワークからパケットを送受信する通信部と、受信したパケットを処理するとともに、制御装置を制御する制御指令値を生成するデータ処理部と、割込み信号を生成し、データ処理部への割込み信号の入出力を制御する割込み制御部と、通信部とデータ処理部と割込み制御部の少なくとも1つから出力された割込み発生状況に関する情報に基づいて、ネットワークが過剰通信状況下にあるか、通常通信状況下にあるかを判断し、判断結果を前記割込み制御部に出力する判断部と、を有し、割込み制御部は、判断部から入力された判断結果に基づいて、ネットワークが過剰通信状況にあるとの判断結果の場合、割込み制御部からデータ処理部への割込み信号を停止し、ネットワークが通常通信状況にあるとの判断結果の場合、割込み制御部からデータ処理部への割込み信号を出力する構成とする。
【0023】
また、複数のネットワークと接続して用いられ、制御装置を制御する情報処理装置において、複数のネットワークからパケットを送受信する複数の通信部と、受信したパケットを処理するとともに、制御装置を制御する制御指令値を生成するデータ処理部と、複数の通信部とデータ処理部との少なくとも1つから出力された割込み発生状況に関する情報に基づいて、接続された複数のネットワークが過剰通信状況下にあるか、通常通信状況下にあるかを判断し、判断したネットワークの識別番号及び識別番号に対応するネットワークの判断結果を出力する割込み制御部と、を有し、割込み制御部は、判断結果に基づいて、判断されたネットワークが過剰通信状況にあるとの判断結果の場合、データ処理部への割込み信号を停止し、判断されたネットワークが通常通信状況にあるとの判断結果の場合、データ処理部へ割込み信号を出力する構成とする。
【0024】
また、複数の制御装置を制御し、それぞれ固有の識別子が付加された複数の情報処理装置と、ネットワーク及び複数の情報処理装置と接続された集線装置と、を有し、その集線装置は、ネットワーク及び複数の情報処理装置と接続し、パケットの送受信をする複数の入出力ポートと、複数の情報処理装置に付加された識別子と識別子に対応する複数の入出力ポートの識別子との対応関係が記された宛先管理表が記憶された記憶部と、複数の入出力ポートから受信されたパケットに示された宛先の識別子から、宛先管理表に基づいて対応する入出力ポートの識別子を特定し、特定された入出力ポートへ受信されたパケットを送信する通信制御部と、パケットを送信する入出力ポートの通信相手が過剰通信状況にあるのか通常通信状況にあるのかを判断する通信監視部と、を有し、通信制御部は、パケットが受信された場合、パケットの受信情報を通信監視部へ出力し、通信監視部は、受信情報に基づいて入出力ポートの通信相手が過剰通信状況にあるのか通常通信状況にあるのかを判断し、判断結果を通信制御部に出力し、通信制御部は、通信監視部から受信された判断結果に基づいて、パケットを送信する入出力ポートの通信相手が過剰通信状況である場合、通信相手を宛先とするパケットを廃棄する、または通信相手から受信されたパケットを廃棄する構成とする。
【発明の効果】
【0025】
DoS攻撃等の過剰通信状況にある場合においても、システムダウンの危険性がなく、かつ通信による過負荷がない情報処理装置を提供することができる。
【図面の簡単な説明】
【0026】
【図1】本発明の一実施形態を適用するシステムの構成図である。
【図2】本発明の一実施形態を示す構成図である。
【図3】本発明の一実施形態による通信状況判断の状態遷移図を示した図である。
【図4】本発明の一実施形態による制御フローを示した図である。
【図5】本発明の一実施形態を示すハードウェア構成図である。
【図6】本発明の一実施形態による制御フローを示した図である。
【図7】本発明の一実施形態によるハードウェア構成図である。
【図8】本発明の一実施形態による割込み頻度の判断回路を示した図である。
【図9】本発明の一実施形態を示すハードウェア構成図である。
【図10】本発明の一実施形態を示すハードウェア構成図である。
【図11】本発明の一実施形態を示すハードウェア構成図である。
【図12】本発明の一実施形態による処理時間の計測方法を示した図である。
【図13】本発明のEthernet(登録商標)ヘッダを示した図である。
【図14】本発明の一実施形態による特殊パケットを示した図である。
【図15】本発明の一実施形態による通信状況判断の状態遷移図を示した図である。
【図16】本発明の一実施形態を示す特殊パケットを用いた通信状況の評価方法を示した図である。
【図17】本発明の一実施形態を示すハードウェア構成図である。
【図18】本発明の一実施形態を適用するシステムの構成図である。
【図19】本発明の一実施形態を適用するスイッチングハブの構成図である。
【図20】本発明の一実施形態を示すハードウェア構成図である。
【図21】本発明の一実施形態による制御フローを示した図である。
【図22】本発明の一実施形態を適用するシステムの構成図である。
【図23】本発明の一実施形態を示すハードウェア構成図である。
【図24】本発明の一実施形態による制御フローを示した図である。
【図25】本発明の一実施形態による処理時間の計測方法を示した図である。
【図26】本発明の一実施形態を適用するシステムの構成図である。
【図27】本発明の一実施形態を示すハードウェア構成図である。
【発明を実施するための形態】
【0027】
工場等のネットワークに接続されるPLC(Programmable Logic Controller)等の情報処理装置が、接続された制御装置の制御を主目的とし、ネットワークを介して、さまざまな情報を上位サーバと通信する。
【0028】
本発明を用いれば、情報処理装置が接続されたネットワークでDoS攻撃が発生した場合であっても上位サーバとの通信は制限されるが、制御装置の制御を継続することができる。
【0029】
以下各実施例を図面を用いて説明する。
【実施例1】
【0030】
図1は本発明を適用した情報処理装置を用いたシステムの構成例である。
【0031】
情報処理装置100はネットワーク101と制御装置102に接続して、制御装置102を制御,監視している。
【0032】
情報処理装置100は制御装置102を監視し、ネットワーク101を通じて制御装置102の稼動情報を所定の送信先に送信する。
【0033】
また、所定の送信元からネットワーク101を通じて送られた情報をもとに制御装置102を制御する。
【0034】
図2は、本発明に係る情報処理装置100の内部構成の一実施形態である。
【0035】
なお、図中の矢印は、信号線上の信号の論理的な方向をコネクタ接続部において示したもので、理解を補助するためのものであり、電気的には単に接続するものである。
【0036】
通信部103は、信号線L001を通じてネットワーク101とパケットの送受信をする。また、通信部103は、割込み信号の通知に用いる信号線L002を通じて割込み制御部104と接続し、パケットの伝送に用いる信号線L004を通じてデータ処理部105と接続し、通信に関する情報の伝送に用いる信号線L006を通じて判断部107と接続している。通信部103から信号線L002を通じて割込み制御部104へ通知される割込み信号は、正常なパケットを受信したことを意味する。割込み制御部104は、信号線L002を通じて通信部103と接続し、信号線L003を通じてデータ処理部105と接続し、信号線L007と信号線L008を通じて判断部107と接続している。信号線L007と信号線L008は物理的には同じバスでもよい。割込み制御部104は、信号線L008から伝送される判断部107の判断によって、信号線L003上に割込み信号を通知するかを制御する。つまり割込み制御部104は、データ処理部105への割込み信号の出力を制御する。
【0037】
データ処理部105は、信号線L003上で割込み信号が通知されると、信号線L004を通じてデータ処理部105へ受信したパケットを処理する。必要に応じて、受信したパケットをもとに制御装置102の制御指令値を求め、制御装置通信部106に送信する。また、制御装置通信部106から受信した情報を所定の方法で処理し、送信パケットを生成し、所定の通信相手に対して送信する。
【0038】
制御装置通信部106は、データ処理部105で求められた制御指令値を、信号線L010を通じて制御装置102へ伝送し、制御装置102から受信した情報を、信号線L009を通じてデータ処理部105へ送信する。
【0039】
判断部107は、通信部103と割込み制御部104とデータ処理部105の1つまたは複数から伝送された通信に関する情報を取得して得られた情報をもとに、ネットワーク101が過剰通信状況下にあるか、通常通信状況下にあるかを判断して、その判断結果を割込み制御部104に送信する。
【0040】
判断部107は、取得された情報をもとに、ネットワーク101が過剰通信状況下にあるかを判断する過剰通信判断部108と、取得された情報をもとに、ネットワーク101が通常通信状況下にあるかを判断する通常通信判断部109と、過剰通信判断部108と通常通信判断部109の判断結果に基づいて判断部107としての通信状況の判断を出力する判断制御部110とを有する。
【0041】
判断制御部110の判断方法の例として、図3に示す状態遷移図が挙げられる。
【0042】
この通常通信状況と過剰通信状況とは判断制御部110の判断結果であり、すわなち、判断部107の判断結果となる。通常通信状況と判断している状態で、過剰通信判断部108が過剰通信状況と判断した場合に状態遷移する。同様に、過剰通信状況と判断している状態で、通常通信判断部109が通常通信状況と判断した場合に状態遷移する。
【0043】
計時部111は、計時手段を有し、割込み制御部104,データ処理部105,判断部107に時間情報を送信する(図示無し)。
【0044】
図4は、割込み制御部104の制御フローの一例を示す。
【0045】
割込み制御部104は、判断部107から所定の間隔で受信された判断結果に基づいて、ネットワーク101の通信状況が過剰通信状況かどうかを判断する(S001)。もし、過剰通信状況下を示す場合は、割込み制御部104は通信部103から割込み信号を受信してもデータ処理部105への出力はしない(S002)。逆に過剰通信状況下ではない、つまり通常通信状況を示す場合は、割込み制御部104は通信部103から割込み信号を通知されると、データ処理部105へ割込み信号を出力する(S003)。図4に示す割込み制御部104の制御は所定の間隔で実行される。
【0046】
判断部107が判断に用いる評価指標は、予め定められた間隔における『受信パケットの処理時間の合計値』、予め定められた間隔における『パケットの受信による割込みの発生頻度』、ネットワーク101の通信状況を示す所定の『特殊フォーマットをもったパケット(以下、特殊パケットと称す)の受信』、および、これらを組み合わせた評価指標が例示される。
【0047】
次に各評価指標について詳細に説明する。
(1)『受信パケットの処理時間の合計値』を評価指標とする場合を説明する。
【0048】
データ処理部105は割込み制御部104から割込みを通知されると、信号線L004を通じて通信部103から受信パケットを取得し、予め定められた方法で、その受信パケットを処理する。判断部107は予め定められた間隔で、データ処理部105における受信パケットの処理時間、もしくは受信パケットの処理時間が所定の単位時間に占める割合をデータ処理部105から取得する。なお、データ処理部105が判断部107に、この処理時間やその割合を伝送してもいいし、判断部107が何らかの方法でデータ処理部105から取得しても良い。
【0049】
データ処理部105は受信パケットの処理開始時と処理終了時の時間情報を計時部111から取得する。その開始時点と終了時点の差分を得ることで、受信パケットの処理時間を計算することができる。
【0050】
所定の間隔内で、各受信パケットの処理時間を合計して、受信パケットの処理時間の合計値を得る。
【0051】
過剰通信判断部108は、予め定めた閾値と上記で受信された受信パケットの処理時間の合計値、もしくは受信パケットの処理時間の単位時間に占める割合を比較する。もし、その処理時間の合計値や単位時間に占める割合などの評価指標が予め定めた閾値以上であれば、過剰通信状況にあると判断する。
【0052】
判断制御部110は、通常通信状況下に、所定の間隔で過剰通信判断部108の判断状況を取得する。過剰通信判断部108が過剰通信状況にあると判断していれば、判断部107は、ネットワーク101が過剰通信状況下にあることが示された通信状況信号を割込み制御部104に送信する。過剰通信判断部108が通常通信状況下にあると判断していれば、とくに何もしない。
【0053】
過剰通信状況下では、データ処理部105は受信パケットを処理しないため、受信パケットの処理時間にかかるネットワーク101の通信状況の判断をしない。
【0054】
上記閾値を求める方法は、通信負荷実験を通して実験的に求める方法や想定される通信状況と情報処理装置の性能から計算する方法が例示される。
【0055】
また、閾値を固定するのではなく、動作中に動的に変更する方法でも良い。例えば、データ処理部105から任意に設定する方法や通信状況判断の変動を踏まえて変更する方法が挙げられる。これにより、本発明の実施環境に適した設定が可能である。
(2)『パケットの受信による割込みの発生頻度』を評価指標とする場合を説明する。
【0056】
通信部103は、ネットワーク101からパケットを受信すると、割込み制御部104に対して、信号線L002を通じて割込みを通知する。通信部103および割込み制御部104は、この割込みの発生頻度をカウントし、判断部107へ伝送する。
【0057】
判断部107は、所定の間隔で予め定めた閾値と上記で取得された受信パケットによる割込みの発生頻度(カウント値)とを比較する。もし、上記パケットの受信による割込みの発生頻度が予め定めた閾値以上であれば、過剰通信状況下にあることを示す信号を割込み制御部104に送信する。そうでなければ、通常通信状況下であることを示す信号を割込み制御部104に送信する。
【0058】
上記閾値を求める方法は、受信パケットの処理時間の合計値を評価指標とする場合と同様である。
(3)『特殊パケットの受信』を評価指標とする場合を説明する。
【0059】
本発明の情報処理装置100が含まれるシステムにおいて、事前に過剰通信状況および通常通信状況を示す特殊パケットを定義する。通信部103は、ネットワーク101からパケットを受信すると特殊パケットかどうかを判断する。同じく、データ処理部105が信号線L003を通じて割込み制御部104から、パケットを受信したことを示す割込みを通知されると、通信部103からパケットを取得し、特殊パケットかどうかを判断する。もし、特殊パケットであれば、通信部103とデータ処理部105は特殊パケットの内容を判断部107に伝送する。
【0060】
過剰通信判断部108は、上記特殊パケットの内容がネットワーク101の過剰通信状況を示していれば、過剰通信状況にあると判断する。通常通信判断部109は、上記特殊パケットの内容がネットワーク101の通常通信状況を示していれば、通常通信状況にあると判断する。判断制御部110は、図3に示す状態遷移を例として、通信状況を判断する。判断部107は、所定の間隔で判断制御部110の判断結果を割込み制御部104に伝送する。
【0061】
図5は、本発明をEthernet(登録商標)を有する情報処理装置上でハードウェアとして実装した場合の実施例である。なお、ネットワーク101への通信インターフェースとしては、IEEE1394,USB,シリアルバス等においても適用可能である。
【0062】
PHY114は、物理層における通信機能を実装した送受信機ICである。MAC115は、Ethernet(登録商標)制御ICの一例である。
【0063】
PHY114とMAC115はIEEE 802.3u標準のMedia Independent Interface(以下、MIIと称す)か、あるいはIEEE 802.3z標準のGigabit Media Independent Interface(以下、GMIIと称す)と呼ばれるインターフェース仕様で接続されている。
【0064】
PHY114は、接続されたネットワーク101の通信媒体に適した伝送信号を生成する機能を有し、ネットワーク101およびMAC115と通信する。
【0065】
PHY114とMAC115は図2における通信部103に相当する。
【0066】
なお、PHY114とMAC115が一体となって構成されたICであっても、本発明の効果が損なわれるものではない。
【0067】
MAC115は、PHY114に接続される一方、バス119に接続された他のデバイスと通信する。ただし、MAC115が割込みを通知するために利用する割込み入力112の信号線が割込み制御部121に接続されている。
【0068】
割込み制御部121は、割込み入力112の信号線を通じてMAC115と接続され、割込み出力113の信号線を通じてCPU116と接続されている。割込み制御部121は、図2における割込み制御部104と判断部107に相当する。
【0069】
CPU116は、割込み出力113の信号線を通じて、割込み制御部121と接続される一方、バス119に接続され、不揮発性記憶媒体118からプログラムをRAM117に転送して実行する。実行処理プログラムはオペレーティングシステム(以下、OSと称す)、ネットワーク101と通信するためのプログラムや制御装置102を制御するプログラムが例示される。CPU116は、割込み制御部121からの割込みを割込み出力113によって通知される。CPU116は、図2におけるデータ処理部105に相当する。
【0070】
不揮発性記憶媒体118は、情報の記憶媒体で、CPU116を動作させるためのプログラムの保存,プログラムの実行結果の保存や制御装置102の稼動情報の保存に利用される。
【0071】
RAM117は、CPU116が動作するための一時的な記憶領域であり、不揮発性記憶媒体118から転送したOS,アプリケーションプログラム,実行タスクの稼動中の情報等が格納される。
【0072】
シリアルインターフェース120は、CPU116から制御装置102への制御指令や制御装置102からCPU116への稼動情報等を通信する。シリアルインターフェース120は図2における制御装置通信部106に相当する。
【0073】
制御装置102は、CPU116からの制御指令を、インターフェース部であるシリアルインターフェース120を介して受信し、その制御指令に基づいて動作する。動作の結果、シリアルインターフェース120を通して、稼動情報をCPU116へと送信する。
【0074】
バス119は、MAC115,CPU116,RAM117,不揮発性記憶媒体118をそれぞれ接続する。バス119としては、PCIバス,ISAバス,PCI Expressバス等が例示される。
【0075】
図6は、割込み制御部121の制御フローの一例を示す。
【0076】
MAC115は、ネットワーク101から正常なパケットを受信すると、割込み入力112をアサートする(S010)。同時に、MAC115は受信したパケットをRAM117へと伝送する。
【0077】
なお、アサートとは信号を有効な電位へ駆動することをいい、ネゲートとは信号を無効な電位に駆動することを称する。例えば、負論理の信号をアサートするということは低電位(Lowあるいは“0”と表記)に信号を駆動することであり、ネゲートするということは高電位(Highあるいは“1”と表記)に信号を駆動することである。
【0078】
また、MACによっては他の割込み要因においても同一の割込み信号線を用いる場合がある。その場合は、バス119を通じて、MAC115の割込み発生要因を示す割込み状態レジスタのレジスタ値を読むことによって割込み要因がパケット受信によるものであるかを区別することができる。
【0079】
次に、割込み制御部121は、ネットワーク101の通信状況が過剰通信状況であるか通常通信状況であるかを判断する(S011)。ネットワーク101が過剰通信状況下にあると判断していれば、割込み制御部121は割込み出力113をアサートしない。逆にネットワーク101が通常通信状況下にあると判断していれば、割込み制御部121は割込み出力113をアサートし、CPU116に対して割込みを通知する(S012)。
【0080】
割込みを受けたCPU116は、RAM117から受信パケット内容を読み出しながら、所定の方法で処理する。この受信処理の結果、一例として制御装置の制御指令が求められ、制御装置102を制御する。
【0081】
割込み制御部121の判断は、所定の間隔における『パケットの受信による割込みの発生頻度』を基準に判断する方法や『外部からの通信状況の通知』が挙げられる。
【0082】
『パケットの受信による割込みの発生頻度』を評価指標とする場合を説明する。
【0083】
ネットワーク101からPHY114を介してパケットを受信すると、割込み制御部121へ割込み入力112のアサートによって割込み信号を出力する。
【0084】
この割込み入力112がアサートされた回数を割込み制御部121の記憶部である内部レジスタ(図示無し)で記憶する。
【0085】
割込み制御部121は予め定めた間隔で上記内部レジスタの値を予め定めた閾値と比較する。閾値の設定は、割込み制御部121内に不揮発性メモリを持ち、そこに初期値を保持する方法,外部からディップスイッチを通じて設定する方法が例示される。
【0086】
間隔の設定方法においても、閾値の設定方法と同様の方法が例示される。
【0087】
割込み制御部121は、予め定めた間隔で割込み入力112がアサートされた回数と上記予め定めた閾値とを比較する。この結果、アサートされた回数が閾値以上であれば、割込み制御部121は過剰通信状況下にあると判断する。この場合に割込み制御部121は、割込み入力112がアサートされても割込み出力113をアサートしないため、CPU116における受信パケットの処理は実行されない。
【0088】
アサートされた回数が閾値未満であれば、割込み制御部121は通常通信状況下にあると判断して、割込み入力112がアサートされると、割込み出力113をアサートしてCPU116に割込みを通知する。
【0089】
また、図5の実施形態に対して、割込み発生頻度を判断する回路を独立して持つ他の実施形態の一構成例を図7に示す。この判断回路130の一構成例を図8に示す。なお割込み入力112は負論理とする。
【0090】
図7におけるJUD141は、判断回路130の判断結果を割込み制御部140へと出力する信号線である。
【0091】
割込み制御部140は、JUD141がアサートされているとネットワーク101の通信状況の判断を過剰通信状況と判断し、JUD141がネゲートされていると通常通信状況と判断する。
【0092】
判断回路130において、インバータ131は、MAC115から出力された割込み入力112が負論理であり、かつ、積分回路で積分するために論理を反転する機能を有する。割込み入力112がアサートされている間、積分回路132は、入力された割込み入力112の電圧値を積分する。したがって、割込み入力112がアサートされている時間に比例した電荷が蓄積される。また、積分回路132に蓄積された電荷は周期的に0にクリアされる。
【0093】
比較回路134は、ネットワーク101の通信状況を判断するための閾値となる電圧値である基準電圧入力133と積分回路132の出力値を比較し、積分回路132の出力値の方が大きい場合はJUD141をアサートする。そうでなければJUD141をネゲートする。
【0094】
したがって、JUD141は、ネットワーク101が過剰通信状況下にあると判断しているときはアサートされる。
【0095】
割込み制御部140は、JUD141がアサートされている場合、割込み入力112がアサートされても割込み出力113をアサートしないため、CPU116における受信パケットの処理は実行されない。
【0096】
JUD141は、ネットワーク101が通常通信状況下にあると判断しているときはネゲートされる。JUD141がネゲートされていれば、割込み制御部140は通常通信状況下にあると判断し、割込み入力112がアサートされると割込み出力113を通じてCPU116に割込みを通知する。
【0097】
この場合は、判断回路130が図2の判断部107に相当し、割込み制御部140が図2の割込み制御部104に相当する。
【0098】
『外部から通信状況を通知』する場合を説明する。
【0099】
図7で示す割込み制御部140を用いた一構成例を図9に示す。
【0100】
図9におけるJUD141は、トグルスイッチ142の判断結果を割込み制御部140へと出力する信号線である。
【0101】
図9の構成ではトグルスイッチ142をオンにすると、JUD141はアサートされ、割込み制御部140は、ネットワーク101が過剰通信状況にあると判断する。トグルスイッチ142をオフにすると、JUD141はネゲートされ、割込み制御部140はネットワーク101が通常通信状況にあると判断する。この場合は、トグルスイッチ142が図2の判断部107に相当する。
【0102】
また、現在判断している通信状況を外部に出力する割込み制御部150を利用した一構成例を図10に示す。つまりネットワークの通信状況を表示する表示部を設けることで、監視者または装置の操作者がネットワークの通信状況をひと目で分かる効果を奏するものである。本実施例では表示部を発光ダイオード(LED(Light Emitting Diode))を用いた場合である。
【0103】
STS151は、割込み制御部150が現在判断している通信状況をLED152へと出力する信号線である。
【0104】
割込み制御部150は、図2における割込み制御部104と判断部107に相当する。
【0105】
割込み制御部150から出力されるSTS151は異常通信状況下と判断している場合にアサートされる。したがって、図10で示すように割込み制御部150とLED152とを接続することにより、STS151の信号レベルに基づいてLED152の点灯/消灯を行う。つまり情報処理装置から外部の監視者や操作者に対して割込み制御部150の判断結果が分かるように表示部に表示することが可能である。例えば、STS151が正論理であれば、割込み制御部150がネットワークを過剰通信状況と判断している場合に、LED152は点灯される。
【0106】
以上に示した実施方法によって、本発明を適用した情報処理装置100は、DoS攻撃や大量の通信アクセスに起因するネットワーク101の異常通信状況下では受信処理を停止する。この結果、通信処理に占有されることなく、接続された制御装置の制御を行うことができる。また、上記過剰通信状況が終了したときには自動的に受信処理を再開することができる。
【実施例2】
【0107】
図11は、Ethernet(登録商標)を有する情報処理装置上で、本発明をハードウェアで実装した場合の他の実施形態である。本実施例を用いたシステムの構成例は図1と同様である。
【0108】
実施例に使用する符号は、特に断りのない限り、実施例1で説明した機能や要素等と同一であることを意味する。
【0109】
図5の構成と異なる点としては、割込み制御部160は、バス119に接続している。また、MAC115からの割込みは割込み制御部160に通知されるように設定されている。割込み制御部160が図2の割込み制御部104と判断部107に相当する。割込み制御部160の制御フローは図6と同様である。
【0110】
割込み制御部160が判断に用いる評価指標は、予め定めた間隔における『受信パケットの処理時間の合計値』、予め定めた間隔における『パケットの受信による割込みの発生頻度』、ネットワーク101の通信状況を示す所定の『特殊パケットの受信』、および、これらを組み合わせた評価指標が例示される。
【0111】
次に各評価指標について詳細に説明する。
【0112】
『受信パケットの処理時間の合計値』を評価指標とする場合を説明する。
【0113】
通常通信状況下では、CPU116上で動作するOSが受信パケットを処理する。このため、割込み制御部160は、予め定めた間隔で受信パケットの処理時間の合計値、もしくは受信パケットの処理時間が所定の単位時間に占める割合をCPU116上で動作するOSから取得する。
【0114】
上記処理時間の合計値の計測方法を図12に示す。
【0115】
MAC115からRAM117に受信パケットが伝送されるとともに、MAC115は割込み制御部160に対して割込みを通知し、割込みを通知された割込み制御部160はCPU116に割込みを通知する(S020)。この割込みによって、OSでは割込みハンドラが起動されて受信パケットが処理される(S021)。この割込みハンドラの開始時間Stを記録する(S022)。時間は、CPUの内部タイマのカウンタ値を読み出してクロック周波数の逆数を乗じる方法やOSの提供する時間取得関数によって求めることができる。続いて、予め定めた間隔の開始時間Psが記録されているかを判断する(S023)。もしPsが記録されていなければ、PsをStとする(S024)。Psが記録されていれば、割込みハンドラの終了を待つ(S025)。その終了時間Etを記録する(S026)。割込みハンドラの開始時と終了時の時間の差分(Et−St)を計算して、処理時間の合計値Tに足し合わせる(S027)。
【0116】
割込みハンドラの終了時間と予め定めた間隔の開始時間との差分(Et−Ps)を計算し、これが予め定めた間隔のPt以上であるかを判断する(S028)。もし、Et−PsがPt以上であれば、それまでの処理時間の合計値Tを割込み制御部160に通知し、Tをクリアし、同時に、PsをEtとする(S029)。
【0117】
割込み制御部160は、通常通信状況下において、予め定めた時間間隔で上記受信パケットの処理時間の合計値、もしくは受信パケットの処理時間の単位時間に占める割合と予め定めた閾値とを比較する。もし、上記評価指標値が閾値以上であれば、ネットワーク101は過剰通信状況下にあると判断する。
【0118】
過剰通信状況下では、OSは受信パケットを処理しないため、受信パケットの処理時間にかかるネットワーク101の通信状況の判断をしない。あるいは、CPU116上で動作するOSが通信状況を判断する方法も例示される。この場合は、OSが図2の過剰通信判断部108に相当し、割込み制御部160は判断制御部110に相当する。OSで上記閾値を保持し、受信パケットの処理時間の合計値、もしくは受信パケットの処理時間の単位時間に占める割合が予め定めた閾値以上であれば、過剰通信状況下にあると判断する方法である。
【0119】
『パケットの受信による割込みの発生頻度』を評価指標とする場合を説明する。
【0120】
MAC115は、パケットの受信時にバス119を通じて割込み制御部160に割込みを通知する。バス119上の割込み信号線がアサートされた回数を割込み制御部160の内部レジスタで記憶する。
【0121】
割込み制御部160は予め定めた間隔で上記内部レジスタの値を予め定めた閾値と比較する。閾値と間隔の設定は、実施例1の割込み制御部121と同様の方法が例示される。
【0122】
割込み信号線がアサートされた回数と上記閾値との比較の結果、アサートされた回数が予め定めた閾値以上であれば、割込み制御部160は過剰通信状況下にあると判断する。アサートされた回数が閾値未満であれば、割込み制御部160は通常通信状況下にあると判断する。割込み制御部160は、内部レジスタで記憶している割込み信号線のアサート回数を定期的にクリアする。
【0123】
また、図8の判断回路130を用いて判断することも可能である。
【0124】
『特殊パケットの受信』を評価指標とする場合を説明する。
【0125】
本発明が適用される情報処理装置が含まれるシステムにおいて、事前に過剰通信状況および通常通信状況を示す特殊パケットを定義する。CPU116上で動作するOS(図示無し)において上記特殊パケットの受信を認識すると、その内容を識別して割込み制御部160に通知する。
【0126】
上記特殊パケットとして、図13に示すEthernet(登録商標)ヘッダのType項目を利用したEthernet(登録商標)フレームが挙げられる。このType項目はOSI参照プロトコルにおける物理層よりも上位のプロトコル層を指定するために用いられる。このType項目の予約されている値を2つ用いて、それぞれの番号を過剰通信状況と通常通信状況に割当てることで、通信状況を示すことができる。
【0127】
また、OSI参照モデルにおけるアプリケーション層にて、過剰通信状況と通常通信状況を示すフォーマットを定義することが可能である。フォーマットの一例を図14に示す。
【0128】
System ID170は、システム内におけるパケットの送信元の識別子を示す。
【0129】
Network Condition171は、ネットワーク101の通信状況を示し、例えば、2進数で00を通常通信状況、01を過剰通信状況と定義することが可能である。
【0130】
Points172は、Network Condition171で示される通信状況の度合いを示すものである。
【0131】
例えば、受信パケットの処理時間の合計値を通信状況の判断基準に用いる場合、その合計値をPoints172に当てはめることが可能である。
【0132】
CPU116上で稼動するOSは、図14に示す特殊パケットの受信を認識すると、その内容を解析して評価する。
【0133】
このとき、ネットワーク101の通信状況を判断する方法には、システム内で特殊パケットの送信者ごとに優先度をつけ、Points172と優先度ごとに定義される比例係数の積を、特殊パケットの数だけ足した合計値を予め定めた閾値と比較する方法が例示される。
【0134】
ここで図2の判断制御部110に相当する部分の割込み制御部160の通信状況を判断する状態遷移図を図15に示す。また状態遷移の判断に用いる評価方法を図16に示す。
【0135】
まず特殊パケットを受信する(S040)。受信パケットに記されているNetwork Condition171が現在の通信状況と同じかどうかを判断する(S041)。Network Condition171と現在の通信状況が同じであれば、System ID170に対応した算出方法で評価値を求める(S042)。一例として、Points172の値を利用する方法やSystem ID170 ごとに事前に定義した比例係数とPoints172の積を利用する方法が挙げられる。
【0136】
次に算出した評価値を内部変数に足し合わせる(S043)。この合計値と予め定めた閾値とを比較する(S044)。もし、合計値がその閾値以上である場合は、ネットワーク101の通信状況を遷移とする(S045)。この合計値は定期的にクリアされる。あるいは、OSではなく割込み制御部160が、MAC115からの割込みを通知されるとRAM117中のパケットを取得して、特殊パケットであると判断すると、その内容を解析して評価してもよい。この場合、Ethernet(登録商標)ヘッダのtype項目の識別や図14に示すアプリケーション層のパケットを識別することにより、システムで規定された特殊パケットであるかを判断し、図15,図16の手順により、ネットワーク101の通信状況を判断することが可能である。
【0137】
なお、これらの特殊パケットは、悪意のある第三者による偽造を防ぐため、認証機構を利用することが推奨される。認証機構の一例として、IPsec,PKI(Public Key Infrastructure)が例示される。また、認証された通信相手からの誤送信があった場合においても、『パケットの受信による割込みの発生頻度』や『外部からの通信状況の通知』を基準に通常通信状況を判断することによって、誤送信が続かない限り、短時間で受信処理を再開することが可能である。
【0138】
以上に示した実施方法によって、本発明を適用した情報処理装置は、DoS攻撃や大量の通信アクセスに起因するネットワーク101の異常通信状況下では受信処理を停止する。この結果、通信処理に占有されることなく、接続された制御装置の制御を行うことができる。実施例1と比較して、割込み制御部160がパケットの中身を識別し、また、CPU116上で動作するOSとデータのやりとりが可能なため、多様な判断基準でネットワーク101の通信状況を判断することが可能である。加えて、過剰通信が終了したときには自動的に受信処理を再開することができる。
【実施例3】
【0139】
図17は、本発明をソフトウェアで実装した場合の一実施形態を示す。本実施例を用いたシステムの構成例は図1と同様である。
【0140】
実施例に使用する符号は、特に断りのない限り、実施例1,実施例2で説明した機能や要素等と同一であることを意味する。
【0141】
CPU116上で動作するOSが図2の割込み制御部104と判断部107に相当する。
【0142】
OSは、さまざまな割込み要因によって割込みハンドラを起動させ、割込み要因に対応した処理ルーチンへと分岐する。もし、割込み要因がパケットの受信によるものであれば、パケットの受信に対応した処理ルーチンに分岐する。
【0143】
OSがネットワーク101の過剰通信状況を判断している状態では、パケットの受信による割込みがあった場合でも、パケットの受信に対応した処理ルーチンへは分岐しない。
【0144】
OSがネットワーク101の通常通信状況を判断している状態では、パケットの受信による割込みがあった場合は、パケットの受信に対応した処理ルーチンへ分岐する。
【0145】
OSが判断に用いる評価指標は、予め定めた間隔における『受信パケットの処理時間の合計値』、予め定めた間隔における『パケットの受信による割込みの発生頻度』、ネットワーク101の通信状況を示す予め定めた『特殊パケットの受信』、および、これらを組み合わせた評価指標が例示される。
【0146】
『受信パケットの処理時間の合計値』を評価指標とする場合を説明する。
【0147】
通常通信状況下では、CPU116上で動作するOSが図12に示す方法で、予め定めた間隔における受信パケットの処理時間の合計値、もしくは予め定めた単位時間に占める受信パケットの処理時間の割合を計測する。
【0148】
OSは、通常通信状況下において、予め定めた時間間隔で上記受信パケットの処理時間の合計値、もしくは受信パケットの処理時間の単位時間に占める割合と予め定めた閾値とを比較する。もし、上記評価指標値が閾値以上であれば、ネットワーク101は過剰通信状況下にあると判断する。
【0149】
過剰通信状況下では、OSはパケットの受信に対応した処理ルーチンへは分岐しないため、受信パケットの処理時間にかかるネットワーク101の通信状況の判断をしない。
【0150】
この場合、OSは図2の過剰通信判断部108に相当する。
【0151】
『パケットの受信による割込みの発生頻度』を評価指標とする場合を説明する。
【0152】
パケットの受信による割込みによって、受信パケットを処理する割込みハンドラが起動される。この起動回数をOS内部で保持しておき、予め定めた単位時間ごとに、起動回数が予め定めた閾値以上ではないかどうかを比較する。起動回数が閾値以上であれば、ネットワーク101が過剰通信状況下にあると判断する。起動回数が閾値未満であれば、通常通信状況下にあると判断する。
【0153】
ネットワーク101の通信状況を示す特殊パケットの受信を評価指標とする場合は、Ethernet(登録商標)ヘッダのType項目を利用する方法や図14に示す特殊パケットを識別することにより、図15,図16の手順により、ネットワーク101の通信状況を判断することが可能である。
【0154】
以上に示した実施方法によって、本発明を適用した情報処理装置は、DoS攻撃や大量の通信アクセスに起因するネットワーク101の異常通信状況下では受信パケットを処理するための割込みハンドラを起動しない。この結果、通信処理に占有されることなく、接続された制御装置の制御を行うことができる。また、実施例1,実施例2と比較して、CPU116上で動作するOS上で判断して割込みを制御するので、特別なハードウェアを必要としない。加えて、上記過剰通信が終了したときには自動的に受信処理を再開することができる。
【実施例4】
【0155】
図18は、スイッチング機能を有する集線装置であるスイッチングハブ180と実施例1,実施例2,実施例3で示したいずれかの情報処理装置181a〜dを用いた情報処理システムの構成を示す。実施例に使用する符号は、特に断りのない限り、実施例1,実施例2,実施例3で説明した機能や要素等と同一であることを意味する。
【0156】
集線装置であるスイッチングハブ180は情報処理装置181a〜dとネットワーク101と接続されて、各情報処理装置181a〜d間の通信と各情報処理装置181a〜dとネットワーク101間の通信を中継する。
【0157】
情報処理装置181a〜dは、それぞれ制御装置102a〜dを制御するとともにスイッチングハブ180を通して他の情報処理装置181a〜dやネットワーク101と通信する。
【0158】
なお、スイッチングハブ180に接続可能な情報処理装置181の数はスイッチングハブ180の性能に応じて決定される。また、スイッチングハブ180に接続される情報処理装置は、そのすべてが本発明を適用した情報処理装置ではなくても、本発明を適用した情報処理装置が1つあれば、本発明を適用した情報処理装置における効果が損なわれるものではない。
【0159】
図19は、集線装置であるスイッチングハブ180の内部構成の一実施形態である。
【0160】
入出力ポート186a〜eはそれぞれスイッチングバス185を通じて、通信制御部183と接続されており、1対1で接続されるスイッチングハブ180外部の通信相手との間でパケットの送受信を行う。図18の構成では、入出力ポート186a〜eは、それぞれ情報処理装置181a〜d、ネットワーク101と接続されている。通信制御部183はスイッチングバス185を通じて、入出力ポート186a〜eと接続され、また、宛先管理表184が格納された記憶部(図示無し)、通信監視部182のそれぞれと直接接続されている。宛先管理表は、宛先の識別子と、その宛先の識別子に対応する入出力ポート186a〜eの識別子との対応関係が示された宛先管理表であり、記憶部に記憶されている。
【0161】
通信制御部183は、入出力ポート186a〜eからスイッチングバス185を通じて伝送されたパケットのヘッダから宛先の識別子を取得し、宛先管理表184から、この宛先の識別子に対応する入出力ポート186a〜eのいずれかを特定し、その入出力ポート186a〜eのいずれかに対して、スイッチングバス185上にパケットを伝送する。また、通信制御部183は、入出力ポート186a〜eから伝送されたパケットを解析して、各種の情報を抽出し、通信監視部182に伝送する。このような情報には、パケットを受信した入出力ポート186a〜eの識別子、通信制御部183でパケットを受信した時刻,パケットを受信した回数,受信したパケットのデータサイズ,送信先の宛先の識別子等である。
【0162】
通信監視部182は、通信制御部183から伝送された、これらの情報に基づいて入出力ポート186a〜eの通信相手が過剰通信状況にあるかを定期的に判断する。過剰通信状況にあるかを判断する方法は、所定の間隔において、入出力ポート186a〜eごとに所定の閾値をもうけ、それぞれのポートで受信されたパケットサイズ、あるいは受信回数がその閾値を超えたかどうかをポートごとに判断する方法、それぞれのポートへ転送するパケットサイズ、あるいは転送回数がその閾値を超えたかどうかをポートごとに判断する方法が例示される。また、ポートごとに判断するのではなく、所定の間隔において、所定の閾値をもうけ、すべてのポートで受信されたパケットサイズの合計、あるいは受信回数の合計がその閾値を超えたかどうかを判断する方法、それぞれのポートへ転送するパケットサイズをすべてのポートで合計した値、あるいは転送回数をすべてのポートで合計した値がその閾値を超えたかどうかを判断する方法が例示される。この場合の判断結果は、過剰通信状況にあるかどうかを、すべてのポート全体で判断することとなる。過剰通信状況にあると判断した場合は、その判断結果と判断理由、どの通信相手が過剰通信状況にあるかという情報を通信制御部183に送信する。過剰通信状況にあると判断された、入出力ポート186a〜eの通信相手は一つとは限らない。
【0163】
通信監視部182から、この情報を受信した通信制御部183は所定の処理をする。この処理は、過剰通信状況にあると判断された通信相手を宛先とするパケットを廃棄する、過剰通信状況にあると判断された通信相手から受信したパケットを廃棄する、過剰通信状況にあると判断された入出力ポート186a〜eのいずれか以外の入出力ポート186a〜eに対して、Ethernet(登録商標)ヘッダのType項目を利用したEthernet(登録商標)フレームや図14で例示した特殊パケットを送信する、あるいは全ての入出力ポート186a〜eに対してEthernet(登録商標)ヘッダのType項目を利用したEthernet(登録商標)フレームや図14で例示した特殊パケットを送信する等の処理が例示される。過剰通信状況にあると判断した判断理由ごとに、通信制御部183の処理を変えてもよい。
【0164】
情報処理装置181a〜dはEthernet(登録商標)ヘッダのType項目を利用したEthernet(登録商標)フレームや図14で例示した特殊パケットを受信した場合、図15,図16に示す手順で異常通信状況下にあるかどうかを判断して、異常通信状況下にあると判断した場合は受信パケットの処理を停止する。
【0165】
情報処理装置181a〜dのいずれかにおいても、異常通信状況下と判断した場合はEthernet(登録商標)ヘッダのType項目を利用したEthernet(登録商標)フレームや図14で例示した特殊パケットを他の情報処理装置181にブロードキャストしてから、受信パケットの処理を停止する。
【0166】
以上に示した実施例によって、システムを構成するネットワークにおいて、本発明を適用した情報処理装置は、DoS攻撃や大量の通信アクセスに起因する異常通信状況下では受信パケットの処理を停止する。加えて、スイッチングハブ180が、中継転送するパケットを監視して過剰通信状況かどうかを判断することにより、安定で頑強なネットワークシステムを構成することが可能である。スイッチングハブ180が過剰通信状況であると判断した場合にEthernet(登録商標)ヘッダのType項目を利用したEthernet(登録商標)フレームや図14で例示した特殊パケットを情報処理装置181に送信して、実際に受信したパケットを処理するかどうかを各情報処理装置181に委譲することによって、通信制御をスイッチングハブ180のみに集中することを防ぐことができる。例えば、スイッチングハブ180が過剰通信状況時に実行可能な処理が通信を遮断する場合のみである場合、スイッチングハブ180が通信状況の判断を誤ると、接続されている情報処理装置181との通信が遮断される。本実施例の場合は、スイッチングハブ180が通信状況の判断を誤った場合でも、通信を遮断せずにEthernet(登録商標)ヘッダのType項目を利用したEthernet(登録商標)フレームや図14で例示した特殊パケットを送信するだけなので、情報処理装置181において正しい判断が下される可能性が残される。この結果、通信処理に占有されることなく、接続された制御装置を制御することができる。また、上記過剰通信が終了したときには自動的に受信処理を再開することができる。
【実施例5】
【0167】
図20は、複数のEthernet(登録商標)を有する情報処理装置上で、本発明をハードウェアで実装した場合の実施例である。
【0168】
実施例に使用する符号は、特に断りのない限り、実施例1,実施例2,実施例3,実施例4で説明した機能や要素等と同一であることを意味する。
【0169】
複数のネットワーク101a〜101dと接続し、パケットの送受信を行う複数の通信部である複数のPHY114a〜114d及び複数のMAC115a〜115dを備える。
【0170】
割込み制御部190は、バス119に接続している。また、MAC115a〜dからの割込み信号は割込み制御部190に通知されるように設定されている。また、割込み制御部190は、割込み信号を通知したMAC115a〜dを特定可能とする。特定方法としては、MAC115a〜dごとにバス119上の異なる割込み信号線を使って割込みを通知する方法が例示される。この方法により、割込み制御部190は割込みを通知されたバス119上の信号線を特定することで、その割込みがどのMAC115から通知されたかを識別することができる。
【0171】
割込み制御部190が図2の割込み制御部104と判断部107に相当する。バス119に接続可能なMAC115の数および割込み信号を通知したMAC115を特定する方法は、バス仕様に依存する。
【0172】
図21は、割込み制御部190の制御フローを示す。
【0173】
割込み制御部190は、MAC115a〜dによって割込み信号をアサートされる(S050)。割込み制御部190は、まず始めにMAC115a〜dの中からどれが割込み信号をアサートしたのかを特定する(S051)。それから、割込み信号がアサートされる要因はパケット受信以外にもあるため、割込み制御部190は、割込み信号をアサートしたMAC115a〜dいずれかの割込み状態レジスタ情報を取得する(S052)。
【0174】
このレジスタ情報から、割込み信号のアサート要因がパケットの受信によるものかどうかを判断する(S053)。この判断結果がアサート要因がパケットの受信によるものでなければ、CPU116に割込みを通知する(S055)。
【0175】
逆にアサート要因がパケットの受信によるものであれば、割込み信号をアサートしたMAC115a〜dのいずれかに接続されたネットワーク101a〜dのいずれかの通信状況を取得し、この判断状況が過剰通信状況かどうかを判断する(S054)。割込み制御部190は、所定の判断基準によって、上記ネットワーク101a〜dのいずれかが過剰通信状況下にあると判断している場合は、CPU116へは割込みを通知しない。割込み制御部190が、割込み信号をアサートしたMAC115a〜dのいずれかに該当するネットワーク101a〜dのいずれかが通常通信状況にあると判断している場合は、割込み制御部190はCPU116へ割込みを通知する(S055)。
【0176】
割込み制御部190が判断に用いる評価指標は、予め定めた間隔における『受信パケットの処理時間の合計値』、予め定めた間隔における『パケットの受信による割込みの発生頻度』、ネットワーク101の通信状況を示す所定の『特殊パケットの受信』、および、これらを組み合わせた評価指標が例示される。
【0177】
次に各評価指標について詳細に説明する。
【0178】
『受信パケットの処理時間の合計値』を評価指標とする場合を説明する。
【0179】
通常通信状況下では、CPU116上で動作するOSが図12に示す方法で、予め定めた間隔における受信パケットの処理時間の合計値、もしくは予め定めた単位時間に占める受信パケットの処理時間の割合を計測する。ただし、OSは、図12における処理時間の合計値TはMAC115の数だけ用意して、パケットを受信したMAC115毎にこれらの評価値を計測する。OSは、上記計測値を、該当するMAC115a〜dいずれかの識別子を付与して、割込み制御部190に通知する。
【0180】
割込み制御部190は、通常通信状況下において、予め定めた時間間隔で上記受信パケットの処理時間の合計値、もしくは受信パケットの処理時間の単位時間に占める割合と予め定めた閾値とを比較する。もし、上記評価指標値が閾値以上であれば、該当するネットワーク101a〜dのいずれかは過剰通信状況下にあると判断する。
【0181】
過剰通信状況下では、OSは受信パケットを処理しないため、受信パケットの処理時間にかかるネットワーク101の通信状況の判断をしない。
【0182】
この場合、割込み制御部190は図2の過剰通信判断部108に相当する。
【0183】
『パケットの受信による割込みの発生頻度』を評価指標とする場合を説明する。
【0184】
パケットの受信による割込みはMAC115a〜dからバス119を通じて割込み制御部190に通知される。このとき、MAC115a〜dから割込み制御部190への割込みは割込み信号のアサートによって通知される。
【0185】
割込み信号がアサートされた回数を割込み制御部190の内部レジスタ(図示無し)でMAC115a〜dごとに記憶する。
【0186】
割込み制御部190は予め定めた間隔で上記内部レジスタの値と予め定めた閾値とを比較する。閾値と間隔の設定は、実施例1の割込み制御部121と同様の方法が例示される。
【0187】
割込み信号がアサートされた回数と上記閾値との比較の結果、アサートされた回数が所定の閾値以上であれば、割込み制御部190は過剰通信状況下にあると判断する。アサートされた回数が閾値未満であれば、割込み制御部190は通常通信状況下にあると判断する。
【0188】
ネットワーク101a〜dの通信状況を示す所定の『特殊パケットの受信』を評価指標とする場合はEthernet(登録商標)ヘッダのtype項目を利用する方法や図14に示すアプリケーション層の特殊パケットを識別することにより、図15,図16の手順により、ネットワーク101の通信状況を判断することが可能である。ただし、これらの判断手順はネットワーク101a〜dとそれぞれに接続されたMAC115a〜dごとに判断する。
【0189】
割込み制御部190はMAC115の数に対応した上記評価指標値の内部保存場所が必要である。例えば、受信パケットの処理時間の合計値を評価指標とする場合で、MAC115の数がn枚であるとすると、割込み制御部190は受信パケットの処理時間の合計値をMAC115ごとに保存するためにn個の内部レジスタと閾値レジスタ(図示無し)が必要である。閾値レジスタを共通にして、1つにすることも可能である。
【0190】
図22は、図20に示す本発明を適用した情報処理装置をホームサーバとする情報処理システムの一実施形態を示す。
【0191】
第一の情報処理装置200は、図20に示す本発明を適用した情報処理装置100であり、ホームネットワーク203とネットワーク101間の通信を中継する。
【0192】
ホームネットワーク203は、第一の情報処理装置200と複数の第二の情報処理装置201a〜c,情報家電202a〜cで構成されるネットワークである。
【0193】
複数の第二の情報処理装置201a〜cは、それぞれ接続された情報家電202a〜cの制御と監視を行う情報処理端末である。第二の情報処理装置201a〜cは、第一の情報処理装置200と接続しており、情報家電202a〜cの稼動情報を第一の情報処理装置200に通知し、かつ、第一の情報処理装置200からの制御指令を接続された情報家電202a〜cに通知する。なお、第二の情報処理装置が情報家電に含まれていてもよい。
【0194】
第二の情報処理装置の一実施例として監視端末が例示される。情報家電202a〜cの稼動情報としては、消費電力量,稼動時間,稼動しているかどうか、温度,動作履歴,ソフトウェアのバージョン等が例示される。また、第一の情報処理装置200からの制御指令としては、電源オン,電源シャットダウン,情報家電202固有の動作開始,動作停止,ソフトウェアのアップグレード等が例示される。
【0195】
第一の情報処理装置200は、第二の情報処理装置201a〜cから取得された情報を一時的に蓄えるとともに、これに所定の情報処理を行い、所定の間隔でネットワーク101に接続されたサービスセンター204に送信する。サービスセンター204は、第一の情報処理装置200から上記の稼動情報を取得して解析し、ネットワーク101を通じて所定のサービスを提供する。このサービスには遠隔監視サービスや遠隔保守点検サービスやソフトウェアのアップグレードサービスが例示される。
【0196】
以上の実施例により、ネットワーク101から第一の情報処理装置200に対して、DoS攻撃等を理由とする過剰通信状況となった場合、本発明では過剰通信状況と判断したらネットワーク101および第二の情報処理装置201からの受信パケットを処理しないが、通常通信状況にあると、ひとつまたは複数の第二の情報処理装置201に該当する情報家電202a〜cの稼動情報は引き続き蓄積することが可能である。
【0197】
ネットワーク101における過剰通信状況が終了したときに、蓄積したデータをネットワーク101に向けてサービスセンター204に送信することが可能である。これにより、ネットワーク101が過剰通信状況になっている間の蓄積されたデータを活用して、引き続きサービスの提供を再開することが可能である。
【実施例6】
【0198】
図23は、本発明をEthernet(登録商標)を有するハードウェアとして実装した場合の実施例である。本実施例を用いたシステムの構成例は図1と同様である。
【0199】
実施例に使用する符号は、特に断りのない限り、実施例1〜5で説明した機能や要素等と同一であることを意味する。
【0200】
割込み制御部210は、割込み入力211の信号線を通じてCPU116と、割込み出力212の信号線を通じてMAC115と接続されている。
【0201】
図24に、パケットを送信した場合の動作フローを示す。
【0202】
CPU116上で動作するOSが正常なパケットを送信すると、S060にて、割込み入力211をアサートし、送信パケットをMAC115に伝送する。
【0203】
割込み制御部210は、割込み入力211がアサートされたことを判断すると、割込み制御部210はCPU116上で動作するOSの送信状況を判断する(S061)。過剰通信状況と判断していれば、割込み制御部210は割込み出力212をアサートしない(S061)。これに対して、通常通信状況下にあると判断している場合は、割込み出力212をアサートする(S062)。
【0204】
MAC115は、割込み出力212がアサートされたことを機にパケットをPHY114へ送信する。
【0205】
割込み制御部210が判断に用いる評価指標は、予め定めた間隔における『送信パケットの処理時間の合計値』、予め定めた間隔における『パケットの送信による割込みの発生頻度』、および、これらを組み合わせた評価指標が例示される。
【0206】
『送信パケットの処理時間の合計値』を評価指標とする場合を説明する。
【0207】
通常通信状況下では、CPU116上で動作するOSが送信パケットを処理する。このため、割込み制御部210は、予め定めた間隔で送信パケットの処理時間の合計値、もしくは送信パケットの処理時間が所定の単位時間に占める割合を、CPU116上で動作するOSから取得する。
【0208】
評価指標値である送信パケットの処理時間の計測方法を図25に示す。
【0209】
CPU116上で動作するOSのアプリケーションがネットワークへの送信ルーチンを呼び出す(S070)。OSが呼び出した送信ルーチンを開始する(S071)。その開始時間St2を記録する(S072)。時間の計測は、CPUの内部タイマのカウンタ値を読み出してクロック周波数の逆数を乗じる方法やOSが提供する時間取得関数によって求めることができる。続いて、予め定めた間隔の開始時間Ps2が記録されているかを判断する(S073)。もしPs2が記録されていなければ、Ps2をSt2とする(S074)。Ps2が記録されていれば、送信ルーチンが終了するのを待つ(S075)。その終了時間Et2を記録する(S076)。送信ルーチンの開始時と終了時の時間の差分(Et2−St2)を計算して、処理時間の合計値T2に足し合わせる(S077)。
【0210】
次に送信ルーチンの終了時間と予め定めた間隔の開始時間との差分(Et2−Ps2)を計算し、これが間隔のPt2以上であるかを判断する(S078)。もし、Et2−Ps2がPt2以上であれば、それまでの処理時間の合計値T2を割込み制御部210に通知し、T2をクリアし、Ps2をEt2とする(S079)。Et2−Ps2がPt2未満であれば、終了する。
【0211】
通常通信状況下において、割込み制御部210は上記送信パケットの処理時間の合計値、もしくは送信パケットの処理時間の単位時間に占める割合が予め定めた閾値以上であれば、過剰通信状況下にあると判断する。
【0212】
予め定めた間隔における『パケットの送信による割込みの発生頻度』を評価指標とする場合を説明する。
【0213】
パケットの送信による割込みはMAC115から割込み制御部210を通じてPHY114に通知される。このとき、MAC115から割込み制御部210への割込みは割込み入力211のアサートによって通知される。
【0214】
割込み入力211がアサートされた回数を割込み制御部210の内部レジスタで記憶する。割込み制御部210は予め定めた間隔で上記内部レジスタの値を予め定めた閾値とを比較する。閾値と間隔の設定は、実施例1の割込み制御部121と同様の方法が例示される。
【0215】
割込み入力211がアサートされた回数と上記閾値との比較の結果、アサートされた回数が予め定めた閾値以上であれば、割込み制御部210は、情報処理装置100が過剰通信状況下にあると判断して、CPU116から割込み入力211がアサートされても割込み出力212をアサートしない。
【0216】
アサートされた回数が閾値未満であれば、割込み制御部210は、情報処理装置100が通常通信状況下にあると判断して、CPU116からの割込み入力211がアサートされると、割込み出力212をアサートする。
【0217】
また、図8の入力を割込み入力112から割込み入力211に置き換えることで、割込み発生頻度を評価指標とする判断を実行可能である。
【0218】
以上に示した実施方法によって、本発明を適用した情報処理装置100は、CPU116上で動作するOSがコンピュータウィルスに感染してDoS攻撃を実行しても情報処理装置100の異常通信状況下では送信処理を停止する。この結果、ネットワーク101の通信負荷を増加することなく、ネットワーク101に接続された他の情報処理装置への影響を軽減することができる。また、上記過剰通信状況が終了したときには自動的に送信処理を再開することができる。
【実施例7】
【0219】
図26は本発明を適用した情報処理装置を用いた情報処理システムの一実施形態例である。情報処理装置100は、ネットワーク101,データ入力部220,データ出力部221と、それぞれ接続している。
【0220】
図27は、図26の情報処理装置100の内部構成の一実施形態である。
【0221】
実施例に使用する符号は、特に断りのない限り、実施例1,実施例2,実施例3,実施例4,実施例5,実施例6で説明した機能や要素等と同一であることを意味する。
【0222】
データ入力部220は、データ入力制御部222と接続しており、外部から、情報処理装置100に対して、データを入力するために用いられる。入力されたデータは、データ入力制御部222に伝送される。なお、データ入力部220が、情報処理装置100に含まれていても、本発明の効果が損なわれるものではない。データ入力部220の実施例としては、マウス,キーボード,ジョイスティック,操作盤,タッチパネル等が例示される。
【0223】
データ入力制御部222は、データ入力部220と接続しており、バス119と接続している。データ入力部220から入力されたデータをバス119に対して、データが入力されたことを示す割込み信号をアサートし、CPU116に対して、入力されたデータを伝送する。
【0224】
データ出力部221は、データ出力制御部223と接続しており、情報処理装置100から出力されたデータを出力するために用いられる。なお、データ出力部221が、情報処理装置100に含まれていても、本発明の効果が損なわれるものではない。データ出力部の実施例としては、ディスプレイ,プリンタ等が例示される。
【0225】
データ出力制御部223は、データ出力部221と接続しており、バス119と接続している。CPU116から出力されたデータをデータ出力部221に伝送する。
【0226】
操作者は、データ入力部220から任意のデータを入力し、CPU116、またはCPU116上で動作するOSを利用して、所定の情報処理を行い、必要に応じてデータ出力部221に処理結果を出力する。これらの動作の具体例としては、電子文書の作成とその書面の表示、計算シミュレータの実行とそのシミュレーション結果の印刷等が挙げられる。また、必要に応じて、ネットワーク101を利用する。その具体例としては、電子メールの送受信,ウェブブラウジング,シミュレーションデータの送受信である。
【0227】
以上の実施例により、ネットワーク101から情報処理装置100に対して、DoS攻撃等を理由とする過剰通信状況となった場合、本発明では過剰通信状況と判断したらネットワーク101からの受信パケットを処理しないため、通信処理に占有されることなく、情報処理装置100を利用した情報処理を行うことが可能である。
【0228】
また、ネットワーク101における過剰通信状況が終了したときには、ネットワーク101を利用した情報処理を再開することが可能である。
【符号の説明】
【0229】
100,181,200 情報処理装置
101 ネットワーク
102 制御装置
103 通信部
104,121,140,150,160,190,210 割込み制御部
105 データ処理部
106 制御装置通信部
107 判断部
108 過剰通信判断部
109 通常通信判断部
110 判断制御部
111 計時部
112,211 割込み入力
113,212 割込み出力
114 PHY
115 MAC
116 CPU
117 RAM
118 不揮発性記憶媒体
119 バス
120 シリアルインターフェース
130 判断回路
131 インバータ
132 積分回路
133 基準電圧入力
134 比較回路
141 JUD
142 トグルスイッチ
151 STS
152 LED
170 System ID
171 Network Condition
172 Points
180 スイッチングハブ
182 通信監視部
183 通信制御部
184 宛先管理表
185 スイッチングバス
186 入出力ポート
201 第二の情報処理装置
202 情報家電
203 ホームネットワーク
204 サービスセンター
220 データ入力部
221 データ出力部
222 データ入力制御部
223 データ出力制御部
L001〜L010 信号線

【特許請求の範囲】
【請求項1】
ネットワークと接続して用いられ、制御装置を制御する情報処理装置において、
ネットワークからパケットを送受信し、割込み信号を生成する通信部と、
受信したパケットを処理するとともに、制御装置を制御する制御指令値を生成するデータ処理部と、
前記データ処理部への前記割込み信号の出力を制御する割込み制御部と、
前記通信部と前記データ処理部と前記割込み制御部の少なくとも1つから出力された通信に関する情報に基づいて、ネットワークが過剰通信状況下にあるか、通常通信状況下にあるかを判断し、判断結果を前記割込み制御部に出力する判断部と、を有し、
前記割込み制御部は、前記判断部から入力された前記判断結果に基づいて、ネットワークが過剰通信状況にあるとの判断結果の場合、前記割込み制御部から前記データ処理部への割込み信号の出力を停止し、ネットワークが通常通信状況にあるのと判断結果の場合、前記割込み制御部から前記データ処理部への割込み信号を出力し、
前記データ処理部は、前記割込み信号が入力された場合に前記通信部から受信したパケットを処理し、
前記判断部は、前記ネットワークの過剰通信状況を判断する過剰通信判断部と、前記ネットワークの通常通信状況を判断する通常通信判断部と、前記過剰通信判断部及び前記通常通信判断部の判断情報に基づいてネットワークの通信状況の判断結果を決定し、決定された判断結果を前記割込み制御部に出力する判断制御部と、
前記通信部および前記割込み制御部は、受信パケットによる割込みの発生頻度を計測し、前記判断制御部は、前記通信部および前記割込み制御部で計測された前記割込みの発生頻度が予め定められた閾値以上である場合、前記過剰通信判断部がネットワークは過剰通信状況下にあると判断し、前記割込みの発生頻度が予め定められた閾値未満である場合、前記通常通信判断部がネットワークは通常通信状況下にあると判断する情報処理装置。
【請求項2】
請求項1記載の情報処理装置において、
前記通信部または前記データ処理部は、ネットワークから受信されたパケットが、ネットワークの通信状況が示された特殊パケットであると判断した場合、前記特殊パケットが過剰通信状況を示しているのか、通常通信状況を示しているのかを判断し、判断結果を前記判断部に出力する情報通信装置。
【請求項3】
請求項1記載の情報処理装置において、
前記判断部は、前記通信部を介して受信されたパケットによる割込みの間、高電位となる電圧信号の電圧値を積分し、積分された出力値と予め定められた基準電圧値とを比較し、前記積分された出力値が前記基準電圧値より大きい場合は、前記割込み制御部に出力する判断結果をアサートし、前記積分された出力値が前記基準電圧値以下の場合は、前記割込み制御部に出力する判断結果をネゲートする情報制御装置。
【請求項4】
請求項1記載の情報処理装置において、
前記判断部は、スイッチであり、スイッチがオンである場合、前記割込み制御部へ出力する判断結果はアサートされ、スイッチがオフである場合、前記割込み制御部へ出力する判断結果はネゲートされ、
前記割込み制御部は、入力された判断結果がアサートされている場合は、前記ネットワークは過剰通信状況であると判断し、入力された判断結果がネゲートされている場合は、前記ネットワークは通常通信状況であると判断する情報処理装置。
【請求項5】
請求項1記載の情報処理装置において、
前記ネットワークの通信状況を表示する表示部を有し、
前記割込み制御部は、前記ネットワークの通信状況の判断結果を前記表示部に出力する情報処理装置。
【請求項6】
請求項5記載の情報処理装置において、
前記表示部は、発光ダイオードであり、前記ネットワークが過剰通信状況である場合に点灯する情報処理装置。
【請求項7】
複数の制御装置を制御し、それぞれ固有の識別子が付加された複数の情報処理装置と、 ネットワーク及び前記複数の情報処理装置と接続された集線装置と、を有し、
前記集線装置は、
前記ネットワーク及び前記複数の情報処理装置と接続し、パケットの送受信をする複数の入出力ポートと、
前記複数の情報処理装置に付加された識別子と前記識別子に対応する前記複数の入出力ポートの識別子との対応関係が記された宛先管理表が記憶された記憶部と、
前記複数の入出力ポートから受信されたパケットに示された宛先の識別子から、前記宛先管理表に基づいて対応する入出力ポートの識別子を特定し、特定された入出力ポートへ受信されたパケットを送信する通信制御部と、
パケットを送信する前記入出力ポートの通信相手が過剰通信状況にあるのか通常通信状況にあるのかを判断する通信監視部と、を有し、
前記通信制御部は、パケットが受信された場合、パケットの受信情報を前記通信監視部へ出力し、
前記通信監視部は、前記受信情報に基づいて前記入出力ポートの通信相手が過剰通信状況にあるのか通常通信状況にあるのかを判断し、判断結果を前記通信制御部に出力し、
前記通信制御部は、前記通信監視部から受信された前記判断結果に基づいて、パケットを送信する前記入出力ポートの通信相手が過剰通信状況である場合、前記通信相手を宛先とするパケットを廃棄する、または前記通信相手から受信されたパケットを廃棄する情報処理システム。
【請求項8】
請求項7記載の情報処理システムにおいて、
前記パケットの受信情報は、受信された入出力ポートの識別子,前記パケットを受信した時刻,前記パケットを受信した回数,受信したパケットのデータサイズ,通信相手の識別子の少なくともいずれか1つの情報である情報処理システム。
【請求項9】
請求項8記載の情報処理システムにおいて、
前記通信監視部は、前記パケットの受信情報に基づいて、前記複数の入出力ポートのそれぞれの入出力ポート毎にパケットを送信する前記入出力ポートの通信相手が過剰通信状況であるかどうかを判断する情報処理システム。
【請求項10】
請求項9記載の情報処理システムにおいて、
前記通信監視部は、前記複数の入出力ポートすべてで受信されたパケットのデータサイズの合計、あるいはパケットを受信した回数の合計が、予め定めた閾値を超えたかどうかを判断して前記入出力ポートの通信相手が過剰通信状況であるかどうかを判断する情報処理システム。
【請求項11】
請求項10記載の情報処理システムにおいて、
前記通信監視部は、前記複数の入出力ポートそれぞれへ転送されたパケットのデータサイズの合計、あるいはパケットを転送した回数の合計が、予め定めた閾値を超えたかどうかを判断して前記入出力ポートの通信相手が過剰通信状況であるかどうかを判断する情報処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2010−154576(P2010−154576A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2010−86655(P2010−86655)
【出願日】平成22年4月5日(2010.4.5)
【分割の表示】特願2007−29941(P2007−29941)の分割
【原出願日】平成19年2月9日(2007.2.9)
【出願人】(502129933)株式会社日立産機システム (1,140)
【Fターム(参考)】