(57)【要約】【課題】ＦＣｏＥパケットが転送されるネットワークにおいて、ボトルネックとなるリンクがより発生しないように、ＦＣｏＥパケットを中継するための技術を提供する。【解決手段】パケット識別・検索・処理部１２３は、受信したＦＣｏＥパケットのヘッダ情報を参照し、そのＦＣｏＥパケットのタイプを識別する。そのタイプがＦＣｏＥプロトコルを指定したものであった場合、宛先ＭＡＣアドレス、及び宛先ＦＣＩＤを用いてＦＣｏＥ中継テーブル１２４２を検索する。その検索によりエントリがヒットした場合、ＦＣｏＥパケットの宛先、及び送信元の各ＭＡＣアドレスを、エントリに格納されているＥノード、及びＦＣＦの各ＭＡＣアドレスに書き換える。その書き換えにより、本来の転送経路をショートカットさせた形の経路でＦＣｏＥパケットを転送させる。【選択図】図２
2014187447.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送受信する送受信部と、
前記送受信部が受信したパケットを監視する監視部と、
受信した前記パケットを転送可能なノードに前記パケットを転送させるための転送制御情報を格納した記憶部と、
前記パケットが所定のプロトコルのパケットであり、且つ、格納されたフレームに含まれる宛先が前記記憶部に転送制御情報が格納されたノードであると前記監視部が判断した場合、前記記憶部に格納された対応する転送制御情報を用いて前記パケットのヘッダを書き換え、前記ヘッダを書き換えたパケットを前記送受信部に送信させる中継部とを有することを特徴とするスイッチ装置。
【請求項２】
前記スイッチ装置はさらに、
前記所定のプロトコルが前記フレームを格納したパケットに対する前記監視部の監視結果を用いて、前記記憶部に前記転送制御情報を格納する更新部を有することを特徴とする請求項１記載のスイッチ装置。
【請求項３】
スイッチ装置の制御方法において、
前記スイッチ装置が有する送受信部が、パケットを受信し、
前記スイッチ装置が有する監視部が、前記送受信部が受信したパケットを監視し、
前記送受信部が受信した前記パケットを転送可能なノードに前記パケットを転送させるための転送制御情報を、前記スイッチ装置が有する記憶部が格納し、
前記パケットが所定のプロトコルのパケットであり、且つ、格納されたフレームに含まれる宛先が前記記憶部に転送制御情報が格納されたノードであると前記監視部が判断した場合、前記スイッチ装置が有する中継部が、前記記憶部に格納された対応する転送制御情報を用いて前記パケットのヘッダを書き換え、前記ヘッダを書き換えたパケットを前記送受信部に送信させることを特徴とするスイッチ装置の制御方法。
【請求項４】
前記スイッチ装置はさらに、
前記所定のプロトコルが前記フレームを格納したパケットに対する前記監視部の監視結果を用いて、前記記憶部に前記転送制御情報を格納することを特徴とする請求項３記載のスイッチ装置の制御方法。
【請求項５】
複数のスイッチ装置を有するネットワークシステムにおいて、
前記複数のスイッチ装置のいずれかは、
パケットを送受信する送受信部と、
前記送受信部が受信したパケットを監視する監視部と、
受信した前記パケットを転送可能なノードに前記パケットを転送させるための転送制御情報を格納した記憶部と、
前記パケットが所定のプロトコルのパケットであり、且つ、格納されたフレームに含まれる宛先が前記記憶部に転送制御情報が格納されたノードであると前記監視部が判断した場合、前記記憶部に格納された対応する転送制御情報を用いて前記パケットのヘッダを書き換え、前記ヘッダを書き換えたパケットを前記送受信部に送信させる中継部とを有することを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、ＦＣ（Fibre Channel）フレームを格納したパケットの転送（中継）を制御するための技術に関する。
【背景技術】
【０００２】
ストレージと情報処理装置（コンピュータ）間をそれぞれ接続する高速なネットワークであるＳＡＮ（Storage Area Network）は、現在、高性能なサーバの実現、増え続けるデータへの対応、等のために広く用いられている。ＦＣは、ＳＡＮの標準規格となっている。
【０００３】
近年、イーサネット（登録商標）の高速化により、サーバ間通信とストレージ通信とを統合する、統合ネットワークを実現することが可能になってきている。それにより、現在では、ＦＣフレームをイーサネット（登録商標）で扱う技術（規格）としてＦＣｏＥ（Fibre Channel over Ethernet）がある。ＦＣｏＥでは、ＦＣフレームはカプセル化され、パケット内に格納される。以降、ＦＣフレームを格納したパケットを「ＦＣｏＥパケット」と表記する。
【０００４】
ＦＣｏＥを用いるＦＣｏＥネットワーク（ファブリック）に接続されたＥノード（ＦＣｏＥノード）は、適切なゲートウェイ装置を介して、従来のＦＣネットワークのノードにアクセスすることができる。そのため、ＦＣｏＥは、既存の資産を活用しつつ、新しく統合ネットワークシステムを構築するうえで極めて有用である。
【０００５】
ＦＣｏＥネットワークをＦＣネットワークに接続する場合、ＮＰＩＶ（N-Port ID (Identifier) Virtualization）という技術が用いられる。ＮＰＩＶは、ＦＣネットワークで用いるアドレスを仮想化する技術である。ＮＰＩＶをサポートするゲートウェイ装置（以降「ＮＰＩＶゲートウェイ装置」と表記）は、ＦＣネットワーク上に配置されたＦＣスイッチ装置と接続され、ＮＰＩＶ装置を介して通信を行うＥノード群を１つの装置であるかのようにＦＣスイッチ装置に見せる。それにより、ＮＰＩＶゲートウェイ装置は、ＦＣｏＥネットワークとＦＣネットワークとを接続することができる。
【０００６】
ＮＰＩＶゲートウェイ装置を用いてＦＣｏＥネットワークとＦＣネットワークとを接続させた場合、ＦＣｏＥパケット中のＦＣフレームは、必ずＦＣスイッチ装置を通る経路に転送される。そのため、ＮＰＩＶゲートウェイ装置と、そのＮＰＩＶゲートウェイ装置と接続されたＦＣスイッチ装置との間の経路であるリンクで特にトラフィック量が大きくなりやすい。トラフィック量が他と比較して非常に大きいリンクは、通信レイテンシが増加しやすく、通信上のボトルネックとなる可能性が高い。
【０００７】
ＦＣｏＥネットワークにＥノードとして接続させるサーバ、及びストレージ等の数は非常に大きくなることがある。一方、ＦＣｏＥネットワークのなかでＮＰＩＶゲートウェイ装置と直接、接続させるスイッチ装置は全体の一部である。そのため、ボトルネックとなりうるリンクをより少なくするには、ＮＰＩＶゲートウェイ装置に転送上、不要なパケットが集まらないようにすることが重要と思われる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−１１０２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
１側面では、本発明は、ＦＣｏＥパケットが転送されるネットワーク（ファブリック）において、ボトルネックとなるリンクがより発生しないように、ＦＣｏＥパケットを中継するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明を適用した１システムでは、パケットを送受信する送受信部と、送受信部が受信したパケットを監視する監視部と、受信したパケットを転送可能なノードにパケットを転送させるための転送制御情報を格納した記憶部と、パケットが所定のプロトコルのパケットであり、且つ、格納されたフレームに含まれる宛先が記憶部に転送制御情報が格納されたノードであると監視部が判断した場合、記憶部に格納された対応する転送制御情報を用いてパケットのヘッダを書き換え、ヘッダを書き換えたパケットを送受信部に送信させる中継部とを有する。
【発明の効果】
【００１１】
本発明を適用した場合には、ＦＣｏＥパケットが転送されるネットワーク（ファブリック）において、ボトルネックとなるリンクがより発生しないように、ＦＣｏＥパケットを中継することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態によるスイッチ装置を用いて構築されたネットワークシステムの構成例を説明する図である。
【図２】本実施形態によるスイッチ装置の構成例を説明する図である。
【図３】ＦＣｏＥ中継テーブルの構成例、及び更新方法例を説明する図である（ＳＰＭＡの場合）。
【図４】ＦＣｏＥ中継テーブルの構成例、及び更新方法例を説明する図である（ＦＰＭＡの場合）。
【図５】本実施形態によるスイッチ装置の動作の流れの例を表すフローチャートである。
【図６】ＦＣｏＥ中継テーブル登録処理のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態によるスイッチ装置を用いて構築されたネットワークシステムの構成例を説明する図である。
【００１４】
図１に表すネットワークシステムは、ＦＣｏＥネットワークとＦＣネットワークを、ＮＰＩＶのための処理を行うＮＰＩＶ処理部２ａを搭載したＮＰＩＶゲートウェイ装置２により接続したものである。図１に表す構成例では、ＮＰＩＶゲートウェイ装置２は、多数のＦＣｏＥスイッチ装置１（１−１〜１−６）と共にＦＣｏＥネットワークの構成要素であり、ＦＣｏＥスイッチ装置１−３〜１−６には、Ｅノードとして、サーバ３、或いはストレージ４が１台以上、接続されている。ＦＣｏＥネットワークにサーバ３、及びストレージ４をそれぞれ多数、接続させることにより、ＦＣｏＥネットワークシステムが構築されている。本実施形態によるスイッチ装置は、ＦＣｏＥスイッチ装置１として実現されている。
【００１５】
ＮＰＩＶゲートウェイ装置２には、ＦＣネットワークを構成する１台のＦＣスイッチ装置５が接続されている。図１では、ＦＣスイッチ装置５は１台のみ表しているが、実際には、他のＦＣスイッチ装置５も存在することがある。ノードであるサーバ３ｆ及びストレージ４ｆがそれぞれ多数、何れかのＦＣスイッチ装置５に接続させることにより、ＦＣネットワークシステム７が構築されている。
【００１６】
ＦＣフレームを格納したＦＣｏＥパケットは、本来、少なくとも１台のＦＣスイッチ装置５を通る経路に転送される。そのため、各サーバ３、及び各ストレージ４から送信されたＦＣｏＥパケットは、全てＮＰＩＶゲートウェイ装置２に転送される。ＮＰＩＶゲートウェイ装置２に転送されたパケット内のＦＣフレームは、ＮＰＩＶゲートウェイ装置２により非カプセル化され、ＮＰＩＶゲートウェイ装置２とＦＣスイッチ装置５を接続するリンクに出力される。このようなことから、ＮＰＩＶゲートウェイ装置２とＦＣスイッチ装置５を接続するリンクのトラフィック量は他のリンクと比較して非常に大きくなりやすい。
【００１７】
また、図１に表すように、ＮＰＩＶゲートウェイ装置２に複数台のＦＣｏＥスイッチ装置１がカスケード接続されている場合、各サーバ３、及び各ストレージ４から送信されたＦＣｏＥパケットは、ＮＰＩＶゲートウェイ装置２に集約される形で転送される。そのため、ＮＰＩＶゲートウェイ装置２とＦＣｏＥスイッチ装置１−１を接続するリンク、及びＮＰＩＶゲートウェイ装置２とＦＣｏＥスイッチ装置１−２を接続するリンクのトラフィック量も大きくなりやすい。このことから、本実施形態では、ＦＣｏＥネットワークと接続されたＥノード間で送受信されるＦＣｏＥパケットは、経由するＦＣｏＥスイッチ装置１の台数が最小となるショートカットの経路で転送させるようにしている。図１中、１台のＥノードから別の１台のＥノードに至る各矢印は、それぞれ、Ｅノード間で送受信されるＦＣｏＥパケットの転送経路を表している。
【００１８】
Ｅノード間で送受信されるＦＣｏＥパケットをショートカットさせた形の転送経路で転送させることにより、ＮＰＩＶゲートウェイ装置２とＦＣスイッチ装置５間のリンクのトラフィック量は大きく低減させることができる。また、別の多くのリンクのトラフィック量も低減される。図１に表す構成例では、ＮＰＩＶゲートウェイ装置２とＦＣｏＥスイッチ装置１−１間のリンク、及びＮＰＩＶゲートウェイ装置２とＦＣｏＥスイッチ装置１−１間のリンクのトラフィック量も大きく低減させることができる。トラフィック量の低減量は比較的に小さいが、ＦＣｏＥスイッチ装置１−１とＦＣｏＥスイッチ装置１−３及び１−４間の各リンク、ＦＣｏＥスイッチ装置１−２とＦＣｏＥスイッチ装置１−５及び１−６間の各リンクのトラフィック量も抑制される。このようなことから、通信上、ボトルネックとなるリンクの発生は回避できるか、或いは大きく抑制することができる。
【００１９】
図２は、本実施形態によるスイッチ装置の構成例を説明する図である。以降、図１の各矢印で表すような転送経路でのＦＣｏＥパケットの中継を実現可能なＦＣｏＥスイッチ装置１の構成、及び動作について詳細に説明する。
【００２０】
本実施形態によるスイッチ装置であるＦＣｏＥスイッチ装置１は、図２に表すように、プロトコル処理部１１、スイッチＬＳＩ（Large Scale Integration）１２、２つの内部ポート１３、１４、多数の受信ポート１５（１５−１〜１５−ｎ）、及び多数の送信ポート１６（１６−１〜１６−ｎ）を備えている。
【００２１】
ＮＰＩＶゲートウェイ装置２は、パケット内にＦＣフレームを格納するカプセル化、及びカプセル化されたＦＣフレームをパケットから取り出す非カプセル化を行うＦＣＭ（Fibre Channel Mapper）機能を搭載し、ＦＣスイッチ５に接続されて、ＦＣｏＥにおけるＦＣＦ（FCoE Forwarder）として見える。各Ｅノードは、ＮＰＩＶゲートウェイ装置２に対し、ファブリック・ログイン（ＦＬＯＧＩ）を行う。また、各Ｅノードは、必要に応じて、ファブリック・ディスカバリ（ＦＤＩＳＣ）を行う。
【００２２】
プロトコル処理部１１は、ＦＬＯＧＩテーブル１１１を用いて、ファブリック・ログイン(FLOGI)を行ったＥノード、及びファブリック・ディスカバリ(FDISC)を行ったＥノードを管理する。そのプロトコル処理部１１は、例えばプロセッサ、及びメモリ等を備えた処理ユニットである。
【００２３】
各受信ポート１５は、Ｅノード、他のＦＣｏＥスイッチ装置１、或いはＮＰＩＶゲートウェイ装置２から送信されたパケットを受信し、スイッチＬＳＩ１２に出力する。各送信ポート１６は、Ｅノード、他のＦＣｏＥスイッチ装置１、或いはＮＰＩＶゲートウェイ装置２へのパケットの送信に用いられる。内部ポート１３は、プロトコル処理部１１からスイッチＬＳＩ１２への各種データの出力に用いられる。内部ポート１４は、スイッチＬＳＩ１２からプロトコル処理部１１への各種データの出力に用いられる。これら各種データは、フレームデータ以外に、コマンド、或いは指示等を含む。
【００２４】
スイッチＬＳＩ１２は、マルチプレクサ１２１、パケットバッファ１２２、パケット識別・検索・処理部１２３、メモリ１２４、中継処理部１２５、メモリ１２６、パケット更新部１２７、及びデマルチプレクサ１２８を備えている。
【００２５】
マルチプレクサ１２１は、受信ポート１５のうちの何れかが出力するパケットを選択し、選択したパケットをパケットバッファ１２２に出力する。また、パケットバッファ１２２に出力されたパケットのヘッダ情報は、パケット識別・検索・処理部１２３にも出力される。パケットバッファ１２２は、転送（中継）対象とするパケットを一時的に格納するメモリである。パケットバッファ１２２に格納されたパケットは、パケット更新部１２７に出力される。
【００２６】
メモリ１２４には、パケットタイプデータベース（ＤＢ）１２４１、及びＦＣｏＥ中継テーブル１２４２が格納されている。パケットタイプＤＢ１２４１は、パケットの種類を識別するためのデータベースである。ＦＣｏＥ中継テーブル１２４２は、図１に各矢印で表すような転送経路でのＦＣｏＥパケットの中継を実現させるための転送制御情報群である。
【００２７】
上記ＦＬＯＧＩ、及びＦＤＩＳＣは、ＦＩＰ（FCoE Initialization Protocol）を用いて行われる。ＦＩＰは、ＦＣｏＥコネクション確立のためのプロトコルである。ＦＬＯＧＩ、及びＦＤＩＳＣは、オペレーション・コードによって指定される。要求、及び応答は、サブコードによって指定される。
【００２８】
イーサネット（登録商標）でのプロトコルは、ＥＴ（Ether Type）によって指定され、ＦＩＰを用いる場合、ＥＴはＦＩＰを表す値となる。ＦＩＰ完了後に行われる、Ｅノード間のデータの送受信などでは、ＥＴとしてＦＣｏＥプロトコルを表す値がパケットのヘッダに格納される。図１の各矢印で表すようなショートカットした形の転送経路でのＦＣｏＥパケットの転送は、ＦＣｏＥプロトコルを用いた伝送が指定されたＦＣｏＥパケットが対象となる。以降、ＦＣｏＥプロトコルが指定されたフレームは「ＦＣｏＥフレーム」、ＦＩＰが指定されたフレームは「ＦＩＰフレーム」と呼び、それらを区別する。
【００２９】
パケットタイプＤＢ１２４１には、指定されたプロトコルを認識可能なデータが格納されている。それにより、パケット識別・検索・処理部１２３は、パケットタイプＤＢ１２４２を参照し、パケットバッファ１２２に格納されたパケットの種類を識別する。
【００３０】
図３、及び図４は、ＦＣｏＥ中継テーブルの構成例、及び更新方法例を説明する図である。パケット識別・検索・処理部１２３がＦＣｏＥ中継テーブル１２４２を参照して行う動作を説明する前に、ＦＣｏＥ中継テーブル１２４２について具体的に説明する。
【００３１】
図３、及び図４において、３０は要求としてＦＬＯＧＩ、或いはＦＤＩＳＣを指定するＦＩＰフレームを格納したＦＣｏＥパケットに対する応答として送信されたＦＣｏＥパケットである。応答内容は、アクセプト、及びリジェクトの何れかであり、「ＡＣＣ」はアクセプトを表している。リジェクトは「ＲＪＴ」とも表記する。以降、３０はＦＣｏＥパケット全体の符号として用いる。
【００３２】
Ｅノードに割り当てられるＭＡＣ（Media Access Control ）アドレスには、ＳＰＭＡ(Server Provided MAC Address）と、ＦＰＭＡ（Fabric Provided MAC Address）とがある。ＳＰＭＡは、Ｅノード自身が割り当てたＭＡＣアドレスであり、ＦＰＭＡは、ＦＣＦがＥノードに割り当てたＭＡＣアドレスである。図３は、ＳＰＭＡの場合であり、図４は、ＦＰＭＡの場合である。３０−１は、ＳＰＭＡの場合の応答のＦＣｏＥパケットであり、３０−２は、ＦＰＭＡの場合の応答のＦＣｏＥパケットである。
【００３３】
ＦＬＯＧＩテーブル１１１は、図３、及び図４に表すように、ＥノードのＭＡＣアドレス、ＦＣＦのＭＡＣアドレス、及びポート番号の各データが各エントリ（レコード）に格納されるテーブルである。ＥノードのＭＡＣアドレス、及びＦＣＦのＭＡＣアドレスとして、ＦＬＯＧＩ、或いはＦＤＩＳＣを指定するＦＩＰフレームを格納したＦＣｏＥパケット３０のヘッダ内の送信元、及び宛先のＭＡＣアドレスが格納される。ポート番号は、そのＦＣｏＥパケット３０を受信した受信ポート１５を表す識別情報である。
【００３４】
一方、ＦＣｏＥ中継テーブル１２４２は、図３、及び図４に表すように、ＥノードのＭＡＣアドレス、ＥノードのＦＣＩＤ、ＦＣＦのＭＡＣアドレス、ポート番号、及び統計情報の各データが各エントリに格納されるテーブルである。ＦＣＩＤは、ファブリック・ドメイン（ここではＮＰＩＶゲートウェイ装置２を経由したＦＣスイッチ５）にアクセスするための識別子であり、Ｅノード毎に異なる。統計情報は、例えばパケット（フレーム）数、及びパケットの総バイト数、等の情報である。単位時間当たりの統計情報は、ＮＰＩＶゲートウェイ装置２に送信される。
【００３５】
ＦＣｏＥ中継テーブル１２４２は、ＦＣｏＥパケット３０−１、或いは３０−２の受信により、１エントリを追加する更新が行われる。
【００３６】
ＦＣｏＥパケット３０−１を受信した場合、図３に表すように、そのＦＣｏＥパケット３０−１のヘッダ内の宛先、及び送信元のＭＡＣアドレスは、追加されたエントリに、ＥノードのＭＡＣアドレス、及びＦＣＦのＭＡＣアドレスとして格納される。ＦＩＰフレーム中のＦＣＩＤは、ＥノードのＦＣＩＤとして格納される。ポート番号は、ＦＣｏＥパケット３０−１のヘッダ内の宛先、及び送信元のＭＡＣアドレスをそれぞれＥノードのＭＡＣアドレス、及びＦＣＦのＭＡＣアドレスとして格納しているＦＬＯＧＩテーブル１１１のエントリ中のポート番号が格納される。
【００３７】
ＦＣｏＥパケット３０−２のＦＩＰフレーム内には、ＦＣＦ（ＮＰＩＶゲートウェイ装置２）が割り当てたＭＡＣアドレスが格納される。このことから、ＦＣｏＥパケット３０−２を受信した場合、図４に表すように、そのＦＣｏＥパケット３０−１のＦＩＰフレーム内のＭＡＣアドレスは、追加されたエントリに、ＥノードのＭＡＣアドレスとして格納される。他のデータは、ＦＣｏＥパケット３０−１の場合と同様に格納される。
【００３８】
上記のような各データを各エントリに格納したＦＣｏＥ中継テーブル１２４２は、ＮＰＩＶゲートウェイ装置２から自ＦＣｏＥスイッチ装置１を経由してＦＣｏＥパケット３０が転送されるＥノードを指定して、ＦＣｏＥパケット３０を転送させることを可能にする。そのため、ＦＣｏＥ中継テーブル１２４２には、配下のＥノード毎にエントリが追加される。それにより、各ＦＣｏＥスイッチ装置１は、ＦＣｏＥ中継テーブル１２４２を参照して、図１の各矢印で表すようなショートカットさせた形の転送経路でＦＣｏＥパケット３０を転送させることができる。ここで、配下のＥノードとは、自ＦＣｏＥスイッチ装置１を経由してＦＣｏＥパケット３０が転送されるＥノードである。
【００３９】
パケット識別・検索・処理部１２３は、ヘッダ情報から、ＦＣｏＥパケット３０が、要求のＦＩＰフレームを格納したものと種別した場合、中継処理部１２５に指示し、パケットバッファ１２２に格納されているＦＣｏＥパケット３０を、パケット更新部１２７を経由し内部ポート１４からプロトコル処理部１１に出力させる。それにより、プロトコル処理部１１は、ＦＬＯＧＩ、或いはＦＤＩＳＣを要求するＦＣｏＥパケット３０が受信された場合に、ＦＬＯＧＩテーブル１１１に１エントリを追加し、追加したエントリに、各データを格納する。
【００４０】
ＦＬＯＧＩテーブル１１１に追加されたエントリは、ＦＬＯＧＩ、或いはＦＤＩＳＣを要求するＦＣｏＥパケット３０への応答として、ＲＪＴ（リジェクト）を表すＦＣｏＥパケット３０−１、或いは３０−２が受信された場合、削除される。この場合、パケット識別・検索・処理部１２３は、ＦＣｏＥ中継テーブル１２４２にエントリを追加しない。
【００４１】
ＦＬＯＧＩテーブル１１１に追加されたエントリは、ＦＬＯＧＩ、或いはＦＤＩＳＣを要求するＦＣｏＥパケット３０への応答として、ＡＣＣ（アクセプト）を表すＦＣｏＥパケット３０−１、或いは３０−２が受信された場合、削除されない。この場合、パケット識別・検索・処理部１２３は、上述したように、ＦＣｏＥ中継テーブル１２４２に１エントリを追加する。
【００４２】
パケット識別・検索・処理部１２３は、ヘッダ情報から、パケットが、ＦＣｏＥフレームを格納したものと種別した場合、そのＦＣｏＥパケット３０から抽出した宛先ＭＡＣアドレスと宛先ＦＣＩＤを用いてＦＣｏＥ中継テーブル１２４２の検索を行う。パケット識別・検索・処理部１２３は、その検索により抽出されたエントリから、ＥノードのＭＡＣアドレス、及びＦＣＦのＭＡＣアドレスを取り出す。パケット識別・検索・処理部１２３は、中継処理部１２５に指示して、パケット更新部１２７に、取り出したＥノードのＭＡＣアドレス、及びＦＣＦのＭＡＣアドレスで、それぞれ、パケットの宛先ＭＡＣアドレス、送信元ＭＡＣアドレスを書き換えさせる。パケット識別・検索・処理部１２３は、中継処理部１２５に指示して、宛先ＭＡＣアドレス、及び送信元ＭＡＣアドレスを書き換えさせた後のＦＣｏＥパケット３０を、抽出されたエントリ中のポート番号が割り当てられた送信ポート１６から送信させる。
【００４３】
デマルチプレクサ１２８は、パケットバッファ１２２に格納されたパケットを、パケット更新部１２７を経由し送信させる送信ポート１６の選択に用いられる。デマルチプレクサ１２８は、中継処理部１２５の指示に従い、パケットの出力先とさせる送信ポート１６を選択する。
【００４４】
パケット識別・検索・処理部１２３は、エントリがヒットしないＦＣｏＥフレームを格納したＦＣｏＥパケット３０、及びＦＩＰフレームを格納したＦＣｏＥパケット３０、及びＦＣｏＥ以外のパケットの場合、送信ポート１６の指定を中継処理部１２５に指示する。その指示により、中継処理部１２５は、転送ＤＢ１２６を参照し、パケットの送信に用いるべき送信ポート１６を特定し、特定した送信ポート１６からパケットを送信させる。
【００４５】
転送ＤＢ１２６は、例えば宛先ＭＡＣアドレスと選択すべき送信ポート１６の組み合わせを表すデータベースである。それにより、中継処理部１２５は、宛先ＭＡＣアドレスから選択すべき送信ポート１６を特定する。
【００４６】
図５は、本実施形態によるスイッチ装置の動作の流れの例を表すフローチャートである。このフローチャートは、１パケットの受信により、受信したパケットへの処理が終了するまでのＦＣｏＥスイッチ装置１の動作の流れの例を表したものである。次に図５を参照し、ＦＣｏＥスイッチ装置１の動作について詳細に説明する。
【００４７】
何れかの受信ポート１５で受信されたパケットは、マルチプレクサ１２１により選択され、パケットバッファ１２２に格納される、そのパケットのヘッダ情報は、パケット識別・検索・処理部１２３に出力される。
【００４８】
パケット識別・検索・処理部１２３は、パケットタイプＤ１２４１を参照し、パケットが、ＦＣｏＥフレームを格納したものか否か判定する（Ｓ１）。ＥＴとしてＦＣｏＥプロトコルが指定されたＦＣｏＥパケット３０であった場合、Ｓ１の判定はＹｅｓとなってＳ１１に移行する。ＥＴとしてＦＣｏＥプロトコルが指定されていないパケットであった場合、Ｓ１の判定はＮｏとなってＳ２に移行する。
【００４９】
Ｓ２では、パケット識別・検索・処理部１２３は、パケットが、ＥＴとしてＦＩＰが指定され、且つＦＬＯＧＩ、或いはＦＤＩＳＣを要求するＦＣｏＥパケット３０か否か判定する。ＦＬＯＧＩ、或いはＦＤＩＳＣを要求するＦＣｏＥパケット３０であった場合、Ｓ２の判定はＹｅｓとなってＳ１０に移行する。ＦＬＯＧＩ、或いはＦＤＩＳＣを要求するパケットでなかった場合、Ｓ２の判定はＮｏとなってＳ３に移行する。
【００５０】
Ｓ３では、パケット識別・検索・処理部１２３は、パケットが、ＥＴとしてＦＩＰが指定され、且つＦＬＯＧＩ、或いはＦＤＩＳＣの応答のＦＣｏＥパケット３０か否か判定する。ＦＬＯＧＩ、或いはＦＤＩＳＣの応答のＦＣｏＥパケット３０であった場合、Ｓ３の判定はＹｅｓとなってＳ５に移行する。ＦＬＯＧＩ、或いはＦＤＩＳＣの応答のパケットでなかった場合、Ｓ３の判定はＮｏとなってＳ４に移行する。
【００５１】
Ｓ４では、パケット識別・検索・処理部１２３は、中継処理部１２５に指示して、宛先ＭＡＣアドレスによるパケットの中継を行わせる。それにより、パケットが何れかの送信ポート１６から送信され、一連の処理が終了する。
【００５２】
Ｓ５では、パケット識別・検索・処理部１２３は、中継処理部１２５に指示して、ＦＣｏＥパケット３０をプロトコル処理部１１に出力させ、そのヘッダ内の宛先、及び送信元の各ＭＡＣアドレスを格納したエントリの検索を依頼する。プロトコル処理部１１は、その依頼により、ヘッダ内の宛先、及び送信元の各ＭＡＣアドレスを用いてＦＬＯＧＩテーブル１１の検索を行い、エントリのヒットを表しているか否か判定する（Ｓ６）。ヘッダ内の宛先、及び送信元の各ＭＡＣアドレスを格納したエントリをプロトコル処理部１１が見つけた場合、Ｓ６の判定はＹｅｓとなってＳ７に移行する。ヘッダ内の宛先、及び送信元の各ＭＡＣアドレスを格納したエントリをプロトコル処理部１１が見つけられなかった場合、Ｓ６の判定はＮｏとなってＳ４に移行する。そのＳ４では、上記のように、宛先ＭＡＣアドレスによるパケットの中継のための処理が行われる。
【００５３】
Ｓ７では、プロトコル処理部１１は、応答内容はＡＣＣか否か判定する。オペレーション・コードのサブコードがＡＣＣを表していた場合、Ｓ７の判定はＹｅｓとなってＳ８に移行する。オペレーション・コードのサブコードがＲＪＴを表していた場合、Ｓ７の判定はＮｏとなってＳ９に移行する。
【００５４】
Ｓ９では、プロトコル処理部１１は、検索でヒットしたエントリの削除を行う。その後は、Ｓ４に移行して、中継処理部１２５に、宛先ＭＡＣアドレスによる中継を行わせる。
【００５５】
Ｓ８では、プロトコル処理部は、受信したＦＣｏＥパケット３０を用いて、ＦＣｏＥ中継テーブル１２４２に１エントリを追加するＦＣｏＥ中継テーブル登録処理を実行する。このとき、プロトコル処理部１１とパケット識別・検索・処理部１２３の間では、内部ポートを経由した指示の送受が行われる。ここで、図６を参照し、そのＦＣｏＥ中継テーブル登録処理について詳細に説明する。
【００５６】
先ず、プロトコル処理部１１は、ＦＬＯＧＩ、或いはＦＤＩＳＣの応答のＦＣｏＥパケット３０に、ＦＰＭＡが許可（grant）されているか否か判定する（Ｓ２１）。図４に表すように、受信したＦＣｏＥパケット３０が、ＦＣＦが割り当てたＭＡＣアドレスをＦＩＰフレーム内に格納したＦＣｏＥパケット３０−２であった場合、Ｓ２１の判定はＹｅｓとなってＳ２３に移行する。受信したＦＣｏＥパケット３０が、ＦＣＦが割り当てたＭＡＣアドレスをＦＩＰフレーム内に格納していないＦＣｏＥパケット３０−１であった場合、Ｓ２１の判定はＮｏとなってＳ２２に移行する。
【００５７】
Ｓ２２では、プロトコル処理部１１は、ＦＣｏＥ中継テーブル１２４２に１エントリを追加し、追加したエントリに、図３に表すように各データを格納するようにパケット識別・検索・処理部１２３に指示する。その後、このＦＣｏＥ中継テーブル更新処理が終了する。
【００５８】
Ｓ２３では、プロことる処理部１１は、ＦＣｏＥ中継テーブル１２４２に１エントリを追加し、追加したエントリに、図４に表すように各データを格納するようにパケット識別・検索・処理部１２３に指示する。その後、このＦＣｏＥ中継テーブル更新処理が終了する。
【００５９】
図５の説明に戻る。
上記Ｓ２の判定がＹｅｓとなって移行するＳ１０では、プロトコル処理部１１はＦＬＯＧＩテーブル１１１への登録を行う。その後は上記Ｓ４に移行する。
【００６０】
上記Ｓ１の判定がＹｅｓとなって移行するＳ１１以降では、ショートカットさせた形の転送経路でＦＣｏＥパケット３０を転送可能な場合に、そのＦＣｏＥパケット３０をショットカットさせた形の転送経路で転送させるための処理が行われる。
【００６１】
先ず、パケット識別・検索・処理部１２３は、ヘッダ情報中から宛先ＭＡＣアドレス（ＦＣＦのＭＡＣアドレス）、及び宛先ＦＣＩＤを取り出し、取り出した宛先ＭＡＣアドレス、及び宛先ＦＣＩＤを用いて、ＦＣｏＥ中継テーブル１２４２の検索を行う（Ｓ１１）。次にパケット識別・検索・処理部１２３は、検索を行った結果、該当するエントリが見つかったか否か判定する（Ｓ１２）。宛先ＭＡＣアドレス、及び宛先ＦＣＩＤを格納したエントリが存在しなかった場合、Ｓ１２の判定はＮｏとなり、上記Ｓ４に移行する。宛先ＭＡＣアドレス、及び宛先ＦＣＩＤを格納したエントリが存在している場合、Ｓ１２の判定はＹｅｓとなってＳ１３に移行する。
【００６２】
Ｓ１３では、パケット識別・検索・処理部１２３は、中継処理部１２５を介してパケット更新部１２７に、ＦＣｏＥパケット３０の宛先、及び送信元の各ＭＡＣアドレスを、それぞれヒットしたエントリ中のＥノード、及びＦＣＦの各ＭＡＣアドレスに書き換えさせる。次に、パケット識別・検索・処理部１２３は、ヒットしたエントリ中の統計情報を更新する（Ｓ１４）。この統計情報の更新は、パケット数（フレーム数）をインクリメントし、総バイト数を、それまでの値にＦＣｏＥパケット３０のバイト数を加算した値とすることで行われる。
【００６３】
統計情報を更新したパケット識別・検索・処理部１２３は、中継処理部１２５に指示して、宛先、及び送信元の各ＭＡＣアドレスを書き換えさせたＦＣｏＥパケット３０を、ヒットしたエントリ中のポート番号が表す送信ポート１６から送信させる（Ｓ１５）。そのようにＦＣｏＥパケット３０を送信させた後、一連の処理が終了する。
【００６４】
なお、本実施形態では、ＦＣｏＥネットワークをＦＣネットワークと接続させているが、ＦＣｏＥネットワークはＦＣネットワークと接続させなくとも良い。つまり、図１中のエリア９内に表すＮＰＩＶゲートウェイ装置２及びＦＣスイッチ５の代わりに、ＦＣＦをサポートするＦＣｏＥスイッチ装置を配置しても良い。ＮＰＩＶゲートウェイ装置２及びＦＣスイッチ５の代わりに配置するＦＣｏＥスイッチ装置には、サーバ３、或いはストレージ４を１台以上、接続させても良い。
【００６５】
また、本実施形態では、各ＦＣｏＥスイッチ装置１に、ＦＣｏＥパケット３０をスヌーピングさせ、その結果を用いて、ＦＣｏＥ中継テーブル１２４２にエントリを自律的に追加させる更新を行わせているが、そのような自律的な更新を行わせなくとも良い。例えばＦＣｏＥスイッチ装置１毎に、ＦＣｏＥ中継テーブル１２４２に登録すべきエントリの内容を決定し、決定した内容を、例えば管理者が操作する端末装置から各ＦＣｏＥスイッチ装置１に登録させるようにしても良い。本実施形態において、各ＦＣｏＥスイッチ装置１にＦＣｏＥ中継テーブル１２４２の自律的な更新を行わせているのは、Ｅノードの移動、Ｅノードの追加、Ｅノードの停止、等により、ＦＣｏＥスイッチ装置１を経由して転送されるＥノードが変化するからである。つまり自身を経由して転送されるＥノードの変化に、各ＦＣｏＥスイッチ装置１を自律的に対応させるためである。
【００６６】
また、本実施形態では、全てのＦＣｏＥスイッチ装置１は、本来の転送経路をショートカットさせることを可能にする機能（以降「ショートカット機能」）を搭載しているが、全てのＦＣｏＥスイッチ１にショートカット機能を搭載させなくとも良い。つまり、ネットワークシステムは、ＮＰＩＶゲートウェイ装置２、或いは他のＦＣｏＥスイッチ装置１とカスケード接続された形となっているＦＣｏＥスイッチ装置１を１台以上、備えたものであっても良い。カスケード接続された形のＦＣｏＥスイッチ装置１のなかの１台のみにショートカット機能を搭載させても、ボトルネックとなるリンクの発生を抑えることができる。
【符号の説明】
【００６７】
１、１−１〜１−６    ＦＣｏＥスイッチ装置
２    ＮＰＩＶゲートウェイ装置
３    サーバ
４    ストレージ
５    ＦＣスイッチ装置
１１    プロトコル処理部
１２    スイッチＬＳＩ
１３、１４    内部ポート
１５、１５−１〜１５−ｎ    受信ポート
１６、１６−１〜１６−ｎ    送信ポート
１２３    パケット識別・検索・処理部
１２４、１２６    メモリ
１２５    中継処理部
１２７    パケット更新部
【図１】
2014187447.tif 000003
【図２】
2014187447.tif 000004
【図５】
2014187447.tif 000005
【図６】
2014187447.tif 000006
【図３】
2014187447.tif 000007
【図４】
2014187447.tif 000008