JP2017034309A - 仮想スイッチ制御システム及び方法 - Google Patents

仮想スイッチ制御システム及び方法 Download PDF

Info

Publication number
JP2017034309A
JP2017034309A JP2015149003A JP2015149003A JP2017034309A JP 2017034309 A JP2017034309 A JP 2017034309A JP 2015149003 A JP2015149003 A JP 2015149003A JP 2015149003 A JP2015149003 A JP 2015149003A JP 2017034309 A JP2017034309 A JP 2017034309A
Authority
JP
Japan
Prior art keywords
virtual switch
container
virtual
switch control
switch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015149003A
Other languages
English (en)
Other versions
JP6570033B2 (ja
Inventor
裕之 北田
Hiroyuki Kitada
裕之 北田
兼三 奥田
Kenzo Okuda
兼三 奥田
信也 白井
Shinya Shirai
信也 白井
直樹 高谷
Naoki Takatani
直樹 高谷
泰則 松林
Yasunori Matsubayashi
泰則 松林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015149003A priority Critical patent/JP6570033B2/ja
Publication of JP2017034309A publication Critical patent/JP2017034309A/ja
Application granted granted Critical
Publication of JP6570033B2 publication Critical patent/JP6570033B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】コンテナ型仮想化技術によりコンテナが構築された環境下においても当該環境による制約を受けることなく且つセキュリティレベルの高い仮想スイッチを提供することができる仮想スイッチの制御システム及び方法を提供する。
【解決手段】仮想スイッチコントローラ190は、コンテナ内への通信に係るパケットのうちユーザAのコントローラ301からのスイッチ制御信号に係るパケットを仮想スイッチコントローラ190に転送するとともに他のパケットはコンテナ内に転送するよう仮想スイッチ150を設定し、仮想スイッチ150の転送処理により受信したスイッチ制御信号をDB193に記憶するとともに該スイッチ制御信号150に基づき仮想スイッチ150を設定する。
【選択図】図9

Description

本発明は、コンテナ型仮想化技術に関する。
現在のキャリア網、特に固定網においては、インターネットアクセスやIPTV(Internet Protocol TeleVision)、VPN(Virtual Private Network)などのネットワークサービスを提供するための機能(NW機能)が、エッジルータや専用のアプライアンスといった形態で実装されている。
近年では、このようなNW機能を仮想化して汎用サーバ上で動作させ、ネットワークサービスを提供できるようにするNFV(Network Function Virtualization)が検討されている(非特許文献1参照)。
NFVが実現されると、仮想化されたキャリア網のNW機能を一カ所のサーバ群やデータセンタに集約することが可能になり、導入コストの低下や、設備効率の向上が期待できる。更に、SDN(Software Defined Network)技術による迅速かつ柔軟なネットワーク制御と組み合わせることで、サービスの迅速な提供が可能になる。
NFV化が検討されているNW機能の一つとして、CPE(Customer Premises Equipment)がある。CPEは、キャリア網に接続するユーザ毎に設置される装置であり、数千万という多くのユーザを収容するキャリア網においては、CPEの数は非常に多い。このような、多数のNW機能を仮想化してサーバに収容する際には、サーバの収容効率の向上が大きな課題になる。
現在、クラウドサービスを提供するデータセンタにおいては、ハイパーバイザ型仮想化が多く利用されている。ハイパーバイザ型仮想化では、コンピュータの動作をエミュレートすることで、物理マシンを仮想化した仮想マシンを作り出し、その上でOSを動作させることができる。これにより、一つのサーバ上で仮想マシン毎に異なるOSを実行できるという特徴がある。一方、エミュレーションによるオーバヘッドが大きく、サーバ上で直接アプリケーションを動作させた場合と比較して、性能が劣化し、サーバの収容効率も悪化するという課題がある。
このような中で、仮想マシンをエミュレートするのではなく、名前空間やプロセス空間を分離することによりOS上でプロセスが動作する独立した環境を作り出す技術としてコンテナ型仮想化技術がある。コンテナ型仮想化技術では、一つのOS上に、論理的に名前空間,プロセス空間,CPUやメモリ等のサーバリソースが分離された環境を構築し、アプリケーションを実行する。この分離された環境は「コンテナ」と呼ばれ、コンテナ毎にリソースの利用やファイルシステムへのアクセスが制御される。コンテナ型仮想化技術では、ハイパーバイザ型仮想化と比較して、仮想マシンのエミュレーションを行わない分オーバヘッドが小さく、収容効率の観点ではハイパーバイザ型仮想化よりも有利といえる(非特許文献2参照)
"Network Functions Virtualisation", NFV White Paper, Oct. 22, 2012, [online], [平成25年1月22日検索], インターネット<URL:http://portal.etsi.org/NFV/NFV_White_Paper.pdf> Xavier M.G., et al., "Performance Evaluation of Container-Based Virtualization for High Performance Computing Environments", Parallel, Distributed and Network-Based Processing (PDP), 2013 21st Euromicro International Conference on, pp233-240, Feb. 2013
しかし、コンテナ技術は、カーネルを共有するという特徴から、仮想スイッチ(vSwitch)のようなカーネル領域を使用するアプリケーションは、コンテナ上での動作が制限されるという課題がある。また、仮想スイッチをカーネル内に実装し、複数コンテナで共用する方法も考えられるが、例えば、コンテナ毎にユーザが異なるマルチテナント環境において、各ユーザが個別にコンテナ内の仮想ネットワークを制御する場合は、共通の仮想スイッチを制御させることになり、セキュリティ上の問題が懸念される。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、コンテナ型仮想化技術によりコンテナが構築された環境下においても当該環境による制約を受けることなく且つセキュリティレベルの高い仮想スイッチを提供することができる仮想スイッチの制御システム及び方法を提供することにある。
上記目的を達成するために、本願発明は、コンテナ型仮想化技術によりOS(Operating System)上に構築された仮想化環境である1つ以上のコンテナと、前記OS上に構築され前記コンテナ内のプロセスから共用される仮想スイッチと、前記仮想スイッチを制御する仮想スイッチコントローラとを備えた仮想スイッチ制御システムであって、前記仮想スイッチコントローラは、コンテナごとに独立したスイッチ制御情報を記憶する記憶手段と、コンテナ内との通信に係るパケットの経路を制御するパケット制御部とを備え、前記パケット制御部は、コンテナ内への通信に係るパケットのうちコンテナを利用するユーザのコントローラからのスイッチ制御信号に係るパケットを前記パケット制御部に転送するとともに他のパケットはコンテナ内に転送するよう前記仮想スイッチを設定し、前記仮想スイッチの前記転送処理により受信したスイッチ制御信号を該スイッチ制御信号に係るユーザが利用するコンテナのスイッチ制御信号として前記記憶手段に記憶するとともに該スイッチ制御信号に基づき前記仮想スイッチを設定することを特徴とする。
また、本願発明は、コンテナ型仮想化技術によりOS(Operating System)上に構築された仮想化環境である1つ以上のコンテナと、前記OS上に構築され前記コンテナ内のプロセスから共用される仮想スイッチとを備えた環境下において、仮想スイッチコントローラが前記仮想スイッチを制御する方法であって、前記仮想スイッチコントローラは、コンテナごとに独立したスイッチ制御情報を記憶する記憶手段と、コンテナ内との通信に係るパケットの経路を制御するパケット制御部とを備え、前記パケット制御部が、コンテナ内への通信に係るパケットのうちコンテナを利用するユーザのコントローラからのスイッチ制御信号に係るパケットを前記パケット制御部に転送するとともに他のパケットはコンテナ内に転送するよう前記仮想スイッチを設定するステップと、前記仮想スイッチの前記転送処理により受信したスイッチ制御信号を該スイッチ制御信号に係るユーザが利用するコンテナのスイッチ制御信号として前記記憶手段に記憶するとともに該スイッチ制御信号に基づき前記仮想スイッチを設定するステップとを含むことを特徴とする。
本発明によれば、各コンテナで仮想スイッチを共用しつつも、コンテナ毎に仮想スイッチを独立して制御することが可能になるので、コンテナ内のプロセスからみると各コンテナに専用の仮想スイッチが存在するように見える。換言すれば、各コンテナに擬似的な仮想スイッチ(以下、疑似仮想スイッチ(pvSW:Pseudo Virtual Switch)と言う)を提供することができる。これにより、コンテナ型仮想化技術による制約を受けることなく、且つ、コンテナ間のセキュリティレベルを向上させることができる。
仮想スイッチ制御システムの構成図 仮想スイッチの構成図 仮想スイッチコントローラの構成図 DBの記憶情報の一例 コンテナ情報の一例 疑似仮想スイッチ情報の一例 仮想スイッチ情報の一例 ユーザ情報 仮想スイッチ制御システムの概略動作を説明する図 仮想スイッチの制御内容例 仮想スイッチ制御システムの動作を説明するシーケンスチャート 仮想スイッチ制御システムの概略動作を説明する図 仮想スイッチの制御内容例 仮想スイッチ制御システムの動作を説明するシーケンスチャート コンテナを他のサーバに移動させた際の動作を説明する図 コンテナを他のサーバに移動させた際の動作を説明するシーケンスチャート 仮想スイッチ用の設定ファイルを生成するフローチャート
本発明の一実施の形態に係る仮想スイッチ制御システムについて図面を参照して説明する。図1は仮想スイッチ制御システムの構成図である。
仮想スイッチ制御システムでは、図1に示すように、サーバ100は、OS110上に構築された1つ以上のコンテナ120,130と、OS110上に構築された1つ以上の仮想スイッチ150と、OS110上に構築された仮想スイッチコントローラ190とを備えている。なお、仮想スイッチコントローラ190は仮想スイッチ150と通信できるのであれば実装位置は不問であり、OS110外やサーバ100とは別のコンピュータに実装するようにしてもよい。
コンテナ120,130は、OS110のユーザ空間に形成されプロセスレベルでリソースが分離された仮想化環境であり、コンテナ間で名前空間やプロセス空間が分離している。コンテナ120,130は、コンテナを利用するユーザ毎に構築されるものであり、サーバ100には複数のコンテナ120,130を構築可能、すなわち複数のユーザにコンテナを提供可能となっている。コンテナ120,130には、コンテナを利用するユーザの指示等により、その内部に1つ以上のユーザプロセス121,131を生成することができる。ここで「コンテナを利用するユーザ」とは例えば事業者が本システムを利用してコンテナ提供サービスを行っている場合に当該コンテナ提供サービスを受けるものであり、ユーザはユーザプロセス121,131として形成されたアプリケーションにより、ユーザの顧客等に対して各種サービスを提供することができる。なお、本システムを利用する他の形態としては、複数のサービスを運営する事業者がそれらサービスを提供するために、1台のサーバ上にサービスごとにコンテナを生成し、別々の管理者をあてる場合が考えられ、この場合管理者が「コンテナを利用するユーザ」に該当する。また、本システムを利用する他の形態としては、研究開発等において、複数の検証システムを構築する場合に、物理装置削減のためサーバを共有することを目的として、1サーバ上に検証システム毎にコンテナを生成し、複数の検証システムから1サーバを共有するが、各検証システムに対して仮想スイッチがそれぞれの検証システム毎に存在するように見せたい場合が考えられ、この場合研究開発者が「コンテナを利用するユーザ」に該当する。なお、本システムを利用する形態はこれらに限定されるものではない。
本発明に係る仮想スイッチ制御システムは、コンテナ120,130に擬似的に1つ以上の仮想スイッチ(疑似仮想スイッチ)129,139が存在しているように見えるよう、仮想スイッチ150を制御するものである。
仮想スイッチ150は、OS110のカーネル空間に実装されており、各コンテナ120,130で共用される。仮想スイッチ150は、1つのサーバ100上に1つ以上構築されている。図2に仮想スイッチ150の構成図を示す。仮想スイッチ150は、図2に示すように、サーバ100の外部のネットワーク300と接続する1つ以上の物理インタフェース(Eth)151と、コンテナ120,130と接続するn個(nは自然数)の仮想インタフェース(vEth)152と、パケット処理機能部153とを備えている。
仮想インタフェース152は、コンテナ120,130側のネットワークインタフェースであり、サーバ100内に存在するコンテナ120,130に対応して生成されている。パケット処理機能部153は、物理インタフェース151及び仮想インタフェース152に到着したパケットに対して、仮想スイッチコントローラ190から通知された制御内容に応じた処理を行うことにより、各コンテナ120,130の疑似仮想スイッチ129,139のパケット処理機能を実質的に代行し、これによりあたかも各コンテナ120,130に疑似仮想スイッチ129,139が存在するかのように見せかけることができる。なお、疑似仮想スイッチ129,139は、各コンテナ120,130に存在しない場合もあるし、2つ以上存在する場合もある。
仮想スイッチ150は、 VLAN(Virtual Local Area Network)、MPLS(Multi-Protocol Label Switching)、VxLAN(Virtual eXtensible Local Area Network)等の仮想ネットワークを構築する1つ以上のプロトコルに対応し、ヘッダに含まれる識別IDから仮想ネットワークのユーザを識別可能である。
仮想スイッチコントローラ190は、OS110のユーザ空間に実装されており仮想スイッチ150を制御する。図3に仮想スイッチコントローラ190の構成図を示す。仮想スイッチコントローラ190は、図3に示すように、ネットワーク制御機能部191(特許請求の範囲の「パケット制御部」に相当する。)と、サーバ間連携機能部192と、DB(Data Base)193とを備えている。
ネットワーク制御機能部191は、仮想スイッチ150を、例えばOpenFlowやNETCONF、ForCES(Forwarding and Control Element Separation)、XMPP(eXtensible Messaging and Presence Protocol)などのプロトコルを用いて制御する。また、ネットワーク制御機能部191は、仮想スイッチ150に到着した特定の制御トラヒック(前述のプロトコルやAPI(Application Programming Interface)用のプロトコル等)のみを仮想スイッチコントローラ190に転送することで各コンテナ120,130内に疑似仮想スイッチ129,139があるかのように見せかけ、ユーザ毎に疑似仮想スイッチ129,139を提供する機能をもつ。
サーバ間連携機能部192は、コンテナ120,130を別サーバへ移動させる場合において、移動元のコンテナ120,130のネットワーク設定を移動先に移す機能を有する。
DB193は、サーバ100内のコンテナ120,130、疑似仮想スイッチ129,139、利用ユーザに関する情報等を保持する機能を有する。図4にDBに保持されている情報を示す。図4に示すように、DB193は、コンテナ情報201と、疑似仮想スイッチ情報202と、仮想スイッチ情報203と、ユーザ情報204とを保持する。
コンテナ情報201は、図5に例示するように、コンテナと疑似仮想スイッチの紐付け状態を示すものであり、コンテナを識別するコンテナIDと、疑似仮想スイッチを識別する疑似仮想スイッチIDを保持する。
疑似仮想スイッチ情報202は、図6に例示するように、疑似仮想スイッチ129,139の各種情報を保持するものであり、疑似仮想スイッチIDと、コンテナ内ポートと仮想インタフェース152のマッピング情報と、仮想インタフェース152と仮想ネットワークのマッピング情報と、制御用アドレス/ポート番号情報と、設定内容情報とを保持する。ここで、コンテナ内ポートとは、コンテナ内から見た擬似仮想スイッチ129,139のポート名を意味する。また、制御用アドレス/ポート番号情報とは、後述するように、ユーザのコントローラ(後述する)が疑似仮想スイッチ129,139に向けてスイッチ制御用信号に係るパケットを送出する際に、宛先として用いるアドレス/ポート番号を示すものであり、後述するように当該制御用アドレス/ポート番号を宛先とするパケットは仮想スイッチコントローラ190に到達する。設定内容情報は、ユーザのコントローラから受信したスイッチ制御信号に含まれる疑似仮想スイッチ129,139の設定情報であり、例えばパケットフィルタ設定情報、NAT(Network Address Translator)設定情報、VPN(Virtual Private Network)設定情報などが挙げられる。
仮想スイッチ情報203は、図7に例示するように、仮想スイッチ150毎の各種情報を保持するものであり、仮想スイッチIDと、物理インタフェース情報と、仮想インタフェース情報と、設定内容情報を保持する。ここで、設定内容情報は、仮想スイッチ150の設定情報であり、例えばフィルタ設定情報、NAT設定情報、VPN設定情報など挙げられる。
ユーザ情報204は、図8に例示するように、ユーザの認証情報、及び、ユーザと疑似仮想スイッチ129,139の紐付け状態を保持するものであり、ユーザIDと、認証情報と、当該ユーザに紐付けられた1つ以上の疑似仮想スイッチ129,139の情報とを保持する。
ネットワーク300は、例えばVLAN、MPLS、VxLAN等の仮想ネットワークを構築する1つ以上のプロトコルに対応する。なお、仮想ネットワークを構築するためのプロトコルは前述のもの以外のものであってもよい。
次に、本実施の形態に係る仮想スイッチ制御システムの動作について図9を参照して説明する。図9は仮想スイッチ制御システムの概略動作を説明する図、図10は仮想スイッチの制御内容の一例、図11は仮想スイッチ制御システムの動作を説明するシーケンスチャートである。
まず、ユーザAは、仮想スイッチコントローラ190に対して疑似仮想スイッチ作成を通知する(ステップS1)。ここで通知する疑似仮想スイッチ作成には、作成される疑似仮想スイッチを利用するアプリケーションの識別情報を含む。或いは、作成される疑似仮想スイッチを利用するコンテナの識別情報を含む。
仮想スイッチコントローラ190は、該当するアプリケーションが実行されているコンテナの識別子から、該当コンテナIDに関するDB193に疑似仮想スイッチ情報202を書き込み(ステップS2)、当該疑似仮想スイッチ情報202に含まれる制御用アドレス/ポート番号情報をユーザに応答する(ステップS3)。
なお、ステップS1〜S3の処理におけるユーザAと仮想スイッチコントローラ190間の通信は、本願発明とは別の仕組み・経路で行われる。例えば、サーバ100は、ユーザAに対してコンテナの生成などを制御するためのWebインタフェースを提供し、当該Webインタフェースを介して前記ステップS1〜S3を実施することが挙げられる。
次に、仮想スイッチコントローラ190は、仮想スイッチ150に対して、ユーザAのコントローラ301から受信したスイッチ制御信号に係るパケットを仮想スイッチコントローラ190に転送されるように制御する(ステップS4)。なお、ここでユーザAのコントローラ301とは、仮想スイッチの制御を行う機能を有する制御アプリケーションであり、ユーザAの有する端末や他のサーバ上、またはユーザAのコンテナ内に実装されている。
次に、ユーザAのコントローラ301から、前記ステップS3で通知された制御用アドレス/ポート番号宛てに、ユーザ認証に係るスイッチ制御信号を送信すると(ステップS5)、当該スイッチ制御信号に係るパケットは仮想スイッチコントローラ190に転送される(ステップS6)。仮想スイッチコントローラ190は、スイッチ制御信号を受信すると、ユーザ認証を行い(ステップS7)、当該ユーザが利用しているコンテナの疑似仮想スイッチの設定情報をユーザAのコントローラ301に送信する(ステップS8)。
次に、ユーザAのコントローラ301から、前記ステップS3で通知された制御用アドレス/ポート番号宛てに、パケットフィルタリング設定など各種スイッチ設定に係るスイッチ制御信号(図10参照)を送信すると(ステップS9)、当該スイッチ制御信号に係るパケットは仮想スイッチコントローラ190に転送される(ステップS10)。仮想スイッチコントローラ190は、スイッチ制御信号を受信すると、当該設定情報をDB193に書き込み(ステップS11)、仮想スイッチ150が当該設定情報に基づく動作を行うように仮想スイッチ150を制御する(ステップS12)。
以降、端末302からユーザAのアプリケーションへの通信に係るパケット、すなわちユーザAの有するコントローラ301からのスイッチ制御信号に係るパケット以外のパケットは(ステップS13)、仮想スイッチ150においてパケットフィルタリングなどの処理が行われ(ステップS14)、コンテナ内のユーザAの当該アプリケーションに転送される(スイッチS15)。なお、ここで端末302とは、ユーザAに係るものに限定されるものではなく、ユーザAのアプリケーションによるサービスを受ける顧客等の端末等を想定したものである。
次に、上述のように設定された環境下において、ユーザが疑似仮想スイッチの設定を変更する場合について説明する。ここでは、ユーザAのアプリケーションへのTCP80番ポート宛てのパケットがフィルタリングされるよう設定を更新する場合について説明する。図12は仮想スイッチ制御システムの概略動作を説明する図、図13は仮想スイッチの制御内容の一例、図14は仮想スイッチ制御システムの動作を説明するシーケンスチャートである。
ユーザAのコントローラ301から、前記ステップS3で通知された制御用アドレス/ポート番号宛てに、ユーザ認証に係るスイッチ制御信号を送信すると(ステップS21)、当該スイッチ制御信号に係るパケットは仮想スイッチコントローラ190に転送される(ステップS22)。仮想スイッチコントローラ190は、スイッチ制御信号を受信すると、ユーザ認証を行い(ステップS23)、当該ユーザが利用しているコンテナの疑似仮想スイッチの設定情報をユーザのコントローラ301に送信する(ステップS24)。
次に、ユーザAの有するコントローラ301から、前記ステップS3で通知された制御用アドレス/ポート番号宛てに、パケットフィルタリング設定など各種スイッチ設定に係るスイッチ制御信号(図13参照)を送信すると(ステップS25)、当該スイッチ制御信号に係るパケットは仮想スイッチコントローラ190に転送される(ステップS26)。仮想スイッチコントローラ190は、スイッチ制御信号を受信すると、当該設定情報をDB193に書き込み(ステップS27)、仮想スイッチ150が当該設定情報に基づく動作を行うように仮想スイッチ150を制御する(ステップS28)。
以降、端末302からユーザAのアプリケーションへのTCP80番ポート宛てのパケットは(ステップS29)、仮想スイッチ150においてパケットフィルタリングされる(ステップS30)。
次に、コンテナを別のサーバに移動させた場合の動作について図面を参照して説明する。図15はコンテナの移動を説明する図、図16はコンテナ移動時の動作を説明するシーケンスチャートである。ここでは、図15に示すように、サーバ100Aからサーバ100Bへ、ユーザAのコンテナが移動したものとする。
サーバ100Aの仮想スイッチコントローラ190Aは、コンテナが移動したことを検知すると(ステップS51)、コンテナの移動先を取得し(ステップS52)、移動先のコンテナが構築されているサーバ100BにユーザAのアプリケーションが存在するかを確認する(ステップS53)。サーバ100Bの仮想スイッチコントローラ190Bは、サーバ100Aの仮想スイッチコントローラ190Aに対して、ユーザAのアプリケーションが存在していることを通知する(ステップS54)。
次に、サーバ100Aの仮想スイッチコントローラ190Aは、ユーザAのアプリケーション用の疑似仮想スイッチの設定情報をサーバ100Bの仮想スイッチコントローラ190Bに通知する(ステップS55)。次に、サーバ100Bの仮想スイッチコントローラ190Bは、該当ユーザアプリケーションが実行されているコンテナのIDから、該当コンテナIDに関するDBに疑似仮想スイッチの情報を書き込み(ステップS56)、書き込み完了をサーバ100Aの仮想スイッチコントローラ190Aに通知する(ステップS57)。サーバ100Aの仮想スイッチコントローラ190Aは、サーバ100Aの仮想スイッチ150Aに対して、ユーザAのアプリケーション用の設定を削除するよう指示する(ステップS58)。一方、サーバ100Bの仮想スイッチコントローラ190Bは、ユーザA向けのスイッチ制御信号に係るパケットのみ仮想スイッチコントローラ190Bに転送されるよう仮想スイッチ150Bを制御するとともに、前記ステップS55で仮想スイッチコントローラ190Aから受け取った疑似仮想スイッチの設定情報を仮想スイッチ150Bに設定する(ステップS59)。
次に、DB193内の疑似仮想スイッチ情報202の設定情報から、仮想スイッチ150用の設定ファイル(コンフィグファイル)を生成する方法について図17を参照して説明する。
仮想スイッチコントローラ190は、DB193内の疑似仮想スイッチ情報202の設定内容が更新された場合、更新された設定内容を抽出する(ステップ101)。次に、仮想スイッチコントローラ190は、抽出された設定内容のi行目について、制御種別を判断する(ステップS102)。
仮想スイッチコントローラ190は、制御種別が「NAT」の場合、i行目の設定内容に記載のコンテナ内ポート番号を仮想インタフェースに変換し、該当仮想インタフェース間でのNAT処理を設定する(ステップS103,S104)。また、仮想スイッチコントローラ190は、制御種別が「Filter」の場合、i行目の設定内容に記載のコンテナ内ポート番号を仮想インタフェースに変換し、該当仮想インタフェースのパケットフィルタリング処理を設定する(ステップS105,S106)。また、仮想スイッチコントローラ190は、制御種別が「VPN」の場合、i行目の設定内容に記載のコンテナ内ポート番号を仮想インタフェースに変換し、該当仮想インタフェースから、設定内容に記載の宛先IPアドレスに対してVPNの生成処理を設定する(ステップS107,S108)。
次に、仮想スイッチコントローラ190は、既存の仮想スイッチの設定内容と重複する部分がある場合には(ステップS109)、これまでに決定した設定内容を初期化し、更新内容を実行できない旨のエラーをユーザAのコントローラ301に通知する(ステップS110)。以上の動作を設定情報の各行について実施する(ステップS111,S112)。
以上のように本実施の形態に係る仮想スイッチ制御システムによれば、コンテナからみると該コンテナ専用の疑似仮想スイッチが存在しているようにみえるが、スイッチング処理自体はコンテナで共用の仮想スイッチが行う。これにより、高いセキュリティレベルを確保しつつ、スイッチング処理の効率化を図ることができる。
100,100A,100B…サーバ
110…OS
120,130…コンテナ
121,131…プロセス(アプリケーション)
129,139…疑似仮想スイッチ
150,150A,150B…仮想スイッチ
190,190A,190B…仮想スイッチコントローラ
191…ネットワーク制御機能部
192…サーバ間連携機能部
193…DB
301…ユーザAのコントローラ
302…端末

Claims (4)

  1. コンテナ型仮想化技術によりOS(Operating System)上に構築された仮想化環境である1つ以上のコンテナと、前記OS上に構築され前記コンテナ内のプロセスから共用される仮想スイッチと、前記仮想スイッチを制御する仮想スイッチコントローラとを備えた仮想スイッチ制御システムであって、
    前記仮想スイッチコントローラは、コンテナごとに独立したスイッチ制御情報を記憶する記憶手段と、コンテナ内との通信に係るパケットの経路を制御するパケット制御部とを備え、
    前記パケット制御部は、コンテナ内への通信に係るパケットのうちコンテナを利用するユーザのコントローラからのスイッチ制御信号に係るパケットを前記パケット制御部に転送するとともに他のパケットはコンテナ内に転送するよう前記仮想スイッチを設定し、前記仮想スイッチの前記転送処理により受信したスイッチ制御信号を該スイッチ制御信号に係るユーザが利用するコンテナのスイッチ制御信号として前記記憶手段に記憶するとともに該スイッチ制御信号に基づき前記仮想スイッチを設定する
    ことを特徴とする仮想スイッチ制御システム。
  2. 前記記憶手段はさらに認証情報を含むユーザ情報を記憶し、
    前記パケット制御部は、ユーザの認証情報に係るスイッチ制御信号を前記仮想スイッチを介してユーザのコントローラから受信すると、前記記憶手段のユーザ情報を用いて認証処理を行い、認証に成功した場合に以降のスイッチ制御信号の前記記憶手段への記憶及び該スイッチ制御信号に基づく仮想スイッチの設定を行う
    ことを特徴とする請求項1記載の仮想スイッチ制御システム。
  3. 前記パケット制御部におけるスイッチ制御信号に基づく仮想スイッチの設定処理は、スイッチ制御信号に含まれるアドレスの変換処理を含む
    ことを特徴とする請求項1又は2に記載の仮想スイッチ制御システム。
  4. コンテナ型仮想化技術によりOS(Operating System)上に構築された仮想化環境である1つ以上のコンテナと、前記OS上に構築され前記コンテナ内のプロセスから共用される仮想スイッチとを備えた環境下において、仮想スイッチコントローラが前記仮想スイッチを制御する方法であって、
    前記仮想スイッチコントローラは、コンテナごとに独立したスイッチ制御情報を記憶する記憶手段と、コンテナ内との通信に係るパケットの経路を制御するパケット制御部とを備え、
    前記パケット制御部が、
    コンテナ内への通信に係るパケットのうちコンテナを利用するユーザのコントローラからのスイッチ制御信号に係るパケットを前記パケット制御部に転送するとともに他のパケットはコンテナ内に転送するよう前記仮想スイッチを設定するステップと、
    前記仮想スイッチの前記転送処理により受信したスイッチ制御信号を該スイッチ制御信号に係るユーザが利用するコンテナのスイッチ制御信号として前記記憶手段に記憶するとともに該スイッチ制御信号に基づき前記仮想スイッチを設定するステップとを含む
    ことを特徴とする仮想スイッチ制御方法。
JP2015149003A 2015-07-28 2015-07-28 仮想スイッチ制御システム及び方法 Active JP6570033B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015149003A JP6570033B2 (ja) 2015-07-28 2015-07-28 仮想スイッチ制御システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015149003A JP6570033B2 (ja) 2015-07-28 2015-07-28 仮想スイッチ制御システム及び方法

Publications (2)

Publication Number Publication Date
JP2017034309A true JP2017034309A (ja) 2017-02-09
JP6570033B2 JP6570033B2 (ja) 2019-09-04

Family

ID=57989481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015149003A Active JP6570033B2 (ja) 2015-07-28 2015-07-28 仮想スイッチ制御システム及び方法

Country Status (1)

Country Link
JP (1) JP6570033B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017167822A (ja) * 2016-03-16 2017-09-21 Kddi株式会社 ネットワークサービス評価システム
JP2019128618A (ja) * 2018-01-19 2019-08-01 エヌ・ティ・ティ・コムウェア株式会社 情報処理システム、情報処理方法、及びプログラム
JP2019133424A (ja) * 2018-01-31 2019-08-08 沖電気工業株式会社 通信システム、通信方法、管理装置、管理プログラム、管理方法、情報処理装置、情報処理プログラム、及び情報処理方法
JP7470320B2 (ja) 2020-01-08 2024-04-18 国立大学法人 名古屋工業大学 ネットワーク管理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010038775A1 (ja) * 2008-10-02 2010-04-08 日本電気株式会社 ネットワークノードおよびその負荷分散方法
JP2013251883A (ja) * 2012-05-02 2013-12-12 Univ Of Tokyo ネットワーク中継装置及びプログラム
JP2014529926A (ja) * 2011-08-04 2014-11-13 ミドクラ エスエーアールエル 仮想ネットワークを実装及び管理するシステム及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010038775A1 (ja) * 2008-10-02 2010-04-08 日本電気株式会社 ネットワークノードおよびその負荷分散方法
JP2014529926A (ja) * 2011-08-04 2014-11-13 ミドクラ エスエーアールエル 仮想ネットワークを実装及び管理するシステム及び方法
JP2013251883A (ja) * 2012-05-02 2013-12-12 Univ Of Tokyo ネットワーク中継装置及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017167822A (ja) * 2016-03-16 2017-09-21 Kddi株式会社 ネットワークサービス評価システム
JP2019128618A (ja) * 2018-01-19 2019-08-01 エヌ・ティ・ティ・コムウェア株式会社 情報処理システム、情報処理方法、及びプログラム
JP7067934B2 (ja) 2018-01-19 2022-05-16 エヌ・ティ・ティ・コムウェア株式会社 情報処理システム、情報処理方法、及びプログラム
JP2019133424A (ja) * 2018-01-31 2019-08-08 沖電気工業株式会社 通信システム、通信方法、管理装置、管理プログラム、管理方法、情報処理装置、情報処理プログラム、及び情報処理方法
JP7151087B2 (ja) 2018-01-31 2022-10-12 沖電気工業株式会社 通信システム、通信方法、管理装置、管理プログラム、管理方法、情報処理装置、情報処理プログラム、及び情報処理方法
JP7470320B2 (ja) 2020-01-08 2024-04-18 国立大学法人 名古屋工業大学 ネットワーク管理装置

Also Published As

Publication number Publication date
JP6570033B2 (ja) 2019-09-04

Similar Documents

Publication Publication Date Title
US10680946B2 (en) Adding multi-tenant awareness to a network packet processing device on a software defined network (SDN)
CN111355604B (zh) 在软件定义网络上的用户定制和自动化操作的系统和方法
US11095557B2 (en) L3 underlay routing in a cloud environment using hybrid distributed logical router
US10374972B2 (en) Virtual flow network in a cloud environment
KR101840904B1 (ko) 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
US11374899B2 (en) Managing network connectivity between cloud computing service endpoints and virtual machines
KR20210095888A (ko) 세분화된 네트워크 엘리먼트를 포함하는 로직 라우터
JP6076275B2 (ja) 通信ネットワークの経路制御連携システム及び方法
KR20130045919A (ko) 네트워크 시스템 및 네트워크 관리 방법
CN107005471A (zh) 通用客户驻地设备
JP5993817B2 (ja) キャリア網における経路制御システム及び方法
JP6570033B2 (ja) 仮想スイッチ制御システム及び方法
US20210051077A1 (en) Communication system, communication apparatus, method, and program
JP2019533340A (ja) 分散顧客構内機器
EP3818677B1 (en) Stateful packet transmission between remote networks
Yang et al. LiteVisor: A network hypervisor to support flow aggregation and seamless network reconfiguration for VM migration in virtualized software-defined networks
US20170214603A1 (en) Domain control method and domain control device
CN114365462B (zh) 使用混合分布式逻辑路由器的云环境中的l3底层路由
Karandikar Assessment of DCNET: A New Data Center Network Architecture
CN117640389A (zh) 云原生路由器的意图驱动配置
Dobrota A Telecom Perspective on SDN and OpenFlow
Nielsen Analyzing the applicability of the Virtual IP stack in FreeBSD as a platform for a virtualized IP router.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170825

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190527

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190731

R150 Certificate of patent or registration of utility model

Ref document number: 6570033

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150