メインコンテンツまでスキップ

6. Diff-Serv サポートのための LDP 拡張

MPLS アーキテクチャは、単一のラベル配布プロトコルを仮定しない。[LDP] は、ラベル配布プロトコルおよび MPLS ネットワークにおけるラベルスイッチパス (LSP) の確立のためのその使用を定義する。本節は、MPLS ネットワークで差別化サービスをサポートする LSP を確立するための LDP への拡張を規定する。

本文書で 1 つの新しい LDP TLV が定義される。

  • Diff-Serv TLV

この TLV の詳細な記述は以下で提供する。

新しい Diff-Serv TLV は LDP に関してオプションである。本仕様に準拠して事前設定 EXP<-->PHB mapping' を使用する E-LSP をサポートする Diff-Serv 対応 LSR は、Diff-Serv TLV をサポートし得る (MAY)。本仕様に準拠してシグナリングされた EXP<-->PHB mapping' を使用する E-LSP をサポートする Diff-Serv 対応 LSR は、Diff-Serv TLV をサポートしなければならない (MUST)。本仕様に準拠して L-LSP をサポートする Diff-Serv 対応 LSR は、Diff-Serv TLV をサポートしなければならない (MUST)。

6.1. Diff-Serv TLV​

Diff-Serv TLV は次の形式を持つ。

