JP2009302847A - ネットワーク仮想化システムおよびプログラム - Google Patents

ネットワーク仮想化システムおよびプログラム Download PDF

Info

Publication number
JP2009302847A
JP2009302847A JP2008154352A JP2008154352A JP2009302847A JP 2009302847 A JP2009302847 A JP 2009302847A JP 2008154352 A JP2008154352 A JP 2008154352A JP 2008154352 A JP2008154352 A JP 2008154352A JP 2009302847 A JP2009302847 A JP 2009302847A
Authority
JP
Japan
Prior art keywords
stream
virtual
virtual port
transmission
sctp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008154352A
Other languages
English (en)
Other versions
JP4703689B2 (ja
Inventor
Junichi Nakazato
淳一 中里
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 JP2008154352A priority Critical patent/JP4703689B2/ja
Publication of JP2009302847A publication Critical patent/JP2009302847A/ja
Application granted granted Critical
Publication of JP4703689B2 publication Critical patent/JP4703689B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】テーブルの管理や検索を容易に行い、スイッチング処理の性能を向上させること。
【解決手段】仮想ハブ1〜3は、仮想ポート毎に、フレームの転送先仮想ポートを指定する送信仮想ポートと、その送信仮想ポートへフレームを送信する時に使用するSCTPの送信ストリーム番号とのマッピングを保持するストリームスイッチングテーブルを備え、ある仮想ポートからストリームスイッチングパス生成のトリガとなるフレームを受信すると、そのフレームを他の全ての仮想ポートへ、各仮想ポートのストリームスイッチングテーブルで未使用のSCTPのストリーム番号を使用して送信すると共に、各仮想ポートのストリームスイッチングテーブルの、前記送信に使用したストリーム番号でインデックス付けされるエントリに、フレームを受信した仮想ポートと、フレームの受信に使用したSCTPのストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定する。
【選択図】 図1

Description

本発明は、物理的なネットワークであるアンダーレイネットワーク上に仮想的なネットワークであるオーバレイネットワークを構築するネットワーク仮想化システムおよびそのシステムに備えられる中継装置に適用するプログラムに関する。
アンダーレイネットワーク上に構築される主なオーバレイネットワーク(以後、「仮想ネットワーク」とも称する)としては、イーサネット(登録商標)に基づく仮想イーサネットが知られている。仮想イーサネットは、例えば以下のようにして形成する。
・ある計算機上にイーサネットスイッチングハブをエミュレートするソフトウェア(以後、「仮想ハブ」と称する)を動作させる(以後、仮想ハブを動作させる計算機を「サーバ」或いは「中継装置」と称する)。
・仮想イーサネットに参加を希望する計算機が、ソフトウェアにて構築された仮想的なネットワークインタフェース(以後、「仮想ネットワークインタフェース」と称する)を介して、仮想ハブに接続する(以後、仮想ネットワークインタフェースを動作させる計算機を「クライアント」と称する)。
・仮想ハブ−仮想ネットワークインタフェース間の接続(すなわち、サーバ−クライアント間の接続)、或いは、仮想ハブ−仮想ハブ間の接続(すなわち、サーバ−サーバ間の接続)には、例えば、現在、広く使用されているTCP/IP等のアンダーレイネットワークを用いる。
・仮想ハブでのスイッチング処理(送信ポート決定処理)は、受信したイーサネットフレームの宛先MACアドレスを元に行なう。具体的には、物理ネットワークで使用されるイーサネットスイッチングハブと同様、以下のような処理を行なう。
- 学習
あるポートからイーサネットフレームを受信すると、そのイーサネットフレームの送信元MACアドレスとそのイーサネットフレームを受信したポートとのマッピングをアドレス学習テーブルに記憶する。
- スイッチング
イーサネットフレームを受信した場合、そのフレームの宛先MACアドレスをキーとしてアドレス学習テーブルを検索し、マッチしたエントリのポートを送信ポートとする。マッチするエントリが無い場合、或いは、ブロードキャストフレーム、マルチキャストフレームは、全てのポートに送信する。
このような仮想イーサネットの一般的な構成を図41に示す。
例えば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号公報 「Stream Control Transmission Protocol」,RFC4960,2007年9月
上記従来技術によるスイッチング処理では、以下のような問題がある。
・リソース(アドレス学習テーブル)管理が複雑である
すなわち、アドレス学習テーブルの検索キーが6バイト長のMACアドレスであるため、アドレス学習テーブルを単純なデータ構造、例えば、MACアドレスをインデックスとする一次元配列等で実現することが困難であり、アドレス学習テーブルの管理、例えば、エントリの追加、削除等が複雑となる。
・性能向上が困難である
上記の通り、アドレス学習テーブルの構造が複雑となるため、管理、検索、両面での性能向上が困難である。
・付加価値をつけることが困難である
元来、MACアドレスそのものには宛先を示すこと以外の情報はエンコードされていないため(マルチキャストグループ等は除く)、送信元、宛先、上位プロトコル等に依存したQoS(Quality of Service)/CoS(Class of Service)を実現することが困難である。
なお、アンダーレイネットワークプロトコルのヘッダとスイッチング処理の対象となるイーサネットフレームとの間に、特別な情報をエンコードするための領域を挿入することで上記問題を解決することが可能ではあるが、受信データからのそれら領域の読み出し、情報のデコード処理等が必要となり、性能劣化や実装上の複雑さから生じる互換性問題等は避けることができない。
本発明は上記実情に鑑みてなされたものであり、テーブルの管理や検索を容易に行え、スイッチング処理の性能を向上させることのできるネットワーク仮想化システムおよびプログラムを提供することを目的とする。
本発明の一実施態様によれば、少なくとも一つの仮想ハブをソフトウェアにより形成する少なくとも一つの中継装置と、前記仮想ハブにソフトウェアにより形成される仮想ネットワークインタフェースを介して接続可能な複数のクライアント端末とを有し、アンダーレイネットワーク上に構築される仮想ネットワークを通じて前記複数のクライアント端末が前記仮想ハブを経由して通信を行うネットワーク仮想化システムであって、前記アンダーレイネットワークは、SCTP(Stream Control Transmission Protocol)を用いて形成され、前記仮想ハブは、仮想ポート毎に、フレームの転送先仮想ポートを指定する送信仮想ポートと、その送信仮想ポートへフレームを送信する時に使用するSCTPの送信ストリーム番号とのマッピングを保持するストリームスイッチングテーブルと、ある仮想ポートからストリームスイッチングパス生成のトリガとなるフレームを受信すると、そのフレームを他の全ての仮想ポートへ、各仮想ポートのストリームスイッチングテーブルで未使用のSCTPのストリーム番号を使用して送信すると共に、各仮想ポートのストリームスイッチングテーブルの、前記送信に使用したストリーム番号でインデックス付けされるエントリに、フレームを受信した仮想ポートと、フレームの受信に使用したSCTPのストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定する、ストリームスイッチングパス生成手段と、ある仮想ポートからフレームを受信すると、受信に使用したSCTPのストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているSCTPのストリーム番号を使用して、受信したフレームを送信する、ストリームスイッチング処理手段とを具備することを特徴とするネットワーク仮想化システムが提供される。
本発明によれば、テーブルの管理や検索を容易に行えスイッチング処理の性能を向上させることができる。
以下、図面を参照して、本発明の実施の形態について説明する。
<各実施形態における共通事項>
従来の方法とは異なり、固定長インデックスにより検索可能な単純なスイッチングテーブルを使用すること等により、従来の問題を解決する方法を示すものである。その概要を以下に示す。
・仮想ハブ−仮想ハブ間、及び、仮想ハブ−クライアント間のアンダーレイネットワークとしてSCTP(Stream Control Transmission Protocol)を使用する。これによりTCPの利点(順序保障や再送機能による高信頼性など)とUDPの利点(メッセージ指向など)の両方を備えた特徴を実現できる。
・ARP(Address Resolution Protocol)リクエスト、或いは、これに代わる別のトリガに基づき、クライアント−クライアント間の、SCTPストリーム番号(16ビット)ベースのスイッチングパスを生成する。以後、このパスを「ストリームスイッチングパス」と称する。
・仮想ハブは、イーサネットフレームの転送テーブルの検索キーとしてSCTPのストリーム番号を使用する。つまり、仮想ハブは、SCTPのストリーム番号ベースでイーサネットフレームのスイッチング処理を行なう。以後、この処理を「ストリームスイッチングと称する。
<第1の実施形態>
本システムでの処理は、前述の通り、大きく以下の2つに分けることが出来る。
・ARPリクエストによるクライアント間のストリームスイッチングパスの生成
・仮想ハブによるストリームスイッチング処理
以下、システム構成、仮想ハブが使用するデータ構造等を説明した後、上記2つの処理の詳細を説明する。
[システム構成]
図1に示すように、仮想ハブ0〜3により仮想イーサネットが構築されている。クライアント10〜12は仮想ハブ1に、クライアント20〜22は仮想ハブ2に、クライアント30〜32は仮想ハブ3に、それぞれ仮想ネットワークインタフェースを使用し接続している。なお、仮想ハブ−仮想ハブ間、仮想ハブ−仮想ネットワークインタフェース(クライアント)間の接続には、アンダーレイネットワークとしてSCTPを使用する。
ここで、SCTPとは、TCPやUDPと同様、トランスポート層プロトコルの一つであり、信頼性のあるコネクション指向、メッセージ指向のプロトコルである。また、SCTPは、一つのアソシエーション(TCPで言うところのコネクションに相当する概念であり、エンドエンドで保持される論理的な通信リンクを指す)の中に複数のストリームを持つことが可能で、それぞれのストリームは、順序制御、再送など、信頼性のある配送の観点からは独立である。アソシエーション内での各ストリームの識別には、16ビットのストリーム番号が使用されるが、これは、SCTPを使用するアプリケーション(アソシエーションのエンドポイントで、ここでは、仮想ハブや仮想ネットワークインタフェース)が指定するものであり、SCTP自体はストリーム番号の割り当てには関与しない(上記の通りストリーム毎の順序制御/再送等は行なう)。
一般的に、アプリケーション(仮想ハブや仮想ネットワークインタフェース)は、ソケットインタフェースを通してSCTP(のアソシエーション)に関する処理を行なうことになるが、ストリームに関わる処理は以下のようになる。
・送信側エンドポイント
SCTPソケットの送信関数の引数でストリーム番号を指定し、データを送信する。
・SCTP(一般的に、OS内のネットワークプロトコルの一部)
上記指定されたストリーム番号で指定される制御ブロックの内容に従い、SCTPメッセージを送信する。この時、SCTPヘッダに、当該ストリーム番号を格納する。
・受信側エンドポイント
SCTPソケットの受信関数の引数で、ストリーム番号、及び、データを受信する。
ここで、仮想ハブ−仮想ハブ間、及び、仮想ハブ−クライアント間で送受されるデータのフレーム構成の一例を図2に示す。同図に示されるように、フレームには、先頭から順に、「SCTPヘッダ」(ストリーム番号、PPIDなど)、「制御用情報」(仮想ネットワークの制御用情報で、必要に応じて付加、使用される)、「Ethernet(登録商標)ヘッダ」(MACアドレスなど)、「ユーザデータ」(ペイロード)が格納される。
[ストリームスイッチングテーブル]
各仮想ハブは、各仮想ポート(SCTPアソシエーション)毎に図3に示すようなストリームスイッチングテーブルを持ち、受信したイーサネットフレームのスイッチング処理に使用する。エントリ数が216個であるのは、SCTPで使用可能なストリーム番号が16ビットで、ストリームスイッチングテーブルの検索キー(インデックス)としてそのストリーム番号を使用するからである(詳細は後述)。
なお、ストリームスイッチングテーブルの送信ストリーム番号は16ビット必要だが、それ以外のフィールドの長さは、システム要件等により適宜決定すべきものである。
[MAC−ストリームマッピングテーブル]
各クライアント(仮想ネットワークインタフェース)は、仮想ハブとの接続の端点であるSCTPアシソエーションに対して、図4に示すようなMAC−ストリームマッピングテーブルを持ち、イーサネットフレーム送信時に使用するストリーム番号の決定に使用する。
なお、本テーブルは、従来のARPテーブルと別個に実装することも、当該ARPテーブルと統合された形で実装することも可能である。統合された形で実装する場合は、ARPテーブルの中に、送信ストリーム番号を設定するための領域を確保し、この送信ストリーム番号とMACドレスとの対応がわかるようにする。
また、クライアントが複数仮想ハブとの接続を持つことを考慮し、MAC−ストリームマッピングテーブルに送信先仮想ポート(接続先仮想ハブ)を識別するフィールドを持つことも可能である(後述の、仮想ハブがMAC−ストリームマッピングテーブルを保持する場合は、このフィールドを使用する)。
[ARPリクエストによるクライアント間のストリームスイッチングパスの生成]
以下では、図5〜図8に示される各仮想ハブのストリームスイッチングテーブル、及び、図9〜図11に示される各クライアントのMAC−ストリームマッピングテーブルを参照しながら説明する。
例えば、クライアント11があるクライアントと仮想イーサネット上にてIPによる通信を開始しようとしたとする。
(1) クライアント11は、IPによる通信を開始するにあたり、宛先IPアドレスとして通信相手のクライアントのIPアドレスを持つARPリクエストを、仮想ハブ1との接続に使用している仮想ネットワークインタフェース(仮想ハブ1とのSCTPアソシエーション)に、ストリーム番号0を指定して送出する。
なお、本実施形態では、ストリーム番号が0であることに特別な意味は無いが、ストリーム番号の管理(空き番号管理など)を省略するために、クライアントがARPリクエストを送信する時には予め決められた番号を使用する、ということは妥当な処理であろう。
(2) 仮想ハブ1は、仮想ポート101から上記ARPリクエストを受信すると、仮想ポート100、102、103にそのARPリクエストを送信するが、この時、それぞれ、ストリーム番号として10001、10201、10301を指定して送信する(これらの番号は、各仮想ポートのストリームスイッチングテーブルで未使用のものを選択する。以降、同様。)。
更に、仮想ポート100のストリームスイッチングテーブルのオフセット10001のエントリ、仮想ポート102の同テーブルのオフセット10201のエントリ、仮想ポート103の同テーブルのオフセット10301のエントリに、送信ストリーム番号0と送信仮想ポート101のマッピング情報を追加する(図6参照)。
ここで、各テーブルにおいて、エントリを追加したオフセットは、対応する仮想ポートへのARPリクエスト送信時に指定したストリーム番号であり、追加したエントリの送信ストリーム番号は、クライアント11が送信に使用した番号であり、送信仮想ポートは、クライアント11が接続している仮想ポートである(以降、同様)。
(3) クライアント10は、仮想ハブ1との接続に使用している仮想ネットワークインタフェース(仮想ハブ1とのSCTPアソシエーション)から、上記ARPリクエストを受信すると、通常のARP処理を行なうと同時に、MAC−ストリームマッピングテーブルに、ARPリクエストの送信元MACアドレス(クライアント11のMACアドレス)とストリーム番号10001とのマップを追加する(図9参照)。後に、クライアント11宛にイーサネットフレームを送信する時は、この情報を元に、ストリーム番号10001を使用して送信することとなる。
クライアント12についても同様である(図9参照)。
(4) 仮想ハブ0は、仮想ポート11から上記ARPリクエストを受信すると、仮想ポート12、13にそのARPリクエストを送信するが、この時、それぞれ、ストリーム番号として1201、1301を指定して送信する。
更に、仮想ポート12のストリームスイッチングテーブルのオフセット1201のエントリ、仮想ポート13の同テーブルのオフセット1301のエントリに、送信ストリーム番号10301と送信仮想ポート11のマッピング情報を追加する(図5参照)。
ここで、各テーブルにおいて、エントリを追加したオフセットは、対応する仮想ポートへのARPリクエスト送信時に指定したストリーム番号であり、追加したエントリの送信ストリーム番号は、仮想ハブ1が送信に使用した番号であり、送信仮想ポートは、仮想ハブ1が接続している仮想ポートである。
(5) 仮想ハブ2は、仮想ポート203から上記ARPリクエストを受信すると、仮想ポート200、201、202にそのARPリクエストを送信するが、この時、それぞれ、ストリーム番号として20001、20101、20201を指定して送信する。
更に、仮想ポート200のストリームスイッチングテーブルのオフセット20001のエントリ、仮想ポート201の同テーブルのオフセット20101のエントリ、仮想ポート202の同テーブルのオフセット20201のエントリに、送信ストリーム番号1201と送信仮想ポート203のマッピング情報を追加する(図7参照)。
(6) クライアント20は、仮想ハブ2との接続に使用している仮想ネットワークインタフェース(仮想ハブ2とのSCTPアソシエーション)から、上記ARPリクエストを受信すると、通常のARP処理を行なうと同時に、MAC−ストリームマッピングテーブルに、ARPリクエストの送信元MACアドレス(クライアント11のMACアドレス)とストリーム番号20001とのマップを追加する(図10参照)。後に、クライアント11宛にイーサネットフレームを送信する時は、この情報を元に、ストリーム番号20001を使用して送信することとなる。
クライアント21、22についても同様である(図10参照)。
(7) 仮想ハブ3は、仮想ポート303から上記ARPリクエストを受信すると、仮想ポート300、301、302にそのARPリクエストを送信するが、この時、それぞれ、ストリーム番号として30001、30101、30201を指定して送信する。
更に、仮想ポート300のストリームスイッチングテーブルのオフセット30001のエントリ、仮想ポート301の同テーブルのオフセット30101のエントリ、仮想ポート302の同テーブルのオフセット30201のエントリに、送信ストリーム番号1301と送信仮想ポート303のマッピング情報を追加する(図8参照)。
(8) クライアント30は、仮想ハブ3との接続に使用している仮想ネットワークインタフェース(仮想ハブ3とのSCTPアソシエーション)から、上記ARPリクエストを受信すると、通常のARP処理を行なうと同時に、MAC−ストリームマッピングテーブルに、ARPリクエストの送信元MACアドレス(クライアント11のMACアドレス)とストリーム番号30001とのマップを追加する(図11参照)。後に、クライアント11宛にイーサネットフレームを送信する時は、この情報を元に、ストリーム番号30001を使用して送信することとなる。
クライアント31、32についても同様である(図11参照)。
なお、上記処理が全て完了した時点で、各クライアントからクライアント11へのストリームスイッチングパス(ストリーム番号によるスイッチングのパス)が生成されたと考えることが出来る。すなわち、以後、この仮想イーサネット上では、クライアント11宛のイーサネットフレームは、宛先MACアドレスではなく、各仮想ハブが当該イーサネットフレームを受信した仮想ポートで使用されているSCTPのストリーム番号に基づきスイッチングされることとなる(詳細は後述)。
なお、上記クライアント11と同様に、他の全てのクライアントがARPリクエストをブロードキャストした後の、各仮想ハブのストリームスイッチングテーブル、各クライアントのMAC−ストリームマッピングテーブルの状態を図12〜図15、図16〜図18にそれぞれ示す。これらは、全クライアント間のエンドエンドのストリームスイッチングパスが生成されたことを示すものである。
[仮想ハブによるストリームスイッチング処理]
上記状態で、クライアント22がクライアント30にイーサネットフレームを送信しようとしたとする。
(1) クライアント22は、MAC−ストリームマッピングテーブル(図17参照)において、クライアント30のMACアドレスであるMAC30がストリーム番号20206とマッピングされていることを認識し、ストリーム番号20206を使用し、当該イーサネットフレームを仮想ハブ2との接続に使用している仮想ネットワークインタフェース(仮想ハブ2とのSCTPアソシエーション)に送信する。
(2) 仮想ハブ2は、クライアント22を収容する仮想ポート202から、SCTPストリーム番号20206にてイーサネットフレームを受信すると、当該仮想ポートのストリームスイッチングテーブル(図14参照)のインデックス20206のエントリ(送信ストリーム番号1206/送信仮想ポート203)を参照する。
その結果、ストリーム番号1206を使用し、仮想ポート203へ当該イーサネットフレームを送信する。
(3) 仮想ハブ0は、仮想ハブ2と接続する仮想ポート12から、SCTPストリーム番号1206にてイーサネットフレームを受信すると、当該仮想ポートのストリームスイッチングテーブル(図12参照)のインデックス1206のエントリ(送信ストリーム番号30306/送信仮想ポート13)を参照する。
その結果、ストリーム番号30306を使用し、仮想ポート13へ当該イーサネットフレームを送信する。
(4) 仮想ハブ3は、仮想ハブ0と接続する仮想ポート303から、SCTPストリーム番号30306にてイーサネットフレームを受信すると、当該仮想ポートのストリームスイッチングテーブル(図15参照)のインデックス30306のエントリ(送信ストリーム番号0/送信仮想ポート300)を参照する。
その結果、ストリーム番号0を使用し、仮想ポート300へ当該イーサネットフレームを送信する。
(5) クライアント30は、仮想ハブ3との接続に使用している仮想ネットワークインタフェース(仮想ハブ3とのSCTPアソシエーション)から、SCTPストリーム番号0にてイーサネットフレームを受信する。
上記の通り、SCTPのストリーム番号をイーサネットフレームのスイッチング処理に使用することにより、従来のMACアドレスによる方法と比較して、以下のようなメリットがある。
・スイッチングのためのテーブル構造の単純化による性能向上
48ビット長のMACアドレスと比較して、より短い16ビット長のストリーム番号をテーブル検索のキー(インデックス)として用いるので、スイッチングテーブルを単純な一次元配列で構成可能である。
このことから、スイッチングテーブルの管理(エントリの追加、削除など)、スイッチング処理双方で性能向上が見込める。
・イーサネットフレーム参照不要によるスイッチング処理の性能向上
スイッチング処理時、イーサネットフレームを参照する必要が無い。つまり、スイッチングはストリーム番号のみで処理される。
具体的には、本実施形態では、ストリーム番号はソケット受信関数の引数として取得することができるので、スイッチング処理時、イーサネットフレームを参照する必要が無い(従来の方法では、イーサネットフレーム中の宛先MACアドレスを参照必要があった)。よって、スイッチング処理における性能向上が見込める。
なお、現状、一般的なOSのソケットインタフェースによる実装を想定しており、OS内でイーサネットフレームのメモリコピーが発生することから、上記の通りスイッチング処理時にイーサネットフレームを参照しないとは言え、大幅な性能向上を見込めるものではない。しかし、将来、OS内にてイーサネットフレームに対するメモリコピーが発生しないような仕組みが確立され利用可能となった場合、或いは、ハードウェア支援の仕組みを利用可能になった場合には、スイッチング処理によるメモリコピー処理を実質ゼロにできるため、大幅な性能向上が見込めるであろう。ジャンボフレームが一般的に使用されるような状況では、これは、より大きな優位点であると言える。
この場合、ストリーム番号の取得方法が変更になる可能性はあるものの、ストリーム番号によるスイッチング処理そのものは、本実施形態のままで有効であることは言うまでもない。
・スイッチングパス毎の独立した信頼性のある配送
信頼性のある配送はストリーム毎に独立であるため、ストリーム番号をスイッチングに使用することにより、仮想ハブ間のスイッチングパスはそれぞれ独立して信頼性のある配送が適用される。
すなわち、TCPで見られるように、コネクション内でデータ落ちが発生した場合、その再送が完了するまでに、同じコネクション内のその他の(スイッチングパスの)データの配送が遅延されてしまう、というような状況にはならない。
<第2の実施形態>(仮想ハブ内でグローバルなストリームスイッチングテーブルを使用)
本来、ストリーム番号の216空間は仮想ポート(SCTPアソシエーション毎)なので、第1の実施形態では、各仮想ハブは、他仮想ハブと接続している仮想ポート毎に216個のインデックスを持つストリームスイッチングテーブルを持つ。
一方、本実施形態では、仮想ハブ内の全ての仮想ポートで216空間を共有する場合について、特に第1の実施形態と異なる部分について説明する。なお、このような方法は、特に、メモリリソースの要件の厳しい環境等では有効であろう。
第1の実施形態の、例えば、仮想ハブ1の処理(パス生成処理(2))において、仮想ハブ1は、仮想ポート101から受信したARPリクエストを仮想ポート100、102、103に送信する時のストリーム番号として(及び、ストリームスイッチングテーブルにマッピングのエントリを追加する時のオフセットとして)、それぞれ10001、10201、10301を、すなわち、異なる番号を指定しているが、これは、説明上、わかりやすさを重視した結果、敢えて異なる番号としただけで、本来、それぞれの仮想ポートに対応するストリームスイッチングテーブル、すなわち、216のストリーム番号空間は独立であるから、上記ストリーム番号は全て同一であっても何ら問題は無い(各ストリームスイッチングテーブル内では、未使用の番号を使う必要がある)。これは他の仮想ハブでも同様である。
そこで、本実施形態では、仮想ハブでは、全ての仮想ポートでストリームスイッチングテーブルを共有する、すなわち、216のストリーム番号空間を共有する。
処理の詳細を、第1の実施形態の仮想ハブ2の処理(ストリームスイッチングパス生成処理の(5)、及び、ストリームスイッチング処理の(2))と対比させる形で以下に説明する。
[ストリームスイッチングパス生成処理]
仮想ハブ2は、仮想ポート203から上記ARPリクエストを受信すると、仮想ポート200、201、202にそのARPリクエストを送信するが、この時、それぞれ、ストリーム番号として1000、1001、1002を指定して送信する((これらの番号は、全ポートで共有するただ一つのストリームスイッチングテーブルで未使用のものを選択する必要がある)。
更に、ストリームスイッチングテーブルのオフセット1000のエントリ、オフセット
1001のエントリ、オフセット1002のエントリに、受信仮想ポート識別子、送信ストリーム番号1201と送信仮想ポート203のマッピング情報を追加する(図19参照)。
ここで、上記テーブルにおいて、エントリを追加したオフセットは、対応する仮想ポートへのARPリクエスト送信時に指定したストリーム番号であり、受信仮想ポート識別子は、ARPリクエストを送信した仮想ポートであり、追加したエントリの送信ストリーム番号は、仮想ハブ0が送信に使用した番号であり、送信仮想ポートは、仮想ハブ0が接続している仮想ポートである。
[ストリームスイッチング処理]
仮想ハブ2は、クライアント22を収容する仮想ポート202から、SCTPストリーム番号1002にてイーサネットフレームを受信すると、全仮想ポート共通のストリームスイッチングテーブル(図19参照)のインデックス1002のエントリ(送信ストリーム番号1201/送信仮想ポート203)を参照する。
その結果、ストリーム番号1201を使用し、仮想ポート203へ当該イーサネットフレームを送信する。
上記処理は、他の仮想ハブでも同様である。
この第2の実施形態によれば、メモリリソースの要件の厳しい環境等において有効となる。
<第3の実施形態>(SCTP未対応のクライアント収容)
第1の実施形態では、仮想ハブ−仮想ハブ間の接続に加え、仮想ハブ−クライアント(仮想ネットワークインタフェース)間の接続においても、SCTPを使用した。
ところが、SCTPは比較的新しいプロトコルであり、現在、普及の過渡期である。
仮想ハブについては、オペレータ等の管理の元、サーバ上で動作することが多いと想定されるので、SCTPをサポートしているOSを仮想ハブの動作環境として選択することが十分可能であると考える。
一方、エンドユーザが使用する一般的なPCのOSではSCTPをサポートしていない、或いは、デフォルトで使用できる状態にはなっていない可能性が高い。つまり、エンドユーザのPC上での動作が多いと想定される仮想ネットワークインタフェースでは、SCTPを使用できない可能性が高い。
このようなSCTP普及の過渡期にも対応するため、本実施形態では、仮想ハブ−クライアント間はSCTPを使わない場合の処理を説明する。
なお、リーフの仮想ハブ(クライアント(仮想ネットワークインタフェース)を収容する仮想ハブ)が、ストリームスイッチングテーブルに加え、第1の実施形態のクライアント(仮想ネットワークインタフェース)のようにMAC−ストリームマッピングテーブルを持ち、それらに基づき、イーサネットフレームのスイッチング処理を行なうところが、本実施形態の特徴的な部分である。なお、リーフ以外の仮想ハブ(クライアントを収容しない仮想ハブ)の処理は第1の実施形態、或いは、第2の実施形態と同様である。
以下、第1の実施形態と同様の構成(図1参照)に基づき処理の詳細を説明するが、第1の実施形態と重複する部分の説明は適宜省略する。
[システム構成]
図1に示す構成で、仮想ハブ−仮想ハブ間の接続には、アンダーレイネットワークとしてSCTPを使用する。一方、仮想ハブ−仮想ネットワークインタフェース(クライアント)間の接続には、アンダーレイネットワークとしてSCTP以外の、例えば、UDP、TCP、HTTP、SSL等を使用する。
[ストリームスイッチングテーブル]
仮想ハブ0は、各仮想ポート(SCTPアソシエーション)毎にストリームスイッチングテーブルを持つ。一方、リーフである仮想ハブ1、仮想ハブ2、仮想ハブ3は、仮想ハブ0に接続する仮想ポート(SCTPアソシエーション)に対してのみストリームスイッチングテーブルを持つ。
[MAC−ストリームマッピングテーブル]
リーフである仮想ハブ1、仮想ハブ2、仮想ハブ3は、仮想ハブ内でグローバルな(ただ一つの)MAC−ストリームマッピングテーブルを持つ。
一方、各クライアントはSCTPを使用しないことから、第1の実施形態とは異なり、MAC−ストリームマッピングテーブルを持たない。
[ARPリクエストによるクライアント間のストリームスイッチングパスの生成]
例えば、クライアント11があるクライアントと仮想イーサネット上にてIPによる通信を開始しようとしたとする。
(1) クライアント11は、IPによる通信を開始するにあたり、宛先IPアドレスとして通信相手のクライアントのIPアドレスを持つARPリクエストを、仮想ハブ1との接続に使用している仮想ネットワークインタフェースに送出する。
(2) 仮想ハブ1は、仮想ポート101から上記ARPリクエストを受信すると、仮想ポート100、102、103にそのARPリクエストを送信するが、この時、仮想ポート103へは、ストリーム番号として10311を指定して送信する(この番号は、仮想ポート103のストリームスイッチングテーブルで未使用のものを選択する。以降、同様。)。仮想ポート100、仮想ポート102へは、それぞれで使用されているアンダーレイネットワークの手順に従い、ARPリクエストを送信する。
更に、仮想ポート103のストリームスイッチングテーブルのオフセット10311のエントリに、送信ストリーム番号65535と送信仮想ポート101のマッピング情報を追加する(図20参照)。
更に、MAC−ストリームマッピングテーブルに、クライアント11のMACアドレスであるMAC11と仮想ポート101、送信ストリーム番号65535のマッピング情報を追加する(図21参照)。
ここで、仮想ポート103のストリームスイッチングテーブル(図20参照)、及び、MAC−ストリームマッピングテーブル(図21参照)にて、送信ストリーム番号65535を使用したが、本実施形態では、この値を、送信仮想ポート101がアンダーレイネットワークとしてSCTPを使用していないことを示すマジックナンバーとして使用している。つまり、ストリームスイッチング処理時、送信ストリーム番号が65535であった場合には、当該送信仮想ポートへはSCTPを使用しないことを表している(以降、同様)。
(3) クライアント10は、上記ARPリクエストを受信すると、通常のARP処理を行なう。
クライアント12についても同様である。
(4) 仮想ハブ0の処理は、第1の実施形態と同様である。
(5) 仮想ハブ2は、仮想ポート203から上記ARPリクエストを受信すると、仮想ポート200、201、202にそのARPリクエストを送信するが、この時、それぞれ、使用されているアンダーレイネットワークの手順に従い、ARPリクエストを送信する。
更に、MAC−ストリームマッピングテーブルに、クライアント11のMACアドレスであるMAC11と仮想ポート203、送信仮想ポート番号1211のマッピング情報を追加する(図22参照)。
(6) クライアント20は、上記ARPリクエストを受信すると、通常のARP処理を行なう。
クライアント21、22についても同様である。
(7) 仮想ハブ3は、仮想ポート303から上記ARPリクエストを受信すると、仮想ポート300、301、302にそのARPリクエストを送信するが、この時、それぞれ、使用されているアンダーレイネットワークの手順に従い、ARPリクエストを送信する。
更に、MAC−ストリームマッピングテーブルに、クライアント11のMACアドレスであるMAC11と仮想ポート303、送信仮想ポート番号1311のマッピング情報を追加する(図23参照)。
(8) クライアント30は、上記ARPリクエストを受信すると、通常のARP処理を行なう。
クライアント31、32についても同様である。
なお、上記処理が全て完了した時点で、仮想ハブ2、仮想ハブ3からクライアント11へのストリームスイッチングパスが生成されたと考えることが出来る。すなわち、以後、この仮想イーサネット上では、クライアント11宛のイーサネットフレームは、仮想ハブ0、仮想ハブ1上では、宛先MACアドレスではなく、それぞれの仮想ハブが当該イーサネットフレームを受信した仮想ポートで使用されているSCTPのストリーム番号に基づきスイッチングされることとなる(詳細は後述)。
一方、仮想ハブ2、仮想ハブ3では、MAC−ストリームマッピングテーブルに基づき、スイッチングされることになる(詳細は後述)。
なお、上記クライアント11と同様に、他の全てのクライアントがARPリクエストをブロードキャストした後の、各仮想ハブのストリームスイッチングテーブル、MAC−ストリームマッピングテーブルの状態を図24〜図27、図28〜図30に、それぞれ示す。
[仮想ハブによるストリームスイッチング処理]
上記状態で、クライアント22がクライアント30にイーサネットフレームを送信しようとしたとする。
(1) クライアント22は、通常の手順でARP処理したのち、宛先MACアドレスとしてクライアントのMACアドレスであるMAC30を使用し、当該イーサネットフレームを仮想ハブ2へ送信する。
(2) 仮想ハブ2は、クライアント22を収容する仮想ポート202からイーサネットフレームを受信すると、MAC−ストリームマッピングテーブル(図29参照)のMAC30のエントリ(送信ストリーム番号1216/送信仮想ポート203)を参照する。
その結果、ストリーム番号1216を使用し、仮想ポート203へ当該イーサネットフレームを送信する。
(3) 仮想ハブ0は、仮想ハブ2と接続する仮想ポート12から、SCTPストリーム番号1216にてイーサネットフレームを受信すると、当該仮想ポートのストリームスイッチングテーブル(図24参照)のインデックス1216のエントリ(送信ストリーム番号30316/送信仮想ポート13)を参照する。
その結果、ストリーム番号30316を使用し、仮想ポート13へ当該イーサネットフレームを送信する。
(4) 仮想ハブ3は、仮想ハブ0と接続する仮想ポート303から、SCTPストリーム番号30316にてイーサネットフレームを受信すると、当該仮想ポートのストリームスイッチングテーブル(図27参照)のインデックス30316のエントリ(送信ストリーム番号65535/送信仮想ポート300)を参照する。
その結果、仮想ポート300へ、使用されているアンダーレイネットワークの手順に従い、当該イーサネットフレームを送信する。
(5) クライアント30は、仮想ハブ3との接続に使用している仮想ネットワークインタフェースから、使用しているアンダーレイネットワークの手順に従い、イーサネットフレームを受信する。
なお、本実施形態では、全てのクライアントがSCTPを使用しない構成を前提としたが、本来、このような構成に限定されるものではなく、SCTPを使用するクライアントと、SCTPを使用しないクライアントが混在することは一向に差し支えない(この場合、一つ以上のSCTPを使用しないクライアントを収容する仮想ハブは、MAC−ストリームマッピングテーブルを保持しなければならない)。
この場合、仮想ハブにおいて、ある仮想ポートからARPリクエストを受信して、それを他の仮想ポートへ送信する時に、MAC−ストリームマッピングテーブル、或いは、ARPリクエストを送信する仮想ポートのストリームスイッチングテーブルの送信ストリーム番号フィールドを、以下のように設定すれば良い。
・ARPリクエストを受信したクライアントとの仮想ポートでSCTPが使用されていない場合マジックナンバー(65535)を設定。
・ARPリクエストを受信したクライアントとの仮想ポートでSCTPが使用されている場合クライアントが送信時に使用してきたストリーム番号を設定。
また、イーサネットフレーム転送時、送信ストリーム番号と送信仮想ポートの決定に、いずれかのテーブルを以下のように使用すれば良い。
・イーサネットフレームを受信した仮想ポートでSCTPが使用されていない場合
MAC−ストリームマッピングテーブルを使用する。
・イーサネットフレームを受信した仮想ポートでSCTPが使用されている
その仮想ポートのストリームスイッチングテーブルを使用する。
この第3の実施形態によれば、仮想ハブ−クライアント間がSCTPを使わない場合にも対処でき、SCTP普及の過渡期にも対応することができる。
<第4の実施形態>(システム構成のバリエーション)
第1の実施形態〜第3の実施形態では、仮想ハブとの接続のみを持つ仮想ハブが存在する(仮想ハブ0)が、仮想ハブ0がクライアントを直収するような構成でも問題なく動作することは明らかである。これは、クライアント−サーバ型モデルを実現するためのサーバを仮想ハブ0に、クライアント群を仮想ハブ1〜3に接続するような構成であろう。
この場合、仮想ハブ0は、直収するクライアントからARPリクエストを受信すると、それを仮想ポート11、12、13に送信するとともに、それぞれの仮想ポートのストリームスイッチングテーブルに適切なエントリを設定する。
逆に、仮想ポート11、12、13で受信したARPリクエストを直収するクライアントとの仮想ポートに送信する場合も、その処理は、第1の実施形態〜第3の実施形態と同様である。
もちろん、直収するクライアントとの仮想ポートは、SCTPでもそうでなくても問題は無い。
<第5の実施形態>(ストリームスイッチングパス生成トリガのバリエーション)
第1の実施形態〜第4の実施形態では、ストリームスイッチングパス生成のトリガとしてARPリクエストを使用し、ストリームスイッチングには、各仮想ハブがローカルに決定したARPリクエスト送信時のストリーム番号を使用した。
本実施形態では、ストリームスイッチングパス生成のトリガとして予め定義された特定のストリーム番号を使用し(以後、シグナリング用ストリーム番号)、ストリームスイッチングには、ストリームスイッチングパス生成時(以後、シグナリング時)に送信されるイーサネットフレーム、或いは、SCTPのPPID(Payload Protocol Identifier)フィールドにピギーバックさせたストリーム番号を使用する。SCTPのPPIDフィールドは、SCTPヘッダの32ビットフィールドで、ストリーム番号と同様、SCTPはその内容に関知せず、その値は、エンドエンドで透過的にやりとりされる。一般的に、ソケットの送受信関数の引数で指定、読み出しが可能である。
以下、ストリームスイッチングパス生成処理の詳細を説明する(システム構成、ストリームスイッチング処理は、第1の実施形態と同様)。
[クライアント間のストリームスイッチングパスの生成]
シグナリング用ストリーム番号を0と予め定義し、この情報を全仮想ハブ、クライアントで共有しておく。
以下、ストリームスイッチングで使用されるストリーム番号の情報をPPIDにピギーバックさせた場合の、ストリームスイッチングパス生成処理の詳細を説明する。
例えば、クライアント11が、上位プロトコル、アプリケーション等からの何らかのトリガで、ストリームスイッチングパス生成を開始しようとしたとする。
(1) クライアント11は、仮想ハブ1との接続に使用している仮想ネットワークインタフェース(仮想ハブ1とのSCTPアソシエーション)に、PPIDとして11000、ストリーム番号として0を指定して、シグナリング用のイーサネットフレームを送出する。
ここで、イーサネットフレームのペイロードの内容は不問である。
(2) 仮想ハブ1は、仮想ポート101から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、仮想ポート100、102、103にシグナリング用イーサネットフレームを送信するが、この時、それぞれ、PPIDとして10001、10201、10301を、ストリーム番号として0を指定して送信する(PPIDに設定する値は、各仮想ポートのストリームスイッチングテーブルで未使用のものを選択する。以降、同様。)。
更に、仮想ポート100のストリームスイッチングテーブルのオフセット10001のエントリ、仮想ポート102の同テーブルのオフセット10201のエントリ、仮想ポート103の同テーブルのオフセット10301のエントリに、送信ストリーム番号11000と送信仮想ポート101のマッピング情報を追加する。
ここで、各テーブルにおいて、エントリを追加したオフセットは、対応する仮想ポートへのシグナリング用イーサネットフレーム送信時に指定したPPIDの値であり、追加したエントリの送信ストリーム番号は、クライアント11がシグナリング用イーサネットフレーム送信時に指定したPPIDの値で、仮想ハブ1がクライアント11と接続している仮想ポートにて、ソケット受信関数の引数から取得した値であり、送信仮想ポートは、クライアント11が接続している仮想ポートである(以降、同様)。
(3) クライアント10は、仮想ハブ1との接続に使用している仮想ネットワークインタフェース(仮想ハブ1とのSCTPアソシエーション)から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、MACストリームマッピングテーブルに、イーサネットフレームの送信元MACアドレス(クライアント11のMACアドレス)と、ソケット受信関数の引数から取得したPPIDの値10001とのマップを追加する。後に、クライアント11宛にイーサネットフレームを送信する時は、この情報を元に、ストリーム番号10001を使用して送信することとなる。
クライアント12についても同様である。
(4) 仮想ハブ0は、仮想ポート11から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、仮想ポート12、13にシグナリング用イーサネットフレームを送信するが、この時、それぞれ、PPIDとして1201、1301を、ストリーム番号として0を指定して送信する。
更に、仮想ポート12のストリームスイッチングテーブルのオフセット1201のエントリ、仮想ポート13の同テーブルのオフセット1301のエントリに、送信ストリーム番号10301と送信仮想ポート11のマッピング情報を追加する。
(5) 仮想ハブ2は、仮想ポート203から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、仮想ポート200、201、202にシグナリング用イーサネットフレームを送信するが、この時、それぞれ、PPIDとして20001、20101、20201を、ストリーム番号として0を指定して送信する。
更に、仮想ポート200のストリームスイッチングテーブルのオフセット20001のエントリ、仮想ポート201の同テーブルのオフセット20101のエントリ、仮想ポート202の同テーブルのオフセット20201のエントリに、送信ストリーム番号1201と送信仮想ポート203のマッピング情報を追加する。
(6) クライアント20は、仮想ハブ2との接続に使用している仮想ネットワークインタフェース(仮想ハブ2とのSCTPアソシエーション)から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、MACストリームマッピングテーブルに、イーサネットフレームの送信元MACアドレス(クライアント11のMACアドレス)と、ソケット受信関数の引数から取得したPPIDの値20001とのマップを追加する。後に、クライアント11宛にイーサネットフレームを送信する時は、この情報を元に、ストリーム番号20001を使用して送信することとなる。
クライアント21、22についても同様である。
(7) 仮想ハブ3は、仮想ポート303から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、仮想ポート300、301、302にシグナリング用イーサネットフレームを送信するが、この時、それぞれ、PPIDとして30001、30101、30201をストリーム番号として0を指定して送信する。
更に、仮想ポート300のストリームスイッチングテーブルのオフセット30001のエントリ、仮想ポート301の同テーブルのオフセット30101のエントリ、仮想ポート302の同テーブルのオフセット30201のエントリに、送信ストリーム番号1301と送信仮想ポート303のマッピング情報を追加する。
(8) クライアント30は、仮想ハブ3との接続に使用している仮想ネットワークインタフェース(仮想ハブ3とのSCTPアソシエーション)から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、MACストリームマッピングテーブルに、イーサネットフレームの送信元MACアドレス(クライアント11のMACアドレス)と、ソケット受信関数の引数から取得したPPIDの値30001とのマップを追加する。後に、クライアント11宛にイーサネットフレームを送信する時は、この情報を元に、ストリーム番号30001を使用して送信することとなる。
クライアント31、32についても同様である。
なお、上記処理の詳細にて、「シグナリング用イーサネットフレーム送信時のPPIDの値設定」の部分、「シグナリング用イーサネットフレーム受信時のソケット受信関数の引数からのPPID取得」部分を、それぞれ、「シグナリング用イーサネットフレーム送信時にそのペイロードに当該値を設定する」、「シグナリング用イーサネットフレーム受信時にそのペイロードから当該値を取得する」、と読み変えることで、ストリームスイッチングで使用されるストリーム番号の情報をシグナリング用イーサネットフレームのペイロードにピギーバックさせた場合の、ストリームスイッチングパス生成処理の説明となることは自明である。
この第5の実施形態によれば、ストリームスイッチングパス生成のトリガとして、ARPリクエストではなく、予め定義された特定のストリーム番号(シグナリング用ストリーム番号)を使用する形態を実現することができる。
<第6の実施形態>(付加情報のピギーバック)
第5の実施形態では、シグナリング用イーサネットフレーム送信時に、SCTPヘッダのPPIDフィールド、或いは、イーサネットフレームのペイロードに、ストリームスイッチングで使用するストリーム番号をピギーバックさせた。
本実施形態では、以下に示すような情報を、シグナリング用イーサネットフレーム送信時のPPIDフィールド、或いは、そのイーサネットフレームのペイロードにピギーバックさせた場合の処理について詳細を説明する。
・ストリームスイッチング処理時に適用される優先度
・ストリームスイッチングの対象とする上位プロトコル、アプリケーション等の情報
・その他、イーサネットフレームが、ストリームスイッチングパスに沿ってスイッチングされる時に適用されるべき属性全般
なお、第1の実施形態ではARPリクエストをシグナリング(ストリームスイッチングパス生成)のトリガとしているが、上記と同様の情報をARPリクエスト送信時に、PPIDフィールドにピギーバックさせることも可能である。
以下、一例として、シグナリング用イーサネットフレーム送信時のPPIDフィールドに、ストリームスイッチングで使用するストリーム番号に加え、上記情報をピギーバックさせる場合の処理の詳細を説明する(構成は第1の実施形態と同様)。
[ストリームスイッチングテーブル]
本実施形態では、各仮想ハブが使用するストリームスイッチングテーブルに、ストリームスイッチング処理の優先度を示すフィールドを追加する(図31参照)。
[MAC−ストリームマッピングテーブル]
本実施形態では、各クライアントが使用するMAC−ストリームマッピングテーブルに、上位プロトコルを識別するフィールドを追加する(図32参照)。
[PPIDフィールド]
本実施形態では、PPIDフィールドに、ストリームスイッチングに使用するストリーム番号、スイッチング処理の対象とする上位プロトコル情報、スイッチング処理の優先度情報をピギーバック(エンコード)させる必要があるため、図33に示すようにPPIDフィールドを更に3つのサブフィールドに細分化し、使用する。
なお、図33に示す分割方法は一例であって、本来、用途に応じて分割するべきものであり、これに限定されるものではない。
[クライアント間のストリームスイッチングパスの生成]
第5の実施形態と同様、シグナリング用ストリーム番号を0と予め定義し、この情報を全仮想ハブ、クライアントで共有しておく。
ここで、例えば、クライアント11が、上位プロトコル、アプリケーション等からの何らかのトリガで、HTTPを送受信するイーサネットフレームを高優先度でスイッチングするためのストリームスイッチングパス生成を開始しようとしたとする。
(1) クライアント11は、仮想ハブ1との接続に使用している仮想ネットワークインタフェース(仮想ハブ1とのSCTPアソシエーション)に、PPIDの各サブフィールドに以下の値を指定し、更に、ストリーム番号0を指定してシグナリング用のイーサネットフレームを送出する。
・ストリーム番号サブフィールド“11020”
・上位プロトコルサブフィールド“80”(HTTP)
・優先度サブフィールド“5”
優先度は低優先度〜通常〜高優先度に応じて、1〜5の値を設定するものとする(0は、例えばベストエフォート)。
(2) 仮想ハブ1は、仮想ポート101から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、仮想ポート100、102、103にシグナリング用イーサネットフレームを送信するが、この時、それぞれ、PPIDのサブフィールドに以下の値を指定し、更に、ストリーム番号として0を指定して送信する。
・ストリーム番号サブフィールド
・仮想ポート100への送信時“10021”
・仮想ポート102への送信時“10221”
・仮想ポート103への送信時“10321”
・上位プロトコルサブフィールド“80”(HTTP)
・優先度サブフィールド“5”
更に、仮想ポート100のストリームスイッチングテーブルのオフセット10021のエントリ、仮想ポート102の同テーブルのオフセット10221のエントリ、仮想ポート103の同テーブルのオフセット10321のエントリに、送信ストリーム番号11020と送信仮想ポート101のマッピング情報を追加し、更に、優先度フィールドに5を設定する。
ここで、各テーブル(詳細は後述)において、エントリを追加したオフセットは、対応する仮想ポートへのシグナリング用イーサネットフレーム送信時に指定したPPIDのストリーム番号サブフィールドの値であり、追加したエントリの送信ストリーム番号、優先度の値は、それぞれ、クライアント11がシグナリング用イーサネットフレーム送信時に指定したPPIDのストリーム番号サブフィールド、優先度サブフィールドの値で、仮想ハブ1がクライアント11と接続している仮想ポートにて、ソケット受信関数の引数から取得した値であり、送信仮想ポートは、クライアント11が接続している仮想ポートである(以降、同様)。
(3) クライアント10は、仮想ハブ1との接続に使用している仮想ネットワークインタフェース(仮想ハブ1とのSCTPアソシエーション)から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、MACストリームマッピングテーブルに、イーサネットフレームの送信元MACアドレス(クライアント11のMACアドレス)と、ソケット受信関数の引数から取得したPPIDのストリーム番号サブフィールドの値10021とのマップを追加する。更に、そのマップエントリの上位プロトコルフィールドに、同PPIDの上位プロトコルサブフィールドの値80(HTTP)を設定する。後に、クライアント11宛に上位プロトコルがHTTPであるイーサネットフレームを送信する時は、この情報を元に、ストリーム番号10021を使用して送信することとなる。
クライアント12についても同様である。
(4) 仮想ハブ0は、仮想ポート11から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、仮想ポート12、13にシグナリング用イーサネットフレームを送信するが、この時、それぞれ、PPIDのサブフィールドに以下の値を指定し、更に、ストリーム番号として0を指定して送信する。
・ストリーム番号サブフィールド
・仮想ポート12への送信時“1221”
・仮想ポート13への送信時“1321”
・上位プロトコルサブフィールド“80”(HTTP)
・優先度サブフィールド“5”
更に、仮想ポート12のストリームスイッチングテーブルのオフセット1221のエントリ、仮想ポート13の同テーブルのオフセット1321のエントリに、送信ストリーム番号10321と送信仮想ポート11のマッピング情報を追加し、更に、優先度フィールドに5を設定する。
(5) 仮想ハブ2は、仮想ポート203から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、仮想ポート200、201、202にシグナリング用イーサネットフレームを送信するが、この時、それぞれ、PPIDのサブフィールドに以下の値を指定し、更に、ストリーム番号として0を指定して送信する。
・ストリーム番号サブフィールド
・仮想ポート200への送信時“20021”
・仮想ポート201への送信時“20121”
・仮想ポート202への送信時“20221”
・上位プロトコルサブフィールド“80”(HTTP)
・優先度サブフィールド“5”
更に、仮想ポート200のストリームスイッチングテーブルのオフセット20021のエントリ、仮想ポート201の同テーブルのオフセット20121のエントリ、仮想ポート202の同テーブルのオフセット20221のエントリに、送信ストリーム番号1221と送信仮想ポート203のマッピング情報を追加し、更に、優先度フィールドに5を設定する。
(6) クライアント20は、仮想ハブ2との接続に使用している仮想ネットワークインタフェース(仮想ハブ2とのSCTPアソシエーション)から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、MACストリームマッピングテーブルに、イーサネットフレームの送信元MACアドレス(クライアント11のMACアドレス)と、ソケット受信関数の引数から取得したPPIDのストリーム番号サブフィールドの値20021とのマップを追加する。更に、そのマップエントリの上位プロトコルフィールドに、同PPIDの上位プロトコルサブフィールドの値80(HTTP)を設定する。後に、クライアント11宛にイーサネットフレームを送信する時は、この情報を元に、ストリーム番号20021を使用して送信することとなる。
クライアント21、22についても同様である。
(7) 仮想ハブ3は、仮想ポート303から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、仮想ポート300、301、302にシグナリング用イーサネットフレームを送信するが、この時、それぞれ、PPIDのサブフィールドに以下の値を指定し、更に、ストリーム番号として0を指定して送信する。
・ストリーム番号サブフィールド
・仮想ポート300への送信時“30021”
・仮想ポート301への送信時“30121”
・仮想ポート302への送信時“30221”
・上位プロトコルサブフィールド“80”(HTTP)
・優先度サブフィールド“5”
更に、仮想ポート300のストリームスイッチングテーブルのオフセット30021のエントリ、仮想ポート301の同テーブルのオフセット30121のエントリ、仮想ポート302の同テーブルのオフセット30221のエントリに、送信ストリーム番号1321と送信仮想ポート303のマッピング情報を追加し、更に、優先度フィールドに5を設定する。
(8) クライアント30は、仮想ハブ3との接続に使用している仮想ネットワークインタフェース(仮想ハブ3とのSCTPアソシエーション)から、ストリーム番号0を使用したイーサネットフレーム(上記シグナリング用イーサネットフレーム)を受信すると、MACストリームマッピングテーブルに、イーサネットフレームの送信元MACアドレス(クライアント11のMACアドレス)と、ソケット受信関数の引数から取得したPPIDのストリーム番号サブフィールドの値30021とのマップを追加する。更に、そのマップエントリの上位プロトコルフィールドに、同PPIDの上位プロトコルサブフィールドの値80(HTTP)を設定する。後に、クライアント11宛にイーサネットフレームを送信する時は、この情報を元に、ストリーム番号30021を使用して送信することとなる。
クライアント31、32についても同様である。
なお、他の全てのクライアントが、例えば、プロトコル0(プロトコル指定無し)、優先度3(通常)でシグナリング用イーサネットフレームを送信した後の、各仮想ハブのストリームスイッチングテーブル、各クライアントのMAC−ストリームマッピングテーブルの状態を図35〜図37、図38〜図40にそれぞれ示す。これらは、全クライアント−クライアント11間の上位プロトコルがHTTPであるイーサネットフレームを高優先度でスイッチングする、ストリームスイッチングパスが生成されたことを示すものである(その他のクライアント間の全てのプロトコルは通常の優先度)。
また、同じMACアドレスでも、優先度、上位プロトコル、アプリケーションが異なるエントリが同一ノードの同一テーブルに並存することはあり得ることである。
[仮想ハブによるストリームスイッチング処理]
上記状態で、クライアント32がクライアント11に、上位プロトコルがHTTPであるイーサネットフレームを送信しようとしたとする。
(1) クライアント32は、MAC−ストリームマッピングテーブル(図40参照)において、クライアント11のMACアドレスであるMAC11がストリーム番号30221とマッピングされていること、更には、そのマッピングの上位プロトコルがHTTPであることを認識し、ストリーム番号30221を使用し、当該イーサネットフレームを仮想ハブ2との接続に使用している仮想ネットワークインタフェース(仮想ハブ2とのSCTPアソシエーション)に送信する。
(2) 仮想ハブ3は、クライアント32を収容する仮想ポート302から、SCTPストリーム番号30221にてイーサネットフレームを受信すると、当該仮想ポートのストリームスイッチングテーブル(図37参照)のインデックス30221のエントリ(送信ストリーム番号1321/送信仮想ポート303/優先度5)を参照する。
その結果、ストリーム番号1321を使用し、仮想ポート303へ当該イーサネットフレームを送信する。
この時、優先度5(高優先度)であることから、スイッチング処理を高優先度でスケジューリングする。なお、スケジューリングの具体的処理は、本提案の主旨では無いため、詳細は割愛する(以降、同様)。
(3) 仮想ハブ0、仮想ハブ1は、上記仮想ハブ3と同様、該当イーサネットフレームを高優先度でスイッチングする。
(4) クライアント11は、仮想ハブ1との接続に使用している仮想ネットワークインタフェース(仮想ハブ1とのSCTPアソシエーション)から、SCTPストリーム番号11020にてイーサネットフレームを受信する。
この第6の実施形態によれば、優先度などを含む各種の情報を、シグナリング用イーサネットフレーム送信時のPPIDフィールド、或いは、そのイーサネットフレームのペイロードにピギーバックさせることにより付加価値を向上させることができる。
<第7の実施形態>(従来のイーサネットスイッチング機能との並存)
第1の実施形態〜第6の実施形態に示した方法は、従来の宛先MACアドレスによるスイッチングの機能との並存が可能である。
すなわち、仮想ハブは、ストリームスイッチングテーブル、MAC−ストリームマッピングテーブルでミスヒットした場合には、従来の機能により、宛先MACアドレスを元に、イーサネットフレームを転送する。
<応用>
仮想イーサネットの構築に適用可能である。また、ARPと同等のアドレス解決の仕組みを有する仮想ネットワークにも同様に適用可能である。
<まとめ>
上述した各実施形態で説明した各種のシステムに備えられる各種の機能や情報などの概念をまとめると以下の通りとなる。
(1)各実施形態に共通する基本概念(スイッチングにストリーム番号を使用)について
一つ以上の中継ノード(仮想ハブ)を経由してクライアント間が通信を行なう仮想ネットワーク(仮想イーサネット)におけるイーサネットフレームをスイッチングする方法であり、以下の特徴を持つ。
・アンダーレイネットワークとしてSCTP(Stream Control Transmission Protocol)を使用する。
・仮想ハブは、ある仮想ポートからイーサネットフレームを受信すると、受信時に使用したSCTPストリーム番号に基づき、送信先の仮想ポート、及び、送信時に使用するSCTPストリーム番号を決定し、前記決定したSCTPストリーム番号を使用して、前記決定した仮想ポートに、前記受信したイーサネットフレームを送信する。
(2) 第1の実施形態について
一つ以上の中継ノード(仮想ハブ)を経由してクライアント間が通信を行なう仮想ネットワーク(仮想イーサネット)におけるイーサネットフレームをスイッチングする方法であり、以下の特徴を持つ。
・アンダーレイネットワーク
仮想ハブ−仮想ハブ間、及び、仮想ハブ−クライアント(仮想ネットワークインタフェース)間のアンダーレイネットワークとして、SCTPを使用する。
・クライアント(仮想ネットワークインタフェース)
- 宛先クライアントの宛先MACアドレスと、そのクライアント宛のイーサネットフレーム送信時に使用するストリーム番号とのマッピングを保持する、MACストリームマッピングテーブルを持つ。
- 仮想ハブとの接続に使用しているSCTPアソシエーションからARPリクエストを受信すると、通常のARP処理を行なうと同時に、ARPリクエストの送信元MACアドレスとARPリクエストの受信に使用したストリーム番号とのマッピングを保持するエントリを、MAC−ストリームマッピングテーブルに追加する。
- 他クライアントにイーサネットフレームを送信する場合、MAC−ストリームマッピングテーブルにおいて、そのイーサネットフレームの宛先MACアドレス(宛先クライアントのMACアドレス)に対応するエントリがあった場合、そのエントリのストリーム番号を使用して、仮想ハブとの接続に使用しているSCTPアソシエーションに、そのイーサネットフレームを送信する。
・仮想ハブ
- 仮想ポート毎に、イーサネットフレームの転送先仮想ポートを指定する送信仮想ポートと、その送信仮想ポートへイーサネットフレームを送信する時に使用する送信ストリーム番号とのマッピングを保持する、ストリームスイッチングテーブルを持つ。
* ストリームスイッチングテーブルのエントリ数はストリーム番号空間と同じである。
- ある仮想ポートからARPリクエストを受信すると、他の全ての仮想ポート(SCTPアソシエーション)へそれを送信する。
* 仮想ポートへのARPリクエスト送信時、その仮想ポートのストリームスイッチングテーブルで未使用のストリーム番号を選択し、それを送信に使用する。
* 仮想ポートへのARPリクエスト送信時、その仮想ポートのストリームスイッチングテーブルの、上記送信に使用したストリーム番号でインデックス付けされるエントリに、ARPリクエストを受信した仮想ポートと、受信に使用したストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定する。
- ある仮想ポートからイーサネットフレーム(ユニキャストフレーム)を受信すると、受信に使用したストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているストリーム番号を使用して、受信したイーサネットフレームを送信する。
(3)第2の実施形態について
上記(2)に示した特徴を持つ仮想ハブにおいて、更に、以下の特徴を持つ。
・ストリーム番号空間と同数のエントリ数を持つストリームスイッチングテーブルを、全仮想ポートで共有する。
(4)第3の実施形態について
上記(2)、(3)に示した特徴を持つ仮想ネットワーク(仮想イーサネット)におけるイーサネットフレームをスイッチングする方法において、更に、仮想ハブが以下の特徴を持つ。
・アンダーレイネットワークとしてSCTPを使用するクライアントに加え、アンダーレイネットワークとしてSCTPを使用しないクライアントをも収容する。
・少なくとも一つ以上のSCTPを使用しないクライアントを収容する仮想ハブは、
- SCTPを使用した仮想ポート毎のストリームスイッチングテーブルを持つことに加え、宛先クライアントの宛先MACアドレスと、そのクライアント宛のイーサネットフレーム送信時に使用するストリーム番号、送信先仮想ポートとのマッピングを保持する、MAC−ストリームマッピングテーブルをも持つ。
- ある仮想ポートからARPリクエストを受信すると、他の全ての仮想ポートへそれを送信する。
この時、送信先仮想ポートが、
* SCTP以外のアンダーレイネットワークを使用している場合
そこで使用されているアンダーレイネットワークプロトコルに従う。
* SCTPを使用している場合
その仮想ポートのストリームスイッチングテーブルで未使用のストリーム番号を選択し、それを送信に使用する。
更に、送信先仮想ポートのストリームスイッチングテーブルの、上記送信に使用したストリーム番号でインデックス付けされるエントリに、ARPリクエストを受信した仮想ポートと、ARPリクエストの受信に使用したストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定する。
ただし、ARPリクエストを受信した仮想ポートが、SCTPを使用していない場合は、送信ストリーム番号として、予め定義された値(送信仮想ポートがSCTPを使用していないことを表すマジックナンバー)を使用する。
また、MAC−ストリームマッピングテーブルに、ARPリクエストの送信元MACアドレスとARPリクエストを受信した仮想ポート、ARPリクエストの受信に使用したストリーム番号とを、それぞれ、宛先MACアドレス、送信仮想ポート、送信ストリーム番号して、エントリをMAC−ストリームマッピングテーブルに追加する。
ただし、ARPリクエストを受信した仮想ポートが、SCTPを使用していない場合は、送信ストリーム番号として、マジックナンバーを使用する。
・ある仮想ポートからイーサネットフレーム(ユニキャストフレーム)を受信すると、イーサネットフレームを受信した仮想ポートが、
- SCTPを使用している場合
受信に使用したストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているストリーム番号を使用して、受信したイーサネットフレームを送信する。
ただし、送信ストリーム番号がマジックナンバーである場合には、送信仮想ポートのアンダーレイネットワークに従い、イーサネットフレームを送信する。
- SCTPを使用していない場合
受信したイーサネットフレームの宛先MACアドレスにマッチするMAC−ストリームマッピングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているストリーム番号を使用して、受信したイーサネットフレームを送信する。
ただし、送信ストリーム番号がマジックナンバーである場合には、送信仮想ポートのアンダーレイネットワークに従い、イーサネットフレームを送信する。
(5)第4の実施形態について
上記(2)〜(4)に示した特徴を持つ仮想ハブにおいて、更に、以下の特徴を持つ。
・一つ以上の他仮想ハブ、及び、一つ以上のクライアントとの接続を持つ。
(6)第5の実施形態(PPID使用)について
上記(2)〜(5)に示した特徴に加え、仮想ハブ、及び、クライアントは、ストリームスイッチングパスを生成時に、以下の特徴を持つ。
・ストリームスイッチングパス生成のためのシグナリング用ストリーム番号として、予め特定の値を定義する(以後、シグナリング用ストリーム番号)。
・クライアントは、シグナリング用ストリーム番号を使用してイーサネットフレームを送信する。この時、SCTPのPPIDフィールドに、ストリームスイッチングに使用するストリーム番号を格納する。
・仮想ハブは、上記イーサネットフレームを受信したストリーム番号ではなく(請求項1の方法)、PPIDに格納されているストリーム番号を、ストリームスイッチングテーブル、MAC−ストリームマッピングテーブルの送信ストリーム番号の値として使用する。
・クライアントは、上記イーサネットフレームを受信したストリーム番号ではなく(請求項1の方法)、PPIDに格納されているストリーム番号を、MAC−ストリームマッピングテーブルの送信ストリーム番号の値として使用する。
(7)第5の実施形態(イーサネットフレームペイロード使用)について
上記(2)〜(5)に示した特徴に加え、仮想ハブ、及び、クライアントは、ストリームスイッチングパスを生成時に、以下の特徴を持つ。
・ストリームスイッチングパス生成のためのシグナリング用ストリーム番号として、予め特定の値を定義する(以後、シグナリング用ストリーム番号)。
・クライアントは、シグナリング用ストリーム番号を使用してイーサネットフレームを送信する。この時、そのイーサネットフレームのペイロードに、ストリームスイッチングに使用するストリーム番号を格納する。
・仮想ハブは、上記イーサネットフレームを受信したストリーム番号ではなく(請求項1の方法)、上記イーサネットフレームのペイロードに格納されているストリーム番号を、ストリームスイッチングテーブル、MAC−ストリームマッピングテーブルの送信ストリーム番号の値として使用する。
・クライアントは、上記イーサネットフレームを受信したストリーム番号ではなく(請求項1の方法)、上記イーサネットフレームのペイロードに格納されているストリーム番号を、MAC−ストリームマッピングテーブルの送信ストリーム番号の値として使用する。
(8)第6の実施形態について
上記(2)〜(7)に示した特徴に加え、以下の特徴を持つ。
・ARPリクエスト送信時のSCTPのPPIDフィールド、或いは、シグナリング用イーサネットフレーム送信時のPPIDフィールドもしくはイーサネットフレームのペイロードに、以下の情報を格納する。
- ストリームスイッチング処理に使用される優先度情報
- ストリームスイッチング処理の対象とする上位プロトコル、アプリケーション情報
- その他、イーサネットフレームが、ストリームスイッチングパスに沿ってスイッチングされる時に適用される可能性のある属性全般
・ストリームスイッチングテーブル、MAC−ストリームマッピングテーブルに、上記情報に対応するフィールドを追加する。
・クライアントは、ARPリクエスト或いはシグナリング用イーサネットフレーム送信時、上記情報をPPIDフィールド、或いは、イーサネットフレームのペイロードに設定する。
・仮想ハブは、ARPリクエスト或いはシグナリング用イーサネットフレーム受信時、送信仮想ポート、送信ストリーム番号、MACアドレスに加え、上記情報をストリームスイッチングテーブル、MAC−ストリームマッピングテーブルの該当フィールドに設定する。
また、ARPリクエスト或いはシグナリング用イーサネットフレーム送信時、上記情報を同様にPPIDフィールド、もしくは、イーサネットフレームのペイロードに格納する。
・仮想ハブは、イーサネットフレームスイッチング時、上記情報、例えば、優先度情報に基づき、スイッチング処理のスケジューリングを行なう。
・クライアントは、ARPリクエスト或いはシグナリング用イーサネットフレーム受信時、送信ストリーム番号、MACアドレスに加え、上記情報をMAC−ストリームマッピングテーブルの該当フィールドに設定する。
・クライアントは、イーサネットフレーム送信時、上記情報を元に、上位プロトコル毎、アプリケーション毎に、いずれの送信ストリーム番号を使うか等の制御を行なう。
(9)第7の実施形態について
上記(2)〜(8)に示した特徴を持つ仮想イーサネットにおいて、従来の宛先MACアドレスによるスイッチングの機能を有し、ストリームスイッチングテーブル、MAC−ストリームマッピングテーブルでミスヒットした場合には、従来の機能により、イーサネットフレームを転送する。
以上詳述したように、本発明の実施の形態によれば、ネットワーク仮想化システムにおいて、テーブルの管理や検索を容易に行え、スイッチング処理の性能を向上させることができる。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、記憶媒体は一つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコンやサーバ計算機等の一つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンやサーバ計算機に限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
本発明の各実施形態に共通するネットワーク仮想化システムのシステム構成の一例を示す図。 仮想ハブ−仮想ハブ間、及び、仮想ハブ−クライアント間で送受されるデータのフレーム構成の一例を示す図。 ストリームスイッチングテーブルの一例を示す図。 MAC−ストリームマッピングテーブルの一例を示す図。 第1の実施形態における仮想ハブ0のストリームスイッチングテーブルの一例を示す図。 第1の実施形態における仮想ハブ1のストリームスイッチングテーブルの一例を示す図。 第1の実施形態における仮想ハブ2のストリームスイッチングテーブルの一例を示す図。 第1の実施形態における仮想ハブ3のストリームスイッチングテーブルの一例を示す図。 第1の実施形態におけるクライアント10、12のMAC−ストリームマッピングテーブルの一例を示す図。 第1の実施形態におけるクライアント20、21、22のMAC−ストリームマッピングテーブルの一例を示す図。 第1の実施形態におけるクライアント30、31、32のMAC−ストリームマッピングテーブルの一例を示す図。 第1の実施形態におけるパス生成後の仮想ハブ0のストリームスイッチングテーブルの一例を示す図。 第1の実施形態におけるパス生成後の仮想ハブ1のストリームスイッチングテーブルの一例を示す図。 第1の実施形態におけるパス生成後の仮想ハブ2のストリームスイッチングテーブルの一例を示す図。 第1の実施形態におけるパス生成後の仮想ハブ3のストリームスイッチングテーブルの一例を示す図。 第1の実施形態におけるパス生成後のクライアント10、11、12のストリームスイッチングテーブルの一例を示す図。 第1の実施形態におけるパス生成後のクライアント20、21、22のストリームスイッチングテーブルの一例を示す図。 第1の実施形態におけるパス生成後のクライアント30、31、32のストリームスイッチングテーブルの一例を示す図。 第2の実施形態における仮想ハブのストリームスイッチングテーブルの一例を示す図。 第3の実施形態における仮想ハブ1のストリームスイッチングテーブルの一例を示す図。 第3の実施形態における仮想ハブ1のMAC−ストリームマッピングテーブルの一例を示す図。 第3の実施形態における仮想ハブ2のMAC−ストリームマッピングテーブルの一例を示す図。 第3の実施形態における仮想ハブ3のMAC−ストリームマッピングテーブルの一例を示す図。 第3の実施形態におけるパス生成後の仮想ハブ0のストリームスイッチングテーブルの一例を示す図。 第3の実施形態におけるパス生成後の仮想ハブ1のストリームスイッチングテーブルの一例を示す図。 第3の実施形態におけるパス生成後の仮想ハブ2のストリームスイッチングテーブルの一例を示す図。 第3の実施形態におけるパス生成後の仮想ハブ3のストリームスイッチングテーブルの一例を示す図。 第3の実施形態におけるパス生成後の仮想ハブ1のMAC−ストリームマッピングテーブルの一例を示す図。 第3の実施形態におけるパス生成後の仮想ハブ2のMAC−ストリームマッピングテーブルの一例を示す図。 第3の実施形態におけるパス生成後の仮想ハブ3のMAC−ストリームマッピングテーブルの一例を示す図。 優先度情報を追加したストリームスイッチングテーブルの一例を示す図。 上位プロトコル情報を追加したストリームスイッチングテーブルの一例を示す図。 PPIDのサブフィールドの構成の一例を示す図。 第6の実施形態におけるパス生成後の仮想ハブ0のストリームスイッチングテーブルの一例を示す図。 第6の実施形態におけるパス生成後の仮想ハブ1のストリームスイッチングテーブルの一例を示す図。 第6の実施形態におけるパス生成後の仮想ハブ2のストリームスイッチングテーブルの一例を示す図。 第6の実施形態におけるパス生成後の仮想ハブ3のストリームスイッチングテーブルの一例を示す図。 第6の実施形態におけるパス生成後のクライアント10、11、12のMAC−ストリームマッピングテーブルの一例を示す図。 第6の実施形態におけるパス生成後のクライアント20、21、22のMAC−ストリームマッピングテーブルの一例を示す図。 第6の実施形態におけるパス生成後のクライアント30、31、32のMAC−ストリームマッピングテーブルの一例を示す図。 仮想イーサネットの一般的な構成の一例を示す図。
符号の説明
0〜3…仮想ハブ、10〜12,20〜22,30〜32…クライアント、11〜13,100〜103,200〜203,300〜303…仮想ポート。

Claims (13)

  1. 少なくとも一つの仮想ハブをソフトウェアにより形成する少なくとも一つの中継装置と、前記仮想ハブにソフトウェアにより形成される仮想ネットワークインタフェースを介して接続可能な複数のクライアント端末とを有し、アンダーレイネットワーク上に構築される仮想ネットワークを通じて前記複数のクライアント端末が前記仮想ハブを経由して通信を行うネットワーク仮想化システムであって、
    前記アンダーレイネットワークは、SCTP(Stream Control Transmission Protocol)を用いて形成され、
    前記仮想ハブは、
    仮想ポート毎に、フレームの転送先仮想ポートを指定する送信仮想ポートと、その送信仮想ポートへフレームを送信する時に使用するSCTPの送信ストリーム番号とのマッピングを保持するストリームスイッチングテーブルと、
    ある仮想ポートからストリームスイッチングパス生成のトリガとなるフレームを受信すると、そのフレームを他の全ての仮想ポートへ、各仮想ポートのストリームスイッチングテーブルで未使用のSCTPのストリーム番号を使用して送信すると共に、各仮想ポートのストリームスイッチングテーブルの、前記送信に使用したストリーム番号でインデックス付けされるエントリに、フレームを受信した仮想ポートと、フレームの受信に使用したSCTPのストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定する、ストリームスイッチングパス生成手段と、
    ある仮想ポートからフレームを受信すると、受信に使用したSCTPのストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているSCTPのストリーム番号を使用して、受信したフレームを送信する、ストリームスイッチング処理手段と
    を具備することを特徴とするネットワーク仮想化システム。
  2. 前記仮想ハブは、ある仮想ポートからARP(Address Resolution Protocol)リクエストを受信したときに、前記ストリームスイッチングテーブルの設定を行うことを特徴とする請求項1に記載のネットワーク仮想化システム。
  3. 少なくとも一つの仮想ハブをソフトウェアにより形成する少なくとも一つの中継装置と、前記仮想ハブにソフトウェアにより形成される仮想ネットワークインタフェースを介して接続可能な複数のクライアント端末とを有し、アンダーレイネットワーク上に構築される仮想ネットワークを通じて前記複数のクライアント端末が前記仮想ハブを経由して通信を行うネットワーク仮想化システムであって、
    仮想ハブ−仮想ハブ間、及び、仮想ハブ−クライアント間のアンダーレイネットワークがSCTP(Stream Control Transmission Protocol)を用いて形成され、
    各クライアントは、
    宛先クライアントの宛先MACアドレスと、そのクライアント宛のフレーム送信時に使用するSCTPのストリーム番号とのマッピングを保持するMAC−ストリームマッピングテーブルと、
    仮想ハブとの接続に使用しているSCTPアソシエーションからARPリクエストを受信すると、通常のARP(Address Resolution Protocol)処理を行なうと共に、ARPリクエストの送信元MACアドレスとARPリクエストの受信に使用したストリーム番号とのマッピングを保持するエントリを、前記MAC−ストリームマッピングテーブルに追加する手段と、
    他クライアントにフレームを送信する場合、前記MAC−ストリームマッピングテーブルにおいて、そのフレームの宛先MACアドレスに対応するエントリがあった場合、そのエントリのストリーム番号を使用して、仮想ハブとの接続に使用しているSCTPアソシエーションに、そのフレームを送信する手段と
    を具備し、
    前記仮想ハブは、
    仮想ポート毎に、フレームの転送先仮想ポートを指定する送信仮想ポートと、その送信仮想ポートへフレームを送信する時に使用するSCTPの送信ストリーム番号とのマッピングを保持するストリームスイッチングテーブルと、
    ある仮想ポートからARPリクエストを受信すると、そのARPリクエストを他の全ての仮想ポートへ、各仮想ポートのストリームスイッチングテーブルで未使用のSCTPのストリーム番号を使用して送信すると共に、各仮想ポートのストリームスイッチングテーブルの、前記送信に使用したストリーム番号でインデックス付けされるエントリに、ARPリクエストを受信した仮想ポートと、ARPリクエストの受信に使用したSCTPのストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定する、ストリームスイッチングパス生成手段と、
    ある仮想ポートからフレームを受信すると、受信に使用したSCTPのストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているSCTPのストリーム番号を使用して、受信したフレームを送信する、ストリームスイッチング処理手段と
    を具備することを特徴とするネットワーク仮想化システム。
  4. 前記ストリームスイッチングテーブルは、全仮想ポートで共有されることを特徴とする請求項1乃至3のいずれか1項に記載のネットワーク仮想化システム。
  5. 前記仮想ハブは、更に、アンダーレイネットワークとしてSCTPを使用するクライアントに加え、アンダーレイネットワークとしてSCTPを使用しないクライアントをも収容し、
    少なくとも一つ以上のSCTPを使用しないクライアントを収容する仮想ハブは、
    SCTPを使用した仮想ポート毎のストリームスイッチングテーブルを持つことに加え、宛先クライアントの宛先MACアドレスと、そのクライアント宛のフレーム送信時に使用するストリーム番号、送信先仮想ポートとのマッピングを保持するMAC−ストリームマッピングテーブルをも備え、
    ある仮想ポートからARPリクエストを受信すると、他の全ての仮想ポートへそれを送信し、この時、送信先仮想ポートが、SCTP以外のアンダーレイネットワークを使用している場合、そこで使用されているアンダーレイネットワークプロトコルに従い、一方、SCTPを使用している場合、その仮想ポートのストリームスイッチングテーブルで未使用のストリーム番号を選択し、それを送信に使用し、更に、送信先仮想ポートのストリームスイッチングテーブルの、前記送信に使用したストリーム番号でインデックス付けされるエントリに、ARPリクエストを受信した仮想ポートと、ARPリクエストの受信に使用したストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定するが、ARPリクエストを受信した仮想ポートが、SCTPを使用していない場合は、送信ストリーム番号として、送信仮想ポートがSCTPを使用していないことを表すマジックナンバーを使用し、また、MAC−ストリームマッピングテーブルに、ARPリクエストの送信元MACアドレスとARPリクエストを受信した仮想ポート、ARPリクエストの受信に使用したストリーム番号とを、それぞれ、宛先MACアドレス、送信仮想ポート、送信ストリーム番号として、エントリをMAC−ストリームマッピングテーブルに追加するが、ARPリクエストを受信した仮想ポートが、SCTPを使用していない場合は、送信ストリーム番号として、送信仮想ポートがSCTPを使用していないことを表すマジックナンバーを使用し、
    ある仮想ポートからフレームを受信すると、フレームを受信した仮想ポートが、SCTPを使用している場合、受信に使用したストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているストリーム番号を使用して、受信したフレームを送信するが、送信ストリーム番号がマジックナンバーである場合には、送信仮想ポートのアンダーレイネットワークに従い、フレームを送信し、一方、フレームを受信した仮想ポートが、SCTPを使用していない場合、受信したフレームの宛先MACアドレスにマッチするMAC−ストリームマッピングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているストリーム番号を使用して、受信したフレームを送信するが、送信ストリーム番号がマジックナンバーである場合には、送信仮想ポートのアンダーレイネットワークに従い、フレームを送信する
    ことを特徴とする請求項3又は4に記載のネットワーク仮想化システム。
  6. 前記仮想ハブ及び各クライアントは、ストリームスイッチングパスを生成時に、ストリームスイッチングパス生成のためのシグナリング用ストリーム番号として、予め特定の値を定義し、
    各クライアントは、シグナリング用ストリーム番号を使用してイーサネットフレームを送信し、この時、SCTPのPPIDフィールドに、ストリームスイッチングに使用するストリーム番号を格納し、
    前記仮想ハブは、PPIDフィールドに格納されているストリーム番号を、ストリームスイッチングテーブル、MAC−ストリームマッピングテーブルの送信ストリーム番号の値として使用し、
    各クライアントは、PPIDフィールドに格納されているストリーム番号を、MAC−ストリームマッピングテーブルの送信ストリーム番号の値として使用する
    ことを特徴とする請求項3乃至5のいずれか1項に記載のネットワーク仮想化システム。
  7. 前記仮想ハブ及び各クライアントは、ストリームスイッチングパスを生成時に、ストリームスイッチングパス生成のためのシグナリング用ストリーム番号として、予め特定の値を定義し、
    各クライアントは、シグナリング用ストリーム番号を使用してフレームを送信し、この時、そのフレームのペイロードに、ストリームスイッチングに使用するストリーム番号を格納し、
    前記仮想ハブは、前記フレームのペイロードに格納されているストリーム番号を、ストリームスイッチングテーブル、MAC−ストリームマッピングテーブルの送信ストリーム番号の値として使用し、
    各クライアントは、前記フレームのペイロードに格納されているストリーム番号を、MAC−ストリームマッピングテーブルの送信ストリーム番号の値として使用する
    ことを特徴とする請求項3乃至5のいずれか1項に記載のネットワーク仮想化システム。
  8. ARPリクエスト送信時のSCTPのPPIDフィールド、或いは、シグナリング用イーサネットフレーム送信時のSCTPのPPIDフィールドもしくはイーサネットフレームのペイロードに、1)ストリームスイッチング処理に使用される優先度情報、2)ストリームスイッチング処理の対象とする上位プロトコル、アプリケーション情報、3)イーサネットフレームが、ストリームスイッチングパスに沿ってスイッチングされる時に適用可能な属性情報、のうちの少なくとも一つの情報を格納可能であり、
    ストリームスイッチングテーブル、MAC−ストリームマッピングテーブルに、前記情報に対応するフィールドがあり、
    各クライアントは、ARPリクエスト或いはシグナリング用イーサネットフレーム送信時、前記情報をSCTPのPPIDフィールド、或いは、イーサネットフレームのペイロードに設定し、
    前記仮想ハブは、ARPリクエスト或いはシグナリング用イーサネットフレーム受信時、送信仮想ポート、送信ストリーム番号、MACアドレスに加え、前記情報をストリームスイッチングテーブル、MAC−ストリームマッピングテーブルの該当フィールドに設定し、また、ARPリクエスト或いはシグナリング用イーサネットフレーム送信時、前記情報を同様にSCTPのPPIDフィールド、もしくは、イーサネットフレームのペイロードに格納し、
    前記仮想ハブは、イーサネットフレームスイッチング時、前記情報に基づき、スイッチング処理のスケジューリングを行ない、
    各クライアントは、ARPリクエスト或いはシグナリング用イーサネットフレーム受信時、送信ストリーム番号、MACアドレスに加え、前記情報をMAC−ストリームマッピングテーブルの該当フィールドに設定し、
    各クライアントは、イーサネットフレーム送信時、前記情報を元に、上位プロトコル毎、アプリケーション毎に、いずれの送信ストリーム番号を使うかを決定する制御を行なう
    ことを特徴とする請求項3乃至5のいずれか1項に記載のネットワーク仮想化システム。
  9. 前記仮想ハブは、宛先MACアドレスによるスイッチングの機能を有し、ストリームスイッチングテーブル、或いは、MAC−ストリームマッピングテーブルでミスヒットした場合には、前記機能により、フレームを転送する
    ことを特徴とする請求項1乃至8のいずれか1項に記載のネットワーク仮想化システム。
  10. 少なくとも一つの仮想ハブをソフトウェアにより形成する少なくとも一つの中継装置と、前記仮想ハブにソフトウェアにより形成される仮想ネットワークインタフェースを介して接続可能な複数のクライアント端末とを有し、アンダーレイネットワーク上に構築される仮想ネットワークを通じて前記複数のクライアント端末が前記仮想ハブを経由して通信を行うネットワーク仮想化システムにおいて、前記中継装置に適用されるプログラムであって、
    前記アンダーレイネットワークとして、SCTP(Stream Control Transmission Protocol)を使用する機能と、
    仮想ポート毎に、フレームの転送先仮想ポートを指定する送信仮想ポートと、その送信仮想ポートへフレームを送信する時に使用するSCTPの送信ストリーム番号とのマッピングをストリームスイッチングテーブルに保持する機能と、
    ある仮想ポートからストリームスイッチングパス生成のトリガとなるフレームを受信すると、そのフレームを他の全ての仮想ポートへ、各仮想ポートのストリームスイッチングテーブルで未使用のSCTPのストリーム番号を使用して送信すると共に、各仮想ポートのストリームスイッチングテーブルの、前記送信に使用したストリーム番号でインデックス付けされるエントリに、フレームを受信した仮想ポートと、フレームの受信に使用したSCTPのストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定する機能と、
    ある仮想ポートからフレームを受信すると、受信に使用したSCTPのストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているSCTPのストリーム番号を使用して、受信したフレームを送信する機能と
    をコンピュータに実現させることを特徴とするプログラム。
  11. 前記設定の機能は、ある仮想ポートからARP(Address Resolution Protocol)リクエストを受信したときに、前記ストリームスイッチングテーブルの設定を行うことを特徴とする請求項10に記載のプログラム。
  12. 少なくとも一つの仮想ハブをソフトウェアにより形成する少なくとも一つの中継装置と、前記仮想ハブにソフトウェアにより形成される仮想ネットワークインタフェースを介して接続可能な複数のクライアント端末とを有し、アンダーレイネットワーク上に構築される仮想ネットワークを通じて前記複数のクライアント端末が前記仮想ハブを経由して通信を行うネットワーク仮想化システムにおいて、前記中継装置に適用されるプログラムであって、
    前記アンダーレイネットワークとして、SCTP(Stream Control Transmission Protocol)を使用する機能と、
    仮想ポート毎に、フレームの転送先仮想ポートを指定する送信仮想ポートと、その送信仮想ポートへフレームを送信する時に使用するSCTPの送信ストリーム番号とのマッピングをストリームスイッチングテーブルに保持する機能と、
    ある仮想ポートからARPリクエストを受信すると、そのARPリクエストを他の全ての仮想ポートへ、各仮想ポートのストリームスイッチングテーブルで未使用のSCTPのストリーム番号を使用して送信すると共に、各仮想ポートのストリームスイッチングテーブルの、前記送信に使用したストリーム番号でインデックス付けされるエントリに、ARPリクエストを受信した仮想ポートと、ARPリクエストの受信に使用したSCTPのストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定する機能と、
    ある仮想ポートからフレームを受信すると、受信に使用したSCTPのストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているSCTPのストリーム番号を使用して、受信したフレームを送信する機能と
    をコンピュータに実現させることを特徴とするプログラム。
  13. アンダーレイネットワークとしてSCTPを使用するクライアントに加え、アンダーレイネットワークとしてSCTPを使用しないクライアントをも収容する機能と、
    少なくとも一つ以上のSCTPを使用しないクライアントを収容する仮想ハブの機能として、
    SCTPを使用した仮想ポート毎のストリームスイッチングテーブルを持つことに加え、宛先クライアントの宛先MACアドレスと、そのクライアント宛のフレーム送信時に使用するストリーム番号、送信先仮想ポートとのマッピングをMAC−ストリームマッピングテーブルに保持する機能と、
    ある仮想ポートからARPリクエストを受信すると、他の全ての仮想ポートへそれを送信し、この時、送信先仮想ポートが、SCTP以外のアンダーレイネットワークを使用している場合、そこで使用されているアンダーレイネットワークプロトコルに従い、一方、SCTPを使用している場合、その仮想ポートのストリームスイッチングテーブルで未使用のストリーム番号を選択し、それを送信に使用し、更に、送信先仮想ポートのストリームスイッチングテーブルの、前記送信に使用したストリーム番号でインデックス付けされるエントリに、ARPリクエストを受信した仮想ポートと、ARPリクエストの受信に使用したストリーム番号とを、それぞれ、送信仮想ポート、送信ストリーム番号として設定するが、ARPリクエストを受信した仮想ポートが、SCTPを使用していない場合は、送信ストリーム番号として、送信仮想ポートがSCTPを使用していないことを表すマジックナンバーを使用し、また、MAC−ストリームマッピングテーブルに、ARPリクエストの送信元MACアドレスとARPリクエストを受信した仮想ポート、ARPリクエストの受信に使用したストリーム番号とを、それぞれ、宛先MACアドレス、送信仮想ポート、送信ストリーム番号として、エントリをMAC−ストリームマッピングテーブルに追加するが、ARPリクエストを受信した仮想ポートが、SCTPを使用していない場合は、送信ストリーム番号として、送信仮想ポートがSCTPを使用していないことを表すマジックナンバーを使用する機能と、
    ある仮想ポートからフレームを受信すると、フレームを受信した仮想ポートが、SCTPを使用している場合、受信に使用したストリーム番号でインデックス付けされるその仮想ポートのストリームスイッチングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているストリーム番号を使用して、受信したフレームを送信するが、送信ストリーム番号がマジックナンバーである場合には、送信仮想ポートのアンダーレイネットワークに従い、フレームを送信し、一方、フレームを受信した仮想ポートが、SCTPを使用していない場合、受信したフレームの宛先MACアドレスにマッチするMAC−ストリームマッピングテーブルのエントリを参照し、そのエントリの送信仮想ポートに設定されている仮想ポートに、同じくそのエントリの送信ストリーム番号に設定されているストリーム番号を使用して、受信したフレームを送信するが、送信ストリーム番号がマジックナンバーである場合には、送信仮想ポートのアンダーレイネットワークに従い、フレームを送信する機能と
    を更にコンピュータに実現させることを特徴とする請求項12に記載のプログラム。
