(第1の実施形態)
まず、本発明の第1の実施形態について、図面を参照しながら説明する。
図1は、第1の実施形態におけるネットワークシステム1の構成の一例を示すシステム構成図である。ネットワークシステム1は、例えば図1に示すように、ユーザ宅内に構築されたホームネットワーク(RHNW:Real Home Network)2と、データセンタ(DC:Data Center)13内に設けられた複数のVHNW(Virtual Home Network)3−1,2,3・・・とを有する。
DC13内に設けられたそれぞれのVHNW3は、それぞれのユーザ宅毎に構築される。ユーザ宅のRHNW2に設けられたHGW22は、IPv6インターネットGWの機能を有し、IPv6のアクセス網10を介して、当該ユーザ宅に割り当てられたVHNW3内のVHGW(Virtual Home Gateway)32と接続される。それぞれのVHNW3内のVHGW32は、IPv4インターネットGWの機能を有する。また、それぞれのVHNW3内のVHGW32は、IPv6インターネットGWの機能、または、IPv6アクセス網との間で通信を行う機能のうち、少なくともいずれかの機能を有する。
RHNW2には、HGW22の他、通信制御装置200および1つ以上の機器21(機器21−1,2)が接続される。それぞれの機器21−1や2は、例えばエアコンや、テレビ、PC等の情報家電機器である。また、それぞれのVHNW3には、VHGW32の他、通信制御装置300および1つ以上の機器31が接続される。機器31は、例えば、仮想ストレージサーバや、RHNW2内のそれぞれの機器21の動作を管理する仮想アプリケーションサーバ等である。
DC13内に設けられている機器31は、仮想化技術を用いて、物理的な計算機リソースが各ユーザに割り当てられることにより実現される。そのため、ユーザの要求があった場合、計算機リソースの増減や機能の追加等は、DC13内に設けられた豊富な物理リソースを用いて容易に行うことができる。
また、RHNW2内の通信制御装置200と、対応するVHNW3内の通信制御装置300とは、対向する終端装置として仮想的な通信路11を設定する。当該仮想的な通信路11は、例えばL2−VPN(Layer 2 − Virtual Private Network)の技術を用いて設定される。RHNW2とVHNW3とが、通信制御装置200および通信制御装置300を介して、レイヤ2でトンネル接続されることにより、RHNW2とVHNW3とが同一セグメントに属することになる。これにより、ユーザ宅内のRHNW2と、遠隔拠点にあるDC13内のVHNW3とは、同一セグメントのHNW100として利用することができる。
また、RHNW2内の機器21とVHNW3内の機器31とが通信する場合、その通信データはアクセス網10やインターネット網を通過することになる。アクセス網10やインターネット網は、オープンネットワークである場合があるため、通信データがアクセス網10やインターネット網を通過する場合、漏えいや改ざん等のセキュリティ上の脅威にさらされる。そこで、本実施形態におけるネットワークシステム1では、RHNW2とVHNW3の間に、通信制御装置200および通信制御装置300を終端とするVPNを設定し、VPNを介して通信データを送受信する。これにより、アクセス網10やインターネット網を介して構築されたHNW100内の通信のセキュリティを高めることができる。
なお、通信制御装置200は、例えばレイヤ2トンネルを終端するために1つのIPv6アドレスを持つ以外は、レイヤ2スイッチおよびパケットフィルタとして動作する。また、通信制御装置200はIPv6を用いてレイヤ2トンネル通信を行うと同時に、RHNW2およびDC13内のVHNW3のMAC(Media Access Control layer)層ブロードキャストドメイン内にある機器とIPv6インターネット間の通信をレイヤ2スイッチとして通過させる。これにより、MAC層ブロードキャストドメイン内にある機器等が、RHNW2内のHGW22経由でIPv6インターネットと通信することが可能となる。
また、通信制御装置200は、HGW22とMAC層ブロードキャストドメイン内にある機器等との間のIPv4による通信を遮断し、IPv4インターネットの通信がRHNW2内のHGW22経由で行われることを防ぐ。これにより、IPv4インターネットとの通信は、DC13内のVHNW3に設けられたVHGW32経由で行われる。
次に、RHNW2内に設けられた通信制御装置200の詳細について説明する。図2は、第1の実施形態における通信制御装置200の機能構成の一例を示すブロック図である。本実施形態における通信制御装置200は、例えば図2に示すように、LAN通信部201、トンネリング処理部202、判別部203、転送処理部204、およびWAN通信部205を有する。
LAN通信部201は、RHNW2内の機器21から通信データを受信した場合に、受信した通信データを転送処理部204へ送る。また、LAN通信部201は、転送処理部204から通信データを受け取った場合に、受け取った通信データをRHNW2内の機器21へ送信する。
WAN通信部205は、トンネリング処理部202または転送処理部204から通信データを受け取った場合に、受け取った通信データをHGW22へ送信する。また、WAN通信部205は、HGW22から通信データを受信した場合に、受信した通信データがカプセル化されていれば、当該通信データをトンネリング処理部202へ送る。一方、受信した通信データがカプセル化されていなければ、WAN通信部205は、受信した通信データを転送処理部204へ送る。
判別部203は、転送処理部204が通信データを受け取った場合に、当該通信データのヘッダに含まれている情報を判別し、当該通信データのカプセル化またはデカプセル化の必要性の有無および出力先を判断する。
トンネリング処理部202は、WAN通信部205からカプセル化された通信データを受け取った場合に、当該通信データについてデカプセル化し、デカプセル化した通信データを転送処理部204へ送る。また、転送処理部204からカプセル化されていない通信データを受け取った場合、トンネリング処理部202は、当該通信データについてカプセル化の処理を施し、処理後の通信データをWAN通信部205へ送る。
なお、本実施形態において、トンネリング処理部202は、カプセル化の処理に加えて暗号化の処理を行い、デカプセル化の処理に加えて復号化の処理も行う。これにより、本実施形態のトンネリング処理部202は、対向する通信制御装置300との間でL2−VPNの通信路11を設定する。
転送処理部204は、LAN通信部201またはWAN通信部205から通信データを受け取った場合に、判別部203によってカプセル化が必要と判断されていれば、当該通信データをトンネリング処理部202へ送る。一方、LAN通信部201またはWAN通信部205から受け取った通信データについて、判別部203によってカプセル化が不要と判断されていれば、転送処理部204は、当該通信データをLAN通信部201またはWAN通信部205のうち、判別部203が判断した出力先へ送る。転送処理部204は、トンネリング処理部202から通信データを受け取った場合に、受け取った通信データを、LAN通信部201またはWAN通信部205のうち、判別部203が決定した出力先へ送る。
図3は、第1の実施形態における通信制御装置200のハードウェア構成の一例を概念的に示す。本実施形態における通信制御装置200は、L2−VPN処理部210、Bridge211、Eth0、Eth1、およびEth2を有する。Bridge211はソフトウェアスイッチ、Eth0〜2は物理ネットワークインターフェイスであり、Tap0は、Bridge211に設けられる仮想的なインターフェイスである。
なお、LAN通信部201の機能は、例えばEth2により実現され、トンネリング処理部202の機能は、例えばL2−VPN処理部210により実現され、判別部203および転送処理部204の機能は、例えばBridge211により実現され、WAN通信部205の機能は、例えばEth0およびEth1により実現される。
Eth2は、RHNW2内のLANにケーブル等を介して接続される物理インターフェイスである。Eth0およびEth1は、ケーブル等を介してHGW22に接続される物理インターフェイスである。また、Eth0には、アクセス網10やインターネット網で用いられるIPv6グローバルアドレスが割り当てられ、アクセス網10やインターネット網を介して受信する通信データの中で、当該アドレス宛て以外の通信データを遮断するIPフィルタリングの機能が設けられる。また、Eth1には、IPv4の通信データを全て遮断するIPフィルタリングの機能が設けられる。
なお、本実施形態において、通信制御装置200は、HGW22に接続されるWAN側のインターフェイスとして2つの物理的なインターフェイス(Eth0およびEth1)を有するが、本発明はこれに限られず、Eth0およびEth1の機能を1つの仮想スイッチで構成して、1つの物理インターフェイスでHGW22に接続されてもよい。
L2−VPN処理部210は、対向する通信制御装置300内のL2−VPN装置との間でL2−VPNの通信路11を設定する。なお、Eth0には、HGW22のRA(Router Advertisement)等から取得したIPv6グローバルアドレスが割り当てられ、L2−VPN処理部210は、このアドレスを用いて、対向する通信制御装置300内のL2−VPN装置との間で設定されたL2−VPNの通信路11を終端する。
L2−VPN処理部210の具体的な処理としては、例えば、Tap0を介して通信データを受け付けた場合に、L2−VPN処理部210は、受け付けた通信データについてカプセル化および暗号化の処理を行う。そして、L2−VPN処理部210は、カプセル化および暗号化の処理を行った通信データを、Eth0を介してHGW22へ送信する。また、L2−VPN処理部210は、Eth0を介して通信データを受け付けた場合に、受け付けた通信データについてデカプセル化および復号化の処理を行う。そして、L2−VPN処理部210は、デカプセル化および復号化の処理を行った通信データを、Tap0を介してBridge211へ送る。
なお、本実施形態において、L2−VPN処理部210はブリッジモードで動作し、IPルーティングは行わない。また、L2−VPN処理部210は、L2−VPNの手順に従ってレイヤ2トンネルを設定した後、Tap0に到着したイーサネット(登録商標)フレームを全てカプセル化してDC13側の対向L2−VPN装置へ転送する。また、L2−VPN処理部210は、DC13側の対向L2−VPN装置から届いたパケットからイーサネットフレームを取り出し、Tap0へ転送する。また、Bridge211は、レイヤ2スイッチとして機能し、MACアドレスを学習してイーサネットフレームの転送を行う。
図4は、第1の実施形態において通信制御装置200によって転送される通信データの経路の一例をまとめた表である。本実施形態の通信制御装置200が有するBridge211のMACアドレス学習機能、および、Eth1のIPフィルタリング機能により、通信データは、例えば図4に示すような経路で転送される。なお、図4において、入力ポートにある「Tap*(Eth*)」の記載は、Eth*を介して受信した通信データが、Tap*から入力されることを示しており、出力ポートにある「Tap*(Eth*)」の記載は、Tap*から出力した通信データが、Eth*を介して送信されることを示している。
例えば、宛先MACアドレスが「機器21」であれば、Bridge211は、MACアドレス学習機能により、受け取った通信データをEth2から出力する。図4の1行目には、このときの転送経路が示されている。図4の1行目は、例えばRHNW2内の機器21同士の通信における通信データの転送経路を示している。
また、宛先MACアドレスが「HGW22」であれば、Bridge211は、MACアドレス学習機能により、受け取った通信データをEth1から出力する。図4の2行目には、このときの転送経路が示されている。図4の2行目は、例えばRHNW2内の機器21とHGW22との通信、または、RHNW2内の機器21によるHGW22を介したIPv6インターネット通信における通信データの転送経路を示している。
また、宛先MACアドレスが「機器31」であれば、Bridge211は、MACアドレス学習機能により、受け取った通信データをTap0から出力する。図4の4行目には、このときの転送経路が示されている。Tap0へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化が施され、Eth0を介してHGW22へ出力される。図4の4行目は、例えばRHNW2内の機器21とVHNW3内の機器31との同一セグメント内通信における通信データの転送経路を示している。
また、宛先MACアドレスが「VHGW32」であれば、Bridge211は、MACアドレス学習機能により、受け取った通信データをTap0から出力する。図4の6行目には、このときの転送経路が示されている。図4の6行目は、例えばRHNW2内の機器21とVHNW3内のVHGW32との通信、または、RHNW2内の機器21による、VHNW3内のVHGW32を介したIPv4インターネット通信における通信データの転送経路を示している。なお、本実施形態では、RHNW2内の機器21によるIPv4インターネット通信は、RHNW2内のHGW22ではなく、VHNW3内のVHGW32を経由して行われる。
また、宛先MACアドレスが「機器31」であれば、Bridge211は、MACアドレス学習機能により、受け取った通信データをTap0から出力する。図4の8行目には、このときの転送経路が示されている。図4の8行目は、例えばVHNW3内の機器31とRHNW2内のHGW22との通信、または、VHNW3内の機器31による、RHNW2内のHGW22を介したIPv6インターネット通信における通信データの転送経路を示している。なお、本実施形態では、VHNW3内の機器31によるIPv6インターネット通信は、VHNW3内のVHGW32ではなく、RHNW2内のHGW22を経由して行われる。
なお、Bridge211は、宛先MACアドレスがMACアドレステーブルにない通信データに対しては、MACアドレス学習をして適切なインターフェイスから出力する。その他の通信経路を制御するため、例えば、Bridge211は、IPv6アドレスを持たないWAN側のインターフェイス(Eth1)において、インバウンド/アウトバウンド双方向のIPv4トラフィックやアウトバンドからのARPを全てドロップする。また、Bridge211は、IPv6フィルタ機能を用いて、Eth0をMACアドレスのソースとするイーサフレーム全てをEth1でドロップする。これにより、通信データは図4に記載のような経路をとるよう制御されることとなる。
なお、通信制御装置200は、トンネル終端アドレスをHGW22からのRAによるIPv6ステートレスアドレス自動設定または静的設定によって取得する。トンネル終端アドレスはRHNW2内の他のIPv6機器が取得するIPv6アドレスの同じプレフィクスを持つ(すなわち同じサブネットに属する)。
また、トンネル終端アドレスからのパケットがHGW22のLAN側のレイヤ2スイッチを経由して通信制御装置200のIPv6アドレスを持たないWAN側のインターフェース(Eth1)に入るとループが発生するため、当該インタフェース(Eth1)において送信元のMACアドレスがEth0であるトラフィック全てをフィルタリングしてループを防止する。
また、本実施形態のネットワークシステム1では、IPv4およびIPv6アドレスを用いて通信を行う機器21はRHNW2内においては全て通信制御装置200のLAN側インタフェース(Eth2)に接続されなければならない。もしHGW22のLAN側インターフェイスと通信制御装置200のEth1との間に機器21が接続された場合には、その機器21は、DHCPでIPv4アドレスが払出されないため、IPv4通信を行うことができなくなる。また、RHNW2内の機器21は、VHNW3内にあるVHGW32からのレイヤ2トンネルを経由するDHCPアドレス自動設定または静的設定によって、IPv4アドレスを取得する。以上の通り説明した、各インターフェイスでのフィルタリングは、Bridge211ではなく直接各インターフェイスに設定されるものであってもよい。
次に、VHNW3内に設けられた通信制御装置300の詳細について説明する。図5は、第1の実施形態における通信制御装置300の機能構成の一例を示すブロック図である。本実施形態における通信制御装置300は、例えば図5に示すように、LAN通信部301、トンネリング処理部302、判別部303、転送処理部304、およびWAN通信部305を有する。
LAN通信部301は、VHNW3内の機器31から通信データを受信した場合に、受信した通信データを転送処理部304へ送る。また、LAN通信部301は、転送処理部304から通信データを受け取った場合に、受け取った通信データをVHNW3内の機器31へ送信する。
WAN通信部305は、トンネリング処理部302または転送処理部304から通信データを受け取った場合に、受け取った通信データをVHGW32へ送信する。また、WAN通信部305は、VHGW32から通信データを受信した場合に、受信した通信データがカプセル化されていれば、当該通信データをトンネリング処理部302へ送る。一方、受信した通信データがカプセル化されていなければ、WAN通信部305は、受信した通信データを転送処理部304へ送る。
判別部303は、転送処理部304が通信データを受け取った場合に、当該通信データのヘッダに含まれている情報を判別し、当該通信データのカプセル化またはデカプセル化の必要性の有無および出力先を判断する。
トンネリング処理部302は、WAN通信部305からカプセル化された通信データを受け取った場合に、当該通信データについてデカプセル化し、デカプセル化した通信データを転送処理部304へ送る。また、転送処理部304からカプセル化されていない通信データを受け取った場合、トンネリング処理部302は、当該通信データについてカプセル化の処理を施し、処理後の通信データをWAN通信部305へ送る。
なお、本実施形態において、トンネリング処理部302は、カプセル化の処理に加えて暗号化の処理を行い、デカプセル化の処理に加えて復号化の処理も行う。これにより、本実施形態のトンネリング処理部302は、対向する通信制御装置200内のトンネリング処理部202との間でL2−VPNの通信路11を設定する。
転送処理部304は、LAN通信部301またはWAN通信部305から通信データを受け取った場合に、判別部303によってカプセル化が必要と判断されていれば、当該通信データをトンネリング処理部302へ送る。一方、LAN通信部301またはWAN通信部305から受け取った通信データについて、判別部303によってカプセル化が不要と判断されていれば、転送処理部304は、当該通信データをLAN通信部301またはWAN通信部305のうち、判別部303が判断した出力先へ送る。転送処理部304は、トンネリング処理部302から通信データを受け取った場合に、受け取った通信データを、LAN通信部301またはWAN通信部305のうち、判別部303が決定した出力先へ送る。
図6は、第1の実施形態における通信制御装置300のハードウェア構成の一例を概念的に示す。本実施形態における通信制御装置300は、L2−VPN処理部310、Bridge311、Eth00、Eth01、およびEth02を有する。Tap00は、Bridge311に設けられた仮想的なインターフェイスである。また、Eth00には、アクセス網10やインターネット網で用いられるIPv6グローバルアドレスが割り当てられ、アクセス網10やインターネット網を介して受信する通信データの中で、当該アドレス宛て以外の通信データを遮断するIPフィルタリングの機能が設けられる。また、Eth01には、IPv6の通信データを全て遮断するIPフィルタリングの機能が設けられる。
なお、LAN通信部301の機能は、例えばEth02により実現され、トンネリング処理部302の機能は、例えばL2−VPN処理部310により実現され、判別部303および転送処理部304の機能は、例えばBridge311により実現され、WAN通信部305の機能は、例えばEth00およびEth01により実現される。
Eth02は、VHNW3内のLANにケーブル等を介して接続される物理インターフェイスである。Eth00およびEth01は、ケーブル等を介してVHGW32に接続される物理インターフェイスである。
L2−VPN処理部310は、対向する通信制御装置200内のL2−VPN処理部210との間でL2−VPNの通信路11を設定する。なお、Eth00には、VHGW32のRA等から取得したIPv6グローバルアドレスが割り当てられ、L2−VPN処理部310は、このアドレスを用いて、対向するL2−VPN処理部210との間で設定したL2−VPNの通信路11を終端する。
L2−VPN処理部310の具体的な処理としては、例えば、Tap00を介して通信データを受け付けた場合に、受け付けた通信データについてカプセル化および暗号化の処理を行う。そして、L2−VPN処理部310は、カプセル化および暗号化の処理を行った通信データを、Eth00を介してVHGW32へ送信する。また、L2−VPN処理部310は、Eth00を介して通信データを受け付けた場合に、受け付けた通信データについてデカプセル化および復号化の処理を行う。そして、L2−VPN処理部310は、デカプセル化および復号化の処理を行った通信データを、Tap00を介してBridge311へ送る。
なお、本実施形態において、L2−VPN処理部310はブリッジモードで動作し、IPルーティングは行わない。また、L2−VPN処理部310は、トンネル終端アドレスへのパケットのみをリスンし、L2−VPNの手順に従ってレイヤ2トンネルを設定した後、Tap00に到着したイーサネットフレームを全てカプセル化してRHNW2側のL2−VPN処理部210へ転送する。また、L2−VPN処理部310は、RHNW2側のL2−VPN処理部210から届いたパケットからイーサネットフレームを取り出し、Tap00へ転送する。
図7は、第1の実施形態において通信制御装置300によって転送される通信データの経路の一例をまとめた表である。本実施形態の通信制御装置300が有するBridge311のMACアドレス学習機能、および、Eth01のIPフィルタリング機能により、通信データは、例えば図7に示すような経路で転送される。なお、図7において、入力ポートにある「Tap**(Eth**)」の記載は、Eth**を介して受信した通信データが、Tap**から入力されることを示しており、出力ポートにある「Tap**(Eth**)」の記載は、Tap**から出力した通信データが、Eth**を介して送信されることを示している。
例えば、宛先MACアドレスが「機器31」であれば、Bridge311は、MACアドレス学習機能により、受け取った通信データをEth02から出力する。図7の1行目には、このときの転送経路が示されている。図7の1行目は、例えばVHNW3内の機器31同士の通信における通信データの転送経路を示している。
また、宛先MACアドレスが「VHGW32」であれば、Bridge311は、MACアドレス学習機能により、受け取った通信データをEth01から出力する。図7の2行目には、このときの転送経路が示されている。図7の2行目は、例えばVHNW3内の機器31とVHGW32との通信、または、VHNW3内の機器31によるVHGW32を介したIPv4インターネット通信における通信データの転送経路を示している。
また、宛先MACアドレスが「機器21」であれば、Bridge311は、MACアドレス学習機能により、受け取った通信データをTap00へ出力する。図7の4行目には、このときの転送経路が示されている。Tap00へ出力された通信データは、L2−VPN処理部310によりカプセル化および暗号化が施され、Eth00を介してVHGW32へ出力される。図7の4行目は、例えばVHNW3内の機器31とRHNW2内の機器21との同一セグメント内通信における通信データの転送経路を示している。
また、宛先MACアドレスが「HGW22」であれば、Bridge311は、MACアドレス学習機能により、受け取った通信データをTap00へ出力する。図7の6行目には、このときの転送経路が示されている。図7の6行目は、例えばVHNW3内の機器31とRHNW2内のHGW22との通信、または、VHNW3内の機器31による、RHNW2内のHGW22を介したIPv6インターネット通信における通信データの転送経路を示している。
また、宛先MACアドレスが「機器21」であれば、Bridge311は、MACアドレス学習機能により、受け取った通信データをTap00へ出力する。図7の8行目には、このときの転送経路が示されている。図7の8行目は、例えばRHNW2内の機器21とVHNW3内のVHGW32との通信、または、RHNW2内の機器21による、VHNW3内のVHGW32を介したIPv4インターネット通信における通信データの転送経路を示している。
なお、Bridge311は、宛先MACアドレスがMACアドレステーブルにない通信データに対しては、MACアドレス学習をして適切なインターフェイスから出力する。その他の通信経路を制御するため、Bridge311は、例えば、IPv6アドレスを持たないWAN側のインターフェイス(Eth01)において、インバウンド/アウトバウンド双方向のIPv6トラフィックやアウトバンドからのARPを全てドロップする。また、Bridge311は、フィルタ機能を用いて、Eth00をMACアドレスのソースとするイーサフレーム全てをEth01でドロップする。これにより、通信データは図7に記載のような経路をとるよう制御されることとなる。
上記説明から明らかなように、Bridge311は、レイヤ2スイッチとして機能し、LAN側インターフェイス(Eth02)に接続した機器31からのRHNW2やIPv6インターネットとの間の通信データを、レイヤ2トンネル経由で、対向するRHNW2内のL2−VPN処理部210へ転送する。
図8は、第1の実施形態において、RHNW2内の機器21およびVHNW3内の機器31が通信を行う場合の通信データの流れを説明するための概念図である。図8では、特に、RHNW2内の機器21がIPv6インターネットを介して通信を行う場合と、VHNW3内の機器31がIPv4インターネットを介して通信を行う場合と、RHNW2内の機器21とVHNW3内の機器31とが通信路11を介して通信を行う場合とがそれぞれ示されている。
なお、図8には4種類のIPアドレスを区別するために別々の記号が図示されている。ただし、同一の記号が付された機器のアドレスについては、プレフィックスは同じであるが、アドレス自体は異なっている。
RHNW2内の機器21がIPv6インターネットを介して通信を行う場合は、例えば図8に示すように、通信制御装置200は、機器21から送信された通信データを、HGW22およびアクセス網10を介してIPv6インターネットへ送信する。この場合のBridge211の制御は、図4に示した表の2行目に示されている。
また、HGW22およびアクセス網10を介してIPv6インターネットから通信データを受信した場合、通信制御装置200は、受信した通信データを機器21へ送信する。この場合のBridge211の制御は、図4に示した表の3行目に示されている。
また、RHNW2内の機器21とVHNW3内の機器31とが通信路11を介して通信を行う場合、通信制御装置200は、機器21から送信された通信データを、通信制御装置300との間でアクセス網10上に設定しているL2−VPNの通信路11を介して通信制御装置300へ送信する。通信制御装置300は、通信路11を介して受信した通信データを機器31へ送る。この場合のBridge211の制御は、図4に示した表の4行目に示されており、Bridge311の制御は、図7の5行目に示されている。
また、通信制御装置300は、機器31から送信された通信データを、通信路11を介して通信制御装置200へ送信する。通信制御装置200は、通信路11を介して受信した通信データを機器21へ送る。この場合のBridge211の制御は、図4に示した表の5行目に示されており、Bridge311の制御は、図7の4行目に示されている。
また、VHNW3内の機器31がIPv4インターネットを介して通信を行う場合、通信制御装置300は、機器31から送信された通信データを、VHGW32およびアクセス網10を介してIPv4インターネットへ送信する。この場合のBridge311の制御は、図7に示した表の2行目に示されている。
また、VHGW32およびアクセス網10を介してIPv4インターネットから通信データを受信した場合、通信制御装置300は、受信した通信データを機器31へ送信する。この場合のBridge311の制御は、図7に示した表の3行目に示されている。
図9は、第1の実施形態において、RHNW2内の機器21がIPv4インターネットを介して通信を行う場合の通信データの流れを説明するための概念図である。
通信制御装置200は、機器21から送信された通信データを、通信制御装置300との間でアクセス網10上に設定している通信路11を介して通信制御装置300へ送信する。通信制御装置300は、通信路11を介して受信した通信データを、VHGW32およびアクセス網10を介してIPv4インターネットへ送信する。この場合のBridge211の制御は、図4に示した表の6行目に示されており、Bridge311の制御は、図7の9行目に示されている。
また、VHGW32およびアクセス網10を介してIPv4インターネットから通信データを受信した場合、通信制御装置300は、受信した通信データを、通信路11を介して通信制御装置200へ送信する。通信制御装置200は、通信路11を介して受信した通信データを機器21へ送る。この場合のBridge211の制御は、図4に示した表の7行目に示されており、Bridge311の制御は、図7の8行目に示されている。
図10は、第1の実施形態において、VHNW3内の機器31がIPv6インターネットを介して通信を行う場合の通信データの流れを説明するための概念図である。
通信制御装置300は、機器31から送信された通信データを、通信制御装置200との間でアクセス網10上に設定しているL2−VPNの通信路11を介して通信制御装置200へ送信する。通信制御装置200は、通信路11を介して受信した通信データを、HGW22およびアクセス網10を介してIPv6インターネットへ送信する。この場合のBridge211の制御は、図4に示した表の9行目に示されており、Bridge311の制御は、図7の6行目に示されている。
また、HGW22およびアクセス網10を介してIPv6インターネットから通信データを受信した場合、通信制御装置200は、受信した通信データを、通信路11を介して通信制御装置300へ送信する。通信制御装置300は、通信路11を介して受信した通信データを機器31へ送る。この場合のBridge211の制御は、図4に示した表の8行目に示されており、Bridge311の制御は、図7の7行目に示されている。なお、通信路11はインターネット網を介して構築されるものであってもよい。
また、第1の実施形態におけるネットワークシステム1の他の例として、ネットワークシステム1は、例えば図11のように構成されてもよい。図11は、複数のRHNW2をiDC(インターネットデータセンタ)に設けられたNAPTで集約する構成の一例を説明するための概念図である。ネットワークシステム1は、例えば図11に示すように、DC13側のVHNW3をユーザ毎に作成し、IPv4NAPTの機能(大規模NATの機能)をユーザ間で共用するようにしてもよい。また、この場合、NAT装置とVPN装置とは別個に構成されることになる。なお、図11中のvSwitchは例えば仮想スイッチのことである。
以上、本発明の第1の実施形態について説明した。
上記説明から明らかなように、本実施形態のネットワークシステム1によれば、ユーザがHNW100を十分に活用することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について、図面を参照しながら説明する。第1の実施形態におけるネットワークシステム1では、RHNW2内の機器21およびVHNW3内の機器31と、IPv6インターネットとの通信は、RHNW2内のHGW22を経由し、IPv4インターネットとの通信は、VHNW3内のVHGW32を経由して行われるが、本実施形態におけるネットワークシステム1では、IPv6インターネットとの通信、および、IPv4インターネットとの通信のいずれも、VHNW3内のVHGW32を経由して行われる点が異なる。つまり、RHNW2およびVHNW3は、VHGW32からIPv4アドレスおよびIPv6プレフィックスを受けることとなる。
図12は、第2の実施形態における通信制御装置200のハードウェア構成の一例を概念的に示す。本実施形態における通信制御装置200は、L2−VPN処理部210、Bridge211、Eth0、およびEth2を有する。なお、本実施形態における通信制御装置300については、以下に説明する点を除き、図6に示した第1の実施形態における通信制御装置300と同様の構成であるため、説明を省略する。
図13は、第2の実施形態において、RHNW2内の機器21がIPv4およびIPv6インターネットを介して通信を行う場合の通信データの流れを説明するための概念図である。
本実施形態のネットワークシステム1では、まず、機器21が、IPv6インターネットへの通信データ(例えば、送信元MACアドレスが「機器21」であり、かつ、宛先MACアドレスが「VHGW32」である通信データ)を通信制御装置200へ送る。通信制御装置200のBridge211は、Eth2を介してIPv6インターネットへの通信データを機器21から受け取り、受け取った通信データをTap0からL2−VPN処理部210へ送る。
L2−VPN処理部210は、Tap0を介して受け取った通信データを、カプセル化および暗号化してEth0を介してHGW22へ送る。HGW22は、通信制御装置200から受け取った通信データを、アクセス網10やインターネット網上にL2−VPN処理部210とL2−VPN処理部310との間に設定された通信路11を介してVHGW32へ送信する。
VHGW32は、通信路11を介してHGW22から通信データを受信し、受信した通信データを通信制御装置300へ送る。通信制御装置300のL2−VPN処理部310は、Eth00を介してVHGW32から受け取った通信データについてデカプセル化および復号化の処理を施して、Tap00からBridge311へ送る。Bridge311は、Tap00を介して受け取った通信データを、Eth01を介してVHGW32へ送る。VHGW32は、通信制御装置300から受け取った通信データをIPv6インターネットへ送信する。
また、VHGW32は、IPv6インターネットを介して機器21宛の通信データを受信した場合に、受信した通信データの送信元MACアドレスを「VHGW32」とし、宛先MACアドレスを「機器21」として通信制御装置300へ送る。通信制御装置300のBridge311は、Eth01を介してVHGW32から受け取った通信データを、Tap00を介してL2−VPN処理部310へ送る。
L2−VPN処理部310は、Tap00を介して受け取った通信データに、カプセル化および暗号化の処理を施して、Eth00を介してVHGW32へ送る。VHGW32は、通信制御装置300から受け取った通信データを、通信路11を介してHGW22へ送信する。
HGW22は、通信路11を介してVHGW32から通信データを受信し、受信した通信データを通信制御装置200へ送る。通信制御装置200のL2−VPN処理部210は、Eth0を介してHGW22から受け取った通信データについてデカプセル化および復号化の処理を施して、Tap0からBridge211へ送る。Bridge211は、Tap0を介して受け取った通信データを、Eth2を介して機器21へ送る。
以上、本発明の第2の実施形態について説明した。
(第3の実施形態)
次に、本発明の第3の実施形態について、図面を参照しながら説明する。第1の実施形態におけるネットワークシステム1では、RHNW2内の機器21とVHNW3内の機器31との間で送受信される通信データ、RHNW2内の機器21とIPv4インターネットとの間で送受信される通信データ、および、VHNW3内の機器31とIPv6インターネットとの間で送受信される通信データのいずれもが、L2−VPN処理部210およびL2−VPN処理部310の間に設定されたL2−VPNの通信路11を介してやり取りされる。
それに対し、本実施形態のネットワークシステム1では、RHNW2内の機器21とVHNW3内の機器31との間で送受信される通信データについては、L2−VPN処理部210およびL2−VPN処理部310の間に設定されたL2−VPNの通信路11を介してやり取りされるが、RHNW2内の機器21とIPv4インターネットとの間で送受信される通信データ、および、VHNW3内の機器31とIPv6インターネットとの間で送受信される通信データについては、暗号化を行わないもう1つの通信路12を介してやり取りされる点が第1の実施形態とは異なる。
図14は、第3の実施形態における通信制御装置200のハードウェア構成の一例を概念的に示す。本実施形態における通信制御装置200は、L2−VPN処理部210、Bridge211、カプセリング処理部212、Eth0、Eth1、およびEth2を有する。Tap0およびTap1は、Bridge211に設けられた仮想的なインターフェイスである。なお、以下に説明する点を除き、図14において、図3と同じ符号を付した構成は、図3における構成と同一または同様の機能を有するため説明を省略する。
カプセリング処理部212は、Tap1を介してBridge211から受け取った通信データをカプセル化し、カプセル化した通信データを、Eth0を介してHGW22へ送る。HGW22は、カプセリング処理部212によってカプセル化された通信データを、通信路12を介してVHGW32へ送信する。また、カプセリング処理部212は、Eth0を介してHGW22から受け取った通信データをデカプセル化し、デカプセル化した通信データを、Tap1を介してBridge211へ送る。カプセリング処理部212は、通信データの暗号化の処理は行わない。
本実施形態におけるBridge211は、通信データの宛先MACアドレスがVHNW3内の「機器31」または「VHGW32」である場合に、MACアドレス学習機能やIPフィルタにより、Eth0を介して通信データをVHNW3へ送信するが、その際、送信元または宛先のIPアドレスに基づいて、Tap0を介してL2−VPN処理部210にカプセル化および暗号化させるか、Tap1を介してカプセリング処理部212にカプセル化させるかを判別する。
例えば、Eth2側からの通信データであって(このような通信データの送信元IPアドレスはHNW100の内部のアドレスである)、通信データの宛先MACアドレスがVHNW3内の「機器31」である場合、Bridge211は、Tap0を介してL2−VPN処理部210に通信データをカプセル化および暗号化させる。一方、通信データの送信元IPアドレスがHNW100の外部のアドレスである場合、Bridge211は、Tap1を介してカプセリング処理部212に通信データをカプセル化させる。
また、例えば、通信データの宛先MACアドレスがVHNW3内の「VHGW32」あり、かつ、通信データの宛先IPアドレスがHNW100の内部のアドレス、つまりVHGW32のIPアドレスである場合、Bridge211は、Tap0を介してL2−VPN処理部210に通信データをカプセル化および暗号化させる。一方、通信データの宛先IPアドレスがHNW100の外部のアドレスである場合、Bridge211は、Tap1を介してカプセリング処理部212に通信データをカプセル化させる。
図15は、第3の実施形態において通信制御装置200によって転送される通信データの経路の一例をまとめた表である。本実施形態の通信制御装置200が有するBridge211のMACアドレス学習機能、並びに、Tap0、Tap1、およびEth1のIPフィルタリング機能により、通信データは、例えば図15に示すような経路で転送される。
例えば、Eth2側からの通信データであって(このような通信データの送信元IPアドレスは内部アドレスである)、宛先MACアドレスが「機器31」であれば、Bridge211は、Tap0へ通信データを出力する。図15の4行目には、このときの転送経路が示されている。Tap0へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化され、Eth0を介してHGW22へ出力される。HGW22は、L2−VPN処理部210によってカプセル化および暗号化された通信データを、通信路11を介してVHGW32へ送信する。図15の4行目は、例えばRHNW2内の機器21とVHNW3内の機器31との同一セグメント内通信における通信データの転送経路を示している。
また、宛先MACアドレスが「VHGW32」であり、かつ、通信データの宛先IPアドレスが内部アドレス、つまりVHGW32のIPアドレスである場合、Bridge211は、Tap0へ通信データを出力する。図15の6行目には、このときの転送経路が示されている。Tap0へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化され、Eth0を介してHGW22へ出力される。HGW22は、L2−VPN処理部210によってカプセル化および暗号化された通信データを、通信路11を介してVHGW32へ送信する。図15の6行目は、例えばRHNW2内の機器21とVHGW32との通信における通信データの転送経路を示している。
また、通信データの宛先IPアドレスが外部アドレスであれば、Bridge211は、Tap1へ通信データを出力する。図15の7行目には、このときの転送経路が示されている。Tap1へ出力された通信データは、カプセリング処理部212によりカプセル化され、Eth0を介してHGW22へ出力される。HGW22は、カプセリング処理部212によってカプセル化された通信データを、通信路12を介してVHGW32へ送信する。図15の7行目は、例えばRHNW2内の機器21がIPv4インターネット通信における通信データの転送経路を示している。
また、Eth1側からの通信データであって(このような通信データの送信元MACアドレスはHGW22のMACアドレスである)、宛先MACアドレスが「機器31」であり、かつ、通信データの送信元IPアドレスが内部アドレス、つまりHGW22のIPアドレスであれば、Bridge211は、Tap0へ通信データを出力する。図15の10行目には、このときの転送経路が示されている。Tap0へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化され、Eth0を介してHGW22へ出力される。HGW22は、L2−VPN処理部210によってカプセル化および暗号化された通信データを、通信路11を介してVHGW32へ送信する。図15の10行目は、例えばHGW22とVHNW3内の機器31との通信における通信データの転送経路を示している。
また、通信データの送信元IPアドレスが外部アドレスであれば、Bridge211は、Tap1へ通信データを出力する。図15の10行目には、このときの転送経路が示されている。Tap1へ出力された通信データは、カプセリング処理部212によりカプセル化され、Eth0を介してHGW22へ出力される。HGW22は、カプセリング処理部212によってカプセル化された通信データを、通信路12を介してVHGW32へ送信する。図15の11行目は、例えばVHNW3内の機器31がIPv6インターネット通信における通信データの転送経路を示している。
Bridge211は、図15に示したように通信データの経路を制御する結果、Tap0において、同一セグメントのHNW100内の通信を通過させ、外部NWとの通信(RHNW2とIPv4インターネットとの通信やVHNW3とIPv6インターネットとの通信)を遮断する。また、Bridge211は、Tap1において、同一セグメントのHNW100内の通信を遮断し、外部NWとの通信を通過させる。
なお、同一セグメントのHNW100内の通信とは、例えば、MACアドレス学習済みの宛先MACアドレス宛ての通信、宛先IPアドレスがプライベートIPアドレスの通信、宛先IPアドレスがリンクローカルアドレスの通信、宛先IPアドレスが同一セグメントNW内のプレフィックスである通信が考えられる。また、その他の通信としては、例えば、マルチキャストアドレス、ブロードキャストアドレス、Windows(登録商標)が搭載するAutoIP機能で割当てられたアドレス「169.254.0.0〜169.254.255.255」が宛先となる通信、SSDP等のように、宛先IPアドレスが「239.255.255.255」であり、宛先ポート番号が1900番のマルチキャスト通信等が考えられる。
図16は、第3の実施形態における通信制御装置300のハードウェア構成の一例を概念的に示す。VHNW3は、L2−VPN処理部310、Bridge311、カプセリング処理部312、Eth00、Eth01、およびEth02を有する。Tap00およびTap01は、Bridge311に設けられた仮想的なインターフェイスである。なお、以下に説明する点を除き、図16において、図6と同じ符号を付した構成は、図6における構成と同一または同様の機能を有するため説明を省略する。
カプセリング処理部312は、Tap01を介してBridge311から受け取った通信データをカプセル化し、カプセル化した通信データを、Eth00を介してVHGW32へ送る。VHGW32は、カプセリング処理部312によってカプセル化された通信データを、通信路12を介してHGW22へ送信する。また、カプセリング処理部312は、Eth00を介してVHGW32から受け取った通信データをデカプセル化し、デカプセル化した通信データを、Tap01を介してBridge311へ送る。カプセリング処理部312は、通信データの暗号化の処理は行わない。
本実施形態におけるBridge311は、通信データの宛先MACアドレスがRHNW2内の「機器21」または「HGW22」である場合に、MACアドレス学習機能やIPフィルタにより、Eth00を介して通信データをRHNW2へ送信するが、その際、送信元または宛先のIPアドレスに基づいて、Tap00を介してL2−VPN処理部310にカプセル化および暗号化させるか、Tap01を介してカプセリング処理部312にカプセル化させるかを判別する。
例えば、Eth02側からの通信データであって(このような通信データの送信元IPアドレスはHNW100の内部のアドレスである)、通信データの宛先MACアドレスがRHNW2内の「機器21」ある場合、Bridge311は、Tap00を介してL2−VPN処理部310に通信データをカプセル化および暗号化させる。一方、通信データの送信元IPアドレスがHNW100の外部のアドレスである場合、Bridge311は、Tap01を介してカプセリング処理部312に通信データをカプセル化させる。
また、例えば、通信データの宛先MACアドレスがRHNW2内の「HGW22」あり、かつ、通信データの宛先IPアドレスがHNW100の内部のアドレス、つまりHGW22のIPアドレスである場合、Bridge311は、Tap00を介してL2−VPN処理部310に通信データをカプセル化および暗号化させる。一方、通信データの宛先IPアドレスがHNW100の外部のアドレスである場合、Bridge311は、Tap01を介してカプセリング処理部312に通信データをカプセル化させる。
図17は、第3の実施形態において通信制御装置300によって転送される通信データの経路の一例をまとめた表である。本実施形態の通信制御装置300が有するBridge311は、のMACアドレス学習機能、並びに、Tap00、Tap01、およびEth01のIPフィルタリング機能により、通信データは、例えば図17に示すような経路で転送される。
例えば、Eth02側からの通信データであって(このような通信データの送信元IPアドレスは内部アドレスである)、宛先MACアドレスが「機器21」であれば、Bridge311は、当該通信データをTap00へ出力する。図17の4行目には、このときの転送経路が示されている。Tap00へ出力された通信データは、L2−VPN処理部310によりカプセル化および暗号化され、Eth00を介してVHGW32へ出力される。VHGW32は、L2−VPN処理部310によってカプセル化および暗号化された通信データを、通信路11を介してHGW22へ送信する。図17の4行目は、例えばVHNW3内の機器31とRHNW2内の機器21との同一セグメント内通信における通信データの転送経路を示している。
また、宛先MACアドレスが「HGW22」であり、かつ、通信データの宛先IPアドレスが内部アドレス、つまりHGW22のIPアドレスである場合、Bridge311は、当該通信データをTap00へ出力する。図17の6行目には、このときの転送経路が示されている。Tap00へ出力された通信データは、L2−VPN処理部310によりカプセル化および暗号化され、Eth00を介してVHGW32へ出力される。VHGW32は、L2−VPN処理部310によってカプセル化および暗号化された通信データを、通信路11を介してHGW22へ送信する。図17の6行目は、例えばVHNW3内の機器31とHGW22との通信における通信データの転送経路を示している。
また、通信データの宛先IPアドレスが外部アドレスであれば、Bridge311は、当該通信データをTap01へ出力する。図17の7行目には、このときの転送経路が示されている。Tap01へ出力された通信データは、カプセリング処理部312によりカプセル化され、Eth00を介してVHGW32へ出力される。VHGW32は、カプセリング処理部312によってカプセル化された通信データを、通信路12を介してHGW22へ送信する。図17の7行目は、例えばVHNW3内の機器31がIPv6インターネット通信における通信データの転送経路を示している。
また、Eth02側からの通信データであって(このような通信データの送信元IPアドレスは内部アドレスである)、宛先MACアドレスが「機器21」であれば、Bridge311は、当該通信データをTap00へ出力する。図17の10行目には、このときの転送経路が示されている。Tap00へ出力された通信データは、L2−VPN処理部310によりカプセル化および暗号化され、Eth00を介してVHGW32へ出力される。VHGW32は、L2−VPN処理部310によってカプセル化および暗号化された通信データを、通信路11を介してHGW22へ送信する。図17の10行目は、例えばVHGW32とRHNW2内の機器21との通信における通信データの転送経路を示している。
また、通信データの送信元IPアドレスが外部アドレスであれば、Bridge311は、当該通信データをTap01へ出力する。図17の11行目には、このときの転送経路が示されている。Tap01へ出力された通信データは、カプセリング処理部312によりカプセル化され、Eth00を介してVHGW32へ出力される。VHGW32は、カプセリング処理部312によってカプセル化された通信データを、通信路12を介してHGW22へ送信する。図17の11行目は、例えばRHNW2内の機器21がIPv4インターネット通信における通信データの転送経路を示している。
ここで、IPv4またはIPv6インターネットとの通信データについては、もともとオープンネットワークを介してやり取りされる通信データであるため、HNW100内を通過するときだけ秘匿化する必要はない。そのため、本実施形態における通信制御装置200および通信制御装置300は、RHNW2内の機器21とVHNW3内の機器31との間の通信については、L2−VPNの通信路11を介して通信データを送受信することでセキュリティを保つ一方、IPv4またはIPv6インターネットとの通信データについては、暗号化を行わずにカプセル化された通信データを通信路12を介して送受信する。
これにより、本実施形態のネットワークシステム1は、通信データの過度な秘匿化を防止することで、通信制御装置200や通信制御装置300の処理負荷を軽減することができると共に、通信帯域の低下を抑えることができる。
以上、本発明の第3の実施形態について説明した。
(第4の実施形態)
次に、本発明の第4の実施形態について、図面を参照しながら説明する。本実施形態では、第3の実施形態における通信制御装置200および通信制御装置300の一部の機能を、OpenFlow(参考:http://www.openflow.org/)等のSDN(Software-Defined Network)を用いて実現している点が異なる。
図18は、第4の実施形態における通信制御装置200のハードウェア構成の一例を概念的に示す。本実施形態における通信制御装置200は、L2−VPN処理部210、カプセリング処理部212、SDN−SW213、Eth0、Eth1、およびEth2を有する。port1〜4は、SDN−SW213に設けられた仮想的なインターフェイスである。なお、以下に説明する点を除き、図18において、図14と同じ符号を付した構成は、図14における構成と同一または同様の機能を有するため説明を省略する。また、例えば、直接接続されているEth1とPort1や、Eth2とPort2は、それぞれ1つのインターフェイスとして扱ってもよい。なお、SDN−SWとは、SDNに対応したスイッチのことであり、例えば、OpenFlowを適用する場合は、OpenFlowに対応したスイッチが用いられる。
L2−VPN処理部210は、port3を介して通信データを受け付けた場合に、受け付けた通信データについてカプセル化および暗号化の処理を行う。そして、L2−VPN処理部210は、カプセル化および暗号化の処理を行った通信データを、Eth0を介してHGW22へ送信する。HGW22は、L2−VPN処理部210によってカプセル化および暗号化された通信データを、通信路11を介してVHGW32へ送信する。また、L2−VPN処理部210は、Eth0を介して通信データを受け付けた場合に、受け付けた通信データについてデカプセル化および復号化の処理を行う。そして、L2−VPN処理部210は、デカプセル化および復号化の処理を行った通信データを、port3を介してSDN−SW213へ送る。
カプセリング処理部212は、port4を介してSDN−SW213から受け取った通信データをカプセル化し、カプセル化した通信データを、Eth0を介してHGW22へ送る。HGW22は、カプセリング処理部212によってカプセル化された通信データを、通信路12を介してVHGW32へ送信する。また、カプセリング処理部212は、Eth0を介してHGW22から受け取った通信データをデカプセル化し、デカプセル化した通信データを、port4を介してSDN−SW213へ送る。
図19は、第4の実施形態においてSDN−SW213に設定されるフローテーブルの一例を示す。本実施形態において、図19に例示したフローテーブルは、例えばDC13内に設けられたSDNコントローラから配布される。SDN−SW213は、SDNコントローラから配布されたフローテーブルに従って通信データを制御する。また、このフローテーブルによる制御の他にMACアドレス学習に相当するフローテーブルをSDNコントローラに適宜問合せて配布されることを前提とする。
例えば、図19に示したフローテーブルの4行目には、port2を介してEth2から通信データを受け取った場合に、受け取った通信データの宛先MACアドレスが「機器31」または宛先IPアドレスが同一セグメント内のアドレスであれば、SDN−SW213は、受け取った通信データをport3へ出力する制御が示されている。Port3へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化され、Eth0を介してHGW22へ出力される。HGW22は、L2−VPN処理部210によってカプセル化および暗号化された通信データを、通信路11を介してVHGW32へ送信する。これは、例えばRHNW2内の機器21とVHNW3内の機器31との同一セグメント内通信の制御を示している。
また、フローテーブルの6行目には、port2を介してEth2から通信データを受け取った場合に、受け取った通信データの宛先MACアドレスが「VHGW32」であり、かつ、宛先IPアドレスがHNW100の内部のアドレス(すなわちVHGW32のアドレス)であれば、SDN−SW213は、受け取った通信データをport3へ出力する制御が示されている。port3へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化され、Eth0を介してHGW22へ出力される。HGW22は、L2−VPN処理部210によってカプセル化および暗号化された通信データを、通信路11を介してVHGW32へ送信する。これは、例えばRHNW2内の機器21とVHGW32との通信の制御を示している。
また、フローテーブルの7行目には、port2を介してEth2から通信データを受け取った場合に、受け取った通信データの宛先MACアドレスが「VHGW32」であり、かつ、宛先IPアドレスがHNW100の外部のアドレスであれば、SDN−SW213は、受け取った通信データをport4へ出力する制御が示されている。port4へ出力された通信データは、カプセリング処理部212によりカプセル化され、Eth0を介してHGW22へ出力される。HGW22は、カプセリング処理部212によってカプセル化された通信データを、通信路12を介してVHGW32へ送信する。これは、例えばRHNW2内の機器21がIPv4インターネット通信を行う場合の制御を示している。
また、フローテーブルの9行目には、port1を介してEth1から通信データを受け取った場合に、受け取った通信データの宛先MACアドレスが「機器31」であり、かつ、送信元IPアドレスがHNW100の内部のアドレス(すなわちHGW22のアドレス)であれば、SDN−SW213は、受け取った通信データをport3へ出力する制御が示されている。port3へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化され、Eth0を介してHGW22へ出力される。HGW22は、L2−VPN処理部210によってカプセル化および暗号化された通信データを、通信路11を介してVHGW32へ送信する。これは、例えばHGW22とVHNW3内の機器31との通信の制御を示している。
また、フローテーブルの10行目には、port1を介してEth1から通信データを受け取った場合に、受け取った通信データの宛先MACアドレスが「機器31」であり、かつ、送信元IPアドレスがHNW100の外部のアドレスであれば、SDN−SW213は、受け取った通信データをport4へ出力する制御が示されている。port4へ出力された通信データは、カプセリング処理部212によりカプセル化され、Eth0を介してHGW22へ出力される。HGW22は、カプセリング処理部212によってカプセル化された通信データを、通信路12を介してVHGW32へ送信する。これは、例えばVHNW3内の機器31がIPv6インターネット通信を行う場合の制御を示している。
なお、SDN−SW213は、フローテーブルに記載されている情報に該当しない通信データについては、対処方法を、例えばRHNW2やVHNW3内に設けられたSDNコントローラに問い合わせ、必要に応じてフローテーブルを取得するようにしてもよい。または、そのような通信データについては、ドロップするよう明示的に制御するフローテーブルを、初期段階で、または必要に応じて、設定してもよい。
図20は、第4の実施形態において通信制御装置200によって転送される通信データの経路の一例をまとめた表である。SDN−SW213が、図19に示したフローテーブルに従って通信データの経路を制御することにより、通信データは例えば図20に示すような経路で転送されることになる。
図21は、第4の実施形態における通信制御装置300のハードウェア構成の一例を概念的に示す。本実施形態における通信制御装置300は、L2−VPN処理部310、カプセリング処理部312、SDN−SW313、Eth00、Eth01、およびEth02を有する。port01〜04は、SDN−SW313に設けられた仮想的なインターフェイスである。なお、以下に説明する点を除き、図21において、図16と同じ符号を付した構成は、図16における構成と同一または同様の機能を有するため説明を省略する。
L2−VPN処理部310は、port03を介して通信データを受け付けた場合に、受け付けた通信データについてカプセル化および暗号化の処理を行う。そして、L2−VPN処理部310は、カプセル化および暗号化の処理を行った通信データを、Eth00を介してVHGW32へ送信する。VHGW32は、L2−VPN処理部310によってカプセル化および暗号化された通信データを、通信路11を介してHGW22へ送信する。また、L2−VPN処理部310は、Eth00を介して通信データを受け付けた場合に、受け付けた通信データについてデカプセル化および復号化の処理を行う。そして、L2−VPN処理部310は、デカプセル化および復号化の処理を行った通信データを、port03を介してSDN−SW313へ送る。
カプセリング処理部312は、port04を介してSDN−SW313から受け取った通信データをカプセル化し、カプセル化した通信データを、Eth00を介してVHGW32へ送る。VHGW32は、カプセリング処理部312によってカプセル化された通信データを、通信路12を介してHGW22へ送信する。また、カプセリング処理部312は、Eth00を介してVHGW32から受け取った通信データをデカプセル化し、デカプセル化した通信データを、port04を介してSDN−SW313へ送る。
図22は、第4の実施形態においてSDN−SW313に設定されるフローテーブルの一例を示す。本実施形態において、図22に例示したフローテーブルは、例えばDC13内に設けられたSDNコントローラから配布される。SDN−SW313は、SDNコントローラから配布されたフローテーブルに従って通信データを制御する。
例えば、図22に示したフローテーブルの4行目には、port02を介してEth02から通信データを受け取った場合に、受け取った通信データの宛先MACアドレスが「機器21」または宛先IPアドレスが同一セグメント内のアドレスであれば、SDN−SW313は、受け取った通信データをport03へ出力する制御が示されている。port03へ出力された通信データは、L2−VPN処理部310によりカプセル化および暗号化され、Eth00を介してVHGW32へ出力される。VHGW32は、L2−VPN処理部310によってカプセル化および暗号化された通信データを、通信路11を介してHGW22へ送信する。これは、例えばVHNW3内の機器31とRHNW2内の機器21との同一セグメント内通信の制御を示している。
また、フローテーブルの6行目には、port02を介してEth02から通信データを受け取った場合に、受け取った通信データの宛先MACアドレスが「HGW22」であり、かつ、宛先IPアドレスがHNW100の内部のアドレス(すなわちHGW22のアドレス)であれば、SDN−SW313は、受け取った通信データをport03へ出力する制御が示されている。port03へ出力された通信データは、L2−VPN処理部310によりカプセル化および暗号化され、Eth00を介してVHGW32へ出力される。VHGW32は、L2−VPN処理部310によってカプセル化および暗号化された通信データを、通信路11を介してHGW22へ送信する。これは、例えばVHNW3内の機器31とHGW22との通信の制御を示している。
また、フローテーブルの7行目には、port02を介してEth02から通信データを受け取った場合に、受け取った通信データの宛先MACアドレスが「HGW22」であり、かつ、宛先IPアドレスがHNW100の外部のアドレスであれば、SDN−SW313は、受け取った通信データをport04へ出力する制御が示されている。port04へ出力された通信データは、カプセリング処理部312によりカプセル化され、Eth00を介してVHGW32へ出力される。VHGW32は、カプセリング処理部312によってカプセル化された通信データを、通信路12を介してHGW22へ送信する。これは、例えばVHNW3内の機器31がIPv6インターネット通信を行う場合の制御を示している。
また、フローテーブルの9行目には、port01を介してEth01から受け取った通信データの宛先MACアドレスが「機器21」であり、かつ、送信元IPアドレスがHNW100の内部のアドレス(すなわちVHGW32のアドレス)であれば、SDN−SW313は、受け取った通信データをport03へ出力する制御が示されている。port03へ出力された通信データは、L2−VPN処理部310によりカプセル化および暗号化され、Eth00を介してVHGW32へ出力される。VHGW32は、L2−VPN処理部310によってカプセル化および暗号化された通信データを、通信路11を介してHGW22へ送信する。これは、例えばVHGW32とRHNW2内の機器21との通信の制御を示している。
また、フローテーブルの10行目には、port01を介してEth01から受け取った通信データの送信元MACアドレスが「VHGW32」であり、かつ、宛先MACアドレスが「機器21」であり、かつ、送信元IPアドレスがHNW100の外部のアドレスであれば、SDN−SW313は、受け取った通信データをport04へ出力する制御が示されている。port04へ出力された通信データは、カプセリング処理部312によりカプセル化され、Eth00を介してVHGW32へ出力される。VHGW32は、カプセリング処理部312によってカプセル化された通信データを、通信路12を介してHGW22へ送信する。これは、例えばRHNW2内の機器21がIPv4インターネット通信を行う場合の制御を示している。
なお、SDN−SW313は、フローテーブルに記載されている情報に該当しない通信データについては、対処方法を、例えばRHNW2やVHNW3内に設けられたSDNコントローラに問い合わせ、必要に応じてフローテーブルを取得するようにしてもよい。または、そのような通信データについては、ドロップするよう明示的に制御するフローテーブルを、初期段階で、または必要に応じて、設定してもよい。
図23は、第4の実施形態において通信制御装置300によって転送される通信データの経路の一例をまとめた表である。SDN−SW313が、図22に示したフローテーブルに従って通信データの経路を制御することにより、通信データは例えば図23に示すような経路で転送されることになる。
上記した第4の実施形態では、通信路11および通信路12のいずれかを介して、RHNW2内の通信機器とVHNW3内の通信機器との間の通信データが転送されるが、本発明はこれに限られず、1つの通信路を介してRHNW2内の通信機器とVHNW3内の通信機器との間の通信データが転送されるようにしてもよい。例えば、通信路をL2−VPNの通信路11のみとする場合、通信制御装置200では入力ポートおよび出力ポートに設定されているport4をport3に置き換えればよく、通信制御装置300では入力ポートおよび出力ポートに設定されているport04をport03に置き換えればよい。これにより、第1の実施形態に示した構成をSDNにより実現することができる。
以上、本発明の第4の実施形態について説明した。
(第5の実施形態)
次に、本発明の第5の実施形態について、図面を参照しながら説明する。本実施形態におけるネットワークシステム1と、第1の実施形態におけるネットワークシステム1とは、主に以下の点が異なる。すなわち、本実施形態における通信制御装置300には、VHNW3内を流れる通信データについて、セキュリティ上の脅威があるか否かを判定するセキュリティチェック、またはさらにセキュリティ上の脅威があると判定した場合に脅威の駆除を行う機能が設けられる。また、本実施形態の通信制御装置200には、VHNW3を介さずにRHNW2内でやり取りされる通信データについて、セキュリティチェックが必要か否かを判定する機能が設けられる。そして、通信制御装置200によってセキュリティチェックが必要と判定された通信データについては、一旦VHNW3内で通信制御装置300によってセキュリティチェックが行われる。
図24は、第5の実施形態における通信制御装置200の機能構成の一例を示すブロック図である。本実施形態における通信制御装置200は、例えば図24に示すように、LAN通信部201、トンネリング処理部202、判別部203、転送処理部204、WAN通信部205、および判定部206を有する。なお、以下に説明する点を除き、図24において、図2と同じ符号を付した構成は、図2における構成と同一または同様の機能を有するため説明を省略する。
判定部206は、転送処理部204から受け取った通信データに含まれている情報に基づいてセキュリティチェックを行う必要のある通信データか否かを判定する。判定部206は、例えば、レイヤ1〜4程度の情報に基づいてセキュリティチェックを行う必要がある通信データか否かを判定する。ここでは、少なくとも通常はVHNW3を経由しないRHNW2内の通信データまたはRHNW2とIPv6インターネットの間の通信データを特定して、判定部205に判定させる。その他の通信データについては、判定部205の判定を省略してもよい。
具体的には、通信制御装置200内のメモリに予め保存されている、IPアドレスやポート番号等のホワイト・ブラック・グレーリスト等の情報と、通信データのヘッダ内の情報とを突き合わせることにより、判定部206は、セキュリティチェックの要否を判定する。例えば、判定部206は、通信データの送信元や送信先などの情報が、メモリに保存されているホワイトリストに該当する場合には、セキュリティチェックが不要と判定する。また、判定部206は、通信データの送信元や送信先などの情報が、メモリに保存されているメモリに保存されているホワイトリストに該当しない場合や、メモリに保存されているグレーリストに該当する場合には、セキュリティチェックが必要と判定する。なお、通信データの送信元や送信先などの情報が、メモリに保存されているブラックリストに該当する場合には、判定部206は、その時点で通信データを破棄してもよい。
セキュリティ上の脅威があるか否かを判定するセキュリティチェックでは、ペイロードの中身を解析する必要がある場合があり、高い処理能力が必要となる。そのため、通信制御装置200では、セキュリティチェックが必要か否かを判定する簡易な処理にとどめ、処理負荷の軽減を図っている。
判定部206は、セキュリティチェックが不要と判定した通信データについては、転送処理部204へ返す。また、セキュリティチェックが必要と判定した通信データについては、通信データのヘッダ等にフラグを埋め込み、トンネリング処理部202へ渡す。つまり、このフラグは通常の転送処理による出力先への転送とは異なる出力先へ転送する通信データであることを示すものでもある。
本実施形態における通信制御装置200のハードウェア構成の一例を概念的に示す図は、例えば図3と同様である。判定部206の機能は、例えばBridge211に組み込まれている、または接続されている図示しないアプリケーションにより実現されるが以下ではこのアプリケーションをBridge211と表記して説明する。
本実施形態におけるBridge211は、VHNW3を通過しない通信データについて、セキュリティチェックを行う必要があるか否かを判定する。そして、セキュリティチェックを行う必要があると判定した場合、Bridge211は、通信データに所定のフラグを埋め込む。そして、Bridge211は、フラグを埋め込んだ通信データを、Tap0を介してL2−VPN処理部210へ送る。Tap0へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化され、Eth0を介してHGW22へ出力される。HGW22は、L2−VPNの通信路11を介して通信データをVHNW3内の通信制御装置300へ送信する。
そして、VHNW3内の通信制御装置300によってセキュリティ上の脅威があるか否かが判定され、セキュリティ上の脅威がないと判定された通信データ、あるいは、セキュリティ上の脅威を取り除かれた通信データは、再び通信路11を介してEth0からL2−VPN処理部210へ戻される。L2−VPN処理部210は、戻ってきた通信データをデカプセル化および復号化してTap0を介してBridge211へ送る。Bridge211は、セキュリティ上の脅威がないと判定された、あるいは、セキュリティ上の脅威が取り除かれた通信データを、本来の送信先へ転送する。
図25は、第5の実施形態において通信制御装置200によって転送される通信データの経路の一例をまとめた表である。本実施形態の通信制御装置200が有するBridge211のMACアドレス学習機能、および、Eth1のIPフィルタリング機能により、通信データは、例えば図25に示すような経路で転送される。なお、セキュリティチェックの要否判断に基づく制御は、図25の1〜9行目の制御である。10〜16行目までの制御は、図4に示した制御と同様であるため、その説明は省略する。
例えば、宛先MACアドレスが「機器21」であれば、Bridge211は、MACアドレス学習機能により、受け取った通信データの出力ポートをEth2と判別する。そして、Bridge211は、通信データのセキュリティチェックが不要と判定すれば、通信データをEth2から出力する。図25の1行目には、この場合の転送経路が示されている。図25の1行目は、例えばRHNW2内の機器21同士で送受信される通信データについて、セキュリティチェックが不要と判定された場合の通信データの転送経路を示している。
一方、通信データのセキュリティチェックが必要と判定すれば、Bridge211は、通信データをTap0へ出力する。図25の2行目には、この場合の転送経路が示されている。Tap0へ出力された通信データは、L2−VPN処理部210によりカプセル化および暗号化が施され、Eth0を介してHGW22へ出力される。図25の2行目は、例えばRHNW2内の機器21同士で送受信される通信データについて、セキュリティチェックが必要と判定された場合の通信データの転送経路を示している。
また、図25の3行目には、VHNW3内の通信制御装置300によってセキュリティ上の脅威がないと判定された通信データ、あるいは、セキュリティ上の脅威を取り除かれた通信データの転送経路が示されている。
また、図25の4〜6行目には、RHNW2内の機器21からHGW22へ送信される通信データにおいて、セキュリティチェックが不要と判断された通信データ、セキュリティチェックが必要と判定された通信データ、通信制御装置300によってセキュリティ上の脅威がないと判定された通信データ、あるいは、セキュリティ上の脅威を取り除かれた通信データの転送経路がそれぞれ示されている。
また、図25の7〜9行目には、HGW22からRHNW2内の機器21へ送信される通信データにおいて、セキュリティチェックが不要と判断された通信データ、セキュリティチェックが必要と判定された通信データ、通信制御装置300によってセキュリティ上の脅威がないと判定された通信データ、あるいは、セキュリティ上の脅威を取り除かれた通信データの転送経路がそれぞれ示されている。
図26は、第5の実施形態における通信制御装置300の機能構成の一例を示すブロック図である。本実施形態における通信制御装置300は、例えば図26に示すように、LAN通信部301、トンネリング処理部302、判別部303、転送処理部304、WAN通信部305、およびセキュリティチェック部306を有する。なお、以下に説明する点を除き、図26において、図5と同じ符号を付した構成は、図5における構成と同一または同様の機能を有するため説明を省略する。
セキュリティチェック部306は、転送処理部304から受け取った通信データに含まれている情報に基づいてセキュリティ上の脅威があるか否かを判定するセキュリティチェックを行う。セキュリティチェック部306は、例えば、レイヤ1〜7までの全てのレイヤを対象としてチェックする。上位レイヤの解析には、例えばIPS(Intrusion Prevention System)、SPI(Stateful Packet Inspection)やWAF(Web Application Firewall)、DPI(Deep Packet Inspection)などの技術を適用することができる。この場合、通信制御装置300に割り当てられた記憶領域には、SPI、WAF、DPI等に必要なパターン情報やウィルス・マルウェア定義パターンなどを記憶しておく。
セキュリティチェック部306は、セキュリティチェックの結果、異常なしと判定した場合、通信データに含まれているフラグを削除してRHNW2に返す。一方、セキュリティチェックの結果、異常ありと判定した場合、セキュリティチェック部306は、セキュリティ処理を施してセキュリティ上の脅威を取り除き、異常なしと判定される通信データにして通信を継続するか、あるいは、その時点で通信データを破棄したり、その通信データの送信元からの受信を拒否するように設定する命令を所定のFW(FireWall)、例えばRHGW22やVHGW32内のFWに通知する等の処理を行う。
本実施形態における通信制御装置300のハードウェア構成の一例を概念的に示す図は、例えば図6と同様である。セキュリティチェック部306の機能は、例えばBridge311に組み込まれている、または接続されている図示しないアプリケーションにより実現される。もしくは、通信制御装置300の外部の図示しない装置上で動作するものであってもよい。
図27は、第5の実施形態において通信制御装置300によって転送される通信データの経路の一例をまとめた表である。本実施形態の通信制御装置200が有するBridge311のMACアドレス学習機能、および、Eth01のIPフィルタリング機能により、通信データは、例えば図27に示すような経路で転送される。
例えば、宛先MACアドレスが「機器31」であり、かつ、セキュリティチェックの結果「異常なし」と判定された通信データ(セキュリティ上の脅威がないと判定された通信データ、あるいは、セキュリティ上の脅威を取り除かれた通信データ)であれば、Bridge311は、当該通信データをEth02へ出力する。図27の1行目には、このときの転送経路が示されている。図27の1行目は、例えば、VHNW3内の機器31同士で送受信される通信データにおいて、セキュリティチェックの結果が「異常なし」となった場合の通信データの転送経路を示している。
また、図27の2〜3行目には、VHNW3内の機器31がVHGW32との間で送受信する通信データにおいて、セキュリティチェックの結果が「異常なし」となった場合の転送経路が示されている。また、図27の4〜5行目には、VHNW3内の機器31とRHNW2内の機器21との間で送受信される通信データにおいて、セキュリティチェックの結果が「異常なし」となった場合の転送経路が示されている。
また、図27の6〜7行目には、VHNW3内の機器31がRHNW2内のHGW22との間で送受信する通信データにおいて、セキュリティチェックの結果が「異常なし」となった場合の転送経路が示されている。また、図27の8〜9行目には、RHNW2内の機器21がVHGW32との間で送受信される通信データにおいて、セキュリティチェックの結果が「異常なし」となった場合の転送経路が示されている。
また、図27の10行目には、RHNW2内の機器21同士で送受信される通信データであって、セキュリティチェックが必要と判定された通信データについて、セキュリティチェックの結果が「異常なし」となった場合の転送経路が示されている。また、図27の11〜12行目には、RHNW2内の機器21がIPv6インターネットを介して送受信する通信データであって、セキュリティチェックが必要と判定された通信データについて、セキュリティチェックの結果が「異常なし」となった場合の転送経路が示されている。
なお、セキュリティチェックの結果が「異常あり」となった通信データについては、Bridge311は、セキュリティ処理を施してセキュリティ上の脅威を取り除き、異常なしと判定される通信データにして通信を継続するか、あるいは、その時点で通信データを破棄したり、その通信データの送信元からの受信を拒否するように設定する命令を所定のFWに通知する等の処理を行う。
ここで、RHNW2内の機器21がIPv6インターネットを介して送受信する通信データであって、セキュリティチェックが必要と判定された通信データの流れについて、図28および図29を用いて説明する。図28は、第5の実施形態において、RHNW2内の機器21からIPv6インターネットへ送信される通信データの流れを説明するための概念図である。
まず、RHNW2内の機器21は、宛先MACアドレスが「HGW22」であり、かつ、宛先IPアドレスが外部のNWである通信データを通信制御装置200へ送る(S10)。通信制御装置200のBridge211は、機器21から送られた通信データを、Eth2を介して受け取る。そして、Bridge211は、当該通信データについてセキュリティチェックを行う必要があると判定した場合、当該通信データのヘッダ等にフラグを付けて、当該通信データを、Tap0を介してL2−VPN処理部210へ送る(図25に示した表の5行目参照)。
L2−VPN処理部210は、Tap0を介して受け取った通信データにカプセル化および暗号化の処理を施し、処理後の通信データを、Eth0を介してHGW22へ出力する(S11)。HGW22は、通信制御装置200から受け取った通信データを、通信路11を介してVHGW32へ送信する(S12)。
次に、VHGW32は、通信路11を介して受け取った通信データを通信制御装置300へ送る(S13)。通信制御装置300のL2−VPN処理部310は、Eth00を介して受け取った通信データについて、デカプセル化および復号化の処理を施し、処理後の通信データを、Tap00を介してBridge311へ送る。
Bridge311は、Tap00を介して受け取った通信データについてセキュリティチェックを行う。セキュリティチェックの結果が「異常なし」である場合、Bridge311は、Tap00を介して受け取った通信データからフラグを除去し、フラグを除去した通信データを、Tap00を介してL2−VPN処理部310へ返す(図27に示した表の11行目参照)。
L2−VPN処理部310は、Tap00を介して戻された通信データについてカプセル化および暗号化の処理を施し、処理後の通信データを、Eth00を介してVHGW32へ送る(S14)。VHGW32は、通信制御装置300から受け取った通信データを、通信路11を介してHGW22へ送る(S15)。HGW22は、受け取った通信データを通信制御装置200へ送る(S16)。
通信制御装置200内のL2−VPN処理部210は、Eth0を介して受け取った通信データについて、デカプセル化および復号化の処理を施し、処理後の通信データを、Tap0を介してBridge211へ送る。Bridge211は、Tap0を介して受け取った通信データを、Eth1を介してHGW22へ送る(図25に示した表の6行目参照)(S17)。HGW22は、通信制御装置200から受け取った通信データをIPv6インターネットへ送信する(S18)。
図29は、第5の実施形態において、IPv6インターネットからRHNW2内の機器21へ送信される通信データの流れを説明するための概念図である。
まず、HGW22は、IPv6インターネットから機器21宛の通信データを受け取った場合に(S20)、送信元MACアドレスを「HGW22」、送信元IPアドレスを外部のNWとし、かつ、宛先MACアドレスを「機器21」とする通信データを通信制御装置200へ送る(S21)。通信制御装置200内のBridge211は、Eth1を介して受け取った通信データについてセキュリティチェックを行う必要があると判定した場合、当該通信データのヘッダ等にフラグを付けて、当該通信データを、Tap0を介してL2−VPN処理部210へ送る(図25に示した表の8行目参照)。
L2−VPN処理部210は、Tap0を介して受け取った通信データにカプセル化および暗号化の処理を施し、処理後の通信データを、Eth0を介してHGW22へ出力する(S22)。HGW22は、通信制御装置200から受け取った通信データを通信路11を介してVHGW32へ送信する(S23)。
次に、VHGW32は、通信路11を介して受け取った通信データを通信制御装置300へ送る(S24)。通信制御装置300のL2−VPN処理部310は、Eth00を介して受け取った通信データについて、デカプセル化および復号化の処理を施し、処理後の通信データを、Tap00を介してBridge311へ送る。
Bridge311は、Tap00を介して受け取った通信データについてセキュリティチェックを行う。セキュリティチェックの結果「異常なし」と判定された場合(セキュリティ上の脅威がないと判定された場合、あるいは、セキュリティ上の脅威が取り除かれた場合)、Bridge311は、Tap00を介して受け取った通信データからフラグを除去し、フラグを除去した通信データを、Tap00を介してL2−VPN処理部310へ返す(図27に示した表の12行目参照)。
L2−VPN処理部310は、Tap00を介して戻された通信データについてカプセル化および暗号化の処理を施し、処理後の通信データを、Eth00を介してVHGW32へ送る(S25)。VHGW32は、通信制御装置300から受け取った通信データを、通信路11を介してHGW22へ送る(S26)。HGW22は、受け取った通信データを通信制御装置200へ送る(S27)。
通信制御装置200内のL2−VPN処理部210は、Eth0を介して受け取った通信データについて、デカプセル化および復号化の処理を施し、処理後の通信データを、Tap0を介してBridge211へ送る。Bridge211は、Tap0を介して受け取った通信データを、Eth2を介して機器21へ送る(図25に示した表の9行目参照)(S28)。
ここで、Bridge211側では、内部セグメントNW内の通信データ、例えばRHNW2内の通信データはセキュアであるとみなして、RHNW2と外部のNWとの通信データのみをセキュリティチェックの対象としてもよい。また、RHNW2とVHNW3の間はL2−VPNのみを構築していたが、カプセリングのみのトンネルである通信路12を併用してもよい。この場合、RHNW2内の通信データをセキュリティチェックにかける場合はL2−VPNである通信路11を経由させ、外部のNWとの通信をセキュリティチェックにかける場合はカプセリングによるトンネルである通信路12を経由させることとなる。また、VHNW3側では、例えば機器31と外部のNWとの通信データのみをセキュリティチェックにかける場合、通信データの宛先IPアドレスや送信元IPアドレスに基づいて、セキュリティチェックにかける通信データであるか否かを確認すればよい。
以上、本発明の第5の実施形態について説明した。
(第6の実施形態)
次に、本発明の第6の実施形態について、図面を参照しながら説明する。本実施形態は、第4の実施形態と第5の実施形態とを組み合わせたものである。
図30は、第6の実施形態における通信制御装置200のハードウェア構成の一例を概念的に示す。本実施形態における通信制御装置200は、L2−VPN処理部210、カプセリング処理部212、SDN−SW213、判定処理部214、Eth0、Eth1、およびEth2を有する。port1〜7は、SDN−SW213に設けられた仮想的なインターフェイスである。なお、以下に説明する点を除き、図30において、図18と同じ符号を付した構成は、図18における構成と同一または同様の機能を有するため説明を省略する。
判定処理部214は、port5を介して通信データを受け取った場合に、当該通信データに含まれている情報に基づいてセキュリティチェックを行う必要のある通信データか否かを判定する。判定処理部214は、例えば、レイヤ1〜4程度の情報に基づいてセキュリティチェックを行う必要がある通信データか否かを判定する。
判定処理部214は、セキュリティチェックが不要と判定した通信データについては、port6を介してSDN−SW213へ送る。また、セキュリティチェックが必要と判定した通信データについては、判定処理部214は、port7へ送る。
図31は、第6の実施形態においてSDN−SW213に設定されるフローテーブルの一例を示す。なお、図31には、RHNW2内の機器21同士の通信や機器21によるIPv6インターネット通信のように、VHNW3を経由しない通信データについてのフローテーブルが示されている。これ以外の通信(VHNW3を経由する通信)についてのフローテーブルは、図19に示した表と同様であるため図示および説明を省略する。
例えば、図31に示したフローテーブルの1〜4行目には、RHNW2内の機器21同士で送受信される通信データ(すなわち、Eth2から入力され、宛先MACアドレスが「機器21」である通信データ)の制御について示されている。1行目には、port2を介してEth2から通信データを受け取った場合に、SDN−SW213は、受け取った通信データをport5へ出力する制御が示されている。port5へ出力された通信データは、判定処理部214によってセキュリティチェックの要否が判定される。
また、フローテーブルの2行目には、port6を介して通信データを受信した場合、SDN−SW213は、受信した通信データを、port2を介してEth2へ送る制御が示されている。また、フローテーブルの3行目には、port7を介して通信データを受信した場合、SDN−SW213は、受信した通信データを、port3を介してL2−VPN処理部210へ送る制御が示されている。
また、フローテーブルの3行目には、port3を介してL2−VPN処理部210から受け取った通信データの宛先MACアドレスが「機器21」であれば、SDN−SW213は、受け取った通信データをport2へ出力する制御が示されている。これは、例えばRHNW2内の機器21同士で送受信される通信データが、通信制御装置300によるセキュリティチェックの結果、「異常なし」と判定されてRHNW2へ戻された場合の制御を示している。
また、フローテーブルの4〜9行目には、RHNW2内の機器21とHGW22との間で送受信される通信データ(すなわち、Eth2から入力され、宛先MACアドレスが「HGW22」である通信データ)の制御について示されている。
また、フローテーブルの10〜13行目には、RHNW2内のHGW22と機器21との間で送受信される通信データ(すなわち、Eth1から入力され、宛先MACアドレスが「機器21」である通信データ)の制御について示されている。
SDN−SW213が、図31に示したように通信データの転送を行うことにより、通信データは、例えば図32に示すように転送される。図32は、第6の実施形態において通信制御装置200によって転送される通信データの経路の一例をまとめた表である。
図33は、第6の実施形態における通信制御装置300のハードウェア構成の一例を概念的に示す。本実施形態における通信制御装置300は、L2−VPN処理部310、カプセリング処理部312、SDN−SW313、セキュリティチェック処理部314、Eth00、Eth01、およびEth02を有する。port01〜06は、SDN−SW313に設けられた仮想的なインターフェイスである。なお、以下に説明する点を除き、図33において、図21と同じ符号を付した構成は、図21における構成と同一または同様の機能を有するため説明を省略する。
セキュリティチェック処理部314は、port05を介して通信データを受け取った場合に、当該通信データに含まれている情報に基づいてセキュリティチェックを行う。セキュリティチェック処理部314は、例えば、レイヤ1〜7までの全てのレイヤを対象としてセキュリティチェックを行う。セキュリティチェック処理部314は、セキュリティチェックの結果「異常なし」と判定した通信データ(セキュリティ上の脅威がないと判定された通信データ、あるいは、セキュリティ上の脅威を取り除かれた通信データは)については、port06を介してSDN−SW313へ返す。また、セキュリティチェックの結果「異常あり」と判定した通信データ(セキュリティ上の脅威を取り除くことができた通信データを除く)については、その通信データを破棄する。
図34は、第6の実施形態においてSDN−SW313に設定されるフローテーブルの一例を示す。なお、図34には、RHNW2内の機器21同士の通信や機器21によるIPv6インターネット通信のように、VHNW3を経由しない通信データについてのフローテーブルが示されている。これ以外の通信(VHNW3を経由する通信)についてのフローテーブルは、図19に示した表と同様であるため説明を省略する。
例えば、図34に示したフローテーブルの1行目には、port01〜04から入力された通信データについては、SDN−SW313は、全てport05へ出力する制御が示されている。これは、port01〜04から入力された通信データについては、全てセキュリティチェック処理部314にセキュリティチェックさせることを示している。
また、フローテーブルの2〜7行目には、port06から入力される通信データの制御について示されている。port06から入力される通信データは、セキュリティチェック処理部314によるセキュリティチェックの結果「異常なし」と判定されたものである。
例えば、フローテーブルの3行目には、port06から入力される通信データの宛先MACアドレスが「HGW22」であり、かつ、宛先IPアドレスが「外部」であれば、SDN−SW313は、受け取った通信データをport04へ出力する制御が示されている。これは、例えばRHNW2内の機器21からIPv6インターネットへ送信される通信データが、通信制御装置300によるセキュリティチェックの結果「異常なし」と判定された後に、通信路12を介してRHNW2へ戻される場合の制御を示している。
また、フローテーブルの4行目には、port06から入力される通信データの宛先MACアドレスが「機器21」であり、かつ、送信元IPアドレスが「内部」であれば、SDN−SW313は、受け取った通信データをport03へ出力する制御が示されている。これは、例えばHNW100内の機器21や機器31等が機器21との間で送受信する通信データについて、通信制御装置300によるセキュリティチェックの結果「異常なし」と判定されて通信路11を介してRHNW2へ戻される場合の制御を示している。
また、フローテーブルの6行目には、port06から入力される通信データの宛先MACアドレスが「機器31」であれば、SDN−SW313は、受け取った通信データをport02へ出力する制御が示されている。これは、例えば機器31宛の通信データが、通信制御装置300によるセキュリティチェックの結果「異常なし」と判定されて宛先の機器31へ転送される場合の制御を示している。
また、フローテーブルの最下行には、フローテーブルに記述されている通信データ以外の通信データについては、SDN−SW313は、通信データを破棄することにより通信を遮断する制御が示されている。なお、SDN−SW313は、フローテーブルに記載されている情報に該当しない通信データについては、対処方法を、例えばVHNW3内に設けられたSDNコントローラに問い合わせるようにしてもよい。
SDN−SW313が、図34に示したように通信データの転送を行うことにより、通信データは、例えば図35に示すように転送される。図35は、第6の実施形態において通信制御装置300によって転送される通信データの経路の一例をまとめた表である。
ここで、SDN−SW213側では、内部セグメントNW内の通信データ、例えばRHNW2内の通信データはセキュアであるとみなして、RHNW2と外部のNWとの通信データのみをセキュリティチェックの対象としてもよい。また、RHNW2とVHNW3の間はL2−VPNのみを構築していたが、カプセリングのみのトンネルである通信路12を併用してもよい。この場合、RHNW2内の通信データをセキュリティチェックにかける場合はL2−VPNである通信路11を経由させ、外部のNWとの通信をセキュリティチェックにかける場合はカプセリングによるトンネルである通信路12を経由させることとなる。また、SDN−SW313を通る任意の通信データのうち、選択的に通信データをセキュリティチェックする場合は、port05に出力させる通信データの条件をフローテーブルに登録することになる。また、VHNW3側では、例えば機器31と外部のNWとの通信データのみをセキュリティチェックにかける場合、通信データの宛先IPアドレスや送信元IPアドレスに基づいて、port05に出力させる通信データの条件をフローテーブルに登録することになる。また、SDN−SW213側でセキュリティチェックの要否判定することなく、RHNW2内の通信データ、RHNW2と外部のNWとの通信データ、またはこの両方をセキュリティチェックにかけることとしてもよい。
以上、本発明の第6の実施形態について説明した。
以上、本発明をいくつかの実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
例えば、上記した第5または第6の実施形態について、例えば、同一セッションの通信データについては、通信開始から所定数または所定期間内の通信データについて、セキュリティチェックの結果「異常なし」と判定された場合には、それ以降の通信データについては、セキュリティチェックを省略するようにしてもよい。この場合、通信制御装置200または通信制御装置300がセッション開始から通信データ数や経過時間を計測して、上限に到達しない間の通信データに対してセキュリティチェックを行わないようにする。また、信頼できる通信先との間で送受信される通信データについては、セキュリティチェックを省略するようにしてもよい。また、同一セグメント内の通信については、安全であるとみなしてセキュリティチェックを省略するようにしてもよい。この場合、通信制御装置200または通信制御装置300がこの信頼できる通信先情報や同一セグメントNW内の通信データであること識別できるアドレス等の情報を記憶しておき、宛先や送信元が記憶している情報に該当する場合は、その通信データに対してセキュリティチェックを行わないようにする。
また、上記した第6の実施形態では、RHNW2とVHNW3の間に通信路11と通信路12の2つの通信路を設定するが、本発明はこれに限られず、RHNW2とVHNW3の間の通信は、全て暗号化された通信路11を介して行われてもよい。
また、上記した第3、第4、または第6の実施形態において、カプセリング処理部212およびカプセリング処理部312は、通信データのカプセリングを行い、通信データの暗号化は行わないが、本発明はこれに限られない。例えば、カプセリング処理部212およびカプセリング処理部312は、カプセル化の対象となる通信データ内の一部の情報を秘匿化してカプセル化してもよい。通信データ内の一部の情報とは、例えば、送信元MACアドレスや宛先MACアドレス、送信元IPアドレス、送信元ポート番号等である。また、秘匿化の対象は、送信元MACアドレスや宛先MACアドレス等の情報の一部(上位/下位数ビットなど)であってもよい。秘匿化とは、例えば、転置式暗号や換字式暗号などのように処理負荷が低い処理により実現するのが望ましい。また、上記した実施形態において、IPv6とIPv4の扱いを対称にしてもよい。例えば、IPv4インターネットGWをRHNW2側に、IPv6インターネットGWをVHNW3側に配置することとしてもよく、カプセリングやL2−VPNはIPv4通信によって実現してもよい。また、用途によっては、L2−VPNに限らずL3以上のVPNによって実現してもよく、カプセリング処理は、L2やL3レベルでのカプセリングを行うこととしてもよい。