JP6570033B2 - Virtual switch control system and method - Google Patents

Virtual switch control system and method Download PDF

Info

Publication number
JP6570033B2
JP6570033B2 JP2015149003A JP2015149003A JP6570033B2 JP 6570033 B2 JP6570033 B2 JP 6570033B2 JP 2015149003 A JP2015149003 A JP 2015149003A JP 2015149003 A JP2015149003 A JP 2015149003A JP 6570033 B2 JP6570033 B2 JP 6570033B2
Authority
JP
Japan
Prior art keywords
virtual switch
virtual
switch
container
function unit
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.)
Active
Application number
JP2015149003A
Other languages
Japanese (ja)
Other versions
JP2017034309A (en
Inventor
裕之 北田
裕之 北田
兼三 奥田
兼三 奥田
信也 白井
信也 白井
直樹 高谷
直樹 高谷
泰則 松林
泰則 松林
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/en
Publication of JP2017034309A publication Critical patent/JP2017034309A/en
Application granted granted Critical
Publication of JP6570033B2 publication Critical patent/JP6570033B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンテナ型仮想化技術に関する。   The present invention relates to container-type virtualization technology.

現在のキャリア網、特に固定網においては、インターネットアクセスやIPTV(Internet Protocol TeleVision)、VPN(Virtual Private Network)などのネットワークサービスを提供するための機能(NW機能)が、エッジルータや専用のアプライアンスといった形態で実装されている。   In current carrier networks, especially fixed networks, functions for providing network services such as Internet access, Internet Protocol TeleVision (IPTV), and Virtual Private Network (VPN) (NW functions) include edge routers and dedicated appliances. Implemented in the form.

近年では、このようなNW機能を仮想化して汎用サーバ上で動作させ、ネットワークサービスを提供できるようにするNFV(Network Function Virtualization)が検討されている(非特許文献1参照)。   In recent years, NFV (Network Function Virtualization) has been studied in which such an NW function is virtualized and operated on a general-purpose server to provide a network service (see Non-Patent Document 1).

NFVが実現されると、仮想化されたキャリア網のNW機能を一カ所のサーバ群やデータセンタに集約することが可能になり、導入コストの低下や、設備効率の向上が期待できる。更に、SDN(Software Defined Network)技術による迅速かつ柔軟なネットワーク制御と組み合わせることで、サービスの迅速な提供が可能になる。   When NFV is realized, it becomes possible to consolidate the NW functions of the virtualized carrier network in one server group or data center, and it can be expected that the introduction cost is reduced and the equipment efficiency is improved. Furthermore, by combining with quick and flexible network control by SDN (Software Defined Network) technology, it becomes possible to provide services quickly.

NFV化が検討されているNW機能の一つとして、CPE(Customer Premises Equipment)がある。CPEは、キャリア網に接続するユーザ毎に設置される装置であり、数千万という多くのユーザを収容するキャリア網においては、CPEの数は非常に多い。このような、多数のNW機能を仮想化してサーバに収容する際には、サーバの収容効率の向上が大きな課題になる。   One of the NW functions for which NFV is being considered is CPE (Customer Premises Equipment). The CPE is a device installed for each user connected to the carrier network, and the number of CPEs is very large in a carrier network accommodating many tens of millions of users. When such a large number of NW functions are virtualized and accommodated in a server, improvement of server accommodation efficiency becomes a major issue.

現在、クラウドサービスを提供するデータセンタにおいては、ハイパーバイザ型仮想化が多く利用されている。ハイパーバイザ型仮想化では、コンピュータの動作をエミュレートすることで、物理マシンを仮想化した仮想マシンを作り出し、その上でOSを動作させることができる。これにより、一つのサーバ上で仮想マシン毎に異なるOSを実行できるという特徴がある。一方、エミュレーションによるオーバヘッドが大きく、サーバ上で直接アプリケーションを動作させた場合と比較して、性能が劣化し、サーバの収容効率も悪化するという課題がある。   Currently, hypervisor type virtualization is widely used in data centers that provide cloud services. In hypervisor type virtualization, a virtual machine obtained by virtualizing a physical machine can be created by emulating the operation of a computer, and an OS can be operated on the virtual machine. As a result, a different OS can be executed for each virtual machine on one server. On the other hand, the overhead due to emulation is large, and there is a problem that the performance is degraded and the accommodation efficiency of the server is also degraded as compared with the case where the application is directly operated on the server.

このような中で、仮想マシンをエミュレートするのではなく、名前空間やプロセス空間を分離することによりOS上でプロセスが動作する独立した環境を作り出す技術としてコンテナ型仮想化技術がある。コンテナ型仮想化技術では、一つのOS上に、論理的に名前空間,プロセス空間,CPUやメモリ等のサーバリソースが分離された環境を構築し、アプリケーションを実行する。この分離された環境は「コンテナ」と呼ばれ、コンテナ毎にリソースの利用やファイルシステムへのアクセスが制御される。コンテナ型仮想化技術では、ハイパーバイザ型仮想化と比較して、仮想マシンのエミュレーションを行わない分オーバヘッドが小さく、収容効率の観点ではハイパーバイザ型仮想化よりも有利といえる(非特許文献2参照)   Under such circumstances, there is a container type virtualization technology as a technology for creating an independent environment in which a process operates on an OS by separating a name space and a process space instead of emulating a virtual machine. In the container-type virtualization technology, an environment in which server resources such as a name space, a process space, and a CPU and memory are logically separated on one OS is executed, and an application is executed. This separated environment is called a “container”, and resource use and access to the file system are controlled for each container. Compared with hypervisor type virtualization, container type virtualization technology has a smaller overhead because virtual machines are not emulated, and is advantageous over hypervisor type virtualization in terms of accommodation efficiency (see Non-Patent Document 2). )

"Network Functions Virtualisation", NFV White Paper, Oct. 22, 2012, [online], [平成25年1月22日検索], インターネット<URL:http://portal.etsi.org/NFV/NFV_White_Paper.pdf>"Network Functions Virtualisation", NFV White Paper, Oct. 22, 2012, [online], [searched on January 22, 2013], Internet <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. 2013Xavier 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)のようなカーネル領域を使用するアプリケーションは、コンテナ上での動作が制限されるという課題がある。また、仮想スイッチをカーネル内に実装し、複数コンテナで共用する方法も考えられるが、例えば、コンテナ毎にユーザが異なるマルチテナント環境において、各ユーザが個別にコンテナ内の仮想ネットワークを制御する場合は、共通の仮想スイッチを制御させることになり、セキュリティ上の問題が懸念される。   However, since the container technology shares the kernel, there is a problem that an application using a kernel area such as a virtual switch (vSwitch) is restricted in operation on the container. In addition, it is possible to implement a virtual switch in the kernel and share it in multiple containers.For example, in a multi-tenant environment where users are different for each container, each user individually controls the virtual network in the container. As a result, a common virtual switch is controlled, and there is a concern about security problems.