JP2008154352A 2008-06-12 2008-06-12 ネットワーク仮想化システムおよびプログラム Expired - Fee Related JP4703689B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008154352A JP4703689B2 (ja) 2008-06-12 2008-06-12 ネットワーク仮想化システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008154352A JP4703689B2 (ja) 2008-06-12 2008-06-12 ネットワーク仮想化システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2009302847A true JP2009302847A (ja) 2009-12-24
JP4703689B2 JP4703689B2 (ja) 2011-06-15

Family

ID=41549296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008154352A Expired - Fee Related JP4703689B2 (ja) 2008-06-12 2008-06-12 ネットワーク仮想化システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP4703689B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014110518A (ja) * 2012-11-30 2014-06-12 Nifty Corp 中継装置、プログラム、情報処理方法、及び情報処理装置
JP2014200017A (ja) * 2013-03-29 2014-10-23 ニフティ株式会社 中継装置、情報処理方法、及びプログラム
US8983498B2 (en) 2012-04-18 2015-03-17 Fujitsu Limited Communication apparatus and method for controlling communication system
JP2016096578A (ja) * 2016-01-19 2016-05-26 ニフティ株式会社 中継装置、情報処理方法、及び、プログラム
US9489224B2 (en) 2010-12-28 2016-11-08 Nec Corporation Network virtualization system, physical node, and virtual interface identification method in virtual machine
JP2019512987A (ja) * 2016-04-01 2019-05-16 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 通信におけるダイナミックエクスペリエンスマネージメント
CN115643097A (zh) * 2018-02-13 2023-01-24 帕洛阿尔托网络公司 利用下一代防火墙的用于信令安全性的系统和方法
US11777902B2 (en) 2018-02-13 2023-10-03 Palo Alto Networks, Inc. Application layer signaling security with next generation firewall
US11784972B2 (en) 2018-02-13 2023-10-10 Palo Alto Networks, Inc. Diameter security with next generation firewall
US11784971B2 (en) 2018-02-13 2023-10-10 Palo Alto Networks, Inc. Network layer signaling security with next generation firewall

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042665A (ja) * 2006-08-08 2008-02-21 Toshiba Corp ネットワーク仮想化装置及びネットワーク仮想化プログラム
JP2009130527A (ja) * 2007-11-21 2009-06-11 Toshiba Corp ネットワーク仮想化システム、中継装置、およびプログラム
JP2009130528A (ja) * 2007-11-21 2009-06-11 Toshiba Corp ネットワーク仮想化システム、中継装置、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042665A (ja) * 2006-08-08 2008-02-21 Toshiba Corp ネットワーク仮想化装置及びネットワーク仮想化プログラム
JP2009130527A (ja) * 2007-11-21 2009-06-11 Toshiba Corp ネットワーク仮想化システム、中継装置、およびプログラム
JP2009130528A (ja) * 2007-11-21 2009-06-11 Toshiba Corp ネットワーク仮想化システム、中継装置、およびプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489224B2 (en) 2010-12-28 2016-11-08 Nec Corporation Network virtualization system, physical node, and virtual interface identification method in virtual machine
US8983498B2 (en) 2012-04-18 2015-03-17 Fujitsu Limited Communication apparatus and method for controlling communication system
JP2014110518A (ja) * 2012-11-30 2014-06-12 Nifty Corp 中継装置、プログラム、情報処理方法、及び情報処理装置
JP2014200017A (ja) * 2013-03-29 2014-10-23 ニフティ株式会社 中継装置、情報処理方法、及びプログラム
JP2016096578A (ja) * 2016-01-19 2016-05-26 ニフティ株式会社 中継装置、情報処理方法、及び、プログラム
JP2019512987A (ja) * 2016-04-01 2019-05-16 ノキア ソリューションズ アンド ネットワークス オサケユキチュア 通信におけるダイナミックエクスペリエンスマネージメント
CN115643097A (zh) * 2018-02-13 2023-01-24 帕洛阿尔托网络公司 利用下一代防火墙的用于信令安全性的系统和方法
US11777902B2 (en) 2018-02-13 2023-10-03 Palo Alto Networks, Inc. Application layer signaling security with next generation firewall
US11784972B2 (en) 2018-02-13 2023-10-10 Palo Alto Networks, Inc. Diameter security with next generation firewall
US11784971B2 (en) 2018-02-13 2023-10-10 Palo Alto Networks, Inc. Network layer signaling security with next generation firewall

