JP2010103633A - Communication control method, communication device, and communication system - Google Patents
Communication control method, communication device, and communication system Download PDFInfo
- Publication number
- JP2010103633A JP2010103633A JP2008271150A JP2008271150A JP2010103633A JP 2010103633 A JP2010103633 A JP 2010103633A JP 2008271150 A JP2008271150 A JP 2008271150A JP 2008271150 A JP2008271150 A JP 2008271150A JP 2010103633 A JP2010103633 A JP 2010103633A
- Authority
- JP
- Japan
- Prior art keywords
- counter
- predetermined
- virtual
- value
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、クライアントが中継ノードを介して通信を行うネットワークに適用される通信制御方法、通信装置、および通信システムに関する。 The present invention relates to a communication control method, a communication apparatus, and a communication system applied to a network in which a client communicates via a relay node.
アンダーレイネットワーク上に構築される主なオーバレイネットワーク(以後、「仮想ネットワーク」とも称する)としては、イーサネット(登録商標)に基づく仮想イーサネットが知られている。仮想イーサネットは、例えば以下のようにして形成する。 A virtual Ethernet based on Ethernet (registered trademark) is known as a main overlay network (hereinafter also referred to as “virtual network”) constructed on the underlay network. The virtual Ethernet is formed as follows, for example.
・ある計算機上にイーサネットスイッチングハブをエミュレートするソフトウェア(以後、「仮想ハブ」と称する)を動作させる(以後、仮想ハブを動作させる計算機を「サーバ」或いは「中継装置」と称する)。 Software that emulates an Ethernet switching hub (hereinafter referred to as “virtual hub”) is operated on a certain computer (hereinafter, the computer that operates the virtual hub is referred to as “server” or “relay device”).
・仮想イーサネットに参加を希望する計算機が、ソフトウェアにて構築された仮想的なネットワークインタフェース(以後、「仮想ネットワークインタフェース」と称する)を介して、仮想ハブに接続する(以後、仮想ネットワークインタフェースを動作させる計算機を「クライアント」と称する)。 A computer that wishes to participate in virtual Ethernet connects to a virtual hub via a virtual network interface (hereinafter referred to as a “virtual network interface”) constructed by software (hereinafter, the virtual network interface is operated). The computer to be called “client”).
・仮想ハブ−仮想ネットワークインタフェース間の接続(すなわち、サーバ−クライアント間の接続)、或いは、仮想ハブ−仮想ハブ間の接続(すなわち、サーバ−サーバ間の接続)には、例えば、現在、広く使用されているTCP/IP等のアンダーレイネットワークを用いる。 For example, currently widely used for a connection between a virtual hub and a virtual network interface (ie, a connection between a server and a client) or a connection between a virtual hub and a virtual hub (ie, a connection between a server and a server). An underlay network such as TCP / IP is used.
・仮想ハブでのスイッチング処理(送信ポート決定処理)は、受信したイーサネットフレームの宛先MACアドレスを元に行なう。 Switching processing (transmission port determination processing) at the virtual hub is performed based on the destination MAC address of the received Ethernet frame.
このような仮想イーサネットの一般的な構成を図38に示す。 A general configuration of such a virtual Ethernet is shown in FIG.
例えばTCP/IPネットワークであるアンダーレイネットワーク150は、オーバレイネットワークである仮想イーサネット154を構築する基盤となる物理ネットワークである。アンダーレイネットワーク150は、ファイアウォール156、ルータ157、リンク層の通信装置(イーサネットならばハブやスイッチングハブ)により構成される。ルータ157は、TCP/IPネットワークを構成するネットワーク層の装置であり、一般的なものであることから、ここではその詳細な説明を割愛する。また、ファイアウォール156は、内部ネットワーク160と外部ネットワーク161との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明を割愛する。
For example, the
クライアント153は、仮想イーサネット154を構成する仮想ハブ151に接続する計算機であり、仮想ネットワークインタフェース152を介して仮想ハブ151に接続する。仮想ハブ151は、このように複数のクライアント153とのコネクションを保持する中継ノードとして機能する。サーバ155は、このような仮想ハブ151を配置するネットワーク仮想化装置である。本明細書では、このようなネットワーク仮想化装置であるサーバ155と、ネットワーク仮想化装置によって制御される端末であるクライアント153とを合わせてネットワーク仮想化システムと称する。仮想イーサネット154は、一つ又は複数の仮想ハブ151に、それぞれ仮想ネットワークインタフェース152を持った複数のクライアント153が接続することにより構築される。
上記従来技術のネットワーク、例えば仮想イーサネットは、物理的なイーサネットのインフラをソフトウェアによるエミュレートで置き換えたものであり、イーサネットセグメント構築の柔軟性において、以下のようなメリットがある。 The above-described conventional network, for example, virtual Ethernet, is obtained by replacing physical Ethernet infrastructure with software emulation, and has the following advantages in the flexibility of Ethernet segment construction.
・物理的、地理的制約を受けない
・目的別、組織別のセグメントの構築が容易
・オンデマンドでイーサネットセグメントを構築、廃棄できる
しかしながら、仮想イーサネットは、あくまで、イーサネットのエミュレーションであり、効率的なCDN(Content Delivery Network)、ネットワーク上でのリソース検索、或いは、負荷分散、冗長経路による高信頼化、などのより高付加価値な機能は有していない。
-Not subject to physical or geographical restrictions-Easy to construct segments by purpose and organization-Ethernet segments can be constructed and discarded on demand However, virtual Ethernet is an Ethernet emulation and is efficient It does not have higher value-added functions such as CDN (Content Delivery Network), resource search on the network, load distribution, and high reliability through redundant routes.
仮想イーサネットに限らず、上述したようなより高付加価値な機能を有するネットワークの実現が望まれる。 The realization of a network having a higher value-added function as described above is desired in addition to the virtual Ethernet.
本発明は上記実情に鑑みてなされたものであり、高付加価値な機能を有するネットワークを実現する通信制御方法、通信装置、および通信システムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object thereof is to provide a communication control method, a communication apparatus, and a communication system that realize a network having a high value-added function.
本発明の一態様による通信制御方法は、少なくとも1つのノードを経由して通信を行なうネットワークに適用される通信制御方法であって、各ノードの、他ノードと接続するための予め定められたポートそれぞれに、予め定められた閾値を有するカウンタを設け、予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させ、各ノードにおいて、前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行することを特徴とする。 A communication control method according to an aspect of the present invention is a communication control method applied to a network that performs communication via at least one node, and is a predetermined port for connecting each node to another node. Each is provided with a counter having a predetermined threshold, and when a predetermined trigger occurs, the counter of the corresponding port is incremented or decremented by a predetermined value. As a result of incrementing or decrementing, a predetermined action is executed when the value of the counter reaches the threshold value.
本発明によれば、高付加価値な機能を有するネットワークを実現することができる。 According to the present invention, a network having a high value-added function can be realized.
以下、図面を参照して、本発明の実施形態について説明する。各実施形態では、仮想イーサネットを例に挙げる。 Embodiments of the present invention will be described below with reference to the drawings. In each embodiment, virtual Ethernet is taken as an example.
<第1の実施形態>
まず、本発明の第1の実施形態について説明する。この第1の実施形態では、後述する第2〜第6の実施形態にも共通する基本概念について述べる。
<First Embodiment>
First, a first embodiment of the present invention will be described. In the first embodiment, a basic concept common to second to sixth embodiments described later will be described.
図1は、本発明の第1の実施形態に係る仮想ネットワークノードの基本構成の一例を示す図である。なお、この図1は、後述する第2〜第6の実施形態にも適用されるものである。 FIG. 1 is a diagram illustrating an example of a basic configuration of a virtual network node according to the first embodiment of the present invention. This FIG. 1 is also applied to second to sixth embodiments described later.
図1は、仮想イーサネットにおける仮想ハブを想定したものであるが、図中の仮想イーサネットスイッチングモジュールを上位プロトコル、例えば、イーサネット層、TCP/IP層と考えると、仮想ネットワークインタフェースを想定したものと考えることが出来るので、本実施形態は、仮想イーサネットにおける仮想ハブ、仮想ネットワークインタフェース双方に適用可能なものである。 FIG. 1 assumes a virtual hub in virtual Ethernet, but when the virtual Ethernet switching module in the figure is considered as an upper protocol, for example, an Ethernet layer or a TCP / IP layer, it is assumed that a virtual network interface is assumed. Therefore, the present embodiment can be applied to both a virtual hub and a virtual network interface in virtual Ethernet.
以後、仮想ハブ及び仮想ネットワークインタフェースを特に区別しない場合は、これらを単に仮想ネットワークノードと呼ぶ。 Hereinafter, when the virtual hub and the virtual network interface are not particularly distinguished, they are simply referred to as a virtual network node.
図1に示される仮想ハブHは、管理者又はシグナリングプロトコル10からの指示を受けるポリシー制御モジュール11、ポリシーテーブル12、ノード制御モジュール13、MACアドレステーブル20、仮想イーサネットスイッチングモジュール21、及び、複数の仮想ポートPを有する。各仮想ポートは、仮想ポート制御モジュール31、カウンタテーブル32、フィルタモジュール33、フィルタテーブル34、及び、アンダーレイネットワーク35を有する。
The virtual hub H shown in FIG. 1 includes a
以下では、これら各種のモジュール群及びテーブル群について説明する。 Hereinafter, these various module groups and table groups will be described.
・ポリシー制御モジュール11
ポリシー制御モジュール11は、ポリシーテーブル12のメンテナンス、及び、ノードが取るべきアクションの実行制御等を行ない、具体的には、以下の処理を行なう。
The
- 管理者又はシグナリングプロトコル10からの指示によるポリシーテーブル12の設定、及び、仮想ポート制御モジュール31へのカウンタテーブルエントリ設定指示の送信
- 仮想ポート制御モジュール31からのイベントの通知をトリガとした、仮想ポート制御モジュール31、或いは、ノード制御モジュール13へのアクション実行の指示送信
・ポリシーテーブル12
ポリシーテーブル12のフォーマットを図2に示す。ポリシーテーブル12は、図2に示されるように、以下の項目を有する。
-Setting of the policy table 12 according to an instruction from the administrator or the
-Action execution instruction transmission to the virtual
The format of the policy table 12 is shown in FIG. As shown in FIG. 2, the policy table 12 has the following items.
(1) 仮想ポート番号
仮想ポートPと本テーブルのエントリをバインドするものである。
(1) Virtual port number A virtual port P is bound to an entry in this table.
(2) イベント番号
上記番号で指定される仮想ポートPの仮想ポート制御モジュール31が保持するカウンタテーブル32のエントリと、本テーブルのエントリをバインドするためのものである。
(2) Event number This is for binding the entry of the counter table 32 held by the virtual
(3) アクション
仮想ポート制御モジュール31に指示する内容である。例えば、ポートの開閉、送受信データの廃棄、などである。
(3) Action The contents are instructed to the virtual
・ノード制御モジュール13
ノード制御モジュール13は、ポリシー制御モジュール11からの指示により、自ノードの移動、分割、統合等の制御を行なう。なお、ここでは詳細な説明を割愛する。詳細については、例えば特開2008−042665号公報に、仮想ハブ制御モジュールとして詳しく説明されている。
Node control module 13
The node control module 13 controls the movement, division, integration, etc. of its own node according to instructions from the
・仮想イーサネットスイッチングモジュール21
仮想イーサネットスイッチングモジュール21は、イーサネットスイッチング処理をエミュレートする部分であり、MACアドレステーブル20に基づき、仮想ポート間のデータ(イーサネットフレーム)のスイッチングを行なう。なお、ここでの処理は、一般的なものであることから、ここではその詳細な説明を割愛する。
・ Virtual Ethernet
The virtual
・仮想ポートP
仮想ポートPは、他ノードとの仮想的な通信リンクの端点であり、仮想ハブの場合は仮想イーサネットスイッチングモジュール21との、仮想ネットワークインタフェースの場合は上位プロトコルとのインタフェースを持ち、これらから受け取ったデータをアンダーレイネットワーク35を使用して他ノードへ送出し、他ノードからアンダーレイネットワーク35を使用して受け取ったデータをこれらへ渡す。
・ Virtual port P
The virtual port P is an end point of a virtual communication link with another node. The virtual port P has an interface with the virtual
上記仮想ポートPは、以下のサブモジュール、及び、テーブルを持つ。 The virtual port P has the following submodules and tables.
- 仮想ポート制御モジュール31
仮想ポート制御モジュール31は、以下の処理を行なう。
-Virtual
The virtual
* ポリシー制御モジュール11からの指示によるカウンタテーブル32の設定、及び、フィルタモジュール33へのフィルタテーブルエントリ設定指示の送信
* フィルタモジュール33からのフィルタにヒットした旨の通知をトリガとしたカウンタの増減、及び、カウンタ値が閾値に達した場合のポリシー制御モジュール11へのイベント発生の通知
* ポリシー制御モジュール11からの指示による仮想ポートPへのアクションの実行
- カウンタテーブル32
カウンタテーブル32のフォーマットを図3に示す。カウンタテーブル32は、図3に示されるように、以下の項目を有する。
* Setting of the counter table 32 according to an instruction from the
* Increase / decrease of counter triggered by notification of filter hit from
* Execution of action to virtual port P by instruction from
-Counter table 32
The format of the counter table 32 is shown in FIG. As shown in FIG. 3, the counter table 32 has the following items.
(1) イベント番号
ポリシー制御モジュール11が保持するポリシーテーブル12のエントリと、本テーブルのエントリをバインドするためのものである。
(1) Event number This is for binding the entry of the policy table 12 held by the
ポリシー制御モジュール11がアサインし、カウンタテーブル設定時、仮想ポート制御モジュール31に通知される。
The
(2) フィルタ番号
フィルタモジュール33が保持するフィルタテーブル34のエントリと、本テーブルのエントリをバインドするためのものである。
(2) Filter number This is for binding an entry in the filter table 34 held by the
仮想ポート制御モジュール31がアサインし、フィルタモジュール33に、フィルタエントリ作成時に通知する。
The virtual
(3) カウンタ
送受信されるデータが、フィルタモジュール33が保持するフィルタエントリにヒットした場合に増減される。
(3) Counter Increase / decrease when the transmitted / received data hits the filter entry held by the
ポリシー制御モジュール11の指示により、初期値が設定される。
An initial value is set by an instruction from the
(4) カウンタ閾値
上記カウンタの上閾値、或いは、下閾値であり、カウンタ値がこれらに到達した場合に、イベント発生となる。
(4) Counter threshold value An upper threshold value or a lower threshold value of the counter, and an event occurs when the counter value reaches these values.
ポリシー制御モジュール11の指示により、初期値が設定される。
An initial value is set by an instruction from the
(5) カウンタ増減値
上記カウンタが増減される時の増減値である。
(5) Counter increment / decrement value This is the increment / decrement value when the counter is incremented / decremented.
ポリシー制御モジュール11の指示により、初期値が設定される。
An initial value is set by an instruction from the
- フィルタモジュール33
フィルタモジュール33は、仮想ポート制御モジュール31からの指示によりフィルタテーブル34にフィルタエントリを作成し、保持する。送受信データがフィルタエントリにヒットした場合、その旨を仮想ポート制御モジュール31に通知する。
-
The
- フィルタテーブル34
フィルタテーブル34のフォーマットを図4に示す。フィルタテーブル34は、図4に示されるように、以下の項目を有する。
-Filter table 34
The format of the filter table 34 is shown in FIG. As shown in FIG. 4, the filter table 34 has the following items.
(1) フィルタ番号
仮想ポート制御モジュール31が保持するカウンタテーブル32のエントリと、本テーブルのエントリをバインドするためのものである。
(1) Filter number This is for binding the entry of the counter table 32 held by the virtual
仮想ポート制御モジュール31がアサインし、フィルタエントリ作成時に通知される。
The virtual
(2) フィルタパターン
フィルタエントリのフィルタパターンについては、ネットワーク処理で使用される一般的なものと同等のものを想定しているため、ここでは詳細は割愛するが、必要に応じて、以降の実施形態の中で詳述する。
(2) Filter pattern The filter pattern of the filter entry is assumed to be the same as the general one used in network processing, so the details are omitted here. This will be described in detail in the form.
(3) 方向
送信、或いは、受信を示す。
(3) Direction Indicates transmission or reception.
(4) アクション
ポリシー制御モジュール11から、仮想ポート制御モジュール31経由で指示される内容である。例えば、ポートの開閉、送受信データの廃棄、などである。
(4) Action The content is instructed from the
- アンダーレイネットワーク35
他ノードとの通信を実際に行なうプロトコルである。
-Underlay Network 35
This is a protocol for actually communicating with other nodes.
図5に、図1中に示される各種のモジュール群による一般的な処理フローを示す。 FIG. 5 shows a general processing flow by the various module groups shown in FIG.
ここでは、一例として、複数の仮想ポートPのうちのある仮想ポート2にて、送信元MACアドレスがMAC−A、宛先MACアドレスがブロードキャストアドレスであるイーサネットフレームを受信した後、同仮想ポートにて、宛先MACアドレスがMAC−Aであるイーサネットフレームが一度だけ送信される、といった処理を題材に、上記モジュール群(間)の処理詳細を以下に説明する。
Here, as an example, after receiving an Ethernet frame in which a source MAC address is MAC-A and a destination MAC address is a broadcast address at a
なお、ポリシーテーブル12、及び、それに伴うカウンタテーブル32、フィルタテーブル34の初期設定は、管理者又はシグナリングプロトコル10からの指示がトリガとなり行なわれるものであるが、これらの処理は本実施形態の主旨ではないため、詳細は割愛する。
The initial setting of the policy table 12, and the counter table 32 and the filter table 34 associated therewith is triggered by an instruction from the administrator or the
1.仮想ネットワークノードのポリシー制御モジュール11は、管理者又はシグナリングプロトコル10から、上記指示を受信すると(ステップS1)、以下の処理を行なう。
1. When the
(a) ポリシーテーブル12を図6に示すように設定する(ステップS2)。 (a) The policy table 12 is set as shown in FIG. 6 (step S2).
(b) 仮想ポート2の仮想ポート制御モジュール31に、カウンタテーブル設定要求を送信する(ステップS3)。具体的内容は以下の通りである。
(b) A counter table setting request is transmitted to the virtual
・カウンタタイプ:増減停止タイプ(上閾値に到達した場合、再びその閾値を下回るまで、それ以後の増加を停止、或いは、下閾値に到達した場合、再びその閾値を上回るまで、それ以後の減少を停止するタイプのカウンタ)
・カウンタ初期値:1
・イベント番号:100、上閾値:1、増加値:1、フィルタパターン:送信元MACアドレスMAC−A、宛先MACアドレスブロードキャスト、方向:受信
・イベント番号:101、下閾値:0、減少値:1、フィルタパターン:宛先MACアドレスMAC−A、方向:送信
2.仮想ポート2の仮想ポート制御モジュール31は、ポリシー制御モジュール11から上記カウンタテーブル設定要求を受信すると、以下の処理を行なう。
・ Counter type: Increase / decrease stop type (If the upper threshold value is reached, the subsequent increase is stopped until it falls below the threshold value again, or if the lower threshold value is reached, the subsequent decrease is made until it exceeds the threshold value again. Stop type counter)
・ Counter initial value: 1
Event number: 100, upper threshold: 1, increment value: 1, filter pattern: source MAC address MAC-A, destination MAC address broadcast, direction: reception event number: 101, lower threshold: 0, decrease value: 1 , Filter pattern: destination MAC address MAC-A, direction: transmission When receiving the counter table setting request from the
(a) カウンタテーブル32を図7に示すように設定する(ステップS4)。 (a) The counter table 32 is set as shown in FIG. 7 (step S4).
(b) フィルタモジュール33に、フィルタ設定要求を送信する(ステップS5)。具体的内容は以下の通りである。 (b) A filter setting request is transmitted to the filter module 33 (step S5). The specific contents are as follows.
・フィルタ番号:10、フィルタパターン:送信元MACアドレスMAC−A、宛先MACアドレスブロードキャスト、方向:受信、アクション:NULL
・フィルタ番号:11、フィルタパターン:宛先MACアドレスMAC−A、方向:送信、アクション:NULL
なお、アクション“NULL”とは、仮想ポートのデフォルトの動作を表す。通常は送受信データともに“PASS”、すなわち、送受信することを意味する(以降、同様)。
Filter number: 10, filter pattern: transmission source MAC address MAC-A, destination MAC address broadcast, direction: reception, action: NULL
Filter number: 11, filter pattern: destination MAC address MAC-A, direction: transmission, action: NULL
The action “NULL” represents the default operation of the virtual port. Usually, it means “PASS” for transmission / reception data, that is, transmission / reception (hereinafter the same).
3.仮想ポート2のフィルタモジュール33は、仮想ポート制御モジュール31から上記フィルタ設定要求を受信すると、以下の処理を行なう。
3. When the
(a) フィルタテーブル34を図8に示すように設定する(ステップS6)。 (a) The filter table 34 is set as shown in FIG. 8 (step S6).
4.上記状態で、該当仮想ネットワークノードが、仮想ポート2から、送信元MACアドレスがMAC−A、宛先MACアドレスがブロードキャストアドレスのイーサネットフレームを受信したとする(ステップS7)。
4). In the above state, it is assumed that the corresponding virtual network node receives an Ethernet frame from the
5.仮想ポート2のフィルタモジュール33は、上記イーサネットフレームを受信すると、以下の処理を行なう。
5. When receiving the Ethernet frame, the
(a) フィルタ番号10のフィルタエントリにヒットするので、フィルタヒット通知を仮想ポート制御モジュール31に送信する(ステップS8)。具体的内容は以下の通りである。
(a) Since the filter entry with the
・フィルタ番号:10
6.仮想ポート2の仮想ポート制御モジュール31は、フィルタモジュール33から上記フィルタヒット通知を受信すると、以下の処理を行なう。
-Filter number: 10
6). When receiving the filter hit notification from the
(a) カウンタテーブル32を検索し、フィルタ番号10のエントリが存在するが、増減停止タイプのカウンタなので、カウンタは増加させない(ステップS9)。
(a) The counter table 32 is searched and there is an entry with the
(b) その結果、カウンタ値に変化が無いため、イベントは発生しない。 (b) As a result, there is no change in the counter value, so no event occurs.
7.次に、該当仮想ネットワークノードが、仮想ポート2へ、宛先MACアドレスがMAC−Aのイーサネットフレームを送信したとする。
7). Next, it is assumed that the corresponding virtual network node transmits an Ethernet frame whose destination MAC address is MAC-A to the
8.仮想ポート2のフィルタモジュール33は、上記イーサネットフレームを送信すると、以下の処理を行なう。
8). When the
(a) フィルタ番号11のフィルタエントリにヒットするので、フィルタヒット通知を仮想ポート制御モジュール31に送信する(ステップS8)。具体的内容は以下の通り。
(a) Since the filter entry with the
・フィルタ番号:11
9.仮想ポート2の仮想ポート制御モジュール31は、フィルタモジュール33から上記フィルタヒット通知を受信すると、以下の処理を行なう。
-Filter number: 11
9. When receiving the filter hit notification from the
(a) カウンタテーブル32を検索し、フィルタ番号11のエントリが存在するので、カウンタを1だけ減少させる(ステップS9)。
(a) The counter table 32 is searched, and an entry with the
(b) その結果、カウンタ値が下閾値に達したため、ポリシー制御モジュール11にイベント通知を送信する(ステップS10)。具体的内容は以下の通りである。 (b) As a result, since the counter value has reached the lower threshold value, an event notification is transmitted to the policy control module 11 (step S10). The specific contents are as follows.
・仮想ポート番号:2
・イベント番号:101
10.ポリシー制御モジュール11は、仮想ポート2の仮想ポート制御モジュール31から上記イベント通知を受信すると、以下の処理を行なう。
-Virtual port number: 2
・ Event number: 101
10. When the
(a) ポリシーテーブル12を検索し(ステップS11)、仮想ポート番号2、イベント番号101のエントリがあるので、仮想ポート2の仮想ポート制御モジュール31にアクション要求を送信する(ステップS12)。具体的内容は以下の通りである。
(a) The policy table 12 is searched (step S11), and since there are entries of the
・仮想ポート番号:2
・イベント番号:101
・フィルタ番号:11
・アクション:DROP(イーサネットフレーム廃棄)
11.仮想ポート2の仮想ポート制御モジュール31は、ポリシー制御モジュール11から上記アクション要求を受信すると、以下の処理を行なう。
-Virtual port number: 2
・ Event number: 101
-Filter number: 11
Action: DROP (Ethernet frame discard)
11. When receiving the action request from the
(a) カウンタテーブル32を検索し、イベント番号101、フィルタ番号11のエントリが存在するので、フィルタモジュール33にフィルタ設定要求を送信する。具体的内容は以下の通りである。
(a) The counter table 32 is searched, and entries for
・フィルタ番号:11、フィルタパターン:変更無し、方向:変更無し、アクション:DROP(イーサネットフレーム廃棄)
12.以後、仮想ポート2では、再度送信元MACアドレスがMAC−A、宛先MACアドレスがブロードキャストのイーサネットフレームを受信しない限り、宛先MACアドレスがMAC−Aのイーサネットフレームは送信されないようになる。
Filter number: 11, filter pattern: no change, direction: no change, action: DROP (Ethernet frame discard)
12 Thereafter, the
13.その後、仮想ポート2で再度送信元MACアドレスがMAC−A、宛先MACアドレスがブロードキャストのイーサネットフレームを受信すると、カウンタテーブル32の該当カウンタが1だけ増加され、その結果、イベント番号100のイベントが発生し、更に、その結果、それに対応するアクション(フィルタ11:PASS(イーサネットフレーム通過))が仮想ポート2に対して実行される。
13. After that, when an Ethernet frame whose source MAC address is MAC-A and destination MAC address is broadcast is received again at
14.上記の結果、仮想ポート2は、処理6が終了した場合と同様の状態、つまり、宛先MACアドレスがMAC−Aのイーサネットフレームを一度だけ送信することが可能な状態となる。
14 As a result, the
この第1の実施形態によれば、値の増加だけでなく減少を行ったり、閾値による増加や減少の停止を行うカウンタを利用することにより、簡単な仕組みにより、高付加価値なネットワークの実現が可能となる。 According to the first embodiment, a high-value-added network can be realized with a simple mechanism by using a counter that performs not only an increase in value but also a decrease or a stop to increase or decrease by a threshold. It becomes possible.
以下の各実施形態では、複数ノードによる、より具体的な利用シーンについて述べる。 In the following embodiments, more specific usage scenes using a plurality of nodes will be described.
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。この第2の実施形態では、前述の第1の実施形態で示した基本概念を、エニーキャストのエミュレートを行うシーンに適用した場合の例について説明する。
<Second Embodiment>
Next, a second embodiment of the present invention will be described. In the second embodiment, an example in which the basic concept shown in the first embodiment is applied to a scene for performing anycast emulation will be described.
エニーキャストとは、同一のサービスを提供する複数のサーバが単一のアドレスを持ち、クライアントはそのアドレスに対してアクセスするだけで所望のサービスを享受することができる一方、実際にどのサーバにアクセスしているかは知る必要が無い、というものである。 Anycast is a system in which multiple servers that provide the same service have a single address, and a client can enjoy a desired service simply by accessing that address, while accessing which server is actually accessed. You don't need to know if you're doing it.
なお、IPネットワークの世界では、DNSサーバの複数配置などにエニーキャストが使用されているが、そこでは、特定の経路ドメインに属すクライアントは特定のDNSサーバにアクセスするように、IP経路制御のフレームワークによりエニーキャストアドレスと実際にクライアントによりアクセスされるサーバとのマッピングが制御されている。 In the IP network world, anycast is used for a plurality of DNS server arrangements. In this case, an IP routing frame is used so that a client belonging to a specific routing domain accesses a specific DNS server. The work controls the mapping between the anycast address and the server that is actually accessed by the client.
一方、本実施形態では、エニーキャストを実現するために、以下のようなフレームワークを提供するものである。 On the other hand, in the present embodiment, the following framework is provided in order to realize anycast.
・クライアントからのサービス要求(エニーキャストアドレス宛パケット)は、全てのサーバに送信される。 A service request (packet addressed to an anycast address) from a client is transmitted to all servers.
・サービス要求を受信したサーバ全てが、該当クライアント宛にサービス応答を送信する。 -All servers that have received the service request send a service response to the corresponding client.
・ネットワークを構成する各仮想ハブが、上記要求、応答を送受信する仮想ポートのカウンタを操作することにより、一旦応答が送信された仮想ポートに対しては、同じ要求に対する応答の送信を抑制する。 Each virtual hub configuring the network operates a counter of the virtual port that transmits and receives the request and response, thereby suppressing transmission of a response to the same request for the virtual port for which the response has been transmitted once.
上記フレームワークにより、IP経路制御のような複雑な仕組みを用いること無しに、サーバ群からの全ての応答がクライアントにより受信されること、及び、それに至るノード群により転送されることを回避することで、ネットワークのリソースを浪費せずにエニーキャストを実現することができる。 By using the above framework, avoiding that all responses from the server group are received by the client and forwarded by the node group leading to it without using a complicated mechanism such as IP routing. Thus, anycast can be realized without wasting network resources.
図9に、本実施形態に係る通信システムの構成の一例を示す。 FIG. 9 shows an example of the configuration of the communication system according to the present embodiment.
本実施形態に係る通信システムは、1つのクライアントと複数のサーバ0〜5とが仮想ハブ0〜7を介して接続されたネットワークを構成しているものとする。仮想ハブ0〜7は、それぞれ、前述の第1の実施形態で説明した仮想ハブHと同じ機能を有するノードである。個々のノードの処理詳細については、第1の実施形態で述べた通りであるため、その詳細な説明を省略する。ここでは、システム全体の挙動に焦点を絞って説明する。
It is assumed that the communication system according to the present embodiment constitutes a network in which one client and a plurality of
更に、本実施形態では、IPエニーキャストアドレスは、宛先MACアドレスとしてブロードキャストアドレス、或いは、マルチキャストアドレスを有するイーサネットフレームに格納されて、クライアントから送信されるものとする。つまり、IPアドレスからMACアドレスへのアドレス解決に静的バインドを使用する(ARPによるアドレス解決を使用する場合については後述)。 Furthermore, in this embodiment, the IP anycast address is stored in an Ethernet frame having a broadcast address or a multicast address as a destination MAC address, and is transmitted from the client. That is, static binding is used for address resolution from an IP address to a MAC address (the case where ARP address resolution is used will be described later).
最初に、図10を参照して、本実施形態の仕組みが導入されていない場合の動作を説明する。 Initially, with reference to FIG. 10, operation | movement in case the structure of this embodiment is not introduced is demonstrated.
1.クライアントがIPアドレスIP−Cを、サーバ0〜5が、IPエニーキャストアドレスIP−AC−Aを持つものとする。
1. Assume that the client has an IP address IP-C, and the
2.IPクライアントが、IP−AC−A宛のIPパケットを送信する。 2. The IP client transmits an IP packet addressed to IP-AC-A.
3.上記IPパケットを格納するイーサネットフレームの宛先MACアドレスは、ブロードキャストアドレス、或いは、マルチキャストアドレスなので、本ネットワーク上の全ノードに送信される。 3. Since the destination MAC address of the Ethernet frame storing the IP packet is a broadcast address or a multicast address, it is transmitted to all nodes on the network.
4.サーバ0〜5は、受信したイーサネットフレームに格納されているIPパケットの宛先が自身のアドレスIP−AC−Aであるので、それに対して然るべき処理を行なった後、クライアント宛に応答を返す(宛先IPアドレスIP−C)。
4). Since the destination of the IP packet stored in the received Ethernet frame is its own address IP-AC-A, the
5.サーバ0が送信した応答は、仮想ハブ2、1、0を経て、クライアントで受信される。
5. The response transmitted by the
6.サーバ1が送信した応答は、仮想ハブ3、1、0を経て、クライアントで受信される。
6). The response transmitted by the
7.サーバ2、3が送信した応答は、仮想ハブ5、4、1、0を経て、クライアントで受信される。
7). The responses transmitted by the
8.サーバ4が送信した応答は、仮想ハブ6、4、1、0を経て、クライアントで受信される。
8). The response transmitted by the
9.サーバ5が送信した応答は、仮想ハブ7、4、1、0を経て、クライアントで受信される。
9. The response transmitted by the
この場合の各ノード間での上記応答パケットの転送状態を図10に示す。図10に示される通り、同じ応答パケットが複数回、複数の仮想ハブを経ており、非常に非効率的である。更に、クライアントはサーバの台数分応答を受信することになり、これも非効率的である。 FIG. 10 shows the transfer state of the response packet between the nodes in this case. As shown in FIG. 10, the same response packet passes through a plurality of virtual hubs a plurality of times, which is very inefficient. Furthermore, the client receives responses for the number of servers, which is also inefficient.
次に、図11〜図20を参照して、本実施形態の仕組みが導入された場合の動作を説明する。 Next, with reference to FIGS. 11 to 20, an operation when the mechanism of the present embodiment is introduced will be described.
1.クライアントがIPアドレスIP−C、MACアドレスMAC−Cを、サーバ0〜5が、IPエニーキャストアドレスIP−AC−Aを持つものとする。また、クライアントは、IP−AC−Aを、宛先MACアドレスMAC−MC−Aのイーサネットフレームに格納して送信するものとする。
1. Assume that the client has an IP address IP-C and a MAC address MAC-C, and the
2.仮想ハブ0〜7全ての仮想ポートが、図12、図13、図14に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。図中のワイルドカードは、任意のMACアドレスを示す。また、図では仮想ポート0のみ記しているが、他の仮想ポートも同じ内容である。
2. It is assumed that all the
3.IPクライアントが、IP−AC−A宛のIPパケットを送信する。 3. The IP client transmits an IP packet addressed to IP-AC-A.
4.上記IPパケットを格納するイーサネットフレームの宛先MACアドレスは、マルチキャストアドレスなので、本ネットワーク上の全ノードに送信される。 4). Since the destination MAC address of the Ethernet frame storing the IP packet is a multicast address, it is transmitted to all nodes on the network.
5.各仮想ハブの、クライアント側の仮想ポートを上流ポート、サーバ側の仮想ポートを下流ポートとした場合、該当イーサネットフレームの送受信により、各仮想ハブの上流ポートのポリシーテーブル、カウンタテーブル、フィルタテーブルは、それぞれ、図15、図16、図17のようになる。 5. When the virtual port on the client side of each virtual hub is the upstream port, and the virtual port on the server side is the downstream port, the policy table, counter table, and filter table for the upstream port of each virtual hub are sent and received by the corresponding Ethernet frame. These are shown in FIGS. 15, 16, and 17, respectively.
この時点で、フィルタパターン中のワイルドカード部分が具体化された新たなフィルタエントリが作成され、以後、フィルタのマッチング処理では、これら具体化されたフィルタエントリがワイルドカードのエントリよりも優先される。 At this time, a new filter entry in which the wild card portion in the filter pattern is embodied is created. Thereafter, in the filter matching process, these embodied filter entries have priority over the wild card entry.
6.サーバ0〜5は、受信したイーサネットフレームに格納されているIPパケットの宛先が自身のアドレスIP−AC−Aであるので、それに対して然るべき処理を行なった後、クライアント宛に応答を返す(宛先IPアドレスIP−C、宛先MACアドレスMAC−C)が、ここで、サーバ2が最も速く、応答処理を行ない、他サーバが応答を送信する前に、サーバ2からの応答がクライアントで受信されたとする。この時点で、各仮想ハブ0、1、4、5の上流ポートのポリシーテーブル、カウンタテーブル、フィルタテーブルは、それぞれ、図18、図19、図20のようになる。
6). Since the destination of the IP packet stored in the received Ethernet frame is its own address IP-AC-A, the
一方、仮想ハブ2、3、6、7の同テーブルに変化は無いが、上記と同様、こらら仮想ハブについても、その後、あるサーバからの応答を受信すると、同テーブルが上記と同様になる。
On the other hand, there is no change in the same table of the
このような状態で、他のサーバが送信した応答は以下のようになる。 In such a state, a response transmitted by another server is as follows.
7.サーバ0が送信した応答は、仮想ハブ2を経て、仮想ハブ1で廃棄される。
7). The response transmitted by the
8.サーバ1が送信した応答は、仮想ハブ3を経て、仮想ハブ1で廃棄される。
8). The response transmitted by the
9.サーバ3が送信した応答は、仮想ハブ5で廃棄される。
9. The response transmitted by the
10.サーバ4が送信した応答は、仮想ハブ6を経て、仮想ハブ4で廃棄される。
10. The response transmitted by the
11.サーバ5が送信した応答は、仮想ハブ7を経て、仮想ハブ4で廃棄される。
11. The response transmitted by the
この場合の各ノード間での上記応答パケットの転送状態を図11に示す。図11に示される通り、結果的に、各サーバからクライアント宛の重複した応答は、よりサーバに近い仮想ハブにて廃棄されるため、ネットワークリソースの浪費を抑制することが可能である。ちなみに、本構成では、最悪の場合でも、少なくとも仮想ハブ0への応答の流入は抑制されることがわかる。
FIG. 11 shows the transfer state of the response packet between the nodes in this case. As shown in FIG. 11, as a result, duplicate responses addressed to clients from each server are discarded at a virtual hub closer to the server, so that waste of network resources can be suppressed. Incidentally, it can be seen that in this configuration, at least inflow of a response to the
次に、IPエニーキャストアドレスとそれを格納するイーサネットフレームの宛先MACアドレスのアドレス解決に通常のARP(Address Resolution Protocol)を使用する場合について説明する。 Next, a case where a normal ARP (Address Resolution Protocol) is used for address resolution of the IP anycast address and the destination MAC address of the Ethernet frame storing the IP anycast address will be described.
この場合は、クライアントが宛先IPアドレスIP−AC−AのIPパケットを送信する前に、MACアドレスへのアドレス解決が行なわれるが、そのためのARPリクエスト、ARP応答に対して、上記と同様の処理が行なわれることになる。つまり、ARPリクエストはブロードキャストで全サーバにより受信され、そのうち、最速で応答処理をしたサーバからのARPレスポンスのみがクライアントに受信され、その他のサーバからのARPレスポンスは、途中のいずれかの仮想ハブの上流ポートで廃棄される。 In this case, the address resolution to the MAC address is performed before the client transmits the IP packet of the destination IP address IP-AC-A. For the ARP request and ARP response for that purpose, the same processing as described above is performed. Will be performed. In other words, the ARP request is broadcast and received by all the servers, and only the ARP response from the server that performed the response at the fastest is received by the client. Discarded at the upstream port.
結果的に、アドレス解決後のIP−AC−A宛のIPパケットは、ある一つのサーバにのみ送信され、それに対する応答も、そのサーバからクライアントへ送信されることになる(IPレベルでは双方向ともにユニキャスト通信)。 As a result, the IP packet addressed to IP-AC-A after address resolution is transmitted to only one server, and the response to the IP packet is also transmitted from the server to the client (bidirectional at the IP level). Both are unicast communications).
この第2の実施形態によれば、簡単な仕組みにより、効率良く、エニーキャストのエミュレートを行うことができ、システム性能の向上や、リソースの最適化を図ることが可能となる。 According to the second embodiment, anycast can be efficiently emulated with a simple mechanism, and system performance can be improved and resources can be optimized.
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。この第3の実施形態では、前述の第1の実施形態で示した基本概念を、サーバへの同時アクセスが可能なクライアント数を制限するシーンに適用した場合の例について説明する。
<Third Embodiment>
Next, a third embodiment of the present invention will be described. In the third embodiment, an example will be described in which the basic concept shown in the first embodiment is applied to a scene that limits the number of clients that can simultaneously access a server.
図21に、本実施形態に係る通信システムの構成の一例を示す。 FIG. 21 shows an example of the configuration of the communication system according to the present embodiment.
本実施形態に係る通信システムは、複数のクライアント0〜8と1つのサーバとが仮想ハブ0〜5を介して接続されたネットワークを構成しているものとする。仮想ハブ0〜5は、それぞれ、前述の第1の実施形態で説明した仮想ハブHと同じ機能を有するノードである。ここでは、複数のクライアント0〜8がサーバにある要求を出し、サーバはその要求に対して然るべき処理をした後、要求を送ってきたクライアントに応答を返すようなシステムを想定している。
The communication system according to the present embodiment includes a network in which a plurality of
以下、図21〜図24を参照して、本実施形態における動作を説明する。 Hereinafter, the operation in the present embodiment will be described with reference to FIGS.
1.サーバがIPアドレスIP−Sを持つものとする。 1. Assume that the server has an IP address IP-S.
2.仮想ハブ3の仮想ポート0が、図22、図23、図24に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。
2. It is assumed that the
3.あるクライアントがサーバに要求を送信すると、仮想ハブ3は仮想ポート0からその要求を仮想ハブ4へ送出するが、その時、該当カウンタが1だけ増える。その後、仮想ハブ3は、上記要求に対する応答を仮想ポート0から受信すると、同カウンタを1だけ減じる。
3. When a client sends a request to the server, the
4.ここで、クライアントからサーバへのアクセスが並列では無い場合、仮想ハブ3の該当カウンタは0と1の間で遷移するだけであり、仮想ハブ3の仮想ポート0に関する何らかのアクションが取られることは無い。
4). Here, when the access from the client to the server is not parallel, the corresponding counter of the
5.一方、クライアントからサーバへのアクセスが並列の場合、つまり、あるクライアントからの要求に対する応答がサーバから送信される前に、他のクライアントが要求を送信するような場合で、更には、サーバからの応答送信よりもクライアントからの要求送信の頻度のほうが高いような場合、いずれ、上記カウンタは上閾値である5に達する。この時点で、仮想ハブ3ではイベント300が発生し、その結果、仮想ポート0のフィルタ30に対するDROP(イーサネットフレーム廃棄)のアクションが実行される。
5. On the other hand, when the access from the client to the server is parallel, that is, when another client sends a request before the response to the request from one client is sent from the server, If the frequency of request transmission from the client is higher than the response transmission, the counter will eventually reach the upper threshold value of 5. At this time, an
6.以後、上記カウンタが5の状態の間は、仮想ハブ3の仮想ポート0では、宛先がIP−Sであるパケットは全て廃棄される。
6). Thereafter, while the counter is in the state of 5, all packets whose destination is IP-S are discarded at the
7.その後、サーバが応答の送信を順次行ない、上記カウンタ値が減じられ、その結果、下閾値である3に達すると、仮想ハブ3ではイベント301が発生し、その結果、仮想ポート0のフィルタ30に対するPASS(イーサネットフレーム通過)のアクションが実行される。
7). Thereafter, the server sequentially transmits responses, and the counter value is decremented. As a result, when the
8.以後、上記カウンタが再び5に達しない間は、仮想ハブ3の仮想ポート0では、宛先がIP−Sであるパケットは全て送信される。
8). Thereafter, while the counter does not reach 5 again, all packets whose destination is IP-S are transmitted on the
なお、上記例では、下閾値を3としたが、これは、システムの要件、運用ポリシー等により、3以外の値に設定することももちろん可能である。 In the above example, the lower threshold is set to 3, but this can of course be set to a value other than 3 depending on the system requirements, the operation policy, and the like.
この第3の実施形態によれば、簡単な仕組みにより、効率良く、サーバへの同時アクセスが可能なクライアント数を制限することができ、可用性の向上を図ることが可能となる。 According to the third embodiment, it is possible to limit the number of clients that can efficiently and simultaneously access the server with a simple mechanism, and to improve the availability.
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。この第4の実施形態では、前述の第1の実施形態で示した基本概念を、ある方向からの異常トラフィック(DoSなど)を遮断、或いは、流量制限する、といったシーンに適用した場合の例について説明する。
<Fourth Embodiment>
Next, a fourth embodiment of the present invention will be described. In the fourth embodiment, an example in which the basic concept shown in the first embodiment is applied to a scene where abnormal traffic (such as DoS) from a certain direction is blocked or the flow rate is limited. explain.
図25に、本実施形態に係る通信システムの構成の一例を示す。 FIG. 25 shows an example of the configuration of the communication system according to the present embodiment.
例えば、仮想ハブHの仮想ポート0側は自組織、仮想ポート1側は他組織、といった構成を想定している。つまり、他組織からの異常トラフィックをアクション対象とするものである。
For example, a configuration is assumed in which the
以下、図25〜図28を参照して、本実施形態における動作を説明する。 Hereinafter, the operation in the present embodiment will be described with reference to FIGS.
1.仮想ハブHの仮想ポート1が、図26、図27、図28に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。
1. It is assumed that the
2.仮想ハブHの観点で、仮想ポート0から仮想ポート1へのトラフィック、及び、その逆方向のトラフィックに大きな差が無い場合、該当カウンタは上閾値1000(もしくは下閾値200)よりも十分小さい値を増減するのみであろう。
2. If there is no significant difference between the traffic from the
3.ここで、例えば、仮想ポート1から仮想ポート0へのトラフィックが急増した場合、上記カウンタはいずれ上閾値1000に到達する。この時点で、仮想ハブHではイベント700が発生し、その結果、仮想ポート1のフィルタ70に対する受信停止のアクションが実行される。
3. Here, for example, when the traffic from the
4.以後、仮想ハブHの仮想ポート1では、受信処理は一切行なわれない。
4). Thereafter, no reception processing is performed at the
5.その後、仮想ポート0から仮想ポート1方向のトラフィックが発生するたびに、上記カウンタは減じられ、いずれ、上記カウンタは下閾値200に到達する。その結果、仮想ハブHではイベント701が発生し、その結果、仮想ポート1のフィルタ70に対する受信開始アクションが実行される。
5. Thereafter, each time traffic from the
6.以後、上記カウンタが再び1000に達しない間は、仮想ハブHの仮想ポート1では、受信処理は行なわれる。
6). Thereafter, while the counter does not reach 1000 again, reception processing is performed in the
なお、上記カウンタ処理にタイマの概念を導入することも可能である。この場合、例えば、以下のようになる。 It is possible to introduce the concept of a timer in the counter process. In this case, for example, it is as follows.
・該当カウンタに対して、上閾値1000に達するまでのタイマとして60秒を設定する。 Set 60 seconds as a timer for reaching the upper threshold value 1000 for the corresponding counter.
・60秒以内に上記カウンタが上閾値に達すれば、上記例と同様のアクションを実行する。 If the counter reaches the upper threshold within 60 seconds, the same action as in the above example is executed.
・上記カウンタが上閾値1000に達する前に上記タイマの期間が満了した場合、上記カウンタに対してリセットのアクション(初期値に再設定)が実行されると同時に、同タイマが再び起動される。 If the timer period expires before the counter reaches the upper threshold 1000, a reset action (reset to the initial value) is executed on the counter and the timer is started again.
すなわち、トラフィックが異常であると判断する基準に、「単位時間当たり」の概念を導入するものと言える。 That is, it can be said that the concept of “per unit time” is introduced as a criterion for judging that the traffic is abnormal.
なお、上記例では、該当カウンタが上閾値1000に達した場合に、該当仮想ポートでの受信を停止、すなわち、仮想ポートの閉塞を実行した。一方で、仮想ポートに優先度キュー、CoS処理等の機能がある場合には、これらのパラメータを変更する、というアクションを実行することで、問題となっている方向のトラフィックを完全に停止するのではなく、流量の制限を行なうことができる。 In the above example, when the corresponding counter reaches the upper threshold value 1000, reception at the corresponding virtual port is stopped, that is, the virtual port is blocked. On the other hand, if the virtual port has functions such as priority queue and CoS processing, the action of changing these parameters is executed to completely stop the traffic in the direction of the problem. Instead, the flow rate can be limited.
この第4の実施形態によれば、簡単な仕組みにより、効率良く、ある方向からの異常トラフィックを遮断、或いは、流量制限することができ、可用性の向上を図ることが可能となる。 According to the fourth embodiment, it is possible to efficiently block abnormal traffic from a certain direction or restrict the flow rate by a simple mechanism, and to improve availability.
<第5の実施形態>
次に、本発明の第5の実施形態について説明する。この第5の実施形態では、前述の第1の実施形態で示した基本概念を、あるリージョンのトラフィック量に応じて、仮想ハブの移動(最適配置)を行なう、といったシーンに適用した場合の例について説明する。
<Fifth Embodiment>
Next, a fifth embodiment of the present invention will be described. In the fifth embodiment, an example in which the basic concept shown in the first embodiment is applied to a scene in which movement (optimum placement) of a virtual hub is performed according to the traffic volume of a certain region. Will be described.
図29に、本実施形態に係る通信システムの構成の一例を示す。 FIG. 29 shows an example of the configuration of a communication system according to this embodiment.
例えば、仮想ハブHは仮想ポート0〜3を持ち、それぞれのポート間でトラフィックのスイッチングを行なっている。ここで、仮想ポート0と1の先に接続されている他ノード、及び、仮想ポート2と3の先に接続されている他ノードは、物理的に近い場所に存在することがわかっているとする。
For example, the virtual hub H has
また、本実施形態では、仮想ポートのグループ化という概念を導入し、カウンタはグループ毎に持つこととする(これまでの実施形態では、カウンタは全て仮想ポートに属すものであった)。また、フィルタパターンとして、「仮想ポート間トラフィック」という概念も導入する(これまでの実施形態では、フィルタパターンはデータそのものの属性によるものであった)。 In this embodiment, the concept of grouping virtual ports is introduced, and a counter is provided for each group (in the above embodiments, all counters belong to virtual ports). Further, the concept of “inter-virtual port traffic” is also introduced as a filter pattern (in the previous embodiments, the filter pattern was based on the attribute of the data itself).
以下、図29〜図32を参照して、本実施形態における動作を説明する。 Hereinafter, the operation in the present embodiment will be described with reference to FIGS.
1.仮想ハブHの仮想ポート0〜3を仮想ポートグループとする。
1.
2.仮想ハブHの上記仮想ポートグループが、図30、図31、図32に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。
2. It is assumed that the virtual port group of the virtual hub H has a policy table, a counter table, and a filter table having the contents shown in FIGS. 30, 31, and 32. It is assumed that
3.仮想ハブHの観点で、仮想ポート0−仮想ポート1間のトラフィック、及び、仮想ポート2−仮想ポート3間のトラフィックに大きな差が無い、該当カウンタは初期値100付近を増減するのみであろう。
3. From the viewpoint of the virtual hub H, there is no significant difference in traffic between the
4.ここで、例えば、仮想ポート0−仮想ポート1間のトラフィックが急増し、仮想ポート2−仮想ポート3間のトラフィックに比べ、明らかに多くなった場合、上記カウンタはいずれ上閾値200に到達する。この時点で、仮想ハブHではイベント600が発生し、その結果、自ノードに対するアクション(図中右側の実行環境への移動、及び、上記カウンタの初期値へのリセット)が実行される。なお、所定の記録領域に、図中右側の実行環境を示す情報が予め格納されており、その情報を参照することにより当該実行環境への移動が可能となる。
4). Here, for example, when the traffic between the
5.以後、仮想ハブHは、よりトラフィック量が多い他ノードに物理的に近い位置で動作することとなり、ネットワークリソースの消費の観点でより効率的となる。 5. Thereafter, the virtual hub H operates in a position physically close to other nodes with a larger traffic volume, and becomes more efficient from the viewpoint of consumption of network resources.
6.その後、例えば、上記とは逆に、仮想ポート2−仮想ポート3間のトラフィックが増えた場合、上記カウンタは下閾値0に到達する。この時点で、仮想ハブHではイベント601が発生し、その結果、自ノードに対するアクション(図中左側の実行環境への移動、及び、上記カウンタの初期値へのリセット)が実行される。なお、所定の記録領域に、図中左側の実行環境を示す情報が予め格納されており、その情報を参照することにより当該実行環境への移動が可能となる。
6). Thereafter, for example, when the traffic between the
なお、上記例では、アクションとして右移動、左移動を定義したが、動作環境により、中央への移動(元の場所)も定義し、移動を二段階にする、とったことも可能である。 In the above example, the right movement and the left movement are defined as the action. However, it is also possible to define the movement to the center (original place) according to the operating environment and to move the movement in two stages.
また、第4の実施形態と同様、上記カウンタ処理にタイマの概念を導入することも可能である。 As in the fourth embodiment, the concept of a timer can be introduced into the counter process.
更に、上記例では、自ノードの移動というアクションであったが、自ノードの分割というアクションも想定される。この場合、例えば、上記例の処理4の部分が、以下のように置き換わることとなる。
Furthermore, in the above example, the action is the movement of the own node, but the action of dividing the own node is also assumed. In this case, for example, the
・図中右側の実行環境へ新たに仮想ハブH’を生成
・仮想ハブHが、仮想ポート0、及び、仮想ポート1で収容していた他ノードを、上記新たに作成した仮想ハブH’へ接続変更する。
-A new virtual hub H 'is created in the execution environment on the right side of the figure.-The virtual hub H has transferred the other nodes accommodated by the
・仮想ハブHは、新たに作成した仮想ハブH’との接続(仮想ポート)を生成する。 The virtual hub H generates a connection (virtual port) with the newly created virtual hub H ′.
また、上記例では、自ノードの分割というアクションであったが、逆に、他ノードへの統合というアクションも想定される。この場合、例えば、上記分割され、右側で動作中の仮想ハブH’が、以下のような処理を行うことになる。 In the above example, the action is to divide the own node, but conversely, an action to be integrated with other nodes is also assumed. In this case, for example, the divided virtual hub H ′ operating on the right side performs the following processing.
・仮想ハブHと接続している仮想ポート以外の仮想ポート間のトラフィックが減少した場合、ポリシーテーブル、カウンタテーブル、フィルタテーブルの設定(既出のものと大きくは違わないため、詳細は省略)に従い、自ノードに対するアクション(他仮想ハブへの統合)が実行される。なお、所定の記録領域に、統合先の仮想ハブを示す情報が予め格納されており、その情報を参照することにより当該実行環境への統合が可能となる。 -If traffic between virtual ports other than the virtual ports connected to the virtual hub H decreases, the policy table, counter table, and filter table settings (details are omitted because they are not significantly different from those already described), An action (integration with another virtual hub) for the own node is executed. Information indicating the integration destination virtual hub is stored in a predetermined recording area in advance, and integration into the execution environment can be performed by referring to the information.
・仮想ハブHと接続している仮想ポート以外の仮想ポートで収容していた他ノードを、仮想ハブHへ接続変更する。 Change the connection of the other node accommodated in the virtual port other than the virtual port connected to the virtual hub H to the virtual hub H.
・仮想ハブHと接続している仮想ポートを切断し、自ノードを終了する。 -Disconnect the virtual port connected to the virtual hub H and terminate the local node.
この第5の実施形態によれば、簡単な仕組みにより、効率良く、あるリージョンのトラフィック量に応じて仮想ハブの移動、分割、統合(最適配置)を行なうことができ、システム性能の向上やリソースの最適化を図ることが可能となる。 According to the fifth embodiment, it is possible to move, divide, and integrate (optimum placement) a virtual hub according to the traffic volume of a certain region with a simple mechanism, and improve system performance and resources. Can be optimized.
<第6の実施形態>
次に、本発明の第6の実施形態について説明する。この第6の実施形態では、前述の第1の実施形態で示した基本概念を、高信頼なデータ配送ネットワークを構築するために、冗長経路を使用する、といったシーンに適用した場合の例について説明する。
<Sixth Embodiment>
Next, a sixth embodiment of the present invention will be described. In the sixth embodiment, an example will be described in which the basic concept shown in the first embodiment is applied to a scene where a redundant route is used to construct a highly reliable data distribution network. To do.
また、フィルタパターンにおけるワイルドカードの使用の影響がフィルタテーブル34のみにとどまる例についても説明する。ちなみに、第2の実施形態では、同じくフィルタパターンにおけるワイルドカードの使用例を示したが、前述の通り、その影響はポリシーテーブル12、カウンタテーブル32にも及ぶものであった。 An example in which the influence of the use of a wild card in the filter pattern remains only in the filter table 34 will also be described. Incidentally, in the second embodiment, the use example of the wild card in the filter pattern is also shown. However, as described above, the influence extends to the policy table 12 and the counter table 32 as well.
図33に、本実施形態に係る通信システムの構成の一例を示す。 FIG. 33 shows an example of the configuration of the communication system according to the present embodiment.
本実施形態に係る通信システムは、1つのクライアントと1つのサーバとが仮想ハブ0〜6を介して接続されたネットワークを構成しているものとする。仮想ハブ0〜6は、それぞれ、前述の第1の実施形態で説明した仮想ハブHと同じ機能を有するノードである。
It is assumed that the communication system according to the present embodiment constitutes a network in which one client and one server are connected via
また、クライアントがサーバに対してデータを送信するが、例えば仮想ハブ4に至るまでの経路がWANで通信品質に問題があるために、2つの経路(仮想ハブ0−仮想ハブ1、仮想ハブ2−仮想ハブ3)に同一データを送信し、仮想ハブ4にて、先に到達したものはその先に送信し、後に到達したものは廃棄する、といったシステムを想定している。
Further, the client transmits data to the server. For example, since the route to the
以下、図33〜図37を参照して、本実施形態における動作を説明する。 Hereinafter, the operation in the present embodiment will be described with reference to FIGS.
1.サーバがIPアドレスIP−Sを持つものとする。 1. Assume that the server has an IP address IP-S.
2.仮想ハブ4の仮想ポート0が、図34、図35、図36に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。
2. It is assumed that the
3.クライアントがサーバにデータを送信すると、仮想ハブ4は仮想ポート1、或いは、仮想ポート2からそのデータを受信するが、いずれか一方からデータを受信し、それを仮想ポート0から仮想ハブ5へ送出したとする。この時点で、仮想ハブ4の仮想ポート0のフィルタテーブル34は、図37のようになる(ポリシーテーブル12、カウンタテーブル32はそのまま)。
3. When the client sends data to the server, the
4.ここで、仮想ポート1、或いは、仮想ポート2のいずれかから、もう一つのデータ(上記と同じデータ)を受信したとする。この場合、フィルタ50の内容に従い、そのデータは廃棄される。よって、仮想ハブ5より先へは、重複したデータが流入することは無い。
4). Here, it is assumed that another data (same data as described above) is received from either the
なお、上記例では、ワイルドカードから生成されたフィルタエントリの削除処理には言及していないが、仮想ハブのリソースの観点から、何らかの方法で、これらフィルタエントリの解放は実施されるべきであろう。そのための実施例としては、以下のものが想定される。 In the above example, the deletion process of the filter entry generated from the wild card is not mentioned, but from the viewpoint of the virtual hub resource, these filter entries should be released in some way. . The following is assumed as an embodiment for that purpose.
・ワンショットフィルタ
フィルタエントリにワンショットの属性を持たせる。つまり、一度使用されたフィルタエントリは、その時点で削除される。
-One-shot filter A filter entry has a one-shot attribute. That is, once used, the filter entry is deleted at that time.
・ガベージコレクション
一定期間未使用のフィルタエントリを「回収」する。なお、該当フィルタエントリが削除された後、再びそのエントリが必要とされることもあるだろうが、対応するワイルドカードのエントリが存在している限り、再び、同様のフィルタエントリが生成されるはずであり、特に問題は無い。
-Garbage collection "Recover" filter entries that have not been used for a certain period of time. Note that after the corresponding filter entry is deleted, the entry may be needed again, but as long as the corresponding wildcard entry exists, a similar filter entry should be generated again. There is no particular problem.
更に、上記例では、フィルタパターンのワイルドカード部分として、TCPやSCTPのシーケンス番号の使用を想定した。一方、IPやUDPのようにシーケンス番号という概念が無い上位プロトコルでシーケンス番号的なものを使用したい場合、或いは、そもそも上位プロトコルには無いような概念のものをフィルタパターンとして導入したい場合、仮想ネットワークの制御情報を使用することが有効である。 Furthermore, in the above example, it is assumed that the sequence number of TCP or SCTP is used as the wild card part of the filter pattern. On the other hand, if you want to use a higher-level protocol that does not have the concept of sequence number, such as IP or UDP, or that has a sequence number, or if you want to introduce a concept that does not exist in the higher-level protocol in the first place as a filter pattern, It is effective to use the control information.
一般的に、仮想イーサネットを含む仮想ネットワークの実装では、ユーザデータ(仮想イーサネットならばイーサネットフレーム)の前に、制御用ヘッダを付加することが多い。 In general, in the implementation of a virtual network including virtual Ethernet, a control header is often added before user data (for Ethernet, an Ethernet frame).
ゆえに、アプリケーションや、仮想ネットワークインタフェース、仮想ハブ等の仮想ネットワークノードが、上記ヘッダ部分(仮想イーサネット制御情報格納部分)に、特別な意味を持つ情報をエンコードし、それをフィルタパターンとして使用することとなる。 Therefore, a virtual network node such as an application, a virtual network interface, or a virtual hub encodes information having a special meaning in the header part (virtual Ethernet control information storage part) and uses it as a filter pattern. Become.
この第6の実施形態によれば、簡単な仕組みにより、効率良く、冗長経路の構築を行なうことができ、システムの信頼性の向上を図ることが可能となる。 According to the sixth embodiment, a redundant path can be efficiently constructed with a simple mechanism, and the reliability of the system can be improved.
<応用>
仮想ネットワークを使用して高付加価値なネットワークを提供するシステムに広く適用可能である。例えば以下のようなものに適用可能である。
<Application>
The present invention can be widely applied to a system that provides a high value-added network using a virtual network. For example, the present invention can be applied to the following.
・CDN(Content Delivery Network)
・ネットワーク上での効率的なリソース検索(エニーキャスト的機能)
・高信頼、高効率ネットワーク(冗長経路、負荷分散などの機能を提供)
<まとめ>
上述した各実施形態で説明した各種の機能や情報などの概念をまとめると以下の通りとなる。
・ CDN (Content Delivery Network)
-Efficient resource search on the network (anycast function)
・ Highly reliable and highly efficient network (provides functions such as redundant routes and load distribution)
<Summary>
The concept of various functions and information described in the above embodiments is summarized as follows.
[1](“仮想”の制限を取り払ったもの)
少なくとも1つの中継ノード間で通信を行なうネットワークにおける、ノード(中継ノード、クライアント)によるデータ送受信の制御、ポートの制御、及び、ノードの実行環境、実行状態、実行方法、その他、実行に関わる処理を制御する方法であり、以下の特徴を持つ。
[1] (Removed the restriction of “virtual”)
Control of data transmission / reception by nodes (relay nodes, clients), port control, and node execution environment, execution status, execution method, and other processes related to execution in a network that communicates between at least one relay node This is a control method and has the following characteristics.
・各ノードは、他ノードと接続する「予め定められたポート」それぞれに、以下の特徴を持つ「カウンタ」を有する。 Each node has a “counter” having the following characteristics in each “predetermined port” connected to another node.
- 予め定められた閾値(整数)を持つ。 -Has a predetermined threshold (integer).
- 「予め定められたトリガ」が発生した場合に、該当ポートのカウンタを、予め定められた値(1以上の有限の整数)だけ増加させる、或いは、減少させる。 -When a "predetermined trigger" occurs, the counter of the corresponding port is increased or decreased by a predetermined value (a finite integer of 1 or more).
・各ノードは、前記カウンタを増加、或いは、減少させた結果、カウンタの値が予め定められた時間内(無限も含む)に予め定められた閾値に達した場合に、「予め定められたアクション」を実行する。 When each node reaches the predetermined threshold value within a predetermined time (including infinity) as a result of incrementing or decrementing the counter, the “predetermined action” ”Is executed.
[2](基本部分)
少なくとも1つの中継ノード(仮想ハブ)を経由してクライアント間が通信を行なう仮想ネットワーク(仮想イーサネット)における、ノード(中継ノード、クライアント)によるデータ(イーサネットフレーム)送受信の制御、ポート(仮想ポート)の制御、及び、ノードの実行環境、実行状態、実行方法、その他、実行に関わる処理を制御する方法であり、以下の特徴を持つ。
[2] (Basic part)
Control of data (Ethernet frame) transmission / reception by nodes (relay nodes, clients) and ports (virtual ports) in a virtual network (virtual Ethernet) in which clients communicate via at least one relay node (virtual hub) This is a method for controlling the control, the execution environment of the node, the execution state, the execution method, and other processes related to execution, and has the following features.
・各ノードは、他ノードと接続する「予め定められたポート」(仮想ポート)それぞれに、以下の特徴を持つ「カウンタ」を有する。 Each node has a “counter” having the following characteristics for each “predetermined port” (virtual port) connected to another node.
- 予め定められた閾値(整数)を持つ。 -Has a predetermined threshold (integer).
- 「予め定められたトリガ」が発生した場合に、該当ポート(仮想ポート)のカウンタを、予め定められた値(1以上の有限の整数)だけ増加させる、或いは、減少させる。 -When a "predetermined trigger" occurs, the counter of the corresponding port (virtual port) is increased or decreased by a predetermined value (a finite integer of 1 or more).
・各ノードは、前記カウンタを増加、或いは、減少させた結果、カウンタの値が予め定められた時間内(無限も含む)に予め定められた閾値に達した場合に、「予め定められたアクション」を実行する。 When each node reaches the predetermined threshold value within a predetermined time (including infinity) as a result of incrementing or decrementing the counter, the “predetermined action” ”Is executed.
[3](「予め定められたトリガ」のうちの一つ、データ送受信)
請求項1における「予め定められたトリガ」として、以下のいずれかの特徴を持つ。
[3] (One of “predetermined triggers”, data transmission / reception)
The “predetermined trigger” in
・「予め定められたデータ」を送信した場合
・予め定められたデータを受信した場合
[4](送受信される「予め定められたデータ」の具体例)
請求項2における「予め定められたデータ」として、以下のいずれかの特徴を持つ。
-When "predetermined data" is transmitted-When predetermined data is received [4] (Specific example of "predetermined data" transmitted and received)
The “predetermined data” in
・特定の仮想ネットワーク制御情報を有するデータ
クライアントのアプリケーション、或いは、仮想ネットワークインタフェース、仮想ハブ等が付加する、仮想ネットワーク制御用の情報。
Data having specific virtual network control information Information for virtual network control added by a client application, a virtual network interface, a virtual hub, or the like.
例えば、仮想イーサネットの場合、イーサネットヘッダの前に付加する制御用ヘッダ内の情報など。 For example, in the case of virtual Ethernet, information in the control header added before the Ethernet header.
・特定のイーサネットフレームヘッダ情報を有するデータ
例えば、エンドユーザがやりとりするイーサネットフレームにて、特定の送信元MACアドレス、宛先MACアドレス、プロトコルタイプなどを持つもの。
Data having specific Ethernet frame header information For example, an Ethernet frame exchanged by an end user having a specific source MAC address, destination MAC address, protocol type, etc.
・特定のイーサネットフレームペイロード情報を有するデータ
例えば、エンドユーザがやりとりするイーサネットフレームにて、特定の上位プロトコルのデータを持つもの。例えば、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、シーケンス番号、ストリーム番号、PPID、ユーザデータの特定の内容、など。
Data having specific Ethernet frame payload information For example, an Ethernet frame exchanged by an end user having data of a specific upper protocol. For example, a source IP address, a destination IP address, a source port number, a destination port number, a sequence number, a stream number, a PPID, a specific content of user data, and the like.
・特定のポート間で送受信されるデータ
[5](カウンタ増減の対象とする「予め定められたポート」)
請求項0、1における「予め定められたポート」の指定方法として、少なくとも以下のいずれかの特徴を持つ。
Data [5] transmitted / received between specific ports (“predetermined ports” subject to counter increase / decrease)
The designation method of “predetermined port” in
・全ポート設定
デフォルト全ポートといった用途を想定。
・ All port settings Assumes applications such as default all ports.
もちろん、下記、静的、動的設定で、全ポートが対象となることもある。 Of course, all ports may be subject to the following static and dynamic settings.
・静的設定
コンフィグレーション等により、初期化時に設定される。
・ Static setting It is set at initialization by configuration.
・動的設定
管理者又はシグナリングプロトコル10により、運用中に動的に設定される。
-Dynamic setting It is dynamically set by the administrator or the
[6](「予め定められたアクション」)
請求項0、1における「予め定められたアクション」として、少なくとも以下のいずれかの特徴を持つ。
[6] ("predetermined action")
The “predetermined action” in
・カウンタ制御
- カウンタ増加、減少の停止、開始
- カウンタ値のリセット
・送受信制御(特定データの送受信制御)
該当ポートでの該当データ(カウンタ増減のトリガとなったデータ)の送信を停止(開始)する、或いは、受信を停止(開始)する。
・ Counter control
-Stop / start counter increment / decrease
-Counter value reset ・ Transmission / reception control (transmission / reception control of specific data)
Stop (start) transmission of the corresponding data (data that triggered the counter increase / decrease) at the corresponding port, or stop (start) reception.
・ポート制御(全データの送受信制御)
- 開閉
該当ポートでの送信を停止(開始)する、或いは、受信を停止(開始)する。
・ Port control (transmission / reception control of all data)
-Open / close Stops (starts) transmission at the port or stops (starts) reception.
- QoS、CoSその他、送受信に関わるパラメータの変更
- 接続先変更、追加、削除
該当ポートの接続先を変更、或いは、追加、削除する。
-Change of parameters related to QoS, CoS, etc.
-Change, add, or delete the connection destination Change, add, or delete the connection destination of the corresponding port.
・ノード制御
- ノードの分割、統合、移動
例えば、ポートのマークの状態から、自分とサーバやクライアントとの位置関係を判断し、適切な場所にマイグレーションする、など。
・ Node control
-Node division, integration, and movement For example, determine the positional relationship between you and the server or client from the port mark status, and migrate to an appropriate location.
[7](カウンタをポート群で共有)
請求項0、1におけるカウンタを、グループ化された複数ポート群で共有する。
[7] (Counter is shared by port group)
The counter according to
[8](カウンタの種類)
請求項0、1におけるカウンタとして、以下のいずれかの特徴を持つ。
[8] (Counter type)
The counter according to
・カウンタを予め定められた値だけ増減させた結果、予め定められた閾値に達した後、さらなるイベントが発生した場合に、増減を継続する。 As a result of increasing / decreasing the counter by a predetermined value, when the predetermined threshold is reached, the increase / decrease is continued when a further event occurs.
・カウンタを予め定められた値だけ増加させた結果、予め定められた閾値に達した後、以後の増加を停止する。その後、カウンタを予め定められた値だけ減少させた結果、予め定められた閾値を再び下回った場合、以後の増加を再開する。 As a result of increasing the counter by a predetermined value, after reaching a predetermined threshold, the subsequent increase is stopped. After that, when the counter is decreased by a predetermined value and as a result again falls below a predetermined threshold, the subsequent increase is resumed.
・カウンタを予め定められた値だけ減少させた結果、予め定められた閾値に達した後、以後の減少を停止する。その後、カウンタを予め定められた値だけ増加させた結果、予め定められた閾値を再び上回った場合、以後の減少を再開する。 As a result of decreasing the counter by a predetermined value, after reaching a predetermined threshold, the subsequent decrease is stopped. Thereafter, when the counter is incremented by a predetermined value and as a result again exceeds a predetermined threshold, the subsequent decrease is resumed.
[9](送受信される「予め定められたデータ」のワイルドカード)
請求項3における「予め定められたデータ」として、以下の特徴を持つ。
[9] (Wild card for “predetermined data” to be transmitted and received)
The “predetermined data” in
・一部をワイルドカード指定する。 ・ Specify some wildcards.
・送受信したデータが予め定められた部分にマッチした場合に、ワイルドカード指定した部分を実際に送受信したデータの該当部分の値で置き換え(学習)、新たな「予め定められたデータ」として保持し、以後の処理に使用する。 ・ When the transmitted / received data matches a predetermined part, replace the part specified by the wildcard with the value of the corresponding part of the actually transmitted / received data (learning), and keep it as new “predetermined data” Used for subsequent processing.
[10](第2の実施形態のエニーキャストのエミュレートに対応)
請求項0〜5、7、8の特徴を持つカウンタを有する少なくとも1つの中継ノード、及び、それら中継ノードにより接続されるクライアント、少なくとも1つのサーバ群で構成されるネットワークシステムであり、以下の特徴を持つ。
[10] (corresponding to the anycast emulation of the second embodiment)
A network system comprising at least one relay node having a counter having the characteristics of
・少なくとも1つのサーバ群
- 単一の識別子で識別される。
・ At least one server group
-Identified by a single identifier.
- クライアントに対して、同じサービスを提供する。 -Provide the same service to clients.
- 前記識別子で特定される、自身が提供するサービスに対する要求をクライアントから受信すると、サービスに必要な処理を行ない、クライアントへ応答を返す。 -When a request for a service provided by itself is received from a client specified by the identifier, processing necessary for the service is performed and a response is returned to the client.
・クライアント
- 前記サービスを享受する場合、前記識別子を宛先とした要求を送信する。
·client
-When enjoying the service, send a request addressed to the identifier.
- いずれかのサーバから要求に対する応答を受信する。 -Receive a response to the request from any server.
・中継ノード
- 全ての仮想ポートが以下のカウンタを持つ。
・ Relay node
-All virtual ports have the following counters:
* 初期値として1を持つ。 * Has 1 as the initial value.
* 上閾値として1を、下閾値として0を持つ。 * Has 1 as the upper threshold and 0 as the lower threshold.
* クライアントから前記識別子を宛先に持つ要求を受信すると、カウンタを1だけ増加させる。 * When a request having the identifier as a destination is received from a client, the counter is incremented by one.
* 前記要求に対するサーバからの前記クライアントへの応答を送信すると、カウンタを1だけ減少させる。 * Sending a response from the server to the client to the request decrements the counter by one.
* カウンタが上閾値に達している場合は、以後、カウンタは増加させない。 * If the counter reaches the upper threshold, the counter is not incremented thereafter.
* カウンタが下閾値に達している場合は、以後、カウンタは減少させない。 * If the counter has reached the lower threshold, the counter will not be decreased thereafter.
- 前記カウンタにて、カウンタが下閾値に達した場合、カウンタが下閾値である限り、その仮想ポートからは同じ応答は送信しない(廃棄する)。 -When the counter reaches the lower threshold in the counter, the same response is not transmitted (discarded) from the virtual port as long as the counter is at the lower threshold.
以上詳述したように、本発明の実施の形態によれば、仮想イーサネット、より詳細には、仮想イーサネットを構成する各ノード間を接続する仮想的な通信リンクの端点である仮想ポートがソフトウェアであることに着目し、物理ポートでは実現不可能であった、「データ送受信をトリガとしたポート(仮想ポート)へのマーキング」という概念を仮想ポートに導入、実装することで、高付加価値な機能を有するネットワークを実現することが可能となる。 As described above in detail, according to the embodiment of the present invention, virtual Ethernet, more specifically, a virtual port that is an end point of a virtual communication link that connects nodes constituting the virtual Ethernet is software. Focusing on a certain point, high-value-added functions can be realized by introducing and implementing the concept of “marking to a port (virtual port) triggered by data transmission / reception”, which could not be realized with a physical port. It is possible to realize a network having
なお、上述した各実施形態では、仮想イーサネットを例に挙げて説明したが、本発明はこれには限定されず、仮想でないネットワークにも適用することができる。 In each of the above-described embodiments, the virtual Ethernet has been described as an example. However, the present invention is not limited to this and can be applied to a non-virtual network.
また、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。 In addition, the method described in the above embodiment includes a magnetic disk (floppy (registered trademark) disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a magneto-optical disk (MO) as programs that can be executed by a computer. ), And can be distributed in a storage medium such as a semiconductor memory.
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。 In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。 In addition, an OS (operating system) running on a computer based on an instruction of a program installed in the computer from a storage medium, MW (middleware) such as database management software, network software, and the like realize the above-described embodiment. A part of each process may be executed.
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。 Furthermore, the storage medium in the present invention is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN or the Internet is downloaded and stored or temporarily stored.
また、記憶媒体は一つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。 Further, the number of storage media is not limited to one, and the case where the processing in the above embodiment is executed from a plurality of media is also included in the storage media of the present invention, and the media configuration may be any configuration.
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコンやサーバ計算機等の一つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。 The computer according to the present invention executes each process in the above-described embodiment based on a program stored in a storage medium, and a single device such as a personal computer or a server computer or a plurality of devices are connected to a network. Any configuration of the system or the like may be used.
また、本発明におけるコンピュータとは、パソコンやサーバ計算機に限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。 In addition, the computer in the present invention is not limited to a personal computer or server computer, but includes a processing unit, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. is doing.
本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。 The present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine the component covering different embodiment suitably.
10…管理者又はシグナリングプロトコル、11…ポリシー制御モジュール、12…ポリシーテーブル、13…ノード制御モジュール、20…MACアドレステーブル、21…仮想イーサネットスイッチングモジュール、31…仮想ポート制御モジュール、32…カウンタテーブル、33…フィルタモジュール、34…フィルタテーブル、35…アンダーレイネットワーク、H…仮想ハブ、P…仮想ポート。
DESCRIPTION OF
Claims (13)
各ノードの、他ノードと接続するための予め定められたポートそれぞれに、予め定められた閾値を有するカウンタを設け、
予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させ、
各ノードにおいて、前記カウンタを増加、或いは、減少させた結果、前記カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する
ことを特徴とする通信制御方法。 A communication control method applied to a network that performs communication via at least one node,
A counter having a predetermined threshold is provided in each predetermined port for connecting to another node of each node,
When a predetermined trigger occurs, the counter of the corresponding port is increased or decreased by a predetermined value,
A communication control method, wherein a predetermined action is executed when the value of the counter reaches the threshold value as a result of increasing or decreasing the counter in each node.
各ノードの、他ノードと接続するための予め定められたポートそれぞれに、予め定められた閾値を有するカウンタを設け、
予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させ、
各ノードにおいて、前記カウンタを増加、或いは、減少させた結果、前記カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する
ことを特徴とする通信制御方法。 A communication control method applied to a virtual network configured by software on an underlay network and performing communication via at least one node,
A counter having a predetermined threshold is provided in each predetermined port for connecting to another node of each node,
When a predetermined trigger occurs, the counter of the corresponding port is increased or decreased by a predetermined value,
A communication control method, wherein a predetermined action is executed when the value of the counter reaches the threshold value as a result of increasing or decreasing the counter in each node.
ことを特徴とする通信制御方法。 In each node, when the counter value reaches the threshold value within a predetermined time as a result of increasing or decreasing the counter, the predetermined action is executed. Communication control method.
他ノードと接続するための予め定められたポートそれぞれに設けられる、予め定められた閾値を有するカウンタと、
予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させる手段と、
前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する手段と
を具備することを特徴とする通信装置。 A communication device as a node for relaying communication in a network,
A counter having a predetermined threshold provided in each predetermined port for connecting to another node;
Means for increasing or decreasing the counter of the corresponding port by a predetermined value when a predetermined trigger occurs;
And a means for executing a predetermined action when the value of the counter reaches the threshold value as a result of increasing or decreasing the counter.
他ノードと接続するための予め定められたポートそれぞれに設けられる、予め定められた閾値を有するカウンタと、
予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させる手段と、
前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する手段と
を具備することを特徴とする通信装置。 A communication device as a node that relays communication by a virtual hub in a virtual network constructed by software on an underlay network,
A counter having a predetermined threshold provided in each predetermined port for connecting to another node;
Means for increasing or decreasing the counter of the corresponding port by a predetermined value when a predetermined trigger occurs;
And a means for executing a predetermined action when the value of the counter reaches the threshold value as a result of increasing or decreasing the counter.
各サーバは、単一の識別子で識別され、前記クライアントに対して同じサービスを提供し、前記識別子で特定される、自身が提供するサービスに対する要求を前記クライアントから受信すると、サービスに必要な処理を行ない、前記クライアントへ応答を返す手段を備え、
前記クライアントは、前記サービスを享受する場合、前記識別子を宛先とした要求を送信し、いずれかのサーバから要求に対する応答を受信する手段を備え、
前記中継ノードは、全ての仮想ポートがカウンタを有し、このカウンタは、初期値として1を持ち、上閾値として1を、下閾値として0を持つものであり、1)前記クライアントから前記識別子を宛先に持つ要求を受信すると、該カウンタの値を1だけ増加させ、2)前記要求に対するサーバからの前記クライアントへの応答を送信すると、該カウンタの値を1だけ減少させ、3)該カウンタの値が上閾値に達している場合は、以後、該カウンタの値は増加させず、4)該カウンタの値が下閾値に達している場合は、以後、該カウンタの値は減少させないように制御する手段と、該カウンタが下閾値に達した場合、カウンタが下閾値である限り、その仮想ポートからは同じ応答は送信しないように制御する手段とを備えたものであることを特徴とする通信システム。 A virtual network communication system constructed by software on an underlay network, in which a client communicates with at least one server via at least one relay node,
Each server is identified by a single identifier, provides the same service to the client, and receives a request for the service provided by the client, specified by the identifier, from the client, performs processing necessary for the service. And means for returning a response to the client,
When the client enjoys the service, the client includes a means for transmitting a request addressed to the identifier and receiving a response to the request from any server,
In the relay node, all virtual ports have a counter, and this counter has 1 as an initial value, 1 as an upper threshold, and 0 as a lower threshold. 1) The identifier is received from the client. When a request held at the destination is received, the value of the counter is incremented by 1. 2) When a response from the server to the client is transmitted in response to the request, the value of the counter is decreased by 1. 3) If the value has reached the upper threshold value, the counter value is not increased thereafter. 4) If the counter value has reached the lower threshold value, control is performed so that the counter value is not decreased thereafter. And means for controlling not to transmit the same response from the virtual port as long as the counter reaches the lower threshold when the counter reaches the lower threshold. Communication system to be.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008271150A JP4751436B2 (en) | 2008-10-21 | 2008-10-21 | Communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008271150A JP4751436B2 (en) | 2008-10-21 | 2008-10-21 | Communication device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010103633A true JP2010103633A (en) | 2010-05-06 |
JP4751436B2 JP4751436B2 (en) | 2011-08-17 |
Family
ID=42293896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008271150A Expired - Fee Related JP4751436B2 (en) | 2008-10-21 | 2008-10-21 | Communication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4751436B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022031741A (en) * | 2018-02-13 | 2022-02-22 | パロ アルト ネットワークス,インコーポレイテッド | Transport layer signaling security with next generation firewall |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11145980A (en) * | 1997-11-12 | 1999-05-28 | Toshiba Microelectronics Corp | Atm switch and transmission management method for atm cell |
JP2004104427A (en) * | 2002-09-09 | 2004-04-02 | Fujitsu Ltd | Congestion controller in ethernet (r) switch |
JP2004530335A (en) * | 2001-02-19 | 2004-09-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and system for multi-host anycast routing |
JP2004297603A (en) * | 2003-03-27 | 2004-10-21 | Nippon Telegr & Teleph Corp <Ntt> | Trafic flow detecting method, trafic flow detecting device, and packet switching device |
JP2005033360A (en) * | 2003-07-09 | 2005-02-03 | Seiko Instruments Inc | Bridge apparatus and method for processing bridge thereof |
JP2005086762A (en) * | 2003-09-11 | 2005-03-31 | Fujitsu Ltd | Bridge device |
JP2005210601A (en) * | 2004-01-26 | 2005-08-04 | Nippon Telegr & Teleph Corp <Ntt> | Intrusion detector |
JP2005218144A (en) * | 2005-04-22 | 2005-08-11 | Hitachi Ltd | Packet switch and cell transfer control method |
JP2008042665A (en) * | 2006-08-08 | 2008-02-21 | Toshiba Corp | Network virtualization apparatus and network virtualization program |
JP2008252907A (en) * | 2001-08-15 | 2008-10-16 | Precache Inc | Packet routing via payload inspection, and subscription processing in publish-subscribe network |
-
2008
- 2008-10-21 JP JP2008271150A patent/JP4751436B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11145980A (en) * | 1997-11-12 | 1999-05-28 | Toshiba Microelectronics Corp | Atm switch and transmission management method for atm cell |
JP2004530335A (en) * | 2001-02-19 | 2004-09-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and system for multi-host anycast routing |
JP2008252907A (en) * | 2001-08-15 | 2008-10-16 | Precache Inc | Packet routing via payload inspection, and subscription processing in publish-subscribe network |
JP2004104427A (en) * | 2002-09-09 | 2004-04-02 | Fujitsu Ltd | Congestion controller in ethernet (r) switch |
JP2004297603A (en) * | 2003-03-27 | 2004-10-21 | Nippon Telegr & Teleph Corp <Ntt> | Trafic flow detecting method, trafic flow detecting device, and packet switching device |
JP2005033360A (en) * | 2003-07-09 | 2005-02-03 | Seiko Instruments Inc | Bridge apparatus and method for processing bridge thereof |
JP2005086762A (en) * | 2003-09-11 | 2005-03-31 | Fujitsu Ltd | Bridge device |
JP2005210601A (en) * | 2004-01-26 | 2005-08-04 | Nippon Telegr & Teleph Corp <Ntt> | Intrusion detector |
JP2005218144A (en) * | 2005-04-22 | 2005-08-11 | Hitachi Ltd | Packet switch and cell transfer control method |
JP2008042665A (en) * | 2006-08-08 | 2008-02-21 | Toshiba Corp | Network virtualization apparatus and network virtualization program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022031741A (en) * | 2018-02-13 | 2022-02-22 | パロ アルト ネットワークス,インコーポレイテッド | Transport layer signaling security with next generation firewall |
JP7340582B2 (en) | 2018-02-13 | 2023-09-07 | パロ アルト ネットワークス,インコーポレイテッド | Transport layer signal safety using next-generation firewalls |
Also Published As
Publication number | Publication date |
---|---|
JP4751436B2 (en) | 2011-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101478475B1 (en) | Computer system and communication method in computer system | |
US10044600B2 (en) | Method and device for calculating a network path | |
JP6004405B2 (en) | System and method for managing network packet forwarding in a controller | |
JP6146451B2 (en) | COMMUNICATION SYSTEM, COMMUNICATION DEVICE, CONTROL DEVICE, PACKET FLOW TRANSFER ROUTE CONTROL METHOD, AND PROGRAM | |
KR101572771B1 (en) | System and methods for controlling network traffic through virtual switches | |
US8767558B2 (en) | Custom routing decisions | |
WO2012127886A1 (en) | Network system, and policy route configuration method | |
US10862800B2 (en) | Method and system for managing network communications | |
WO2014101398A1 (en) | Software defined network based data processing method, node and system | |
US9860170B2 (en) | Method, device, and system for packet routing in a network | |
JPWO2011162215A1 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, NODE CONTROL METHOD, AND PROGRAM | |
US10009282B2 (en) | Self-protecting computer network router with queue resource manager | |
WO2014133025A1 (en) | Communication system, host controller, network control method, and program | |
JP4751436B2 (en) | Communication device | |
CN112968879B (en) | Method and equipment for realizing firewall management | |
US20240154897A1 (en) | Active-standby switchover in border gateway protocol (bgp) network using graceful attract community | |
US20140195685A1 (en) | System and method for session control in converged networks | |
US20150326474A1 (en) | Path to host in response to message | |
JP6314970B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100910 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110325 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110426 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110520 |
|
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: 20140527 Year of fee payment: 3 |
|
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 |