説明

ネットワークシステム及びフレーム通信方法

【課題】ネットワークの柔軟性と拡張性を向上させること。
【解決手段】ネットワークシステムは、FCoEに基づいてフレーム通信を行うノードと、フレームの転送を行うネットワークと、ノード及びネットワークの管理を行うコントローラと、ノードに対して設けられたゲートウェイと、を備える。フレームは、制御フレームとデータフレームとに分類される。ゲートウェイは、ノードから受け取ったフレームが制御フレームかデータフレームかを判定し、制御フレームをコントローラに転送し、データフレームをネットワークに転送する。コントローラは、ゲートウェイから受け取った制御フレームに基づいて管理を行う。ネットワークは、ゲートウェイから受け取ったデータフレームを、コントローラを介することなく、送信先ノードに転送する。コントローラは、ネットワークにおけるデータフレームの転送経路を、フロー毎に管理するフロー管理部を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フレーム通信を行うネットワークシステムに関する。
【背景技術】
【0002】
ネットワーク上で通信を行うための技術の一つに、「データのカプセル化」がある。具体的には、次の通りである。
【0003】
ネットワーク間で転送されるデータは、転送時に使用される通信方式に従って、その形を構成する。ネットワーク上では、OSI参照モデルやTCP/IPスタックに代表されるように、複数の階層を経由して通信が行われる。そのため、データの形は各階層の仕様に対応可能である必要がある。一般的には、データはヘッダーとペイロードで構成される。ヘッダーには、特定の階層において制御データとなる内容が含まれており、そのヘッダーの内容をその階層の通信規格が解釈することによって、他層へペイロードが転送される。各階層において、ヘッダーは、送信の際はペイロードの頭に付加され、受信の際は除去される。そのため、ペイロードには、より上位の層においてヘッダーとなりうる内容が含まれている。データ通信を開始する際、データは通信方式の最上位の階層より生成される。データは次々に下位層を通過し、最下層を通過後、ネットワーク上に出力される。最下位の階層に到達するまで、各階層に対応したヘッダーがデータに追加され、上層でヘッダーであった部分はペイロードとして扱われる。ここで行われるヘッダーの追加が、データのカプセル化と呼ばれている。
【0004】
データのカプセル化は、特定の通信方式に対応したヘッダーを付加することにより、以前まで通信不可能であった機種との通信を可能にする技術として見なせる。この技術の応用によって、データのセキュリティーの向上や、既存の複数の通信方式に対応可能となる新しい通信方式の生成が可能である。
【0005】
このような技術を利用した新しい通信方式が、非特許文献1に記載されている。非特許文献1によれば、近年のデータセンター向けの技術の一つとして、「Fibre Channel Over Ethernet(FCoE)」が提案されている。
【0006】
現在のデータセンターでは、Fibre Channel(FC)に代表されるStorage Area Network(SAN)と、Ethernet(登録商標)に代表されるLocal Area Network(LAN)が混在したネットワーク構成で運営がなされている。別々のネットワークが混在しているため、管理コスト及び機器コストの高騰が問題となっている。
【0007】
そのような問題を受けて、FCoEが提案された。FCoEは、FCのデータを、Ethernetのヘッダーと新規に定義されたFCoEのヘッダーを用いてカプセル化する。これにより、Ethernet形式に通信方式を統合し、SANとLANが統合したネットワーク構成を実現することが可能となる。統合ネットワーク上では管理および使用機器の一括化が実現されるため、問題解決の技術として有力視されている。
【0008】
しかし、現在のFCoEによる通信は、「FCoE Forwarder(FCF)」と呼ばれるFCoE通信用のスイッチを、必ず経由する必要がある。このことは、ネットワークの柔軟性と拡張性の制限となり、多量の通信機器を用いるデータセンターの構成には対応が出来ない。
【先行技術文献】
【特許文献】
【0009】
【非特許文献1】INCITS TC T11, Fibre Channel Backbone−5,http://www.fcoe.com/09−056v5.pdf
【発明の概要】
【発明が解決しようとする課題】
【0010】
非特許文献1に記載された通信方式では、通信の際に必ず経由する機器が存在する。このことは、ネットワークの柔軟性と拡張性の低下につながる。
【0011】
本発明の目的は、ネットワークの柔軟性と拡張性を向上させることができる技術を提供することにある。
【課題を解決するための手段】
【0012】
本発明の1つの観点において、ネットワークシステムが提供される。そのネットワークシステムは、FCoE(Fibre Channel Over Ethernet)に基づいてフレームの送受信を行うノードと、フレームの転送を行うネットワークと、ノード及びネットワークの管理を行うコントローラと、ノードに対して設けられたゲートウェイと、を備える。フレームは、通信に必要な制御情報をやりとりするための制御フレームと、ノード間でデータを送受信するためのデータフレームとに分類される。ゲートウェイは、ノードから受け取ったフレームが制御フレームかデータフレームかを判定し、制御フレームをコントローラに転送し、データフレームをネットワークに転送する。コントローラは、ゲートウェイから受け取った制御フレームに基づいて管理を行う。ネットワークは、ゲートウェイから受け取ったデータフレームを、コントローラを介することなく、送信先ノードに転送する。コントローラは、ネットワークにおけるデータフレームの転送経路を、フロー毎に管理するフロー管理部を備える。
【0013】
本発明の他の観点において、ネットワークシステムにおけるフレーム通信方法が提供される。そのネットワークシステムは、FCoE(Fibre Channel Over Ethernet)に基づいてフレームの送受信を行うノードと、フレームの転送を行うネットワークと、ノード及びネットワークの管理を行うコントローラと、を備える。フレームは、通信に必要な制御情報をやりとりするための制御フレームと、ノード間でデータを送受信するためのデータフレームとに分類される。本発明に係るフレーム通信方法は、(A)ノードから送信されるフレームが制御フレームかデータフレームかを判定するステップと、(B)制御フレームをコントローラに転送し、コントローラにおいて、制御フレームに基づいて管理を行うステップと、(C)データフレームをネットワークに転送し、コントローラを介することなく、送信先ノードに伝送するステップと、(D)コントローラにおいて、ネットワークにおけるデータフレームの転送経路をフロー毎に管理するステップと、を含む。
【発明の効果】
【0014】
本発明によれば、ノードから送られるフレームが、制御フレームとデータフレームとに分離される。そして、制御フレームに比べて情報量が膨大であるデータフレームは、特定の経路を経由することなく伝送される。つまり、本発明の通信方式は、ネットワークの性能に大きく関わるデータフレームが必ず経由する機器が存在するという制約から解放される。従って、ネットワークの柔軟性と拡張性を高めることが可能となる。
【0015】
更に、本発明によれば、コントローラが、ネットワークにおけるデータフレームの転送経路を、フロー毎に集中管理する。これにより、ネットワークの利用効率及び通信性能を向上させることが可能となる。
【図面の簡単な説明】
【0016】
【図1】図1は、本発明の実施の形態に係るネットワークシステムの構成を示すブロック図である。
【図2】図2は、本発明の実施の形態に係るコントローラの構成を示すブロック図である。
【図3】図3は、本発明の実施の形態に係るゲートウェイの構成を示すブロック図である。
【図4】図4は、本発明の実施の形態に係るコントローラの動作を示すフローチャートである。
【図5】図5は、本発明の実施の形態に係るネットワークシステムの変形例を示すブロック図である。
【図6】図6は、本発明の実施の形態に係るコントローラのハードウェア構成例を示すブロック図である。
【図7】図7は、一般的なFCoE通信ネットワークの構成を示すブロック図である。
【図8】図8は、一般的なFCoE通信において使用されるフレームの分類図である。
【図9】図9は、一般的なFCoE通信におけるSCSI−FCPフレームの構造を示す概念図である。
【図10】図10は、FCoE通信に本発明を適用した場合のコントローラの構成を示すブロック図である。
【図11】図11は、FCoE通信に本発明を適用した場合のフレームの分類図である。
【図12】図12は、本発明の実施の形態に係るネットワークシステムの構成を示すブロック図である。
【図13】図13は、本発明の実施の形態において用いられるアドレスを説明するための概念図である。
【図14】図14は、本発明の実施の形態におけるコントローラ2’による処理を示す概念図である。
【図15】図15は、本発明の実施の形態におけるコントローラ2’の構成例を示すブロック図である。
【図16】図16は、本発明の実施の形態におけるスイッチの構成例を示すブロック図である。
【図17】図17は、本発明の実施の形態におけるコントローラ2’による処理を示すフローチャートである。
【図18】図18は、本発明の実施の形態におけるコントローラ2’による処理を示すフローチャートである。
【図19】図19は、本発明の実施の形態におけるコントローラ2’による処理を示すフローチャートである。
【発明を実施するための形態】
【0017】
添付図面を参照して、本発明の実施の形態を説明する。
【0018】
1.U/C分離機能
本特許出願の出願人は、未公開の先願(特願2010−208048)において、上記課題を解決するための手段として「U/C分離機能」を記述している。U/C分離機能によれば、ノードから送られるフレームが、データフレーム(ユーザデータフレーム)と制御フレームとに分離される。そして、制御フレームに比べて情報量が膨大であるデータフレームは、特定の経路を経由することなく伝送される。つまり、U/C分離機能によれば、ネットワークの性能に大きく関わるデータフレームが必ず経由する機器が存在するという制約から解放される。従って、ネットワークの柔軟性と拡張性を高めることが可能となる。
【0019】
以下、U/C分離機能について詳しく説明する。尚、未公開の特願2010−208048に記載されている内容は、参照により本明細書に組み込まれる。
【0020】
1−1.構成
図1は、本発明の実施の形態に係るネットワークシステムの構成を示すブロック図である。本実施の形態に係るネットワークシステムは、ノード1、コントローラ2、ゲートウェイ3、及びネットワーク4を備えている。ノード1は、ゲートウェイ3に接続されている。ゲートウェイ3は、ノード1とネットワーク4との間に接続されている。コントローラ2は、各ゲートウェイ3に接続されている。
【0021】
ノード1は、フレーム10の送受信を行う通信装置である。そのフレーム10は、制御フレーム11とデータフレーム12とに分類される。制御フレーム11は、通信に必要な制御情報をやりとりするためのフレーム10である。例えば、制御フレーム11は、通信ネットワークへのアクセスや機器へのログイン、また、そのための情報交換を行うために用いられる。一方、データフレーム12は、ノード1同士でデータの送受信を行うためのフレーム10である。データフレーム12の情報量は、制御フレーム11のそれに比べ膨大であることに留意されたい。制御フレーム11とデータフレーム12とは、フレーム10のフレームタイプにより識別可能である。
【0022】
ネットワーク4は、ノード1の間で送受信されるフレーム10を転送する。ネットワーク4は、フレームの中継を行うスイッチ等の接続機器と、接続機器を繋ぐネットワークケーブルの組み合わせで構成される。
【0023】
ゲートウェイ3は、ノード1と1組で構成される。ゲートウェイ3は、ノード1から送信されるフレーム10を受け取り、受け取ったフレーム10が制御フレーム11かデータフレーム12かを判定する。そして、ゲートウェイ3は、制御フレーム11をコントローラ2に転送し、データフレーム12をネットワーク4へ転送する。すなわち、情報量が膨大なデータフレーム12は、コントローラ2を経由することなく、ネットワーク4によって送信先に転送される。また、ゲートウェイ3は、コントローラ2及びネットワーク4からフレーム10(制御フレーム11、データフレーム12)を受け取り、受け取ったフレーム10をノード1に転送する。尚、ゲートウェイ3は、フレーム10の転送を行う際、送信先の機器がフレーム10を正しく扱えるように、必要に応じてフレーム10の情報を変更する。詳細は後述する。
【0024】
コントローラ2は、ゲートウェイ3から制御フレーム11を受け取り、その制御フレーム11を処理する。具体的には、コントローラ2は、受け取った制御フレーム11の内容に基づいて、ノード1やネットワーク4に関する情報の管理を行う。また、必要に応じて、コントローラ2は、ノード1やゲートウェイ3に対してフレーム10を送信または転送する。
【0025】
以下、コントローラ2の構成を詳細に説明する。図2は、コントローラ2の構成を示すブロック図である。コントローラ2は、受信部20、処理部21、ノード情報テーブル22、及び送信部23を備えている。
【0026】
ノード情報テーブル22は、ノード1やゲートウェイ3、ネットワーク4上の接続機器に関する管理情報を示す。受信部20は、ゲートウェイ3から制御フレーム11を受け取り、その制御フレーム11を処理部21に転送する。処理部21は、受け取った制御フレーム11の内容に応じた処理を行う。例えば、処理部21は、制御フレーム11の内容に応じてノード情報テーブル22を更新する。また、処理部21は、ノード情報テーブル22を参照して返信用の制御フレーム11を生成し、その返信用の制御フレーム11を送信部23へ出力する。また、処理部21は、受け取った制御フレーム11をそのまま送信部23に転送する。送信部23は、処理部21から受け取った制御フレーム11を、対象のゲートウェイ3へ送信する。
【0027】
以下、ゲートウェイ3の構成を詳細に説明する。図3は、ゲートウェイ3の構成を示すブロック図である。ゲートウェイ3は、分離部30、アドレス変換部31、及び多重化部32を備えている。
【0028】
分離部30は、ノード1からフレーム10を受け取る。そして、分離部30は、受け取ったフレーム10の解析を行い、当該フレーム10が制御フレーム11かデータフレーム12かを判定する。そして、分離部30は、制御フレーム11をコントローラ2に転送し、データフレーム12をアドレス変換部31へ転送する。アドレス変換部31は、分離部30から受け取ったデータフレーム12の宛先MACアドレスの変換を行い、その後、当該データフレーム12をネットワーク4に転送する。また、アドレス変換部31は、ネットワーク4からデータフレーム12を受け取ると、受け取ったデータフレーム12の送信元MACアドレスの変換を行い、その後、当該データフレーム12を多重化部32に出力する。多重化部32は、コントローラ2から入力される制御フレーム11、及びアドレス変換部31から入力されるデータフレーム12を、ノード1へ出力する。
【0029】
このように、本実施の形態によれば、ノード1から送られるフレーム10が、制御フレーム11とデータフレーム12とに分離される。そして、制御フレーム11に比べて情報量が膨大であるデータフレーム12は、特定の経路(コントローラ2)を経由することなく伝送される。つまり、本実施の形態の通信方式は、ネットワークの性能に大きく関わるデータフレーム12が必ず経由する機器が存在するという制約から解放される。従って、ネットワークの柔軟性と拡張性を高めることが可能となる。
【0030】
1−2.コントローラ2の動作フロー
図4は、本実施の形態に係るコントローラ2の動作を示すフローチャートである。以下、図2及び図4を参照して、コントローラ2の動作フローを説明する。
【0031】
ステップS100:
処理部21は、受信部20からフレーム10(制御フレーム11)の入力を待つ。
【0032】
ステップS101:
処理部21は、受信部20から受け取ったフレーム10のヘッダー及びペイロードを参照し、当該フレーム10の宛先(終端先)がコントローラ2であるか、送信元と対向するノード1であるかを判定する。宛先がコントローラ2の場合、処理はステップS102に進む。一方、宛先がノード1の場合、処理はステップS106に進む。
【0033】
ステップS102:
処理部21は、当該フレーム10の種別を判定する。具体的には、処理部21は、当該フレーム10が、送信元であるノード1の情報を登録するためのもの(情報登録フレーム)か、他のノード1もしくはコントローラ2の情報を取得するためのもの(情報取得フレーム)か、を判定する。情報登録フレームの場合、処理はステップS103に進む。一方、情報取得フレームの場合、処理はステップS104に進む。
【0034】
ステップS103:
処理部21は、情報登録フレームに基づいて、送信元のノード1の情報をノード情報テーブル22に登録する。その後、処理はステップS105に進む。
【0035】
ステップS104:
処理部21は、情報取得フレームが要求する内容に対応した情報を、ノード情報テーブル22から取得する。その後、処理はステップS105に進む。
【0036】
ステップS105:
処理部21は、返信用のフレーム10(制御フレーム11)を作成する。上記ステップS104が実施された場合、処理部21は、ノード情報テーブル22から取得した情報を、返信用のフレーム10に含める。そして、処理部21は、返信用のフレーム10を送信部23に出力する。送信部23は、返信用のフレーム10を、送信元のノード1側のゲートウェイ3に送信する。
【0037】
ステップS106:
一方、宛先がノード1の場合、処理部21は、ノード情報テーブル22を参照して当該フレーム10の宛先MACアドレスを変更する。そして、処理部21は、当該フレーム10を送信部23に出力する。
【0038】
ステップS107:
送信部23は、当該フレーム10を、送信先のノード1側のゲートウェイ3に送信する。
【0039】
1−3.変形例
図5は、本実施の形態に係るネットワークシステムの変形例を示すブロック図である。本変形例では、ゲートウェイ3は、ノード1内のネットワーク装置に組み込まれる。より詳細には、ノード1はネットワークカード40を備えており、ゲートウェイ3はそのネットワークカード40内に設置される。図5におけるゲートウェイ3は、設置個所が異なる点を除けば、図1におけるゲートウェイ3と同じである。本変形例によれば、ノード1に機能が集約されるため、ネットワークの柔軟性が更に高まることが期待される。
【0040】
図6は、本実施の形態に係るコントローラ2のハードウェア構成例を示すブロック図である。コントローラ2の機能は、1台のサーバ90に実装される。サーバ90は、ネットワークインタフェースカード(NIC)100、処理装置(CPU)101、及びメモリ102を備えている。コントローラ2の機能は、これらハードウェアとコンピュータプログラムとの協働によって実現される。より詳細には、フレーム10の送受信を行うネットワークインタフェースカード100は、上述の受信部20及び送信部23として機能する。フレーム処理を行う処理装置101は、上述の処理部21として機能する。メモリ102には、上述のノード情報テーブル22が格納される。尚、コントローラ2の機能を実現するコンピュータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい。
【0041】
1−4.FCoEへの応用
次に、本実施の形態をFCoEに適用することを考える。
【0042】
図7は、一般的なFCoE通信ネットワークの構成を示すブロック図である。FCoEに基づいてフレーム通信を行うノード1は、FCoEに対応したリンクで構成されたネットワーク4を通して、FCF(FCoE Forwarder)50に接続される。FCF50は、FCoE通信用のスイッチである。現在、FCoEによる通信は必ず、このFCF50を経由する必要がある。
【0043】
図8は、一般的なFCoE通信において使用されるフレームの分類図である。各フレームを順番に説明する。
【0044】
1.DCBX(LLDP):FCoE通信を行うための、Ethetnet通信網に使用される拡張機能についての情報をリンク間で交換する。
【0045】
2.FIP VLAN Discovery:ノードがFCFから、FCoE通信に使用するVLAN IDを取得する。
【0046】
3.FIP Discovery:ノードがFCFから、FCoE通信に使用するFCFのMACアドレスを取得する。
【0047】
4.FIP FLOGI:ノードがFCFへアクセスし、FCoE通信に使用する自身のMACアドレスを取得する。
【0048】
5.PLOGI:ノードがFCFを介して、FCFおよび送信先のノードとFCoE通信のための情報交換を行う。
【0049】
6.PRLI:ノードがFCFを介して、送信先のノードとデータをやり取りするための情報交換を行う。
【0050】
7.SCSI−FCP:ノードがFCFを介して、送信先のノードとデータをやり取りする。
【0051】
8.PRLO:ノードがFCFを介して、ノード同士の接続を切断する(情報を削除する)。
【0052】
9.LOGO:ノードがFCFへアクセスし、FCFとノードの接続を切断する(情報を削除する)。
【0053】
上述のうち、“SCSI−FCPフレーム”がデータフレーム12に相当し、その情報量は他の種類のフレームと比較して非常に大きい。図7で示された一般的なFCoE通信ネットワークの場合、このSCSI−FCPフレームも含めて全てのフレームがFCF50を経由する。そのため、SCSI−FCPフレームの転送時間が、ネットワークの性能に大きな影響を与えてしまう。
【0054】
本実施の形態がFCoEに適用される場合の動作は、次の通りである。
【0055】
まず、ゲートウェイ3の動作を説明する。ゲートウェイ3は、受け取ったフレーム10が制御フレーム11かデータフレーム12かを判定する。制御フレーム11は、送信先のノード1にアクセスするための情報交換を行うためのフレームである。一方、データフレーム12は、ノード1同士でデータの送受信を行うためのフレームである。図8に示されたフレームの中では、“SCSI−FCP”がデータフレーム12と判定され、その他のフレームは制御フレーム11と判定される。
【0056】
ゲートウェイ3は、例えば次の方法により、フレーム種類を判定することができる。図9は、SCSI−FCPフレームの構造を示す概念図である。図9を参照すると、FCoE Fieldの中にあるFC Fieldに、“FC Type:FCP”という要素がある。SCSI−FCPフレームをその他のフレームから明確に区別できる点は、この“FC Type”である。従って、ゲートウェイ3は、受け取ったフレーム10の“FC Type”を参照することによって、当該フレーム10が制御フレーム11かデータフレーム12かを判定することができる。
【0057】
また、ゲートウェイ3は、必要に応じて、フレーム10の宛先MACアドレスを変更する。その理由は、次の通りである。従来のFCoE通信では、制御フレームとデータフレームの双方がFCF50を経由する。そのため、宛先MACアドレスが不明であっても、とりあえず宛先MACアドレスをFCF50のMACアドレスとしておけば、FCF50が宛先MACアドレスの変換を行ってくれていた。しかし、本実施の形態によれば、データフレーム12はコントローラ2を経由しない。ノード1は送信フレーム10の宛先MACアドレスをコントローラ2のMACアドレスに設定するため、ゲートウェイ3において宛先MACアドレスの変換が行われない限り、ネットワーク4は送信先のノード1へデータフレーム12を転送することができない。そのため、ゲートウェイ3は、データフレーム12が正しい送信先へ転送されるように、データフレーム12の宛先MACアドレスを送信先のノード1のMACアドレスに変換し、その後、当該データフレーム12をネットワーク4に出力する。
【0058】
ここで、従来のFCoE通信で使用されるMACアドレス(仮想MACアドレス)は、ノード1が元々保持しているMACアドレス(物理MACアドレス)とは異なり、FCF50がFCoE通信用に配布するものである。この配布される仮想MACアドレスの割付には規定があり、仮想MACアドレス6バイトのうち上位3バイトを固定値、下位3バイトが可変としている。そして、下位3バイトの値はFCoEフレームにカプセル化されたFCフレームにおける、通信機器のアドレスとして使用される。そして、従来のFCoE通信では、ノード1が送信先のノード1へフレーム10を送信する場合は、MACアドレスはFCF50の仮想MACアドレスであるが、FCフレームの送信先アドレスには送信先のノード1のアドレス(FC−ID)を指定する。よって、ゲートウェイ3においてデータフレーム12と判定されたフレーム10に関しては、カプセル化されたFCフレームの送信先アドレスを解析することによって、上記の法則に従い送信先のノード1の仮想MACアドレスを取得することができる。
【0059】
このようにして、データフレーム12は、ネットワーク4を経由して、コントローラ2を経由することなく、送信先のノード1へ転送される。
【0060】
次に、コントローラ2の動作を説明する。コントローラ2は、従来のFCF50が行っていた制御フレーム11(つまり、データフレーム12であるSCSI−FCP以外)に対する処理を担当する。
【0061】
図10は、FCoE通信に本実施の形態を適用した場合のコントローラ2の構成を示すブロック図である。図10に示されるように、コントローラ2は、調定部60、ネットワーク情報管理部61、及びFCoE情報管理部62を備えている。
【0062】
調定部60は、コントローラ2に到着したフレーム種別を判別し、各情報管理部(61,62)にフレームを転送する。また、調定部60は、各情報管理部(61,62)から送信フレーム用の構築情報を取得し、ゲートウェイ3へフレームを生成・送信する。
【0063】
ネットワーク情報管理部61は、スイッチ間トポロジー管理部70、経路情報管理部71、及びVLAN ID管理部72を備えている。
【0064】
スイッチ間トポロジー管理部70は、ネットワーク4中の各スイッチのポートの接続情報を識別、管理する。
【0065】
経路情報管理部71は、スイッチ間トポロジー管理部70で判明しているノード1間の経路を管理する。また、経路情報管理部71は、FCoE情報管理部62から新規のノード1間の設定要求を受け取った場合、各スイッチに経路情報を展開する。
【0066】
VLAN ID管理部72は、スイッチのポートへのVLAN ID付与を管理する。また、VLAN ID管理部72は、FCoE情報管理部62からの検索要求に応じて、VLAN IDを検索・応答する。
【0067】
FCoE情報管理部62は、コントローラMAC80、ノード/VLAN ID管理部81、ログインサーバ82、ディレクトリサーバ83、及びファブリック管理部84を備えている。
【0068】
コントローラMAC80は、FCoE情報管理部62宛の通信用MACアドレスを管理する。コントローラMAC80は、ノード1からのFIP Discoveryに対して、コントローラ2のMACアドレスを返答する。
【0069】
ノード/VLAN ID管理部81は、ノード1が所属するVLAN IDを管理する。ノード/VLAN ID管理部81は、ノード1からのFIP VLAN Discoveryに対して、当FCoEのネットワークが所属するVLAN IDを返答する。
【0070】
ログインサーバ82は、ノード1の管理を目的として、FLOGIにて通知されるノード1の物理MACアドレスを管理する。
【0071】
ディレクトリサーバ83は、FLOGI済のノード1の各ポートの情報であるWWPN (World Wide Port Name)、WWNN(World Wide Node Name)、サポート可能なFCのサービスクラスを管理する。また、ディレクトリサーバ83は、dNSによってノード1からの問い合わせに対して応答する。
【0072】
ファブリック管理部84は、ノード1のポート状態を管理し、状態変更(ポートの有効/無効、ポートのFabricへの参加/離脱)があった場合に、他ノードに通知する(RSCN/SCR)。
【0073】
図11は、FCoE通信に本実施の形態を適用した場合のフレームの分類図である。各フレームを順番に説明する。
【0074】
1.DCBX(LLDP):FCoE通信を行うための、Ethernet通信網に使用される拡張機能についての情報をリンク間で交換する。
【0075】
2.FIP VLAN Discovery:ノード1がコントローラ2から、FCoE通信に使用するVLAN IDを取得する。
【0076】
3.FIP Discovery:ノード1がコントローラ2から、FCoE通信に使用するコントローラ2のMACアドレスを取得する。
【0077】
4.FIP FLOGI:ノード1がコントローラ2へアクセスし、FCoE通信に使用する自身のMACアドレスを取得する。
【0078】
5.PLOGI:ノード1がコントローラ2を介して、コントローラ2および送信先のノード1とFCoE通信のための情報交換を行う。
【0079】
6.PRLI:ノード1がコントローラ2を介して、送信先のノード1とデータをやり取りするための情報交換を行う。
【0080】
7.SCSI−FCP:ノード1が、ネットワーク4を通して送信先のノード1とデータをやり取りする。
【0081】
8.PRLO:ノード1がコントローラ2を介して、ノード1同士の接続を切断する(情報を削除する)。
【0082】
9.LOGO:ノード1がコントローラ2へアクセスし、コントローラ2とノード1の接続を切断する(情報を削除する)。
【0083】
以上に説明されたように、本実施の形態がFCoE通信に適用された場合、データフレーム12であるSCSI−FCPフレームは、その他のフレームから分離される。そして、そのSCSI−FCPフレームは、FCFを介することなく、Ethernetネットワーク4のみで転送される。ネットワークの性能に大きく影響するSCSI−FCPフレームが特定の経路を通る必要が無くなるため、ネットワークの性能が高まる。また、従来のEthernetで使用する通信機器が流用可能であるため、ネットワークの統合がより容易となる。
【0084】
2.フロー管理
2−1.概要
次に、本実施の形態において、ノード1間の通信フローをコントローラ2により集中管理することを考える。例えば、コントローラ2は、ネットワーク4中のデータフレーム12の転送経路を、フロー毎に管理する。コントローラ2は、ネットワーク4中のスイッチやリンクにかかる負荷を考慮して、負荷が分散されるように、それぞれのフローの転送経路を制御することもできる。このようにフロー毎に転送経路を制御することにより、ネットワーク4の利用効率及び通信性能を向上させることが可能となる。
【0085】
上記のようにコントローラがフローを集中管理する技術として、例えば、「オープンフロー(OpenFlow)」という技術が知られている(参考文献:Nick McKeown et al., “OpenFlow: Enabling Innovation in Campus Networks”, ACM SIGCOMM Computer Communication Review, Vol. 38, No. 2, 2008. (http://www.openflowswitch.org//documents/openflow−wp−latest.pdf)。オープンフローによれば、フロー単位で経路制御、障害回復、負荷分散、最適化が行われる。オープンフローにおいて用いられるコントローラ及びスイッチは、それぞれ、オープンフローコントローラ(OFC:OpenFlow Controller)及びオープンフロースイッチ(OFS:OpenFlow Switch)と呼ばれている。
【0086】
以下、上述の第1節で説明されたU/C分離に加えて、コントローラ2によるフローの集中管理が実施される場合を説明する。上述の第1節で説明された機能に加えて、フローの集中管理を行う機能を有するコントローラ2は、以下「コントローラ2’」と参照される。
【0087】
図12は、本実施の形態に係るネットワークシステムの構成を示すブロック図である。第1節でのものと重複する説明は、適宜省略される。ネットワーク4は、複数のスイッチ5を含んでいる。尚、各スイッチ5は、コントローラ2’と通信可能に接続されている。
【0088】
コントローラ2’は、FC管理部210及びフロー管理部220を備えている。FC管理部210は、上述の第1節で説明されたコントローラ2と同じ機能を有する。一方、フロー管理部220は、ノード1間のフローを集中管理する機能を有する。例えば、フロー管理部220は、オープンフローで用いられるオープンフローコントローラ(OFC)と同じ機能を有する。その場合、ネットワーク4中のスイッチ5として、オープンフロースイッチ(OFS)が用いられる。
【0089】
フロー管理部220は、ネットワーク4におけるデータフレーム12の転送経路を、フロー毎に管理する。例えば、フロー管理部220は、ネットワーク4中のスイッチ5やリンクにかかる負荷を考慮して、負荷が分散されるように、それぞれのフローの転送経路を制御することもできる。このようにフロー毎に転送経路を制御することにより、ネットワーク4の利用効率及び通信性能を向上させることが可能となる。
【0090】
2−2.経路設計
次に、本実施の形態に係るフロー管理部220が、ノード1間のネットワーク4におけるデータフレーム12の転送経路を設計(決定)する場合を考える。
【0091】
以下の説明において、通信を要求する側のノード1は「イニシエータ(initiator)ノード1A」と参照され、通信相手側のノード1は「ターゲット(target)ノード1B」と参照される。イニシエータノード1Aは、コントローラ2’(FC管理部210)を介して、ターゲットノード1Bとの通信を要求する。イニシエータノード1Aとターゲットノード1Bとの間のデータフレーム12の転送経路を設計するためには、イニシエータノード1Aとターゲットノード1Bの両方のアドレスが必要である。まず、図13を参照して、本実施の形態において用いられるアドレスについて説明する。
【0092】
図13において、“MAC_FCC”は、コントローラ2’のMACアドレスである。“MAC_1A”は、イニシエータノード1AのMACアドレスである。“MAC_1B”は、ターゲットノード1BのMACアドレスである。“MAC DA”及び“MAC SA”は、それぞれ、FCoEフレーム中で示される宛先MACアドレス及び送信元MACアドレスを表す。尚、ここでのMACアドレスは全て、仮想MACアドレスを意味しており、物理MACアドレスとは異なっていることに留意されたい。第1節で説明されたように、仮想MACアドレスは、FCoE通信において一般に使用されるMACアドレスであり、FC管理部210によって割り当てられ、配布される。
【0093】
また、図13において、“FC_1A”は、イニシエータノード1AのFC−ID(FCプロトコルにおけるアドレス)である。“FC_1B”は、ターゲットノード1BのFC−IDである。“FC D_ID”及び“FC S_ID”は、それぞれ、FCoEフレーム中で示される宛先FC−ID及び送信元FC−IDを表す。
【0094】
イニシエータノード1Aは、フレーム10を送出する。このとき、イニシエータノード1Aは、送出するフレーム10中の宛先MACアドレスを、コントローラ2’のMACアドレス“MAC_FCC”に設定する(第1節参照)。
【0095】
ゲートウェイ3は、イニシエータノード1Aから受け取ったフレーム10が制御フレーム11かデータフレーム12かを判定する。制御フレーム11の場合、ゲートウェイ3は、アドレス変換を行うことなく、当該制御フレーム11をそのままコントローラ2’へ転送する。一方、データフレーム12の場合、ゲートウェイ3は、宛先MACアドレス(MAC DA)をターゲットノード1BのMACアドレス“MAC_1B”に書き換えた上で、当該データフレーム12をネットワーク4に送る(第1節参照)。
【0096】
また、ターゲットノード1B側のゲートウェイ3は、ネットワーク4からデータフレーム12を受け取ると、送信元MACアドレス(MAC SA)をコントローラ2’のMACアドレス“MAC_FCC”に書き換えた上で、当該データフレーム12をターゲットノード1Bに送る(第1節参照)。
【0097】
このような状況において、フロー管理部220は、イニシエータノード1Aとターゲットノード1Bとの間のデータフレーム12の転送経路を設計する。その経路設計には、イニシエータノード1Aとターゲットノード1Bの両方のアドレスが必要である。しかしながら、フロー管理部220は、必ずしもFCプロトコルには対応していない。すなわち、フロー管理部220は、FC−IDを認識できるとは限らない。例えば、オープンフローコントローラは、Ethernet/IP/TCP/UDPを解釈できるが、FCプロトコルを解釈できない。つまり、FCoEフレームの場合、オープンフローコントローラは、Ethernetの部分までしか解釈できない。従って、本実施の形態に係るフロー管理部220は、イニシエータノード1AのMACアドレス(MAC_1A)とターゲットノード1BのMACアドレス(MAC_1B)に基づいて、イニシエータノード1Aとターゲットノード1Bとの間のデータフレーム12の転送経路を設計する。
【0098】
次に、フロー管理部220が経路設計を実施するタイミングについて考える。例えば、そのタイミングは、イニシエータノード1Aがコントローラ2’を介してターゲットノード1Bとの通信を要求する時である。言い換えれば、そのタイミングは、イニシエータノード1Aがファブリックにログインする時である。
【0099】
図13及び図14を参照して、本実施の形態におけるログイン時の処理を説明する。ログイン時、イニシエータノード1Aは、ターゲットノード1Bとの通信を要求する制御フレーム11(以下、「通信要求フレーム11A」と参照される)を、コントローラ2’に向けて送信する。通信要求フレーム11Aでは、イニシエータノード1AのFC−ID(FC_1A)とターゲットノード1BのFC−ID(FC_1B)が指定されている。また、通信要求フレーム11Aの宛先MACアドレス(MAC DA)及び送信元MACアドレス(MAC SA)は、それぞれ、コントローラ2’のMACアドレス(MAC_FCC)及びイニシエータノード1AのMACアドレス(MAC_1A)である。図11に示される例では、「PLOGI」が通信要求フレーム11Aに相当する。
【0100】
ゲートウェイ3は、通信要求フレーム11Aをイニシエータノード1Aから受け取る。通信要求フレーム11Aは制御フレーム11であるので、ゲートウェイ3は、アドレス変換を行うことなく、受け取った通信要求フレーム11Aをコントローラ2’に転送する。
【0101】
コントローラ2’は、通信要求フレーム11Aの受信に応答して、イニシエータノード1Aとターゲットノード1Bとの間のデータフレーム12の転送経路を設計する。但し、上述の通り、経路設計には、イニシエータノード1AのMACアドレス(MAC_1A)とターゲットノード1BのMACアドレス(MAC_1B)が必要である。しかしながら、通信要求フレーム11Aの宛先MACアドレス(MAC DA)はコントローラ2’のMACアドレス(MAC_FCC)であり、ターゲットノード1BのMACアドレス(MAC_1B)が分からない。そこで、コントローラ2’のFC管理部210が、通信要求フレーム11Aに含まれるターゲットノード1BのFC−ID(FC_1B)を、ターゲットノード1BのMACアドレス(MAC_1B)に変換する。
【0102】
より詳細には、図14に示されるように、FC管理部210は、ノード情報215を保持している。上述の通り、FCoEで使用される仮想MACアドレスは、FC管理部210によって管理され、各ノード1に配布される。ノード情報215は、そのような仮想MACアドレスの管理等に必要な情報である。具体的には、ノード情報215は、各ノード1に関する、物理MACアドレス、仮想MACアドレス、FC−ID、仮想MACアドレスとFC−IDとの対応関係、等を含んでいる。
【0103】
FC管理部210は、通信要求フレーム11Aを受け取る。そして、FC管理部210は、ノード情報215(特に、仮想MACアドレスとFC−IDとの対応関係)を参照することによって、受け取った通信要求フレーム11Aで示されるターゲットノード1BのFC−ID(FC_1B)を、ターゲットノード1BのMACアドレス(MAC_1B)に変換する。その結果、経路設計に必要な、イニシエータノード1Aとターゲットノード1BのMACアドレスペア(MAC_1A、MAC_1B)が得られる。FC管理部210は、得られたMACアドレスペアをフロー管理部220に通知する。
【0104】
フロー管理部220は、ノード1やスイッチ5の接続関係を示すトポロジー情報を保持しており、MACアドレスペア(MAC_1A、MAC_1B)を用いることによって、イニシエータノード1Aとターゲットノード1Bとの間のデータフレーム12の転送経路を設計する。そして、フロー管理部220は、設計された転送経路に沿って対象フローのデータフレーム12が転送されるように、各スイッチ5のフローテーブルを設定する。このようにして、本実施の形態に係るコントローラ2’は、イニシエータノード1Aのログインタイミング時に、対象フローの転送経路を設計・設定することができる。
【0105】
2−3.構成例
図15は、本実施の形態におけるコントローラ2’の構成例を示すブロック図である。コントローラ2’は、入出力部200、FC管理部210、フロー管理部220、フロー管理テーブル230、及び統計情報テーブル240を備えている。
【0106】
フロー管理テーブル230は、フロー毎にフロー管理情報を示す。フロー管理情報は、イニシエータノード1Aとターゲットノード1BのMACアドレスペア(MAC_1A、MAC_1B)、転送経路情報、各ノード1に最寄りのスイッチ5の宛先、等を含んでいる。
【0107】
統計情報テーブル240は、統計情報を示す。統計情報は、各スイッチ5を通過したフレーム総数、廃棄フレーム総数、フロー毎のフレーム数、等を含んでいる。尚、統計情報は、各スイッチ5によって観測され、各スイッチ5からコントローラ2’に通知される。
【0108】
尚、フロー管理テーブル230や統計情報テーブル240は、コントローラ2’外部のサーバに格納されていてもよい。
【0109】
図16は、本実施の形態におけるスイッチ5(オープンフロースイッチ)の構成例を示すブロック図である。スイッチ5は、フレーム処理部510、フローテーブル管理部520、コントローラ通信部530、及び複数のポート540を備えている。
【0110】
コントローラ通信部530は、コントローラ2’との通信機能を有している。オープンフローの場合、SecureChannelがコントローラ通信部530に相当する。
【0111】
フローテーブル管理部520は、フローテーブル525の管理を行う。フローテーブル525は、0個以上のフローエントリを有する。各フローエントリは、マッチ条件、アクション、タイムアウト値といったフィールドを有する。マッチ条件は、フレームヘッダを構成するフィールドの組み合わせで表され、受信フレームが当該フローエントリにマッチするか否かを判定するために用いられる。アクションは、マッチ条件にマッチするフレームに対して行われるフレーム処理の内容(例:指定ポートへの出力)を示している。フローテーブル管理部520は、コントローラ2’からの指示に従って、フローテーブル525の設定(フローエントリの追加、変更、削除等)を行う。
【0112】
フレーム処理部510は、ポート540(入力ポート)を通してフレームを受信する。すると、フレーム処理部510は、フローテーブル525を参照し、受信フレームにマッチするフローエントリ(ヒットエントリ)が有るか否かを判定する。ヒットエントリが無い場合、フレーム処理部510は、当該受信フレームを、コントローラ通信部530を通してコントローラ2’に送信する。一方、ヒットエントリが有る場合、フレーム処理部510は、当該受信フレームに対して、ヒットエントリのアクションで指定される処理(例:指定された出力ポート540への出力)を実施する。
【0113】
図17は、本実施の形態におけるコントローラ2’による処理を示すフローチャートである。コントローラ2’の入出力部200は、フレームを受信する(ステップS200)。入出力部200が受信するフレームは、FCoEの制御フレーム11に限られない。入出力部200は、FCoEフレームではない通常のEthernetフレームを受信する場合もあるし、各スイッチ5から送られてくる統計情報のフレームを受信する場合もある。そこで、入出力部200は、受信フレームのヘッダーを参照して、受信フレームがFCoEの制御フレーム11かそれ以外かを判定する(ステップS201)。
【0114】
受信フレームがFCoEの制御フレーム11の場合(ステップS201;Yes)、入出力部200は、その制御フレーム11をFC管理部210に転送する(ステップS202)。それ以外の場合(ステップS201;No)、入出力部200は、受信フレームをフロー管理部220に転送する(ステップS203)。
【0115】
図18は、ステップS202以降の処理を示すフローチャートである。FC管理部210は、FCoEの制御フレーム11を受け取ると、その制御フレーム11に応じた所定の処理(第1節参照)を実行する(ステップS210)。
【0116】
制御フレーム11は、上述の通信要求フレーム11Aである場合もある。その場合(ステップS211;Yes)、図14で示されたように、FC管理部210はアドレス変換を行う(ステップS213)。FC管理部210は、アドレス変換により得られたMACアドレスペアを、フロー管理部220に通知する。
【0117】
フロー管理部220は、フロー登録処理を実行する(ステップS220)。具体的には、フロー管理部220は、MACアドレスペア(MAC_1A、MAC_1B)に基づいて、イニシエータノード1Aとターゲットノード1Bとの間のデータフレーム12の転送経路を設計する(ステップS221)。また、フロー管理部220は、対象フローに関するフロー管理情報をフロー管理テーブル230に登録する(ステップS222)。更に、フロー管理部220は、設計された転送経路に沿って対象フローのデータフレーム12が転送されるように、各スイッチ5に対してフローテーブル525の設定を指示する(ステップS223)。スイッチ5のフローテーブル管理部520は、フロー管理部220からの指示に従って、対象フローに関するフローエントリをフローテーブル525に追加する。
【0118】
また、制御フレーム11は、ターゲットノード1Bとの通信の切断を要求するもの(以下、「通信切断フレーム」と参照される)である場合もある。イニシエータノード1Aがファブリックからログアウトする時、イニシエータノード1Aは、通信切断フレームを、コントローラ2’に向けて送信する。通信切断フレームでは、イニシエータノード1AのFC−ID(FC_1A)とターゲットノード1BのFC−ID(FC_1B)が指定されている。また、通信切断フレームの宛先MACアドレス(MAC DA)及び送信元MACアドレス(MAC SA)は、それぞれ、コントローラ2’のMACアドレス(MAC_FCC)及びイニシエータノード1AのMACアドレス(MAC_1A)である。図11に示される例では、「LOGO」が通信切断フレームに相当する。
【0119】
ゲートウェイ3は、通信切断フレームをイニシエータノード1Aから受け取る。通信切断フレームは制御フレーム11であるので、ゲートウェイ3は、アドレス変換を行うことなく、受け取った通信切断フレーム11をコントローラ2’に転送する。
【0120】
FC管理部210は、通信切断フレームを受け取る(ステップS211;No、ステップS212;Yes)。通信要求フレーム11Aの場合と同様に、FC管理部210は、アドレス変換を行う(ステップS214)。その結果、イニシエータノード1Aとターゲットノード1BのMACアドレスペア(MAC_1A、MAC_1B)が得られる。FC管理部210は、得られたMACアドレスペアをフロー管理部220に通知する。
【0121】
フロー管理部220は、フロー削除処理を実行する(ステップS230)。具体的には、フロー管理部220は、MACアドレスペア(MAC_1A、MAC_1B)に対応するフローに関する管理情報を、フロー管理テーブル230から削除する(ステップS231)。更に、フロー管理部220は、削除対象フローに関するフローエントリをフローテーブル525から削除するように、各スイッチ5に対して指示する(ステップS232)。スイッチ5のフローテーブル管理部520は、フロー管理部220からの指示に従って、削除対象フローに関するフローエントリをフローテーブル525から削除する。
【0122】
図19は、ステップS203以降の処理を示すフローチャートである。フロー管理部220は、受信フレームを受け取る。その受信フレームがスイッチ5から送られてくる統計情報のフレームである場合(ステップS240;Yes)、処理はステップS241に進む。それ以外の場合、処理はステップS242に進む。
【0123】
ステップS241において、フロー管理部220は、受け取った統計情報を用いて統計情報テーブル240を更新する。フロー管理部220は、統計情報テーブル240を参照することによって、負荷が分散されるように転送経路を動的に変更してもよい。
【0124】
ステップS242において、フロー管理部220は、受信フレームに応じてフロー制御を行う。
【0125】
例えば、一般的なオープンフローでは、新規フローが開始する場合、あるスイッチ5が、当該新規フローのEthernetフレームを受信する。しかしながら、そのスイッチ5のフローテーブル525には、当該新規フローに関するヒットエントリはまだ存在しない。従って、そのスイッチ5は、受信フレームを経路設定要求(第1パケットとも呼ばれる)として、オープンフローコントローラに送る。オープンフローコントローラは、その経路設定要求に応答して、当該新規フローに関する経路設計・設定を行う。同様に、フロー管理部220も、受信フレームが経路設定要求(第1パケット)の場合に、経路設計・設定を行う。
【0126】
また、例えば、スイッチ5は、タイムアウトを契機にして、フローエントリをフローテーブル525から削除してもよい。その場合、スイッチ5は、コントローラ2’に、フローエントリを削除した旨を通知する。それに応答して、フロー管理部220は、削除対象フローに関する管理情報を、フロー管理テーブル230から削除する。
【0127】
2−4.変形例
上述の実施の形態では、コントローラ2’が経路設計を実施するタイミングは、イニシエータノード1Aのログイン時であった。変形例として、一般的なオープンフローの場合と同様に、スイッチ5から送られてくる経路設定要求(第1パケット)に応答して経路設計を行うことを考える。
【0128】
具体的には、ログイン時に経路設計・設定が行われないまま、イニシエータノード1Aは、1つ目のデータフレーム12を送出する。図13で示されたように、ゲートウェイ3は、そのデータフレーム12の宛先MACアドレス(MAC DA)をターゲットノード1BのMACアドレス“MAC_1B”に書き換えた上で、当該データフレーム12をネットワーク4に送る。ネットワーク4中のあるスイッチ5は、そのデータフレーム12を受信する。しかしながら、そのスイッチ5のフローテーブル525には、当該新規フローに関するヒットエントリはまだ存在しない。従って、そのスイッチ5は、受信したデータフレーム12を経路設定要求(第1パケット)として、コントローラ2’に送る。その経路設定要求には、既に、イニシエータノード1AのMACアドレス(MAC_1A)とターゲットノード1BのMACアドレス(MAC_1B)が含まれている。従って、コントローラ2’内部でアドレス変換することなく、経路設定要求に基づいて、経路設計が可能である。
【0129】
但し、確実性の観点から言えば、ログイン時の通信要求フレーム11Aに応答して経路設計・設定を実施することが好ましい。
【0130】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【0131】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0132】
(付記1)
FCoE(Fibre Channel Over Ethernet)に基づいてフレームの送受信を行うノードと、
前記フレームの転送を行うネットワークと、
前記ノード及び前記ネットワークの管理を行うコントローラと、
前記ノードに対して設けられたゲートウェイと
を備え、
前記フレームは、通信に必要な制御情報をやりとりするための制御フレームと、ノード間でデータを送受信するためのデータフレームとに分類され、
前記ゲートウェイは、前記ノードから受け取ったフレームが前記制御フレームか前記データフレームかを判定し、前記制御フレームを前記コントローラに転送し、前記データフレームを前記ネットワークに転送し、
前記コントローラは、前記ゲートウェイから受け取った前記制御フレームに基づいて前記管理を行い、
前記ネットワークは、前記ゲートウェイから受け取った前記データフレームを、前記コントローラを介することなく、ターゲットノードに転送し、
前記コントローラは、前記ネットワークにおける前記データフレームの転送経路を、フロー毎に管理するフロー管理部を備える
ネットワークシステム。
【0133】
(付記2)
付記1に記載のネットワークシステムであって、
前記ターゲットノードとの通信を要求する前記ノードは、イニシエータノードであり、
フロー登録処理において、前記フロー管理部は、前記イニシエータノード及び前記ターゲットノードのMACアドレスに基づいて、前記イニシエータノードと前記ターゲットノードとの間の前記データフレームの転送経路を設計する
ネットワークシステム。
【0134】
(付記3)
付記2に記載のネットワークシステムであって、
前記イニシエータノードは、前記ターゲットノードとの通信を要求する前記制御フレームである通信要求フレームを、前記コントローラに向けて送信し、
前記ゲートウェイは、前記イニシエータノードから受け取る前記通信要求フレームを、前記コントローラに転送し、
前記フロー管理部は、前記通信要求フレームに応答して、前記フロー登録処理を実行する
ネットワークシステム。
【0135】
(付記4)
付記3に記載のネットワークシステムであって、
前記コントローラは、更に、ノード毎にFC−IDとMACアドレスとの対応関係を示すノード情報を保持するFC管理部を備え、
前記通信要求フレームは、前記イニシエータノードのMACアドレスと前記ターゲットノードのFC−IDを示す情報を含んでおり、
前記FC管理部は、前記ノード情報を参照することによって、前記通信要求フレームで示される前記ターゲットノードのFC−IDを前記ターゲットノードのMACアドレスに変換し、
前記フロー管理部は、前記FC管理部によって得られた前記ターゲットノードのMACアドレスを用いて、前記イニシエータノードと前記ターゲットノードとの間の前記データフレームの転送経路を設計する
ネットワークシステム。
【0136】
(付記5)
付記2乃至4のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、更に、フロー管理情報をフロー毎に示すフロー管理テーブルを備え、
前記フロー管理情報は、前記イニシエータノードと前記ターゲットノードのMACアドレスのペア、及び前記データフレームの前記転送経路を示し、
前記フロー登録処理において、前記フロー管理部は、該当フローに関する前記フロー管理情報を前記フロー管理テーブルに登録する
ネットワークシステム。
【0137】
(付記6)
付記5に記載のネットワークシステムであって、
前記イニシエータノードは、前記ターゲットノードとの通信の切断を要求する前記制御フレームである通信切断フレームを、前記コントローラに向けて送信し、
前記ゲートウェイは、前記イニシエータノードから受け取る前記通信切断フレームを、前記コントローラに転送し、
前記フロー管理部は、前記通信切断フレームに応答して、該当フローに関する前記フロー管理情報を前記フロー管理テーブルから削除する
ネットワークシステム。
【0138】
(付記7)
付記1乃至6のいずれか一項に記載のネットワークシステムであって、
前記ノードは、前記フレームの宛先MACアドレスを前記コントローラのMACアドレスに設定し、
前記ゲートウェイは、前記受け取ったフレームが前記データフレームの場合、前記データフレームの宛先MACアドレスを前記ターゲットノードのMACアドレスに変換し、その後、前記データフレームを前記ネットワークに出力する
ネットワークシステム。
【0139】
(付記8)
付記1乃至7のいずれか一項に記載のネットワークシステムであって、
前記ゲートウェイは、FCPフレームを前記データフレームと判定し、それ以外のフレームを前記制御フレームと判定する
ネットワークシステム。
【0140】
(付記9)
付記1乃至8のいずれか一項に記載のネットワークシステムであって、
前記ゲートウェイは、前記ノードのネットワークカードに組み込まれている
ネットワークシステム。
【0141】
(付記10)
ネットワークシステムにおけるフレーム通信方法であって、
前記ネットワークシステムは、
FCoE(Fibre Channel Over Ethernet)に基づいてフレームの送受信を行うノードと、
前記フレームの転送を行うネットワークと、
前記ノード及び前記ネットワークの管理を行うコントローラと
を備え、
前記フレームは、通信に必要な制御情報をやりとりするための制御フレームと、ノード間でデータを送受信するためのデータフレームとに分類され、
前記フレーム通信方法は、
前記ノードから送信されるフレームが前記制御フレームか前記データフレームかを判定するステップと、
前記制御フレームを前記コントローラに転送し、前記コントローラにおいて、前記制御フレームに基づいて前記管理を行うステップと、
前記データフレームを前記ネットワークに転送し、前記コントローラを介することなく、送信先ノードに伝送するステップと、
前記コントローラにおいて、前記ネットワークにおける前記データフレームの転送経路をフロー毎に管理するステップと
を含む
フレーム通信方法。
【符号の説明】
【0142】
1 ノード
1A イニシエータノード
1B ターゲットノード
2,2’ コントローラ
3 ゲートウェイ
4 ネットワーク
5 スイッチ
10 フレーム
11 制御フレーム
11A 通信要求フレーム
12 データフレーム
20 受信部
21 処理部
22 ノード情報テーブル
23 送信部
30 分離部
31 アドレス変換部
32 多重化部
40 ネットワークカード
50 FCF
60 調定部
61 ネットワーク情報管理部
62 FCoE情報管理部
70 スイッチ間トポロジー管理部
71 経路情報管理部
72 VLAN ID管理部
80 コントローラMAC
81 ノード/VLAN ID管理部
82 ログインサーバ
83 ディレクトリサーバ
84 ファブリック管理部
90 サーバ
100 NIC
101 CPU
102 メモリ
200 入出力部
210 FC管理部
215 ノード情報
220 フロー管理部
230 フロー管理テーブル
240 統計情報テーブル
510 フレーム処理部
520 フローテーブル管理部
525 フローテーブル
530 コントローラ通信部
540 ポート

【特許請求の範囲】
【請求項1】
FCoE(Fibre Channel Over Ethernet)に基づいてフレームの送受信を行うノードと、
前記フレームの転送を行うネットワークと、
前記ノード及び前記ネットワークの管理を行うコントローラと、
前記ノードに対して設けられたゲートウェイと
を備え、
前記フレームは、通信に必要な制御情報をやりとりするための制御フレームと、ノード間でデータを送受信するためのデータフレームとに分類され、
前記ゲートウェイは、前記ノードから受け取ったフレームが前記制御フレームか前記データフレームかを判定し、前記制御フレームを前記コントローラに転送し、前記データフレームを前記ネットワークに転送し、
前記コントローラは、前記ゲートウェイから受け取った前記制御フレームに基づいて前記管理を行い、
前記ネットワークは、前記ゲートウェイから受け取った前記データフレームを、前記コントローラを介することなく、ターゲットノードに転送し、
前記コントローラは、前記ネットワークにおける前記データフレームの転送経路を、フロー毎に管理するフロー管理部を備える
ネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムであって、
前記ターゲットノードとの通信を要求する前記ノードは、イニシエータノードであり、
フロー登録処理において、前記フロー管理部は、前記イニシエータノード及び前記ターゲットノードのMACアドレスに基づいて、前記イニシエータノードと前記ターゲットノードとの間の前記データフレームの転送経路を設計する
ネットワークシステム。
【請求項3】
請求項2に記載のネットワークシステムであって、
前記イニシエータノードは、前記ターゲットノードとの通信を要求する前記制御フレームである通信要求フレームを、前記コントローラに向けて送信し、
前記ゲートウェイは、前記イニシエータノードから受け取る前記通信要求フレームを、前記コントローラに転送し、
前記フロー管理部は、前記通信要求フレームに応答して、前記フロー登録処理を実行する
ネットワークシステム。
【請求項4】
請求項3に記載のネットワークシステムであって、
前記コントローラは、更に、ノード毎にFC−IDとMACアドレスとの対応関係を示すノード情報を保持するFC管理部を備え、
前記通信要求フレームは、前記イニシエータノードのMACアドレスと前記ターゲットノードのFC−IDを示す情報を含んでおり、
前記FC管理部は、前記ノード情報を参照することによって、前記通信要求フレームで示される前記ターゲットノードのFC−IDを前記ターゲットノードのMACアドレスに変換し、
前記フロー管理部は、前記FC管理部によって得られた前記ターゲットノードのMACアドレスを用いて、前記イニシエータノードと前記ターゲットノードとの間の前記データフレームの転送経路を設計する
ネットワークシステム。
【請求項5】
請求項2乃至4のいずれか一項に記載のネットワークシステムであって、
前記コントローラは、更に、フロー管理情報をフロー毎に示すフロー管理テーブルを備え、
前記フロー管理情報は、前記イニシエータノードと前記ターゲットノードのMACアドレスのペア、及び前記データフレームの前記転送経路を示し、
前記フロー登録処理において、前記フロー管理部は、該当フローに関する前記フロー管理情報を前記フロー管理テーブルに登録する
ネットワークシステム。
【請求項6】
請求項5に記載のネットワークシステムであって、
前記イニシエータノードは、前記ターゲットノードとの通信の切断を要求する前記制御フレームである通信切断フレームを、前記コントローラに向けて送信し、
前記ゲートウェイは、前記イニシエータノードから受け取る前記通信切断フレームを、前記コントローラに転送し、
前記フロー管理部は、前記通信切断フレームに応答して、該当フローに関する前記フロー管理情報を前記フロー管理テーブルから削除する
ネットワークシステム。
【請求項7】
請求項1乃至6のいずれか一項に記載のネットワークシステムであって、
前記ノードは、前記フレームの宛先MACアドレスを前記コントローラのMACアドレスに設定し、
前記ゲートウェイは、前記受け取ったフレームが前記データフレームの場合、前記データフレームの宛先MACアドレスを前記ターゲットノードのMACアドレスに変換し、その後、前記データフレームを前記ネットワークに出力する
ネットワークシステム。
【請求項8】
請求項1乃至7のいずれか一項に記載のネットワークシステムであって、
前記ゲートウェイは、FCPフレームを前記データフレームと判定し、それ以外のフレームを前記制御フレームと判定する
ネットワークシステム。
【請求項9】
請求項1乃至8のいずれか一項に記載のネットワークシステムであって、
前記ゲートウェイは、前記ノードのネットワークカードに組み込まれている
ネットワークシステム。
【請求項10】
ネットワークシステムにおけるフレーム通信方法であって、
前記ネットワークシステムは、
FCoE(Fibre Channel Over Ethernet)に基づいてフレームの送受信を行うノードと、
前記フレームの転送を行うネットワークと、
前記ノード及び前記ネットワークの管理を行うコントローラと
を備え、
前記フレームは、通信に必要な制御情報をやりとりするための制御フレームと、ノード間でデータを送受信するためのデータフレームとに分類され、
前記フレーム通信方法は、
前記ノードから送信されるフレームが前記制御フレームか前記データフレームかを判定するステップと、
前記制御フレームを前記コントローラに転送し、前記コントローラにおいて、前記制御フレームに基づいて前記管理を行うステップと、
前記データフレームを前記ネットワークに転送し、前記コントローラを介することなく、送信先ノードに伝送するステップと、
前記コントローラにおいて、前記ネットワークにおける前記データフレームの転送経路をフロー毎に管理するステップと
を含む
フレーム通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2012−227651(P2012−227651A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−92087(P2011−92087)
【出願日】平成23年4月18日(2011.4.18)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成22年度 総務省、「グリーンネットワーク基盤技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】