JP4279300B2 - Network virtualization apparatus and network virtualization program - Google Patents
Network virtualization apparatus and network virtualization program Download PDFInfo
- Publication number
- JP4279300B2 JP4279300B2 JP2006216107A JP2006216107A JP4279300B2 JP 4279300 B2 JP4279300 B2 JP 4279300B2 JP 2006216107 A JP2006216107 A JP 2006216107A JP 2006216107 A JP2006216107 A JP 2006216107A JP 4279300 B2 JP4279300 B2 JP 4279300B2
- Authority
- JP
- Japan
- Prior art keywords
- network
- virtual
- connection
- data exchange
- virtualization apparatus
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
本発明は、複数の端末とのコネクションを保持するデータ交換ノードを備え、オーバレイネットワークを構築するネットワーク仮想化装置、及びデータ交換ノードに適用されるプログラムに関し、特に、データ交換ノードがネットワーク仮想化装置間にて自律的に分割したり、移動したりすることによって、オーバレイネットワーク上のトラフィックを最適化するネットワーク仮想化装置及びネットワーク仮想化プログラムに関する。 The present invention relates to a network virtualization apparatus that includes a data exchange node that holds connections with a plurality of terminals and constructs an overlay network, and a program applied to the data exchange node. In particular, the data exchange node is a network virtualization apparatus. The present invention relates to a network virtualization apparatus and a network virtualization program that optimize traffic on an overlay network by autonomously dividing or moving between them.
例えば、TCP/IPネットワークのような既存の物理的なネットワーク(以後、「アンダーレイネットワーク」と称する)上に、ソフトウェアにて構築する仮想的なネットワークをオーバレイネットワークと呼ぶ。 For example, a virtual network constructed by software on an existing physical network (hereinafter referred to as “underlay network”) such as a TCP / IP network is referred to as an overlay network.
主な仮想的なネットワーク(以後、「仮想ネットワーク」と称する)として、以下のように、いわゆるピアツーピア(以後、「P2P」と称する)ネットワーク(例えば、非特許文献1乃至7)と呼ばれるものや、仮想ローカルエリアネットワーク(以後、「仮想LAN」と称する)がある。
As a main virtual network (hereinafter referred to as “virtual network”), a so-called peer-to-peer (hereinafter referred to as “P2P”) network (for example, Non-Patent
P2Pネットワークは、現状、ファイル交換(Winny,BitTorrent等)、音声通信(Skype等)などに広く利用されている。その方式により、大きく以下の2つ、すなわち、(1)ホストやコンテンツの探索は特別なサーバに依存するが、最終的なデータの送受信はP2Pのホスト間で行なうものと、(2)データの送受信だけでなく、ホストやコンテンツの探索そのものも、特別なサーバを必要とせず、完全に対等な立場のホスト間で分散協調して行なうものとに分けられる。なお、ホスト、コンテンツの探索に、特定のサーバではないが、特別な役割を果たすホスト群を利用する、上記2つの中間的な方式を用いるものもある。 The P2P network is currently widely used for file exchange (Winny, BitTorrent, etc.), voice communication (Skype, etc.) and the like. Depending on the method, the following two main steps are taken: (1) Host and content search depend on a special server, but final data transmission / reception is performed between P2P hosts, and (2) data In addition to transmission / reception, the host and content search itself can be divided into those that do not require a special server and are distributed and coordinated among hosts in completely equal positions. In some cases, the above two intermediate methods using a host group that plays a special role are used for searching hosts and contents, although they are not specific servers.
一方、仮想LANとして代表的なものに、ソフトイーサ株式会社製のSoftether(例えば、非特許文献8乃至9)がある。Softetherは仮想ネットワークを構築するソフトウェア群である。Softether又はこれに類似したソフトウェアでは、ある特定のホスト上にソフトウェアにて仮想的なイーサネット(登録商標)スイッチングハブ(以後、「仮想ハブ」と称する)が構築される。仮想ネットワークに参加を希望するホストは、同じくソフトウェアにて構築された仮想的なネットワークインタフェース(以後、「仮想ネットワークインタフェース」と称する)を介して、前述の仮想ハブにアンダーレイネットワーク(以後、「物理ネットワーク」とも称する)を使用して接続することにより、仮想ネットワークに参加する。
On the other hand, as a typical virtual LAN, there is a Softether (for example, Non-Patent
このような仮想ネットワークの一般的な構成を図19に示す。 A general configuration of such a virtual network is shown in FIG.
例えばTCP/IPネットワークであるアンダーレイネットワーク1900は、オーバレイネットワークである仮想ネットワーク1901を構築する基盤となる物理ネットワークである。アンダーレイネットワーク1900は、ルータ1902、ファイアウォール1903、リンク層の通信装置(イーサネットならばハブやスイッチングハブ)により構成される。ルータ1902は、TCP/IPネットワークを構成するネットワーク層の装置であり、一般的なものであることからここではその詳細な説明を割愛する。また、ファイアウォール1903は、内部ネットワーク1904と外部ネットワーク1905との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明を割愛する。
For example, an
ホスト1906は、仮想ネットワーク1901を構成する仮想ハブ1907の何れかに接続する計算機であり、仮想ネットワークインタフェース1908を介して仮想ハブ1907に接続する。仮想ハブ1907は、このように複数のホスト1906とのコネクションを保持するデータ交換ノードである。コンピュータ1909は、このような仮想ハブ1907を配置するネットワーク仮想化装置である。仮想ネットワーク1901は、一つ又は複数の仮想ハブ1907に、それぞれ仮想ネットワークインタフェース1908を持った複数のホスト1906が接続することにより構築される。
The
このような仮想ネットワーク1901の特徴として、以下が挙げられる。
1)仮想ハブ1907の配置場所が固定である(管理者により移動は可能)。
2)仮想ハブ1907の配置個数が固定である(管理者により追加・削除は可能)
3)仮想ネットワーク1901に属するホスト1906間のトラフィックは全て固定の仮想ハブ1907を経由する(管理者又は利用者により変更可能)
4)仮想ネットワーク1901に属するホスト1906と仮想ハブ1907との位置関係はアンダーレイネットワーク1900のトポロジを考慮していない。
1) The location of the
2) The number of
3) All traffic between
4) The positional relationship between the
このような従来の仮想ネットワーク1901では、上述したような特徴により、以下のような問題が生じる。
Such a conventional
第一の問題は、トラフィックが非効率的であり、それに伴いアンダーレイネットワーク1900への負荷が増大することである。つまり、データ送受信を行なうホスト1906同士が、例えば、同じアンダーレイネットワーク1900(#2)に属するホスト1906aとホスト1906bのように、たとえ同じアンダーレイネットワーク1900(#2)のトポロジ的に近隣に位置していたとしても、仮想ハブ1907がこれらホスト1906a,1906bからアンダーレイネットワーク1900(#2)のトポロジ的に遠隔に位置している場合、これらホスト1906a,1906b間のトラフィックは、アンダーレイネットワーク1900の観点から、常に長距離を移動することとなり、非常に非効率的となる。これによって、アンダーレイネットワーク1900のリソースを必要以上に浪費し、アンダーレイネットワーク1900への負荷の増大を招く。これは、アンダーレイネットワーク1900への設備投資コストの増加をもたらす。
The first problem is that the traffic is inefficient, which increases the load on the
第二の問題は、仮想ネットワーク1901の拡張に伴う性能的及び規模的な限界があることと、それに起因して管理の複雑さが増大することである。つまり、仮想ハブ1907に性能容量の限界があるために、仮想ネットワーク1901の拡張可能な規模に制約が生じてしまう。ホスト1906群を他の仮想ハブ(図示せず)へ繋ぎ変えたり、或いは、仮想ハブ1907を増設することにより仮想ネットワーク1901の拡張(接続ホスト1906の数の拡大)が可能だとしても、管理者や利用者によるホスト1906の繋ぎ変え、或いは管理者による新規仮想ハブ(図示せず)の作成、既存の仮想ハブ1907との接続調整などのための設定が必要となり、管理の複雑さが増大し、結果的に、管理コストの増大を招く。
The second problem is that there are performance and scale limitations associated with the expansion of the
本発明はこのような事情に鑑みてなされたものであり、仮想ネットワークを構成する仮想ハブが自律的に分割や移動することによって、物理ネットワークへの設備投資のコストの増加や、仮想ネットワークの管理の複雑さを招くこともなく、仮想ネットワーク上のトラフィックの最適化を図ることが可能なネットワーク仮想化装置及びネットワーク仮想化プログラムを提供することを目的とする。 The present invention has been made in view of such circumstances, and the virtual hubs constituting the virtual network are autonomously divided and moved, thereby increasing the cost of capital investment in the physical network and managing the virtual network. An object of the present invention is to provide a network virtualization apparatus and a network virtualization program capable of optimizing traffic on a virtual network without incurring the complexity of the network.
上記の目的を達成するために、本発明では、以下のような手段を講じる。 In order to achieve the above object, the present invention takes the following measures.
すなわち、請求項1の発明は、予め構築され、それぞれ一つ以上の端末が接続された複数の物理ネットワーク上に、ソフトウェアによって仮想的にネットワークを構築するネットワーク仮想化装置である。このネットワーク仮想化装置は、構築された仮想ネットワークに対する各端末の接続を管理するデータ交換ノードを備えている。そして、データ交換ノードは更に、各端末それぞれに対して予め割り当てられ、物理ネットワーク上において各端末をそれぞれ特定するための物理ネットワークアドレスが指定されると、指定された物理ネットワークアドレスによって特定された端末との物理ネットワークを介したコネクションを確立し、保持する手段と、仮想ネットワーク上において各端末をそれぞれ特定するための仮想ネットワークアドレスとコネクションとのマッピング情報を記憶する手段と、他ネットワーク仮想化装置に含まれる他データ交換ノードとの物理ネットワークを介したコネクションを確立し、保持する手段と、仮想ネットワークアドレスが指定されると、マッピング情報に基づいて、指定された仮想ネットワークアドレスにマップされたコネクションを特定し、この特定されたコネクションによって接続された端末と、仮想ネットワークを介して通信する手段と、予め定めた解除基準を超えた場合には、保持している物理ネットワークを介したコネクションのうちの何れかを解除し、解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる手段とを備えている。
That is, the invention of
請求項2の発明は、請求項1に記載のネットワーク仮想化装置において、予め定めた解除基準を超えた場合とは、保持している物理ネットワークを介したコネクションのうち、単位時間当たりのトラフィック量が、予め定めた量を超えた場合、同一の物理ネットワークに属する端末の数が、予め定めた数を超えた場合、データ交換ノードの負荷が、予め定めた基準値を超えた場合のうちの何れかの場合である。
The invention according to
請求項3の発明は、請求項1又は請求項2に記載のネットワーク仮想化装置において、データ交換ノードは更に、他ネットワーク仮想化装置が複数存在する場合、解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる手段は更に、複数存在する他ネットワーク仮想化装置のうち、保持させる他データ交換ノードを含む他ネットワーク仮想化装置を、予め定めた選択基準に基づいて選択する手段を備えている。そして、予め定めた選択基準とは、他データ交換ノードが、解除されたコネクションを保持した場合、解除されたコネクションによって接続された端末との間のデータ転送コストが最小になるようなデータ交換ノードを含むネットワーク仮想化装置を選択するか、又は、解除されたコネクションによって接続された端末との物理ネットワークにおける距離が最小になるようなネットワーク仮想化装置を選択する。 According to a third aspect of the present invention, in the network virtualization apparatus according to the first or second aspect, in the case where there are a plurality of other network virtualization apparatuses, the data exchange node further disconnects the released connection from the other network virtualization apparatus. Further, the means for holding in the other data exchange node further selects another network virtualization apparatus including the other data exchange node to be held among a plurality of other network virtualization apparatuses based on a predetermined selection criterion. Means. The predetermined selection criterion is a data exchange node that minimizes the data transfer cost with the terminal connected by the released connection when the other data exchange node holds the released connection. Or a network virtualization device that minimizes the distance in the physical network to the terminal connected by the released connection.
請求項4の発明は、請求項1乃至3のうち何れか1項の発明のネットワーク仮想化装置において、データ交換ノードは更に、解除されたコネクションが、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持された後、解除されたコネクション以外のコネクションの保持を継続するか、又は解除されたコネクション以外のコネクションを全て解除し、これら解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させるか否かを、予め定めた判定基準に基づいて判定する手段を備える。そして、判定基準は、解除されたコネクションの解除される前におけるトラフィック量の、データ交換ノードによって保持されていた仮想ネットワークを介した全てのコネクションによる合計トラフィック量に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第1の判定基準、解除されたコネクションに接続された端末数の、解除される前にデータ交換ノードによって保持されていた仮想ネットワークに接続されていた合計端末数に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第2の判定基準、解除されたコネクションの、解除される前における負荷が、予め定めた基準値を超えている場合に全て解除し、超えていない場合に継続する第3の判定基準のうちの何れかである。 According to a fourth aspect of the present invention, in the network virtualization apparatus according to any one of the first to third aspects, the data exchange node further includes another data exchange in which the released connection is included in the other network virtualization apparatus. Continue to hold connections other than the released connection after being held in the node, or release all connections other than the released connection, and release these released connections to other data included in other network virtualization devices. Means is provided for determining whether to hold the exchange node based on a predetermined criterion. The criterion is that the ratio of the traffic volume before cancellation of the released connection to the total traffic volume of all connections through the virtual network held by the data exchange node exceeds a predetermined value. The first criterion to continue if not exceeded, the number of terminals connected to the released connection, connected to the virtual network held by the data exchange node before being released If the ratio to the total number of terminals exceeds a predetermined value, all of them are released, and if the ratio does not exceed the second determination criterion, the load of the released connection before being released is predetermined. Any of the third criteria that are canceled when the reference value is exceeded and are continued when the reference value is not exceeded .
請求項5の発明は、請求項1乃至4のうち何れか1項の発明のネットワーク仮想化装置において、データ交換ノードは更に、予め定めた解除基準を超えた場合であっても、保持させる手段が解除すべきコネクションを、他データ交換ノードに保持させることによって、他データ交換ノードを含む他ネットワーク仮想化装置の負荷が、予め定めた基準値を超えることになる第1の場合、他データ交換ノードを含む他ネットワーク仮想化装置が保持する仮想化ネットワークに接続された端末の合計数、又は他ネットワーク仮想化装置が含む他データ交換ノード数が、予め定めた基準値を超えることになる第2の場合、他データ交換ノードが保持する仮想化ネットワークに接続された端末の合計数が、予め定めた基準値を超えることになる第3の場合のうちの何れかの場合には、保持させる手段に対してコネクションを解除させない手段を備えた。 According to a fifth aspect of the present invention, in the network virtualization apparatus according to any one of the first to fourth aspects of the present invention, the data exchange node further holds the data exchange node even when a predetermined release criterion is exceeded. In the first case, the load of the other network virtualization apparatus including the other data exchange node exceeds the predetermined reference value by holding the connection to be released by the other data exchange node. The total number of terminals connected to the virtual network held by the other network virtualization apparatus including the node or the number of other data exchange nodes included in the other network virtualization apparatus exceeds a predetermined reference value. In the case of the third case, the total number of terminals connected to the virtual network held by the other data exchange node exceeds the predetermined reference value. In the case of one of the provided with means not to release the connection to means for holding.
請求項6乃至10の発明は、請求項1乃至5のネットワーク仮想化装置のそれぞれを実現するためのプログラムである。
The inventions according to
本発明によれば、仮想ネットワークを構成する仮想ハブが、ネットワーク環境や、トラフィック量等に応じて、自律的に分割や移動することができる。 According to the present invention, the virtual hub constituting the virtual network can be autonomously divided or moved according to the network environment, traffic volume, and the like.
以上により、物理ネットワークへの設備投資のコストの増加や、仮想ネットワークの管理の複雑さを招くこともなく、仮想ネットワーク上のトラフィックの最適化を図ることが可能なネットワーク仮想化装置及びネットワーク仮想化プログラムを実現することができる。 As described above, the network virtualization apparatus and the network virtualization capable of optimizing the traffic on the virtual network without increasing the cost of capital investment in the physical network and incurring the complexity of the management of the virtual network. A program can be realized.
以下に、本発明を実施するための最良の形態について図面を参照しながら説明する。 The best mode for carrying out the present invention will be described below with reference to the drawings.
[全体構成]
図1は、本発明の実施の形態に係るネットワーク仮想化装置によって構築される仮想ネットワークの一般的な構成を示す概念図である。なお、以後の説明では、物理ネットワーク(アンダーレイネットワーク)11はTCP/IPネットワークであることを前提として説明する。現在、企業や通信事業者では、ほぼこのTCP/IPネットワークが使用されているといっても差し支えない。TCP/IPネットワークは、後述するルータ12、ファイアウォール13、リンク層の通信装置(イーサネットならばイーサネットスイッチングハブ14等)により構成される。ルータ12は、TCP/IPネットワークを構成するネットワーク層の装置であり、一般的なものであることから、ここではその詳細な説明を割愛する。また、ファイアウォール13は、企業ネットワーク等の内部ネットワーク15と、インターネット等の外部ネットワーク16との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明は割愛する。
[overall structure]
FIG. 1 is a conceptual diagram showing a general configuration of a virtual network constructed by a network virtualization apparatus according to an embodiment of the present invention. In the following description, it is assumed that the physical network (underlay network) 11 is a TCP / IP network. At present, it can be said that almost all TCP / IP networks are used by companies and carriers. The TCP / IP network includes a
ホスト17は、仮想ネットワーク10を構成する仮想ハブ18のいずれかに接続する計算機であり、仮想ネットワークインタフェース19を介して仮想ハブ18に接続する。詳細は後述する。
The
仮想ネットワークインタフェース未対応ホスト20は、仮想ネットワークインタフェース19が搭載されていないホストである。これらのホスト20は、特殊なソフトウェアである仮想ネットワークインタフェース19を搭載する必要が無い反面、仮想ハブ18に接続する何らかの手段が別途必要である。
The virtual network interface
図1中では、一般的なPPPoE、SSL−VPNを用いて仮想ハブ18に接続する形態と、一つの実施例であるネットワーク仮想化装置21が提供する特別なイーサネットポートに直結する形で、仮想ハブ18に接続する形態を例として示している。以下に、ネットワーク仮想化装置21の特別なイーサネットポートに関して述べる。
In FIG. 1, a
ネットワーク仮想化装置21は、仮想ハブ18を配置する装置であり、専用装置であることも、汎用の計算機(Windows(登録商標)やUNIX(登録商標)が稼働する計算機)であることも可能である。一つのネットワーク仮想化装置21には複数の仮想ハブ18を配置することも可能であり、通常、それらの仮想ハブ18は異なる仮想ネットワーク10に属する。同一仮想ネットワーク10に属すこともできるが、運用上のメリットは無い。
The
なお、ネットワーク仮想化装置21には、仮想ネットワークインタフェース未対応ホスト20を、ルータ12を介さずに直接収容するための特別なイーサネットポートを持つことができる。この特別なイーサネットポートに収容されるイーサネット上のホストは、ある仮想ハブ18を介して仮想ネットワーク10に収容される形となる。仮想ハブ18は、本実施の形態の中心的役割を担うものであり、詳細は後述する。
The
仮想イーサネットコネクションAは、ホスト17と仮想ハブ18(具体的には、後述する仮想ハブ18の仮想イーサネットポート)間を接続する仮想的なイーサネットの線であり、TCP/IPネットワーク上に何らかの方法で実現される。実現方法は本発明の特徴的な部分ではないため、ここではその詳細な説明を割愛するが、UNIX等の一般的なOSにおけるいくつかの実装例を後述する。
The virtual Ethernet connection A is a virtual Ethernet line that connects the
また、仮想イーサネットコネクションAは、仮想ハブ18間を接続する概念でもあり、仮想ハブ18は、仮想ハブ18の分割・移動処理時に、仮想ハブ18間の仮想イーサネットコネクションAの接続を変更する必要がある。しかし、これは、通常のイーサネットスイッチングハブ14を接続するのと同等の機能であるのでここでは詳細に述べない。
The virtual Ethernet connection A is also a concept for connecting the
[ホスト及びネットワーク仮想化装置の構成]
ホスト17及びネットワーク仮想化装置21の詳細な機能ブロック図を図2に示す。以下、ホスト17及びネットワーク仮想化装置21に配置される仮想ハブ18の詳細をそれぞれ記す。
[Configuration of host and network virtualization device]
A detailed functional block diagram of the
(ホスト)
ホスト17は、TCP/IPネットワークにて通信を行なうためのネットワークインタフェースである物理ネットワークインタフェース23だけでなく、仮想ハブ18に接続するため(仮想ネットワーク10にて通信を行なうため)のネットワークインタフェースである仮想ネットワークインタフェース19、及びそれを制御するための仮想ネットワークインタフェース制御モジュール24を持つ。
(host)
The
仮想ネットワークインタフェース19は、仮想ハブ18との仮想イーサネットコネクションAを生成、保持する。ホスト17上で動作するアプリケーションプログラムや、ホスト17のOS内のTCP/IPプロトコルからは、仮想ネットワークインタフェース19は物理ネットワークインタフェース23と同じように見え、IP層の経路制御により、いずれのネットワークインタフェースが使用されるかが決定される。
The
仮想ネットワークインタフェース制御モジュール24は、仮想ハブ18との仮想イーサネットコネクションAの生成の制御などの処理を行なう。
The virtual network
(ネットワーク仮想化装置)
ネットワーク仮想化装置21は、システム制御モジュール201、システム情報テーブル202、及び仮想ハブ18を備えている。以下に、システム制御モジュール201及びシステム情報テーブル202の処理内容、及び、テーブルのデータ構成例を記す。なお、仮想ハブについては、次項にて説明する。
(Network virtualization device)
The
システム制御モジュール201は、ネットワーク仮想化装置21全体の制御を行なうモジュールで、以下の処理を行なう。
・自装置21、自装置21が収容する仮想ハブ18、及びホスト17に関する情報の収集を行う。すなわち、自装置21に収容する仮想ハブ18の情報は、後述の通り、各仮想ハブ18が収集し、ホスト情報テーブル183に保持する。更にその情報をシステム制御モジュール201が各仮想ハブ18から収集し、集中管理する。
・同一管理ドメイン内の他ネットワーク仮想化装置21aとの情報交換を行う。すなわち、システム情報交換メッセージの交換により、自装置21が収集した情報を他装置21aに通知し、他装置21aが収集した情報を獲得する。
・上記収集した自装置21、並びに同一管理ドメイン内の他装置21aの情報をシステム情報テーブル202にて管理する。
・仮想ハブ18の生成、削除などを行う。
The
Collect information about the
Exchange information with other
The system information table 202 manages the collected information about the
-Creation, deletion, etc. of the
次に、システム情報テーブル202について説明する。図3は、システム情報テーブル202のフォーマットの一例を示す模式図である。すなわち、システム情報テーブル202は、ネットワーク仮想化装置情報301と、仮想ハブ情報310とを含んでいる。
Next, the system information table 202 will be described. FIG. 3 is a schematic diagram illustrating an example of the format of the system information table 202. That is, the system information table 202 includes network
ネットワーク仮想化装置情報301は、アンダーレイネットワークのIPアドレス/ネットマスク情報302と、収容仮想ハブ数303と、収容仮想ネットワーク数304と、システム負荷情報305とを含んでいる。更に、システム負荷情報305は、CPU利用率306、メモリ利用率307、仮想ハブ毎のトラフィック309、総トラフィック308を含んでいる。
The network
仮想ハブ情報310は、収容ホスト数311と、仮想ハブと各ホスト間とのコスト312とを含んでいる。更に、コスト312は、ホスト312aと、ラウンドトリップタイム312bと、ホップ数312cとを含んでいる。
The
(仮想ハブ)
図2に示すように、仮想ハブ18は、複数の仮想イーサネットポート187を有する仮想イーサネットポート制御モジュール186と、仮想イーサネットスイッチモジュール185と、仮想ハブ制御モジュール181と、MACアドレス学習テーブル182と、ホスト情報テーブル183と、ポート間トラフィックテーブル184とを含んでいる。
(Virtual hub)
As shown in FIG. 2, the
ホスト情報テーブル183は、そのデータ構成例を図4に示すように、自仮想ハブ18が収容するホストの情報を保持している。すなわち、ホスト情報テーブル183は、仮想ネットワークインタフェース19のMACアドレス183a、ホスト17を収容する仮想イーサネットポート187(仮想イーサネットポート制御モジュール186内にある)の仮想イーサネットポート識別子183b、仮想ハブ18と該当ホスト17間のラウンドトリップタイム183c、仮想ハブ18と該当ホスト17間のホップ数(経由ルータ数)183d、該当ホスト17へのアンダーレイネットワークのIPパケットを送信する次ホップのゲートウェイを表すフォワーディング情報183e、該当ホスト17のアンダーレイネットワークのIPアドレス/ネットマスク情報183fを含む。これら情報は、仮想ハブ18の分割や移動処理時に使用される。
As shown in FIG. 4, the host information table 183 holds information on the hosts accommodated by the own
ポート間トラフィックテーブル184は、各仮想イーサネットポート187間のトラフィック量を保持するテーブルである。
The inter-port traffic table 184 is a table that holds the traffic amount between the
仮想イーサネットポート187は、ホスト17の仮想ネットワークインタフェース19との仮想イーサネットコネクションAを保持するための仮想的なイーサネットポートであり、仮想イーサネットコネクションAの仮想ハブ18側の端点と見なすことができる。各仮想イーサネットポート187には、仮想イーサネットポート識別子183bが付与され、それにより識別される。
The
MACアドレス学習テーブル182は、通常のイーサネットスイッチングハブ14と同様、受信イーサネットフレームの送信元MACアドレスと受信ポートとのマッピングを保持するテーブルである。通常のイーサネットスイッチングハブ14では、受信イーサネットフレームの送信元MACアドレスとのマッピングは受信ポートであるが、本実施の形態においては、送信元MACアドレス183aと仮想イーサネットポート識別子183bとのマッピングとなる。
The MAC address learning table 182 is a table that holds the mapping between the transmission source MAC address of the received Ethernet frame and the reception port, similarly to the normal Ethernet switching hub 14. In the normal Ethernet switching hub 14, the mapping of the received Ethernet frame to the transmission source MAC address is a reception port, but in the present embodiment, the mapping is a transmission
仮想イーサネットポート制御モジュール186は、ホスト17、又は他仮想ハブ18aからの接続要求を受け付け、ユーザ認証、その他通信路暗号化方法などの調整を行なう。その結果、接続が完了すると、ホスト17の仮想ネットワークインタフェース19との間、又は他仮想ハブ18aとの間の仮想イーサネットコネクションAを保持するための仮想イーサネットポート187を生成し、仮想イーサネットポート識別子183bを付与する。更に、ホスト17から接続要求を受けた場合には、そのホスト17に関するエントリをホスト情報テーブル183に作成し、接続要求に格納されているホスト17のネットワークアドレス、ネットマスク情報などをホスト情報テーブル183に保存する。また、各仮想イーサネットポート187からのイーサネットフレーム受信時には、MACアドレス183aの学習を行なう。すなわち、受信イーサネットフレームの送信元MACアドレスと、該当イーサネットフレームを受信した仮想ネットワークポート(仮想イーサネットポート識別子183b)187のマッピングをMACアドレス学習テーブル182に書き込む。
The virtual Ethernet
仮想イーサネットスイッチモジュール185は、基本的には、一般的なイーサネットスイッチングハブ14と同様の処理を行なう。つまり、イーサネットフレームを受信すると(仮想イーサネットポート制御モジュール186からイーサネットフレームを受け取ると)、該当イーサネットフレームのヘッダの宛先MACアドレスとMACアドレス学習テーブル182の情報から、出力先仮想イーサネットポート187を決定し、該当イーサネットフレームをその仮想イーサネットポート187に出力する(出力先仮想ネットワークポート情報(仮想イーサネットポート識別子183b)をパラメータとして、該当イーサネットフレームを仮想イーサネットポート制御モジュール186へ渡す)。更に、上記処理に伴い、各仮想イーサネットポート187間の単位時間当たりのトラフィックを計測し、ポート間トラフィックテーブル184に保存する。
The virtual
仮想ハブ制御モジュール181は、仮想ハブ18の分割や移動の制御を行なう。具体的には、ホスト情報テーブル183のラウンドトリップタイム183c、ホップ数183d、フォワーディング情報183e、IPアドレス/ネットマスク情報183fの収集及び設定を行う。また、仮想イーサネットスイッチモジュール185がスイッチング処理に伴い収集し、ポート間トラフィックテーブル184に格納したポート間トラフィック情報を監視する。そして、これらの情報に基づき、必要に応じて仮想ハブ18の分割、又は移動処理を開始する。また、自仮想ハブ18の削除処理も行なう。例えば、予め定められた期間、収容するホスト17が存在しない場合には、自身の処理を終了する。
The virtual
[処理詳細]
以下、仮想イーサネットコネクションAの生成(仮想ネットワークインタフェース19による仮想ハブ18への接続)、仮想ハブ18による分割・移動処理のための情報収集、仮想ハブ18の分割・移動処理に関し、順に詳細を述べ、最後に、具体的なネットワーク構成に基づいて、仮想ハブ18の分割・移動処理の例を記す。
[Process Details]
Hereinafter, the details of the generation of the virtual Ethernet connection A (connection to the
(仮想ネットワークコネクションの生成)
仮想イーサネットコネクションAは、ホスト17と仮想ハブ18との間、仮想ハブ18と仮想ハブ18との間で生成、保持されるものであるが、ここでは、前者の場合のみについて述べる。
(Create virtual network connection)
The virtual Ethernet connection A is generated and held between the
1.仮想ハブ18への接続(仮想イーサネットコネクションAの生成)は、以下の場合に行なわれる。
・ホスト17のユーザが、仮想ネットワークインタフェース制御モジュール24を使用して仮想ハブ18への接続要求を手動で出す場合。
・ホスト17のOS起動時の一連の処理の中で、コンフィグレーションに基づいて仮想ネットワークインタフェース制御モジュール24が呼び出され、接続要求を自動で出す場合。
・ホスト17の仮想ハブ18間の移動処理(繋ぎ替え処理)時、移動元の仮想ハブ18の仮想ハブ制御モジュール181がホスト17へ移動要求を出す場合。
1. Connection to the virtual hub 18 (generation of the virtual Ethernet connection A) is performed in the following cases.
A user of the
A case in which the virtual network
A case where the virtual
2.接続要求のパラメータは以下の通りである。
・物理ネットワーク11での仮想ハブ18のIPアドレスである接続先IPアドレス(接続先仮想ハブ18のIPアドレス)。
・認証方法、及び、認証パラメータ(ユーザ名、パスワードなど)
・物理ネットワーク11でのホスト自身のIPアドレス/ネットマスクであるホスト自身のIPアドレス/ネットマスク情報。
・その他、通信路暗号化プロトコルやキープアライブ時間(無通信時の接続切断などに使用)等。
2. The connection request parameters are as follows.
A connection destination IP address that is an IP address of the
・ Authentication method and authentication parameters (user name, password, etc.)
Host IP address / netmask information that is the host's own IP address / netmask in the
・ Other communication channel encryption protocol and keep-alive time (used for disconnection when there is no communication), etc.
3.仮想ネットワークインタフェース制御モジュール24から仮想ハブ18への接続要求を受け取った仮想ネットワークインタフェース19は、TCP/IP以下のプロトコルを使用し、接続先の仮想ハブ18と物理ネットワーク11を使用して通信を行ない、ユーザ認証、通信路暗号化プロトコルその他のパラメータの調整、自身のネットワークアドレス、ネットマスク情報の送信などを行なった後、ホスト17と仮想ハブ18の間に仮想イーサネットコネクションAを作成、保持する。
3. The
4.仮想ネットワークインタフェース19によりホスト17、仮想ハブ18間に仮想イーサネットコネクションAが作成されたことにより、ホスト17上のアプリケーションプログラムは、同一仮想ネットワーク上に属する他ホスト17と、そのホスト17のイーサネットアドレス(仮想イーサネット上のネットワークアドレス)を指定することにより、イーサネットレベルでの通信が可能となる。なお、仮想ネットワーク10上でTCP/IPにて通信を行なう場合は、別途、IPアドレス(仮想ネットワーク10上で動作するTCP/IPネットワークのIPアドレス)が必要となるが、IPアドレスの割り当て方法は一般的なものであるので、ここではその説明を省略する。
4). Since the virtual Ethernet connection A is created between the
(仮想ハブによる情報収集)
仮想ハブ18の仮想ハブ制御モジュール181、及び仮想イーサネットスイッチモジュール185は、分割や移動処理のための以下に示す各種情報(ラウンドトリップタイム、ホップ数、仮想イーサネットポート間トラフィック)を収集、保存する。また、収集した情報を自身が属するネットワーク仮想化装置21のシステム制御モジュール201に通知する。以下、各種情報について補足する。
(Information collection by virtual hub)
The virtual
・ラウンドトリップタイム
仮想ハブ制御モジュール181は、各仮想イーサネットポート187(仮想イーサネットコネクションA)に対して、定期的に、又は分割や移動先の決定時に、ラウンドトリップタイム計測パケットを送出し、規定回数分の平均値(例えば10回分の平均値)をホスト情報テーブル183に保存する。
・ Round trip time
The virtual
・ホップ数
仮想ハブ制御モジュール181は、各仮想イーサネットポート187(仮想イーサネットコネクションA)のアンダーレイネットワークのIPアドレスに対して、定期的に、又は分割や移動先の決定時に、ホップ数計測パケットを送出し、得られたホップ数(ホスト17−仮想ハブ18間のルータ数)をホスト情報テーブル183に保存する。
・ Hop count
The virtual
・仮想ネットワークポート間トラフィック
仮想ハブ18の仮想イーサネットスイッチモジュール185は、イーサネットフレームのスイッチングの際、該当仮想イーサネットポート187間のトラフィックを計測し、単位時間当たりの値(イーサネットフレーム数、バイト数など)をポート間トラフィックテーブル184に保存する。
・ Virtual network port traffic
The virtual
(仮想ハブ分割・移動処理フロー)
仮想ハブ18の分割及び移動処理は、本実施の形態におけるネットワーク仮想化装置21における動作の中でも、最も特徴的な部分である。この処理の一例を図5に示すフローチャートを用いて説明する。
(Virtual hub split / move processing flow)
The process of dividing and moving the
(ステップS1)仮想ハブ制御モジュール181は、ホスト情報テーブル183、ポート間トラフィックテーブル184の内容を定期的に監視し、分割・移動開始判定基準を超える事象又は状態を検出した場合に分割及び移動処理を開始する。なお、分割・移動開始判定基準及び判定処理の詳細は後述する。
(Step S1) The virtual
(ステップS2)仮想ハブ制御モジュール181は、分割及び移動処理を開始すると、移動先ネットワーク仮想化装置21の選択処理を行なう。移動先ネットワーク仮想化装置21による選択処理の詳細は後述する。
(Step S2) When the virtual
(ステップS3)仮想ハブ制御モジュール181は、移動先ネットワーク仮想化装置21に、自仮想ハブ18と同一仮想ネットワークに属する仮想ハブ18が存在するかを確認する。具体的には、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。システム制御モジュール201は、システム情報テーブル202の移動先ネットワーク仮想化装置21に対応するエントリにて、問い合わせを行なった仮想ハブ18と同一の仮想ネットワークに属する仮想ハブ18が存在するかどうかをチェックし、その結果を仮想ハブ制御モジュール181に返す。
(Step S <b> 3) The virtual
(ステップS4)仮想ハブ制御モジュール181は、移動先ネットワーク仮想化装置21にて、仮想ハブ18の新規作成が受け入れ可能かをチェックする。具体的には、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。システム制御モジュール201は、システム情報テーブル202の移動先ネットワーク仮想化装置21に対応するエントリにて、上記処理が受け入れ可能かどうかの判定を行ない、結果を仮想ハブ制御モジュール181に返す。受け入れ可能かどうかの判定処理の詳細は後述する。
(Step S4) The virtual
(ステップS5)移動先ネットワーク仮想化装置21にて、新規の仮想ハブ18を作成する。具体的には、以下の処理を行なう。すなわち、先ず、仮想ハブ制御モジュール181は、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に、移動先ネットワーク仮想化装置21での新規の仮想ハブ18の作成依頼を行なう。次に、上記依頼を受けたシステム制御モジュール201は、移動先ネットワーク仮想化装置21のシステム制御モジュール201に、新規仮想ハブ18の作成を依頼する。そして、上記依頼を受けた移動先ネットワーク仮想化装置21のシステム制御モジュール201は、自装置21上で指定の仮想ネットワークに属する仮想ハブ18を作成し、その結果を依頼元に返す。
(Step S5) The
(ステップS6)仮想ハブ制御モジュール181は、移動先ネットワーク仮想化装置21、及び仮想ハブ18にて、移動対象のホスト17が受け入れ可能かのチェックを行なう。具体的には、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。システム制御モジュール201は、システム情報テーブル202の移動先ネットワーク仮想化装置21に対応するエントリにて、上記処理が受け入れ可能かどうかの判定を行ない、結果を仮想ハブ制御モジュール181に返す。受け入れ可能な場合はステップS7へ、受け入れ可能でない場合には処理を終了する。受け入れ可能かどうかの判定処理の詳細は後述する。
(Step S <b> 6) The virtual
(ステップS7)仮想ハブ制御モジュール181は、仮想ハブ18を移動するか、又は分割するかの判定を行なう。具体的には、ホスト情報テーブル183の情報を参照するか、又は自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。そして、分割すべきであると判定した場合はステップS8へ、移動すべきであると判定した場合にはステップS9へ進む。移動か分割かの判定基準、判定処理の詳細は後述する。
(Step S7) The virtual
(ステップS8)仮想ハブ制御モジュール181は、移動対象のホスト17を、移動先ネットワーク仮想化装置21の該当仮想ハブ18に繋ぎ替え、分割又は移動の処理を終了する。具体的には以下の処理を行なう。
(Step S8) The virtual
すなわち、移動元の仮想ハブ制御モジュール181は、移動対象となるホスト17に対して、物理ネットワークのIPアドレスである移動先ネットワーク仮想化装置21の情報や、仮想ネットワークを識別可能な情報(識別子、アンダーレイネットワークのトランスポート層のポート番号等)をパラメータとした、仮想ハブ接続変更要求を送出する。
That is, the migration source virtual
次に、上記仮想ハブ接続変更要求を受信したホスト17の仮想ネットワークインタフェース制御モジュール24は、要求に含まれる情報を元に、移動先の仮想ハブ18との仮想イーサネットコネクションAを生成し、要求に対する応答を移動元の仮想ハブ18へ返す。その後、移動元の仮想ハブ18との仮想イーサネットコネクションAを削除する。
Next, the virtual network
(ステップS9)仮想ハブ制御モジュール181は、移動先ネットワーク仮想化装置21、及び仮想ハブ18が、自仮想ハブ18が収容する全ホストを受け入れ可能かのチェックを行なう。具体的には、自身が属するネットワーク仮想化装置21のシステム制御モジュール201に問い合わせを行なう。システム制御モジュール201は、システム情報テーブル202の移動先ネットワーク仮想化装置21に対応するエントリにて、上記処理が受け入れ可能かどうかの判定を行ない、結果を仮想ハブ制御モジュール181に返す。受け入れ可能な場合にはステップS10へ、受け入れ可能でない場合にはステップS8に進む。受け入れ可能かどうかの判定処理の詳細は後述する。
(Step S9) The virtual
(ステップS10)仮想ハブ制御モジュール181は、自仮想ハブ18が収容する全てのホスト17を、移動先ネットワーク仮想化装置21の該当仮想ハブ18に繋ぎ替える。繋ぎ替え処理の詳細はステップS8と同様である。
(Step S10) The virtual
(ステップS11)仮想ハブ制御モジュール181は、自仮想ハブ18の処理を終了(シャットダウン)する。
(Step S11) The virtual
(ステップS12,S13)なお、ステップS4にて仮想ハブ18の受け入れが不可となった場合、又はステップS6にて受け入れ不可となった場合に、分割・移動先候補が他にも存在する場合には、ステップS2の処理に戻り、次善の候補を選択することもできる。
(Steps S12 and S13) If the
(仮想ハブ分割・移動判定基準、判定処理詳細)
次に、図5に示す処理フロー中の各種判定基準、判定処理の処理詳細について記載する。処理によっては複数基準が存在するが、いずれの基準を使用するか、基準値をどのように設定するかなどは仮想ネットワークを運用するサイトのポリシーにより設定される事項であるので、以下に示す記載に限定されるものではない。
(Virtual hub division / movement criteria, judgment process details)
Next, various determination criteria in the process flow shown in FIG. 5 and details of the determination process will be described. There are multiple criteria depending on the process, but which criteria to use and how to set the criteria are matters set by the policy of the site that operates the virtual network. It is not limited to.
ステップS1で用いられる分割・移動開始判定で用いられる基準、判定処理には、以下に示す通り、例えばフロードリブンと、トポロジドリブンとの2つがある。 There are two criteria and determination processes used in the division / movement start determination used in step S1, for example, flow driven and topology driven as shown below.
フロードリブンによる分割・移動処理では、仮想ハブ制御モジュール181が、各仮想イーサネットポート187間のトラフィック(ポート間トラフィックテーブル184)を監視し、ある特定の仮想イーサネットポート187間トラフィックが予め定めている閾値を超えた場合に、分割・移動処理を開始する。例えば、閾値としては、単位時間当たりのフレーム数、バイト数(例えば1時間あたり10Mフレーム、1分間あたり10MByte等)や、該当仮想ハブ18の総トラフィックに対する該当仮想イーサネットポート187間のトラフィックの割合(例えば50%等)が考えられる。
In the flow-driven division / movement processing, the virtual
トポロジドリブンによる分割・移動処理では、仮想ハブ制御モジュール181は、ホスト情報テーブル183を監視し、自仮想ハブ18が収容するホスト17の内、予め定めた基準値を超えるホスト17が、物理ネットワーク11の特定のエリアに属していると判断した場合、分割・移動処理を開始する。例えば、基準値としては、収容するホスト17の50%や、10ホスト等が考えられる。また、上記ホストが、物理ネットワーク11の特定のエリアに属していると判断する基準は、以下のようなものが考えられる。
・上記ホスト群が、物理ネットワーク11にて同一ネットワークアドレスを持ち、かつ、そのネットワークアドレスが、自身が属するネットワーク仮想化装置21とは異なる場合。
・上記ホスト群への物理ネットワーク11のIPパケット送信処理にて、次ホップが同一で、かつ、それらホスト17が、自身が属するネットワーク仮想化装置21と物理ネットワーク11の同一LANセグメントに存在しない場合。
In the topology-driven division / movement process, the virtual
The host group has the same network address in the
In the IP packet transmission processing of the
ステップS2における分割・移動先ネットワークの決定に際しては、以下に示す通り、例えばコストベースと、トポロジベースとの2つの判定基準及び判定処理がある。なお、フロードリブンで分割・移動開始を決定した場合は、以下のいずれかの方法でも分割・移動先を決定しても差し支えないが、トポロジドリブンで分割・移動開始を決定した場合は、コストベースで決定しても動作上は問題無いが、トポロジベースで分割・移動先を決定することが妥当である。 In determining the division / movement destination network in step S2, there are two determination criteria and determination processing, for example, a cost base and a topology base, as shown below. If you decide to start split / move using flow-driven, you can use either of the following methods to determine the destination of split / move, but if you decide to start split / move using topology-driven, the cost base However, it is reasonable to determine the division / movement destination based on the topology.
コストベースの判定を行う場合、仮想ハブ制御モジュール181は、ホスト情報テーブル183、及びシステム制御モジュール201を介して自身が属するネットワーク仮想化装置21のシステム情報テーブル202の情報から、以下のコストをチェックする。
・自身が属するネットワーク仮想化装置21と移動対象ホスト間のコスト。
・同一管理ドメイン内の、自身が属するネットワーク仮想化装置21以外のネットワーク仮想化装置21と移動対象ホスト間のコスト。
When performing cost-based determination, the virtual
The cost between the
The cost between the
またここで、コストは、具体的には以下のようなものが考えられる。 Here, specifically, the following costs can be considered.
・ラウンドトリップタイム。
・ホップ数(アンダーレイネットワークのホップ数)。
・ Round trip time.
-Number of hops (underlay network hops).
そして、上記チェックしたコストのうち、最小のコストを持つネットワーク仮想化装置21が、自身の属するネットワーク仮想化装置21でない場合、そのネットワーク仮想化装置21を分割・移動先として選択する。なお、移動対象ホストは複数存在するため、最終的なコストは、それら全てのホストに対するコストの平均をとるなどの措置が必要となる。
If the
一方、トポロジベースの判定を行う場合、仮想ハブ制御モジュール181は、ホスト情報テーブル183、及びシステム制御モジュール201を介して自身が属するネットワーク仮想化装置21のシステム情報テーブル202の情報から、以下のトポロジ情報をチェックする。
・移動対象ホストの物理ネットワーク11上でのトポロジ情報。
・同一管理ドメイン内の、自身が属するネットワーク仮想化装置21以外のネットワーク仮想化装置21の物理ネットワーク11上でのトポロジ情報。
On the other hand, when performing topology-based determination, the virtual
Topology information on the
Topology information on the
またここで、トポロジ情報は、具体的には以下のようなものが考えられる。 Here, specifically, the topology information is as follows.
・物理ネットワーク11のIPアドレス(ネットワークアドレス)。
・物理ネットワーク11のフォワーディング情報。
・物理ネットワーク11の経路制御情報。
IP address (network address) of the
-Forwarding information of the
-Route control information of the
そして、上記チェックしたトポロジ情報を元にした分割・移動先選択の基準は、以下のようなものが考えられる。 The following criteria for division / movement destination selection based on the checked topology information can be considered.
上記移動対象のホスト群が、物理ネットワーク11にて、あるネットワーク仮想化装置21と同一ネットワークアドレスを持ち、かつ、そのネットワーク仮想化装置21が自身が属するものではなく、かつ、そのネットワーク仮想化装置21が、自身が属するネットワーク仮想化装置21と物理ネットワーク11の同一LANセグメントに存在しない場合に、そのネットワーク仮想化装置21を分割・移動先とする。
The host group to be moved has the same network address as a certain
上記移動対象ホスト群への物理ネットワーク11のIPパケット送信処理における次ホップと、あるネットワーク仮想化装置21への同処理における次ホップが同一で、かつ、そのネットワーク仮想化装置21が自身が属するものではなく、かつ、そのネットワーク仮想化装置21が、自身が属するネットワーク仮想化装置21と物理ネットワーク11の同一LANセグメントに存在しない場合に、そのネットワーク仮想化装置21を分割・移動先とする。
The next hop in the IP packet transmission process of the
上記と同様の判定処理を、物理ネットワーク11のIP経路情報に基づいて行なう。
A determination process similar to the above is performed based on the IP route information of the
なお、移動対象ホスト17は複数存在するため、最終的な判断は、移動対象の全ホスト17のうち最も多いホスト17とトポロジ的に近い(同一ネットワークアドレスを持つ、同一次ホップである等)ネットワーク仮想化装置21を選択するなどの措置が必要となる。
Since there are a plurality of migration target hosts 17, the final judgment is a network that is topologically close to the most hosts 17 among all the migration target hosts 17 (having the same network address, the same next hop, etc.) Measures such as selecting the
次に、ステップS4,S6,S9で行われる移動先での仮想ハブ18、ホスト17の受け入れ判定基準及び判定処理の例について説明する。
Next, an example of acceptance determination criteria and determination processing of the
仮想ハブ制御モジュール181は、(システム制御モジュール201を介して)自身が属するネットワーク仮想化装置21のシステム情報テーブル202の情報から、予め定めている閾値を超えた場合に、移動先ネットワーク仮想化装置21での仮想ハブ18の受け入れ、又は移動先仮想ハブ18でのホスト17の受け入れが不可であると判断する。例えば、閾値は以下のようなものが考えられる。
・移動先ネットワーク仮想化装置21のCPU利用率50%。
・移動先ネットワーク仮想化装置21の仮想ハブ収容数が10。
・移動先ネットワーク仮想化装置21のホスト収容数が100。
・移動先仮想ハブ18のホスト収容数が20。
・移動先仮想ハブ18の単位時間当たりのトラフィックが10MBytes。
When the virtual
CPU usage rate of the destination
-The number of virtual hubs accommodated by the destination
The host capacity of the migration destination
The host capacity of the destination
-The traffic per unit time of the destination
次に、ステップS7で行われる分割か移動かの判定例について説明する。 Next, an example of determination as to division or movement performed in step S7 will be described.
仮想ハブ制御モジュール181は、ホスト情報テーブル183の情報、及びシステム制御モジュール201を介して自身が属するネットワーク仮想化装置21のシステム情報テーブル202の情報から、予め定めている閾値を超えた場合(或いは超えていない場合)に移動とし、超えていない場合(或いは超えた場合)に分割と判断する。例えば、判断項目、及び、閾値は以下のようなものが考えられる。
When the virtual
移動対象のホスト17の合計トラフィックの、自仮想ハブ18が収容する全ホスト17の合計トラフィックに対する割合が、予め定めている閾値を超えた場合に移動し、超えていない場合に分割とする。閾値としては、例えば、上記割合が70%の場合とする。
When the ratio of the total traffic of the
移動対象のホスト17の数の、自仮想ハブ18が収容する全てのホスト17の数に対する割合が、予め定めている閾値を超えた場合に移動し、超えていない場合に分割とする。閾値としては、例えば上記割合が50%の場合とする。
When the ratio of the number of
移動先ネットワーク仮想化装置21、又は移動先仮想ハブ18の負荷が、予め定めている閾値を超えた場合に分割し、超えていない場合に移動とする。例えば、閾値としては、例えば以下のようなものがある。
When the load on the destination
・移動先ネットワーク仮想化装置21のCPU利用率50%。
・移動先ネットワーク仮想化装置21の仮想ハブ収容数が10。
・移動先ネットワーク仮想化装置21のホスト収容数が100。
・移動先仮想ハブ18のホスト収容数が20。
・移動先仮想ハブ18の単位時間当たりのトラフィックが10MBytes。
CPU usage rate of the destination
-The number of virtual hubs accommodated by the destination
The host capacity of the migration destination
The host capacity of the destination
-The traffic per unit time of the destination
(仮想ハブ分割・移動処理の具体例1)
物理ネットワーク11、及び仮想ネットワーク10を構成するネットワーク仮想化装置21、仮想ハブ18、ホスト17が、図6のような状態の場合に関し、仮想ハブ18の分割・移動処理の詳細を記す。本例はフロードリブンによる分割・移動処理開始の例である。
(Specific example 1 of virtual hub division / movement processing)
Details of the dividing / moving process of the
図6は、ある企業のネットワーク構成であり、物理ネットワークであるTCP/IPネットワークはルータ12(#1〜#3)により、4つのLANセグメント(LAN1〜LAN4)に分割されている。 FIG. 6 shows a network configuration of a certain company. A TCP / IP network, which is a physical network, is divided into four LAN segments (LAN1 to LAN4) by routers 12 (# 1 to # 3).
初期状態では、ネットワーク仮想化装置21(#1〜#4)が、それぞれ、LAN1〜4に配置されており、LAN1上のネットワーク仮想化装置21(#1)がホスト17(#1〜#9)の全てを収容している。この状態で、ネットワーク仮想化装置21(#1)の仮想ハブ18(#1)は、仮想イーサネットポート187間のトラフィック情報に基づき、ホスト17(#2〜#6)及び、ホスト17(#7,#8)を移動すべきできあると判断する。
In the initial state, the network virtualization apparatuses 21 (# 1 to # 4) are arranged in the
さらに、コストベースでの分割・移動先判定(ネットワーク仮想化装置21(#1),ネットワーク仮想化装置21(#3),ネットワーク仮想化装置21(#4)とホスト17(#2〜#8)間のラウンドトリップタイム計測値)に基づき、最終的に、ホスト17(#2〜#6)をネットワーク仮想化装置21(#3)に、ホスト17(#7,#8)をネットワーク仮想化装置21(#4)に移動すべきであると判断する。 Further, split / destination determination based on cost (network virtualization apparatus 21 (# 1), network virtualization apparatus 21 (# 3), network virtualization apparatus 21 (# 4) and host 17 (# 2 to # 8) ) Finally rounds the host 17 (# 2 to # 6) to the network virtualization device 21 (# 3) and the host 17 (# 7, # 8) to network virtualization It is determined that the device 21 (# 4) should be moved.
そこで、ネットワーク仮想化装置21(#3,#4)上での仮想ハブ18の有無、仮想ハブ作成、ホスト17の受け入れ可否、分割か移動か、などの判断ののち、分割と判断して処理をした状態が図7である。結果的に、ホスト17(#2〜#6)のトラフィックはLAN3内に、ホスト17(#7,#8)のトラフィックはLAN4内に、局所化される。
Therefore, after determining whether or not there is a
一方、移動であると判断すると、ホスト17(#2〜#8)だけでなく、ホスト17(#1,#9)ともネットワーク仮想化装置21(#3)上の仮想ハブ18(#3)、又はネットワーク仮想化装置21(#4)上の仮想ハブ18(#4)へ移動し、更に、仮想ハブ18(#2)と仮想ハブ18(#3)、仮想ハブ18(#2)と仮想ハブ18(#4)との接続を仮想ハブ18(#3)と仮想ハブ18(#4)の接続に変更後、ネットワーク仮想化装置21(#1)上の仮想ハブ18(#1)は、自らを終了し、その結果、図8のような状態となる。 On the other hand, if it is determined to be a migration, not only the host 17 (# 2 to # 8) but also the host 17 (# 1, # 9) is the virtual hub 18 (# 3) on the network virtualization apparatus 21 (# 3). Or move to the virtual hub 18 (# 4) on the network virtualization apparatus 21 (# 4), and further, the virtual hub 18 (# 2), the virtual hub 18 (# 3), and the virtual hub 18 (# 2) After changing the connection with the virtual hub 18 (# 4) to the connection between the virtual hub 18 (# 3) and the virtual hub 18 (# 4), the virtual hub 18 (# 1) on the network virtualization apparatus 21 (# 1) Terminates itself, and as a result, the state shown in FIG. 8 is obtained.
(仮想ハブ分割・移動処理の具体例2)
アンダーレイネットワーク及び、仮想ネットワーク10を構成するネットワーク仮想化装置21、仮想ハブ18、ホスト17が、図9のような状態の場合に関し、仮想ハブの分割・移動処理の詳細を記す。本例はトポロジドリブンによる分割・移動処理開始の例である。
(Specific example 2 of virtual hub division / movement processing)
Details of the virtual hub dividing / moving process will be described in the case where the
図9は、ある企業のネットワーク構成であり、構成、初期状態は前述の図6と同様である。この状態で、ネットワーク仮想化装置21(#1)の仮想ハブ18(#1)は、物理ネットワーク11(#1〜#4)(LAN1〜4)のフォワーディング情報(次ホップ情報)に基づき、ホスト17(#2〜#8)を移動すべきできあると判断する。更に、トポロジベースでの分割・移動先判定に基づき、ネットワーク仮想化装置21(#2)が上記ホスト17と同一次ホップに属すことが判るため、最終的に上記ホスト17をネットワーク仮想化装置21(#2)に移動すべきであると判断する。
FIG. 9 shows a network configuration of a certain company, and the configuration and initial state are the same as those in FIG. In this state, the virtual hub 18 (# 1) of the network virtualization apparatus 21 (# 1) is based on the forwarding information (next hop information) of the physical network 11 (# 1 to # 4) (LAN1 to 4). It is determined that 17 (# 2 to # 8) should be moved. Furthermore, since it is known that the network virtualization apparatus 21 (# 2) belongs to the same next hop as the
そこで、ネットワーク仮想化装置21(#2)上での仮想ハブ18(#2)の有無、仮想ハブ作成、ホスト17の受け入れ可否、分割か移動か、などの判断の後、分割と判断して処理をした状態が図10である。結果的に、ホスト17(#2〜#8)のトラフィックがLAN2〜4に局所化され、LAN1に流入することが無くなった。一方、移動であると判断すると、ホスト17(#2〜#8)だけでなく、ホスト17(#1,#9)ともネットワーク仮想化装置21(#2)上の仮想ハブ18(#2)へ移動し、ネットワーク仮想化装置21(#1)上の仮想ハブ18(#1)は自らを終了し、その結果、図11のような状態となる。
Therefore, after determining whether or not there is a virtual hub 18 (# 2) on the network virtualization apparatus 21 (# 2), creating a virtual hub, accepting the
さらに、図11の状態で、ネットワーク仮想化装置21(#2)が、物理ネットワーク(LAN)のIPのネットワークアドレス情報に基づき、ホスト17(#2〜#6)をネットワーク仮想化装置21(#3)へ、ホスト17(#7,#8)をネットワーク仮想化装置21(#4)へ、移動すべきであると判断する。そこで、上記と同様、ネットワーク仮想化装置21(#3,#4)上での仮想ハブ18(#3,#4)の有無、仮想ハブ作成、ホスト17の受け入れ可否、分割か移動か、などの判断ののち、分割と判断して処理をした状態が図12である。結果的に、ホスト17(#2〜#6)のトラフィックはLAN3内に、ホスト17(#7,#8)のトラフィックはLAN4内に局所化される。
Further, in the state of FIG. 11, the network virtualization apparatus 21 (# 2) connects the host 17 (# 2 to # 6) to the network virtualization apparatus 21 (#) based on the IP network address information of the physical network (LAN). 3), it is determined that the host 17 (# 7, # 8) should be moved to the network virtualization apparatus 21 (# 4). Therefore, in the same manner as described above, the presence / absence of the virtual hub 18 (# 3, # 4) on the network virtualization apparatus 21 (# 3, # 4), creation of the virtual hub, acceptability of the
[各機能モジュールの実装例]
本実施の形態の特徴的な部分である仮想ハブ18の分割、移動の機能は、仮想イーサネットコネクションA、仮想ネットワークインタフェース19、仮想ハブ18の実装方法に依存しないが、参考のため、これらの機能モジュールの、一般的なUNIXにおけるいくつかの実装方法を以下に述べる。
[Example of implementation of each function module]
The function of dividing and moving the
(仮想ネットワークインタフェースの実装例)
仮想ネットワークインタフェース1300,1400の実装例として、仮想イーサネットコネクションAの実現方法に着目した、一般的なUNIXにおける実装方法を図13,図14に示す。
(Virtual network interface implementation example)
As an implementation example of the
1.IPトンネリングの仕組みを利用した実装方法
図13は、一般的なIPトンネリングの仕組みを利用したものであり、仮想ネットワークインタフェース層1308はOSのカーネル1302の内部に実装される。ユーザプロセス1301内には、例えばシステム制御モジュール201である制御アプリケーションプログラム1303、及びその他のアプリケーションプログラム1304が存在する。仮想ネットワークインタフェース層1308は、上位層であるイーサネット層1307からは単なるネットワークインタフェースとして見えるが、一方、下位層であるIP(アウターIP)層1309からは、TCP/UDP層1305と同様のトランスポート層として見える。本実装方法では、仮想イーサネットコネクションAはホスト17と仮想ハブ18間のIPトンネルとなる。
1. Implementation method using IP tunneling mechanism
FIG. 13 uses a general IP tunneling mechanism, and the virtual
2.トンネルインタフェースの仕組みを利用した実装方法
図14(a)及び図14(b)は、一般的なトンネルインタフェースの仕組みを利用したものであり、仮想ネットワークインタフェースプログラム1403はユーザプロセス1401として実装される。OSのカーネル1402内の通信プロトコルとのデータのやりとりは、トンネルインタフェース1411を介して行なう。
2. Implementation method using tunnel interface mechanism
FIGS. 14A and 14B utilize a general tunnel interface mechanism, and the virtual
図14(a)は、トンネルインタフェース1411がIPデータグラムを処理する(ユーザランドのプログラムとIPデータグラムをやりとりする)タイプである。この場合、ユーザプロセス1401には、仮想ネットワークインタフェースプログラム1403の他に、制御アプリケーションプログラム1404、イーサネット層1405、必要に応じてHTTP1406、アプリケーションプログラム1407が実装される。一方、カーネル1402には、TCP/UDP層1409、IP層1410、トンネルインタフェース1411、イーサネット層1412、及び物理ネットワークインタフェース1413が実装される。
FIG. 14A shows a type in which the
図14(b)は、トンネルインタフェース1411がイーサネットフレームを処理する(ユーザランドのプログラムとイーサネットフレームをやりとりする)タイプである。この場合、ユーザプロセス1401には、仮想ネットワークインタフェースプログラム1403の他に、制御アプリケーションプログラム1404、必要に応じてHTTP1406、アプリケーションプログラム1407が実装される。一方、カーネル1402には、TCP/UDP層1409、IP層1410、トンネルインタフェース1411、イーサネット層1412、及び物理ネットワークインタフェース層1413が実装される。
FIG. 14B shows a type in which the
なお、図13に示すIPトンネリングの仕組みを利用した方法、および図14(b)に示す方法では、UNIXのOS内の既存のイーサネット層1307,1310,1412が、物理ネットワークインタフェース層1311,1413、仮想ネットワークインタフェース1308,1403双方の上位層として使用可能であるが、図14(a)に示す方法では、仮想ネットワークインタフェースプログラム1403の上位に位置するイーサネット層1405の処理を、ユーザプログラムである仮想ネットワークインタフェースプログラム1403の中に実装する必要があり、実装はより複雑になり得る。本実装方法では、仮想イーサネットコネクションAはホスト17と仮想ハブ18間のソケット(TCPソケット、UDPソケット、或いはRaw IPソケットなど)となる。
In the method using the IP tunneling mechanism shown in FIG. 13 and the method shown in FIG. 14B, the existing
(仮想ネットワークインタフェースの処理フロー)
以下に、上記2つの実装例について、それぞれ処理内容を記す。
(Processing flow of virtual network interface)
The processing contents are described below for the above two implementation examples.
1.IPトンネリングの仕組みを利用した実装方法
IPトンネリングで構成されるホスト17と仮想ハブ18間の仮想イーサネットコネクションAを使用し、仮想ネットワーク10のイーサネットフレームの送受信を行なう。
1. Implementation method using IP tunneling mechanism
A virtual Ethernet connection A between the
・仮想ネットワーク上の他ホストへの送信
(a)ホスト(以後、送信元ホスト)17上のアプリケーションプログラム1304は、宛先ホストへデータを送信しようとする。
(b)アプリケーションプログラム1304からの送信データを受け取ったTCP/UDP層1305、及びIP(インナーIP)層1306は、仮想イーサネットコネクションA上での宛先ホストのIPアドレスを元に、出力ネットワークインタフェースとして仮想ネットワークインタフェース19を選択し、IPパケットをイーサネット層1307に渡す。
・ Send to other host on virtual network
(A) The
(B) The TCP /
(c)IP(インナーIP)層1306からIPパケットを受け取ったイーサネット層1307は、IPパケットをイーサネットフレームに格納し、それを仮想ネットワークインタフェース層1308に渡す。
(C) Upon receiving the IP packet from the IP (inner IP)
(d)イーサネット層からイーサネットフレームを受け取った仮想ネットワークインタフェース層1308は、送信元ホスト17が接続している仮想ハブ18のIPアドレスをパラメータとして、該当イーサネットフレームをIP(アウターIP)層1309へ渡す。この時、IPヘッダのプロトコルフィールドに、自身を識別するための値を設定する。
(D) Upon receiving the Ethernet frame from the Ethernet layer, the virtual
(e)IP(アウターIP)層1309以下のプロトコルスタックは、通常の処理を行ない、該当データを仮想ハブ18へ送信する。
(E) The protocol stack below the IP (outer IP)
・仮想ネットワーク上の他ホストからの受信
(a)物理ネットワークインタフェース層1311、その上位のイーサネット層1310の処理は一般的なものにより、ここでは、その詳細説明を割愛する。
(b)イーサネット層1310からイーサネットフレームを受け取ったIP(アウターIP)層1309は、IPヘッダのプロトコルフィールドを元に、該当IPパケットが仮想ネットワークインタフェース層1308宛(IP(アウターIP)層1309から見ると、仮想ネットワークインタフェース層1308は単なる一トランスポート層に見える)であると判断し、それを仮想ネットワークインタフェース層1308へ渡す。
(c)IP(アウターIP)層1309からIPパケットを受け取った仮想ネットワークインタフェース層1308は、該当IPパケットからイーサネットフレームを取り出し、それを上位層であるイーサネット層1307へ渡す。
(d)以降、イーサネット層1307以上のプロトコルは、通常の処理を行ない、該当データをアプリケーションプログラムへ渡す。
・ Reception from other hosts on the virtual network
(A) Since the processing of the physical
(B) The IP (outer IP)
(C) Upon receiving the IP packet from the IP (outer IP)
(D) Thereafter, the protocol of the
2.トンネルインタフェースの仕組み(その1:図14(a))を利用した実装方法
TCPソケット、UDPソケット、或いはRaw IPソケットなどで構成されるホスト17と仮想ハブ18間の仮想イーサネットコネクションAを使用し、仮想ネットワークのイーサネットフレームの送受信を行なう。
2. Implementation method using tunnel interface mechanism (part 1: Fig. 14 (a))
A virtual Ethernet connection A between the
・仮想ネットワーク上の他ホストへの送信
(a)ホスト(以後、送信元ホスト)上のアプリケーションプログラム1407は、宛先ホストへデータを送信しようとする。
(b)アプリケーションプログラム1407からの送信データを受け取ったTCP/UDP層1409、及びIP層1410は、仮想イーサネット上での宛先ホストのIPアドレスを元に、出力ネットワークインタフェースとしてトンネルインタフェースを選択し、IPパケットをトンネルインタフェース1411に渡す。
(c)IP1410層からIPパケットを受け取ったトンネルインタフェース1411は、IPパケットを、readシステムコール経由でユーザランドの仮想ネットワークインタフェースプログラム1403に渡す。
(d)トンネルインタフェース1411からIPパケットを受け取った仮想ネットワークインタフェースプログラム1403は、送信元ホストが接続している仮想ハブのIPアドレスをパラメータとして生成されたソケットに対し、該当IPパケットをイーサネットフレームに格納して書き込む。
(e)以下のプロトコルスタックは、通常の処理を行ない、該当データを仮想ハブ18へ送信する。
・ Send to other host on virtual network
(A) The
(B) The TCP /
(C) Upon receiving the IP packet from the
(D) Upon receiving the IP packet from the
(E) The following protocol stack performs normal processing and transmits the corresponding data to the
・仮想ネットワーク上の他ホストからの受信
(a)物理ネットワークインタフェース層1413から上位のTCP/UDP層1409の処理は一般的なものにより、ここではその詳細説明を割愛する。
(b)仮想ハブ18とのソケットからデータ(イーサネットフレーム)を受け取った仮想ネットワークインタフェースプログラム1403は、イーサネットフレームからIPパケットを取り出し、writeシステムコール経由でトンネルインタフェース1411へ該当IPパケットを渡す。
(c)仮想ネットワークインタフェースプログラム1403からIPパケットを受け取ったトンネルインタフェース1411は、該当IPパケットを上位層であるIP層1410へ渡す。
(d)以降、IP層1410以上のプロトコルは、通常の処理を行ない、該当データをアプリケーションプログラム1407へ渡す。
・ Reception from other hosts on the virtual network
(A) Since the processing from the physical
(B) The virtual
(C) Upon receiving the IP packet from the virtual
(D) Thereafter, the protocol of the
3.トンネルインタフェースの仕組み(その2:図14(b))を利用した実装方法
TCPソケット、UDPソケット、或いはRaw IPソケットなどで構成されるホストと仮想ハブ間の仮想ネットワークコネクションを使用し、仮想ネットワークのイーサネットフレームの送受信を行なう。
3. Mounting method using tunnel interface mechanism (part 2: Fig. 14 (b))
A virtual network connection between a host and a virtual hub configured by a TCP socket, a UDP socket, or a Raw IP socket is used to transmit and receive an Ethernet frame of the virtual network.
・仮想ネットワーク上の他ホストへの送信
(a)ホスト(以後、送信元ホスト)上のアプリケーションプログラム1407は、宛先ホストへデータを送信しようとする。
(b)アプリケーションプログラム1407からの送信データを受け取ったTCP/UDP層1409、IP層1410、及びイーサネット層1412は、仮想イーサネット上での宛先ホストのIPアドレスを元に、出力ネットワークインタフェースとしてトンネルインタフェース1411を選択し、イーサネットフレームをトンネルインタフェース1411に渡す。
(c)イーサネット層1412からイーサネットフレームを受け取ったトンネルインタフェース1411は、イーサネットフレームを、readシステムコール経由でユーザランドの仮想ネットワークインタフェースプログラム1403に渡す。
(d)トンネルインタフェース1411からイーサネットフレームを受け取った仮想ネットワークインタフェースプログラム1403は、送信元ホストが接続している仮想ハブのIPアドレスをパラメータとして生成されたソケットに対し、該当イーサネットフレームを書き込む。
(e)以下のプロトコルスタックは、通常の処理を行ない、該当データを仮想ハブへ送信する。
・ Send to other host on virtual network
(A) The
(B) The TCP /
(C) The
(D) The virtual
(E) The following protocol stack performs normal processing and transmits the corresponding data to the virtual hub.
・仮想ネットワーク上の他ホストからの受信
(a)物理ネットワークインタフェース層1413から上位のTCP/UDP層1409の処理は一般的なものにより、ここではその詳細説明を割愛する。
(b)仮想ハブとのソケットからデータ(イーサネットフレーム)を受け取った仮想ネットワークインタフェースプログラム1403は、writeシステムコール経由でトンネルインタフェース1411へ該当イーサネットフレームを渡す。
(c)仮想ネットワークインタフェースプログラム1403からイーサネットフレームを受け取ったトンネルインタフェース1411は、該当イーサネットフレームを上位層であるイーサネット層1412へ渡す。
(d)以降、イーサネット層1412以上のプロトコルは、通常の処理を行ない、該当データをアプリケーションプログラム1407へ渡す。
・ Reception from other hosts on the virtual network
(A) Since the processing from the physical
(B) The virtual
(C) The
(D) Thereafter, the protocol of the
(仮想ハブの実装例)
以下、仮想ハブの実装例について説明するが、先ず、ネットワーク仮想化装置の概念的なプロトコルスタック1500を図15に示す。この図から以下のようなことが言える。すなわち、仮想ハブ1503〜1505は、様々なプロトコル上で動作させることが可能である。一例として、図15において一番左側に示す仮想ハブ1503では、HTTPなどのより上位層プロトコル1506上で動作し、一番右側の仮想ハブ1505では、IP層1508及びイーサネット層1509のすぐ上位で動作する。後者は、例えば、仮想ネットワークインタフェース未対応ホスト20を収容する場合に使用する。図15に示す仮想ハブのうち、真ん中の仮想ハブ1504では、HTTP/他プロトコル1506、TCP/UDP層1507、及びIP層1508のすぐ上位で動作する。また、これら仮想ハブ1503〜1505より上位に、仮想NAP(NAPT)1502、或いは仮想ルータ1501などの機能を搭載することにより、仮想ネットワークの実現だけでなく、本実施の形態の特徴を持つ様々な仮想ネットワークを構築することが可能となる。
(Virtual hub implementation example)
Hereinafter, an implementation example of a virtual hub will be described. First, a
次に、仮想ハブ1600,1700,1800の実装例として、仮想イーサネットポート制御モジュール、仮想イーサネットスイッチモジュールの実装場所に着目した、一般的なUNIXにおける実装方法を図16乃至図18に示す。
Next, as a mounting example of the
第1の方法は、図16に示すように、仮想イーサネットポート制御モジュール1605、仮想イーサネットスイッチモジュール1601ともにOSのカーネル内に実装する方法である。この方法では、IP層1606の上位に仮想イーサネットポート制御モジュール1605が位置し、仮想イーサネットスイッチモジュール1601は仮想イーサネットポート制御モジュール1605の上位に位置するか、或いはカーネルスレッドなどにより実装される。なお、仮想イーサネットポート制御モジュール1605、仮想イーサネットスイッチモジュール1601ともにOSのカーネル1610内に実装されているため、これらは受信キュー1602や関数コール1604によりデータの受渡しを行なう。エンキュー1603は、受信キュー1602にデータを格納する処理である。なお、イーサネット層1607、ネットワークインタフェース1608は一般的なものであるので、ここでは説明を省略する。
In the first method, as shown in FIG. 16, both the virtual Ethernet
第2の方法は、図17に示すように、仮想イーサネットポート制御モジュール1705をOSのカーネル1702内に、仮想イーサネットスイッチモジュール1703をユーザプロセス1701として実装する方法である。この方法では、仮想イーサネットポート制御モジュール1705は上記と同様、IP層1706の上位に位置し、仮想イーサネットスイッチモジュール1703はユーザプロセス1701として実装される。仮想イーサネットスイッチモジュール1703はユーザプロセス1701として実装されるため、これらはデータリンク層のデータを直接やりとりできるリンクソケット等の特別なソケット1704を介してデータの受渡しを行なう。なお、イーサネット層1707、ネットワークインタフェース1708は一般的なものであるので、ここでは説明を省略する。
As shown in FIG. 17, the second method is a method in which the virtual Ethernet
第3の方法は、図18に示すように、仮想イーサネットポート制御モジュール1805、仮想イーサネットスイッチモジュール1803ともにユーザプロセス1801として実装する方法である。この方法では、仮想イーサネットポート制御モジュール1805とカーネル1802のTCP/IP層1807とは、TCP/UDPソケット1811やRaw IPソケット1812のような通常のTCP/IPソケットを介してデータの受渡しを行う。なお、仮想イーサネットポート制御モジュール1805、仮想イーサネットスイッチモジュール1803ともにユーザプロセス1801として実装されているため、これらは関数コール、或いはプロセス間通信1804によりデータの受渡しを行なう。なお、イーサネット層1809、ネットワークインタフェース層1810は一般的なものであるのでここでは説明は省略する。
The third method is a method in which both the virtual Ethernet
前記第1及び第2の実装方法は、トランスポート層(TCPなど)の存在を前提としていないため、ホスト側の仮想ネットワークインタフェースがIPトンネリングを利用した方法の場合に採用できる方法である。 The first and second mounting methods are methods that can be employed when the virtual network interface on the host side uses IP tunneling because it does not assume the presence of a transport layer (such as TCP).
逆に、第3の実装方法は、トランスポート層の存在を前提としているため、ホスト側の仮想ネットワークインタフェースがトンネルインタフェースを利用した方法の場合に採用することが望ましい。 Conversely, since the third mounting method is premised on the existence of a transport layer, it is desirable to adopt the method when the virtual network interface on the host side uses a tunnel interface.
(仮想ハブのデータ送受信処理フロー)
上述の通り、前記3つの実装例において仮想イーサネットポート制御モジュールと仮想イーサネットスイッチモジュールの実装場所、及びそれによるデータの受渡し方法は異なるが、仮想イーサネットポート制御モジュールによるイーサネットフレーム送受信処理、仮想イーサネットスイッチモジュールによるイーサネットフレームのスイッチング処理に関しては一般的なものにより、ここではその詳細説明を省略する。
(Virtual hub data transmission / reception processing flow)
As described above, the mounting locations of the virtual Ethernet port control module and the virtual Ethernet switch module and the data delivery method using the virtual Ethernet port control module are different in the three mounting examples, but the Ethernet frame transmission / reception processing by the virtual Ethernet port control module, the virtual Ethernet switch module Since the switching process of the Ethernet frame is general, the detailed description thereof is omitted here.
上述したように、本発明の実施の形態に係るネットワーク仮想化装置においては、上記のような作用により、仮想ネットワークに属する仮想ハブが、物理ネットワークのトポロジを考慮した上で、仮想ハブの自律的な分割及び移動を行なうことができる。以上により、物理ネットワークの観点から、仮想ネットワークに属するホスト間のトラフィックの最適化、局所化を実現することが可能となる。その結果、物理ネットワークへの負荷が軽減され、端末間のデータ送受信時間が短縮され、設備投資を抑制することが可能となる。 As described above, in the network virtualization apparatus according to the embodiment of the present invention, the virtual hub belonging to the virtual network is autonomous of the virtual hub in consideration of the topology of the physical network. Can be divided and moved. As described above, it is possible to realize optimization and localization of traffic between hosts belonging to a virtual network from the viewpoint of a physical network. As a result, the load on the physical network is reduced, the data transmission / reception time between terminals is shortened, and the capital investment can be suppressed.
また、仮想ネットワークに属する仮想ハブが、自身に接続するホストの増減、或は、ホスト間のトラフィックの増減に動的に追従して仮想ハブの自律的な分割及び移動を行なうことができるので、性能、規模の拡張を管理者(或は利用者)を介さず実現することが可能となる。その結果、管理コストを抑制することが可能となる。 In addition, since the virtual hub belonging to the virtual network can dynamically follow the increase / decrease in the number of hosts connected to itself or the increase / decrease in traffic between the hosts, the virtual hub can be autonomously divided and moved. Performance and scale expansion can be realized without an administrator (or user). As a result, the management cost can be suppressed.
以上、本発明を実施するための最良の形態について、添付図面を参照しながら説明したが、本発明はかかる構成に限定されない。特許請求の範囲の発明された技術的思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の技術的範囲に属するものと了解される。 The best mode for carrying out the present invention has been described above with reference to the accompanying drawings, but the present invention is not limited to such a configuration. Within the scope of the invented technical idea of the scope of claims, a person skilled in the art can conceive of various changes and modifications. The technical scope of the present invention is also applicable to these changes and modifications. It is understood that it belongs to.
(応用技術分野)
仮想ハブの自律分割・移動によるトラフィックの局所化、最適化以外に、以下のような応用例が考えられる。
(Applied technology field)
In addition to traffic localization and optimization by autonomous division and movement of virtual hubs, the following application examples are possible.
・ネットワークデザイン不要の仮想ネットワーク構築
例えば、新規に仮想ネットワークを作成する場合、ネットワーク管理者は、単に、あるネットワーク仮想化装置21上に仮想ハブ18を1つ作成し、その情報であるIPアドレスなどを、その仮想イーサネットに参加を希望するホスト17に通知するだけでよい。あとは、上記仮想ハブ18が、ホスト17間のトラフィックや物理ネットワーク11でのトポロジを考慮して、自律的に分割、移動することで、最適なネットワーク構成を構築する。
・ Virtual network construction without network design
For example, when creating a new virtual network, the network administrator simply creates one
・不正トラフィックの局所化、封じ込め
例えば、IDS(Intrusion Detection System)やウィルスチェックプログラムなどのセキュリティシステムと連携することにより、トラフィック量、トラフィック内容に基づき、特定のホストを物理ネットワーク11上の特定のエリアに局所化することで、セキュリティの脅威を最小限に押えることが可能である。
・ Localization and containment of unauthorized traffic
For example, by coordinating with a security system such as IDS (Intrusion Detection System) or a virus check program, a specific host is localized in a specific area on the
A…仮想ネットワークコネクション、1〜4…LAN、10…仮想ネットワーク、11…物理ネットワーク、12…ルータ、13…ファイアウォール、14…イーサネットスイッチングハブ、15…内部ネットワーク、16…外部ネットワーク、17…ホスト、18…仮想ハブ、19…仮想ネットワークインタフェース、20…仮想ネットワークインタフェース未対応ホスト、21…ネットワーク仮想化装置、23…物理ネットワークインタフェース、24…仮想ネットワークインタフェース制御モジュール、181…仮想ハブ制御モジュール、182…MACアドレス学習テーブル、183…ホスト情報テーブル、183a…MACアドレス、183b…仮想ネットワークポート識別子、183c…ラウンドトリップタイム、183d…ホップ数、183e…フォワーディング情報、183f…ネットマスク情報、184…ポート間トラフィックテーブル、185…仮想イーサネットスイッチモジュール、186…仮想イーサネットポート制御モジュール、187…仮想ネットワークポート、201…システム制御モジュール、202…システム情報テーブル、301…ネットワーク仮想化装置情報、302…ネットマスク情報、305…システム負荷情報、306…CPU利用率、307…メモリ利用率、308…総トラフィック、309…トラフィック、310…仮想ハブ情報、311…収容ホスト数、312…各ホスト間とのコスト、312a…ホスト、312b…ラウンドトリップタイム、313c…ホップ数、1300…仮想ネットワークインタフェース、1301…ユーザプロセス、1302…カーネル、1303…制御アプリケーションプログラム、1304…アプリケーションプログラム、1305…TCP/UDP層、1306…IP(インナーIP)層、1307…イーサネット層、1308…仮想ネットワークインタフェース層、1309…IP(インナーIP)層、1310…イーサネット層、1311…物理ネットワークインタフェース層、1400…仮想ネットワークインタフェース、1401…ユーザプロセス、1402…カーネル、1403…仮想ネットワークインタフェースプログラム、1404…制御アプリケーションプログラム、1405…イーサネット層、1406…HTTP、1407…アプリケーションプログラム、1409…TCP/UDP層、1410…IP層、1411…トンネルインタフェース、1412…イーサネット層、1413…物理ネットワークインタフェース層、1500…プロトコルスタック、1501…仮想ルータ、1502…仮想NAP、1503〜1505…仮想ハブ、1506…HTTP/他プロトコル、1507…TCP/UDP層、1508…IP層、1509…イーサネット層、1600…仮想ハブ、1601…仮想イーサネットスイッチモジュール、1602…受信キュー、1603…エンキュー、1604…関数コール、1605…仮想イーサネットポート制御モジュール、1606…IP層、1607…イーサネット層、1608…ネットワークインタフェース、1610…カーネル、1700…仮想ハブ、1701…ユーザプロセス、1702…カーネル、1703…仮想イーサネットスイッチモジュール、1704…ソケット、1705…仮想イーサネットポート制御モジュール、1706…IP層、1707…イーサネット層、1800…仮想ハブ、1801…ユーザプロセス、1802…カーネル、1803…仮想イーサネットスイッチモジュール、1804…プロセス間通信、1805…仮想イーサネットポート制御モジュール、1807…TCP/IP層、1809…イーサネット層、1810…ネットワークインタフェース層、1811…TCP/UDPソケット、1812…Raw IPソケット、1900…アンダーレイネットワーク、1901…仮想ネットワーク、1902…ルータ、1903…ファイアウォール、1904…内部ネットワーク、1905…外部ネットワーク、1906…ホスト、1907…仮想ハブ、1908…仮想ネットワークインタフェース、1909…コンピュータ
A ... Virtual network connection, 1-4 ... LAN, 10 ... Virtual network, 11 ... Physical network, 12 ... Router, 13 ... Firewall, 14 ... Ethernet switching hub, 15 ... Internal network, 16 ... External network, 17 ... Host, DESCRIPTION OF
Claims (10)
前記構築された仮想ネットワークに対する前記各端末の接続を管理するデータ交換ノードを備え、前記データ交換ノードは更に、
前記各端末それぞれに対して予め割り当てられ、前記物理ネットワーク上において前記各端末をそれぞれ特定するための物理ネットワークアドレスが指定されると、前記指定された物理ネットワークアドレスによって特定された端末との前記物理ネットワークを介したコネクションを確立し、保持する手段と、
前記コネクションと、前記仮想ネットワーク上において前記各端末をそれぞれ特定するための仮想ネットワークアドレスとのマッピング情報を記憶する手段と、
他ネットワーク仮想化装置に含まれる他データ交換ノードとの前記物理ネットワークを介したコネクションを確立し、保持する手段と、
前記仮想ネットワークアドレスが指定されると、前記マッピング情報に基づいて、前記指定された仮想ネットワークアドレスにマップされたコネクションを特定し、この特定されたコネクションによって接続された端末と、前記仮想ネットワークを介して通信する手段と、
予め定めた解除基準を超えた場合には、保持している前記物理ネットワークを介したコネクションのうちの何れかを解除し、前記解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる手段と
を備えたネットワーク仮想化装置。 A network virtualization apparatus that is constructed in advance and virtually constructs a network by software on a plurality of physical networks to which one or more terminals are connected,
A data exchange node for managing the connection of each terminal to the constructed virtual network, the data exchange node further comprising:
The pre-assigned to each respective terminal, if the physical network address for identifying the respective terminal respectively on said physical network is specified, the physical and terminal identified by the specified physical network addresses Means for establishing and maintaining a connection over the network;
Means for storing mapping information between the connection and a virtual network address for identifying each terminal on the virtual network;
Means for establishing and maintaining a connection through the physical network with another data exchange node included in another network virtualization apparatus;
When the virtual network address is specified, a connection mapped to the specified virtual network address is specified based on the mapping information, and a terminal connected by the specified connection is connected to the virtual network via the virtual network. Means for communicating with
When a predetermined release criterion is exceeded, release one of the connections through the physical network that is held, and release the released connection to another data exchange node included in another network virtualization apparatus A network virtualization apparatus.
前記保持している物理ネットワークを介したコネクションのうち、単位時間当たりのトラフィック量が、予め定めた量を超えた場合、
同一の物理ネットワークに属する端末の数が、予め定めた数を超えた場合、
前記データ交換ノードの負荷が、予め定めた基準値を超えた場合
のうちの何れかの場合である請求項1に記載のネットワーク仮想化装置。 When exceeding the predetermined release criteria,
Of the connections through the physical network that is held, if the traffic volume per unit time exceeds a predetermined amount,
If the number of terminals belonging to the same physical network exceeds a predetermined number,
The network virtualization apparatus according to claim 1, wherein the network virtualization apparatus is any one of cases where a load of the data exchange node exceeds a predetermined reference value.
前記他ネットワーク仮想化装置が複数存在する場合、前記解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる手段は更に、前記複数存在する他ネットワーク仮想化装置のうち、前記保持させる他データ交換ノードを含む他ネットワーク仮想化装置を、予め定めた選択基準に基づいて選択する手段を備え、
前記予め定めた選択基準とは、
前記他データ交換ノードが、前記解除されたコネクションを保持した場合、前記解除されたコネクションによって接続された端末との間のデータ転送コストが最小になるようなデータ交換ノードを含むネットワーク仮想化装置を選択するか、又は、前記解除されたコネクションによって接続された端末との前記物理ネットワークにおける距離が最小になるようなネットワーク仮想化装置を選択する
請求項1又は請求項2に記載のネットワーク仮想化装置。 The data exchange node further includes:
In the case where there are a plurality of other network virtualization devices, the means for holding the released connection in another data exchange node included in the other network virtualization device further includes: Means for selecting another network virtualization apparatus including another data exchange node to be held based on a predetermined selection criterion;
The predetermined selection criteria are:
A network virtualization apparatus including a data exchange node that minimizes a data transfer cost with a terminal connected by the released connection when the other data exchange node holds the released connection; The network virtualization apparatus according to claim 1 or 2, wherein the network virtualization apparatus is selected or a network virtualization apparatus is selected such that a distance in the physical network with a terminal connected by the released connection is minimized. .
前記解除されたコネクションが、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持された後、前記解除されたコネクション以外のコネクションの保持を継続するか、又は前記解除されたコネクション以外のコネクションを全て解除し、これら解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させるか否かを、予め定めた判定基準に基づいて判定する手段を備え、
前記判定基準は、
前記解除されたコネクションの解除される前におけるトラフィック量の、前記データ交換ノードによって保持されていた仮想ネットワークを介した全てのコネクションによる合計トラフィック量に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第1の判定基準、
前記解除されたコネクションに接続された端末数の、解除される前に前記データ交換ノードによって保持されていた仮想ネットワークに接続されていた合計端末数に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第2の判定基準、
前記解除されたコネクションの、解除される前における負荷が、予め定めた基準値を超えている場合に全て解除し、超えていない場合に継続する第3の判定基準
のうちの何れかである請求項1乃至3のうち何れか1項に記載のネットワーク仮想化装置。 The data exchange node further includes:
After the released connection is held in another data exchange node included in another network virtualization apparatus, the connection other than the released connection is continuously held, or the connection other than the released connection is A means for determining whether to release all of the connections and to hold the released connections in another data exchange node included in another network virtualization apparatus based on a predetermined criterion;
The criterion is
When the ratio of the traffic volume before the released connection is released to the total traffic volume of all connections through the virtual network held by the data exchange node exceeds a predetermined value The first criterion to cancel and continue if not exceeded,
When the ratio of the number of terminals connected to the released connection to the total number of terminals connected to the virtual network held by the data exchange node before being released exceeds a predetermined value A second criterion that cancels all and continues if not exceeded,
Any of the third determination criteria that is released when the load before the release of the released connection exceeds a predetermined reference value and continues when the load does not exceed the predetermined reference value. Item 4. The network virtualization apparatus according to any one of Items 1 to 3.
前記予め定めた解除基準を超えた場合であっても、前記保持させる手段が解除すべきコネクションを、前記他データ交換ノードに保持させることによって、
前記他データ交換ノードを含む前記他ネットワーク仮想化装置の負荷が、予め定めた基準値を超えることになる第1の場合、
前記他データ交換ノードを含む前記他ネットワーク仮想化装置が保持する仮想化ネットワークに接続された端末の合計数、又は前記他ネットワーク仮想化装置が含む他データ交換ノード数が、予め定めた基準値を超えることになる第2の場合、
前記他データ交換ノードが保持する仮想化ネットワークに接続された端末の合計数が、予め定めた基準値を超えることになる第3の場合
のうちの何れかの場合には、前記保持させる手段に対して前記コネクションを解除させない手段を備えた請求項1乃至4のうち何れか1項に記載のネットワーク仮想化装置。 The data exchange node further includes:
Even when the predetermined release criterion is exceeded, by causing the other data exchange node to hold the connection to be held by the holding means,
In the first case where the load of the other network virtualization apparatus including the other data exchange node exceeds a predetermined reference value,
The total number of terminals connected to the virtualization network held by the other network virtualization apparatus including the other data exchange node, or the number of other data exchange nodes included in the other network virtualization apparatus is a predetermined reference value. In the second case, which will exceed
In any of the third cases where the total number of terminals connected to the virtual network held by the other data exchange node exceeds a predetermined reference value, the means for holding is used. 5. The network virtualization apparatus according to claim 1, further comprising means for preventing the connection from being released.
前記各端末それぞれに対して予め割り当てられ、前記物理ネットワーク上において前記各端末をそれぞれ特定するための物理ネットワークアドレスが指定されると、前記指定された物理ネットワークアドレスによって特定された端末との前記物理ネットワークを介したコネクションを確立し、保持する機能、
前記コネクションと、前記仮想ネットワーク上において前記各端末をそれぞれ特定するための仮想ネットワークアドレスとのマッピング情報を記憶する機能、
他ネットワーク仮想化装置に含まれる他データ交換ノードとの前記物理ネットワークを介したコネクションを確立し、保持する機能、
前記仮想ネットワークアドレスが指定されると、前記マッピング情報に基づいて、前記指定された仮想ネットワークアドレスにマップされたコネクションを特定し、この特定されたコネクションによって接続された端末と、前記仮想ネットワークを介して通信する機能、
予め定めた解除基準を超えた場合には、保持している前記物理ネットワークを介したコネクションのうちの何れかを解除し、前記解除したコネクションを、他ネットワーク仮想化装置に含まれる他データ交換ノードに保持させる機能
をコンピュータに実現させるためのプログラム。 The program applied to a data exchange node included in a network virtualization apparatus, which is constructed in advance and virtually constructs a network on a plurality of physical networks each connected with one or more terminals. ,
The pre-assigned to each respective terminal, if the physical network address for identifying the respective terminal respectively on said physical network is specified, the physical and terminal identified by the specified physical network addresses The ability to establish and maintain a connection over a network;
A function of storing mapping information between the connection and a virtual network address for identifying each terminal on the virtual network;
A function of establishing and maintaining a connection through the physical network with another data exchange node included in another network virtualization apparatus;
When the virtual network address is specified, a connection mapped to the specified virtual network address is specified based on the mapping information, and a terminal connected by the specified connection is connected to the virtual network via the virtual network. Communication function,
When a predetermined release criterion is exceeded, release one of the connections through the physical network that is held, and release the released connection to another data exchange node included in another network virtualization apparatus A program that allows a computer to implement the functions that are stored in the computer.
前記保持している物理ネットワークを介したコネクションのうち、単位時間当たりのトラフィック量が、予め定めた量を超えた場合、
同一の物理ネットワークに属する端末の数が、予め定めた数を超えた場合、
前記データ交換ノードの負荷が、予め定めた基準値を超えた場合
のうちの何れかの場合である請求項6に記載のプログラム。 When exceeding the predetermined release criteria,
Of the connections through the physical network that is held, if the traffic volume per unit time exceeds a predetermined amount,
If the number of terminals belonging to the same physical network exceeds a predetermined number,
The program according to claim 6, wherein the load of the data exchange node is one of cases where a predetermined reference value is exceeded.
前記予め定めた選択基準とは、
前記他データ交換ノードが、前記解除されたコネクションを保持した場合、前記解除されたコネクションによって接続された端末との間のデータ転送コストが最小になるようなデータ交換ノードを含むネットワーク仮想化装置を選択するか、又は、前記解除されたコネクションによって接続された端末との前記物理ネットワークにおける距離が最小になるようなネットワーク仮想化装置を選択する
請求項6又は請求項7に記載のプログラム。 When there are a plurality of other network virtualization apparatuses, the function of holding the released connection in another data exchange node included in the other network virtualization apparatus is further selected from among the plurality of other network virtualization apparatuses, The computer realizes a function of selecting another network virtualization apparatus including another data exchange node to be held based on a predetermined selection criterion,
The predetermined selection criteria are:
A network virtualization apparatus including a data exchange node that minimizes a data transfer cost with a terminal connected by the released connection when the other data exchange node holds the released connection; The program according to claim 6 or 7, which selects or selects a network virtualization apparatus that minimizes a distance in the physical network from a terminal connected by the released connection.
前記判定基準は、
前記解除されたコネクションの解除される前におけるトラフィック量の、前記データ交換ノードによって保持されていた仮想ネットワークを介した全てのコネクションによる合計トラフィック量に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第1の判定基準、
前記解除されたコネクションに接続された端末数の、解除される前に前記データ交換ノードによって保持されていた仮想ネットワークに接続されていた合計端末数に対する割合が、予め定めた値を超えた場合に全て解除し、超えない場合に継続する第2の判定基準、
前記解除されたコネクションの、解除される前における負荷が、予め定めた基準値を超えている場合に全て解除し、超えていない場合に継続する第3の判定基準
のうちの何れかである請求項6乃至8のうち何れか1項に記載のプログラム。 After the released connection is held in another data exchange node included in another network virtualization apparatus, the connection other than the released connection is continuously held, or the connection other than the released connection is Release all, let the computer further realize the function to determine whether to release these released connections to other data exchange nodes included in other network virtualization device based on a predetermined criterion,
The criterion is
When the ratio of the traffic volume before the released connection is released to the total traffic volume of all connections through the virtual network held by the data exchange node exceeds a predetermined value The first criterion to cancel and continue if not exceeded,
When the ratio of the number of terminals connected to the released connection to the total number of terminals connected to the virtual network held by the data exchange node before being released exceeds a predetermined value A second criterion that cancels all and continues if not exceeded,
Any of the third determination criteria that is released when the load before the release of the released connection exceeds a predetermined reference value and continues when the load does not exceed the predetermined reference value. Item 9. The program according to any one of Items 6 to 8.
前記他データ交換ノードを含む前記他ネットワーク仮想化装置の負荷が、予め定めた基準値を超えることになる第1の場合、
前記他データ交換ノードを含む前記他ネットワーク仮想化装置が保持する仮想化ネットワークに接続された端末の合計数、又は前記他ネットワーク仮想化装置が含む他データ交換ノード数が、予め定めた基準値を超えることになる第2の場合、
前記他データ交換ノードが保持する仮想化ネットワークに接続された端末の合計数が、予め定めた基準値を超えることになる第3の場合
のうちの何れかの場合には、前記保持させる機能に対して、前記コネクションを解除させない機能をコンピュータに実現させるための請求項6乃至9のうち何れか1項に記載のプログラム。 Even if the predetermined release criterion is exceeded, by causing the other network virtualization apparatus to hold the connection to be released by the function to be held,
In the first case where the load of the other network virtualization apparatus including the other data exchange node exceeds a predetermined reference value,
The total number of terminals connected to the virtualization network held by the other network virtualization apparatus including the other data exchange node, or the number of other data exchange nodes included in the other network virtualization apparatus is a predetermined reference value. In the second case, which will exceed
In any case of the third case where the total number of terminals connected to the virtual network held by the other data exchange node exceeds a predetermined reference value, the function to be held is used. On the other hand, the program according to any one of claims 6 to 9, which causes a computer to realize a function that does not release the connection.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006216107A JP4279300B2 (en) | 2006-08-08 | 2006-08-08 | Network virtualization apparatus and network virtualization program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006216107A JP4279300B2 (en) | 2006-08-08 | 2006-08-08 | Network virtualization apparatus and network virtualization program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008042665A JP2008042665A (en) | 2008-02-21 |
JP4279300B2 true JP4279300B2 (en) | 2009-06-17 |
Family
ID=39177183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006216107A Expired - Fee Related JP4279300B2 (en) | 2006-08-08 | 2006-08-08 | Network virtualization apparatus and network virtualization program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4279300B2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5102689B2 (en) * | 2008-04-23 | 2012-12-19 | 株式会社エヌ・ティ・ティ・ドコモ | Virtual network system and virtual network construction method |
JP4703689B2 (en) * | 2008-06-12 | 2011-06-15 | 株式会社東芝 | Network virtualization system and program |
JP4751436B2 (en) * | 2008-10-21 | 2011-08-17 | 株式会社東芝 | Communication device |
EP2356781B1 (en) | 2008-12-10 | 2018-03-14 | NEC Corporation | A method for operating at least one virtual network on a substrate network and a virtual network environment |
JP5201046B2 (en) * | 2009-03-25 | 2013-06-05 | 日本電気株式会社 | Network node, network and tunnel switching method used therefor |
US9106540B2 (en) | 2009-03-30 | 2015-08-11 | Amazon Technologies, Inc. | Providing logical networking functionality for managed computer networks |
JP5701288B2 (en) * | 2009-04-01 | 2015-04-15 | ニシラ, インコーポレイテッド | How to manage networks and networking resources |
JP5408359B2 (en) * | 2010-09-01 | 2014-02-05 | 富士通株式会社 | Management device, management program, and management method |
JP5765427B2 (en) | 2011-09-15 | 2015-08-19 | 富士通株式会社 | Virtual machine management apparatus, virtual machine movement control program, and virtual machine movement control method |
JP2014039097A (en) * | 2012-08-13 | 2014-02-27 | Nippon Telegr & Teleph Corp <Ntt> | Network configuration system, network configuration apparatus, network configuration method, and network configuration program |
CN106559451B (en) | 2015-09-29 | 2020-09-08 | 新华三技术有限公司 | User migration method and device |
-
2006
- 2006-08-08 JP JP2006216107A patent/JP4279300B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008042665A (en) | 2008-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4279300B2 (en) | Network virtualization apparatus and network virtualization program | |
US8549120B2 (en) | System and method for location based address assignment in the distribution of traffic in a virtual gateway | |
CN107181688B (en) | System and method for realizing server-side cross-domain data transmission optimization in SDN network | |
US9391886B2 (en) | Identification of the paths taken through a network of interconnected devices | |
RU2441331C2 (en) | Connecting cellular networks with multiple relay nodes using media access control sublayer network bridge | |
US20070195794A1 (en) | Virtual lan system and node device | |
EP2619953B1 (en) | A control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program | |
US9515927B2 (en) | System and method for layer 3 proxy routing | |
US20160248669A1 (en) | Systems and methods of inter data center out-bound traffic management | |
WO2013052564A2 (en) | System and methods for managing network hardware address requests with a controller | |
US11923963B2 (en) | Managing satellite devices within a branch network | |
WO2019080592A1 (en) | Method and device for sending messages | |
JP2006262193A (en) | Controller, packet transferring method, and packet processor | |
CN107547403B (en) | Message forwarding method, message assistance device, controller and host | |
JP2022044029A (en) | Data transmission method, device, and network device | |
US7796614B1 (en) | Systems and methods for message proxying | |
JP4011528B2 (en) | Network virtualization system | |
WO2019240158A1 (en) | Communication system and communication method | |
JP4490990B2 (en) | Peer-to-peer communication establishment apparatus and program | |
JP2008054214A (en) | Network virtual system and network virtual program | |
EP2553907A1 (en) | A method and network node for use in link level communication in a data communications network | |
CN108259292B (en) | Method and device for establishing tunnel | |
EP3562101A1 (en) | Bras management method, packet forwarding method, packet forwarding controller, and bras | |
JP2015062310A (en) | Topology detecting system, relay device, and program | |
EP1851913A1 (en) | Method and system for obtaining resilient communication in a network grid |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090130 |
|
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: 20090224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090311 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120319 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |