JP4751436B2 - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP4751436B2
JP4751436B2 JP2008271150A JP2008271150A JP4751436B2 JP 4751436 B2 JP4751436 B2 JP 4751436B2 JP 2008271150 A JP2008271150 A JP 2008271150A JP 2008271150 A JP2008271150 A JP 2008271150A JP 4751436 B2 JP4751436 B2 JP 4751436B2
Authority
JP
Japan
Prior art keywords
virtual
counter
filter
port
predetermined
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
Application number
JP2008271150A
Other languages
English (en)
Other versions
JP2010103633A (ja
Inventor
淳一 中里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2008271150A priority Critical patent/JP4751436B2/ja
Publication of JP2010103633A publication Critical patent/JP2010103633A/ja
Application granted granted Critical
Publication of JP4751436B2 publication Critical patent/JP4751436B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、クライアントが中継ノードを介して通信を行うネットワークに適用される通信装置に関する。
アンダーレイネットワーク上に構築される主なオーバレイネットワーク(以後、「仮想ネットワーク」とも称する)としては、イーサネット(登録商標)に基づく仮想イーサネットが知られている。仮想イーサネットは、例えば以下のようにして形成する。
・ある計算機上にイーサネットスイッチングハブをエミュレートするソフトウェア(以後、「仮想ハブ」と称する)を動作させる(以後、仮想ハブを動作させる計算機を「サーバ」或いは「中継装置」と称する)。
・仮想イーサネットに参加を希望する計算機が、ソフトウェアにて構築された仮想的なネットワークインタフェース(以後、「仮想ネットワークインタフェース」と称する)を介して、仮想ハブに接続する(以後、仮想ネットワークインタフェースを動作させる計算機を「クライアント」と称する)。
・仮想ハブ−仮想ネットワークインタフェース間の接続(すなわち、サーバ−クライアント間の接続)、或いは、仮想ハブ−仮想ハブ間の接続(すなわち、サーバ−サーバ間の接続)には、例えば、現在、広く使用されているTCP/IP等のアンダーレイネットワークを用いる。
・仮想ハブでのスイッチング処理(送信ポート決定処理)は、受信したイーサネットフレームの宛先MACアドレスを元に行なう。
このような仮想イーサネットの一般的な構成を図38に示す。
例えばTCP/IPネットワークであるアンダーレイネットワーク150は、オーバレイネットワークである仮想イーサネット154を構築する基盤となる物理ネットワークである。アンダーレイネットワーク150は、ファイアウォール156、ルータ157、リンク層の通信装置(イーサネットならばハブやスイッチングハブ)により構成される。ルータ157は、TCP/IPネットワークを構成するネットワーク層の装置であり、一般的なものであることから、ここではその詳細な説明を割愛する。また、ファイアウォール156は、内部ネットワーク160と外部ネットワーク161との境界に設置されるセキュリティ装置であり、一般的なものであることからここではその詳細な説明を割愛する。
クライアント153は、仮想イーサネット154を構成する仮想ハブ151に接続する計算機であり、仮想ネットワークインタフェース152を介して仮想ハブ151に接続する。仮想ハブ151は、このように複数のクライアント153とのコネクションを保持する中継ノードとして機能する。サーバ155は、このような仮想ハブ151を配置するネットワーク仮想化装置である。本明細書では、このようなネットワーク仮想化装置であるサーバ155と、ネットワーク仮想化装置によって制御される端末であるクライアント153とを合わせてネットワーク仮想化システムと称する。仮想イーサネット154は、一つ又は複数の仮想ハブ151に、それぞれ仮想ネットワークインタフェース152を持った複数のクライアント153が接続することにより構築される。
特開2008−042665号公報
上記従来技術のネットワーク、例えば仮想イーサネットは、物理的なイーサネットのインフラをソフトウェアによるエミュレートで置き換えたものであり、イーサネットセグメント構築の柔軟性において、以下のようなメリットがある。
・物理的、地理的制約を受けない
・目的別、組織別のセグメントの構築が容易
・オンデマンドでイーサネットセグメントを構築、廃棄できる
しかしながら、仮想イーサネットは、あくまで、イーサネットのエミュレーションであり、効率的なCDN(Content Delivery Network)、ネットワーク上でのリソース検索、或いは、負荷分散、冗長経路による高信頼化、などのより高付加価値な機能は有していない。
仮想イーサネットに限らず、上述したようなより高付加価値な機能を有するネットワークの実現が望まれる。
本発明は上記実情に鑑みてなされたものであり、高付加価値な機能を有するネットワークを実現する通信装置を提供することを目的とする。
本発明の一態様による通信装置は、アンダーレイネットワーク上にソフトウェアにより構築される仮想ネットワークにおいて仮想ハブにより通信の中継を行なうノードとしての通信装置であって、他ノードと接続するための予め定められたポートそれぞれに設けられる、予め定められた閾値を有するカウンタと、予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させる手段と、前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する手段とを具備し、前記予め定められたトリガは、予め定められたデータを送信した場合に発生するとともに、予め定められたデータを受信した場合に発生するものであり、前記予め定められたアクションは、1)カウンタの値の増加又は減少の停止又は開始、或いはリセット、2)特定データの送信又は受信の停止又は開始、3)該当ポートでの送信又は受信の停止又は開始、或いは送受信に関わるパラメータ、接続先の変更、4)ノードの移動、分割、統合、のうちの少なくとも1つに該当するものであることを特徴とする。
本発明によれば、高付加価値な機能を有するネットワークを実現することができる。
以下、図面を参照して、本発明の実施形態について説明する。各実施形態では、仮想イーサネットを例に挙げる。
<第1の実施形態>
まず、本発明の第1の実施形態について説明する。この第1の実施形態では、後述する第2〜第6の実施形態にも共通する基本概念について述べる。
図1は、本発明の第1の実施形態に係る仮想ネットワークノードの基本構成の一例を示す図である。なお、この図1は、後述する第2〜第6の実施形態にも適用されるものである。
図1は、仮想イーサネットにおける仮想ハブを想定したものであるが、図中の仮想イーサネットスイッチングモジュールを上位プロトコル、例えば、イーサネット層、TCP/IP層と考えると、仮想ネットワークインタフェースを想定したものと考えることが出来るので、本実施形態は、仮想イーサネットにおける仮想ハブ、仮想ネットワークインタフェース双方に適用可能なものである。
以後、仮想ハブ及び仮想ネットワークインタフェースを特に区別しない場合は、これらを単に仮想ネットワークノードと呼ぶ。
図1に示される仮想ハブHは、管理者又はシグナリングプロトコル10からの指示を受けるポリシー制御モジュール11、ポリシーテーブル12、ノード制御モジュール13、MACアドレステーブル20、仮想イーサネットスイッチングモジュール21、及び、複数の仮想ポートPを有する。各仮想ポートは、仮想ポート制御モジュール31、カウンタテーブル32、フィルタモジュール33、フィルタテーブル34、及び、アンダーレイネットワーク35を有する。
以下では、これら各種のモジュール群及びテーブル群について説明する。
・ポリシー制御モジュール11
ポリシー制御モジュール11は、ポリシーテーブル12のメンテナンス、及び、ノードが取るべきアクションの実行制御等を行ない、具体的には、以下の処理を行なう。
- 管理者又はシグナリングプロトコル10からの指示によるポリシーテーブル12の設定、及び、仮想ポート制御モジュール31へのカウンタテーブルエントリ設定指示の送信
- 仮想ポート制御モジュール31からのイベントの通知をトリガとした、仮想ポート制御モジュール31、或いは、ノード制御モジュール13へのアクション実行の指示送信
・ポリシーテーブル12
ポリシーテーブル12のフォーマットを図2に示す。ポリシーテーブル12は、図2に示されるように、以下の項目を有する。
(1) 仮想ポート番号
仮想ポートPと本テーブルのエントリをバインドするものである。
(2) イベント番号
上記番号で指定される仮想ポートPの仮想ポート制御モジュール31が保持するカウンタテーブル32のエントリと、本テーブルのエントリをバインドするためのものである。
(3) アクション
仮想ポート制御モジュール31に指示する内容である。例えば、ポートの開閉、送受信データの廃棄、などである。
・ノード制御モジュール13
ノード制御モジュール13は、ポリシー制御モジュール11からの指示により、自ノードの移動、分割、統合等の制御を行なう。なお、ここでは詳細な説明を割愛する。詳細については、例えば特開2008−042665号公報に、仮想ハブ制御モジュールとして詳しく説明されている。
・仮想イーサネットスイッチングモジュール21
仮想イーサネットスイッチングモジュール21は、イーサネットスイッチング処理をエミュレートする部分であり、MACアドレステーブル20に基づき、仮想ポート間のデータ(イーサネットフレーム)のスイッチングを行なう。なお、ここでの処理は、一般的なものであることから、ここではその詳細な説明を割愛する。
・仮想ポートP
仮想ポートPは、他ノードとの仮想的な通信リンクの端点であり、仮想ハブの場合は仮想イーサネットスイッチングモジュール21との、仮想ネットワークインタフェースの場合は上位プロトコルとのインタフェースを持ち、これらから受け取ったデータをアンダーレイネットワーク35を使用して他ノードへ送出し、他ノードからアンダーレイネットワーク35を使用して受け取ったデータをこれらへ渡す。
上記仮想ポートPは、以下のサブモジュール、及び、テーブルを持つ。
- 仮想ポート制御モジュール31
仮想ポート制御モジュール31は、以下の処理を行なう。
* ポリシー制御モジュール11からの指示によるカウンタテーブル32の設定、及び、フィルタモジュール33へのフィルタテーブルエントリ設定指示の送信
* フィルタモジュール33からのフィルタにヒットした旨の通知をトリガとしたカウンタの増減、及び、カウンタ値が閾値に達した場合のポリシー制御モジュール11へのイベント発生の通知
* ポリシー制御モジュール11からの指示による仮想ポートPへのアクションの実行
- カウンタテーブル32
カウンタテーブル32のフォーマットを図3に示す。カウンタテーブル32は、図3に示されるように、以下の項目を有する。
(1) イベント番号
ポリシー制御モジュール11が保持するポリシーテーブル12のエントリと、本テーブルのエントリをバインドするためのものである。
ポリシー制御モジュール11がアサインし、カウンタテーブル設定時、仮想ポート制御モジュール31に通知される。
(2) フィルタ番号
フィルタモジュール33が保持するフィルタテーブル34のエントリと、本テーブルのエントリをバインドするためのものである。
仮想ポート制御モジュール31がアサインし、フィルタモジュール33に、フィルタエントリ作成時に通知する。
(3) カウンタ
送受信されるデータが、フィルタモジュール33が保持するフィルタエントリにヒットした場合に増減される。
ポリシー制御モジュール11の指示により、初期値が設定される。
(4) カウンタ閾値
上記カウンタの上閾値、或いは、下閾値であり、カウンタ値がこれらに到達した場合に、イベント発生となる。
ポリシー制御モジュール11の指示により、初期値が設定される。
(5) カウンタ増減値
上記カウンタが増減される時の増減値である。
ポリシー制御モジュール11の指示により、初期値が設定される。
- フィルタモジュール33
フィルタモジュール33は、仮想ポート制御モジュール31からの指示によりフィルタテーブル34にフィルタエントリを作成し、保持する。送受信データがフィルタエントリにヒットした場合、その旨を仮想ポート制御モジュール31に通知する。
- フィルタテーブル34
フィルタテーブル34のフォーマットを図4に示す。フィルタテーブル34は、図4に示されるように、以下の項目を有する。
(1) フィルタ番号
仮想ポート制御モジュール31が保持するカウンタテーブル32のエントリと、本テーブルのエントリをバインドするためのものである。
仮想ポート制御モジュール31がアサインし、フィルタエントリ作成時に通知される。
(2) フィルタパターン
フィルタエントリのフィルタパターンについては、ネットワーク処理で使用される一般的なものと同等のものを想定しているため、ここでは詳細は割愛するが、必要に応じて、以降の実施形態の中で詳述する。
(3) 方向
送信、或いは、受信を示す。
(4) アクション
ポリシー制御モジュール11から、仮想ポート制御モジュール31経由で指示される内容である。例えば、ポートの開閉、送受信データの廃棄、などである。
- アンダーレイネットワーク35
他ノードとの通信を実際に行なうプロトコルである。
図5に、図1中に示される各種のモジュール群による一般的な処理フローを示す。
ここでは、一例として、複数の仮想ポートPのうちのある仮想ポート2にて、送信元MACアドレスがMAC−A、宛先MACアドレスがブロードキャストアドレスであるイーサネットフレームを受信した後、同仮想ポートにて、宛先MACアドレスがMAC−Aであるイーサネットフレームが一度だけ送信される、といった処理を題材に、上記モジュール群(間)の処理詳細を以下に説明する。
なお、ポリシーテーブル12、及び、それに伴うカウンタテーブル32、フィルタテーブル34の初期設定は、管理者又はシグナリングプロトコル10からの指示がトリガとなり行なわれるものであるが、これらの処理は本実施形態の主旨ではないため、詳細は割愛する。
1.仮想ネットワークノードのポリシー制御モジュール11は、管理者又はシグナリングプロトコル10から、上記指示を受信すると(ステップS1)、以下の処理を行なう。
(a) ポリシーテーブル12を図6に示すように設定する(ステップS2)。
(b) 仮想ポート2の仮想ポート制御モジュール31に、カウンタテーブル設定要求を送信する(ステップS3)。具体的内容は以下の通りである。
・カウンタタイプ:増減停止タイプ(上閾値に到達した場合、再びその閾値を下回るまで、それ以後の増加を停止、或いは、下閾値に到達した場合、再びその閾値を上回るまで、それ以後の減少を停止するタイプのカウンタ)
・カウンタ初期値:1
・イベント番号:100、上閾値:1、増加値:1、フィルタパターン:送信元MACアドレスMAC−A、宛先MACアドレスブロードキャスト、方向:受信
・イベント番号:101、下閾値:0、減少値:1、フィルタパターン:宛先MACアドレスMAC−A、方向:送信
2.仮想ポート2の仮想ポート制御モジュール31は、ポリシー制御モジュール11から上記カウンタテーブル設定要求を受信すると、以下の処理を行なう。
(a) カウンタテーブル32を図7に示すように設定する(ステップS4)。
(b) フィルタモジュール33に、フィルタ設定要求を送信する(ステップS5)。具体的内容は以下の通りである。
・フィルタ番号:10、フィルタパターン:送信元MACアドレスMAC−A、宛先MACアドレスブロードキャスト、方向:受信、アクション:NULL
・フィルタ番号:11、フィルタパターン:宛先MACアドレスMAC−A、方向:送信、アクション:NULL
なお、アクション“NULL”とは、仮想ポートのデフォルトの動作を表す。通常は送受信データともに“PASS”、すなわち、送受信することを意味する(以降、同様)。
3.仮想ポート2のフィルタモジュール33は、仮想ポート制御モジュール31から上記フィルタ設定要求を受信すると、以下の処理を行なう。
(a) フィルタテーブル34を図8に示すように設定する(ステップS6)。
4.上記状態で、該当仮想ネットワークノードが、仮想ポート2から、送信元MACアドレスがMAC−A、宛先MACアドレスがブロードキャストアドレスのイーサネットフレームを受信したとする(ステップS7)。
5.仮想ポート2のフィルタモジュール33は、上記イーサネットフレームを受信すると、以下の処理を行なう。
(a) フィルタ番号10のフィルタエントリにヒットするので、フィルタヒット通知を仮想ポート制御モジュール31に送信する(ステップS8)。具体的内容は以下の通りである。
・フィルタ番号:10
6.仮想ポート2の仮想ポート制御モジュール31は、フィルタモジュール33から上記フィルタヒット通知を受信すると、以下の処理を行なう。
(a) カウンタテーブル32を検索し、フィルタ番号10のエントリが存在するが、増減停止タイプのカウンタなので、カウンタは増加させない(ステップS9)。
(b) その結果、カウンタ値に変化が無いため、イベントは発生しない。
7.次に、該当仮想ネットワークノードが、仮想ポート2へ、宛先MACアドレスがMAC−Aのイーサネットフレームを送信したとする。
8.仮想ポート2のフィルタモジュール33は、上記イーサネットフレームを送信すると、以下の処理を行なう。
(a) フィルタ番号11のフィルタエントリにヒットするので、フィルタヒット通知を仮想ポート制御モジュール31に送信する(ステップS8)。具体的内容は以下の通り。
・フィルタ番号:11
9.仮想ポート2の仮想ポート制御モジュール31は、フィルタモジュール33から上記フィルタヒット通知を受信すると、以下の処理を行なう。
(a) カウンタテーブル32を検索し、フィルタ番号11のエントリが存在するので、カウンタを1だけ減少させる(ステップS9)。
(b) その結果、カウンタ値が下閾値に達したため、ポリシー制御モジュール11にイベント通知を送信する(ステップS10)。具体的内容は以下の通りである。
・仮想ポート番号:2
・イベント番号:101
10.ポリシー制御モジュール11は、仮想ポート2の仮想ポート制御モジュール31から上記イベント通知を受信すると、以下の処理を行なう。
(a) ポリシーテーブル12を検索し(ステップS11)、仮想ポート番号2、イベント番号101のエントリがあるので、仮想ポート2の仮想ポート制御モジュール31にアクション要求を送信する(ステップS12)。具体的内容は以下の通りである。
・仮想ポート番号:2
・イベント番号:101
・フィルタ番号:11
・アクション:DROP(イーサネットフレーム廃棄)
11.仮想ポート2の仮想ポート制御モジュール31は、ポリシー制御モジュール11から上記アクション要求を受信すると、以下の処理を行なう。
(a) カウンタテーブル32を検索し、イベント番号101、フィルタ番号11のエントリが存在するので、フィルタモジュール33にフィルタ設定要求を送信する。具体的内容は以下の通りである。
・フィルタ番号:11、フィルタパターン:変更無し、方向:変更無し、アクション:DROP(イーサネットフレーム廃棄)
12.以後、仮想ポート2では、再度送信元MACアドレスがMAC−A、宛先MACアドレスがブロードキャストのイーサネットフレームを受信しない限り、宛先MACアドレスがMAC−Aのイーサネットフレームは送信されないようになる。
13.その後、仮想ポート2で再度送信元MACアドレスがMAC−A、宛先MACアドレスがブロードキャストのイーサネットフレームを受信すると、カウンタテーブル32の該当カウンタが1だけ増加され、その結果、イベント番号100のイベントが発生し、更に、その結果、それに対応するアクション(フィルタ11:PASS(イーサネットフレーム通過))が仮想ポート2に対して実行される。
14.上記の結果、仮想ポート2は、処理6が終了した場合と同様の状態、つまり、宛先MACアドレスがMAC−Aのイーサネットフレームを一度だけ送信することが可能な状態となる。
この第1の実施形態によれば、値の増加だけでなく減少を行ったり、閾値による増加や減少の停止を行うカウンタを利用することにより、簡単な仕組みにより、高付加価値なネットワークの実現が可能となる。
以下の各実施形態では、複数ノードによる、より具体的な利用シーンについて述べる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。この第2の実施形態では、前述の第1の実施形態で示した基本概念を、エニーキャストのエミュレートを行うシーンに適用した場合の例について説明する。
エニーキャストとは、同一のサービスを提供する複数のサーバが単一のアドレスを持ち、クライアントはそのアドレスに対してアクセスするだけで所望のサービスを享受することができる一方、実際にどのサーバにアクセスしているかは知る必要が無い、というものである。
なお、IPネットワークの世界では、DNSサーバの複数配置などにエニーキャストが使用されているが、そこでは、特定の経路ドメインに属すクライアントは特定のDNSサーバにアクセスするように、IP経路制御のフレームワークによりエニーキャストアドレスと実際にクライアントによりアクセスされるサーバとのマッピングが制御されている。
一方、本実施形態では、エニーキャストを実現するために、以下のようなフレームワークを提供するものである。
・クライアントからのサービス要求(エニーキャストアドレス宛パケット)は、全てのサーバに送信される。
・サービス要求を受信したサーバ全てが、該当クライアント宛にサービス応答を送信する。
・ネットワークを構成する各仮想ハブが、上記要求、応答を送受信する仮想ポートのカウンタを操作することにより、一旦応答が送信された仮想ポートに対しては、同じ要求に対する応答の送信を抑制する。
上記フレームワークにより、IP経路制御のような複雑な仕組みを用いること無しに、サーバ群からの全ての応答がクライアントにより受信されること、及び、それに至るノード群により転送されることを回避することで、ネットワークのリソースを浪費せずにエニーキャストを実現することができる。
図9に、本実施形態に係る通信システムの構成の一例を示す。
本実施形態に係る通信システムは、1つのクライアントと複数のサーバ0〜5とが仮想ハブ0〜7を介して接続されたネットワークを構成しているものとする。仮想ハブ0〜7は、それぞれ、前述の第1の実施形態で説明した仮想ハブHと同じ機能を有するノードである。個々のノードの処理詳細については、第1の実施形態で述べた通りであるため、その詳細な説明を省略する。ここでは、システム全体の挙動に焦点を絞って説明する。
更に、本実施形態では、IPエニーキャストアドレスは、宛先MACアドレスとしてブロードキャストアドレス、或いは、マルチキャストアドレスを有するイーサネットフレームに格納されて、クライアントから送信されるものとする。つまり、IPアドレスからMACアドレスへのアドレス解決に静的バインドを使用する(ARPによるアドレス解決を使用する場合については後述)。
最初に、図10を参照して、本実施形態の仕組みが導入されていない場合の動作を説明する。
1.クライアントがIPアドレスIP−Cを、サーバ0〜5が、IPエニーキャストアドレスIP−AC−Aを持つものとする。
2.IPクライアントが、IP−AC−A宛のIPパケットを送信する。
3.上記IPパケットを格納するイーサネットフレームの宛先MACアドレスは、ブロードキャストアドレス、或いは、マルチキャストアドレスなので、本ネットワーク上の全ノードに送信される。
4.サーバ0〜5は、受信したイーサネットフレームに格納されているIPパケットの宛先が自身のアドレスIP−AC−Aであるので、それに対して然るべき処理を行なった後、クライアント宛に応答を返す(宛先IPアドレスIP−C)。
5.サーバ0が送信した応答は、仮想ハブ2、1、0を経て、クライアントで受信される。
6.サーバ1が送信した応答は、仮想ハブ3、1、0を経て、クライアントで受信される。
7.サーバ2、3が送信した応答は、仮想ハブ5、4、1、0を経て、クライアントで受信される。
8.サーバ4が送信した応答は、仮想ハブ6、4、1、0を経て、クライアントで受信される。
9.サーバ5が送信した応答は、仮想ハブ7、4、1、0を経て、クライアントで受信される。
この場合の各ノード間での上記応答パケットの転送状態を図10に示す。図10に示される通り、同じ応答パケットが複数回、複数の仮想ハブを経ており、非常に非効率的である。更に、クライアントはサーバの台数分応答を受信することになり、これも非効率的である。
次に、図11〜図20を参照して、本実施形態の仕組みが導入された場合の動作を説明する。
1.クライアントがIPアドレスIP−C、MACアドレスMAC−Cを、サーバ0〜5が、IPエニーキャストアドレスIP−AC−Aを持つものとする。また、クライアントは、IP−AC−Aを、宛先MACアドレスMAC−MC−Aのイーサネットフレームに格納して送信するものとする。
2.仮想ハブ0〜7全ての仮想ポートが、図12、図13、図14に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。図中のワイルドカードは、任意のMACアドレスを示す。また、図では仮想ポート0のみ記しているが、他の仮想ポートも同じ内容である。
3.IPクライアントが、IP−AC−A宛のIPパケットを送信する。
4.上記IPパケットを格納するイーサネットフレームの宛先MACアドレスは、マルチキャストアドレスなので、本ネットワーク上の全ノードに送信される。
5.各仮想ハブの、クライアント側の仮想ポートを上流ポート、サーバ側の仮想ポートを下流ポートとした場合、該当イーサネットフレームの送受信により、各仮想ハブの上流ポートのポリシーテーブル、カウンタテーブル、フィルタテーブルは、それぞれ、図15、図16、図17のようになる。
この時点で、フィルタパターン中のワイルドカード部分が具体化された新たなフィルタエントリが作成され、以後、フィルタのマッチング処理では、これら具体化されたフィルタエントリがワイルドカードのエントリよりも優先される。
6.サーバ0〜5は、受信したイーサネットフレームに格納されているIPパケットの宛先が自身のアドレスIP−AC−Aであるので、それに対して然るべき処理を行なった後、クライアント宛に応答を返す(宛先IPアドレスIP−C、宛先MACアドレスMAC−C)が、ここで、サーバ2が最も速く、応答処理を行ない、他サーバが応答を送信する前に、サーバ2からの応答がクライアントで受信されたとする。この時点で、各仮想ハブ0、1、4、5の上流ポートのポリシーテーブル、カウンタテーブル、フィルタテーブルは、それぞれ、図18、図19、図20のようになる。
一方、仮想ハブ2、3、6、7の同テーブルに変化は無いが、上記と同様、こらら仮想ハブについても、その後、あるサーバからの応答を受信すると、同テーブルが上記と同様になる。
このような状態で、他のサーバが送信した応答は以下のようになる。
7.サーバ0が送信した応答は、仮想ハブ2を経て、仮想ハブ1で廃棄される。
8.サーバ1が送信した応答は、仮想ハブ3を経て、仮想ハブ1で廃棄される。
9.サーバ3が送信した応答は、仮想ハブ5で廃棄される。
10.サーバ4が送信した応答は、仮想ハブ6を経て、仮想ハブ4で廃棄される。
11.サーバ5が送信した応答は、仮想ハブ7を経て、仮想ハブ4で廃棄される。
この場合の各ノード間での上記応答パケットの転送状態を図11に示す。図11に示される通り、結果的に、各サーバからクライアント宛の重複した応答は、よりサーバに近い仮想ハブにて廃棄されるため、ネットワークリソースの浪費を抑制することが可能である。ちなみに、本構成では、最悪の場合でも、少なくとも仮想ハブ0への応答の流入は抑制されることがわかる。
次に、IPエニーキャストアドレスとそれを格納するイーサネットフレームの宛先MACアドレスのアドレス解決に通常のARP(Address Resolution Protocol)を使用する場合について説明する。
この場合は、クライアントが宛先IPアドレスIP−AC−AのIPパケットを送信する前に、MACアドレスへのアドレス解決が行なわれるが、そのためのARPリクエスト、ARP応答に対して、上記と同様の処理が行なわれることになる。つまり、ARPリクエストはブロードキャストで全サーバにより受信され、そのうち、最速で応答処理をしたサーバからのARPレスポンスのみがクライアントに受信され、その他のサーバからのARPレスポンスは、途中のいずれかの仮想ハブの上流ポートで廃棄される。
結果的に、アドレス解決後のIP−AC−A宛のIPパケットは、ある一つのサーバにのみ送信され、それに対する応答も、そのサーバからクライアントへ送信されることになる(IPレベルでは双方向ともにユニキャスト通信)。
この第2の実施形態によれば、簡単な仕組みにより、効率良く、エニーキャストのエミュレートを行うことができ、システム性能の向上や、リソースの最適化を図ることが可能となる。
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。この第3の実施形態では、前述の第1の実施形態で示した基本概念を、サーバへの同時アクセスが可能なクライアント数を制限するシーンに適用した場合の例について説明する。
図21に、本実施形態に係る通信システムの構成の一例を示す。
本実施形態に係る通信システムは、複数のクライアント0〜8と1つのサーバとが仮想ハブ0〜5を介して接続されたネットワークを構成しているものとする。仮想ハブ0〜5は、それぞれ、前述の第1の実施形態で説明した仮想ハブHと同じ機能を有するノードである。ここでは、複数のクライアント0〜8がサーバにある要求を出し、サーバはその要求に対して然るべき処理をした後、要求を送ってきたクライアントに応答を返すようなシステムを想定している。
以下、図21〜図24を参照して、本実施形態における動作を説明する。
1.サーバがIPアドレスIP−Sを持つものとする。
2.仮想ハブ3の仮想ポート0が、図22、図23、図24に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。
3.あるクライアントがサーバに要求を送信すると、仮想ハブ3は仮想ポート0からその要求を仮想ハブ4へ送出するが、その時、該当カウンタが1だけ増える。その後、仮想ハブ3は、上記要求に対する応答を仮想ポート0から受信すると、同カウンタを1だけ減じる。
4.ここで、クライアントからサーバへのアクセスが並列では無い場合、仮想ハブ3の該当カウンタは0と1の間で遷移するだけであり、仮想ハブ3の仮想ポート0に関する何らかのアクションが取られることは無い。
5.一方、クライアントからサーバへのアクセスが並列の場合、つまり、あるクライアントからの要求に対する応答がサーバから送信される前に、他のクライアントが要求を送信するような場合で、更には、サーバからの応答送信よりもクライアントからの要求送信の頻度のほうが高いような場合、いずれ、上記カウンタは上閾値である5に達する。この時点で、仮想ハブ3ではイベント300が発生し、その結果、仮想ポート0のフィルタ30に対するDROP(イーサネットフレーム廃棄)のアクションが実行される。
6.以後、上記カウンタが5の状態の間は、仮想ハブ3の仮想ポート0では、宛先がIP−Sであるパケットは全て廃棄される。
7.その後、サーバが応答の送信を順次行ない、上記カウンタ値が減じられ、その結果、下閾値である3に達すると、仮想ハブ3ではイベント301が発生し、その結果、仮想ポート0のフィルタ30に対するPASS(イーサネットフレーム通過)のアクションが実行される。
8.以後、上記カウンタが再び5に達しない間は、仮想ハブ3の仮想ポート0では、宛先がIP−Sであるパケットは全て送信される。
なお、上記例では、下閾値を3としたが、これは、システムの要件、運用ポリシー等により、3以外の値に設定することももちろん可能である。
この第3の実施形態によれば、簡単な仕組みにより、効率良く、サーバへの同時アクセスが可能なクライアント数を制限することができ、可用性の向上を図ることが可能となる。
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。この第4の実施形態では、前述の第1の実施形態で示した基本概念を、ある方向からの異常トラフィック(DoSなど)を遮断、或いは、流量制限する、といったシーンに適用した場合の例について説明する。
図25に、本実施形態に係る通信システムの構成の一例を示す。
例えば、仮想ハブHの仮想ポート0側は自組織、仮想ポート1側は他組織、といった構成を想定している。つまり、他組織からの異常トラフィックをアクション対象とするものである。
以下、図25〜図28を参照して、本実施形態における動作を説明する。
1.仮想ハブHの仮想ポート1が、図26、図27、図28に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。
2.仮想ハブHの観点で、仮想ポート0から仮想ポート1へのトラフィック、及び、その逆方向のトラフィックに大きな差が無い場合、該当カウンタは上閾値1000(もしくは下閾値200)よりも十分小さい値を増減するのみであろう。
3.ここで、例えば、仮想ポート1から仮想ポート0へのトラフィックが急増した場合、上記カウンタはいずれ上閾値1000に到達する。この時点で、仮想ハブHではイベント700が発生し、その結果、仮想ポート1のフィルタ70に対する受信停止のアクションが実行される。
4.以後、仮想ハブHの仮想ポート1では、受信処理は一切行なわれない。
5.その後、仮想ポート0から仮想ポート1方向のトラフィックが発生するたびに、上記カウンタは減じられ、いずれ、上記カウンタは下閾値200に到達する。その結果、仮想ハブHではイベント701が発生し、その結果、仮想ポート1のフィルタ70に対する受信開始アクションが実行される。
6.以後、上記カウンタが再び1000に達しない間は、仮想ハブHの仮想ポート1では、受信処理は行なわれる。
なお、上記カウンタ処理にタイマの概念を導入することも可能である。この場合、例えば、以下のようになる。
・該当カウンタに対して、上閾値1000に達するまでのタイマとして60秒を設定する。
・60秒以内に上記カウンタが上閾値に達すれば、上記例と同様のアクションを実行する。
・上記カウンタが上閾値1000に達する前に上記タイマの期間が満了した場合、上記カウンタに対してリセットのアクション(初期値に再設定)が実行されると同時に、同タイマが再び起動される。
すなわち、トラフィックが異常であると判断する基準に、「単位時間当たり」の概念を導入するものと言える。
なお、上記例では、該当カウンタが上閾値1000に達した場合に、該当仮想ポートでの受信を停止、すなわち、仮想ポートの閉塞を実行した。一方で、仮想ポートに優先度キュー、CoS処理等の機能がある場合には、これらのパラメータを変更する、というアクションを実行することで、問題となっている方向のトラフィックを完全に停止するのではなく、流量の制限を行なうことができる。
この第4の実施形態によれば、簡単な仕組みにより、効率良く、ある方向からの異常トラフィックを遮断、或いは、流量制限することができ、可用性の向上を図ることが可能となる。
<第5の実施形態>
次に、本発明の第5の実施形態について説明する。この第5の実施形態では、前述の第1の実施形態で示した基本概念を、あるリージョンのトラフィック量に応じて、仮想ハブの移動(最適配置)を行なう、といったシーンに適用した場合の例について説明する。
図29に、本実施形態に係る通信システムの構成の一例を示す。
例えば、仮想ハブHは仮想ポート0〜3を持ち、それぞれのポート間でトラフィックのスイッチングを行なっている。ここで、仮想ポート0と1の先に接続されている他ノード、及び、仮想ポート2と3の先に接続されている他ノードは、物理的に近い場所に存在することがわかっているとする。
また、本実施形態では、仮想ポートのグループ化という概念を導入し、カウンタはグループ毎に持つこととする(これまでの実施形態では、カウンタは全て仮想ポートに属すものであった)。また、フィルタパターンとして、「仮想ポート間トラフィック」という概念も導入する(これまでの実施形態では、フィルタパターンはデータそのものの属性によるものであった)。
以下、図29〜図32を参照して、本実施形態における動作を説明する。
1.仮想ハブHの仮想ポート0〜3を仮想ポートグループとする。
2.仮想ハブHの上記仮想ポートグループが、図30、図31、図32に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。
3.仮想ハブHの観点で、仮想ポート0−仮想ポート1間のトラフィック、及び、仮想ポート2−仮想ポート3間のトラフィックに大きな差が無い、該当カウンタは初期値100付近を増減するのみであろう。
4.ここで、例えば、仮想ポート0−仮想ポート1間のトラフィックが急増し、仮想ポート2−仮想ポート3間のトラフィックに比べ、明らかに多くなった場合、上記カウンタはいずれ上閾値200に到達する。この時点で、仮想ハブHではイベント600が発生し、その結果、自ノードに対するアクション(図中右側の実行環境への移動、及び、上記カウンタの初期値へのリセット)が実行される。なお、所定の記録領域に、図中右側の実行環境を示す情報が予め格納されており、その情報を参照することにより当該実行環境への移動が可能となる。
5.以後、仮想ハブHは、よりトラフィック量が多い他ノードに物理的に近い位置で動作することとなり、ネットワークリソースの消費の観点でより効率的となる。
6.その後、例えば、上記とは逆に、仮想ポート2−仮想ポート3間のトラフィックが増えた場合、上記カウンタは下閾値0に到達する。この時点で、仮想ハブHではイベント601が発生し、その結果、自ノードに対するアクション(図中左側の実行環境への移動、及び、上記カウンタの初期値へのリセット)が実行される。なお、所定の記録領域に、図中左側の実行環境を示す情報が予め格納されており、その情報を参照することにより当該実行環境への移動が可能となる。
なお、上記例では、アクションとして右移動、左移動を定義したが、動作環境により、中央への移動(元の場所)も定義し、移動を二段階にする、とったことも可能である。
また、第4の実施形態と同様、上記カウンタ処理にタイマの概念を導入することも可能である。
更に、上記例では、自ノードの移動というアクションであったが、自ノードの分割というアクションも想定される。この場合、例えば、上記例の処理4の部分が、以下のように置き換わることとなる。
・図中右側の実行環境へ新たに仮想ハブH’を生成
・仮想ハブHが、仮想ポート0、及び、仮想ポート1で収容していた他ノードを、上記新たに作成した仮想ハブH’へ接続変更する。
・仮想ハブHは、新たに作成した仮想ハブH’との接続(仮想ポート)を生成する。
また、上記例では、自ノードの分割というアクションであったが、逆に、他ノードへの統合というアクションも想定される。この場合、例えば、上記分割され、右側で動作中の仮想ハブH’が、以下のような処理を行うことになる。
・仮想ハブHと接続している仮想ポート以外の仮想ポート間のトラフィックが減少した場合、ポリシーテーブル、カウンタテーブル、フィルタテーブルの設定(既出のものと大きくは違わないため、詳細は省略)に従い、自ノードに対するアクション(他仮想ハブへの統合)が実行される。なお、所定の記録領域に、統合先の仮想ハブを示す情報が予め格納されており、その情報を参照することにより当該実行環境への統合が可能となる。
・仮想ハブHと接続している仮想ポート以外の仮想ポートで収容していた他ノードを、仮想ハブHへ接続変更する。
・仮想ハブHと接続している仮想ポートを切断し、自ノードを終了する。
この第5の実施形態によれば、簡単な仕組みにより、効率良く、あるリージョンのトラフィック量に応じて仮想ハブの移動、分割、統合(最適配置)を行なうことができ、システム性能の向上やリソースの最適化を図ることが可能となる。
<第6の実施形態>
次に、本発明の第6の実施形態について説明する。この第6の実施形態では、前述の第1の実施形態で示した基本概念を、高信頼なデータ配送ネットワークを構築するために、冗長経路を使用する、といったシーンに適用した場合の例について説明する。
また、フィルタパターンにおけるワイルドカードの使用の影響がフィルタテーブル34のみにとどまる例についても説明する。ちなみに、第2の実施形態では、同じくフィルタパターンにおけるワイルドカードの使用例を示したが、前述の通り、その影響はポリシーテーブル12、カウンタテーブル32にも及ぶものであった。
図33に、本実施形態に係る通信システムの構成の一例を示す。
本実施形態に係る通信システムは、1つのクライアントと1つのサーバとが仮想ハブ0〜6を介して接続されたネットワークを構成しているものとする。仮想ハブ0〜6は、それぞれ、前述の第1の実施形態で説明した仮想ハブHと同じ機能を有するノードである。
また、クライアントがサーバに対してデータを送信するが、例えば仮想ハブ4に至るまでの経路がWANで通信品質に問題があるために、2つの経路(仮想ハブ0−仮想ハブ1、仮想ハブ2−仮想ハブ3)に同一データを送信し、仮想ハブ4にて、先に到達したものはその先に送信し、後に到達したものは廃棄する、といったシステムを想定している。
以下、図33〜図37を参照して、本実施形態における動作を説明する。
1.サーバがIPアドレスIP−Sを持つものとする。
2.仮想ハブ4の仮想ポート0が、図34、図35、図36に示す内容のポリシーテーブル、カウンタテーブル、フィルタテーブルをそれぞれ持っているものとする(なお、これらの設定は、管理者又はシグナリングプロトコル10によると想定しているが、詳細は割愛する)。
3.クライアントがサーバにデータを送信すると、仮想ハブ4は仮想ポート1、或いは、仮想ポート2からそのデータを受信するが、いずれか一方からデータを受信し、それを仮想ポート0から仮想ハブ5へ送出したとする。この時点で、仮想ハブ4の仮想ポート0のフィルタテーブル34は、図37のようになる(ポリシーテーブル12、カウンタテーブル32はそのまま)。
4.ここで、仮想ポート1、或いは、仮想ポート2のいずれかから、もう一つのデータ(上記と同じデータ)を受信したとする。この場合、フィルタ50の内容に従い、そのデータは廃棄される。よって、仮想ハブ5より先へは、重複したデータが流入することは無い。
なお、上記例では、ワイルドカードから生成されたフィルタエントリの削除処理には言及していないが、仮想ハブのリソースの観点から、何らかの方法で、これらフィルタエントリの解放は実施されるべきであろう。そのための実施例としては、以下のものが想定される。
・ワンショットフィルタ
フィルタエントリにワンショットの属性を持たせる。つまり、一度使用されたフィルタエントリは、その時点で削除される。
・ガベージコレクション
一定期間未使用のフィルタエントリを「回収」する。なお、該当フィルタエントリが削除された後、再びそのエントリが必要とされることもあるだろうが、対応するワイルドカードのエントリが存在している限り、再び、同様のフィルタエントリが生成されるはずであり、特に問題は無い。
更に、上記例では、フィルタパターンのワイルドカード部分として、TCPやSCTPのシーケンス番号の使用を想定した。一方、IPやUDPのようにシーケンス番号という概念が無い上位プロトコルでシーケンス番号的なものを使用したい場合、或いは、そもそも上位プロトコルには無いような概念のものをフィルタパターンとして導入したい場合、仮想ネットワークの制御情報を使用することが有効である。
一般的に、仮想イーサネットを含む仮想ネットワークの実装では、ユーザデータ(仮想イーサネットならばイーサネットフレーム)の前に、制御用ヘッダを付加することが多い。
ゆえに、アプリケーションや、仮想ネットワークインタフェース、仮想ハブ等の仮想ネットワークノードが、上記ヘッダ部分(仮想イーサネット制御情報格納部分)に、特別な意味を持つ情報をエンコードし、それをフィルタパターンとして使用することとなる。
この第6の実施形態によれば、簡単な仕組みにより、効率良く、冗長経路の構築を行なうことができ、システムの信頼性の向上を図ることが可能となる。
<応用>
仮想ネットワークを使用して高付加価値なネットワークを提供するシステムに広く適用可能である。例えば以下のようなものに適用可能である。
・CDN(Content Delivery Network)
・ネットワーク上での効率的なリソース検索(エニーキャスト的機能)
・高信頼、高効率ネットワーク(冗長経路、負荷分散などの機能を提供)
<まとめ>
上述した各実施形態で説明した各種の機能や情報などの概念をまとめると以下の通りとなる。
[1](“仮想”の制限を取り払ったもの)
少なくとも1つの中継ノード間で通信を行なうネットワークにおける、ノード(中継ノード、クライアント)によるデータ送受信の制御、ポートの制御、及び、ノードの実行環境、実行状態、実行方法、その他、実行に関わる処理を制御する方法であり、以下の特徴を持つ。
・各ノードは、他ノードと接続する「予め定められたポート」それぞれに、以下の特徴を持つ「カウンタ」を有する。
- 予め定められた閾値(整数)を持つ。
- 「予め定められたトリガ」が発生した場合に、該当ポートのカウンタを、予め定められた値(1以上の有限の整数)だけ増加させる、或いは、減少させる。
・各ノードは、前記カウンタを増加、或いは、減少させた結果、カウンタの値が予め定められた時間内(無限も含む)に予め定められた閾値に達した場合に、「予め定められたアクション」を実行する。
[2](基本部分)
少なくとも1つの中継ノード(仮想ハブ)を経由してクライアント間が通信を行なう仮想ネットワーク(仮想イーサネット)における、ノード(中継ノード、クライアント)によるデータ(イーサネットフレーム)送受信の制御、ポート(仮想ポート)の制御、及び、ノードの実行環境、実行状態、実行方法、その他、実行に関わる処理を制御する方法であり、以下の特徴を持つ。
・各ノードは、他ノードと接続する「予め定められたポート」(仮想ポート)それぞれに、以下の特徴を持つ「カウンタ」を有する。
- 予め定められた閾値(整数)を持つ。
- 「予め定められたトリガ」が発生した場合に、該当ポート(仮想ポート)のカウンタを、予め定められた値(1以上の有限の整数)だけ増加させる、或いは、減少させる。
・各ノードは、前記カウンタを増加、或いは、減少させた結果、カウンタの値が予め定められた時間内(無限も含む)に予め定められた閾値に達した場合に、「予め定められたアクション」を実行する。
[3](「予め定められたトリガ」のうちの一つ、データ送受信)
前記「予め定められたトリガ」として、以下のいずれかの特徴を持つ。
・「予め定められたデータ」を送信した場合
・予め定められたデータを受信した場合
[4](送受信される「予め定められたデータ」の具体例)
前記「予め定められたデータ」として、以下のいずれかの特徴を持つ。
・特定の仮想ネットワーク制御情報を有するデータ
クライアントのアプリケーション、或いは、仮想ネットワークインタフェース、仮想ハブ等が付加する、仮想ネットワーク制御用の情報。
例えば、仮想イーサネットの場合、イーサネットヘッダの前に付加する制御用ヘッダ内の情報など。
・特定のイーサネットフレームヘッダ情報を有するデータ
例えば、エンドユーザがやりとりするイーサネットフレームにて、特定の送信元MACアドレス、宛先MACアドレス、プロトコルタイプなどを持つもの。
・特定のイーサネットフレームペイロード情報を有するデータ
例えば、エンドユーザがやりとりするイーサネットフレームにて、特定の上位プロトコルのデータを持つもの。例えば、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、シーケンス番号、ストリーム番号、PPID、ユーザデータの特定の内容、など。
・特定のポート間で送受信されるデータ
[5](カウンタ増減の対象とする「予め定められたポート」)
前記「予め定められたポート」の指定方法として、少なくとも以下のいずれかの特徴を持つ。
・全ポート設定
デフォルト全ポートといった用途を想定。
もちろん、下記、静的、動的設定で、全ポートが対象となることもある。
・静的設定
コンフィグレーション等により、初期化時に設定される。
・動的設定
管理者又はシグナリングプロトコル10により、運用中に動的に設定される。
[6](「予め定められたアクション」)
前記「予め定められたアクション」として、少なくとも以下のいずれかの特徴を持つ。
・カウンタ制御
- カウンタ増加、減少の停止、開始
- カウンタ値のリセット
・送受信制御(特定データの送受信制御)
該当ポートでの該当データ(カウンタ増減のトリガとなったデータ)の送信を停止(開始)する、或いは、受信を停止(開始)する。
・ポート制御(全データの送受信制御)
- 開閉
該当ポートでの送信を停止(開始)する、或いは、受信を停止(開始)する。
- QoS、CoSその他、送受信に関わるパラメータの変更
- 接続先変更、追加、削除
該当ポートの接続先を変更、或いは、追加、削除する。
・ノード制御
- ノードの分割、統合、移動
例えば、ポートのマークの状態から、自分とサーバやクライアントとの位置関係を判断し、適切な場所にマイグレーションする、など。
[7](カウンタをポート群で共有)
前記カウンタを、グループ化された複数ポート群で共有する。
[8](カウンタの種類)
前記カウンタとして、以下のいずれかの特徴を持つ。
・カウンタを予め定められた値だけ増減させた結果、予め定められた閾値に達した後、さらなるイベントが発生した場合に、増減を継続する。
・カウンタを予め定められた値だけ増加させた結果、予め定められた閾値に達した後、以後の増加を停止する。その後、カウンタを予め定められた値だけ減少させた結果、予め定められた閾値を再び下回った場合、以後の増加を再開する。
・カウンタを予め定められた値だけ減少させた結果、予め定められた閾値に達した後、以後の減少を停止する。その後、カウンタを予め定められた値だけ増加させた結果、予め定められた閾値を再び上回った場合、以後の減少を再開する。
[9](送受信される「予め定められたデータ」のワイルドカード)
前記「予め定められたデータ」として、以下の特徴を持つ。
・一部をワイルドカード指定する。
・送受信したデータが予め定められた部分にマッチした場合に、ワイルドカード指定した部分を実際に送受信したデータの該当部分の値で置き換え(学習)、新たな「予め定められたデータ」として保持し、以後の処理に使用する。
[10](第2の実施形態のエニーキャストのエミュレートに対応)
前記カウンタを有する少なくとも1つの中継ノード、及び、それら中継ノードにより接続されるクライアント、少なくとも1つのサーバ群で構成されるネットワークシステムであり、以下の特徴を持つ。
・少なくとも1つのサーバ群
- 単一の識別子で識別される。
- クライアントに対して、同じサービスを提供する。
- 前記識別子で特定される、自身が提供するサービスに対する要求をクライアントから受信すると、サービスに必要な処理を行ない、クライアントへ応答を返す。
・クライアント
- 前記サービスを享受する場合、前記識別子を宛先とした要求を送信する。
- いずれかのサーバから要求に対する応答を受信する。
・中継ノード
- 全ての仮想ポートが以下のカウンタを持つ。
* 初期値として1を持つ。
* 上閾値として1を、下閾値として0を持つ。
* クライアントから前記識別子を宛先に持つ要求を受信すると、カウンタを1だけ増加させる。
* 前記要求に対するサーバからの前記クライアントへの応答を送信すると、カウンタを1だけ減少させる。
* カウンタが上閾値に達している場合は、以後、カウンタは増加させない。
* カウンタが下閾値に達している場合は、以後、カウンタは減少させない。
- 前記カウンタにて、カウンタが下閾値に達した場合、カウンタが下閾値である限り、その仮想ポートからは同じ応答は送信しない(廃棄する)。
以上詳述したように、本発明の実施の形態によれば、仮想イーサネット、より詳細には、仮想イーサネットを構成する各ノード間を接続する仮想的な通信リンクの端点である仮想ポートがソフトウェアであることに着目し、物理ポートでは実現不可能であった、「データ送受信をトリガとしたポート(仮想ポート)へのマーキング」という概念を仮想ポートに導入、実装することで、高付加価値な機能を有するネットワークを実現することが可能となる。
なお、上述した各実施形態では、仮想イーサネットを例に挙げて説明したが、本発明はこれには限定されず、仮想でないネットワークにも適用することができる。
また、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、記憶媒体は一つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコンやサーバ計算機等の一つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンやサーバ計算機に限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
本発明の第1の実施形態に係る仮想ネットワークノードの基本構成の一例を示す図。 ポリシーテーブルのフォーマットを示す図。 カウンタテーブルのフォーマットを示す図。 フィルタテーブルのフォーマットを示す図。 各種のモジュール群による一般的な処理フローを示す図。 同実施形態におけるポリシーテーブルの一例を示す図。 同実施形態におけるカウンタテーブルの一例を示す図。 同実施形態におけるフィルタテーブルの一例を示す図。 本発明の第2の実施形態に係る通信システムの構成の一例を示す図。 同実施形態の仕組みが導入されていない場合の動作を説明するための図。 同実施形態の仕組みが導入された場合の動作を説明するための図。 同実施形態におけるポリシーテーブルの一例(その1)を示す図。 同実施形態におけるカウンタテーブルの一例(その1)を示す図。 同実施形態におけるフィルタテーブルの一例(その1)を示す図。 同実施形態におけるポリシーテーブルの一例(その2)を示す図。 同実施形態におけるカウンタテーブルの一例(その2)を示す図。 同実施形態におけるフィルタテーブルの一例(その2)を示す図。 同実施形態におけるポリシーテーブルの一例(その3)を示す図。 同実施形態におけるカウンタテーブルの一例(その3)を示す図。 同実施形態におけるフィルタテーブルの一例(その3)を示す図。 本発明の第3の実施形態に係る通信システムの構成の一例を示す図。 同実施形態におけるポリシーテーブルの一例を示す図。 同実施形態におけるカウンタテーブルの一例を示す図。 同実施形態におけるフィルタテーブルの一例を示す図。 本発明の第4の実施形態に係る通信システムの構成の一例を示す図。 同実施形態におけるポリシーテーブルの一例を示す図。 同実施形態におけるカウンタテーブルの一例を示す図。 同実施形態におけるフィルタテーブルの一例を示す図。 本発明の第5の実施形態に係る通信システムの構成の一例を示す図。 同実施形態におけるポリシーテーブルの一例を示す図。 同実施形態におけるカウンタテーブルの一例を示す図。 同実施形態におけるフィルタテーブルの一例を示す図。 本発明の第6の実施形態に係る通信システムの構成の一例を示す図。 同実施形態におけるポリシーテーブルの一例を示す図。 同実施形態におけるカウンタテーブルの一例を示す図。 同実施形態におけるフィルタテーブルの一例(その1)を示す図。 同実施形態におけるフィルタテーブルの一例(その2)を示す図。 仮想イーサネットの一般的な構成を示す図。
符号の説明
10…管理者又はシグナリングプロトコル、11…ポリシー制御モジュール、12…ポリシーテーブル、13…ノード制御モジュール、20…MACアドレステーブル、21…仮想イーサネットスイッチングモジュール、31…仮想ポート制御モジュール、32…カウンタテーブル、33…フィルタモジュール、34…フィルタテーブル、35…アンダーレイネットワーク、H…仮想ハブ、P…仮想ポート。

Claims (1)

  1. アンダーレイネットワーク上にソフトウェアにより構築される仮想ネットワークにおいて仮想ハブにより通信の中継を行なうノードとしての通信装置であって、
    他ノードと接続するための予め定められたポートそれぞれに設けられる、予め定められた閾値を有するカウンタと、
    予め定められたトリガが発生した場合に、該当ポートのカウンタを、予め定められた値だけ増加、或いは、減少させる手段と、
    前記カウンタを増加、或いは、減少させた結果、カウンタの値が前記閾値に達した場合に、予め定められたアクションを実行する手段と
    を具備し、
    前記予め定められたトリガは、予め定められたデータを送信した場合に発生するとともに、予め定められたデータを受信した場合に発生するものであり、
    前記予め定められたアクションは、1)カウンタの値の増加又は減少の停止又は開始、或いはリセット、2)特定データの送信又は受信の停止又は開始、3)該当ポートでの送信又は受信の停止又は開始、或いは送受信に関わるパラメータ、接続先の変更、4)ノードの移動、分割、統合、のうちの少なくとも1つに該当するものであることを特徴とする通信装置。
JP2008271150A 2008-10-21 2008-10-21 通信装置 Expired - Fee Related JP4751436B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008271150A JP4751436B2 (ja) 2008-10-21 2008-10-21 通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008271150A JP4751436B2 (ja) 2008-10-21 2008-10-21 通信装置

Publications (2)

Publication Number Publication Date
JP2010103633A JP2010103633A (ja) 2010-05-06
JP4751436B2 true JP4751436B2 (ja) 2011-08-17

Family

ID=42293896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008271150A Expired - Fee Related JP4751436B2 (ja) 2008-10-21 2008-10-21 通信装置

Country Status (1)

Country Link
JP (1) JP4751436B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3732855A1 (en) * 2018-02-13 2020-11-04 Palo Alto Networks, Inc. Transport layer signaling security with next generation firewall

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11145980A (ja) * 1997-11-12 1999-05-28 Toshiba Microelectronics Corp Atmスイッチ及びatmセルの送出管理方法
EP1233572A1 (en) * 2001-02-19 2002-08-21 Telefonaktiebolaget L M Ericsson (Publ) Method and system for multiple hosts anycast routing
JP2005500741A (ja) * 2001-08-15 2005-01-06 プリキャッシュ・インコーポレーテッド ペイロード検査を介したパケット・ルート付け、及び発行−申し込みネットワークにおける申し込み処理
JP3970138B2 (ja) * 2002-09-09 2007-09-05 富士通株式会社 イーサネットスイッチにおける輻輳制御装置
JP3967285B2 (ja) * 2003-03-27 2007-08-29 日本電信電話株式会社 トラフィックフロー検出方法、トラフィックフロー検出装置、及びパケットスイッチ装置
JP4137728B2 (ja) * 2003-07-09 2008-08-20 エスアイアイ・ネットワーク・システムズ株式会社 ブリッジ装置、及び該装置のブリッジ処理方法
JP4087319B2 (ja) * 2003-09-11 2008-05-21 富士通株式会社 ブリッジ装置
JP2005210601A (ja) * 2004-01-26 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> 不正侵入検知装置
JP3848962B2 (ja) * 2005-04-22 2006-11-22 株式会社日立製作所 パケット交換機およびセル転送制御方法
JP4279300B2 (ja) * 2006-08-08 2009-06-17 株式会社東芝 ネットワーク仮想化装置及びネットワーク仮想化プログラム

Also Published As

Publication number Publication date
JP2010103633A (ja) 2010-05-06

Similar Documents

Publication Publication Date Title
JP6004405B2 (ja) コントローラでネットワークパケット転送を管理するシステム及び方法
JP5861695B2 (ja) 通信システム、通信装置、制御装置、パケットフローの転送経路の制御方法及びプログラム
KR101478475B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템에 있어서의 통신 방법
US10044600B2 (en) Method and device for calculating a network path
EP3014851B1 (en) Apparatus and method for distribution of policy enforcement point
JP5382451B2 (ja) フロントエンドシステム、フロントエンド処理方法
JP5880560B2 (ja) 通信システム、転送ノード、受信パケット処理方法およびプログラム
JP5304947B2 (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
US9754297B1 (en) Network routing metering
US10862800B2 (en) Method and system for managing network communications
WO2012127886A1 (ja) ネットワークシステム、及びポリシー経路設定方法
RU2558624C2 (ru) Устройство управления, система связи, способ связи и носитель записи, содержащий записанную на нем программу для связи
WO2014101398A1 (zh) 一种基于软件定义网络中数据处理的方法、节点和系统
US9860170B2 (en) Method, device, and system for packet routing in a network
US10009282B2 (en) Self-protecting computer network router with queue resource manager
WO2013146808A1 (ja) コンピュータシステム、及び通信経路変更方法
WO2014133025A1 (ja) 通信システム、上位コントローラ、ネットワークの制御方法及びプログラム
JP4751436B2 (ja) 通信装置
CN112968879B (zh) 一种实现防火墙管理的方法及设备
US20140195685A1 (en) System and method for session control in converged networks
JP6314970B2 (ja) 通信システム、制御装置、通信方法およびプログラム

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