本発明は上記事情に鑑みてなされたものであり、その目的とするところは、コンテナ型仮想化技術によりコンテナが構築された環境下においても当該環境による制約を受けることなく且つセキュリティレベルの高い仮想スイッチを提供することができる仮想スイッチの制御システム及び方法を提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a virtual network having a high security level without being restricted by the environment even in an environment in which the container is constructed by the container-type virtualization technology. It is an object to provide a virtual switch control system and method capable of providing a switch.

上記目的を達成するために、本願発明は、コンテナ型仮想化技術によりOS(Operating System)上に構築された仮想化環境である1つ以上のコンテナと、前記OS上に構築され前記コンテナ内のプロセスから共用される仮想スイッチと、前記仮想スイッチを制御する仮想スイッチコントローラとを備えた仮想スイッチ制御システムであって、前記仮想スイッチは、外部と接続する物理インタフェースと、前記1つ以上のコンテナに対応して生成され且つそれぞれ対応するコンテナと接続する1つ以上の仮想インタフェースと、前記物理インタフェース及び前記仮想インタフェースに到着したパケットに対して前記仮想スイッチコントローラから通知された制御内容に応じた処理を行うパケット処理機能部とを備え、前記仮想スイッチコントローラは、コンテナごとに独立したスイッチ制御情報を記憶する記憶手段と、前記仮想スイッチを制御するネットワーク制御機能部とを備え、前記ネットワーク制御機能部は、前記仮想スイッチのパケット処理機能部が受信したコンテナ内への通信に係るパケットのうちコンテナを利用するユーザのコントローラからのスイッチ制御信号に係るパケットを前記仮想スイッチコントローラネットワーク制御機能部に転送するとともに他のパケットは仮想インタフェースを介してコンテナ内に転送するよう前記仮想スイッチを制御する第1の機能部と、仮想スイッチから前記第1の機能部の制御により転送されたスイッチ制御信号を、該スイッチ制御信号に係るユーザが利用するコンテナのスイッチ制御信号として前記記憶手段に記憶するとともに、該スイッチ制御信号に基づき前記仮想スイッチのパケット処理機能部を制御する第2の機能部とを備えたことを特徴とする。 In order to achieve the above object, the present invention relates to one or more containers that are virtualized environments constructed on an OS (Operating System) by container-type virtualization technology, and built in the OS and contained in the containers. A virtual switch control system comprising a virtual switch shared from a process and a virtual switch controller for controlling the virtual switch, wherein the virtual switch is connected to an external physical interface and the one or more containers. One or more virtual interfaces that are generated correspondingly and connected to the corresponding containers, and processing corresponding to the control contents notified from the virtual switch controller to the physical interface and the packet that arrives at the virtual interface A packet processing function unit for performing the virtual switch controller Comprises storage means for storing independent switch control information for each container and a network control function unit for controlling the virtual switch, wherein the network control function unit is a container received by the packet processing function unit of the virtual switch. The packet related to the switch to the network control function unit of the virtual switch controller is transferred to the network control function unit of the virtual switch controller and the packet related to the switch control signal from the user controller using the container is transferred to the container via the virtual interface. A first function unit that controls the virtual switch to transfer, and a switch control signal of a container that is used by a user related to the switch control signal for the switch control signal transferred from the virtual switch by the control of the first function unit As a signal stored in the storage means, Characterized by comprising a second functional unit for controlling the packet processing function unit of the virtual switch based on the switch control signal.

また、本願発明は、コンテナ型仮想化技術によりOS(Operating System)上に構築された仮想化環境である1つ以上のコンテナと、前記OS上に構築され前記コンテナ内のプロセスから共用される仮想スイッチとを備えた環境下において、仮想スイッチコントローラが前記仮想スイッチを制御する方法であって、前記仮想スイッチは、外部と接続する物理インタフェースと、前記1つ以上のコンテナに対応して生成され且つそれぞれ対応するコンテナと接続する1つ以上の仮想インタフェースと、前記物理インタフェース及び前記仮想インタフェースに到着したパケットに対して前記仮想スイッチコントローラから通知された制御内容に応じた処理を行うパケット処理機能部とを備え、前記仮想スイッチコントローラは、コンテナごとに独立したスイッチ制御情報を記憶する記憶手段と、前記仮想スイッチを制御するネットワーク制御機能部とを備え、前記ネットワーク制御機能部が、前記仮想スイッチのパケット処理機能部が受信したコンテナ内への通信に係るパケットのうちコンテナを利用するユーザのコントローラからのスイッチ制御信号に係るパケットを前記仮想スイッチコントローラのネットワーク制御機能部に転送するとともに他のパケットは仮想インタフェースを介してコンテナ内に転送するよう前記仮想スイッチを制御する第1のステップと、前記ネットワーク制御機能部が、仮想スイッチから前記第1のステップの制御により転送されたスイッチ制御信号を、該スイッチ制御信号に係るユーザが利用するコンテナのスイッチ制御信号として前記記憶手段に記憶するとともに、該スイッチ制御信号に基づき前記仮想スイッチのパケット処理機能部を制御する第2のステップとを含むことを特徴とする。 Further, the present invention provides a virtual environment that is built on an OS (Operating System) using a container-type virtualization technology and is shared by processes built on the OS and processes in the container. in an environment that includes a switch, a method of virtual switch controller for controlling the virtual switch, the virtual switch is a physical interface for connecting with the outside, and generated corresponding to the one or more containers performing one or more of the temporary Soi interface to be connected to the corresponding container, a process corresponding to the prior Symbol physical interface and control content in which the notified from the virtual switch controller for a packet arriving at the temporary Soi interface A packet processing function unit, and the virtual switch controller is independent for each container. A storage unit that stores switch control information; and a network control function unit that controls the virtual switch , wherein the network control function unit receives a packet related to communication in the container received by the packet processing function unit of the virtual switch. the virtual switch as another packet with a packet according to a switch control signal from the user of the controller to transfer to the network control function unit of the virtual switch controller utilizing containers of the transfer to the container via a virtual interface The first control step and the switch control signal transferred from the virtual switch by the control of the first step by the network control function unit as a switch control signal for a container used by a user related to the switch control signal When storing in the storage means Moni, characterized in that it comprises a second step of controlling the packet processing function unit of the virtual switch on the basis of the switch control signal.

本発明によれば、各コンテナで仮想スイッチを共用しつつも、コンテナ毎に仮想スイッチを独立して制御することが可能になるので、コンテナ内のプロセスからみると各コンテナに専用の仮想スイッチが存在するように見える。換言すれば、各コンテナに擬似的な仮想スイッチ(以下、疑似仮想スイッチ(pvSW:Pseudo Virtual Switch)と言う)を提供することができる。これにより、コンテナ型仮想化技術による制約を受けることなく、且つ、コンテナ間のセキュリティレベルを向上させることができる。   According to the present invention, it is possible to control the virtual switch independently for each container while sharing the virtual switch in each container. Therefore, when viewed from the process in the container, each container has a dedicated virtual switch. Looks like it exists. In other words, a pseudo virtual switch (hereinafter referred to as a pseudo virtual switch (pvSW)) can be provided to each container. Thereby, the security level between containers can be improved without being restricted by the container type virtualization technology.

