(57)【要約】  ホワイトリスト機能によるセキュリティ向上と、ネットワーク冗長化機能によるネットワークの信頼性向上を同時に実現すること。  パケット中継装置１００は、パケット受信部２００、パケット転送部３００、Ｓ／Ｗ制御部４００、パケット送信部５００、入出力インタフェース６００を備え、許容された通信規則を含むホワイトリストを自動生成する。データを受信するデータ受信部２００毎に、ホワイトリストを用いた通信制御を行うか、ホワイトリストを用いずにデータ通信を実施するかを選択できる。
2017073089.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
冗長化されたネットワークに接続されたポート又はリングポート又は障害時に経路切替が発生する可能性があるポートを有し、転送を許可された通信データの一覧であるホワイトリストの生成及び制御の対象外に予め設定された第１受信部と、
他の装置に接続されたポート又はエッジポート又は障害時に経路切替が発生し得ないポートを有し、ホワイトリストの生成及び制御の対象に予め設定された第２受信部と、
前記通信装置がホワイトリスト生成状態に予め設定されている場合、前記第１受信部を介して通信データを受信したと判断すると、予め定められた転送先に通信データを転送する転送部と、
前記通信装置がホワイトリスト生成状態に予め設定されている場合、前記転送部により前記第２受信部を介して通信データを受信したと判断すると、受信された通信データに基づきホワイトリストを生成及び記憶し、前記転送部により予め定められた転送先に通信データを転送させるための、制御部と、
を備えた通信装置。
【請求項２】
請求項１に記載の通信装置において、
ひとつ又は複数の前記第１受信部をホワイトリストの生成及び制御の対象外に、ひとつ又は複数の前記第２受信部をホワイトリストの生成及び制御の対象に、予め設定した転送設定メモリ
をさらに備え、
前記通信装置がホワイトリスト生成状態に予め設定されている場合、
前記転送部は、前記転送設定メモリを参照し、通信データを受信した受信部がホワイトリストの生成及び制御の対象である前記第２受信部か、対象外である前記第１受信部かを判断し、
前記転送部は、前記第２受信部が通信データを受信したと判断すると、前記第２受信部が受信した通信データのヘッダ情報を前記制御部に送信し、
前記制御部は、ヘッダ情報によりホワイトリストを生成してホワイトリスト格納メモリに記憶し、
前記転送部は、前記第２受信部を介して受信した通信データを、予め定められた転送先に転送する
ことを特徴とする通信装置。
【請求項３】
請求項２に記載の通信装置において、
前記通信装置が運用状態に予め設定されている場合、
前記転送部は、前記転送設定メモリを参照し、通信データを受信した受信部がホワイトリスト対象である前記第２受信部か、対象外である前記第１受信部であるかを判断し、
前記転送部は、前記第２受信部が通信データを受信したと判断すると、前記第２受信部を介して受信した通信データのヘッダ情報が、前記ホワイトリスト格納メモリに格納されているか否かを判定し、
格納されている場合、前記転送部は、前記第２受信部を介して受信した通信データを、ヘッダ情報に従い、予め定められた転送先に転送し、
格納されていない場合、前記転送部は、予め定められた廃棄又は通過の情報に従い、それぞれ、通信データを廃棄する又は通信データを予め定められた転送先に転送し、
一方、
前記転送部は、前記第１受信部が通信データを受信したと判断すると、前記第１受信部を介して受信した通信データを、予め定められた転送先に転送する
ことを特徴とする通信装置。
【請求項４】
請求項１に記載の通信装置において、
前記制御部は、
前記第１受信部に接続されたリンクのリンクダウンを検知すると、前記第１受信部の状態を閉塞に変更し、前記第１受信部に接続されたリンクのリンクアップを検知しても前記第１受信部の状態を変更せず、外部からの開放指示を受け付けると、前記第１受信部の状態を開放に変更することを特徴とする通信装置。
【請求項５】
請求項４に記載の通信装置において、
前記制御部は、
前記第２受信部に接続されたリンクのリンクダウンを検知すると、前記第２受信部の状態を閉塞に変更し、前記第２受信部に接続されたリンクのリンクアップを検知すると、前記第２受信部の状態を開放に変更することを特徴とする通信装置。
【請求項６】
請求項１に記載の通信装置において、
ひとつ又は複数の前記第１受信部を再生成有りに、ひとつ又は複数の前記第２受信部を再生成無しに、予め設定した転送設定メモリ
をさらに備え、
前記転送設定メモリは、さらに、ひとつ又は複数の前記第１受信部もホワイトリストの生成及び制御の対象に予め設定し、前記制御部は、前記転送部によりひとつ又は複数の前記第１受信部を介して受信された通信データに基づきホワイトリストを生成及び記憶し、
前記制御部は、冗長化されたネットワーク上の障害を検知すると、前記転送設定メモリを参照し、ひとつ又は複数の前記第１受信部についてのホワイトリストを削除し、前記通信装置をホワイトリストの再生成状態に設定し、ホワイトリストの再生成を実行する
ことを特徴とする通信装置。
【請求項７】
請求項６に記載の通信装置において、
前記転送部は、通信データを受信し、前記通信装置が再生成状態に設定されている場合、且つ、前記転送設定メモリを参照して通信データを受信した受信部が前記第１受信部であると判断した場合、通信データのヘッダ情報を前記制御部に送信し、前記制御部は、ヘッダ情報からホワイトリストの再生成及び記憶を実行し、
前記転送部は、前記通信装置が再生成状態に設定されていない場合、又は、前記転送設定メモリを参照して通信データを受信した受信部が前記第２受信部であると判断した場合、通信データをホワイトリストにより通信制御する
ことを特徴とする通信装置。
【請求項８】
請求項３に記載の通信装置において、
前記転送部は、
転送を制御する転送先決定部と、
転送先情報が保存されている転送テーブルメモリと、
前記ホワイトリスト格納メモリと、
前記転送設定メモリと、
を備え、
前記転送設定メモリは、さらに、ホワイトリスト機能を用いるか否かのモードを予め設定し、登録外廃棄／通過を予め設定し、
前記転送先決定部は、
前記転送設定メモリを参照し、モードの設定に基づきホワイトリストを用いた通信制御を実施するか否かを制御し、
前記転送設定メモリを参照し、登録外廃棄／通過設定に基づき、ホワイトリストに登録外のデータ通信を廃棄するか転送するかを制御する
ことを特徴とする通信装置。
【請求項９】
通信システムであって、
前記冗長化されたネットワークは、リングプロトコル、又は、スパニングツリープロトコルで動作し、
前記冗長化されたネットワークの各ノードに請求項１に記載された通信装置が設けられている
ことを特徴とする通信システム。
【請求項１０】
通信方法であって、
冗長化されたネットワークに接続されたポート又はリングポート又は障害時に経路切替が発生する可能性があるポートを有する第１受信部を、転送を許可された通信データの一覧であるホワイトリストの生成及び制御の対象外に予め設定し、
他の装置に接続されたポート又はエッジポート又は障害時に経路切替が発生し得ないポートを有する第２受信部を、ホワイトリストの生成及び制御の対象に予め設定し、
通信装置がホワイトリスト生成状態に予め設定されている場合、前記第１受信部を介して通信データを受信したと判断すると、予め定められた転送先に通信データを転送し、
前記通信装置がホワイトリスト生成状態に予め設定されている場合、前記第２受信部を介して通信データを受信したと判断すると、受信された通信データに基づきホワイトリストを生成及び記憶し、予め定められた転送先に通信データを転送させるための、
通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及びシステム及び方法に関する。
【背景技術】
【０００２】
近年、発電所などの重要インフラ内のネットワークに攻撃者が侵入し、システムの制御が奪われることがないような対策が必要である。重要インフラのネットワークにおいては、ファイアウォール装置、及びパーソナルコンピュータ等の端末に搭載されているウィルスソフト等による防御対策は実施されているが、システム制御を奪おうとする攻撃者の侵入を防ぐために、より強力な対策が必要とされる。攻撃者に侵入された際のリスクを軽減する手法として、ホワイトリスト機能を利用する方法がある。ホワイトリスト機能は、ネットワークを流れる正規通信内情報に含まれる正規端末情報をホワイトリスト収容装置に登録し、ホワイトリスト収容装置に登録された正規端末以外からの非正規通信を遮断することでセキュリティレベルを高める機能である。
本技術の背景分野として、特開２０１５−０５０７６７号公報（特許文献１）及び特開２００９−２３９５２５号公報（特許文献２）がある。
特許文献１には、「ネットワークスイッチは、許容された通信規則を含むホワイトリストが予め格納され、ホワイトリストを基盤として、複数のスイッチインタフェースを介して入力された１つ以上のパケットを監視し、ホワイトリストに従うパケットに対しては通信を許容するホワイトリスト監視部と、ホワイトリストをアップデートさせてホワイトリスト監視部に送るホワイトリスト管理部とを含む。」と記載されている（要約参照）。
特許文献２には、「パケットフィルタリング装置は、ＳＩＰサーバから送信されたパケットを受信し、受信したパケットが、ＳＩＰクライアントから所定の間隔で送信される認証要求に対する応答であるか否かを判定し、認証要求に対する応答であると判定され、当該パケットの送信元情報がホワイトリストに記憶されていない場合に、当該パケットの送信元情報を取得してホワイトリストに格納する。そして、パケットフィルタリング装置は、ネットワークに輻輳が発生していると検出した場合に、ネットワーク上のパケットを受信し、当該受信されたパケットのうち、ホワイトリストに送信元が記憶されているパケットを、ホワイトリストに送信元が記憶されていないパケットよりも優先して送信先に転送する。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０５０７６７号公報
【特許文献２】特開２００９−２３９５２５号公報
【非特許文献】
【０００４】
【非特許文献１】「アラクサラリング活用ガイド」、１．３  用語解説  (https://www.alaxala.com/jp/techinfo/archive/guide/pdf/N08R038_Ring_U-Guide_V1R0.pdf)
【非特許文献２】「AX7800S・AX5400Sソフトウェアマニュアル  解説書 Vol.1」、８．１．３  スパニングツリートポロジーの構成要素（（１）ルートブリッジ・指定ブリッジ、（２）ルートポート・指定ポート）、８．５．１エッジポート  (https://www.alaxala.com/jp/techinfo/archive/manual/AX5400S/HTML/10_10_/APGUIDE/0001.HTM)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ネットワークの経路冗長化を実現するために、通信装置を複数配置し、一般的な経路冗長化プロトコル(例えばリングプロトコル(非特許文献１参照)、スパニングツリープロトコル等)を使用して実施する場合、ネットワーク上のいずれかの通信装置や通信ケーブルに障害が発生し現状態での通信が継続出来なくなった場合、通信経路の切替を実施し、通信を継続させる。
特許文献１に記載の技術において、ネットワークスイッチは、前述した場合における攻撃を阻止するために、送信元、送信先、及びプロトコル等の複数種類の情報からなるエントリが登録されたホワイトリストをネットワークスイッチが持つインタフェース単位に保持する。各エントリに含まれる情報は事前に各インタフェースについて設定するものであるが、前述したホワイトリストと使用しつつ、前述したネットワークの冗長化を実現するためには、経路の切替が発生する可能性のある全てのインタフェースについて、同じホワイトリストを重複して登録しておかなくてはならない。特許文献２に記載のホワイトリストを自動生成する技術を用いたとしても、擬似的に障害を発生されるなどして事前に経路切替のパターンを全て実施し、ホワイトリストを生成しなければならない。そのため、経路切替パターンが増加すればするほど、装置内のメモリ消費量も増加し、設定や経路の切替を実施するための労力も増加するという課題がある。【０００６】
本発明は、以上の点に鑑み、ホワイトリスト機能によるセキュリティ向上と、ネットワーク冗長化機能によるネットワークの信頼性向上を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の解決手段によると、
通信装置であって、
冗長化されたネットワークに接続されたポート又はリングポート又は障害時に経路切替が発生する可能性があるポートを有し、転送を許可された通信データの一覧であるホワイトリストの生成及び制御の対象外に予め設定された第１受信部と、
他の装置に接続されたポート又はエッジポート又は障害時に経路切替が発生し得ないポートを有し、ホワイトリストの生成及び制御の対象に予め設定された第２受信部と、
前記通信装置がホワイトリスト生成状態に予め設定されている場合、前記第１受信部を介して通信データを受信したと判断すると、予め定められた転送先に通信データを転送する転送部と、
前記通信装置がホワイトリスト生成状態に予め設定されている場合、前記転送部により前記第２受信部を介して通信データを受信したと判断すると、受信された通信データに基づきホワイトリストを生成及び記憶し、前記転送部により予め定められた転送先に通信データを転送させるための、制御部と、
を備えた通信装置が提供される。【０００８】
本発明の第２の解決手段によると、
通信システムであって、
前記冗長化されたネットワークは、リングプロトコル、又は、スパニングツリープロトコルで動作し、
前記冗長化されたネットワークの各ノードに、上述のような通信装置が設けられていることを特徴とする通信システムが提供される。【０００９】
本発明の第３の解決手段によると、
通信方法であって、
冗長化されたネットワークに接続されたポート又はリングポート又は障害時に経路切替が発生する可能性があるポートを有する第１受信部を、転送を許可された通信データの一覧であるホワイトリストの生成及び制御の対象外に予め設定し、
他の装置に接続されたポート又はエッジポート又は障害時に経路切替が発生し得ないポートを有する第２受信部を、ホワイトリストの生成及び制御の対象に予め設定し、
通信装置がホワイトリスト生成状態に予め設定されている場合、前記第１受信部を介して通信データを受信したと判断すると、予め定められた転送先に通信データを転送し、
前記通信装置がホワイトリスト生成状態に予め設定されている場合、前記第２受信部を介して通信データを受信したと判断すると、受信された通信データに基づきホワイトリストを生成及び記憶し、予め定められた転送先に通信データを転送させるための、
通信方法が提供される。
【発明の効果】
【００１０】
本発明によれば、ホワイトリスト機能によるセキュリティ向上と、ネットワーク冗長化機能によるネットワークの信頼性向上を実現可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施例１におけるパケットの中継装置の構成例を示すブロック図である。
【図２】実施例１におけるホワイトリストの一例である。
【図３】実施例１における転送設定メモリが保持する設定情報の一例である。
【図４】実施例１における入出力装置からパケット中継装置へ送信される命令の一覧の一例である。
【図５】図５Ａ：通信装置を用いた一般的なリング構成ネットワークの一例である。  図５Ｂ；通信装置を用いた一般的なリング構成ネットワークにおいて、障害が発生した場合の一例である。
【図６】図６Ａ＿１０１〜１０４：図５Ａのネットワークにおいて、端末１１２から端末１１１を宛先にしたパケットの送信を実施した後の、実施例１におけるパケット中継装置１０１〜１０４の転送テーブルメモリ３３０に保存されている情報の一例である。  図６Ｂ＿１０１〜１０４：図５Ｂのネットワークにおいて、端末１１２から端末１１１を宛先にしたパケットの送信を実施した後の、実施例１におけるパケット中継装置１０１〜１０４の転送テーブルメモリ３３０に保存されている情報の一例である。
【図７】実施例１におけるホワイトリスト生成状態時の動作を示すフローチャートの一例である。
【図８】実施例１におけるホワイトリスト運用状態時の動作を示すフローチャートの一例である。
【図９】実施例１におけるホワイトリスト対象外のパケット受信部のリンクダウン時の動作を示すフローチャートの一例である。
【図１０】実施例２における転送設定メモリが保持する設定情報の一例である。
【図１１】実施例２における入出力装置からパケット中継装置へ送信される命令の一覧の一例である。
【図１２】実施例２におけるネットワーク障害発生時のホワイトリストの再生成設定動作を示すフローチャートの一例である。
【図１３】実施例２におけるホワイトリスト運用状態時の動作を示すフローチャートの一例である。
【図１４】スパニングツリーを使用してネットワークを構成した際の構成図の一例である。
【図１５】実施例１におけるパケット受信時の動作を示したフローチャートの一例である。
【発明を実施するための形態】
【００１２】
Ａ．概要
通信装置が持つ複数のデータ送受信部について、ホワイトリストを用いた通信制御を実施するデータ送受信部と、ホワイトリストを用いず一般的な通信制御を実施するデータ送受信部を同時に使用できる通信装置を提供する。さらにホワイトリストを用いないデータ送受信部について、リンクダウンが発生した際に自動で閉塞する機能を持つ通信装置を提供する。
【００１３】
Ｂ．実施例１
（１）パケット中継装置（通信装置）
図１は、データの一例であるパケットを中継する、パケット中継装置の構成例を示す。パケット中継装置１００は、通信装置の一例である。パケット中継装置１００は、パケットの中継、及びホワイトリストの生成を実行する。ホワイトリストとは、例えば、パケット中継装置１００による転送が許可されたパケットの一覧を示す。
パケット中継装置１００は、例えば、複数のパケット受信部２００、パケット転送部３００、Ｓ／Ｗ（ＳｏｆｔＷａｒｅ）制御部４００、複数のパケット送信部５００、及び入出力インタフェース６００を含む。
【００１４】
パケット受信部２００それぞれは、例えば、端末や他のパケット中継装置等の外部装置と、メタルケーブルや光ケーブル等の回線で接続され、接続された外部装置からパケットを受信する。パケット受信部２００それぞれは、パケット受信部２００を一意に識別する受信部番号を有する。
パケット受信部２００それぞれは、パケットを受信した際に、当該パケットに当該パケット受信部２００に対応する制御情報（例、パケット受信部、ＶＬＡＮ番号、等）を付加する。制御情報は、１以上のパケット受信部２００を有するパケット受信部群を示す情報を含む。パケット受信部２００のパケット受信部番号、及び当該パケット受信部２００が所属するＶＬＡＮ識別子であるＶＬＡＮ番号は、それぞれ当該パケット受信部２００が付加する制御情報の一例である。
【００１５】
パケット転送部３００は、パケット受信部２００からパケットを受信し、Ｓ／Ｗ制御部４００が生成したホワイトリストに従って、受信したパケットの転送、又は廃棄等を行う。Ｓ／Ｗ制御部４００は、ホワイトリストを生成する。パケット送信部５００それぞれは、端末や他のパケット中継装置等の外部装置と、メタルケーブルや光ケーブル等の回線で接続され、パケット転送部３００から受信したパケットを、接続された外部装置へと送信する。
パケット受信部２００及びパケット送信部５００は、通常、ハードウェアで構成される。なお、パケット受信部２００及びパケット送信部５００は、図１では説明のため別の部として記載しているが、パケット受信部２００とパケット送信部５００が一体化したパケット送受信部であってもよい。
【００１６】
入出力インタフェース６００は、入出力装置６１０が接続される。入出力インタフェース６００は、入出力装置６１０を介して、利用者からの入力を受け付ける。また、入出力インタフェース６００は、プログラムの実行結果等を入出力装置６１０に出力する。入出力装置６１０は、例えば、キーボードやマウス等の利用者からの入力を受ける入力装置、及びディスプレイ装置やプリンタ等のパケット中継装置１００の処理結果を利用者が視認可能な形式で出力する出力装置を含む。
なお、図１では入出力装置６１０は、パケット中継装置１００と独立した装置として記載されているが、パケット中継装置１００にディスプレイや操作ボタン等の入出力装置６１０が備え付けられていてもよい。
【００１７】
パケット転送部３００は、ホワイトリスト格納メモリ３１０と、転送先決定部３２０と、転送テーブルメモリ３３０と、転送設定メモリ３４０と、を含む。ホワイトリスト格納メモリ３１０は、例えば、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等であり、Ｓ／Ｗ制御部４００が生成したホワイトリストを格納する。
転送テーブルメモリ３３０は、例えば、ＣＡＭやＤＲＡＭ等であり、パケットのヘッダ情報（例、Ｍａｃ  Ａｄｄｒｅｓｓ，ＩＰ  Ａｄｄｒｅｓｓ，ｐｒｏｔｏｃｏｌ，ｐｏｒｔ番号、等）と、パケットの転送先即ちパケット送信部５００と、の対応を示す情報を格納する。当該情報は管理者等によって作成され、予め転送テーブルメモリ３３０に格納されている。ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ２の通信に用いられるＭａｃ  Ａｄｄｒｅｓｓ  Ｔａｂｌｅや、ＯＳＩ参照モデルのレイヤ３の通信に用いられるＲｏｕｔｉｎｇ  Ｔａｂｌｅは、当該対応を示す情報の一例である。
転送設定メモリ３４０は、例えば、ＤＲＡＭ等であり、後述するパケット中継装置１００のモードや状態、ホワイトリスト登録外パケット受信時の動作等の設定情報を格納する。転送設定メモリ３４０に格納される設定情報は、入出力装置６１０を介して、管理者等により設定される。
【００１８】
転送先決定部３２０は、パケット受信部２００からパケットを受信し、受信したパケットのヘッダ情報をキーに転送テーブルメモリ３３０内を検索することにより、受信したパケットの転送先を決定する。
また、転送先決定部３２０は、後述するホワイトリスト運用状態中にパケットを受信した場合、ホワイトリスト格納メモリ３１０に格納されたホワイトリストを検索し、受信したパケットがホワイトリスト対象パケットであるか否かを判定する。転送先決定部３２０は、受信したパケットがホワイトリスト登録外パケットであると判定した場合、転送設定メモリ３４０が保持するホワイトリスト登録外パケット受信時動作設定が示す処理を、当該パケットに対して行う。
転送先決定部３２０は、後述するホワイトリスト生成状態中にパケットを受信すると、受信したパケットから所定のヘッダ情報（例、Ｍａｃ  Ａｄｄｒｅｓｓ，ＩＰ  Ａｄｄｒｅｓｓ，ｐｒｏｔｏｃｏｌ，ｐｏｒｔ番号、等）及び所定の制御情報（例、パケット受信部番号、ＶＬＡＮ番号、等）を抽出し、Ｓ／Ｗ制御部４００へと送信する。転送先決定部３２０は、転送設定メモリ３４０の設定内容に従い、ホワイトリストを利用した通信を実施するか否かなどの判別を行う。
パケット転送部３００は、ホワイトリストの高速検索、パケットのワイヤレートでの通信など、単純で高速な命令を実行するため、通常、ハードウェアで構成される。パケット転送部３００は、例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等で構成されてもよい。
【００１９】
Ｓ／Ｗ制御部４００は、ＣＰＵ（Ｃｏｎｔｒｏｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１０と、Ｓ／Ｗメモリ４２０と、を含む。ＣＰＵ４１０は、Ｓ／Ｗメモリ４２０に格納されたプログラムを実行するプロセッサを含む。Ｓ／Ｗメモリ４２０は、不揮発性の記憶素子であるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及び揮発性の記憶素子であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ））などを格納する。ＲＡＭは、ＤＲＡＭのような高速かつ揮発性の記憶素子であり、プロセッサが実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
Ｓ／Ｗメモリ４２０は、ホワイトリスト生成プログラム４２１、転送設定プログラム４２２、冗長化プロトコル制御プログラム４２３を含む。
Ｓ／Ｗメモリ４２０に格納されたプログラムはＣＰＵ４１０（プロセッサ）によって実行されることで、定められた処理を記憶装置及び通信ポート（通信デバイス）等を用いながら行う。従って、本実施例及び他の実施例においてプログラムを主語とする説明は、ＣＰＵ４１０を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機及び計算機システムが行う処理である。
【００２０】
ＣＰＵ４１０は、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、ＣＰＵ４１０は、ホワイトリスト生成プログラム４２１に従って動作することでホワイトリスト生成部として機能し、転送設定プログラム４２２に従って動作することで転送設定部とし、冗長化プロトコル制御プログラム４２３に従って動作することで冗長化プロトコル制御部として機能する。さらに、ＣＰＵ４１０は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
ホワイトリスト生成プログラム４２１は、転送先決定部３２０から受信した制御情報及びヘッダ情報から、ホワイトリストを生成し、ホワイトリスト格納メモリ３１０へと書き込む。
転送設定プログラム４２２は、入出力装置６１０から入力された転送設定を転送設定メモリ３４０に書き込む。
冗長化プロトコル制御プログラム４２３は、後述するリングプロトコルやスパニングツリープロトコルなどのネットワーク冗長化プロトコルに対し、パケット中継装置１００がネットワーク内のノードとして動作するためのプログラムであり、各プロトコルに対応した制御パケットの送受信や制御パケット受信時の経路切替などを制御する。
【００２１】
図２は、ホワイトリスト格納メモリ３１０に格納されるホワイトリストの一例を示す。図２の例ではホワイトリストはｎ個のエントリを含む。ホワイトリストの各エントリは、複数のパラメータを含む。当該複数のパラメータそれぞれは、パケット受信部２００から受信したパケットから転送先決定部３２０が抽出した制御情報又はヘッダ情報である。
エントリ７００は、ホワイトリストに含まれるエントリの一例である。エントリ７００は、例えば、それぞれパケットの制御情報を示すパラメータである、パケット受信部番号７０１、及びＶＬＡＮ番号７０２を含む。エントリ７００は、例えば、それぞれパケットのヘッダ情報を示すパラメータである、Ｓｏｕｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ７０３、Ｄｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ７０４、Ｐｒｏｔｏｃｏｌ７０５、Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ７０６、Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ７０７、Ｓｏｕｒｃｅ  ｐｏｒｔ番号７０８、及びＤｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔ番号を含む。
パケット受信部番号７０１は、パケット受信部２００それぞれを一意に識別する番号である。パケット受信部番号７０１により、パケットを受信したパケット受信部２００が特定される。ＶＬＡＮ番号７０２は、パケット受信部２００が所属するＶＬＡＮを一意に識別する番号である。
【００２２】
Ｓｏｕｒｃｅ  Ｍａｃ  Ａｄｄｒｅｓｓ７０３は、パケットの送信元Ｍａｃアドレスを示す。Ｄｅｓｔｉｎａｔｉｏｎ  Ｍａｃ  Ａｄｄｒｅｓｓ７０４は、パケットの宛先Ｍａｃアドレスを示す。ｐｒｏｔｏｃｏｌ７０５は、プロトコルの種類を示す。Ｓｏｕｒｃｅ  ＩＰ  Ａｄｄｒｅｓｓ７０６は、パケットの送信元ＩＰアドレスを示す。Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  Ａｄｄｒｅｓｓ７０７は、パケットの宛先ＩＰアドレスを示す。Ｓｏｕｒｃｅ  ｐｏｒｔ番号７０８は、パケットの送信元ポート番号を示す。Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ番号７０９は、パケットの宛先ポート番号を示す。
なお、エントリ７００は、図２の例に限らず、１種類以上の制御情報を示すパラメータと、複数種類のヘッダ情報を示すパラメータと、を含めばよい。エントリ７００は、例えば、前述したヘッダ情報を示すパラメータに加えて又は代えて、ＴＯＳ（Ｔｙｐｅ  Ｏｆ  Ｓｅｒｖｉｃｅ）、フラグ、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）、ＩＤ、バージョン、及びヘッダ値等のヘッダ情報を含んでもよい。
【００２３】
図３は、転送設定メモリ３４０が保持する転送設定情報の一例を示す。転送設定情報は、例えば、転送設定の種別を示す保持情報５０１、保持情報５０１の状態を示す保持内容５０２、及び保持内容５０２の初期状態を示す初期状態５０３を含む。図３において、保持内容５０２を示す各セルには「／」で区切られた複数の値が記載されているが、実際には当該複数の値のいずれか１つが格納される。初期状態５０３は、対応する保持内容５０２に記載されている複数の値のいずれか１つを格納する。
【００２４】
以下、転送設定情報に従ったパケット中継装置１００の動作の概略の一例を説明する。
転送先決定部３２０はパケットを受信すると、転送設定メモリ３４０を参照し、レコード５０４の保持内容５０２が、ホワイトリスト機能が有効であるホワイトリストスイッチモードであるか、ホワイトリスト機能が無効であるノーマルスイッチモードであるかを判定する。レコード５０４の保持内容５０２がノーマルスイッチモードである場合、転送先決定部３２０は、受信したパケットのヘッダ情報をキーに転送テーブルメモリ３３０を検索する。転送先決定部３２０は、検索結果に従い転送先を決定し、パケットを転送する。レコード５０４の保持内容５０２がホワイトリストスイッチモードである場合、転送先決定部３２０は、転送設定メモリ３４０を参照し、レコード５０５の保持内容５０２が、ホワイトリストを生成する生成状態であるか、ホワイトリストを用いた転送を行う運用状態であるかを判定する。
【００２５】
以下、レコード５０５の保持内容５０２が生成状態である場合の動作例を説明する。転送先決定部３２０は、受信したパケットに対して、ノーマルスイッチモードのパケット転送と同様の処理を行いながら、受信したパケットの所定のヘッダ情報及び所定の制御情報を、ＣＰＵ４１０が実行するホワイトリスト生成プログラム４２１に送信する。ＣＰＵ４１０は、ホワイトリスト生成プログラム４２１により、転送先決定部３２０から受信したパケットのヘッダ情報及び制御情報からホワイトリストを生成し、生成した情報をホワイトリスト格納メモリ３１０へ書き込む。
以下、レコード５０５の保持内容５０２が運用状態である場合の動作例を説明する。転送先決定部３２０は、パケット受信部２００から受信したパケットが、ホワイトリスト格納Ｈ／Ｗメモリ３１０に格納されたホワイトリストに登録済みか否かを判定する。当該パケットが当該ホワイトリストに登録済みである場合、転送先決定部３２０は、受信したパケットに対して、ノーマルスイッチモードのパケット転送と同様の処理を行う。
当該パケットが当該ホワイトリストに登録済みでない場合、転送先決定部３２０は、転送設定メモリ３４０を参照し、レコード５０６の保持内容５０２が示す処理を当該パケットに対して行う。レコードの保持内容５０２が示す処理は、例えば、当該パケットの廃棄、当該パケットの通過即ち当該パケットに対するノーマルスイッチモードと同様のパケット転送を含む。
【００２６】
なお、転送先決定部３２０は、パケット受信部２００からパケットを受信したときに、転送設定メモリ３４０のレコード５０７の保持内容５０２を参照し、受信したパケットに含まれるパケット受信部番号に対応する値が「対象」であるか「対象外」であるか判定する。受信したパケットに含まれるパケット受信部番号に対応する値が「対象外」である場合、転送先決定部３２０は、その他の設定情報に関わらず、当該パケットに対して、ノーマルスイッチモードと同様の処理をする。
レコード５０８については、後述する図９で説明を行う。
【００２７】
図４は、転送設定プログラム４２２が入出力装置６１０から入力を受け付ける転送設定に関する命令一覧の一例を示す。転送設定に関する命令は、例えば、命令の種別を示す命令種別１１０１、命令種別１１０１が示す命令による設定内容を示す設定内容１１０２、及び設定内容１１０２の初期状態を示す初期状態１１０３を含む。
レコード１１０４〜１１０８が示す命令のそれぞれは、転送設定メモリ３４０のレコード５０４〜５０８それぞれが示す転送設定を変更する命令である。レコード１１０４〜１１０８の命令種別１１０１、設定内容１１０２、及び初期状態１１０３それぞれは、転送設定メモリ３４０のレコード５０４〜５０８の保持情報５０１、保持内容５０２、及び初期状態５０３に対応する。
【００２８】
（２）動作詳細
図１５は、本実施例のパケット中継装置１００について、外部からのパケットを受信した際の転送設定メモリ３４０の設定内容による動作について示したフローチャートである。尚、生成状態・運用状態の各処理の詳細については後述とする。
パケット中継装置１００のパケット受信部２００のいずれかがパケットを受信すると、受信パケットに前述のような制御情報を付加し、転送先決定部３２０へと送信する(ステップ２３０１)。パケットを受信した転送先決定部３２０は、転送設定メモリ３４０のレコード５０４の保持情報５０２を確認し、ホワイトリストの機能状態がホワイトリストスイッチモードか、ノーマルスイッチモードかを判定する (ステップ２３０２)。
以下、ステップ２３０２でホワイトリストスイッチモードと判定された場合を説明する。転送先決定部３２０は、転送設定メモリ３４０のレコード５０５の保持情報５０２を確認し、ホワイトリストを生成する生成状態であるか、ホワイトリストを用いた転送を行う運用状態であるかを判定する（ステップ２３０３）。判定の結果、生成状態である場合には、後述する図７のステップ１５０１へと移行し、ホワイトリストの自動生成を実施する。万一、判定の結果、運用状態である場合には、後述する図８のステップ１６０１へと移行し、生成されたホワイトリストに基づく通信制御を実施する。
尚、ホワイトリストの生成状態、運用状態については、例えば、前述の通り入出力装置６１０から管理者等による入力によって変更されるものである。生成状態についてはネットワーク構築時などの無菌期間を想定しており、無菌期間に正常な通信を実施させ、ホワイトリストを自動生成させた後、管理者等によって運用状態へと遷移させることを想定している。
以下、ステップ２３０２でノーマルスイッチモードと判定された場合を説明する。
転送先決定部３２０は、転送テーブルメモリ３３０を受信パケットのヘッダ部分及び制御情報をキーに検索し、転送先を決定する(ステップ２３０４)。転送先決定部３２０で送信先を決定されたパケットは、パケット送信部５００のいずれかから送信され(ステップ２３０５)、処理を終える。
【００２９】
以下、本実施例のパケット中継装置１００を複数台配置し、冗長プロトコルの一例としてリングプロトコルを使用した場合の動作について記載する。リングプロトコルは、ネットワークスイッチをリング状に接続したネットワークで使われるレイヤー２のネットワークの冗長化プロトコルである。専用の制御用パケットを使ってリング状のネットワークの状態を監視し，障害や障害復旧などの状態の変化を検出すると、通信経路を切り替えるという機能を実現する。リングプロトコルについて、一例として、以降は非特許文献１に記載の動作をするものとし、用語についても非特許文献１の「1.3用語解説」にて使用されている用語を使用して説明を行う。但し、「1.3用語解説」にて説明されているリングポート以外のパケット受信部・パケット送信部をエッジポートと呼ぶものとする。
【００３０】
図５Ａは、パケット中継装置を複数配置し、リング状の構成を組んだ場合の構成図の例である。以下、パケット中継装置１０１〜１０４を本実施例のパケット中継装置として説明を行う。パケット中継装置１０１〜１０４は、各々パケット受信部２００及びパケット送信部５００で接続され、リングプロトコルで動作している。
なお、図５Ａでは以降パケット受信部２００及びパケット送信部５００が一体化したパケット送受信部であるものとして説明を行う。図５Ａの参照番号１２１〜１２８及び１３１〜１３６が、パケット送受信部である。また、パケット中継装置１０１はパケットの送受信を行う端末１１１及びネットワーク１１０とも、接続されている。パケット中継装置１０２はパケットの送受信を行う端末１１２と接続され、パケット中継装置１０３はパケットの送受信を行う端末１１３、１１４と接続され、中継装置１０４はパケットの送受信を行う端末１１５と接続されている。端末１１１〜１１５は、端末間での通信に加え、ネットワーク１１０を介してサーバ１４０とも通信を実施することができる。
パケット送受信部１２１〜１２８はリングポート（図中、白丸）であり、パケット送受信部１３１〜１３６はエッジポート（図中、黒丸）である。マスタノードはパケット中継装置１０１であり、パケット送受信部１２１をプライマリポート、パケット送受信部１２２をセカンダリポートとする。リングプロトコルではプライマリポートは障害の有無に関わらず通信パケットの送受信を実施する。セカンダリポートはネットワークが正常に動作している間はパケットの送受信を行わず、障害発生時にはパケットの送受信を実施する。パケット中継装置１０２〜１０４はトランジットノードである。
パケット中継装置１０１から送出されるヘルスチェックフレームやフラッシュ制御フレームについては、冗長化プロトコル制御プログラム４２３に従って動作しているＣＰＵ４１０によって生成されパケット送受信部１２１及び１２２から送信される。
【００３１】
図５Ａのネットワークに障害がない状態で、各パケット中継装置１０１〜１０４がノーマルスイッチモードで動作している場合に、端末１１２から端末１１１を宛先にしたパケットを送信する場合、中継装置１０２のパケット送受信部１３３でパケットを受信後、転送先決定部３２０にて転送テーブルメモリ３３０内の情報を参照し、パケットの送信を実施しようとするが、初期状態では転送テーブルメモリ３３０に宛先の情報が存在しないため、一般的なレイヤ２通信で使用されるパケットのフラッディングが実施されると同時に転送テーブルメモリ３３０に端末１１２が持つＭＡＣ ＡＤＤＲＥＳＳを端末１１２が接続されているパケット送受信部１３３番号と組にして保存する。説明のため、今後は端末１１２が持つＭＡＣ ＡＤＤＲＥＳＳはＡという記号で記載する。
フラッディングされたパケットはパケット中継装置１０１のパケット送受信部１２２及びパケット中継装置１０３のパケット送受信部１２５で受信されるが、パケット送受信部１２２についてセカンダリポートのため受信パケットは廃棄される。パケット中継装置１０３のパケット送受信部１２５で受信されたパケットは中継装置１０２と同様フラッディング及び転送テーブルメモリ３３０への情報保存を実施し、その後フラッディング及び転送テーブルメモリ３３０への情報保存を繰り返し、最終的にパケット中継装置１０１のパケット送受信部１３１から送出され、端末１１１に到達する。
【００３２】
図６Ａ＿１０１〜図６Ａ＿１０４は、端末１１２から端末１１１を宛先にしたパケットの送信を実施した後の、パケット中継装置１０１〜１０４それぞれの転送テーブルメモリ３３０に保存されている情報の一例を示している。端末１１２が持つパケット送受信部番号１２０１及び送信元１２０２を１組の情報として持ち、どの送信元がどのパケット送受信部と接続されているかを示している。以降、端末１１１から端末１１２への通信は図６Ａ＿１０１〜図６Ａ＿１０４の情報により、フラッディングを行うことなく、実施される。
上述の通信を実施した後、図５Ｂで示すようにパケット送受信部１２４と１２５を接続しているケーブルが何らかの理由で切断された場合、マスタノードから送出されているヘルスチェックフレームの到達性がなくなることにより、マスタノードからフラッシュ制御フレームが送信され、パケット中継装置１０１〜１０４内の各転送テーブルメモリ３３０内のＭａｃ  Ａｄｄｒｅｓｓとパケット送受信部の情報が削除される。さらに、マスタノードは、セカンダリポートであるパケット受信部１２２の通信不可状態を解除し、通信を継続させるようにする。
例えば、端末１１２から端末１１１を宛先にしたパケットは、パケット中継装置１０２のパケット送受信部１３３で受信後、転送先決定部３２０にて転送テーブルメモリ３３０内の情報を参照し、パケットの送信を実施しようとするが、フラッシュ制御フレームにより図６Ａ＿１０１〜図６Ａ＿１０４で記載した転送テーブルメモリ３３０内の情報は削除されているため、一般的なレイヤ２通信で使用されるパケットのフラッディングが実施されると同時に転送テーブルメモリ３３０に端末１１２がパケット送受信部１３３に接続されていると言う情報を再度保存する。
パケット送受信部１２４はリンクがダウンしているため、パケットはパケット中継装置１０３には到達しないが、パケット中継装置１０１のパケット送受信部１２２で受信され、パケット中継装置１０１でフラッディングされることにより、端末１１１へと到達する。
【００３３】
図６Ｂ＿１０１〜図６Ｂ＿１０４は、図５Ｂの状態で、端末１１２から端末１１１を宛先にしたパケットの送信を実施した後の、パケット中継装置１０１〜１０４それぞれの転送テーブルメモリ３３０に保存されている情報の一例を示している。上述の動作により、リングプロトコルにはネットワーク上のいずれかのポイントで障害が発生した場合にも、通信を継続させる効果がある。
【００３４】
特許文献１や特許文献２の技術を用いて、前述した構成のネットワークの通信をホワイトリスト化するためには、前述した通信の経路切替に対応するため、各パケット中継装置１０１〜１０４の各パケット受信部について、経路が切り替わる可能性のある通信の全てをホワイトリストに設定するか、ホワイトリストの生成状態中に全ての障害パターンを実施し、登録をしなければならない。図５Ａや図５Ｂのような簡易なリング構成でも障害のパターンは複数存在する。リング構成が重複するマルチリング構成等になると、さらに障害のパターン、経路切替のパターンは増加するため、従来技術ではホワイトリスト機能を使用しながら、ネットワークの経路冗長を実施することは実質不可能であると想定される。
本実施例では、図５Ａ、図５Ｂのパケット中継装置１０１〜１０４について、例えば、入出力装置６１０による転送設定に関する命令に従い設定された転送設定メモリ３４０のレコード５０７の保持内容５０２の値によって、ホワイトリストを生成し、ホワイトリストの生成及び制御の対象となるパケット受信部２００と、ホワイトリストの生成を行わず、ホワイトリストの生成及び制御の対象外となるパケット受信部２００を選択できる。
図５Ａ、図５Ｂにおいて、エッジポート（黒丸）であるパケット送受信部１３１〜１３６はホワイトリストの生成及び制御の対象とし、リングポート（白丸）であるパケット送受信部１２１〜１２８はホワイトリストの生成及び制御の対象外とする値を設定する。パケット送受信部１３１〜１３６をホワイトリストの生成及び制御の対象とすることで、接続される端末１１１〜１１５やサーバ１４０の通信をホワイトリスト化し、ネットワーク１１０経由及び内部から不正通信を遮断することができる。さらに、パケット送受信部１２１〜１２８はホワイトリストの生成及び制御の対象外とすることにより、図５Ｂで示した断線時の通信路変更に対応することも出来る。
【００３５】
図７は、図１５のステップ２３０３において、生成状態であると判定された場合の動作を説明したフローチャートの一例である。
パケットを受信した転送先決定部３２０は、転送設定メモリ３４０のレコード５０７の保持情報５０２を確認し、制御情報内にあるパケット受信部２００の番号がホワイトリストの生成及び制御の対象か否かを判定する(ステップ１５０２)。
以下、ステップ１５０２での判定の結果、受信パケットの制御情報に含まれるパケット受信部２００の番号がホワイトリストの生成及び制御の対象である場合を説明する。転送先決定部３２０は、受信パケットのヘッダ部分及び制御情報をＳ／Ｗ制御部４００へと送信する(ステップ１５０３)。受信パケットのヘッダ部分及び制御情報を受信したＳ／Ｗ制御部４００は、ＣＰＵ４１０は、その内部に存在するプロセッサをホワイトリスト生成部として動作させ、ヘッダ部分及び制御情報により、図２に記載の情報に従いホワイトリストを生成する(ステップ１５０４)。さらに、ホワイトリスト生成部として動作しているＣＰＵ４１０は、ホワイトリスト格納メモリ３４０へと生成したホワイトリストの書き込みを実施する(ステップ１５０５)。そして、転送先決定部３２０は、転送テーブルメモリ３３０を受信パケットのヘッダ部分及び制御情報をキーに検索し、転送先を決定する(ステップ１５０６)。パケット転送部３００は、転送先決定部３２０で送信先を決定されたパケットを、パケット送信部５００のいずれかから送信し(ステップ１５０７)、処理を終える。
転送先決定部３２０は、ステップ１５０２での判定の結果、受信パケットの制御情報に含まれるパケット受信部２００の番号がホワイトリストの生成及び制御の対象外である場合は、ホワイトリストの生成処理を実施せず、前述したステップ１５０６、１５０７の処理を実施し、処理を終える。
【００３６】
図８は、図１５のステップ２３０３において、運用状態と判定された場合の動作を説明したフローチャートの一例である。
パケットを受信した転送先決定部３２０は、転送設定メモリ３４０のレコード５０７の保持情報５０２を確認し、制御情報内にあるパケット受信部２００の番号がホワイトリストの生成部及び制御の対象か否かを判定する(ステップ１６０２)。
以下、ステップ１６０２での判定の結果、受信パケットの制御情報に含まれるパケット受信部２００の番号がホワイトリストの生成及び制御の対象である場合を説明する。パケットを受信した転送先決定部３２０は、ホワイトリスト格納メモリ３１０内を検索する(ステップ１６０３)。そして、受信したパケットが持つヘッダ情報及び制御情報が、ホワイトリスト格納メモリ３１０に格納されており、ＨＩＴしたか否かを判定する(ステップ１６０４)。
以下、ステップ１６０４で検索ＨＩＴした場合を説明する。転送先決定部３２０は、転送テーブルメモリ３３０を受信パケットのヘッダ部分及び制御情報をキーに検索し、送信先を決定する(ステップ１６０５)。パケット転送部３００は、パケット転送部３００で送信先を決定されたパケットを、パケット送信部５００のいずれかから送信し(ステップ１６０６)、処理を終える。
以下、ステップ１６０４で検索ＨＩＴしなかった場合を説明する。転送先決定部３２０は、設定転送メモリ３４０内のレコード５０６の保持情報５０２を確認し、保持情報５０２が廃棄か通過かを判別する(ステップ１６０７)。ステップ１６０７で通過と判定された場合、ステップ１６０５へと移る。ステップ１６０７で廃棄と判定された場合、転送先決定部３２０は、パケットを廃棄し(ステップ１６０８)、処理を終える。
ステップ１６０２での判定の結果、受信パケットの制御情報に含まれるパケット受信部２００の番号がホワイトリストの生成及び制御の対象外である場合は、ホワイトリスト格納メモリ３４０の検索を実施せず、前述したステップ１６０５、１６０６の処理を実施し、処理を終える。
【００３７】
図５Ａのネットワーク構成において、本実施例におけるパケット中継装置１０１〜１０４の転送設定メモリ３４０のレコード５０４の保持内容５０２をホワイトリストスイッチモードとし、レコード５０５の保持内容５０２を生成状態とし、レコード５０７の保持内容５０２を、エッジポートであるパケット送受信部１３１〜１３６はホワイトリストの生成及び制御の対象とし、リングポートであるパケット送受信部１２１〜１２８はホワイトリストの生成及び制御の対象外とする値を設定した場合に、端末１１２から端末１１１への通信を実施した際は、ホワイトリストの生成処理が行われるのはパケット中継装置１０２のパケット送受信部１３３でパケットを受信した場合のみである。端末１１２から送信されたパケットは前述したようにパケット中継装置１０３のパケット送受信部１２５、パケット中継装置１０４のパケット送受信部１２７、パケット中継装置１０１のパケット送受信部１２１で受信されるが、いずれのパケット送受信部についても前述したとおりホワイトリストの生成及び制御の対象外であり、ホワイトリストの生成は実施されない。
前述のように端末１１２から端末１１１への通信を実施した後、例えば、入出力装置６１０等により、本実施例におけるパケット中継装置１０１〜１０４の転送設定メモリ３４０のレコード５０５の保持内容５０２を運用状態とし、さらに図５Ｂの障害状態に陥ったとしても、端末１１２から端末１１１への通信はパケット受信部１３３でホワイトリストによる通信制御を実施しながら、前述した経路切替後の経路にも対応することができる。
【００３８】
なお、上述について、一例としてリングプロトコルを記載しているが、スパニングツリープロトコルについても、ネットワークの構成時のトポロジ計算や障害発生時のトポロジ再構築の方式がリングプロトコルとは異なるものの、経路切替が発生する可能性のあるパケット送受信部(非特許文献２記載の指定ポート・非指定ポート)と経路切替が発生し得ないパケット送受信部(非特許文献２記載のエッジポート)というわけ方で設定を実施すれば、本実施例が適用可能である。
【００３９】
図１４は、スパニングツリーを使用してネットワークを構成した際の構成図の一例である。図１４では、パケット中継装置２２０１〜２２０５によりネットワークが構成されており、各パケット中継装置２２０１〜２２０５がスパニングツリープロトコルにより動作している。各パケット中継装置２２０１〜２２０５はパケット送受信部２２１１〜２２２２で接続されており、パケット送受信部２２１１〜２２２２が前述した経路切替が発生する可能性のあるパケット送受信部となる。また、ネットワーク上には端末２３０１〜２３０４が各々パケット中継装置２２０２、２２０４、２２０５のパケット送受信部２２３１〜２２３４に接続されており、パケット送受信部２２３１〜２２３４が前述した経路切替が発生し得ないパケット送受信部となる。
【００４０】
（３）リンクダウン時の閉塞
また、本実施例のパケット中継装置１００で構成されるリングのネットワークが設置されている場所に悪意あるユーザが侵入し、非正規の端末を本実施例のパケット中継装置１００に接続し通信を実施しようとした際、リングポートであるパケット受信部２００についてはホワイトリストの生成及び制御の対象外となっているため、非正規の端末を接続しても通信が可能な状態になっている。その対策として、本実施例のパケット中継装置には、ホワイトリストの生成及び制御の対象外となっているパケット受信部２００について、リンクダウン時に閉塞を行う機能を持たせることができる（詳細は、後述の図９等参照）。悪意あるユーザが非正規の端末をリングポートに接続しようとする場合、各パケット中継装置１００間を接続しているケーブルを一度抜去することになり、必ずリンクダウンを伴う。前述したとおり転送設定メモリ３４０のレコード５０８の保持内容５０２の設定状態により、リンクダウン発生時にはパケット受信部を閉塞することができるため、ホワイトリスト対象外のパケット受信部についても、セキュリティを確保することができる。
【００４１】
図９は、本実施例におけるパケット中継装置１００の転送設定メモリ３４０のレコード５０４の保持内容５０２がホワイトリストスイッチモードであり且つホワイトリストの対象外となっているパケット受信部２００がリンクダウンを検出した際のフローチャートである。尚、リンクダウンについては、パケット中継装置１００は、一般的な通信装置であれば、パケット受信部２００等によりリンク状態を監視しており、リンクダウン時にそれを検出できるものである。
パケット受信部２００は、リンクダウンを検出すると、リンクダウンしたパケット受信部番号をリンクダウン情報としてパケット転送部３００へと通知する(ステップ１７０１)。リンクダウン情報を受信したパケット転送部３００は、リンクダウンを検出した当該のパケット受信部２００がホワイトリストの生成及び制御の対象か、対象外かを転送設定メモリ３４０のレコード５０７の保持内容５０２を確認することにより判別する(ステップ１７０２)。ステップ１７０２でホワイトリストの生成及び制御の対象と判別された場合は、パケット転送部３００は、処理を終える。
【００４２】
以下、ステップ１７０２でホワイトリストの生成及び制御の対象外と判別された場合について説明する。パケット転送部３００では、リンクダウンを検出した当該のパケット受信部２００がリンクダウン時に当該のパケット受信部２００の閉塞を実施する設定になっているか否かを、転送設定メモリ３４０のレコード５０８の保持内容５０２から判別する (ステップ１７０３)。ステップ１７０３で閉塞を実施する設定ではないと判別された場合は、パケット転送部３００は、処理を終える。
以下、ステップ１７０３で閉塞を実施する設定になっていると判別された場合について説明する。パケット転送部３００は、リンクダウン情報をＳ／Ｗ制御部４００に通知する (ステップ１７０４)。通知を受信したＳ／Ｗ制御部４００では、転送設定部として動作しているＣＰＵ４１０から当該のパケット受信部２００の閉塞を実施する(ステップ１７０５)。この時転送設定部として動作しているＣＰＵ４１０は、閉塞したパケット受信部番号を保持し、転送設定メモリ３４０のレコード５０８の保持内容５０２について、当該のパケット受信部２００の閉塞設定が入出力装置６１０等により非実施に変更されるまで閉塞状態を維持する。なお、当該のパケット受信部２００は、当該のパケット受信部２００のリンクアップを検出しても閉塞状態を変更しない。入出力装置６１０等により、当該のパケット受信部２００の閉塞設定が非実施状態に変更された際には、ＣＰＵ４１０が保持している閉塞状態のパケット受信部番号を確認し、閉塞状態となっている場合には当該のパケット受信部２００の閉塞状態を解除する。
なお、ホワイトリストの生成及び制御の対象のパケット受信部２００については、リンクダウンを検出すると、そのパケット受信部２００の状態を閉塞に変更し、そのパケット受信部２００のリンクアップを検出すると、そのパケット受信部２００の状態を開放に変更する。
【００４３】
Ｃ．実施例２
本実施例は、実施例１の通信装置について、転送設定メモリ３４０が保持する転送設定情報を一部変更した変形例である。
図１０は、本実施例におけるパケット中継装置の転送設定メモリ３４０が保持する転送設定情報の一例を示している。
この転送設定情報において、保持情報１８０１、保持内容１８０２、初期状態１８０３及びレコード１８０４〜１８０６については、実施例１の保持情報５０１、保持内容５０２、初期状態５０３及びレコード５０４〜５０６と同様である。レコード１８０７については、保持内容１８０２の値に従い、冗長化プロトコルを使用したネットワークを構築している際に、経路の切替が発生した場合にホワイトリストの再生成（再学習）を実施するか否かの判別に使用する。
レコード１８０８については、レコード１８０７の保持内容１８０２の値が再生成であるパケット受信部について、後述するレコード１８０９の保持内容１８０２の値が再生成状態である場合に、当該のパケット受信部２００がリンクダウンした場合、当該のパケット受信部２００を閉塞状態にするか否かの判別に使用する。
レコード１８０９については、ホワイトリストの再生成状態の設定であり、保持内容５０２に再生成状態、もしくは運用状態のいずれかを保持する。
【００４４】
図１１は、転送設定プログラム４２２が入出力装置６１０から入力を受け付ける転送設定に関する命令一覧の一例を示す。この転送設定に関する命令において、命令種別１９０１、設定内容１９０２、初期状態１９０３及びレコード１９０４〜１９０６については実施例１の命令種別１１０１、設定内容１１０２、初期状態１１０３及びレコード１１０４〜１１０６同様であり、レコード１９０７〜１９０９は、それぞれ転送設定情報のレコード１８０７〜１８０９の保持内容１８０２を設定する命令である。
尚、本実施例においては実施例１の図３のレコード５０７及び図４のレコード１１０７で記載したホワイトリスト対象・対象外の設定についても、図１０及び図１１にレコードを追加してもよい。その場合は、図７及び図８の各フローチャートを用いることができる。但し、ここでは、一例として、全てのパケット受信部をホワイトリストの生成及び制御の対象としたものとして説明を行うため、図１０及び図11には記載しない。そのため、ホワイトリストの生成状態・運用状態については、実施例１の図７及び図８にて説明したホワイトリスト生成状態・運用状態のフローチャートにおいて、パケット受信部２００についてのホワイトリストの生成及び制御の対象・対象外の判定をなくし(ステップ１５０２、１６０２)、全てのパケット受信部２００についてホワイトリストの生成及び制御の対象として動作するフローチャートとなる。
【００４５】
図１２は、本実施例のパケット中継装置１００における、ネットワーク障害発生時の経路切替時の動作を示すフローチャートである。
本実施例のパケット中継装置１００がネットワークの障害を検知すると、ＣＰＵ４１０は、ホワイトリスト生成部により、転送設定メモリ３４０のレコード１８０７の保持内容１８０２を取得し、ホワイトリスト格納メモリ３１０に格納されているホワイトリストの中で、図２のエントリ７０１のパケット受信番号と、取得した転送設定メモリ３４０のレコード１８０７の保持内容１８０２の中で、再生成の値を持つひとつまたは複数のパケット受信部２００の番号と一致するエントリを削除する(ステップ２００１)。該当する全てのエントリの削除が完了したら、ホワイトリスト生成部から転送設定メモリ３４０のレコード１８０９の保持内容１８０２を再生成状態へと変更する(ステップ２００２)。
【００４６】
図１３は、本実施例におけるパケット中継装置１００の転送設定メモリ３４０のレコード１８０４の保持内容１８０２がホワイトリストスイッチモードであり且つレコード１８０５の保持内容１８０２が運用状態である場合の動作を説明したフローチャートの一例である。
パケット中継装置１００のパケット受信部２００のいずれかがパケットを受信すると、その受信部２００は、受信パケットに制御情報を付加し、転送先決定部３２０へと送信する(ステップ２１０１)。パケットを受信した転送先決定部３２０は、転送設定メモリ３４０内の情報を確認し、レコード１８０９の保持情報１８０２が再生成状態であり且つ、制御情報内にあるパケット受信部２００について、レコード１８０７の保持情報１８０２の値が再生成であるか否かを判別する(ステップ２１０２)。
ステップ２１０２でレコード１８０９の保持情報１８０２が再生成状態であり且つ、制御情報内にあるパケット受信部２００について、レコード１８０７の保持情報１８０２の値が再生成であると判別された場合は、実施例１の図７のステップ１５０３へと移行し、ＣＰＵ４１０は、ホワイトリストの生成を実施する。
ステップ２１０２でレコード１８０９の保持情報１８０２が再生成状態でない、もしくは制御情報内にあるパケット受信部２００について、レコード１８０７の保持情報１８０２の値が再生成無しであると判別された場合は、実施例１の図８のステップ１６０３へと移行し、転送先設定部３２０は、ホワイトリストに基づいた通信制御を実施する。
【００４７】
例えば、図５Ａのネットワーク構成において、本実施例におけるパケット中継装置１０１〜１０４を配置し、転送設定メモリ３４０のレコード１８０５の保持内容１８０２を生成状態とし、レコード１８０７の保持内容１８０２を、エッジポート（黒丸）であるパケット送受信部１３１〜１３６は再生成無しとし、リングポート（白丸）であるパケット送受信部１２１〜１２８は再生成とする値を設定した場合に、端末１１２から端末１１１への通信を実施した際は、ホワイトリストの生成処理はパケット送受信部１３３、１２５、１２７、１２１でパケットを受信した場合に実施される。
端末１１２から端末１１１への通信を実施した後、本実施例におけるパケット中継装置１０１〜１０４の転送設定メモリ３４０のレコード５０５の保持内容５０２を運用状態とし、さらに図５Ｂの障害状態に陥った場合、フラッシュ制御フレームがマスタノードからトランジットノードへと通知される。マスタノードは障害検知時、トランジットノードはフラッシュ制御フレームを受信した際の障害検知時に、図１２で説明した処理を実行し、パケット送受信部１２５、１２７、１２１で生成されたホワイトリストを削除する。
その後、端末１１２から端末１１１への通信を実施した際には、パケット受信部１３３でホワイトリストによる通信制御を実施しながら、前述した経路切替後の経路となるパケット受信部１２２でホワイトリストが再生成される。ホワイトリストの再生成が完了したら、入出力装置６１０からレコード１９０９について、運用状態とする命令を実施し、全てのパケット送受信部が運用状態へと戻る。
【００４８】
上述の説明のようにすることにより、経路切替時に不要となったリストを削除でき、さらに経路切替後もホワイトリストによるセキュアな運用を継続することができる。
また、実施例１と同様に本実施例のパケット中継装置１００で構成されるリングのネットワークが設置されている場所に悪意あるユーザが侵入し、非正規の端末を本実施例のパケット中継装置１００に接続し通信を実施しようとした際、リングポートとなるパケット送受信部のケーブルを抜去するなどして障害を発生させた場合、ホワイトリストの再生成を行う設定となっているパケット受信部２００に非正規の端末を接続した場合、通信が可能な状態になってしまう場合が想定される。その対策として、本実施例のパケット中継装置には、ホワイトリストが再生成状態となっているパケット受信部２００について、リンクダウン時に閉塞を行う機能を持たせることができる。動作については、リンクダウン時の判定項目が実施例１（図９参照）ではホワイトリスト対象外であるか否かであったのに対し、本実施例では当該のパケット受信部２００について、ホワイトリストの再生成設定があり且つ、転送設定メモリ３４０のレコード１８０９の保持内容１８０２が再生成状態であるか否か、となる。
なお、上述について、一例としてリングプロトコルを記載しているが、実施例１と同様にして、スパニングツリープロトコルについても本実施例が適用可能である。
【００４９】
Ｄ．付記
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００５０】
１００  パケット中継装置、２００  パケット受信部、３００  パケット転送部、３１０  ホワイトリスト格納メモリ、３２０  転送先決定部、３３０  転送テーブルメモリ、３４０  転送設定メモリ、４００  Ｓ／Ｗ制御部、４１０  ＣＰＵ、４２０  Ｓ／Ｗメモリ、４２１  ホワイトリスト生成プログラム、４２２  転送設定プログラム、４２３  冗長化プロトコル制御プログラム、５００  パケット送信部、６００  入出力インタフェース、６１０  入出力装置
【図１】
2017073089.tif 000003
【図２】
2017073089.tif 000004
【図３】
2017073089.tif 000005
【図４】
2017073089.tif 000006
【図５】
2017073089.tif 000007
【図６】
2017073089.tif 000008
【図７】
2017073089.tif 000009
【図８】
2017073089.tif 000010
【図９】
2017073089.tif 000011
【図１０】
2017073089.tif 000012
【図１１】
2017073089.tif 000013
【図１２】
2017073089.tif 000014
【図１３】
2017073089.tif 000015
【図１４】
2017073089.tif 000016
【図１５】
2017073089.tif 000017
【国際調査報告】
2017073089.tif 000018
2017073089.tif 000019
2017073089.tif 000020