1つのモジュール、確認すべき2つの経路
識別
光ファイバーを接続していない状態で、IDメモリーを読み出します。
確認項目
合計値の下位8ビットをCC_BASEと比較します。
検証
光ファイバーを接続し、実際にトラフィックが通るかを別途確認します。
ベンチ検証チェックリスト
光ファイバーを接続する前に、ポート、モジュールの識別情報、時刻を記録します。その後、リンク状態を確認し、識別可能なテストフレームを送信します。
テストベンチ上の産業用スイッチにSFPトランシーバーを挿入し、光ファイバーは接続しないでおきます。ポートがまだリンクダウンを報告していても、管理画面にはすでにベンダー名、部品番号、シリアル番号などが表示される場合があります。これらの情報は、モジュール後端の電気インターフェースを介して取得されます。スイッチは、モジュールが返す識別情報を低速の管理チャネル経由で読み出します。トラフィックは、これとは別の電気・光信号経路を通ります。それぞれの経路で確認できることは異なります。
1つのモジュールを通る2つの経路
モジュールをフロントパネルのケージに差し込むと、モジュールのエッジ接点がホスト側のコネクターとかみ合います。電源とグラウンドが接続されると、モジュールの電子回路が起動します。従来のSFP管理インターフェースを備えた機器では、装着検出信号によって、スロットにモジュールが入っていることをホストが検知できます。ホストは次に、低速の2線式インターフェースを使ってモジュールの情報を取得できます。装着検出だけでホストに分かるのは、何かが取り付けられていることだけです。ベンダー名や部品番号を表示するには、通信が成功し、読み出したバイトを解釈できる必要があります。初期化にかかる時間、エラーメッセージ、再試行時の動作は、ホストの実装によって異なります。
2本の信号線は、クロック線のSCLとデータ線のSDAです。スイッチがモジュールに対して指定のオフセットにあるバイトを要求し、取り決められたデータ配置に従って読み出した値を解釈すると考えてください。この処理は筐体内で行われます。光コネクターに何も接続されていなくても、対向機器の電源が切れていても行えます。これとは別の高速経路では、ホストとモジュールが高速電気インターフェースを介してトラフィック信号をやり取りします。送信部は電気信号を光信号に変換し、受信部は光信号を電気信号に戻します。この第2の経路では、光ファイバー、対向機器、受光条件、リンクモードが重要です。
FeichangのDINレール取り付け型レイヤー3スイッチは、10ギガビット光ポート4基とギガビット銅線ポート8基を備え、その仕様書には管理機能としてSFPモジュール情報が記載されています。これは、本解説の内容を実際の機器に当てはめた例です。図は一般的な機能を示しています。製品資料には、このモデルの基板配線、ポーリングの手順、トランシーバーの受け入れ方針は記載されていません。対象機器の資料に対応が明記されているトランシーバーとポートモードを使用してください。

どのバイトでモジュールを識別するのか?
従来のSFPモジュールと、SFF-8472の管理メモリーマップを使用する光トランシーバーは、所定のバイト位置に識別情報を格納します。仕様では、ベースアドレスをA0hと表記します。7ビットI²C表記を使うツールでは、このアドレスを0x50と表記します。2つの表記が異なるのは、アドレスバイトに読み出し/書き込みを指定するビットが含まれるためです。0x50を左に1ビットシフトすると、書き込み用のアドレスバイトは0xA0となり、読み出し用は0xA1となります。これらは同じデバイスアドレスを異なる形式で表したものです。7ビットのアドレスを想定するツールに0xA0を入力すると、正常なモジュールでも応答しないように見えることがあります。
デバイスアドレスとフィールドのオフセットは役割が異なります。前者は識別情報領域を選択し、後者はその領域内のバイト位置を指定します。このマップでは、バイト0がデバイスの種類を、バイト2がコネクターの種類を示します。バイト20~35にはベンダー名、バイト40~55にはベンダーの部品番号、バイト68~83にはシリアル番号が格納されます。ここでのオフセットは10進数です。モジュールが診断機能に対応している場合は、7ビット表記のアドレス0x51に相当するA2hから診断データを取得できます。基本識別情報を読み出せても、すべての診断測定値が取得できることも、表示されることも確認できたわけではありません。
例えば、ホストはベンダーの部品番号を格納する16バイトをテキストとして解釈できます。そのうち4バイトが16進数で44、45、4D、4Fだとします。これらは「DEMO」と表示されます。固定長フィールドの残りはスペースで埋められている場合があります。管理画面に部品番号がない場合は、ホストがフィールドの読み出しに失敗したのか、フィールドが空だったのか、それとも読み出した値がインターフェースの仕様上表示されなかったのかを確認します。光パワーメーターで確認できるのは、これとは別のことです。画面に表示されるテキストは、筐体内の電気インターフェースを介して読み出されたものです。
チェックサムで何を確認できるのか?
ホストは、A0hの先頭63バイト(オフセット0~62)の値を合計し、その下位8ビットをオフセット63にあるCC_BASEと比較できます。合計値が16進数で0x034Aだとします。その下位8ビットは0x4Aです。バイト63の値も0x4Aなら、チェックに合格します。値が0x4Bなら、読み出した生のバイト列を保存し、対象のバイト範囲とリビジョンを確認したうえで、再度読み出して同じ結果になるかを確認します。これらの数値は計算例であり、Feichangの機器やトランシーバーで測定した値ではありません。
チェックサムが一致するのは、対象バイトから求めた値が、格納されているチェックコードと一致したということです。異なるバイトの組み合わせでも、同じ合計値になることがあります。このチェックでは、ベンダーの真正性やフィールドの内容の正確さは証明できず、ホストがモジュールを受け入れることも確認できません。シリアル番号は、CC_BASEの対象範囲外にあるバイト68から始まります。拡張識別領域には、独自のチェックコードCC_EXTがあります。CC_BASEのチェックに合格したと報告する際は、検証した範囲を明記してください。