仮想スイッチ制御システムの構成図Configuration diagram of virtual switch control system 仮想スイッチの構成図Virtual switch configuration diagram 仮想スイッチコントローラの構成図Virtual switch controller configuration diagram DBの記憶情報の一例An example of DB storage information コンテナ情報の一例An example of container information 疑似仮想スイッチ情報の一例Example of pseudo virtual switch information 仮想スイッチ情報の一例Example of virtual switch information ユーザ情報User information 仮想スイッチ制御システムの概略動作を説明する図The figure explaining schematic operation of a virtual switch control system 仮想スイッチの制御内容例Example of virtual switch control contents 仮想スイッチ制御システムの動作を説明するシーケンスチャートSequence chart explaining the operation of the virtual switch control system 仮想スイッチ制御システムの概略動作を説明する図The figure explaining schematic operation of a virtual switch control system 仮想スイッチの制御内容例Example of virtual switch control contents 仮想スイッチ制御システムの動作を説明するシーケンスチャートSequence chart explaining the operation of the virtual switch control system コンテナを他のサーバに移動させた際の動作を説明する図Diagram explaining the operation when moving the container to another server コンテナを他のサーバに移動させた際の動作を説明するシーケンスチャートSequence chart explaining the operation when the container is moved to another server 仮想スイッチ用の設定ファイルを生成するフローチャートFlowchart for generating a configuration file for a virtual switch

本発明の一実施の形態に係る仮想スイッチ制御システムについて図面を参照して説明する。図1は仮想スイッチ制御システムの構成図である。   A virtual switch control system according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a configuration diagram of a virtual switch control system.

仮想スイッチ制御システムでは、図1に示すように、サーバ100は、OS110上に構築された1つ以上のコンテナ120,130と、OS110上に構築された1つ以上の仮想スイッチ150と、OS110上に構築された仮想スイッチコントローラ190とを備えている。なお、仮想スイッチコントローラ190は仮想スイッチ150と通信できるのであれば実装位置は不問であり、OS110外やサーバ100とは別のコンピュータに実装するようにしてもよい。   In the virtual switch control system, as shown in FIG. 1, the server 100 includes one or more containers 120 and 130 constructed on the OS 110, one or more virtual switches 150 constructed on the OS 110, and the OS 110. And a virtual switch controller 190 constructed in the above. If the virtual switch controller 190 can communicate with the virtual switch 150, the mounting position is not limited, and the virtual switch controller 190 may be mounted outside the OS 110 or on a computer different from the server 100.

コンテナ120,130は、OS110のユーザ空間に形成されプロセスレベルでリソースが分離された仮想化環境であり、コンテナ間で名前空間やプロセス空間が分離している。コンテナ120,130は、コンテナを利用するユーザ毎に構築されるものであり、サーバ100には複数のコンテナ120,130を構築可能、すなわち複数のユーザにコンテナを提供可能となっている。コンテナ120,130には、コンテナを利用するユーザの指示等により、その内部に1つ以上のユーザプロセス121,131を生成することができる。ここで「コンテナを利用するユーザ」とは例えば事業者が本システムを利用してコンテナ提供サービスを行っている場合に当該コンテナ提供サービスを受けるものであり、ユーザはユーザプロセス121,131として形成されたアプリケーションにより、ユーザの顧客等に対して各種サービスを提供することができる。なお、本システムを利用する他の形態としては、複数のサービスを運営する事業者がそれらサービスを提供するために、1台のサーバ上にサービスごとにコンテナを生成し、別々の管理者をあてる場合が考えられ、この場合管理者が「コンテナを利用するユーザ」に該当する。また、本システムを利用する他の形態としては、研究開発等において、複数の検証システムを構築する場合に、物理装置削減のためサーバを共有することを目的として、1サーバ上に検証システム毎にコンテナを生成し、複数の検証システムから1サーバを共有するが、各検証システムに対して仮想スイッチがそれぞれの検証システム毎に存在するように見せたい場合が考えられ、この場合研究開発者が「コンテナを利用するユーザ」に該当する。なお、本システムを利用する形態はこれらに限定されるものではない。   The containers 120 and 130 are virtualized environments formed in the user space of the OS 110 and resources are separated at the process level, and the name space and process space are separated between containers. The containers 120 and 130 are constructed for each user who uses the container, and a plurality of containers 120 and 130 can be constructed in the server 100, that is, containers can be provided to a plurality of users. In the containers 120 and 130, one or more user processes 121 and 131 can be generated in the container 120 or 130 according to an instruction of a user who uses the container. Here, “a user who uses a container” is, for example, a person who receives a container providing service when a business provider performs a container providing service using this system, and the user is formed as a user process 121 or 131. Various applications can be provided to the customer of the user by the application. As another form of using this system, in order for an operator operating a plurality of services to provide these services, a container is generated for each service on one server, and different administrators are assigned. In this case, the administrator corresponds to “a user who uses a container”. As another form of using this system, in the case of constructing a plurality of verification systems in research and development, etc., for the purpose of sharing the servers to reduce physical devices, each verification system on one server A container is created and one server is shared from a plurality of verification systems, but there may be a case where each verification system wants to appear as if a virtual switch exists for each verification system. Corresponds to “user using container”. In addition, the form using this system is not limited to these.

本発明に係る仮想スイッチ制御システムは、コンテナ120,130に擬似的に1つ以上の仮想スイッチ(疑似仮想スイッチ)129,139が存在しているように見えるよう、仮想スイッチ150を制御するものである。   The virtual switch control system according to the present invention controls the virtual switch 150 so that one or more virtual switches (pseudo virtual switches) 129 and 139 exist in the containers 120 and 130 in a pseudo manner. is there.

仮想スイッチ150は、OS110のカーネル空間に実装されており、各コンテナ120,130で共用される。仮想スイッチ150は、1つのサーバ100上に1つ以上構築されている。図2に仮想スイッチ150の構成図を示す。仮想スイッチ150は、図2に示すように、サーバ100の外部のネットワーク300と接続する1つ以上の物理インタフェース(Eth)151と、コンテナ120,130と接続するn個(nは自然数)の仮想インタフェース(vEth)152と、パケット処理機能部153とを備えている。   The virtual switch 150 is implemented in the kernel space of the OS 110 and is shared by the containers 120 and 130. One or more virtual switches 150 are constructed on one server 100. FIG. 2 shows a configuration diagram of the virtual switch 150. As shown in FIG. 2, the virtual switch 150 includes one or more physical interfaces (Eth) 151 connected to the network 300 outside the server 100 and n (n is a natural number) virtual interfaces connected to the containers 120 and 130. An interface (vEth) 152 and a packet processing function unit 153 are provided.

仮想インタフェース152は、コンテナ120,130側のネットワークインタフェースであり、サーバ100内に存在するコンテナ120,130に対応して生成されている。パケット処理機能部153は、物理インタフェース151及び仮想インタフェース152に到着したパケットに対して、仮想スイッチコントローラ190から通知された制御内容に応じた処理を行うことにより、各コンテナ120,130の疑似仮想スイッチ129,139のパケット処理機能を実質的に代行し、これによりあたかも各コンテナ120,130に疑似仮想スイッチ129,139が存在するかのように見せかけることができる。なお、疑似仮想スイッチ129,139は、各コンテナ120,130に存在しない場合もあるし、2つ以上存在する場合もある。   The virtual interface 152 is a network interface on the container 120, 130 side, and is generated corresponding to the container 120, 130 existing in the server 100. The packet processing function unit 153 performs a process according to the control content notified from the virtual switch controller 190 on the packet that has arrived at the physical interface 151 and the virtual interface 152, so that the pseudo virtual switch of each container 120, 130 The packet processing functions of 129 and 139 are substantially substituted, so that the virtual virtual switches 129 and 139 appear to exist in the containers 120 and 130, respectively. Note that the pseudo virtual switches 129 and 139 may not exist in the containers 120 and 130, or may exist in two or more.

仮想スイッチ150は、 VLAN(Virtual Local Area Network)、MPLS(Multi-Protocol Label Switching)、VxLAN(Virtual eXtensible Local Area Network)等の仮想ネットワークを構築する1つ以上のプロトコルに対応し、ヘッダに含まれる識別IDから仮想ネットワークのユーザを識別可能である。   The virtual switch 150 corresponds to one or more protocols for constructing a virtual network such as VLAN (Virtual Local Area Network), MPLS (Multi-Protocol Label Switching), and VxLAN (Virtual eXtensible Local Area Network), and is included in the header. The user of the virtual network can be identified from the identification ID.

仮想スイッチコントローラ190は、OS110のユーザ空間に実装されており仮想スイッチ150を制御する。図3に仮想スイッチコントローラ190の構成図を示す。仮想スイッチコントローラ190は、図3に示すように、ネットワーク制御機能部191(特許請求の範囲の「パケット制御部」に相当する。)と、サーバ間連携機能部192と、DB(Data Base)193とを備えている。   The virtual switch controller 190 is installed in the user space of the OS 110 and controls the virtual switch 150. FIG. 3 shows a configuration diagram of the virtual switch controller 190. As shown in FIG. 3, the virtual switch controller 190 includes a network control function unit 191 (corresponding to a “packet control unit” in the claims), an inter-server cooperation function unit 192, and a DB (Data Base) 193. And.

ネットワーク制御機能部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を提供する機能をもつ。   The network control function unit 191 controls the virtual switch 150 using a protocol such as OpenFlow, NETCONF, ForCES (Forwarding and Control Element Separation), or XMPP (eXtensible Messaging and Presence Protocol). In addition, the network control function unit 191 transfers only specific control traffic (such as the above-described protocol or API (Application Programming Interface) protocol) arriving at the virtual switch 150 to the virtual switch controller 190, thereby transferring each container 120, 130 has the function of providing the pseudo virtual switches 129 and 139 for each user.

サーバ間連携機能部192は、コンテナ120,130を別サーバへ移動させる場合において、移動元のコンテナ120,130のネットワーク設定を移動先に移す機能を有する。   The inter-server cooperation function unit 192 has a function of moving the network settings of the migration source containers 120 and 130 to the migration destination when the containers 120 and 130 are migrated to another server.

DB193は、サーバ100内のコンテナ120,130、疑似仮想スイッチ129,139、利用ユーザに関する情報等を保持する機能を有する。図4にDBに保持されている情報を示す。図4に示すように、DB193は、コンテナ情報201と、疑似仮想スイッチ情報202と、仮想スイッチ情報203と、ユーザ情報204とを保持する。   The DB 193 has a function of holding information about containers 120 and 130, pseudo virtual switches 129 and 139, users in the server 100, and the like. FIG. 4 shows information held in the DB. As illustrated in FIG. 4, the DB 193 holds container information 201, pseudo virtual switch information 202, virtual switch information 203, and user information 204.

コンテナ情報201は、図5に例示するように、コンテナと疑似仮想スイッチの紐付け状態を示すものであり、コンテナを識別するコンテナIDと、疑似仮想スイッチを識別する疑似仮想スイッチIDを保持する。   As illustrated in FIG. 5, the container information 201 indicates a connection state between a container and a pseudo virtual switch, and holds a container ID for identifying the container and a pseudo virtual switch ID for identifying the pseudo virtual switch.

疑似仮想スイッチ情報202は、図6に例示するように、疑似仮想スイッチ129,139の各種情報を保持するものであり、疑似仮想スイッチIDと、コンテナ内ポートと仮想インタフェース152のマッピング情報と、仮想インタフェース152と仮想ネットワークのマッピング情報と、制御用アドレス/ポート番号情報と、設定内容情報とを保持する。ここで、コンテナ内ポートとは、コンテナ内から見た擬似仮想スイッチ129,139のポート名を意味する。また、制御用アドレス/ポート番号情報とは、後述するように、ユーザのコントローラ(後述する)が疑似仮想スイッチ129,139に向けてスイッチ制御用信号に係るパケットを送出する際に、宛先として用いるアドレス/ポート番号を示すものであり、後述するように当該制御用アドレス/ポート番号を宛先とするパケットは仮想スイッチコントローラ190に到達する。設定内容情報は、ユーザのコントローラから受信したスイッチ制御信号に含まれる疑似仮想スイッチ129,139の設定情報であり、例えばパケットフィルタ設定情報、NAT(Network Address Translator)設定情報、VPN(Virtual Private Network)設定情報などが挙げられる。   As illustrated in FIG. 6, the pseudo virtual switch information 202 holds various types of information about the pseudo virtual switches 129 and 139, the pseudo virtual switch ID, the mapping information between the port in the container and the virtual interface 152, and the virtual The interface 152 and virtual network mapping information, control address / port number information, and setting content information are held. Here, the in-container port means the port names of the pseudo virtual switches 129 and 139 viewed from inside the container. Further, as will be described later, the control address / port number information is used as a destination when a user controller (described later) sends a packet related to a switch control signal toward the pseudo virtual switches 129 and 139. This indicates an address / port number. As described later, a packet destined for the control address / port number reaches the virtual switch controller 190. The setting content information is setting information of the pseudo virtual switches 129 and 139 included in the switch control signal received from the user's controller. For example, packet filter setting information, NAT (Network Address Translator) setting information, VPN (Virtual Private Network) Setting information etc. are mentioned.

