(57)【要約】【課題】通信レイテンシを低減すること。【解決手段】FCoEを用いて複数の外部装置と接続し、ファイバチャネルスイッチとN_Port ID Virtualizationを用いて接続するイーサネットスイッチであって、前記複数の外部装置の内の第１の外部装置から第２の外部装置宛のパケットを受信した場合、前記複数の外部装置のうちFCoEにおけるコネクションが確立されている外部装置が記載された宛先情報を参照し、前記第２の外部装置が前記宛先情報に記載されているかチェックし、前記第２の外部装置が前記宛先情報に記載されている場合、前記パケットを前記第２の外部装置に送信する。【選択図】図４
2014053674.tif 000002
【特許請求の範囲】
【請求項１】
Fibre Channel over Ethernetを用いて複数の外部装置と接続し、ファイバチャネルスイッチとN_Port ID Virtualizationを用いて接続するイーサネットスイッチにおいて、
前記イーサネットスイッチは、
前記複数の外部装置のうちFCoEにおけるコネクションが確立されている外部装置が記載された宛先情報を格納する記憶部と、
処理部と、
を備え、
前記処理部は、
前記複数の外部装置の内の第１の外部装置から第２の外部装置宛のパケットを受信した場合、前記第２の外部装置が前記宛先情報に記載されているかチェックし、
前記第２の外部装置が前記宛先情報に記載されている場合、前記パケットを前記第２の外部装置に送信する
ことを特徴とするイーサネットスイッチ。
【請求項２】
前記処理部は、前記パケットを前記第２の外部装置に送信する場合に、前記パケットの宛先Media Access Control(MAC)アドレスを前記第２の外部装置のMACアドレスに変更し、前記パケットの送信元MACアドレスを前記ファイバチャネルスイッチのMACアドレスに変更することを特徴とする請求項１記載のイーサネットスイッチ。
【請求項３】
前記処理部は、前記複数の外部装置のFCoEにおけるコネクションを確立するプロトコルを監視し、前記コネクションが確立にされたときに、前記コネクションが確立された外部装置を前記宛先情報に記載することを特徴とする請求項１または２記載のイーサネットスイッチ。
【請求項４】
前記処理部は、
前記第１の外部装置と前記第２の外部装置間のポートログインの処理時に、
前記第１の外部装置と前記第２の外部装置をセキュリティ情報に記載し、
前記セキュリティ情報に基づいて、前記パケットの前記第２の外部装置への送信の可否を判定することを特徴とする請求項１乃至３のいずれか１項に記載のイーサネットスイッチ。
【請求項５】
前記ファイバチャネルスイッチは、外部装置の組に対する通信の許可または不許可が記載されたゾーンデータベースを有し、
前記処理部は、
前記第１の外部装置と前記第２の外部装置間のポートログインの処理時に、
前記ファイバチャネルスイッチの前記ゾーンデータベースから前記第１の外部装置と前記第２の外部装置の組の情報を取得し、
取得した情報に基づいて、前記第１の外部装置と前記第２の外部装置間の通信が許可されているか否か判定し、
前記第１の外部装置と前記第２の外部装置間の通信が許可されている場合、前記第１の外部装置と前記第２の外部装置の組をセキュリティ情報に記載し、
前記セキュリティ情報に基づいて、前記パケットの前記第２の外部装置への送信の可否を判定することを特徴とする請求項１乃至３のいずれか１項に記載のイーサネットスイッチ。
【請求項６】
Fibre Channel over Ethernet（FCoE）を用いて複数の外部装置と接続し、ファイバチャネルスイッチとN_Port ID Virtualizationを用いて接続するイーサネットスイッチが実行する通信方法であって、
前記複数の外部装置の内の第１の外部装置から第２の外部装置宛のパケットを受信した場合、前記複数の外部装置のうちFCoEにおけるコネクションが確立されている外部装置が記載された宛先情報を参照し、
前記第２の外部装置が前記宛先情報に記載されているかチェックし、
前記第２の外部装置が前記宛先情報に記載されている場合、前記パケットを前記第２の外部装置に送信する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イーサネットスイッチおよび通信方法に関する。
【背景技術】
【０００２】
従来、サーバ間通信と比較してストレージ通信は高い通信性能が要求されるため、それぞれ別個のネットワークが配備されてきた。ここで、サーバ間通信ネットワークはLocal Area Network (LAN)、ストレージ通信ネットワークはStorage Area Network (SAN)と呼ばれる。
【０００３】
しかし近年、イーサネットの高速化により、サーバ間通信とストレージ通信とを統合する、統合ネットワークを実現することが可能になってきた。SANの標準規格であるFibre Channel (FC)のパケットをイーサネットで扱う技術として、Fibre Channel over Ethernet (FCoE)がある。
【０００４】
FCoEを用いるシステムから、適切なゲートウェイ装置を介することにより、従来のFC装置にアクセスすることが可能である。これは、既存の資産を活用しながら、新しく統合ネットワークのシステムを構築する目的で用いられる形態である。
【０００５】
図１Ａは、従来のシステムの構成図を示す図である。
システム１１は、イーサネットスイッチ１２、FCスイッチ１３、サーバ１４−ｉ（ｉ＝１〜４）、およびストレージ１５−ｉを備える。
【０００６】
イーサネットスイッチ１２は、パケットのルーティングや変換等の処理を行う。
イーサネットスイッチ１２は、N_Port ID Virtualization（NPIV）を用いたゲートウェイを有し、NPIVを用いて、ＦＣスイッチ１３と接続する。
【０００７】
NPIVとは、N_PortのIDを仮想化し、一つの物理ポート（N_Port）が複数のポート名やファブリックアドレス（N_Port ID）を持てるようにする技術である。
イーサネットスイッチ１２には、複数の装置（サーバ１４−１、１４−２、ストレージ１５−１、１５−２）が接続され、イーサネットスイッチ１２は、NPIVを用いて、FCスイッチ１３に複数の装置を１つの装置であるかのように見せる。
【０００８】
イーサネットスイッチ１２は、FCスイッチ１３、サーバ１４−１、１４−２、およびストレージ１５−１、１５−２とLAN等のネットワークを介して接続する。
イーサネットスイッチ１２のＦＣスイッチ１３の接続するポートは、FCoEとFCとを変換する機能を有する。該機能は、FCスイッチ１３に対して固有のMACアドレスを与え、このポートから外に送信されるFCoEパケットからはFCoEのカプセルを取り除き、FCパケットを送出する。また、該機能は、このポートから受信されるFCパケットに対してFCoEパケットへのカプセル化を行う。
【０００９】
FCスイッチ１３は、イーサネットスイッチ１２、サーバ１４−３、１４−４、およびストレージ１５−３、１５−４と接続する。
FCスイッチ１３、サーバ１４−３、１４−４、およびストレージ１５−３、１５−４により、FC-SANが構成されている。
【００１０】
図１Ａのシステム１１では、FCoEネットワークとSANが接続する構成となっている。
また、SAN同士が接続するシステムもある。
図１Ｂは、従来の他のシステムの構成図を示す図である。
【００１１】
システム２１は、FCスイッチ２２、FCスイッチ２３、サーバ２４−ｉ（ｉ＝１〜４）、およびストレージ２５−ｉを備える。
FCスイッチ２２は、パケットのルーティングや変換等の処理を行う。
【００１２】
FCスイッチ２２は、NPIVを用いたゲートウェイを有し、NPIVを用いて、ＦＣスイッチ２３と接続する。
FCスイッチ２２には、複数の装置（サーバ２４−１、２４−２、ストレージ２５−１、２５−２）が接続され、FCスイッチ２２は、NPIVを用いて、FCスイッチ２３に複数の装置を１つの装置であるかのように見せる。
【００１３】
FCスイッチ２２は、FCスイッチ２３、サーバ２４−１、２４−２、およびストレージ２５−１、２５−２と接続する。
FCスイッチ２３は、FCスイッチ２２、サーバ２４−３、２４−４、およびストレージ２５−３、２５−４と接続する。
FCスイッチ２３、サーバ２４−３、２４−４、およびストレージ２５−３、２５−４により、FC-SANが構成されている。
【００１４】
図１Ａのシステムにおいて、FCoE装置間でパケットを送信した場合のパケットの経路について示す。
図２は、従来のFCoE装置間の通信を示す図である。
図２では、サーバ１４−１とストレージ１５−２間の通信を示す。
サーバ１４−１からストレージ１５−２へパケットを送信する場合、パケットは、サーバ１４−１からイーサネットスイッチ１２に送信され、イーサネットスイッチ１２からFCスイッチ１３に転送され、FCスイッチ１３からイーサネットスイッチ１２に転送され、イーサネットスイッチ１２からストレージ１５−２に送信される。
【００１５】
このように、イーサネットスイッチ１２と接続しているNPIV配下の送置間の通信では、FCスイッチ１３を経由してパケットは送信される。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０１１−７６５８２号公報
【特許文献２】特開２００８−２５８９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
従来のシステムでは、NPIV配下の装置間の通信であっても、パケットは外部スイッチを経由するため、経路が長くなり、通信レイテンシが大きくなるという問題がある。また、外部スイッチを経由することで、スイッチ間が通信のボトルネックとなる。
【００１８】
本発明の課題は、通信レイテンシを低減し、スイッチ間のボトルネックを解消することである。
【課題を解決するための手段】
【００１９】
実施の形態のイーサネットスイッチは、Fibre Channel over Ethernetを用いて複数の外部装置と接続し、ファイバチャネルスイッチとN_Port ID Virtualizationを用いて接続する。
【００２０】
前記イーサネットスイッチは、記憶部および処理部を備える。
前記記憶部は、前記複数の外部装置のうちFCoEにおけるコネクションが確立されている外部装置が記載された宛先情報を格納する。
【００２１】
前記処理部は、前記複数の外部装置の内の第１の外部装置から第２の外部装置宛のパケットを受信した場合、前記第２の外部装置が前記宛先情報に記載されているかチェックし、前記第２の外部装置が前記宛先情報に記載されている場合、前記パケットを前記第２の外部装置に送信する。
【発明の効果】
【００２２】
実施の形態のイーサネットスイッチによれば、通信レイテンシを低減することができる。
【図面の簡単な説明】
【００２３】
【図１Ａ】従来のシステムの構成図を示す図である。
【図１Ｂ】従来の他のシステムの構成図を示す図である。
【図２】従来のFCoE装置間の通信を示す図である。
【図３】第１の実施の形態に係るシステムの構成図である。
【図４】第１の実施の形態に係るイーサネットスイッチの構成図である。
【図５】FLOGI処理DBの例を示す図である。
【図６】FCoE宛先DBの例を示す図である。
【図７】FCoEセキュリティDBの例を示す図である。
【図８】第１の実施の形態に係るイーサネットスイッチのパケット処理のフローチャートである。
【図９】第１の実施の形態に係るFabricポート受信処理の詳細なフローチャートである。
【図１０】第１の実施の形態に係る変更前と変更後のパケットを示す図である。
【図１１】第１の実施の形態に係るFCoE装置間の通信を示す図である。
【図１２】第１の実施の形態に係るProxyポート受信処理の詳細なフローチャートである。
【図１３】第１の実施の形態に係る第１のセキュリティチェック処理のフローチャートである。
【図１４】第１の実施の形態に係る第２のセキュリティチェック処理のフローチャートである。
【図１５】第２の実施の形態に係るシステムの構成図である。
【図１６】第２の実施の形態に係るＦＣスイッチの構成図である。
【図１７】FLOGI処理DBの例を示す図である。
【図１８】転送DBの例を示す図である。
【図１９】第２の実施の形態に係るＦＣスイッチのパケット処理のフローチャートである。
【図２０】第２の実施の形態に係るFabricポート受信処理の詳細なフローチャートである。
【図２１】第２の実施の形態に係るFC装置間の通信を示す図である。
【図２２】第２の実施の形態に係るProxyポート受信処理の詳細なフローチャートである。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら実施の形態について説明する。
（第１の実施の形態）
図３は、第１の実施の形態に係るシステムの構成図である。
【００２５】
システム１０１は、イーサネットスイッチ２０１、FCスイッチ３０１、サーバ４０１−ｉ（ｉ＝１〜４）、およびストレージ５０１−ｉを備える。
イーサネットスイッチ２０１は、パケットのルーティングや変換等の処理を行う。
【００２６】
イーサネットスイッチ２０１は、N_Port ID Virtualization（NPIV）を用いたゲートウェイを有し、NPIVを用いて、ＦＣスイッチ３０１と接続する。
NPIVとは、N_PortのIDを仮想化し、一つの物理ポート（N_Port）が複数のポート名やファブリックアドレス（N_Port ID）を持てるようにする技術である。
【００２７】
イーサネットスイッチ２０１は、NPIVを用いて、FCスイッチ３０１に複数の装置を１つの装置であるかのように見せる。
イーサネットスイッチ２０１は、FCスイッチ３０１、サーバ４０１−１、４０１−２、およびストレージ５０１−１、５０１−２と接続する。
【００２８】
イーサネットスイッチ２０１のＦＣスイッチ３０１の接続するポートは、FCoEとFCとを変換する機能を有する。該機能は、FCスイッチ３０１に対して固有のMACアドレスを与え、このポートから外に送信されるFCoEパケットからはFCoEのカプセルを取り除き、FCパケットを送出する。また、該機能は、このポートから受信されるFCパケットに対してFCoEパケットへのカプセル化を行う。そのとき、送信MACアドレスとしてFCスイッチ３０１に与えられたMACアドレスが使用される。
【００２９】
イーサネットスイッチ２０１は、サーバ４０１−１、４０１−２、およびストレージ５０１−１、５０１−２とLAN等のネットワークを介して接続する。
FCスイッチ３０１は、イーサネットスイッチ２０１、サーバ４０１−３、４０１−４、およびストレージ５０１−３、５０１−４と接続する。
【００３０】
FCスイッチ３０１は、イーサネットスイッチ２０１、サーバ４０１−３、４０１−４、およびストレージ５０１−３、５０１−４と光ファイバケープルを介して接続し、FCを用いて、イーサネットスイッチ２０１、サーバ４０１−３、４０１−４、およびストレージ５０１−３、５０１−４と通信を行う。
FCスイッチ３０１、サーバ４０１−３、４０１−４、およびストレージ５０１−３、５０１−４により、FC-SANが構成されている。
【００３１】
サーバ４０１は、各種処理を行う情報処理装置である。
サーバ４０１−１、４０１−２は、FCoEを用いてイーサネットスイッチ２０１と通信を行う。サーバ４０１−１、４０１−２は、FCスイッチ２０１との接続に用いられるポートを有し、各ポートは固有のMACアドレスを有する。また、各ポートには、ユニークなファイバチャネルIDが割り当てられる。
【００３２】
サーバ４０１−３、４０１−４は、FCインタフェースを有し、FCを用いてFCスイッチ３０１と通信を行う。
ストレージ５０１は、データを格納する装置である。ストレージ５０１は、例えば、複数のハードディスクドライブを有するディスクアレイ装置である。
【００３３】
ストレージ５０１−１、５０１−２は、FCoEを用いてイーサネットスイッチ２０１と通信を行う。ストレージ５０１−１、５０１−２は、イーサネットスイッチ２０１との接続に用いられるポートを有し、各ポートは固有のMACアドレスを有する。また、各ポートには、ユニークなファイバチャネルIDが割り当てられる。
【００３４】
ストレージ５０１−３、５０１−４は、FCインタフェースを有し、FCを用いてFCスイッチ３０１と通信を行う。
サーバ４０１−１、４０１−２およびストレージ５０１−１、５０１−２は、FCoEとFCとを相互に変換する機能を有し、FCパケットをFCoEパケットに変換してイーサネットスイッチ２０１に送信する。サーバ４０１−１、４０１−２およびストレージ５０１−１、５０１−２は、FCoE装置の一例である。
【００３５】
図４は、第１の実施の形態に係るイーサネットスイッチの構成図である。
イーサネットスイッチ２０１は、受信ポート２１１−ｊ（ｊ＝１〜ｎ：ｎは整数）、送信ポート２１２−ｊ、プロトコル処理部２１５、およびスイッチ処理部２２１を備える。
【００３６】
受信ポート２１１は、FCスイッチ３０１、サーバ４０１−１、４０１−２、またはストレージ５０１−１、５０１−２と接続し、パケットを受信するポートである。
送信ポート２１２は、FCスイッチ３０１、サーバ４０１−１、４０１−２、またはストレージ５０１−１、５０１−２と接続し、パケットを送信するポートである。
【００３７】
また、受信ポート２１１−ｊと送信ポート２１２−ｊにより１組のポートを構成しており、受信ポート２１１−ｊと送信ポート２１２−ｊには同じポート番号が割り当てられる。
【００３８】
本実施の形態において、受信ポート２１１および送信ポート２１２のうち、ＦＣスイッチ３０１に接続するポートは、Proxyポートと呼ぶ。
また、受信ポート２１１および送信ポート２１２のうち、サーバ４０１−１、４０１−２またはストレージ５０１−１、５０１−２に接続するポートは、Fabricポートと呼ぶ。
【００３９】
プロトコル処理部２１５は、コネクションの確立やプロトコルの監視、およびスイッチ処理部２２１への指示などの処理を行う。
プロトコル処理部２１５は、FLOGI処理データベース（DB）２１６を有する。
【００４０】
プロトコル処理部２１５は、例えば、スイッチ２０１内のメモリ（不図示）に格納されたソフトウェアをCentral Processing Unit（ＣＰＵ）（不図示）が読み出して実行することにより実現される。また、プロトコル処理部２１５は、例えば、ハードウェア回路やプロセッサ等により実現してもよい。
【００４１】
FLOGI処理DB２１６は、スイッチ２０１で実行されたFCoEにおけるコネクション確立のプロトコル（FCoE Initialization Protocol:FIP）の一つであるFLOGIの処理の記録である。
【００４２】
図５は、FLOGI処理DBの例を示す図である。
FLOGI処理 DB２１６は、項目として、受信ポート、送信ポート、変換前パケットヘッダ情報、変換後パケットヘッダ情報を有する。FLOGI処理 DB２１６には、受信ポート、送信ポート、変換前パケットヘッダ情報、変換後パケットヘッダ情報が対応付けられて記載されている。
【００４３】
受信ポートは、パケットを受信したポートを示す識別子である。受信ポートには、例えば、パケットを受信した受信ポート２１１のポート番号が記述される。
送信ポートは、パケットを送信したポートを示す識別子である。送信ポートには、例えば、パケットを送信した送信ポート２１２のポート番号が記述される。
【００４４】
変換前パケットヘッダ情報は、変換前（FLOGI）のパケットのヘッダの情報である。変換前パケットヘッダ情報は、送信元MACアドレス、FCエクスチェンジIDを含む。
送信元MACアドレスは、FLOGIのパケットを送信したポートのMACアドレスである。
【００４５】
FCエクスチェンジIDは、一連の関連するパケットごとに割り当てられた識別情報である。例えば、FLOGIとそれに対する応答であるFLOGI ACCEPT(ACC)は、同一のFCエクスチェンジIDを有する。
【００４６】
変換後パケットヘッダ情報は、変換後（FDISC）のパケットのヘッダの情報である。変換後パケットヘッダ情報は、FCエクスチェンジIDを含む。
スイッチ処理部２２１は、マルチプレクサ２２２、パケットバッファ２２３、パケット更新部２２４、パケット処理部２２５、中継処理部２２６、デマルチプレクサ２２７、および記憶部２２８を備える。
【００４７】
スイッチ処理部２２１は、例えば、ハードウェア回路やプロセッサ等により実現される。
マルチプレクサ２２２は、プロトコル処理部２１５および受信ポート２１１から入力されたパケットをパケットバッファ２２３に出力する。また、マルチプレクサ２２２から出力されたパケットから、ヘッダ情報抽出部（不図示）によりヘッダ情報が抽出され、パケット処理部２２５に入力される。
【００４８】
パケットバッファ２２３は、受信したパケットを一時的に格納するバッファである。  パケットバッファ２２３は、格納しているパケットをパケット更新部２２４に出力する。
パケット更新部２２４は、パケットのヘッダを中継処理部２２６からの指示に基づいて変更する。
【００４９】
パケット処理部２２５は、ヘッダ情報、プロトコルデータベース（DB）２３１、FCoE宛先DB ２３２、およびFCoEセキュリティDB２３３に基づいて、パケットの処理を決定する。また、パケット処理部２２５は、プロトコルDB２３１、FCoE２３２、およびFCoEセキュリティDB２３３に対する書き込みおよび読み出しを行う。また、パケット処理部２２５は、パケットの宛先やヘッダの変更を示す制御信号を中継処理部２２６に出力する。
【００５０】
中継処理部２２６は、パケット処理部２２５からの出力または転送DB２３４に基づいて、デマルチプレクサ２２７にパケットの出力先を示す制御信号を出力する。また、中継処理部２２６は、パケット処理部２２５からの制御信号に基づいて、パケット更新部２２４にパケットのヘッダの変更を指示する。
【００５１】
デマルチプレクサ２２７は、中継処理部２２６からの制御信号に基づいて、パケットを送信ポート２１２およびプロトコル処理部２１５のいずれかに出力する。
記憶部２２８は、データを格納する装置である。記憶部２２８は、例えば、RAM(Random Access Memory)である。記憶部２２８は、プロトコルDB２３１、FCoE宛先DB２３２、FCoEセキュリティDB２３３、および転送DB２３４を格納する。
【００５２】
プロトコルDB２３１には、パケットの種類を識別するための情報が記載されている。パケット処理部２２５は、入力されたヘッダ情報とプロトコルDB２３１を比較することで、パケットの種類を判別することができる。
【００５３】
FCoE宛先DB２３２は、イーサネットスイッチ２０１と接続しているFCoE装置の情報および該FCoE装置が接続している送信ポート２１２を示す情報である。
【００５４】
図６は、FCoE宛先DBの例を示す図である。
FCoE宛先DB２３２は、項目として、FC ID、MACアドレス、およびポート番号を有する。FCoE宛先DB２３２には、FC ID、MACアドレス、およびポート番号が対応付けられて記述されている。
【００５５】
FC IDは、イーサネットスイッチ２０１が接続している装置のポートごとに割り当てられる識別子である。
MACアドレスは、FCoE装置のポートが有するMACアドレスである。
ポート番号は、送信ポート２１２を示すポート番号である。
【００５６】
FCoE宛先DBを参照することにより、イーサネットスイッチ２０１のあるポートがどの装置（サーバまたはストレージ）のポートと接続しているか判断できる。
FCoEセキュリティDB２３３は、コネクションが確立されているポートの組を示す情報である。
【００５７】
図７は、FCoEセキュリティDBの例を示す図である。
FCoEセキュリティDB２３３には、コネクションが確立されているポートの組の各ポートのFC IDが対応付けられて記述されている。
転送DB２３４は、パケットの出力するポートを示す情報である。転送DB２３４には、宛先MACアドレスとポート番号が対応付けられて記述されている。
【００５８】
図８は、第１の実施の形態に係るイーサネットスイッチのパケット処理のフローチャートである。
ステップＳ６０１において、プロトコル処理部２１５はスイッチ処理部２２１を介して、FCスイッチ３０１にファブリック・ログイン（FLOGI）を行う。NPIVでは、FLOGIによって確立した接続に対して、ファブリック・ディスカバリ（FDISC）コマンドを発行することにより後続するログイン処理を行い、一つのリンクの上に複数の接続を確立する。ステップＳ６０１のFLOGI処理は、後続するログイン処理のベースとなるものである。
【００５９】
ステップＳ６０２において、スイッチ処理部２２１はパケットを受信するまで待機し、パケットを受信した場合、制御はステップＳ６０３に進む。
ステップＳ６０３において、プロトコル処理部２１５およびスイッチ処理部２２１は、受信したパケットがProxyポートで受信したパケットであるか判定する。受信したパケットがProxyポートで受信したパケットである場合（すなわち、FCスイッチ３０１から受信した場合）、制御はステップＳ６０５に進み、受信したパケットがProxyポートで受信したパケットでない場合（すなわち、サーバ４０１−１、４０１−２またはストレージ５０１−１、５０１−２から受信した場合）、制御はステップＳ６０４に進む。尚、イーサネットスイッチ２０１は、受信ポート２１１および送信ポート２１２の各ポートがProxyポートかFabricポートであるかを示す情報を有しており、プロトコル処理部２１５およびスイッチ処理部２２１は、該情報に基づいて、パケットを受信した受信ポート２１１がProxyポートかFabricポートであるか判断できる。
【００６０】
ステップＳ６０４において、イーサネットスイッチ２０１は、Fabricポート受信処理を行う。尚、Fabricポート受信処理の詳細については後述する。
ステップＳ６０５において、イーサネットスイッチ２０１は、Proxyポート受信処理を行う。尚、Proxyポート受信処理の詳細については後述する。
【００６１】
図９は、第１の実施の形態に係るFabricポート受信処理の詳細なフローチャートである。
図９は、図８のステップＳ６０４に対応する。
【００６２】
ステップＳ６１１において、スイッチ処理部２２１は、受信したパケットがFLOGIのパケット（FLOGIパケット）であるか否か判定する。パケットがFLOGIパケットである場合、制御はステップＳ６１２に進み、パケットがFLOGIパケットでない場合、制御はステップＳ６１５に進む。
【００６３】
ステップＳ６１２において、プロトコル処理部２１５は、FLOGIパケットをFDISCのパケットに変換する。
ステップＳ６１３において、プロトコル処理部２１５は、スイッチ処理部２２１を介して、FCスイッチ３０１と接続する送信ポート２１２（Proxyポート）からFDISCパケットを出力する。
【００６４】
ステップＳ６１４において、プロトコル処理部２１５は、FLOGIパケットを受信した受信ポート２１１のポート番号をFLOGI処理 DB２１６の受信ポートに、FDISCパケットを送信した送信ポート２１２のポート番号をFLOGI処理 DB２１６の送信ポートに、FLOGIパケットのヘッダ情報（送信元MACアドレスおよびFCエクスチェンジID）をFLOGI処理 DB２１６の変換前のパケットのヘッダ情報に、FDISCパケットのヘッダ情報（FCエクスチェンジID）をFLOGI処理 DB２１６の変換後のパケットヘッダ情報にそれぞれ記録する。
【００６５】
上述のステップＳ６１１〜Ｓ６１４の処理で述べたように、イーサネットスイッチ２０１は、イーサネットスイッチ２０１と接続するFCoE装置（サーバ４０１−１、４０１−２、またはストレージ５０１−１、５０１−２）からコネクション確立のためのFLOGIパケットを受信した場合、FDISCパケットに変換し、FCスイッチ３０１に送信している。そして、このときにイーサネットスイッチ２０１は、FLOGIを行ったFCoE装置の情報をFLOGI処理 DB２１６に記録する。
【００６６】
ステップＳ６１５において、パケット処理部２２５は、受信したパケットの宛先ID（Destination ID:D_ID）を検索キーとして、FCoE宛先DB２３２を検索する。
ステップＳ６１６において、パケット処理部２２５は、受信したパケットの宛先IDのポートと接続するFabricポートがあるか判定する。詳細には、パケット処理部２２５は、ステップＳ６１５の検索において、受信したパケットのD_IDと一致するFC IDを有するレコードが検出された場合、受信したパケットの宛先IDのポートと接続するFabricポートがあると判定する。受信したパケットの宛先IDのポートと接続するFabricポートがある場合、制御はステップＳ６１７に進み、受信したパケットの宛先IDのポートと接続するFabricポートがない場合、制御はステップＳ６１９に進む。
【００６７】
ステップＳ６１７において、パケット処理部２２５は、パケット更新部２２４に受信したパケットのヘッダの変更を指示する。パケット更新部２２４は、指示に基づいてパケットのヘッダを変更する。
【００６８】
ここで、パケットのヘッダの変更について詳細に説明する。
図１０は、第１の実施の形態に係る変更前と変更後のパケットを示す図である。
パケット１５０は、MACヘッダ、FCoEヘッダ、FCペイロード、Padding、およびCRCを含む。
【００６９】
MACヘッダは、宛先MACアドレス、送信元MACアドレス、VLAN、およびEther Typeを含む。
宛先MACアドレスは、パケットが次に送信される送信先の装置のポートのMACアドレスである。
【００７０】
送信元MACアドレスは、パケットを送信した直前の装置のポートのMACアドレスである。
VLANは、FCoEパケットのオプションである。
Ether Typeは、パケットの種類を示す。
【００７１】
FCペイロードは、宛先ＩＤ（D_ID）および送信元ＩＤ（S_ID）を含む。
宛先ＩＤは、パケットの宛先のポートのFC IDである。
送信元ＩＤは、パケットの送信元のポートのFC IDである。
【００７２】
第１の実施の形態において、変更前のパケット１５０−１（すなわち、スイッチ２０１が受信したパケット）の宛先MACアドレスには、FCスイッチ３０１のMACアドレスが記述され、送信元MACアドレスには、送信元エンドノード（サーバ４０１−１、４０１−２、ストレージ５０１−１、５０１−２のいずれか）のMACアドレスが記述される。
【００７３】
パケット更新部２２４は、パケット１５０−１の宛先MACアドレスを送信元MACアドレスに記述する。また、パケット更新部２２４は、パケット１５０−１の宛先ＩＤに対応するポートのMACアドレスをパケット１５０−１の宛先MACアドレスに記述する。尚、パケット更新部２２４は、ヘッダの変更に応じてCRCについても変更する。
【００７４】
上記処理により、第１の実施の形態において、変更後のパケット１５０−２（すなわち、スイッチ２０１が出力するパケット）の宛先MACアドレスには、宛先エンドノードのMACアドレスが記述され、送信元MACアドレスには、ＦＣスイッチ３０１のMACアドレスが記述される。
【００７５】
以下、図９の説明に戻る。
ステップＳ６１８において、中継処理部２２６は、宛先IDのポートと接続するFabricポートからヘッダが変更されたパケットを送信する。詳細には、中継処理部２２６は、ステップＳ６１５で検出されたレコードに含まれるポート番号で示される送信ポート２１２からヘッダが変更されたパケットを送信する。
【００７６】
ステップＳ６１９において、中継処理部２２６は、送信ポート２１２の内のProxyポートからパケットを送信する。
ここで、FCoE装置間でパケットを送信した場合のパケットのヘッダやパケットの経路について具体例を示す。
【００７７】
図１１は、FCoE装置間の通信を示す図である。
図１１は、サーバ４０１−１からストレージ５０１−２にパケットを送信する場合について示す。
【００７８】
ここで、サーバ４０１−１のMACアドレスはMAC_Aとする。ストレージ５０１−２のMACアドレスはMAC_B、FC IDはID_Bとする。FCスイッチ３０１のMACアドレスはMAC_Xとする。
サーバ４０１−１から出力されたパケット１６０−１の宛先MACアドレスはMAC_X、送信元MACアドレスはMAC_Aである。また、パケット１６０−１の宛先ＩＤはID_Bである。
【００７９】
イーサネットスイッチ２０１に入力されたパケット１６０−１に対して、ステップＳ６１７で述べたヘッダの変更が行われ、ヘッダが変更されたパケット１６０−２は、ストレージ５０１−２に出力される
ヘッダが変更されたパケット１６０−２の宛先MACアドレスはMAC_B、送信元MACアドレスはMAC_Xとなっている。また、パケット１６０−２の宛先ＩＤは、変更されずにID_Bのままとなっている。
【００８０】
図１２は、第１の実施の形態に係るProxyポート受信処理の詳細なフローチャートである。
図１２は、図８のステップＳ６０５に対応する。
【００８１】
ステップＳ６２１において、スイッチ処理部２２１は、受信したパケットがイーサネットスイッチ２０１宛のFDISC ACCまたはFDISC REJECT(RJT)であるか判定する。受信したパケットがイーサネットスイッチ２０１宛のFDISC ACCまたはFDISC RJTである場合、制御はステップＳ６２２に進み、受信したパケットがイーサネットスイッチ２０１宛のFDISC ACCおよびFDISC RJTでない場合、制御はステップＳ６３０に進む。
【００８２】
ステップＳ６２２において、プロトコル処理部２１５は、パケットのFCエクスチェンジIDを検索キーとして、FLOGI処理 DB２１６を検索する。詳細には、プロトコル処理部２１５は、パケットのFCエクスチェンジIDがFLOGI処理 DB２１６の変換後のパケットヘッダ情報に記載のFCエクスチェンジIDと一致するかチェックする。すなわち、受信したパケットが自分宛のFDISC ACC (FDISCのACCEPT)またはFDISC RJT （REJECT）の場合、そのパケットはFLOGIをFDISCに変換して送信したパケットに対する応答であるため、対応するFLOGI処理の記録があるかチェックしている。
【００８３】
ステップＳ６２３において、プロトコル処理部２１５は、対応するFLOGI処理の記録が検出された場合（すなわち、パケットのFCエクスチェンジIDと一致するFCエクスチェンジIDが記述されたレコードが見つかった場合）、制御はステップＳ６２４に進み、検出されなかった場合、制御はステップＳ６２９に進む。
【００８４】
ステップＳ６２４において、プロトコル処理部２１５は、パケットがFIDSC ACCかFDISC RJTかチェックする。パケットがFIDSC ACCである場合、制御はステップＳ６２５に進み、パケットがFIDSC RJTである場合、制御はステップＳ６２７に進む。
【００８５】
ステップＳ６２５において、プロトコル処理部２１５は、FIDSC ACCをFLOGI ACCに変換し、FLOGIの送信元のポートと接続するFabricポートからFLOGI ACCを出力する。尚、FLOGIの送信元のポートと接続するFabricポートは、ステップＳ６２２の検索においてFLOGI処理 DB２１６から検出されたレコードの受信ポートに記載されたポート番号に対応する送信ポート２１２である。
【００８６】
ステップＳ６２６において、プロトコル処理部２１５は、FLOGIの送信元のアドレス（MACアドレスおよびFC ID）と送信元と接続するポートの情報（ポート番号）の記録をパケット処理部２２５に指示する。パケット処理部２２５は、FLOGIの送信元のアドレス（FC ID）と送信元と接続するポートの情報（ポート番号）をFCoE宛先DB２３２に記録する。
【００８７】
ステップＳ６２７において、プロトコル処理部２１５は、FDISC RJTをFLOGI RJTに変換し、FLOGIの送信元のポートと接続するFabricポートからFLOGI RJTを出力する。
ステップＳ６２８において、プロトコル処理部２１５は、FLOGI処理 DB２１６からFDISC ACCまたはFDISC RJTに対応するレコード（すなわち、ステップＳ６２２で検出されたレコード）を削除する。
【００８８】
ステップＳ６２９において、プロトコル処理部２１５は、エラー処理を行う。
ステップＳ６３０において、スイッチ処理部２２１は、パケットを宛先IDのポートと
接続するFabricポートから出力する。
【００８９】
次に、第１の実施の形態において、セキュリティを高める方法について説明する。
FCoEやFCにおけるポートログイン（PLOGI）コマンドは、サーバとストレージ間などで、ポートのログインを行うものである。PLOGIの完了後、ポート間でのデータ転送が可能となる。以下で説明する処理は、PLOGIを監視し、PLOGIが成立したポート間でのみショートカットの中継を可能とし、それ以外のパケットを破棄することにより、セキュリティを高めるものである。
【００９０】
図１３は、第１の実施の形態に係る第１のセキュリティチェック処理のフローチャートである。
図１３のステップＳ６３１〜Ｓ６３４の第１のセキュリティチェック処理は、図９のFabricポート受信処理のステップＳ６１６とステップＳ６１７の間で実行される。
【００９１】
ステップＳ６３１において、スイッチ処理部２２１は、パケットがPLOGI ACCであるか判定する。パケットがPLOGI ACCである場合、制御はステップＳ６３２に進み、パケットがPLOGI ACCでない場合、制御はステップＳ６３３に進む。
【００９２】
ステップＳ６３２において、プロトコル処理部２１５は、PLOGIを行ったポートのFC IDのペアの情報（すなわち、２つのポートのFC ID）の記録をパケット処理部２２５に指示する。パケット処理部２２５は、PLOGIを行ったポートのFC IDのペアの情報をFCoEセキュリティDB２３３に記録する。これにより、FCoEセキュリティDB２３３には、通信が可能となった（コネクションが確立された）ポートのペアの情報が記載される。
【００９３】
ステップＳ６３３において、パケット処理部２２５は、パケットがPLOGI RJTであるか判定する。パケットがPLOGI RJTである場合、制御はステップＳ６１７に進み、パケットがPLOGI RJTでない場合、制御はステップＳ６３４に進む。
【００９４】
ステップＳ６３４において、パケット処理部２２５は、パケットの宛先ＩＤと送信元ＩＤがFCoEセキュリティDB２３３に記述されているかチェックする。パケットの宛先ＩＤと送信元ＩＤがFCoEセキュリティDB２３３に記述されていない場合、スイッチ処理部２２１は、該パケットを破棄する。ステップＳ６３４では、パケット処理部２２５は、FCoEセキュリティDB２３３をチェックすることにより、送信元と宛先のコネクションが確立されているか判定し、コネクションが確立されているポート間では、通信を許可し、コネクションが確立されていないポート間では、パケットを破棄している。
【００９５】
上記の処理では、PLOGI処理を監視することによりセキュリティ情報を取得している。次に、FCスイッチが持つZoneデータベースからセキュリティ情報を獲得する場合について説明する。
【００９６】
図１４は、第１の実施の形態に係る第２のセキュリティチェック処理のフローチャートである。
図１４のステップＳ６４１〜Ｓ６４６の第２のセキュリティチェック処理は、図９のFabricポート受信処理のステップＳ６１６とステップＳ６１７の間で実行される。
【００９７】
ステップＳ６４１において、スイッチ処理部２２１は、パケットがPLOGI ACCであるか判定する。パケットがPLOGI ACCである場合、制御はステップＳ６４２に進み、パケットがPLOGI ACCでない場合、制御はステップＳ６４５に進む。
【００９８】
ステップＳ６４２において、プロトコル処理部２１５は、PLOGIを行ったポートのペアの情報をＦＣスイッチ３０１が有するZoneデータベースより取得する。Zoneデータベースには、通信が許可されているポートのペアの情報やWorld Wide Name（WWN）が記載されている。
【００９９】
ステップＳ６４３において、プロトコル処理部２１５は、Zoneデータベースから取得した情報に基づいて、PLOGIを行ったポートのペアが通信を許可されているか否か判定する。通信が許可されている場合は、制御はステップＳ６４４に進み、通信が許可されていない場合には、制御はステップＳ６１７に進む。
【０１００】
ステップＳ６４４において、プロトコル処理部２１５は、PLOGIを行ったポートのFC IDのペアの情報の記録をパケット処理部２２５に指示する。パケット処理部２２５は、PLOGIを行ったポートのFC IDのペアの情報をFCoEセキュリティDB２３３に記録する。これにより、FCoEセキュリティDB２３３には、通信が許可されており且つコネクションが確立されたポートのペアの情報が記載される。
【０１０１】
ステップＳ６４５において、パケット処理部２２５は、パケットがPLOGI RJTであるか判定する。パケットがPLOGI RJTである場合、制御はステップＳ６１７に進み、パケットがPLOGI RJTでない場合、制御はステップＳ６４６に進む。
【０１０２】
ステップＳ６４６において、パケット処理部２２５は、パケットの宛先ＩＤと送信元ＩＤがFCoEセキュリティDB２３３に記述されているかチェックする。パケットの宛先ＩＤと送信元ＩＤがFCoEセキュリティDB２３３に記述されていない場合、スイッチ処理部２２１は、該パケットを破棄する。
【０１０３】
第１の実施の形態のイーサネットスイッチによれば、FCスイッチを中継せずに、宛先の装置にパケットを直接送信できるため、通信レイテンシを低減することができる。また、イーサネットスイッチとFCスイッチ間が通信のボトルネックとなることを防ぐことができる。
【０１０４】
（第２の実施の形態）
次に、イーサネットスイッチの代わりにFCスイッチを用いる形態について、説明する。
【０１０５】
図１５は、第２の実施の形態に係るシステムの構成図である。
システム１１０１は、FCスイッチ１２０１、FCスイッチ１３０１、サーバ１４０１−ｉ（ｉ＝１〜４）、およびストレージ１５０１−ｉを備える。
【０１０６】
FCスイッチ１２０１は、パケットのルーティングや変換等の処理を行う。
FCスイッチ１２０１は、N_Port ID Virtualization（NPIV）を用いたゲートウェイを有し、NPIVを用いて、FCスイッチ１３０１と接続する。
【０１０７】
NPIVとは、N_PortのIDを仮想化し、一つの物理ポート（N_Port）が複数のポート名やファブリックアドレスを（N_Port ID）を持てるようにする技術である。
FCスイッチ１２０１は、NPIVを用いて、FCスイッチ１３０１に複数の装置を１つの装置であるかのように見せる。
【０１０８】
イーサネットスイッチ１２０１は、FCスイッチ１３０１、サーバ１４０１−１、１４０１−２、およびストレージ１５０１−１、１５０１−２と接続する。
FCスイッチ１２０１は、FCスイッチ１３０１、サーバ１４０１−１、１４０１−２、およびストレージ１５０１−１、１５０１−２と光ファイバケープルを介して接続し、FCスイッチ１３０１、サーバ１４０１−１、１４０１−２、およびストレージ１５０１−１、１５０１−２と通信を行う。
【０１０９】
FCスイッチ１３０１は、FCスイッチ１２０１、サーバ１４０１−３、１４０１−４、およびストレージ１５０１−３、１５０１−４と接続する。
FCスイッチ１３０１は、FCスイッチ１２０１、サーバ１４０１−３、１４０１−４、およびストレージ１５０１−３、１５０１−４と光ファイバケープルを介して接続し、FCを用いて、イーサネットスイッチ１２０１、サーバ１４０１−３、１４０１−４、およびストレージ１５０１−３、１５０１−４と通信を行う。
【０１１０】
FCスイッチ１３０１、サーバ１４０１−３、１４０１−４、およびストレージ１５０１−３、１５０１−４により、FC-SANが構成されている。
サーバ１４０１は、各種処理を行う情報処理装置である。
【０１１１】
サーバ１４０１−１、１４０１−２は、FCインタフェースを有し、FCを用いてFCスイッチ１２０１と通信を行う。サーバ１４０１−１、１４０１−２は、FCスイッチ１２０１との接続に用いられるポートを有し、各ポートには、ユニークなファイバチャネルIDが割り当てられる。
【０１１２】
サーバ１４０１−３、１４０１−４は、サーバ１４０１−３、１４０１−４と同様の機能を有するため説明は省略する。
ストレージ１５０１は、データを格納する装置である。ストレージ１５０１は、例えば、複数のハードディスクドライブを有するディスクアレイ装置である。
【０１１３】
ストレージ１５０１−１、１５０１−２は、FCインタフェースを有し、FCスイッチ１２０１と通信を行う。ストレージ１５０１−１、１５０１−２は、FCスイッチ１２０１との接続に用いられるポートを有し、各ポートには、ユニークなファイバチャネルIDが割り当てられる。
ストレージ１５０１−３、１５０１−４は、ストレージ１５０１−３、１５０１−４と同様の機能を有するため説明は省略する。
【０１１４】
図１６は、第２の実施の形態に係るFCスイッチの構成図である。
FCスイッチ１２０１は、受信ポート１２１１−ｊ（ｊ＝１〜ｎ：ｎは整数）、送信ポート１２１２−ｊ、プロトコル処理部１２１５、およびスイッチ処理部１２２１を備える。
受信ポート１２１１は、FCスイッチ１３０１、サーバ１４０１−１、１４０１−２、またはストレージ１５０１−１、１５０１−２と接続し、パケットを受信するポートである。
【０１１５】
送信ポート１２１２は、FCスイッチ１３０１、サーバ１４０１−１、１４０１−２、またはストレージ１５０１−１、１５０１−２と接続し、パケットを送信するポートである。
【０１１６】
また、受信ポート１２１１−ｊと送信ポート１２１２−ｊにより１組のポートを構成しており、受信ポート１２１１−ｊと送信ポート１２１２−ｊには同じポート番号が割り当てられる。
【０１１７】
本実施の形態において、受信ポート１２１１および送信ポート１２１２のうち、ＦＣスイッチ１３０１に接続するポートは、Proxyポートと呼ぶ。
また、受信ポート２１１および送信ポート１２１２のうち、サーバ１４０１−１、１４０１−２またはストレージ１５０１−１、１５０１−２に接続するポートは、Fabricポートと呼ぶ。
【０１１８】
プロトコル処理部１２１５は、コネクションの確立やプロトコルの監視、およびスイッチ処理部１２２１への指示などの処理を行う。
プロトコル処理部１２１５は、FLOGI処理データベース（DB）１２１６を有する。
【０１１９】
プロトコル処理部１２１５は、例えば、スイッチ１２０１内のメモリ（不図示）に格納されたソフトウェアをCentral Processing Unit（ＣＰＵ）（不図示）が読み出して実行することにより実現される。また、プロトコル処理部１２１５は、例えば、ハードウェア回路やプロセッサ等により実現してもよい。
【０１２０】
FLOGI処理DB１２１６は、スイッチ１２０１で実行されたFCoEにおけるコネクション確立のプロトコル（FCoE Initialization Protocol）の一つであるFLOGIの処理の記録である。
【０１２１】
図１７は、FLOGI処理DBの例を示す図である。
FLOGI処理 DB１２１６は、項目として、受信ポート、送信ポート、変換前パケットヘッダ情報、変換後パケットヘッダ情報を有する。FLOGI処理 DB１２１６には、受信ポート、送信ポート、変換前パケットヘッダ情報、変換後パケットヘッダ情報が対応付けられて記載されている。
【０１２２】
受信ポートは、パケットを受信したポートを示す識別子である。受信ポートには、例えば、パケットを受信した受信ポート１２１１のポート番号が記述される。
送信ポートは、パケットを送信したポートを示す識別子である。送信ポートには、例えば、パケットを送信した送信ポート１２１２のポート番号が記述される。
【０１２３】
変換前パケットヘッダ情報は、変換前（FLOGI）のパケットのヘッダの情報である。変換前パケットヘッダ情報は、FCエクスチェンジIDを含む。
送信元MACアドレスは、FLOGIのパケットを送信した装置のMACアドレスである。
【０１２４】
変換後パケットヘッダ情報は、変換後（FDISC）のパケットのヘッダの情報である。変換後パケットヘッダ情報は、FCエクスチェンジIDを含む。
スイッチ処理部１２２１は、マルチプレクサ１２２２、パケットバッファ１２２３、パケット処理部１２２５、中継処理部１２２６、デマルチプレクサ１２２７、および記憶部１２２８を備える。
【０１２５】
スイッチ処理部１２２１は、例えば、ハードウェア回路やプロセッサ等により実現される。
マルチプレクサ１２２２は、プロトコル処理部１２１５および受信ポート１２１１から入力されたパケットをパケットバッファ１２２３に出力する。また、ママルチプレクサ１２２２から出力されたパケットから、ヘッダ情報抽出部（不図示）によりヘッダ情報が抽出され、パケット処理部１２２５に入力される。
【０１２６】
パケットバッファ１２２３は、受信したパケットを一時的に格納するバッファである。  パケットバッファ１２２３は、格納しているパケットをデマルチプレクサ１２２７に出力する。
【０１２７】
パケット処理部１２２５は、ヘッダ情報、転送DB１２３４、およびFCセキュリティDB１２３５に基づいて、パケットの処理を決定する。また、パケット処理部１２２５は転送DB１２３４およびFCセキュリティDB１２３５に対する書き込みおよび読み出しを行う。
【０１２８】
中継処理部１２２６は、転送DB１２３４に基づいて、デマルチプレクサ１２２７にパケットの出力先を示す制御信号を出力する。
デマルチプレクサ１２２７は、中継処理部１２２６からの制御信号に基づいて、パケットを送信ポート１２１２およびプロトコル処理部１２１５のいずれかに出力する。
【０１２９】
記憶部１２２８は、データを格納する装置である。記憶部１２２８は、例えば、RAM(Random Access Memory)である。記憶部１２２８は、FCセキュリティDB１２３５および転送DB１２３４を格納する。
【０１３０】
FCセキュリティDB１２３５は、通信が許可されているポートの組を示す情報である。
転送DB１２３４は、FCスイッチ１２０１と接続する外部装置のポートとFCスイッチ１２０１のポートとの接続関係を示す情報である。
【０１３１】
図１８は、転送DBの例である。
転送DB１２３４は、項目として、FC IDおよびポート番号を有する。転送DB１２３４には、FC IDとポート番号が対応付けられて記述されている。
【０１３２】
FC IDは、FCスイッチ１２０１が接続している装置のポートに割り当てられる識別子である。
ポート番号は、送信ポート１２１２を示すポート番号である。
【０１３３】
図１９は、第２の実施の形態に係るＦＣスイッチのパケット処理のフローチャートである。
ステップＳ１６０１において、プロトコル処理部１２１５およびスイッチ処理部１２２１は、FCスイッチ１３０１にファブリック・ログイン（FLOGI）を行う。
【０１３４】
ステップＳ１６０２において、スイッチ処理部１２２１はパケットを受信するまで待機し、パケットを受信した場合、制御はステップＳ１６０３に進む。
ステップＳ１６０３において、プロトコル処理部１２１５およびスイッチ処理部１２２１は、受信したパケットがProxyポートで受信したパケットであるか判定する。受信したパケットがProxyポートで受信したパケットである場合（すなわち、FCスイッチ１３０１から受信した場合）、制御はステップＳ１６０５に進み、受信したパケットがProxyポートで受信したパケットでない場合（すなわち、サーバ１４０１−１、１４０１−２またはストレージ１５０１−１、１５０１−２から受信した場合）、制御はステップＳ１６０４に進む。
【０１３５】
ステップＳ１６０４において、FCスイッチ１２０１は、Fabricポート受信処理を行う。尚、Fabricポート受信処理の詳細については後述する。
ステップＳ１６０５において、FCスイッチ１２０１は、Proxyポート受信処理を行う。尚、Proxyポート受信処理の詳細については後述する。
【０１３６】
図２０は、第２の実施の形態に係るFabricポート受信処理の詳細なフローチャートである。
図２０は、図１９のステップＳ１６０４に対応する。
【０１３７】
ステップＳ１６１１において、スイッチ処理部１２２１は、受信したパケットがFLOGIのパケット（FLOGIパケット）であるか否か判定する。パケットがFLOGIパケットである場合、制御はステップＳ１６１２に進み、パケットがFLOGIパケットでない場合、制御はステップＳ１６１５に進む。
【０１３８】
ステップＳ１６１２において、プロトコル処理部１２１５は、FLOGIパケットをファブリックディスカバリー（FDISC）のパケット（FDISCパケット）に変換する。
ステップＳ１６１３において、プロトコル処理部１２１５は、スイッチ処理部１２２１を介して、FCスイッチ１３０１と接続する送信ポート１２１２（Proxyポート）からFDISCパケットを出力する。
【０１３９】
ステップＳ１６１４において、プロトコル処理部１２１５は、FLOGIパケットを受信した受信ポート１２１１のポート番号をFLOGI処理 DB１２１６の受信ポートに、FDISCパケットを送信した送信ポート１２１２のポート番号をFLOGI処理 DB２１６の送信ポートに、FLOGIパケットのヘッダ情報（FCエクスチェンジID）をFLOGI処理 DB１２１６の変換前のパケットのヘッダ情報に、FDISCパケットのヘッダ情報（FCエクスチェンジID）をFLOGI処理 DB１２１６の変換後のパケットヘッダ情報にそれぞれ記録する。
【０１４０】
ステップＳ６１５において、パケット処理部１２２５は、受信したパケットの宛先ID（Destination ID:D_ID）を検索キーとして、転送DB１２３４を検索する。
ステップＳ１６１６において、パケット処理部１２２５は、受信したパケットの宛先IDのポートと接続するFabricポートがあるか判定する。詳細には、パケット処理部２２５は、ステップＳ１６１５の検索において、転送DB１２３４から受信したパケットのD_IDと一致するFC IDを有するレコードが検出された場合、受信したパケットの宛先IDのポートと接続するFabricポートがあると判定する。受信したパケットの宛先IDのポートと接続するFabricポートがある場合、制御はステップＳ１６１８に進み、受信したパケットの宛先IDのポートと接続するFabricポートがない場合、制御はステップＳ１６１９に進む。
【０１４１】
ステップＳ１６１８において、中継処理部１２２６は、宛先IDのポートと接続するFabricポートからパケットを送信する。詳細には、中継処理部１２２６は、ステップＳ１６１５で検出されたレコードに含まれるポート番号で示される送信ポート１２１２からパケットを送信する。
【０１４２】
ステップＳ１６１９において、中継処理部１２２６は、送信ポート１２１２の内のProxyポートからパケットを送信する。
ここで、FCスイッチ１２０１と接続するFC装置間でパケットを送信した場合のパケットの経路について具体例を示す。
【０１４３】
図２１は、第２の実施の形態に係るFC装置間の通信を示す図である。
図２１は、サーバ１４０１−１からストレージ１５０１−２にパケットを送信する場合について示す。
【０１４４】
ここで、サーバ１４０１−１のFC IDはID_Aとする。ストレージ１５０１−２のFC IDはID_Bとする。
サーバ１４０１−１は、ストレージ１５０１−２宛のパケット１１６０−１をＦＣスイッチ１２０１に送信する。
【０１４５】
サーバ１４０１−１から出力されたパケット１１６０−１の宛先IDはID_B、送信元IDはID_Aである。
FCスイッチ１２０１に入力されたパケット１１６０−１に対して、宛先のチェックが行われ、ストレージ１５０１−２は、ＦＣスイッチ１２０１のFabricポートと接続していると判定される。
【０１４６】
ＦＣスイッチ１２０１は、ストレージ１５０１−２にパケット１１６０−２を送信する。尚、パケット１１６０−１とパケット１１６０−２の内容は同一である。すなわち、パケット１１６０−２のヘッダは変更されておらず、パケット１１６０−１と同様に、宛先IDはID_B、送信元IDはID_Aである。
【０１４７】
このようにサーバ１４０１−１から出力されたパケットは、FCスイッチ１３０１を経由せずに（ショートカット）ストレージ１５０１−２に到着する。
図２２は、第２の実施の形態に係るProxyポート受信処理の詳細なフローチャートである。
【０１４８】
図２２は、図１９のステップＳ１６０５に対応する。
ステップＳ１６２１において、スイッチ処理部１２２１は、受信したパケットがFCスイッチ１２０１宛のFDISC ACCまたはFDISC RJTであるか判定する。受信したパケットがFCスイッチ１２０１宛のFDISC ACCまたはFDISC RJTである場合、制御はステップＳ１６２２に進み、受信したパケットがFCスイッチ１２０１宛のFDISC ACCおよびFDISC RJTでない場合、制御はステップＳ１６３０に進む。
【０１４９】
ステップＳ１６２２において、プロトコル処理部１２１５は、パケットのFCエクスチェンジIDを検索キーとして、FLOGI処理DB１２１６を検索する。詳細には、プロトコル処理部１２１５は、パケットのFCエクスチェンジIDがFLOGI処理 DB１２１６の変換後のパケットヘッダ情報に記載のFCエクスチェンジIDと一致するかチェックする。すなわち、受信したパケットが自分宛のFDISC ACC (FDISCのACCEPT)またはFDISC RJT （REJECT）の場合、そのパケットはFLOGIをFDISCに変換して送信したパケットに対する応答であるため、対応するFLOGI処理の記録があるかチェックしている。
【０１５０】
ステップＳ１６２３において、プロトコル処理部１２１５は、対応するFLOGI処理の記録が検出された場合（すなわち、パケットのFCエクスチェンジIDと一致するFCエクスチェンジIDが記述されたレコードが見つかった場合）、制御はステップＳ１６２４に進み、検出されなかった場合、制御はステップＳ１６２９に進む。
【０１５１】
ステップＳ１６２４において、プロトコル処理部１２１５は、パケットがFIDSC ACCかFDISC RJTかチェックする。パケットがFIDSC ACCである場合、制御はステップＳ１６２５に進み、パケットがFIDSC RJTである場合、制御はステップＳ１６２７に進む。
【０１５２】
ステップＳ１６２５において、プロトコル処理部１２１５は、FIDSC ACCをFLOGI ACCに変換し、FLOGIの送信元のポートと接続するFabricポートからFLOGI ACCを出力する。尚、FLOGIの送信元のポートと接続するFabricポートは、ステップＳ１６２２の検索においてFLOGI処理 DB１２１６から検出されたレコードの受信ポートに記載されたポート番号に対応する送信ポート１２１２である。
【０１５３】
ステップＳ１６２６において、プロトコル処理部１２１５は、FLOGIの送信元のアドレス（FC ID）と送信元と接続するポートの情報（ポート番号）の記録をパケット処理部１２２５に指示する。パケット処理部１２２５は、FLOGIの送信元のアドレス（FC ID）と送信元と接続するポートの情報（ポート番号）を転送DB１２３４に記録する。
【０１５４】
ステップＳ１６２７において、プロトコル処理部１２１５は、FDISC RJTをFLOGI RJTに変換し、FLOGIの送信元の装置と接続するFabricポートからFLOGI RJTを出力する。
ステップＳ１６２８において、プロトコル処理部１２１５は、FLOGI処理 DB１２１６からFDISC ACCまたはFDISC RJTに対応するレコード（すなわち、ステップＳ1６２２で検出されたレコード）を削除する。
【０１５５】
ステップＳ１６２９において、プロトコル処理部１２１５は、エラー処理を行う。
ステップＳ１６３０において、スイッチ処理部１２２１は、パケットを宛先IDのポートと接続するFabricポートから出力する。
【０１５６】
第２の実施の形態のＦＣスイッチによれば、外部のＦＣスイッチを中継せずに宛先の装置にパケットを直接送信できるため、通信レイテンシを低減することができる。また、ＦＣスイッチ間が通信のボトルネックとなることを防ぐことができる。
【０１５７】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
Fibre Channel over Ethernet（FCoE）を用いて複数の外部装置と接続し、ファイバチャネルスイッチとN_Port ID Virtualizationを用いて接続するイーサネットスイッチにおいて、
前記イーサネットスイッチは、
前記複数の外部装置のうちFCoEにおけるコネクションが確立されている外部装置が記載された宛先情報を格納する記憶部と、
処理部と、
を備え、
前記処理部は、
前記外部装置の内の第１の外部装置から第２の外部装置宛のパケットを受信した場合、前記第２の外部装置が前記宛先情報に記載されているかチェックし、
前記第２の外部装置が前記宛先情報に記載されている場合、前記パケットを前記第２の外部装置に送信する
ことを特徴とするイーサネットスイッチ。
（付記２）
前記処理部は、前記パケットを前記第２の外部装置に送信する場合に、前記パケットの宛先Media Access Control(MAC)アドレスを前記第２の外部装置のMACアドレスに変更し、前記パケットの送信元MACアドレスを前記ファイバチャネルスイッチのMACアドレスに変更することを特徴とする付記１記載のイーサネットスイッチ。
（付記３）
前記処理部は、前記複数の外部装置のFCoEにおけるコネクションを確立するプロトコルを監視し、前記コネクションが確立にされたときに、前記コネクションが確立された外部装置を前記宛先情報に記載することを特徴とする付記１または２記載のイーサネットスイッチ。
（付記４）
前記処理部は、
前記第１の外部装置と前記第２の外部装置間のポートログインの処理時に、
前記第１の外部装置と前記第２の外部装置をセキュリティ情報に記載し、
前記セキュリティ情報に基づいて、前記パケットの前記第２の外部装置への送信の可否を判定することを特徴とする付記１乃至３のいずれか１項に記載のイーサネットスイッチ。
（付記５）
前記ファイバチャネルスイッチは、外部装置の組に対する通信の許可または不許可が記載されたゾーンデータベースを有し、
前記処理部は、
前記第１の外部装置と前記第２の外部装置間のポートログインの処理時に、
前記ファイバチャネルスイッチの前記ゾーンデータベースから前記第１の外部装置と前記第２の外部装置の組の情報を取得し、
取得した情報に基づいて、前記第１の外部装置と前記第２の外部装置間の通信が許可されているか否か判定し、
前記第１の外部装置と前記第２の外部装置間の通信が許可されている場合、前記第１の外部装置と前記第２の外部装置の組をセキュリティ情報に記載し、
前記セキュリティ情報に基づいて、前記パケットの前記第２の外部装置への送信の可否を判定することを特徴とする付記１乃至３のいずれか１項に記載のイーサネットスイッチ。
（付記６）
Fibre Channel over Ethernet（FCoE）を用いて複数の外部装置と接続し、ファイバチャネルスイッチとN_Port ID Virtualizationを用いて接続するイーサネットスイッチが実行する通信方法であって、
前記複数の外部装置の内の第１の外部装置から第２の外部装置宛のパケットを受信した場合、前記複数の外部装置のうちFCoEにおけるコネクションが確立されている外部装置が記載された宛先情報を参照し、
前記第２の外部装置が前記宛先情報に記載されているかチェックし、
前記第２の外部装置が前記宛先情報に記載されている場合、前記パケットを前記第２の外部装置に送信する
ことを特徴とする通信方法。
（付記７）
前記送信する処理において、前記パケットの宛先Media Access Control(MAC)アドレスを前記第２の外部装置のMACアドレスに変更し、前記パケットの送信元MACアドレスを前記ファイバチャネルスイッチのMACアドレスに変更することを特徴とする付記６記載の通信方法。
（付記８）
前記複数の外部装置のFCoEにおけるコネクションを確立するプロトコルを監視し、
前記コネクションが確立にされたときに、前記コネクションが確立された外部装置を前記宛先情報に記載することを特徴とする付記１または２記載の通信方法。
（付記９）
前記第１の外部装置と前記第２の外部装置間のポートログインの処理時に、
前記第１の外部装置と前記第２の外部装置をセキュリティ情報に記載し、
前記セキュリティ情報に基づいて、前記パケットの前記第２の外部装置への送信の可否を判定することを特徴とする請求項６乃至８のいずれか１項に記載の通信方法。
（付記１０）
前記ファイバチャネルスイッチは、外部装置の組に対する通信の許可または不許可が記載されたゾーンデータベースを有し、
前記イーサネットスイッチは、
前記第１の外部装置と前記第２の外部装置間のポートログインの処理時に、
前記ファイバチャネルスイッチの前記ゾーンデータベースから前記第１の外部装置と前記第２の外部装置の組の情報を取得し、
取得した情報に基づいて、前記第１の外部装置と前記第２の外部装置間の通信が許可されているか否か判定し、
前記第１の外部装置と前記第２の外部装置間の通信が許可されている場合、前記第１の外部装置と前記第２の外部装置の組をセキュリティ情報に記載し、
前記セキュリティ情報に基づいて、前記パケットの前記第２の外部装置への送信の可否を判定することを特徴とする請求項６乃至８のいずれか１項に記載の通信方法。
【符号の説明】
【０１５８】
１１    システム
１２    イーサネットスイッチ
１３    FCスイッチ
１４    サーバ
１５    ストレージ
２１    システム
２２、２３    FCスイッチ
２４    サーバ
２５    ストレージ
１０１、１１０１    システム
２０１    イーサネットスイッチ
２１１、１２１１    受信ポート
２１２、１２１２    送信ポート
２１５、１２１５    プロトコル処理部
２１６、１２１６    FLOGI処理DB
２２１、１２２１    スイッチ処理部
２２２、１２２２    マルチプレクサ
２２３、１２２３    パケットバッファ
２２４    パケット更新部
２２５、１２２５    パケット処理部
２２６、１２２６    中継処理部
２２７、１２２７    デマルチプレクサ
２２８、１２２８    記憶部
２３１    プロトコルDB
２３２    FCoE宛先DB
２３４、１２３４    転送DB
３０１、１３０１    FCスイッチ
４０１、１４０１    サーバ
５０１、１５０１    ストレージ
１２０１    FCスイッチ
１２３５    FCセキュリティDB
【図１Ａ】
2014053674.tif 000003
【図１Ｂ】
2014053674.tif 000004
【図２】
2014053674.tif 000005
【図３】
2014053674.tif 000006
【図４】
2014053674.tif 000007
【図５】
2014053674.tif 000008
【図６】
2014053674.tif 000009
【図７】
2014053674.tif 000010
【図８】
2014053674.tif 000011
【図９】
2014053674.tif 000012
【図１０】
2014053674.tif 000013
【図１１】
2014053674.tif 000014
【図１２】
2014053674.tif 000015
【図１３】
2014053674.tif 000016
【図１４】
2014053674.tif 000017
【図１５】
2014053674.tif 000018
【図１６】
2014053674.tif 000019
【図１７】
2014053674.tif 000020
【図１８】
2014053674.tif 000021
【図１９】
2014053674.tif 000022
【図２０】
2014053674.tif 000023
【図２１】
2014053674.tif 000024
【図２２】
2014053674.tif 000025