CodingBox ドキュメント

FC プロトコルの基礎:層、ポート、ログイン、ゾーニング

Fibre Channel は、SFP の部分ではイーサネットに似ています(ケージも光モジュールも同様です)が、それより上の層ではまったく異なる振る舞いをします。ロスレスでコネクション指向のストレージ向け伝送方式であり、すべてのフレームが順序どおりに到達することが前提となっていて、ファブリックは各デバイスを焼き付けられた名前で識別します。このページでは、プロトコルレイヤー、ポートタイプ、アドレッシング、ログインシーケンス、ゾーニングを扱います。これらは、SAN スイッチを読み解き、光モジュールがこれほど厳格に管理される理由を理解するために必要な語彙です。

レイヤー

レイヤー名称内容光モジュールとの関係
FC-0物理層伝送媒体、コネクター、送信器、受信器、速度SFP そのもの:FC の光学系速度
FC-1伝送層8GFC までは 8B/10B 符号化、16GFC 以降は 64B/66B、順序集合、16GFC(任意)と 32GFC 以上(必須)での FEC符号化バイト、FEC カウンター
FC-2フレーミングとフロー制御フレーム(最大 2112 バイトのペイロード)、シーケンス、エクスチェンジ、サービスクラス、バッファ間クレジットクレジットが距離を決める:SAN 設計
FC-3共通サービスマルチキャスト、ハントグループ(ほとんど使われない)
FC-4プロトコルマッピングSCSI(FCP)、NVMe(FC-NVMe)、FICON、IP over FCNVMe over fabrics

ポートタイプ

ポート役割
N_Portノードポート。HBA またはストレージアレイのポート
F_Portスイッチのファブリックポート。N_Port に接続される
E_Port拡張ポート。スイッチ間のインタースイッチリンク(ISL)
NL_Port / FL_Portアービトレーテッドループの派生形(レガシー)
G_Port / U_Port汎用ポート。接続先を認識すると F または E になるスイッチポート
TE_Port / EX_Portトランキング E_Port(Cisco VSAN トランク)/ファブリック間のルーターポート
D_Port診断ポート。リンク上で光学的・電気的ループバックテストを実行する(Brocade)

名前とアドレス

識別子サイズ意味
WWNN(World Wide Node Name)64 ビットデバイス(HBA、アレイコントローラー)
WWPN(World Wide Port Name)64 ビット各ポート。ゾーニングとマスキングに使われる識別情報
FCID(N_Port ID)24 ビットファブリックが割り当てるアドレス:Domain(スイッチ)/Area/Port。デバイスが移動すると変わる
ウェルノウンアドレスFFFFFC ネームサーバー、FFFFFD ファブリックコントローラー、FFFFFE ファブリックログインサーバー、FFFFFA 管理サーバーファブリックサービス

WWN は HBA とアレイポートに焼き付けられており、配線を変えても変化しません。そのため、WWPN によるゾーニングは配線変更後も維持されますが、ポートによるゾーニングは維持されません。

ログインシーケンス

  1. リンク初期化:速度ネゴシエーション(双方が最高速度から順に試行し、不一致や限界品質の光モジュールはここで露見します)を行い、その後、両端が同期するまでプリミティブシーケンスを続けます。
  2. FLOGI(ファブリックログイン):N_Port がスイッチに FCID を要求し、バッファクレジット、サービスクラス、フレームサイズをネゴシエートします。
  3. PLOGI(ポートログイン):N_Port 間(またはネームサーバーとの間)でセッションを確立します。
  4. PRLI(プロセスログイン):FC-4 プロトコル(SCSI や NVMe)とそのパラメーターをネゴシエートします。
  5. ネームサーバーへの登録と照会:デバイスは自身の WWPN/FCID を登録し、ゾーニングされたターゲットの存在を把握します。以降の変更はRSCN通知で知らされます。

FLOGI の前で止まっているポートは物理層の問題(光モジュール、ケーブル、速度)です。FLOGI の後で止まっている場合は、ファブリック/ゾーニングの問題です(ポート診断)。

サービスクラスとフロー制御

クラス動作用途
Class 1専用コネクション廃止済み
Class 2確認応答あり、コネクションレスまれ
Class 3コネクションレス、確認応答なしのデータグラム。ただしクレジットのおかげでファブリックが破棄することはない実質的にすべてのストレージトラフィック
Class Fスイッチ間の制御ファブリックサービス

バッファ間クレジット(BB_Credit):受信側がフレームバッファの数を許可し、送信側は R_RDY 確認応答を受け取るまで、その数までしかフレームを送信できません。何も破棄されず、クレジットを使い切ると送信側は待機します。これが、ロスレス動作、距離の制限、スロードレイン輻輳の背後にある仕組みです(SAN 設計)。

ゾーニングとマスキング

  • スイッチ上のゾーニングは、どの WWPN 同士が互いを認識できるかを制限します。シングルイニシエーターゾーニング(1つの HBA ポートとそのターゲット)が標準です。ポートではなく WWPN でゾーニングしてください。
  • アレイ上のLUN マスキングは、どの WWPN がどのボリュームにアクセスできるかを制限します。
  • VSAN(Cisco)/Virtual Fabric(Brocade)は、スイッチを独立したファブリックに分割します。NPIV により、1つの N_Port が複数の WWPN を提示できます(仮想マシン、ブレードエンクロージャーなど)。
  • ゾーニングの問題は、ログイン自体は成功しているのに「デバイスが見えない」という形で現れます。光モジュールに手を付ける前に、ネームサーバーとアクティブなゾーンセットを確認してください。

速度ネゴシエーションと光モジュール

FC ポートは、共通の最高速度を自動的にネゴシエートします(例:32/16/8GFC)。SFP は、ネゴシエートされたレートに対応していなければなりません。32G ポートに 16G SFP を挿すと、ポートは 16G に制限されます。固定速度のポートに別世代の光モジュールを挿すと、まったくリンクしません。FC SFP は、イーサネットのコードではなく、FC の速度ビットとメディアビットでコーディングされており(コンプライアンスコード)、SAN スイッチはベンダーブランディングを厳格に強制します(FC の光学系)。

CodingBox では

FC SFP の場合、Check transceiver 画面が FC の速度、メディア、距離ビット(バイト 7–10、62)をデコードします。これにより、モジュールがファブリックに投入されネゴシエーションされる前に、どの世代に対応していると申告しているかを確認できます。


この記事に不正確な点や誤りを見つけた場合は、該当する箇所を選択して Ctrl+Enter を押すと、できます。