仮想スイッチ情報203は、図7に例示するように、仮想スイッチ150毎の各種情報を保持するものであり、仮想スイッチIDと、物理インタフェース情報と、仮想インタフェース情報と、設定内容情報を保持する。ここで、設定内容情報は、仮想スイッチ150の設定情報であり、例えばフィルタ設定情報、NAT設定情報、VPN設定情報など挙げられる。   As illustrated in FIG. 7, the virtual switch information 203 holds various information for each virtual switch 150, and holds a virtual switch ID, physical interface information, virtual interface information, and setting content information. Here, the setting content information is setting information of the virtual switch 150, and examples thereof include filter setting information, NAT setting information, and VPN setting information.

ユーザ情報204は、図8に例示するように、ユーザの認証情報、及び、ユーザと疑似仮想スイッチ129,139の紐付け状態を保持するものであり、ユーザIDと、認証情報と、当該ユーザに紐付けられた1つ以上の疑似仮想スイッチ129,139の情報とを保持する。   As illustrated in FIG. 8, the user information 204 holds the user authentication information and the association state between the user and the pseudo virtual switches 129 and 139, and includes the user ID, the authentication information, and the user. The information of one or more pseudo virtual switches 129 and 139 associated with each other is held.

ネットワーク300は、例えばVLAN、MPLS、VxLAN等の仮想ネットワークを構築する1つ以上のプロトコルに対応する。なお、仮想ネットワークを構築するためのプロトコルは前述のもの以外のものであってもよい。   The network 300 corresponds to one or more protocols for constructing a virtual network such as VLAN, MPLS, VxLAN, and the like. The protocol for constructing the virtual network may be other than those described above.

次に、本実施の形態に係る仮想スイッチ制御システムの動作について図9を参照して説明する。図9は仮想スイッチ制御システムの概略動作を説明する図、図10は仮想スイッチの制御内容の一例、図11は仮想スイッチ制御システムの動作を説明するシーケンスチャートである。   Next, the operation of the virtual switch control system according to the present embodiment will be described with reference to FIG. 9 is a diagram for explaining the schematic operation of the virtual switch control system, FIG. 10 is an example of control contents of the virtual switch, and FIG. 11 is a sequence chart for explaining the operation of the virtual switch control system.

まず、ユーザAは、仮想スイッチコントローラ190に対して疑似仮想スイッチ作成を通知する(ステップS1)。ここで通知する疑似仮想スイッチ作成には、作成される疑似仮想スイッチを利用するアプリケーションの識別情報を含む。或いは、作成される疑似仮想スイッチを利用するコンテナの識別情報を含む。   First, the user A notifies the virtual switch controller 190 of creation of a pseudo virtual switch (step S1). The pseudo virtual switch creation notified here includes identification information of an application that uses the created virtual virtual switch. Or the identification information of the container using the created pseudo virtual switch is included.

仮想スイッチコントローラ190は、該当するアプリケーションが実行されているコンテナの識別子から、該当コンテナIDに関するDB193に疑似仮想スイッチ情報202を書き込み(ステップS2)、当該疑似仮想スイッチ情報202に含まれる制御用アドレス/ポート番号情報をユーザに応答する(ステップS3)。   The virtual switch controller 190 writes the pseudo virtual switch information 202 to the DB 193 related to the corresponding container ID from the identifier of the container in which the corresponding application is executed (step S2), and the control address / The port number information is returned to the user (step S3).

なお、ステップS1〜S3の処理におけるユーザAと仮想スイッチコントローラ190間の通信は、本願発明とは別の仕組み・経路で行われる。例えば、サーバ100は、ユーザAに対してコンテナの生成などを制御するためのWebインタフェースを提供し、当該Webインタフェースを介して前記ステップS1〜S3を実施することが挙げられる。   Note that the communication between the user A and the virtual switch controller 190 in the processes of steps S1 to S3 is performed by a mechanism / route different from that of the present invention. For example, the server 100 may provide the user A with a web interface for controlling container generation and the like, and perform the steps S1 to S3 via the web interface.

次に、仮想スイッチコントローラ190は、仮想スイッチ150に対して、ユーザAのコントローラ301から受信したスイッチ制御信号に係るパケットを仮想スイッチコントローラ190に転送されるように制御する(ステップS4)。なお、ここでユーザAのコントローラ301とは、仮想スイッチの制御を行う機能を有する制御アプリケーションであり、ユーザAの有する端末や他のサーバ上、またはユーザAのコンテナ内に実装されている。   Next, the virtual switch controller 190 controls the virtual switch 150 so that the packet related to the switch control signal received from the controller 301 of the user A is transferred to the virtual switch controller 190 (step S4). Here, the controller 301 of the user A is a control application having a function of controlling the virtual switch, and is installed on the terminal or other server of the user A or in the container of the user A.

次に、ユーザAのコントローラ301から、前記ステップS3で通知された制御用アドレス/ポート番号宛てに、ユーザ認証に係るスイッチ制御信号を送信すると(ステップS5)、当該スイッチ制御信号に係るパケットは仮想スイッチコントローラ190に転送される(ステップS6)。仮想スイッチコントローラ190は、スイッチ制御信号を受信すると、ユーザ認証を行い(ステップS7)、当該ユーザが利用しているコンテナの疑似仮想スイッチの設定情報をユーザAのコントローラ301に送信する(ステップS8)。   Next, when a switch control signal related to user authentication is transmitted from the controller 301 of the user A to the control address / port number notified in step S3 (step S5), the packet related to the switch control signal is virtual. The data is transferred to the switch controller 190 (step S6). When receiving the switch control signal, the virtual switch controller 190 performs user authentication (step S7), and transmits the setting information of the pseudo virtual switch of the container used by the user to the controller 301 of the user A (step S8). .

次に、ユーザAのコントローラ301から、前記ステップS3で通知された制御用アドレス/ポート番号宛てに、パケットフィルタリング設定など各種スイッチ設定に係るスイッチ制御信号(図10参照)を送信すると(ステップS9)、当該スイッチ制御信号に係るパケットは仮想スイッチコントローラ190に転送される(ステップS10)。仮想スイッチコントローラ190は、スイッチ制御信号を受信すると、当該設定情報をDB193に書き込み(ステップS11)、仮想スイッチ150が当該設定情報に基づく動作を行うように仮想スイッチ150を制御する(ステップS12)。   Next, a switch control signal (see FIG. 10) relating to various switch settings such as packet filtering settings is transmitted from the controller 301 of the user A to the control address / port number notified in step S3 (step S9). The packet related to the switch control signal is transferred to the virtual switch controller 190 (step S10). When receiving the switch control signal, the virtual switch controller 190 writes the setting information in the DB 193 (step S11), and controls the virtual switch 150 so that the virtual switch 150 performs an operation based on the setting information (step S12).

