Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

DCBXアプリケーションプロトコルTLV交換について

DCBX(Data Center Bridging Capability Exchange Protocol)は、接続されたピアのDCB(データセンターブリッジング)機能を検出します。また、DCBXは、アプリケーションタイプ、長さ、値(TLV)要素を介してアプリケーションプロトコル情報を交換することにより、インターフェイス上のアプリケーションの機能をアドバタイズします。DCBXは、LLDP(Link Layer Discovery Protocol)の拡張です。DCBXを使用するすべてのインターフェイスでLLDPを有効にしておく必要があります。

注:

LLDPとDCBXは、すべてのインターフェイスでデフォルトで有効になっています。

アプリケーションプロトコル交換の設定は、以下で構成されています。

  • アプリケーションの定義

  • アプリケーション・マップ内の IEEE 802.1p コード・ポイントへのアプリケーション・マッピング

  • 受信トラフィックに優先順位を付け、トラフィックコードポイントによって受信トラフィックをアプリケーションにマッピングするように分類子を設定する

  • アプリケーションマップと分類子をインターフェイスに適用する

インターフェイスがアドバタイズするアプリケーションを明示的に定義する必要があります。FCoEアプリケーションは特殊なケースであり( アプリケーションを参照)、DCBXがそのインターフェイス上のFCoEに加えて他のアプリケーションとアプリケーションプロトコルTLVを交換したい場合にのみ、インターフェイスで定義する必要があります。

また、インターフェイスがアドバタイズする定義済みアプリケーションをすべて、アプリケーションマップ内の IEEE 802.1p コードポイントに明示的にマップする必要があります。FCoEアプリケーションは特殊なケースであり、このトピックで後述するように、インターフェイスでFCoE以外のアプリケーションに対してFCoE以外のアプリケーションにもDCBXを使用する場合のみアプリケーションマップに含める必要があります( 「アプリケーションマップ」を参照)。

このトピックでは、以下について説明します。

アプリケーション

インターフェイスがアプリケーションプロトコル情報を交換できるようになる前に、アドバタイズするアプリケーションを定義する必要があります。例外は FCoE アプリケーションです。インターフェイスがアドバタイズするアプリケーションが FCoE のみである場合は、FCoE アプリケーションを定義する必要はありません。インターフェイスでFCoE以外のアプリケーションをアドバタイズしたい場合にのみ、FCoEアプリケーションを定義する必要があります。

注:

DCBXがインターフェイス上でアドバタイズしたいアプリケーションがFCoEのみである場合、DCBXはデフォルトでFCoEアプリケーションプロトコルTLVを交換します。

  • FCoEトラフィックを伝送します(CoS設定によってFCoE転送クラスにマッピングされ、インターフェイスに適用されるトラフィック)

  • FCoE優先度でPFCが有効になっている混雑通知プロファイルを持っている(IEEE 802.1pコードポイント)

  • アプリケーションマップがない

アプリケーション マップをインターフェイスに適用する場合、FCoE アプリケーションを含め、DCBX でアドバタイズするすべてのアプリケーションをアプリケーション マップで定義および設定する必要があります。

FCoEのCoS設定がインターフェイスにマッピングされていない場合、そのインターフェイスはFCoEアプリケーションプロトコルTLVを交換しません。

以下を定義できます。

  • EtherTypeによるレイヤー2アプリケーション

  • プロトコル(TCPまたはUDP)と宛先ポート番号の組み合わせによるレイヤー4アプリケーション

EtherTypeは、フレーム内にカプセル化されたプロトコルを示すイーサネットフレームの2オクテットフィールドです。一般的なEtherTypesのリストについては、IEEE標準化機構のWebサイトの http://standards.ieee.org/develop/regauth/ethertype/eth.txt を参照してください。ポート番号とプロトコルのリストについては、IANA(IANA)Webサイトの http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml にあるサービス名とトランスポートプロトコルポート番号レジストリを参照してください。

FCoEを除く、アドバタイズする各アプリケーションを明示的に定義する必要があります。FCoEアプリケーションはデフォルトで定義されています(EtherType 0x8906)。

アプリケーションマップ

アプリケーション マップは、定義されたアプリケーションを 1 つ以上の IEEE 802.1p コード ポイントにマップします。各アプリケーションマップには、1つ以上のアプリケーションが含まれています。DCBXは、接続されたピアと交換するプロトコルTLVに、設定されたアプリケーションコードポイントを含めます。