各結果がどの段階で得られたかを確認する
ベンダー名と部品番号は表示されるのにシリアル番号が空欄の場合は、まず、そのインターフェースでシリアル番号を表示できるか確認します。次に、機器が生データの読み出しに対応していれば、その結果を確認します。バイト0~63を読み出し、基本領域のチェックサム検証に合格すれば、基本領域から必要なデータが取得できていることが分かります。シリアル番号はオフセット68から始まります。拡張領域を最後まで読み出していなければ、基本領域のチェックサムに合格していても、空欄のシリアル番号をベンダーが設定した値として確認することはできません。単に「モジュールを識別できた」と報告するより、「基本領域は読み出し可能、拡張領域は未確認」と記録するほうが、状況が明確になります。
逆の場合を考えてみましょう。スイッチは現在モジュールが装着されていないと報告している一方で、ネットワーク管理システムには前回の部品番号が残っています。この2つの記録は、異なる時点の状態を示しています。ポーリング時刻をそろえ、対象スロットの現在の状態を再照会してください。そうしないと、キャッシュされた結果を現在の応答と取り違え、対向側の光ファイバーを不必要に調査することになりかねません。ローカルのインターフェース、管理システムのキャッシュ、バスからの現在の読み出し結果を区別できるよう、ポート、時刻、データの取得元を記録してください。

管理機能とトラフィックを個別に検証する
ホストでの動作が確認されているモジュールを使用します。隔離されたテストベンチで、ポート、ホストのソフトウェアバージョン、モジュールの部品番号を記録します。光ファイバーを接続せずにモジュールを挿入し、ホストが装着を検知してモジュール情報を漏れなく表示するか確認します。部品番号が表示されれば、管理インターフェース経由の読み出しで少なくともそのフィールドは取得できています。この段階では、トラフィック用のリンクはダウンしたままでも構いません。資料に従って、適切な光ファイバーと対向機器を接続します。両端でリンク状態と送受信カウンターを記録し、識別可能なテストフレームを送信してトラフィックが通ることを確認します。両方の検証結果を保存してください。
管理インターフェースがスロットを空と報告する場合は、選択したポート、モジュールが正しく差し込まれているか、資料上の互換性を確認します。装着は検知されるものの情報を読み出せない場合は、読み出し実績のある互換モジュールを同じポートで試すか、元のモジュールをテストベンチ上の互換性が確認済みのポートに移します。他の条件をそろえ、問題がモジュールとともに移るのか、同じスロットに残るのかを記録します。部品番号は表示されるのにトラフィック用のリンクがダウンしたままの場合は、両端のポートモード、光ファイバーが送信側から受信側へ正しく接続されているか、および光パワーを確認します。フレームが通っているかどうかは、カウンターで確認します。識別機能を試すために、光ポートをのぞき込んだり、稼働中の本番リンクでモジュールを繰り返し抜き差ししたりしないでください。
以前に読み出した情報をキャッシュするホストもあれば、特定のフィールドを所定の画面や保守用インターフェースでしか確認できないホストもあります。読み出し時刻、ポート、モジュールの挿入または取り外しを記録し、機器が対応する更新方法または照会方法を使用します。引き継ぎ記録は「モジュールの装着状態」「識別情報の読み出し」「トラフィックの検証」の3列に分けると明確になります。こうしておけば、スクリーンショットが実際に何を示しているのかを判断できます。
出典と適用範囲
SNIA SFF-8472 Rev. 12.5a · Feichang DINレール取り付け型レイヤー3スイッチの仕様書(中国語)
以下の中国語技術記事から翻訳: 中国語の原文記事を読む.
よくある質問
光ファイバーなしで、なぜホストは部品番号を表示できるのか?
ホストは2線式の電気インターフェースを介して部品番号を読み出します。光ファイバーは別の経路でトラフィックを伝送します。
A0hと0x50は別々のデバイスを指すのか?
同じ対象を指す、8ビットのアドレスバイト表記と7ビットのアドレス表記です。
CC_BASEのチェックに合格すれば、モジュールの互換性が証明されるのか?
バイト0~62から算出した値が、オフセット63のチェックバイトと一致したことを示します。互換性とトラフィックは別途確認してください。