以降、端末302からユーザAのアプリケーションへの通信に係るパケット、すなわちユーザAの有するコントローラ301からのスイッチ制御信号に係るパケット以外のパケットは(ステップS13)、仮想スイッチ150においてパケットフィルタリングなどの処理が行われ(ステップS14)、コンテナ内のユーザAの当該アプリケーションに転送される(スイッチS15)。なお、ここで端末302とは、ユーザAに係るものに限定されるものではなく、ユーザAのアプリケーションによるサービスを受ける顧客等の端末等を想定したものである。   Thereafter, a packet related to communication from the terminal 302 to the application of the user A, that is, a packet other than a packet related to the switch control signal from the controller 301 of the user A (step S13), the virtual switch 150 performs processing such as packet filtering. Is performed (step S14) and transferred to the application of user A in the container (switch S15). Here, the terminal 302 is not limited to the one related to the user A, but is assumed to be a terminal of a customer or the like who receives a service by the application of the user A.

次に、上述のように設定された環境下において、ユーザが疑似仮想スイッチの設定を変更する場合について説明する。ここでは、ユーザAのアプリケーションへのTCP80番ポート宛てのパケットがフィルタリングされるよう設定を更新する場合について説明する。図12は仮想スイッチ制御システムの概略動作を説明する図、図13は仮想スイッチの制御内容の一例、図14は仮想スイッチ制御システムの動作を説明するシーケンスチャートである。   Next, a case where the user changes the setting of the pseudo virtual switch in the environment set as described above will be described. Here, a case will be described in which the setting is updated so that packets destined for the TCP port 80 directed to the application of user A are filtered. 12 is a diagram for explaining the schematic operation of the virtual switch control system, FIG. 13 is an example of control contents of the virtual switch, and FIG. 14 is a sequence chart for explaining the operation of the virtual switch control system.

ユーザAのコントローラ301から、前記ステップS3で通知された制御用アドレス/ポート番号宛てに、ユーザ認証に係るスイッチ制御信号を送信すると(ステップS21)、当該スイッチ制御信号に係るパケットは仮想スイッチコントローラ190に転送される(ステップS22)。仮想スイッチコントローラ190は、スイッチ制御信号を受信すると、ユーザ認証を行い(ステップS23)、当該ユーザが利用しているコンテナの疑似仮想スイッチの設定情報をユーザのコントローラ301に送信する(ステップS24)。   When a switch control signal related to user authentication is transmitted from the controller 301 of the user A to the control address / port number notified in step S3 (step S21), the packet related to the switch control signal is transmitted to the virtual switch controller 190. (Step S22). When receiving the switch control signal, the virtual switch controller 190 performs user authentication (step S23), and transmits the setting information of the pseudo virtual switch of the container used by the user to the user controller 301 (step S24).

次に、ユーザAの有するコントローラ301から、前記ステップS3で通知された制御用アドレス/ポート番号宛てに、パケットフィルタリング設定など各種スイッチ設定に係るスイッチ制御信号(図13参照)を送信すると(ステップS25)、当該スイッチ制御信号に係るパケットは仮想スイッチコントローラ190に転送される(ステップS26)。仮想スイッチコントローラ190は、スイッチ制御信号を受信すると、当該設定情報をDB193に書き込み(ステップS27)、仮想スイッチ150が当該設定情報に基づく動作を行うように仮想スイッチ150を制御する(ステップS28)。   Next, a switch control signal (see FIG. 13) related to various switch settings such as packet filtering settings is transmitted from the controller 301 of the user A to the control address / port number notified in step S3 (step S25). ), The packet related to the switch control signal is transferred to the virtual switch controller 190 (step S26). When receiving the switch control signal, the virtual switch controller 190 writes the setting information in the DB 193 (step S27), and controls the virtual switch 150 so that the virtual switch 150 performs an operation based on the setting information (step S28).

以降、端末302からユーザAのアプリケーションへのTCP80番ポート宛てのパケットは(ステップS29)、仮想スイッチ150においてパケットフィルタリングされる(ステップS30)。   Thereafter, the packet addressed to the TCP port 80 from the terminal 302 to the user A application (step S29) is subjected to packet filtering in the virtual switch 150 (step S30).

次に、コンテナを別のサーバに移動させた場合の動作について図面を参照して説明する。図15はコンテナの移動を説明する図、図16はコンテナ移動時の動作を説明するシーケンスチャートである。ここでは、図15に示すように、サーバ100Aからサーバ100Bへ、ユーザAのコンテナが移動したものとする。   Next, the operation when the container is moved to another server will be described with reference to the drawings. FIG. 15 is a diagram for explaining the movement of the container, and FIG. 16 is a sequence chart for explaining the operation when the container is moved. Here, as shown in FIG. 15, it is assumed that the container of user A has moved from server 100A to server 100B.

サーバ100Aの仮想スイッチコントローラ190Aは、コンテナが移動したことを検知すると(ステップS51)、コンテナの移動先を取得し(ステップS52)、移動先のコンテナが構築されているサーバ100BにユーザAのアプリケーションが存在するかを確認する(ステップS53)。サーバ100Bの仮想スイッチコントローラ190Bは、サーバ100Aの仮想スイッチコントローラ190Aに対して、ユーザAのアプリケーションが存在していることを通知する(ステップS54)。   When the virtual switch controller 190A of the server 100A detects that the container has moved (step S51), the virtual switch controller 190A acquires the destination of the container (step S52), and the application of user A is transferred to the server 100B in which the destination container is constructed. Is present (step S53). The virtual switch controller 190B of the server 100B notifies the virtual switch controller 190A of the server 100A that the user A application exists (step 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)。   Next, the virtual switch controller 190A of the server 100A notifies the virtual switch controller 190B of the server 100B of the setting information of the pseudo virtual switch for the application of the user A (Step S55). Next, the virtual switch controller 190B of the server 100B writes the pseudo virtual switch information to the DB related to the container ID from the ID of the container in which the user application is executed (step S56), and completes the writing to the virtual of the server 100A. The switch controller 190A is notified (step S57). The virtual switch controller 190A of the server 100A instructs the virtual switch 150A of the server 100A to delete the setting for the application of the user A (step S58). On the other hand, the virtual switch controller 190B of the server 100B controls the virtual switch 150B so that only the packet related to the switch control signal for the user A is transferred to the virtual switch controller 190B, and received from the virtual switch controller 190A in step S55. The setting information of the pseudo virtual switch is set in the virtual switch 150B (step S59).

次に、DB193内の疑似仮想スイッチ情報202の設定情報から、仮想スイッチ150用の設定ファイル(コンフィグファイル)を生成する方法について図17を参照して説明する。   Next, a method for generating a setting file (config file) for the virtual switch 150 from the setting information of the pseudo virtual switch information 202 in the DB 193 will be described with reference to FIG.