E-LSP 用の Diff-Serv TLV:

       0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| Diff-Serv (0x0901) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|T| Reserved | MAPnb |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAP (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
...

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAP (MAPnb) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • T (1 bit): LSP タイプ。これは E-LSP に対して 0 に設定される

  • Reserved (27 bits): このフィールドは予約されている。送信時にゼロに設定しなければならず、受信時には無視しなければならない。

  • MAPnb (4 bits): DIFFSERV オブジェクトに含まれる MAP エントリの数を示す。これは 1 から 8 までの任意の値に設定できる。

  • MAP (32 bits): 各 MAP エントリは、1 つの EXP フィールド値と 1 つの PHB の間のマッピングを定義する。MAP エントリは次の形式を持つ。

       0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | EXP | PHBID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Reserved (13 bits): このフィールドは予約されている。送信時にゼロに設定しなければならず、受信時には無視しなければならない。

  • EXP (3 bits): このフィールドは、この MAP エントリで定義される `EXP<-->PHB mapping' のための EXP フィールドの値を含む。

  • PHBID (16 bits): このフィールドは、この MAP エントリで定義される `EXP<-->PHB mapping' のための PHB の PHBID を含む。PHBID は [PHBID] で規定されているとおりにエンコードされる。

L-LSP 用の Diff-Serv TLV:

       0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U|F| Type = PSC (0x0901) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|T| Reserved | PSC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • T (1 bit): LSP タイプ。これは L-LSP に対して 1 に設定される

  • Reserved (15 bits): このフィールドは予約されている。送信時にゼロに設定しなければならず、受信時には無視しなければならない。

  • PSC (16 bits): PSC は、LSP によってサポートされる PHB スケジューリングクラスを示す。PSC は [PHBID] で規定されているとおりにエンコードされる。

6.2. Diff-Serv ステータスコード値​

Status TLV の Status Code フィールドに対して次の値が定義される。

         Status Code                             E   Status Data

Unexpected Diff-Serv TLV 0 0x01000001
Unsupported PHB 0 0x01000002
Invalid `EXP<-->PHB mapping' 0 0x01000003
Unsupported PSC 0 0x01000004
Per-LSP context allocation failure 0 0x01000005

6.3. Diff-Serv 関連 LDP メッセージ​

6.3.1. Label Request メッセージ​

Label Request メッセージの形式は、Diff-Serv TLV をオプションで含むように次のとおり拡張される。

    0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Label Request (0x0401) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Diff-Serv TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.3.2. Label Mapping メッセージ​

Label Mapping メッセージの形式は、Diff-Serv TLV をオプションで含むように次のとおり拡張される。

    0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Label Mapping (0x0400) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Diff-Serv TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.3.3. Label Release メッセージ​

Label Release メッセージの形式は、Status TLV をオプションで含むように次のとおり拡張される。

       0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Label Release (0x0403) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.3.4. Notification メッセージ​

Notification メッセージの形式は、Diff-Serv TLV をオプションで含むように次のとおり拡張される。

    0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Notification (0x0001) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Diff-Serv TLV (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

6.4. Diff-Serv TLV の処理​

6.4.1. Downstream Unsolicited モードでの Diff-Serv TLV の処理​

本節は、Downstream Unsolicited モードが使用される場合の運用を記述する。

事前設定 `EXP<-->PHB mapping' を使用する E-LSP のためにラベルを割り当てる場合、下流の Diff-Serv LSR は Diff-Serv TLV なしの Label Mapping メッセージを発行する。

シグナリングされた `EXP<-->PHB mapping' を使用する E-LSP のためにラベルを割り当てる場合、下流の Diff-Serv LSR は、この E-LSP 上でサポートされる各 EXP 値について 1 つの MAP エントリを含む E-LSP 用の Diff-Serv TLV を持つ Label Mapping メッセージを発行する。

L-LSP のためにラベルを割り当てる場合、下流の Diff-Serv LSR は、この L-LSP 上でサポートされる PHB スケジューリングクラス (PSC) を含む L-LSP 用の Diff-Serv TLV を持つ Label Mapping メッセージを発行する。

ラベルセットアップが成功したと仮定すると、下流および上流の LSR は次を行わなければならない。

  • 前の節で規定されているとおりに、確立された LSP に関連付けられた Diff-Serv コンテキストを ILM/FTN で更新する(入力および出力ラベル)、

  • この NHLFE(出力ラベル)に対して必要な Diff-Serv 転送処理(スケジューリングおよび廃棄動作)をインストールする。

複数の Diff-Serv TLV を持つ Label Mapping メッセージを受信する上流の Diff-Serv LSR は、最初の 1 つのみ意味があるものと見なす。LSR は後続の Diff-Serv TLV を無視し、転送してはならない。

E-LSP 用の Diff-Serv TLV を持つ Label Mapping メッセージを受信し、MAP エントリの 1 つまたは複数にエンコードされた特定の PHB をサポートしない上流の Diff-Serv LSR は、Label TLV および Status Code が `Unsupported PHB' の Status TLV を含む Label Release メッセージを送信することにより、マッピングを拒否しなければならない。

E-LSP 用の Diff-Serv TLV を持つ Label Mapping メッセージを受信し、シグナリングされた EXP<-->PHB mapping' が無効であると判断する上流の Diff-Serv LSR は、Label TLV および Status Code が Invalid EXP<-->PHB mapping' の Status TLV を含む Label Release メッセージを送信することにより、マッピングを拒否しなければならない。E-LSP 用の DIFFSERV オブジェクトでシグナリングされた `EXP<-->PHB mapping' は、次の場合に無効である。

  • MAPnb フィールドが 1 から 8 の範囲にない、または

  • 所与の EXP 値が複数の MAP エントリに現れる、または

  • PHBID エンコーディングが無効である

サポートされない PSC 値を含む L-LSP 用の Diff-Serv TLV を持つ Label Mapping メッセージを受信する上流の Diff-Serv LSR は、Label TLV および Status Code が `Unsupported PSC' の Status TLV を含む Label Release メッセージを送信することにより、マッピングを拒否しなければならない。

6.4.2. Downstream on Demand モードでの Diff-Serv TLV の処理​

本節は、Downstream on Demand モードが使用される場合の運用を記述する。

事前設定 `EXP<-->PHB mapping' を使用する E-LSP のためにラベルを要求する場合、上流の Diff-Serv LSR は Diff-Serv TLV なしの Label Request メッセージを送信する。

シグナリングされた `EXP<-->PHB mapping' を使用する E-LSP のためにラベルを要求する場合、上流の Diff-Serv LSR は、この E-LSP 上でサポートされる各 EXP 値について 1 つの MAP エントリを含む E-LSP 用の Diff-Serv TLV を持つ Label Request メッセージを送信する。

L-LSP のためにラベルを要求する場合、上流の Diff-Serv LSR は、この L-LSP 上でサポートされる PSC を含む L-LSP 用の Diff-Serv TLV を持つ Label Request メッセージを送信する。

E-LSP または L-LSP のための Label Request メッセージに応答して Label Mapping メッセージを送信する下流の Diff-Serv LSR は、この Label Mapping メッセージに Diff-Serv TLV を含めてはならない。ラベルセットアップが成功したと仮定すると、下流および上流の LSR は次を行わなければならない。

  • 前の節で規定されているとおりに、確立された LSP に関連付けられた Diff-Serv コンテキストを ILM/FTN で更新する(入力および出力ラベル)、

  • この NHLFE(出力ラベル)に対して必要な Diff-Serv 転送処理(スケジューリングおよび廃棄動作)をインストールする。

その Label Request メッセージに応答して Diff-Serv TLV を含む Label Mapping メッセージを受信する上流の Diff-Serv LSR は、Label TLV および Status Code が `Unexpected Diff-Serv TLV' の Status TLV を含む Label Release メッセージを送信することにより、ラベルマッピングを拒否しなければならない。

複数の Diff-Serv TLV を持つ Label Request メッセージを受信する下流の Diff-Serv LSR は、最初の 1 つのみ意味があるものと見なす。LSR は後続の Diff-Serv TLV を無視し、転送してはならない。

E-LSP 用の Diff-Serv TLV を持つ Label Request メッセージを受信し、MAP エントリの 1 つ(または複数)にエンコードされた特定の PHB をサポートしない下流の Diff-Serv LSR は、Status Code が `Unsupported PHB' の Status TLV を含む Notification メッセージを送信することにより、要求を拒否しなければならない。

E-LSP 用の Diff-Serv TLV を持つ Label Request メッセージを受信し、シグナリングされた EXP<-->PHB mapping' が無効であると判断する下流の Diff-Serv LSR は、Status Code が Invalid EXP<-->PHB mapping' の Status TLV を含む Notification メッセージを送信することにより、要求を拒否しなければならない。E-LSP 用の DIFFSERV TLV でシグナリングされた `EXP<-->PHB mapping' は、次の場合に無効である。

  • MAPnb フィールドが 1 から 8 の範囲にない、または

  • 所与の EXP 値が複数の MAP エントリに現れる、または

  • PHBID エンコーディングが無効である

サポートされない PSC 値を含む L-LSP 用の Diff-Serv TLV を持つ Label Request メッセージを受信する下流の Diff-Serv LSR は、Status Code が `Unsupported PSC' の Status TLV を含む Notification メッセージを送信することにより、要求を拒否しなければならない。

Label Request メッセージ内の Diff-Serv TLV タイプを認識するが、必要な LSP ごとのコンテキスト情報を割り当てることができない下流の Diff-Serv LSR は、Status Code が `Per-LSP context allocation failure' の Status TLV を含む Notification メッセージを送信することにより、要求を拒否しなければならない。

Label Request メッセージ内の Diff-Serv TLV タイプを認識し、要求された PSC をサポートするが、他の理由で(たとえば利用可能なラベルがない)ラベル要求を満たせない下流の Diff-Serv LSR は、既存の LDP 手順 [LDP] に従って Notification メッセージを送信しなければならない(たとえば `No Label Resource' Status Code を持つ)。この Notification メッセージは、要求された Diff-Serv TLV を含まなければならない。

6.5. Diff-Serv TLV の非処理​

Diff-Serv TLV タイプを認識しない LSR は、Diff-Serv TLV を含む Label Request メッセージまたは Label Mapping メッセージの受信時に、U ビットおよび F ビットが 0 に設定された未知の TLV について [LDP] で規定された手順に従って動作しなければならない。すなわち、メッセージを無視し、`Unknown TLV' Status を持つ Notification メッセージを返さなければならない。

6.6. 帯域情報​

帯域情報はまた、たとえばトラフィックエンジニアリングの目的で、E-LSP および L-LSP の確立時に、[MPLS CR LDP] で記述されている Traffic Parameters TLV を使用してシグナリングされ得る。