アプリケーションのプロトコルTLVを交換するには、アプリケーションマップにアプリケーションを含める必要があります。FCoEアプリケーションは特別なケースです。

  • DCBXで特定のインターフェイス上の複数のアプリケーションのアプリケーションプロトコルTLVを交換する場合は、アプリケーションを設定し、アプリケーションをコードポイントにマッピングするアプリケーションマップを定義し、アプリケーションマップをインターフェイスに適用する必要があります。この場合、FCoEアプリケーションを定義し、アプリケーションマップに追加する必要があります。

    これは、他のすべてのアプリケーションに必要なプロセスと処理と同じです。さらに、DCBXがFCoEアプリケーションTLVを交換するには、インターフェイス上のFCoE優先度(FCoE IEEE 802.1pコードポイント)で優先 度ベースのフロー制御 (PFC)を有効にする必要があります。

  • DCBXがインターフェイス上でアドバタイズする唯一のアプリケーションがFCoEである場合、アプリケーションマップを設定してインターフェイスに適用する必要はありません。デフォルトでは、インターフェイスにアプリケーション マップがなく、インターフェイスが FCoE 転送クラスにマッピングされたトラフィックを伝送し、PFC が FCoE 優先度で有効になっている場合、インターフェイスは FCoE TLV をアドバタイズします(自動ネゴシエーション モード)。DCBXは、アプリケーションマップFCoEインターフェイスに適用するか、インターフェイスからFCoEトラフィックを削除するか(FCoEトラフィックの分類子を削除または編集することで行うことができます)、または優先度FCoEのPFCを無効にするまで、デフォルトでアプリケーションプロトコルTLVを交換します。

    アプリケーションマップを持たず、FCoEアプリケーションTLVを交換していたインターフェイスにアプリケーションマップを適用し、アプリケーションマップにそのFCoEアプリケーションを含めない場合、インターフェイスはFCoE TLVの交換を停止します。DCBXがFCoE TLVを交換するためには、アプリケーションマップにFCoEが含まれている必要があります(およびFCoE優先度でPFCが有効になっている)。

アプリケーションをコード ポイントにマッピングすると、次の 2 つのことが可能になります。

  • 同じコードポイントの受信トラフィックをそのアプリケーションにマッピングします

  • アプリケーショントラフィックにサービス クラス (CoS)を適用し、アプリケーショントラフィックに優先順位を付けるために、受信アプリケーショントラフィックをコードポイント別に転送クラスと損失優先度にマッピングする分類子を設定できます

アプリケーションマップをインターフェイスに適用して、アプリケーションマップで指定されたアプリケーションごとに、そのインターフェイスでDCBXアプリケーションプロトコル交換を有効にします。インターフェイスでアドバタイズするすべてのアプリケーションは、インターフェイスに適用するアプリケーションマップで設定する必要がありますが、前述の例外は、DCBXがインターフェイス上でプロトコルTLVを交換することを望む唯一のアプリケーションであるFCoEアプリケーションの場合、FCoEアプリケーションの場合です。

アプリケーショントラフィックの分類と優先順位付け

トラフィックがインターフェイスに到着すると、インターフェイスはコードポイントに基づいて受信トラフィックを分類します。分類子は、コード ポイントを損失の優先度と転送クラスにマップします。損失の優先度はトラフィックを優先します。フォワーディングクラスは、トラフィック出力キューとCoSサービスレベルを決定します。

アプリケーションをアプリケーションマップの IEEE 802.1p コードポイントにマッピングし、アプリケーションマップをインターフェイスに適用すると、アプリケーションコードポイントと一致するインターフェイス上の受信トラフィックが適切なアプリケーションにマッピングされます。アプリケーションは、損失優先度とそれらのコード ポイントの転送クラスに関連付けられた CoS を受け取り、転送クラスに関連付けられた出力キューに配置されます。

デフォルトの分類子を使用することも、アプリケーションマップで定義されたアプリケーションコードポイントを転送クラスと損失の優先度にマッピングするように分類子を設定することもできます。

アプリケーションプロトコル情報を交換するインターフェイスの有効化

FCoEコードポイントで fcoe フォワーディングクラスとPFCが有効になっている各インターフェイスはFCoEアプリケーションマップをインターフェイスに適用するまで、デフォルトでアプリケーションプロトコル交換が有効になります。アプリケーション マップをインターフェイスに適用し、そのインターフェイスで FCoE アプリケーション プロトコル TLV を交換する場合は、アプリケーション マップに FCoE アプリケーションを含める必要があります。(いずれの場合も、ロスレス トランスポートを実現するには、FCoE コード ポイントまたはコード ポイントで PFC を有効にする必要があります。

DCBXがインターフェイス上でアドバタイズするプロトコルがFCoEのみである場合を除き、アプリケーションプロトコルTLVを交換するインターフェイスには、次の2つの項目を含める必要があります。

  • アプリケーションを含むアプリケーションマップ

  • 分類子

注:

また、ロスレストランスポートを実現したいトラフィックのコードポイントでPFCを有効にする必要があります。

DCBXアプリケーションプロトコル交換の無効化

インターフェイス上のすべてのアプリケーションのDCBXアプリケーションプロトコル交換を無効にするには、 set protocols dcbx interface interface-name applications no-auto-negotiation コマンドを発行します。

インターフェイス上のアプリケーションに対するDCBXアプリケーションプロトコル交換を無効にするには、インターフェイスからアプリケーションマップを削除するか、アプリケーションマップから特定のアプリケーションを削除します。ただし、アプリケーション マップからアプリケーションを削除すると、そのアプリケーション マップを使用するインターフェイスでアプリケーション プロトコルが交換されなくなります。

IEEE DCBXモードを使用してDCBXパラメータを交換するインターフェイスで、ピア間で非対称ETS設定が必要な場合は、拡張伝送選択(ETS)推奨事項TLVのピアへの送信を無効にすることができます。