仮想スイッチコントローラ190は、DB193内の疑似仮想スイッチ情報202の設定内容が更新された場合、更新された設定内容を抽出する(ステップ101)。次に、仮想スイッチコントローラ190は、抽出された設定内容のi行目について、制御種別を判断する(ステップS102)。   When the setting content of the pseudo virtual switch information 202 in the DB 193 is updated, the virtual switch controller 190 extracts the updated setting content (step 101). Next, the virtual switch controller 190 determines the control type for the i-th row of the extracted setting content (step S102).

仮想スイッチコントローラ190は、制御種別が「NAT」の場合、i行目の設定内容に記載のコンテナ内ポート番号を仮想インタフェースに変換し、該当仮想インタフェース間でのNAT処理を設定する(ステップS103,S104)。また、仮想スイッチコントローラ190は、制御種別が「Filter」の場合、i行目の設定内容に記載のコンテナ内ポート番号を仮想インタフェースに変換し、該当仮想インタフェースのパケットフィルタリング処理を設定する(ステップS105,S106)。また、仮想スイッチコントローラ190は、制御種別が「VPN」の場合、i行目の設定内容に記載のコンテナ内ポート番号を仮想インタフェースに変換し、該当仮想インタフェースから、設定内容に記載の宛先IPアドレスに対してVPNの生成処理を設定する(ステップS107,S108)。   When the control type is “NAT”, the virtual switch controller 190 converts the in-container port number described in the setting content of the i-th line into a virtual interface, and sets NAT processing between the corresponding virtual interfaces (step S103, S104). Further, when the control type is “Filter”, the virtual switch controller 190 converts the in-container port number described in the setting content of the i-th line into a virtual interface, and sets the packet filtering processing of the corresponding virtual interface (step S105). , S106). Further, when the control type is “VPN”, the virtual switch controller 190 converts the in-container port number described in the setting contents of the i-th line into a virtual interface, and from the corresponding virtual interface, the destination IP address described in the setting contents VPN generation processing is set for (steps S107 and S108).

次に、仮想スイッチコントローラ190は、既存の仮想スイッチの設定内容と重複する部分がある場合には(ステップS109)、これまでに決定した設定内容を初期化し、更新内容を実行できない旨のエラーをユーザAのコントローラ301に通知する(ステップS110)。以上の動作を設定情報の各行について実施する(ステップS111,S112)。   Next, if there is a part that overlaps with the existing virtual switch setting contents (step S109), the virtual switch controller 190 initializes the setting contents determined so far and gives an error indicating that the update contents cannot be executed. The user A is notified to the controller 301 (step S110). The above operation is performed for each line of the setting information (steps S111 and S112).

以上のように本実施の形態に係る仮想スイッチ制御システムによれば、コンテナからみると該コンテナ専用の疑似仮想スイッチが存在しているようにみえるが、スイッチング処理自体はコンテナで共用の仮想スイッチが行う。これにより、高いセキュリティレベルを確保しつつ、スイッチング処理の効率化を図ることができる。   As described above, according to the virtual switch control system according to the present embodiment, when viewed from the container, it appears that there is a pseudo virtual switch dedicated to the container, but the switching process itself is a virtual switch shared by the container. Do. As a result, the efficiency of the switching process can be improved while ensuring a high security level.

100,100A,100B…サーバ
110…OS
120,130…コンテナ
121,131…プロセス(アプリケーション)
129,139…疑似仮想スイッチ
150,150A,150B…仮想スイッチ
190,190A,190B…仮想スイッチコントローラ
191…ネットワーク制御機能部
192…サーバ間連携機能部
193…DB
301…ユーザAのコントローラ
302…端末
100, 100A, 100B ... server 110 ... OS
120, 130 ... container 121, 131 ... process (application)
129, 139: Pseudo virtual switch 150, 150A, 150B ... Virtual switch 190, 190A, 190B ... Virtual switch controller 191 ... Network control function unit 192 ... Inter-server cooperation function unit 193 ... DB
301 ... Controller of user A 302 ... Terminal

Claims (4)