Also Published As

Publication number Publication date
JP4703689B2 (ja) 2011-06-15

Similar Documents

Publication Publication Date Title
JP4703689B2 (ja) ネットワーク仮想化システムおよびプログラム
US11563681B2 (en) Managing communications using alternative packet addressing
US11063819B2 (en) Managing use of alternative intermediate destination computing nodes for provided computer networks
US7630368B2 (en) Virtual network interface card loopback fastpath
US9491002B1 (en) Managing communications involving external nodes of provided computer networks
US7782854B2 (en) Network switching apparatus, route management server, network interface apparatus, control method therefor, computer program for route management server, and computer-readable storage medium
US9973379B1 (en) Managing integration of external nodes into provided computer networks
US8307048B2 (en) Network system with initiator subnetwork communication to target subnetwork communication including fibre channel over ethernet to fibre channel over internet protocol conversion
US8626879B2 (en) Systems and methods for establishing network connections using local mediation services
US9264356B2 (en) Network gateway apparatus
US10164910B2 (en) Method and apparatus for an information-centric MAC layer
EP3621250A1 (en) Seamless segment routing
WO2021073565A1 (zh) 业务服务提供方法及系统
JP2005316629A (ja) ネットワークプロトコル処理装置
US20120087255A1 (en) Relay apparatus and method therefor
CN108632145B (zh) 一种报文转发方法和叶子节点设备
WO2014023003A1 (zh) 控制数据传输的方法、装置和系统
WO2017133647A1 (zh) 一种报文处理方法、流分类器和业务功能实例
WO2021073555A1 (zh) 业务服务提供方法及系统、远端加速网关
US20120177049A1 (en) Method and system for implementing network intercommunication
US8209371B2 (en) Method and system for managing communication in a computer network using aliases of computer network addresses
US20100260203A1 (en) TUNNELING IPv6 PACKET THROUGH IPv4 NETWORK USING A TUNNEL ENTRY BASED ON IPv6 PREFIX AND TUNNELING IPv4 PACKET USING A TUNNEL ENTRY BASED ON IPv4 PREFIX
CN107733765B (zh) 映射方法、系统和相关设备
US11818035B2 (en) Augmented routing of data
JP3614006B2 (ja) 非対称経路利用通信システム、および、非対称経路利用通信方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110125

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110308

R150 Certificate of patent or registration of utility model

Ref document number: 4703689

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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