IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 国立大学法人 名古屋工業大学の特許一覧

<>
  • 特許-ネットワーク管理装置 図1
  • 特許-ネットワーク管理装置 図2
  • 特許-ネットワーク管理装置 図3
  • 特許-ネットワーク管理装置 図4
  • 特許-ネットワーク管理装置 図5
  • 特許-ネットワーク管理装置 図6
  • 特許-ネットワーク管理装置 図7
  • 特許-ネットワーク管理装置 図8
  • 特許-ネットワーク管理装置 図9
  • 特許-ネットワーク管理装置 図10
  • 特許-ネットワーク管理装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-10
(45)【発行日】2024-04-18
(54)【発明の名称】ネットワーク管理装置
(51)【国際特許分類】
   H04L 12/46 20060101AFI20240411BHJP
   H04L 41/04 20220101ALI20240411BHJP
   H04L 41/0895 20220101ALI20240411BHJP
   H04L 41/40 20220101ALI20240411BHJP
   H04L 43/00 20220101ALI20240411BHJP
   H04L 45/42 20220101ALI20240411BHJP
【FI】
H04L12/46 V
H04L41/04
H04L41/0895
H04L41/40
H04L43/00
H04L45/42
【請求項の数】 6
(21)【出願番号】P 2020001712
(22)【出願日】2020-01-08
(65)【公開番号】P2021111857
(43)【公開日】2021-08-02
【審査請求日】2022-11-24
(73)【特許権者】
【識別番号】304021277
【氏名又は名称】国立大学法人 名古屋工業大学
(74)【代理人】
【識別番号】110001128
【氏名又は名称】弁理士法人ゆうあい特許事務所
(72)【発明者】
【氏名】越島 一郎
(72)【発明者】
【氏名】橋本 芳宏
(72)【発明者】
【氏名】尾川 友規
(72)【発明者】
【氏名】西田 稜
【審査官】和平 悠希
(56)【参考文献】
【文献】特開2014-154925(JP,A)
【文献】特開2007-104668(JP,A)
【文献】特開2016-085669(JP,A)
【文献】特表2009-519663(JP,A)
【文献】特開2003-204348(JP,A)
【文献】特開2019-068352(JP,A)
【文献】特開2019-096223(JP,A)
【文献】特開2017-034309(JP,A)
【文献】特開2018-129710(JP,A)
【文献】国際公開第2011/043416(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
産業用制御システムに用いられるネットワーク管理装置であって、
複数の通信装置(30~34、8)と通信するためのネットワークインターフェース(51)と、
前記複数の通信装置の間の通信を媒介する仮想ネットワーク(90)の構成を記述する構成データ(52a)をメモリ(52)から読み出し、読み出した前記構成データに記述された前記仮想ネットワークの構成に従った配送形態で、前記複数の通信装置の間で送信および受信されるパケットを配送するネットワーク構築部(53a)と、
所定のイベントの発生に基づいて、前記構成データを書き換えることで、前記仮想ネットワークにおけるパケットの配送形態を変更するネットワーク変更部(53b)と、を備え
前記構成データは、前記仮想ネットワークにおいてパケットの中継を行う仮想的な中継装置(91、92、93)におけるパケットの転送先を規定する仮想中継テーブルを含み、
前記ネットワーク変更部は、前記仮想的な中継装置の作動を継続させながら前記仮想中継テーブルを書き換えることで、前記仮想ネットワークにおけるパケットの配送形態を変更する、ネットワーク管理装置。
【請求項2】
前記仮想的な中継装置は、複数のポートを有し、前記複数のポートの各々にIDが設定可能であり、同じIDを有するポート間でパケットを配送し、異なるIDを有するポート間でパケットを配送しない仮想的なスイッチであり、
前記ネットワーク変更部は、前記仮想中継テーブルにおいて前記複数のポートの少なくとも一部のIDを変更することで、前記仮想ネットワークにおけるパケットの配送形態を変更する請求項に記載のネットワーク管理装置。
【請求項3】
前記複数の通信装置は、現実の中継装置(55)に設けられた複数のアクセスポート(6)に接続され、
前記ネットワークインターフェースは、前記現実の中継装置に設けられたトランクポート(5)に接続され、
前記複数のアクセスポートには異なるIDが割り当てられており、
前記構成データには、ポート対応テーブルが含まれており、
前記ポート対応テーブルには、前記現実の中継装置の前記複数のアクセスポートに割り当てられたIDと、前記アクセスポートの前記仮想ネットワークにおける接続先との対応関係が記述されており、
前記現実の中継装置は、前記複数のアクセスポートのうちいずれか1つのアクセスポートでパケットを受信した場合、当該パケットに、当該1つのアクセスポートに割り当てられたIDを追加し、前記トランクポートを介して前記ネットワークインターフェースに送信し、
前記ネットワーク構築部は、前記ネットワークインターフェースから受信したパケット中のタグフレームに含まれるIDに対応する前記仮想ネットワーク中の接続先を、前記ポート対応テーブルに基づいて特定し、前記仮想ネットワークにおいて、当該接続先に当該パケットを送信し、
前記ネットワーク構築部は、前記仮想ネットワークの或る接続先から前記仮想ネットワークの外部に送信されるパケットがある場合、前記接続先に対応するIDを前記ポート対応テーブルに基づいて特定し、特定したIDを含むタグフレームを当該パケットに含めて、前記ネットワークインターフェースから前記トランクポートに送信し、
前記現実の中継装置は、前記トランクポートで受信したパケットにタグフレームが含まれている場合、当該タグフレーム中のIDが割り当てられたアクセスポートから、当該パケットを送信する、請求項1または2に記載のネットワーク管理装置。
【請求項4】
産業用制御システムに用いられるネットワーク管理装置であって、
複数の通信装置(30~34、8)と通信するためのネットワークインターフェース(51)と、
前記複数の通信装置の間の通信を媒介する仮想ネットワーク(90)の構成を記述する構成データ(52a)をメモリ(52)から読み出し、読み出した前記構成データに記述された前記仮想ネットワークの構成に従った配送形態で、前記複数の通信装置の間で送信および受信されるパケットを配送するネットワーク構築部(53a)と、
所定のイベントの発生に基づいて、前記構成データを書き換えることで、前記仮想ネットワークにおけるパケットの配送形態を変更するネットワーク変更部(53b)と、を備え
前記複数の通信装置は、現実の中継装置(55)に設けられた複数のアクセスポート(6)に接続され、
前記ネットワークインターフェースは、前記現実の中継装置に設けられたトランクポート(5)に接続され、
前記複数のアクセスポートには異なるIDが割り当てられており、
前記構成データには、ポート対応テーブルが含まれており、
前記ポート対応テーブルには、前記現実の中継装置の前記複数のアクセスポートに割り当てられたIDと、前記アクセスポートの前記仮想ネットワークにおける接続先との対応関係が記述されており、
前記現実の中継装置は、前記複数のアクセスポートのうちいずれか1つのアクセスポートでパケットを受信した場合、当該パケットに、当該1つのアクセスポートに割り当てられたIDを追加し、前記トランクポートを介して前記ネットワークインターフェースに送信し、
前記ネットワーク構築部は、前記ネットワークインターフェースから受信したパケット中のタグフレームに含まれるIDに対応する前記仮想ネットワーク中の接続先を、前記ポート対応テーブルに基づいて特定し、前記仮想ネットワークにおいて、当該接続先に当該パケットを送信し、
前記ネットワーク構築部は、前記仮想ネットワークの或る接続先から前記仮想ネットワークの外部に送信されるパケットがある場合、前記接続先に対応するIDを前記ポート対応テーブルに基づいて特定し、特定したIDを含むタグフレームを当該パケットに含めて、前記ネットワークインターフェースから前記トランクポートに送信し、
前記現実の中継装置は、前記トランクポートで受信したパケットにタグフレームが含まれている場合、当該タグフレーム中のIDが割り当てられたアクセスポートから、当該パケットを送信する、ネットワーク管理装置。
【請求項5】
産業用制御システムに用いられるネットワーク管理装置であって、
複数の通信装置(30~34、8)と通信するためのネットワークインターフェース(51)と、
前記複数の通信装置の間の通信を媒介する仮想ネットワーク(90)の構成を記述する構成データ(52a)をメモリ(52)から読み出し、読み出した前記構成データに記述された前記仮想ネットワークの構成に従った配送形態で、前記複数の通信装置の間で送信および受信されるパケットを配送するネットワーク構築部(53a)と、
所定のイベントの発生に基づいて、前記構成データを書き換えることで、前記仮想ネットワークにおけるパケットの配送形態を変更するネットワーク変更部(53b)と、を備え
前記ネットワーク変更部は、前記仮想ネットワークの外部において、前記仮想ネットワーク中を配送されるパケットの内容に基づいて、前記所定のイベントが発生したか否かを判定する、ネットワーク管理装置。
【請求項6】
産業用制御システムに用いられるネットワーク管理装置であって、
複数の通信装置(30~34、8)と通信するためのネットワークインターフェース(51)と、
前記複数の通信装置の間の通信を媒介する仮想ネットワーク(90)の構成を記述する構成データ(52a)をメモリ(52)から読み出し、読み出した前記構成データに記述された前記仮想ネットワークの構成に従った配送形態で、前記複数の通信装置の間で送信および受信されるパケットを配送するネットワーク構築部(53a)と、
所定のイベントの発生に基づいて、前記構成データを書き換えることで、前記仮想ネットワークにおけるパケットの配送形態を変更するネットワーク変更部(53b)と、を備え
前記ネットワーク変更部は、前記所定のイベントの発生に基づいて、前記仮想ネットワーク内において第1のサブネット(VL2)に属する通信端末のうち一部(7d、7e)を前記第1のサブネットから第2のサブネット(VL3)に移動させ、前記第2のサブネットと前記仮想ネットワーク中の他のサブネット(VL1)との間のパケットの配送を中継する中継装置(9b)を生成する、ネットワーク管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、産業用制御システムに用いられるネットワーク管理装置に関するものである。
【背景技術】
【0002】
従来、産業用制御システムにおいて、ネットワークの接続形態を動的に変更する技術が記載されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-158194号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような技術を用いる場合、ネットワークの接続形態を変更するためには、複数のハードウェアを用いた複雑な経路設定を行ったり、ネットワークケーブルを付け替えたりする必要がある。本開示は、産業用制御システムにおいて、ネットワークの接続形態を従来よりも簡易に変更できる技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
本開示の第1の観点によれば、産業用制御システムに用いられるネットワーク管理装置は、複数の通信装置(30~34、8)と通信するためのネットワークインターフェース(51)と、前記複数の通信装置の間の通信を媒介する仮想ネットワーク(90)の構成を記述する構成データ(52a)をメモリ(52)から読み出し、読み出した前記構成データに記述された前記仮想ネットワークの構成に従った配送形態で、前記複数の通信装置の間で送信および受信されるパケットを配送するネットワーク構築部(53a)と、
所定のイベントの発生に基づいて、前記構成データを書き換えることで、前記仮想ネットワークにおけるパケットの配送形態を変更するネットワーク変更部(53b)と、を備える。
【0006】
このようにすることで、ネットワーク管理装置が、所定のイベントの発生に応じて、構成データを書き換えることで、複数の通信装置間の通信経路を一元的に柔軟に変更することができる。すなわち、ネットワークの接続形態を簡易に変更できる。
【0007】
また、第2の観点によれば、前記構成データは、前記仮想ネットワークにおいてパケットの中継を行う仮想的な中継装置(91、92、93)におけるパケットの転送先を規定する仮想中継テーブルを含み、前記ネットワーク変更部は、前記仮想的な中継装置の作動を継続させながら前記仮想中継テーブルを書き換えることで、前記仮想ネットワークにおけるパケットの配送形態を変更する。
【0008】
このように、仮想的な中継装置の作動を継続させながら仮想中継テーブルを書き換えることで、仮想的な中継装置を起動し直す場合に比べ、より迅速に仮想ネットワークにおけるパケットの配送形態を変更することができる。
【0009】
また、第3の観点によれば、前記仮想的な中継装置は、複数のポートを有し、前記複数のポートの各々にIDが設定可能であり、同じIDを有するポート間でパケットを配送し、異なるIDを有するポート間でパケットを配送しない仮想的なスイッチであり、前記ネットワーク変更部は、前記仮想中継テーブルにおいて前記複数のポートの少なくとも一部のIDを変更することで、前記仮想ネットワークにおけるパケットの配送形態を変更する。
【0010】
このように、仮想的に構成されたスイッチのポートのIDを変更するという簡易な処理で、仮想ネットワークにおけるパケットの配送形態を変更することができる。
【0011】
また、第4の観点によれば、前記複数の通信装置は、現実の中継装置(55)に設けられた複数のアクセスポート(6)に接続され、前記ネットワークインターフェースは、前記現実の中継装置に設けられたトランクポート(5)に接続され、前記複数のアクセスポートには異なるIDが割り当てられており、前記構成データには、ポート対応テーブルが含まれており、前記ポート対応テーブルには、前記現実の中継装置の前記複数のアクセスポートに割り当てられたIDと、前記アクセスポートの前記仮想ネットワークにおける接続先との対応関係が記述されており、前記現実の中継装置は、前記複数のアクセスポートのうちいずれか1つのアクセスポートでパケットを受信した場合、当該パケットに、当該1つのアクセスポートに割り当てられたIDを追加し、前記トランクポートを介して前記ネットワークインターフェースに送信し、前記ネットワーク構築部は、前記ネットワークインターフェースから受信したパケット中のタグフレームに含まれるIDに対応する前記仮想ネットワーク中の接続先を、前記ポート対応テーブルに基づいて特定し、前記仮想ネットワークにおいて、当該接続先に当該パケットを送信し、前記ネットワーク構築部は、前記仮想ネットワークの或る接続先から前記仮想ネットワークの外部に送信されるパケットがある場合、前記接続先に対応するIDを前記ポート対応テーブルに基づいて特定し、特定したIDを含むタグフレームを当該パケットに含めて、前記ネットワークインターフェースから前記トランクポートに送信し、前記現実の中継装置は、前記トランクポートで受信したパケットにタグフレームが含まれている場合、当該タグフレーム中のIDが割り当てられたアクセスポートから、当該パケットを送信する。
【0012】
このように、ネットワーク管理装置における1つのネットワークインターフェースに、現実の中継装置を介して、複数の通信装置を接続させることで、ネットワーク管理装置側で設けるネットワークインターフェースの数を減らすことができる。また、ネットワーク管理装置50における1つのネットワークインターフェースに、複数の通信装置からパケットが届いても、現実の中継装置によってそれらパケットに含められたIDとポート対応テーブルに基づいて、仮想ネットワーク90内における適切な配送が実現する。
【0013】
また、ネットワーク管理装置50における1つのネットワークインターフェースに、複数の通信装置からパケットが届いても、現実の中継装置によってそれらパケットに含められたIDとポート対応テーブルに基づいて、仮想ネットワーク90内における適切な配送が実現する。
【0014】
また、仮想ネットワークの或る接続先から仮想ネットワークの外部に送信されるパケットがある場合でも、当該接続先とポート対応テーブルに基づいて当該パケットにIDが付与されることで、仮想ネットワーク内から仮想ネットワーク外への適切な配送が実現する。
【0015】
また、第5の観点によれば、前記ネットワーク変更部は、前記仮想ネットワークの外部において、前記仮想ネットワーク中を配送されるパケットの内容に基づいて、前記所定のイベントが発生したか否かを判定する。このようにすることで、ネットワーク変更部を仮想ネットワーク内において仮想ネットワークを介してネットワーク変更部に対してパケットを送信するという複雑な構成を採用する必要がない。
【0016】
また、第6の観点によれば、前記ネットワーク変更部は、前記所定のイベントの発生に基づいて、前記仮想ネットワーク内において第1のサブネット(VL2)に属する通信端末のうち一部(7d、7e)を前記第1のサブネットから第2のサブネット(VL3)に移動させ、前記第2のサブネットと前記仮想ネットワーク中の他のサブネット(VL1)との間のパケットの配送を中継する中継装置(9b)を生成する。このようにすることで、一部の通信端末を第1のサブネットから第2のサブネットに移動させて移動先の第2のサブネットと他のサブネットとの間を中継する中継装置を生成するという、ダイナミックな配送経路の切り替えが可能となる。
【0017】
なお、各構成要素等に付された括弧付きの参照符号は、その構成要素等と後述する実施形態に記載の具体的な構成要素等との対応関係の一例を示すものである。
【図面の簡単な説明】
【0018】
図1】第1実施形態に係る通信ネットワークの構成図である。
図2】仮想ネットワークの構成等を示す図である。
図3】ポート対応テーブルの構成を示す図である。
図4】パケットを外部から受信するときのネットワーク構築部の処理内容を示すフローチャートである。
図5】パケットを外部に送信受信するときのネットワーク構築部の処理内容を示すフローチャートである。
図6】仮想スイッチの各ポートのVLAN IDを示す図である。
図7】ネットワーク変更部53bが実行する処理のフローチャートである。
図8】仮想スイッチの各ポートのVLAN IDを示す図である。
図9】他の実施形態に係る仮想ネットワークの一部の変更前の状態を示す図である。
図10】他の実施形態に係る仮想ネットワークの一部の変更後の状態を示す図である。
図11】他の実施形態に係る仮想ネットワークの一部の変更後の状態を示す図である。
【発明を実施するための形態】
【0019】
以下、実施形態について説明する。図1に示すように、本実施形態にかかる通信システムは、ルータ11を介してインターネット等の広域ネットワーク1に接続されている。この通信システムは、例えば、企業等の団体に属して地理的に離れた複数の拠点L1、L2に配置されたローカルエリアネットワーク(以下、LANという)が互いに接続されて構成される。図1の例では、通信システムを構成するLANが配置された拠点の数は2個であるが、3個以上であってもよい。
【0020】
拠点L1は、例えば団体の本部機能を有する拠点である。拠点L1には、LAN20、30が配置されている。LAN20は、非武装ゾーンとも呼ばれるネットワークである。拠点L1内にあってLAN20に接続される装置としては、ルータ11、21、端末22、23等がある。ルータ11、21以外でLAN20に接続される端末22、23等は、ルータ11の設定により、広域ネットワークからの接続が許可される。しかし、ルータ21の設定により、LAN30およびその先の拠点L2のネットワーク内の装置への接続は許可されない。端末22、23は、例えば、外部向けのWebサーバであってもよい。
【0021】
LAN30は、団体内のタスクを効率化したり団体の構成員間で情報のやり取りをしたりするために設置されている、エンタープライズゾーンとも呼ばれるネットワークである。拠点L2内にあってLAN30に接続される装置としては、ルータ21、31、端末32、33、34等がある。
【0022】
拠点L2は、例えば工場等の生産機能を有する拠点である。拠点L2には、ネットワーク管理装置50、スイッチ55、および複数の通信装置8が配置されている。拠点L2に配置されるこれら機器は、全体として、産業用制御システムを構成する。そして、これら機器を接続するネットワークは、産業用制御ネットワークである。
【0023】
ネットワーク管理装置50は、上述のエンタープライズゾーンに接続する端末および拠点L2にある通信装置を合わせた複数の通信装置の間の通信を媒介する装置である。ネットワーク管理装置50は、その内部に仮想的にネットワークを構成し、その構成に従った配送形態で、これら複数の通信装置の間で送信および受信されるパケットを配送する。そしてネットワーク管理装置50は、所定のイベントの発生に応じてその仮想的なネットワークの構成を変更する。ネットワーク管理装置50の構成および作動については後述する。
【0024】
スイッチ55は、タグVLANに対応する現実の、すなわち、仮想的に生成されたのではない、中継装置であり、例えばレイヤ2スイッチである。スイッチ55には、イーサネットケーブルを介してネットワーク管理装置50に接続する1つのトランクポート5が設けられている。
【0025】
また、スイッチ55には、n個のアクセスポート6が設けられている。nは、2以上でもよいし、50以上でもよいし、1000以上でもよい。アクセスポート6のうち1つには、イーサネットケーブル等を介して拠点L1のルータ31が接続される。また、アクセスポート6には、通信装置8が、現実のイーサネットケーブルを介して、接続される。
【0026】
通信装置8の数は、2個以上でも、5個以上でも、10個以上でも、50個以上でも、1000個以上でもよい。通信装置8は、端末装置でもよいし、ゲートウウェイ、スイッチ等の中継装置でもよい。通信装置8は、拠点L2に設置された製造ラインで製品を製造するためのアクチュエータを制御する制御装置を含む。また、通信装置8は、SCADA(Supervisory Control And Data Acquisition)およびOPCサーバ(異なる製造元の各種制御機器間でリアルタイムでデータ通信を行うためのOPC:OLE for Process Controlプロトコルを用いたデータ管理サーバ)を含む。
【0027】
通信装置8のうち中継装置は、図1に示すように、2つ以上のアクセスポート6に接続されていてもよい。また、図1に示すように、複数の通信装置8が中継装置である1つの通信装置8を介してアクセスポート6に接続されてもよい。
【0028】
アクセスポート6の各々には、VLAN IDが設定可能である。同じVLAN IDを有するアクセスポート間は、スイッチ55内部においてパケットが配送可能である。異なるVLAN IDを有するポート間は、スイッチ55内部においてはパケットが配送できず、ネットワーク管理装置50を介してしかパケットが配送されない。トランクポート5は、どのVLAN IDのパケットも送受信できる。
【0029】
アクセスポート6の各々には、他のアクセスポート6とは異なるVLAN IDが割り当てられている。つまり、アクセスポート6に割り当てられたVLAN IDはすべて異なる。このようにすることで、スイッチ55内においてアクセスポート6から他のアクセスポート6にパケットが転送されることがなくなる。そして、アクセスポート6間の通信は、必ずネットワーク管理装置50で中継される。なお、構成によってはアクセスポート6に同じVLAN IDを付加しても良く、この場合は複数のアクセスポート6がグループとして管理される。
【0030】
また、トランクポート5からネットワーク管理装置50に送信されるパケットは、IEEE802.1Qで規定されるタグフレーム付きのイーサネットフレームである。タグフレームにはVLAN IDを示すデータが含まれる。
【0031】
スイッチ55は、通信装置8からまたはルータ31から送信されて或るアクセスポート6でパケットを受信した場合、当該パケットに、当該アクセスポート6に割り当てられたVLAN IDを含むタグフレームを追加し、トランクポート5を介してネットワークインターフェース51に送信する。
【0032】
また、スイッチ55は、ネットワーク管理装置50から送信されてトランクポート5で受信したパケットにタグフレームが含まれている場合、当該タグフレーム中のVLAN IDが割り当てられたアクセスポート6から、当該パケットを送信する。このときスイッチ55は、当該パケットからタグフレームを削除してもよい。
【0033】
ここで、ネットワーク管理装置50の詳細について説明する。ネットワーク管理装置50は、ネットワークインターフェースと、メモリ52と、CPU53と、を有している。
【0034】
ネットワークインターフェース51は、イーサネットケーブルを介してスイッチ55のトランクポート5に接続される。
【0035】
メモリ52は、RAM、ROM、フラッシュメモリ等の各種メモリを含む。RAMは、書き込み可能な揮発性記憶媒体である。ROMは、書き込み不可能な不揮発性記憶媒体である。フラッシュメモリは、書き込み可能な不揮発性記憶媒体である。RAM、ROM、フラッシュメモリは、いずれも非遷移的実体的記憶媒体である。CPU53は、ROMまたはフラッシュメモリに記憶された不図示のプログラムを実行し、その実行の際にRAMを作業領域として用いることで、後述する種々の処理を実現する。
【0036】
本実施形態においては、CPU53は、ROMまたはフラッシュメモリに記憶された不図示のネットワーク構築プログラムを実行することで、図2に示すネットワーク構築部53aとして機能する。またCPU53は、ROMまたはフラッシュメモリに記憶された不図示のネットワーク変更プログラムを実行することで、図3に示すネットワーク変更部53bとして機能する。
【0037】
CPU53は、マルチタスク機能により同時並行的にネットワーク構築部53aおよびネットワーク変更部53bとして機能する。以下、簡単のため、CPU53がネットワーク構築プログラムを実行する処理を、単にネットワーク構築部53aが実行する処理として説明する。そして、CPU53がネットワーク変更プログラムを実行する処理を、単にネットワーク変更部53bが実行する処理として説明する。
【0038】
まず、ネットワーク構築部53aについて説明する。ネットワーク構築部53aは、図2に示すように、メモリ52にあらかじめ記録された構成データ52aを読み出し、読み出した構成データ52aの内容に従って、仮想ネットワーク90を生成およびエミュレートする。仮想ネットワークは、CPU53およびメモリ52のリソースを用いて仮想化技術によってソフトウェア的に生成された仮想環境である。
【0039】
仮想ネットワーク90においては、複数個の仮想的な通信装置が生成される。それら複数個の仮想的な通信装置は、複数個の仮想的な中継装置を含む。これら仮想的な中継装置は、仮想ネットワーク90内において仮想的にパケットを中継する機能を有する。仮想的な中継装置としては、例えば、仮想的なルータ、仮想的なスイッチ、仮想的なリピータ等がある。また、仮想ネットワーク90においては、これら複数の仮想的な通信装置間のパケットの配送経路、および、これら複数の仮想的な通信装置と外部の現実の通信装置8との間の配送経路が、仮想的に生成される。これら複数の仮想的な通信装置の構成および機能、ならびに、上記の仮想的な配送経路を示す情報は、構成データ52aに記述される。
【0040】
ネットワーク構築部53aを実現するためのネットワーク構築プログラムとしては、例えば、Linux(登録商標)に用いられるKVM(Kernel-based Virtual Machine)が利用可能である。また、ソフトウェア定義型ネットワーク(SDN)を構築するKVM以外のアプリケーションも利用可能である。また、仮想的な中継装置およびそれによるパケットの配送形態を実現するためのプログラムとしては、OpenvSwitch、OpenFlow等が利用可能である。
【0041】
本実施形態においては、仮想環境において、中継装置に該当する複数個の仮想スイッチ91、92、93が仮想的に生成される。仮想スイッチ91およびそれに接続する通信装置は、スーパーバイザリゾーンに属する。スーパーバイザリゾーンは、拠点L2の最上位に設置されており、拠点L2内の制御機器すべてのデータを集中させ、状態を一元的に監視するための通信装置が接続されている。また、スーパーバイザリゾーンでは、一段下のコントロールゾーンと通信するため、OPC-DAプロトコルやOPC-UAプロトコルが用いられ、SCADAのヒューマンマシンインターフェース用の端末が接続される。
【0042】
仮想スイッチ92、93およびそれに接続する通信装置は、コントロールゾーンに属する。コントロールゾーンは、スーパーバイザリゾーンより狭い単位で設置され、PLC、SLC等の制御機器と接続されている。ベンダーや制御機器ごとに通信方式は異なるが、それらを一つの汎用プロトコルに集約するOPCサーバがコントロールゾーンに設置される。コントロールゾーンでは、制御機器間の情報がやり取りされ、生産情報をリアルタイムで把握しコントロールできる。
【0043】
構成データ52aは、生成対象の仮想ネットワーク90の構成を記述するデータである。ネットワーク構築プログラムとしてKVM、OpenvSwitchおよびOpenFlowコントローラが用いられる場合、構成データは、仮想環境内の仮想マシンのイメージデータ、定義ファイル、OpenvSwitchの各種設定ファイル、OpenFlowのフローテーブル等が、構成データを構成する。ネットワーク管理装置50においては、メモリ52のフラッシュメモリに、この構成データが、作成されて記録されている。構成データは、あらかじめ他のコンピュータで作業者の操作に基づいて作成されたものであってもよい。あるいは、CPU53が、KVM、Openvswitch、OpenFlowを実行する時に、ネットワーク管理装置50に対するユーザの設定操作に基づいて、これら構成データを作成してもよい。
【0044】
本実施形態においては、ネットワーク構築部53aによって構築された仮想ネットワーク90において、上述の仮想スイッチ91、92、93が、上述のルータ31および通信装置8に接続されている。仮想スイッチ91、92、93、ルータ31、通信装置8間の接続形態も、構成データ52aに記述されている。ネットワーク構築部53aは、この構成データ52aの記述内容に従って、パケットを配送する。
【0045】
構成データ52aには、ポート対応テーブルが含まれる。このポート対応テーブルは、スイッチ55の各アクセスポート6に割り当てられたVLAN IDを、当該アクセスポート6の仮想ネットワーク90における接続先との対応関係を示すものである。本実施形態では、仮想ネットワーク90における接続先は、仮想ネットワーク90内において仮想的に生成される仮想スイッチ91、92、93等の通信機器および当該通信機器の通信ポートに対応する。
【0046】
例えば、ポート対応テーブルは、図3に示すように、複数のレコードを含み、各レコードは、アクセスポート6のVLAN IDと、当該VLAN IDに対応する通信機器およびポートと、を含んでいる。なお、図3では、参考のため、各レコードの左側に、当該レコードに対応する現実の通信装置8を示している。図3では、複数個のVLAN IDと、複数組の通信機器およびポートの組との間で、1対1の対応関係が規定される。
【0047】
図3のポート対応テーブルにおいては、ルータ31が現実に接続しているスイッチ55のアクセスポート6に割り当てられたVLAN IDである「1」が、仮想スイッチ91のポート91aに対応付けられている。
【0048】
また、端末8a、8b、8cが現実に接続しているスイッチ55のアクセスポート6にそれぞれ割り当てられたVLAN IDである「2」、「3」、「4」が、それぞれ、仮想スイッチ91のポート91b、仮想スイッチ92のポート92a、仮想スイッチ93のポート93aに、対応付けられている。
【0049】
また、仮想スイッチ91と仮想スイッチ92の間を繋ぐルータ8dが現実に接続しているスイッチ55の2つのアクセスポート6に割り当てられたVLAN IDである「5」、「6」が、それぞれ、仮想スイッチ91のポート91c、仮想スイッチ92のポート92bに、対応付けられている。つまり、スイッチ55において「5」のVLAN IDが割り当てられたアクセスポート6は、ルータ8dの仮想スイッチ91側に対応するポートとなる。また、スイッチ55において「6」のVLAN IDが割り当てられたアクセスポート6は、ルータ8dの仮想スイッチ92側に対応するポートとなる。
【0050】
また、仮想スイッチ91と仮想スイッチ93の間を繋ぐルータ8eが現実に接続しているスイッチ55の2つのアクセスポート6に割り当てられたVLAN IDである「7」、「8」が、それぞれ、仮想スイッチ91のポート91d、仮想スイッチ93のポート93bに、対応付けられている。つまり、スイッチ55において「7」のVLAN IDが割り当てられたアクセスポート6は、ルータ8eの仮想スイッチ91側に対応するポートとなる。また、スイッチ55において「8」のVLAN IDが割り当てられたアクセスポート6は、ルータ8eの仮想スイッチ93側に対応するポートとなる。
【0051】
また、通信装置8fが現実に接続しているスイッチ55のアクセスポート6に割り当てられたVLAN IDである「9」が、仮想スイッチ92のポート92cに、対応付けられている。なお、通信装置8は、現実のスイッチ8gを介して、現実の制御機器8h、8i、8jと接続されている。制御機器には、制御対象であるアクチュエータが接続されている。これらアクチュエータは、製造ラインにおいて製品を生産するために使用される装置であり、例えば、ロボットアームである。
【0052】
また、後述する通信装置であるハニーポット8kが現実に接続しているスイッチ55のアクセスポート6に割り当てられたVLAN IDである「10」が、仮想スイッチ93のポート93cに、対応付けられている。
【0053】
ネットワーク構築部53aは、このポート対応テーブルに基づいて、仮想ネットワーク90内におけるパケットの配送を行う。具体的には、ネットワーク構築部53aは、図4の処理を常時行っている。ネットワーク構築部53aは、図4の処理において、まずステップS110で、自機外部から、すなわちスイッチ55から、パケットを受信するまで待機する。外部からパケットを受信すると、続いてステップS120に進み、受信したパケットに含まれるタグフレーム中のVLAN IDを読み出す。このタグフレームおよびその中のVLAN IDは、スイッチ55によってパケットに付与されている。
【0054】
続いてネットワーク構築部53aは、ステップS130で、読み出したVLAN IDに対応する仮想スイッチとポートを、ポート対応テーブルに基づいて特定する。例えば、図3の例では、ステップS120で読み出したVLAN IDが1であれば、仮想スイッチ91およびそのポート91aが、ステップS130で特定される。
【0055】
続いてステップS140では、ステップS110で受信したパケットから、タグフレームを除去する。続いてS150では、ステップS140でタグフレームが除去された後のパケットを、ステップS130で特定した当該仮想スイッチの当該ポートに、仮想ネットワーク90内で送信する。これにより、当該仮想スイッチは、当該仮想スイッチについて構成データ52aで規定された作動に従い、パケットの中継を行う。ネットワーク構築部53aは、ステップS150の後、ステップS110に戻る。
【0056】
以上の通り、ネットワーク構築部53aは、ネットワークインターフェース51から受信したパケット中のタグフレームに含まれるIDに対応する仮想ネットワーク90中の接続先を、ポート対応テーブルに基づいて特定する。そして、ネットワーク構築部53aは、仮想ネットワーク90において、上記のように特定した接続先に当該パケットを送信する。
【0057】
このようにすることで、ネットワーク構築部53aは、ポート対応テーブルに規定された形態で、ネットワークインターフェース51を介して外部から受信したパケットを、仮想ネットワーク90内で配送することができる。したって、仮想ネットワーク90のネットワーク構成通りに、データが配送される。
【0058】
したがって、ネットワーク管理装置50におけるネットワークインターフェース51に、複数の通信装置8からパケットが届いても、スイッチ55によってそれらパケットに含められたIDとポート対応テーブルに基づいて、仮想ネットワーク90内における適切な配送が実現する。
【0059】
また、ネットワーク構築部53aは、図5の処理を図4の処理および他の処理と同時並行的に常時行っている。ネットワーク構築部53aは、この図5の処理において、まずステップS210で、仮想ネットワーク90において、仮想スイッチのポートから仮想ネットワーク90の外部に送信されるパケットを取得する。このパケットは、当該仮想スイッチが他のポートから受信されたパケットなので、メモリ52のRAMに記録されている。
【0060】
続いてネットワーク構築部53aは、ステップS220で、特定した仮想スイッチおよびポートに対応するVLAN IDを、ポート対応テーブルに基づいて特定する。続いてステップS230では、ステップS220で特定したVLAN IDを含むタグフレームを、ステップS210で取得したパケットに追加する。
【0061】
続いてステップS240では、ステップS230でタグフレームが追加されたパケットを、ネットワークインターフェース51を用いて、外部の装置すなわちスイッチ55に、送信する。ステップS240の後、ステップS210に戻る。
【0062】
このようにしてネットワークインターフェース51から送信されたパケットは、スイッチ55のトランクポート5で受信される。スイッチ55は、受信したパケット中のVLAN IDが割り当てられたアクセスポート6を特定し、当該パケットからタグフレームを除去し、除去後のパケットを特定したアクセスポート6から送信する。
【0063】
以上の通り、ネットワーク構築部53aは、仮想ネットワーク90の或る接続先から仮想ネットワーク90の外部に送信されるパケットがある場合、当該接続先に対応するIDをポート対応テーブルに基づいて特定する。そして、特定したIDを含むタグフレームを当該パケットに含めて、ネットワークインターフェース51からスイッチ55のトランクポート5に送信する。
【0064】
このようにすることで、ネットワーク構築部53aは、ポート対応テーブルに規定された形態で、仮想ネットワーク90内部で仮想スイッチから現実の通信装置8へパケットを送信する。したって、仮想ネットワーク90のネットワーク構成通りに、データが配送される。
【0065】
そして、仮想ネットワーク90の或る接続先(例えば、特定の仮想スイッチの特定のポート)から仮想ネットワーク90の外部に送信されるパケットがある場合でも、当該接続先とポート対応テーブルに基づいて当該パケットにIDが付与されることで、仮想ネットワーク90内から仮想ネットワーク90外への適切な配送が実現する。
【0066】
また、ネットワーク管理装置50における1つのネットワークインターフェース51に、現実の中継装置であるスイッチ55を介して、複数の通信装置8を接続させても、図4図5の処理により、ネットワーク管理装置50側で設けるネットワークインターフェースの数を減らすことができる。
【0067】
なお、仮想ネットワーク90においては、仮想スイッチ91がルータ8dを介して仮想スイッチ92に接続され、ルータ8eを介して仮想スイッチ93に接続される。それ以外の仮想スイッチ91、92、93間のパケット配送経路はない。
【0068】
次に、ネットワーク変更部53bについて説明する。ネットワーク変更部53bは、ネットワーク構築部53aによって構成された仮想ネットワーク90に対して、構成データ52aを変更することで、仮想ネットワーク90の構成を変更する。仮想ネットワーク90の構成の変更は、具体的には、仮想スイッチのポートのVLAN IDを変更することで実現する。
【0069】
仮想スイッチ91、92、93のポートの各々には、VLAN IDを設定することができる。各ポートのVLAN IDは、構成データ52a中の仮想中継テーブルに記述されている。具体的には、仮想中継テーブルには、仮想スイッチ91、92、93が有する複数のポートの各々について、当該ポートに割り当てられるVLAN IDが、記述されている。
【0070】
そして、ネットワーク構築部53aは、この仮想中継テーブルに基づいて、仮想スイッチ91、92、93に届けられたパケットの配送形態を制御する。すなわち、ある仮想スイッチのあるポートがパケットを受信した場合、同じ仮想スイッチにおいて当該ポートと同じVLAN IDが仮想中継テーブルにて割り当てられているポートから、当該パケットを送信させる。そして、同じ仮想スイッチにおいて当該ポートと異なるVLAN IDが仮想中継テーブルにて割り当てられているポートからは、当該パケットを送信させない。したがって、仮想スイッチのポートへのVLAN IDを割り当てることは、仮想スイッチにおけるパケットの転送先を規定することに該当する。
【0071】
なお、ネットワーク変更部53bの作動について説明するため、図2で示した仮想ネットワーク90において、仮想スイッチ91、92、93の各ポートのVLAN IDは、図6に示すようなものになっていたとする。図6において、四角い枠のみ記載されたポートにはVLAN IDとして100が割り当てられ、四角く塗りつぶされたポートにはVLAN IDとして200が割り当てられる。
【0072】
したがって、仮想スイッチ92の各ポートにはVLAN IDとして100が割り当てられ、仮想スイッチ93の各ポートにはVLAN IDとして200が割り当てられている。そして、仮想スイッチ91のポートのうち、ルータ8eに接続されるポート91d以外のすべてのポートにはVLAN IDとして100が割り当てられ、ポート91dにはVLAN IDとして200が割り当てられている。
【0073】
このような状態では、仮想スイッチ91と仮想スイッチ92とを介したパケットの送受信は可能となるが、仮想スイッチ91と仮想スイッチ93とを介したパケットの送受信ができなくなる。これは、仮想スイッチ91と仮想スイッチ92の各ポートに割り当てられたVLAN IDが同じで、仮想スイッチ93に割り当てられたVLAN IDがそれらと異なっているからである。
【0074】
また、仮想スイッチ93には、通信装置8fと同じIPアドレスおよび同じMACアドレスが設定されたハニーポット8kが接続されている。ハニーポット8kは、通信装置8fに対して悪意のパケットを送信する攻撃者を欺瞞するための通信装置である。
【0075】
そして、ネットワーク変更部53bは、図7に示す処理を常時実行している。この処理において、ネットワーク変更部53bは、まずステップS310で、所定のイベントが発生したか否かを判定する。所定のイベントは、例えば、仮想スイッチ91fに、所定の通信許可条件を満たさない通信装置8f宛のパケットが届いたというイベントであってもよい。
【0076】
所定の通信許可条件は、例えば、メモリ52のフラッシュメモリにあらかじめ不図示のホワイトリストとして記録されていてもよい。例えば、ホワイトリストは、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、プロトコルのうち1つまたは複数のパラメータから成るレコードが、複数個記録されている。
【0077】
そして、ネットワーク変更部53bは、仮想スイッチ91fに届いた通信装置8f宛のパケットの特徴が、これら複数のレコードのいずれか1つの記載内容に完全一致した場合、当該パケットが所定の通信許可条件を満たすと判定する。この場合、ネットワーク変更部53bは、所定のイベントが発生しないと判定する。
【0078】
また、ネットワーク変更部53bは、仮想スイッチ91fに届いた通信装置8f宛のパケットの特徴が、これら複数のレコードのうちどのレコードの記載内容にも完全一致しない場合、当該パケットが所定の通信許可条件を満たさないと判定する。この場合、ネットワーク変更部53bは、所定のイベントが発生したと判定する。通信許可条件を満たさないパケットは、ポートスキャン、マルウェア送信等のための、すなわち、通信装置8fを攻撃するための、パケットである可能性が高い。このパケットは、広域ネットワーク1を介して届いく場合もあれば、拠点L1において悪意の攻撃者に乗っ取られた通信装置から発信される場合もある。
【0079】
なお、このような方法で所定のイベントが発生したか否かを判定するため、仮想ネットワーク90の外部にあるネットワーク変更部53bが、仮想ネットワーク90内において仮想スイッチ91fに届いたパケットの内容を、読み取る。これは、仮想スイッチ91fとネットワーク変更部53bとの間の仮想ネットワーク90を用いないデータ交換によって実現される。仮想ネットワーク90を用いないデータ交換としては、記憶領域の共有、プロセス間通信がある。
【0080】
このように、ネットワーク変更部53bは、仮想ネットワーク90の外部において、仮想ネットワーク90中を配送されるパケットの内容に基づいて、所定のイベントが発生したか否かを判定する。このように、仮想ネットワーク90の外部においても仮想ネットワーク90中を配送されるパケットに基づいた判定をネットワーク変更部53bが行えるようにすることで、ネットワーク変更部53bを仮想ネットワーク90内において仮想ネットワーク90を介してネットワーク変更部53bに対してパケットを送信するという複雑な構成を採用する必要がない。
【0081】
ネットワーク変更部53bは、ステップS31で所定のイベントが発生したと判定した場合、ステップS320に進み、所定のイベントが発生していないと判定した場合、ステップS310の判定を再度行う。
【0082】
ネットワーク変更部53bは、ステップS320では、仮想ネットワーク90のネットワーク構成を変更する。具体的には、構成データ52a中の仮想中継テーブルを書き換えることで、仮想スイッチ91、92、93の各ポートのVLAN IDを図8に示すような形態に変更する。
【0083】
すなわち、仮想スイッチ92、93の各ポートのVLAN IDは変更せず、仮想スイッチ91の各ポートのVLAN IDを変更する。具体的には、仮想スイッチ91のポートのうち、ルータ8d、8eに接続されるポート91c、91d以外のすべてのポートのVLAN IDを、100から200に変更し、ポート91c、91dのVLAN IDは変更しない。これにより、仮想スイッチ91のポートのうち、ルータ8dに接続されるポート91c以外のすべてのポートにはVLAN IDとして200が割り当てられ、ポート91cにはVLAN IDとして100が割り当てられる。
【0084】
このような状態では、仮想スイッチ91と仮想スイッチ93とを介したパケットの送受信は可能となるが、仮想スイッチ91と仮想スイッチ92とを介したパケットの送受信ができなくなる。これは、仮想スイッチ91と仮想スイッチ93の各ポートに割り当てられたVLAN IDが同じで、仮想スイッチ92に割り当てられたVLAN IDがそれらと異なっているからである。
【0085】
そして、ハニーポット8kは、通信装置8fと同じIPアドレスおよびMACアドレスを有しているので、仮想スイッチ91に届いた通信装置8f宛のパケットは、仮想スイッチ93を介してハニーポット8kに届けられる。なお、ハニーポット8kは、スイッチ55に接続された現実の通信装置であってもよいし、仮想ネットワーク90内に仮想的に生成されたバーチャルマシンであってもよい。ハニーポット8kは、受信したパケットを自機の記憶媒体に記録し、更に、攻撃者から送られるマルウェアを自機の記憶媒体に記録する。このようになっていることで、通信装置8fに対する攻撃を防ぐことができると共に、ハニーポット8kがネットワークの切り替えに気付かれる事なく攻撃者の情報を取得することができる。
【0086】
ネットワーク変更部53bは、ステップS320の後、ステップS310に戻り、所定のイベントが発生したか否かを判定する。例えば、パケットが所定の通信許可条件を満たさないと判定された後は、通信許可条件を満たさないパケットが最後に送信されてから所定時間(例えば1時間)以上経過することが、所定のイベントであってもよい。
【0087】
この場合、通信許可条件を満たさないパケットが最後に送信されてから所定時間以上経過した場合、ネットワーク変更部53bは、ステップS310からステップS320に進み、仮想中継テーブルを書き換えることで、仮想スイッチ91、92、93の各ポートのVLAN IDを図6に示すような形態に戻す。
【0088】
すなわち、仮想スイッチ92、93の各ポートのVLAN IDは変更せず、仮想スイッチ91の各ポートのVLAN IDを変更する。具体的には、仮想スイッチ91のポートのうち、ルータ8d、8eに接続されるポート91c、91d以外のすべてのポートのVLAN IDを、200から100に変更し、ポート91c、91dのVLAN IDは変更しない。これにより、仮想スイッチ91のポートのうち、ルータ8eに接続されるポート91d以外のすべてのポートにはVLAN IDとして100が割り当てられ、ポート91dにはVLAN IDとして200が割り当てられている。
【0089】
このようにすることで、仮想スイッチ91と仮想スイッチ92とを介したパケットの送受信は可能となるが、仮想スイッチ91と仮想スイッチ93とを介したパケットの送受信ができなくなる。つまり、通信装置8f等の仮想スイッチ92に接続された通信装置が、再び仮想スイッチ91を介して通信可能となる。
【0090】
以上説明したとおり、ネットワーク変更部53bは、所定のイベントの発生に基づいて、構成データ52aを書き換えることで、仮想ネットワーク90におけるパケットの配送形態を変更する。このように、所定のイベントの発生に応じて、構成データを書き換えることで、複数の通信装置間の通信経路を一元的に柔軟に変更することができる。すなわち、ネットワークの接続形態を簡易に変更できる。
【0091】
もしこのようになっておらず、拠点L2において複数の現実の通信装置8を複数の現実のネットワークケーブルおよび複数の現実の中継装置で接続してネットワークを構成した場合、複数の現時の中継装置の各々で設定を変更したり、複数のネットワークケーブルの接続先を手作業で変更したりしなければならない。すなわち、通信経路を一元的に変更することも、柔軟に変更することも、困難である。
【0092】
また、ネットワーク変更部53bは、仮想スイッチ91、92、93の作動を継続させながら仮想中継テーブルを書き換えることで、前記仮想ネットワークにおけるパケットの配送形態を変更する。
【0093】
このように、中継装置の作動を継続させながら仮想中継テーブルすることで、中継装置を仮想的に起動し直す場合に比べ、より迅速に仮想ネットワークにおけるパケットの配送形態を変更することができる。
【0094】
また、ネットワーク変更部53bは、仮想中継テーブルにおいて複数のポートの少なくとも一部のIDを変更することで、仮想ネットワークにおけるパケットの配送形態を変更するこのように、仮想スイッチのポートのIDを変更するという簡易な処理で、仮想ネットワーク90におけるパケットの配送形態を変更することができる。
【0095】
(他の実施形態)
なお、本開示は上記した実施形態に限定されるものではなく、適宜変更が可能である。また、上記実施形態において、実施形態を構成する要素は、特に必須であると明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。また、上記実施形態において、実施形態の構成要素の個数、数値、量、範囲等の数値が言及されている場合、特に必須であると明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではない。特に、ある量について複数個の値が例示されている場合、特に別記した場合および原理的に明らかに不可能な場合を除き、それら複数個の値の間の値を採用することも可能である。また、上記実施形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に特定の形状、位置関係等に限定される場合等を除き、その形状、位置関係等に限定されるものではない。また、本開示は、上記実施形態に対する以下のような変形例および均等範囲の変形例も許容される。なお、以下の変形例は、それぞれ独立に、上記実施形態に適用および不適用を選択できる。すなわち、以下の変形例のうち明らかに矛盾する組み合わせを除く任意の組み合わせを、上記実施形態に適用することができる。
【0096】
(変形例1)
上記実施形態では、ネットワーク変更部53bは、仮想スイッチ91、92、93の作動を継続させながら構成データ52a中の仮想中継テーブルを書き換えることで、仮想ネットワーク90におけるパケットの配送形態を変更する。しかし、必ずしもこのようになっておらずともよい。
【0097】
例えば、ネットワーク変更部53bは、所定のイベントの発生に起因して、仮想スイッチ91、92、93と通信装置8との接続の組み合わせを変更してもよい。例えば、上記実施形態において、イベントが発生したことに基づいて、仮想スイッチ92のポート91eに接続する現実の通信装置を、通信装置8fからハニーポット8kに置き換えてもよい。このようにするためには、ネットワーク変更部53bは、構成データ52aのうち、図3に示したポート対応テーブルにおいて、VLAN IDの8と10を入れ替える。
【0098】
あるいは、ネットワーク変更部53bは、所定のイベントの発生に起因して、仮想ネットワーク90内の中継装置群を他の中継装置群に置き換えてもよい。このようにするためには、ネットワーク変更部53bは、構成データ52aを書き換えることで、仮想ネットワーク90内の中継装置群を新たなものに置き換え、更に、ネットワーク構築部53aを再起動させる。これにより、ネットワーク構築部53aは、書き換えられたネットワーク構築部53aに従って、新たな中継装置群を有する仮想ネットワーク90を構成する。この置き換えによって、仮想ネットワーク90内の中継装置の数が増えてもよいし減ってもよい。また、仮想ネットワーク90内の同じ中継装置に接続されていた複数の通信装置が、この置き換えによって、仮想ネットワーク90内の異なる中継装置に接続されるようになってもよい。また逆に、仮想ネットワーク90内の異なる中継装置に接続されていた複数の通信装置が、この置き換えによって、仮想ネットワーク90内の同じ中継装置に接続されるようになってもよい。
【0099】
このような中継装置の置き換えの具体例について、図9図10図11を用いて説明する。この例では、ある時点において、仮想ネットワーク90の一部を仮想的なサブネットVL1、VL2が構成する。
【0100】
サブネットVL1には通信端末7aが接続され、サブネットVL2には通信端末7b、7c、7d、7eが接続されている。これら通信端末7a-7eは、SCADAでもよいしOPCサーバでもよいし、あるいは他の機能を有するコンピュータであってもよい。
【0101】
通信端末7a-7eの各々は、現実の装置であってもよいし、仮想ネットワーク90内における仮想的な装置であってもよい。通信端末7a-7eの各々は、それが現実の装置である場合は、上記実施形態のように、スイッチ55のアクセスポート6に接続され、ポート対応テーブルによってサブネットVL1またはサブネットVL2に接続されることが規定される。通信端末7a-7eの各々は、それが仮想的に構成された装置である場合は、上記実施形態のように、ネットワーク構築部53aによって構成データ52aに基づき仮想化技術によってソフトウェア的に生成およびエミュレートされる。例えば、図9に示すように、通信端末7a、7b、7eが現実の装置で、通信端末7c、7dが仮想的に構成された装置であってもよい。
【0102】
また、サブネットVL1、VL2には、仮想的な中継装置9aが接続されている。中継装置9aは、サブネットVL1からサブネットVL2へ流れるパケットおよびその逆に流れるパケットを中継するルータまたはゲートウェイとして、仮想的に構成されている。すなわち、中継装置9aは、上記実施形態のように、ネットワーク構築部53aによって構成データ52aに基づき仮想化技術によってソフトウェア的に生成およびエミュレートされる。
【0103】
サブネットVL1のネットワークアドレスは、192.168.1.0であり、サブネットマスクは255.255.255.0である。サブネットVL2のネットワークアドレスは、192.168.2.0であり、サブネットマスクは255.255.255.0である。また、中継装置9aのサブネットVL1側のネットワークインターフェースのIPアドレスは192.168.1.1であり、サブネットVL2側のネットワークインターフェースのIPアドレスは192.168.2.1である。
【0104】
通信端末7a-7eのIPアドレスは、図9に示す通りである。具体的には、通信端末7aのIPアドレスは、サブネットVL1に割り当てられたIPアドレスであり、通信端末7b-7eのIPアドレスは、サブネットVL2に割り当てられたIPアドレスである。
【0105】
このような構成において、ネットワーク変更部53bは、図7に示す処理において、ステップS310で、所定のイベントが発生したと判定したとする。所定のイベントが発生したか否かの判定基準は、上記実施形態と同様である。この場合、ネットワーク変更部53bは、続いてステップS320に進み、仮想ネットワーク90のネットワーク構成を変更する。具体的には、図10に示すように、構成データ52aを書き換えることで、サブネットVL1、VL2とは異なる新たな仮想的なサブネットVL3を生成し、通信端末7d、7eの接続先を、サブネットVL2からサブネットVL3に切り替える。
【0106】
このとき生成されるサブネットVL3のネットワークアドレスは、192.168.2.0であり、サブネットマスクは255.255.255.0である。そして、通信端末7d、7eのIPアドレスは変更されない。
【0107】
また、サブネットVL3とサブネットVL1との間のデータの配送を中継する中継装置も、サブネットVL3とサブネットVL2との間のデータの配送を中継する中継装置も、生成されない。したがって、サブネットVL3は、仮想ネットワーク90内の他のサブネットから完全に切り離された状態となる。すなわち、サブネットVL3内の通信端末7d、7eは、仮想ネットワーク90内の他のサブネットに接続された通信装置と通信できなくなる。つまり、元々サブネットVL2内にあった通信端末7d、7eを、ゾーンとして切り離すことができる。このようになっていることで、仮想ネットワーク90が外部から攻撃された結果イベントが発生した場合に、通信端末7d、7eを攻撃から守ることができる。
【0108】
なお、通信端末7d、7eをゾーンとして切り離す方法として、他の方法を用いてもよい。例えば、サブネットVL2に属する中継装置9aおよび通信端末7b-7eのそれぞれは、仮想的に構成された不図示の仮想スイッチの各ポートに接続されていてもよい。この仮想スイッチは、上記実施形態の仮想スイッチ91-93と同様、ネットワーク構築部53aによって構成データ52aに基づき仮想化技術によってソフトウェア的に生成およびエミュレートされる。またこの仮想スイッチの各ポートには、上記実施形態の仮想スイッチ91-93と同様、仮想中継テーブルによってVLAN IDを設定することができる。
【0109】
この場合、ネットワーク変更部53bは、ステップS320で、それまで、この仮想スイッチの全ポートに同じVLAN IDが割り当てられていたところに、通信端末7d、7eが接続されたポートのVLAN IDのみ別のVLAN IDに割り当てる。このVLAN IDの切り替えは、仮想中継テーブルの書き換えによって実現される。これにより、通信端末7d、7eをゾーンとして切り離すことができる。このとき、通信端末7dが接続されたポートの変更後のVLAN IDと、通信端末7eが接続されたポートの変更後のVLAN IDとは、同じであってもよいし、異なっていてもよい。
【0110】
あるいは、ネットワーク変更部53bは、ステップS320で、通信端末7d、7eの接続先を元のサブネットVL2から新たなサブネットVL3に置き換えるのみならず、図11に示すように、新たな仮想的な中継装置9bを生成してもよい。この中継装置9bは、上記実施形態のように、ネットワーク構築部53aによって構成データ52aに基づき仮想化技術によってソフトウェア的に生成およびエミュレートされる。中継装置9bを生成する際、必要であれば、上記実施形態と同様に、ネットワーク構築部53aを再起動させる。
【0111】
中継装置9bは、サブネットVL1からサブネットVL3へ流れるパケットおよびその逆に流れるパケットを中継するルータまたはゲートウェイとして、仮想的に構成されている。中継装置9bのサブネットVL1側のネットワークインターフェースのIPアドレスは、中継装置9aとは異なるよう、192.168.1.2に設定される。中継装置9bのサブネットVL3側のネットワークインターフェースのIPアドレスは、通信端末7d、7eと同じサブネットに属する192.168.2.1である。これにより、通信端末7d、7eのIPアドレスを変更しなくても、中継装置9bと通信端末7d、7eとが同じサブネット内で通信可能となる。
【0112】
このように、ネットワーク変更部53bは、仮想ネットワーク90内においてサブネットVL2に属する通信端末7d、7eをサブネットVL2からサブネットVL3に移動させる。そしてネットワーク変更部53bは、サブネットVL3と仮想ネットワーク90中の他のサブネットVL1との間のパケットの配送を中継する中継装置9bを生成する。このようにすることで、一部の通信端末をサブネットVL2からサブネットVL3に移動させて移動先のサブネットVL3と他のサブネットVL1との間を中継する中継装置9bを生成するという、ダイナミックな配送経路の切り替えが可能となる。そして、そのような切り替えにより、当該一部の通信端末の安全性の確保と通信経路の確保とが両立する。
【0113】
また、生成される中継装置9bの設定を中継装置9aとは異なるものとすることで、より攻撃に強い通信環境が実現される。中継装置9aとは異ならせる中継装置9bの設定としては、例えば、オペレーティングシステム(例えば、Linux、BSD/OS)、ディストリビューション(例えば、CentOS、Fedra)、管理者アカウント(例えばroot)のログインパスワード等がある。また、中継装置9a、9bがファイアーウォール機能を有していてもよい。なお、サブネットVL2が第1のサブネットに対応し、サブネットVL3が第2のサブネットに対応する。
【0114】
なお、中継装置9aのサブネットVL2側のIPアドレスと、中継装置9bのサブネットVL3側のIPアドレスが同じになるが、これはパケットの配送上の問題にならない。サブネットVL2内の装置から見れば中継装置9bのIPアドレスは192.168.1.2であって中継装置9aのIPアドレス192.168.2.1とは異なるからである。そして、サブネットVL3内の装置から見れば中継装置9aのIPアドレスは192.168.1.1であって中継装置9bのIPアドレス192.168.2.1とは異なるからである。
【0115】
また、必要であれば、中継装置9a、9bがIPマスカレード機能を有することで、サブネットVL2、VL3内のIPアドレスをそれぞれの外部から隠してもよい。つまり、サブネットVL2、VL3内のIPアドレスをプライベートIPアドレスとして使用してもよい。また、中継装置9a、9bはNAT(Network Address Translation)機能を有していてもよい。
【0116】
また、ネットワーク変更部53bは、ステップS320で、発生したイベントの種類に応じて、図10のように仮想ネットワーク90を変更する場合と、図11のように仮想ネットワーク90を変更する場合とを切り替えてもよい。例えば、危険度がより高い攻撃があった場合は図10のように仮想ネットワーク90を変更し、危険度がより低い攻撃があった場合は図10のように仮想ネットワーク90を変更してもよい。つまり、ネットワーク変更部53bは、発生したイベントの内容に応じて、パケットの配送形態の変更内容を切り替えてもよい。
【0117】
(変形例2)
上記実施形態では、ネットワーク変更部53bは、イベントの発生に基づいて、仮想スイッチ91、92、93のポートのうち、仮想スイッチ91の一部のポートのみのVLAN IDを変更している。しかし、必ずしもこのようになっておらずともよい。
【0118】
例えば、ネットワーク変更部53bは、イベントの発生に基づいて、仮想スイッチ91、92、93のポートのうち、仮想スイッチ91の一部のポートに加え、仮想スイッチ92、93の一部のポートのVLAN IDを変更してもよい。
【0119】
(変形例3)
上記実施形態では、ネットワーク変更部53bが構成データ52aを書き換える起因である所定のイベントの例として、「所定の通信許可条件を満たさない通信装置8f宛のパケットが届いたというイベント」および、「通信許可条件を満たさないパケットが最後に送信されてから所定時間以上経過するというイベント」が、挙げられている。
【0120】
しかし、所定のイベントとしては、このようなものに限られない。例えば、所定のイベントは、仮想ネットワーク90内に特定の種類のパケットが送信されたというイベントであってもよい。あるいは、所定のイベントは、仮想ネットワーク90外の現実の通信装置に故障が発生したちというイベントであってもよい。あるいは、所定のイベントは、あらかじめ指定された時刻になったというイベントであってもよい。
【0121】
そして、ネットワーク変更部53bは、上記実施形態では、悪意の攻撃者に対して欺瞞を行って攻撃者の情報を取得する目的で、構成データ52aを書き換えているが、構成データ52aを書き換える目的は、このようなものに限られない。単に通信装置の負荷を軽減する目的であってもよいし、製造する製品の変化に対応する目的であってもよい。
【0122】
(変形例4)
上記実施形態では、複数の通信装置8はスイッチ55を介してネットワーク管理装置50に接続されている。しかし、上記実施形態に対してスイッチ55が廃され、複数の通信装置8の各々がネットワーク管理装置50のポートにイーサネットケーブルを介して直接接続されてもよい。この場合、ネットワーク管理装置50は複数のポートを有する。その場合、ポート対応テーブルには、ネットワーク管理装置50の複数のポートに固有に割り当てられたIDと、当該ポートの仮想ネットワーク90における接続先との対応関係が記述される。
【0123】
(変形例5)
上記実施形態において、タグVLANに対応するレイヤ2スイッチであるスイッチ55は、現実の中継装置の一例として記載されている。しかし、現実の中継装置は、ルータでもよいし、レイヤ3スイッチでもよい。
【0124】
(変形例6)
上記実施形態において、仮想的な中継装置の例として、仮想スイッチ91、92、93が例示されている。しかし、仮想的な中継装置は、スイッチに限らず、ルータであってもよい。
【0125】
(変形例7)
上記実施形態では、ネットワーク管理装置50は、ネットワーク管理装置50は単一のネットワークインターフェース51を有している。しかし、ネットワーク管理装置50は、ネットワークインターフェース51以外のネットワークインターフェースを有していてもよい。
【0126】
(変形例8)
上記実施形態では、スイッチ55のアクセスポート6に対する仮想ネットワーク90における接続先は、仮想スイッチ91、92、93である。しかし、必ずしもそのようになっておらずともよい。スイッチ55のアクセスポート6に対する仮想ネットワーク90における接続先は、仮想スイッチ以外の仮想的な通信装置であってもよい。
【0127】
(変形例9)
上記実施形態において、ネットワーク構築部53aは、仮想ネットワーク90におけるファイアーウォール機能を実現してもよい。例えば、ネットワーク構築部53aは、仮想スイッチ91、92、93に届いたパケットが、所定のプロトコル(例えば、OPC-UAに規定されるプロトコル)に従ったパケットである場合に、仮想スイッチ91、92、93による当該パケットの転送を許可してもよい。そして、仮想スイッチ91、92、93に届いたパケットが、当該所定のプロトコルに従わないパケットである場合に、仮想スイッチ91、92、93による当該パケットの転送を禁止してもよい。
【符号の説明】
【0128】
1…広域ネットワーク、5…トランクポート、6…アクセスポート、8…通信装置、50…ネットワーク管理装置、51…ネットワークインターフェース、52a…構成データ、53a…ネットワーク構築部、53b…ネットワーク変更部、55…スイッチ、91、92、93…仮想スイッチ、L1、L2…拠点。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11