コンテナ型仮想化技術によりOS(Operating System)上に構築された仮想化環境である1つ以上のコンテナと、前記OS上に構築され前記コンテナ内のプロセスから共用される仮想スイッチと、前記仮想スイッチを制御する仮想スイッチコントローラとを備えた仮想スイッチ制御システムであって、
前記仮想スイッチは、外部と接続する物理インタフェースと、前記1つ以上のコンテナに対応して生成され且つそれぞれ対応するコンテナと接続する1つ以上の仮想インタフェースと、前記物理インタフェース及び前記仮想インタフェースに到着したパケットに対して前記仮想スイッチコントローラから通知された制御内容に応じた処理を行うパケット処理機能部とを備え、
前記仮想スイッチコントローラは、コンテナごとに独立したスイッチ制御情報を記憶する記憶手段と、前記仮想スイッチを制御するネットワーク制御機能部とを備え、
前記ネットワーク制御機能部は、前記仮想スイッチのパケット処理機能部が受信したコンテナ内への通信に係るパケットのうちコンテナを利用するユーザのコントローラからのスイッチ制御信号に係るパケットを前記仮想スイッチコントローラネットワーク制御機能部に転送するとともに他のパケットは仮想インタフェースを介してコンテナ内に転送するよう前記仮想スイッチを制御する第1の機能部と、仮想スイッチから前記第1の機能部の制御により転送されたスイッチ制御信号を、該スイッチ制御信号に係るユーザが利用するコンテナのスイッチ制御信号として前記記憶手段に記憶するとともに、該スイッチ制御信号に基づき前記仮想スイッチのパケット処理機能部を制御する第2の機能部とを備えた
ことを特徴とする仮想スイッチ制御システム。
One or more containers which are virtual environments constructed on an OS (Operating System) by container virtualization technology, a virtual switch constructed on the OS and shared by processes in the container, and the virtual switch A virtual switch control system comprising a virtual switch controller for controlling
The virtual switch arrives at the physical interface connected to the outside, one or more virtual interfaces generated corresponding to the one or more containers and connected to the corresponding containers, and the physical interface and the virtual interface. A packet processing function unit that performs processing according to the control contents notified from the virtual switch controller to the packet,
The virtual switch controller includes storage means for storing independent switch control information for each container, and a network control function unit for controlling the virtual switch,
The network control function unit, the virtual switch network packets according to the switch control signal from the user of the controller of the virtual switch controller utilizing containers of the packet of the communication to the packet processing function unit received in the container of The first function unit that controls the virtual switch to transfer the packet to the control function unit and other packets to the container via the virtual interface, and the packet is transferred from the virtual switch under the control of the first function unit. A second function of storing a switch control signal in the storage means as a switch control signal of a container used by a user related to the switch control signal, and controlling a packet processing function unit of the virtual switch based on the switch control signal A virtual switch characterized by comprising Control system.
前記記憶手段はさらに認証情報を含むユーザ情報を記憶し、
前記ネットワーク制御機能の第2の機能部では、ユーザの認証情報に係るスイッチ制御信号を前記仮想スイッチのパケット処理機能部を介してユーザのコントローラから受信すると、前記記憶手段のユーザ情報を用いて認証処理を行い、認証に成功した場合に以降のスイッチ制御信号の前記記憶手段への記憶及び該スイッチ制御信号に基づく仮想スイッチのパケット処理機能部に対する制御を行う
ことを特徴とする請求項1記載の仮想スイッチ制御システム。
The storage means further stores user information including authentication information,
In the second function unit of the network control function unit , when a switch control signal related to the user authentication information is received from the user controller via the packet processing function unit of the virtual switch , the user information of the storage unit is used. The authentication process is performed, and when the authentication is successful, the subsequent switch control signal is stored in the storage unit and the packet processing function unit of the virtual switch is controlled based on the switch control signal. The virtual switch control system described.
前記ネットワーク制御機能の第2の機能部は、スイッチ制御信号に基づく仮想スイッチのパケット処理機能部に対する制御を行う際に、スイッチ制御信号に含まれるアドレスを仮想インタフェースに変換する第3の機能部を含む
ことを特徴とする請求項1又は2に記載の仮想スイッチ制御システム。
The second function unit of the network control function unit converts the address included in the switch control signal into a virtual interface when controlling the packet processing function unit of the virtual switch based on the switch control signal. The virtual switch control system according to claim 1 or 2, characterized by comprising:
コンテナ型仮想化技術によりOS(Operating System)上に構築された仮想化環境である1つ以上のコンテナと、前記OS上に構築され前記コンテナ内のプロセスから共用される仮想スイッチとを備えた環境下において、仮想スイッチコントローラが前記仮想スイッチを制御する方法であって、
前記仮想スイッチは、外部と接続する物理インタフェースと、前記1つ以上のコンテナに対応して生成され且つそれぞれ対応するコンテナと接続する1つ以上の仮想インタフェースと、前記物理インタフェース及び前記仮想インタフェースに到着したパケットに対して前記仮想スイッチコントローラから通知された制御内容に応じた処理を行うパケット処理機能部とを備え、
前記仮想スイッチコントローラは、コンテナごとに独立したスイッチ制御情報を記憶する記憶手段と、前記仮想スイッチを制御するネットワーク制御機能部とを備え、
前記ネットワーク制御機能部が、前記仮想スイッチのパケット処理機能部が受信したコンテナ内への通信に係るパケットのうちコンテナを利用するユーザのコントローラからのスイッチ制御信号に係るパケットを前記仮想スイッチコントローラのネットワーク制御機能部に転送するとともに他のパケットは仮想インタフェースを介してコンテナ内に転送するよう前記仮想スイッチを制御する第1のステップと、
前記ネットワーク制御機能部が、仮想スイッチから前記第1のステップの制御により転送されたスイッチ制御信号を、該スイッチ制御信号に係るユーザが利用するコンテナのスイッチ制御信号として前記記憶手段に記憶するとともに、該スイッチ制御信号に基づき前記仮想スイッチのパケット処理機能部を制御する第2のステップとを含む
ことを特徴とする仮想スイッチ制御方法。
An environment including one or more containers that are virtual environments constructed on an OS (Operating System) by container virtualization technology, and a virtual switch that is constructed on the OS and shared by processes in the containers Below, the virtual switch controller controls the virtual switch,
The virtual switch includes a physical interface for connecting with the outside, one or more and the temporary Soi interface to be connected to the one or more generated corresponding to the container and the corresponding container, before Symbol physical interface and the temporary and a packet processing function unit for performing a process corresponding to the notified control content from the virtual switch controller for each incoming packet to Soi interface,
The virtual switch controller includes storage means for storing independent switch control information for each container, and a network control function unit for controlling the virtual switch ,
The network control function unit transmits a packet related to a switch control signal from a controller of a user who uses the container among packets related to communication in the container received by the packet processing function unit of the virtual switch. A first step of controlling the virtual switch to transfer to the control function unit and transfer other packets into the container via the virtual interface ;
The network control function unit stores the switch control signal transferred from the virtual switch by the control of the first step in the storage unit as a switch control signal of a container used by a user related to the switch control signal, And a second step of controlling a packet processing function unit of the virtual switch based on the switch control signal.
JP2015149003A 2015-07-28 2015-07-28 Virtual switch control system and method Active JP6570033B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015149003A JP6570033B2 (en) 2015-07-28 2015-07-28 Virtual switch control system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015149003A JP6570033B2 (en) 2015-07-28 2015-07-28 Virtual switch control system and method

Publications (2)

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

Family

ID=57989481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015149003A Active JP6570033B2 (en) 2015-07-28 2015-07-28 Virtual switch control system and method

Country Status (1)

Country Link
JP (1) JP6570033B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6487359B2 (en) * 2016-03-16 2019-03-20 Kddi株式会社 Network service evaluation system
JP7067934B2 (en) * 2018-01-19 2022-05-16 エヌ・ティ・ティ・コムウェア株式会社 Information processing systems, information processing methods, and programs
JP7151087B2 (en) * 2018-01-31 2022-10-12 沖電気工業株式会社 Communication system, communication method, management device, management program, management method, information processing device, information processing program, and information processing method
JP7470320B2 (en) 2020-01-08 2024-04-18 国立大学法人 名古屋工業大学 Network Management Device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010038775A1 (en) * 2008-10-02 2010-04-08 日本電気株式会社 Network node and method for distributing load of the network
EP2740242B8 (en) * 2011-08-04 2019-01-23 Mido Holdings Ltd. System and method for implementing and managing virtual networks
JP5933371B2 (en) * 2012-05-02 2016-06-08 国立大学法人 東京大学 Network relay device and program

Also Published As

Publication number Publication date
JP2017034309A (en) 2017-02-09

Similar Documents

Publication Publication Date Title
CN111355604B (en) System and method for user customization and automation operations on software defined networks
US11095557B2 (en) L3 underlay routing in a cloud environment using hybrid distributed logical router
JP5811253B2 (en) Network system and network management method
US11374899B2 (en) Managing network connectivity between cloud computing service endpoints and virtual machines
KR101840904B1 (en) Virtualization gateway between virtualized and non-virtualized networks
JP2022509186A (en) Logical router with decomposed network elements
CN107005471A (en) Universal Subscriber premises equipment
JP6076275B2 (en) Communication network routing control cooperation system and method
JP2012533253A (en) Method and system for deploying at least one virtual network on the fly and on demand
JP6570033B2 (en) Virtual switch control system and method
JP5993817B2 (en) Routing system and method in carrier network
US20210051077A1 (en) Communication system, communication apparatus, method, and program
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
Karandikar Assessment of DCNET: A New Data Center Network Architecture
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 Written amendment

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 Written amendment

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 Written amendment

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