ネットワーク サービス ヘッダー(NSH)

ここでは、次の内容について説明します。

機能の概要と変更履歴

要約データ

該当製品または機能エリア

  • P-GW

  • SAEGW

該当プラットフォーム

  • ASR 5500

  • VPC-DI

  • VPC-SI

機能のデフォルト

有効、常時オン

このリリースでの関連する変更点

N/A

関連資料

  • Command Line Interface Reference

  • P-GW Administration Guide

  • SAEGW Administration Guide

マニュアルの変更履歴

改訂の詳細

リリース

このリリースでは、トラフィックステアリングによる NSH ベースのトラフィック識別がサポートされています。

21.9

最初の導入。

21.4

機能説明

基盤となっているトランスポートプロトコルに依存しない専用のサービスプレーンを作成するために、新しいサービスチェーンプロトコルであるネットワーク サービス ヘッダー(NSH)が追加されています。一般に、NSH では、宛先アドレスに到達する前にパケットがルーティングされる一連のサービスノードを記述します。NSH には、IP パケット内のパケットとサービスチェーンに関するメタデータ情報が含まれます。NSH プロトコルにより、さまざまなサービス機能をゲートウェイの外部に展開するという増大する要件に対処できます。

この機能により、P-GW および SAEGW 製品に NSH プロトコルのサポートが導入され、次のものがサポートされます。

  • P-GW/SAEGW での NSH 形式のエンコードおよび復号化。

  • エンコードのために変数ヘッダーに含まれる設定可能なパラメータ。

  • 設定に基づく選択的なトラフィックの NSH 処理。

  • 変数ヘッダーに存在するパラメータのタグ値の設定。

  • NSH で受信したデコードパラメータに基づいて機能するポリシーの選択的設定。

  • フローのすべてのパケットで、またはフローごとに 1 回だけ、NSH 情報をエンコードするインテリジェンスの設定。

  • トラフィックステアリングによる NSH ベースのトラフィック識別。


重要


このリリースでは、パラメータの選択的暗号化はサポートされていません。

機能の仕組み

このセクションでは、シスコの P-GW/SAEGW 製品における NSH プロトコルサポートの仕組みについて説明します。

  • アップリンクパケット

    アップリンクパケットでは、指定された基準とフローが一致する場合、P-GW/SAEGW が NSH を追加します。NSH には可変長のコンテキストヘッダーも含まれています。

    次のコールフローは、シスコの P-GW/SAEGW 製品におけるアップリンクパケットに対する NSH プロトコルのサポートを示しています。

    アップリンクパケットでは、コールフローが指定された基準に一致する場合、P-GW または SAEGW がデータパケットに NSH ヘッダーを追加します。NSH ヘッダーには、可変長のコンテキストヘッダーが含まれている場合があります。設定で指定されている場合は暗号化できます。

  • ダウンリンクパケット

    ダウンリンクパケットの場合、P-GW/SAEGW は、NSH を処理して削除し、抽出された NSH パラメータに基づいてポリシーを適用します。

    次のコールフローは、シスコの P-GW/SAEGW 製品におけるダウンリンクパケットに対する NSH プロトコルのサポートを示しています。

    ダウンリンクパケットの場合、P-GW または SAEGW は NSH ヘッダーを処理して削除します。その後、P-GW または SAEGW は、抽出された NSH パラメータに基づいてポリシーを適用します。

  • 外部 IP パケットの送信元および宛先 IP アドレスは、内部 IP パケットから取得されます。

  • デフォルトでは、NSH カプセル化パケットはポート番号 6633 を使用します。

NSH フレームワークのサポートの設定

ここでは、NSH フレームワークのサポートを追加するためにこの機能で使用する設定手順について説明します。

課金アクションの関連付け

サービスチェーンは、次の方法で課金アクションに関連付けられます。


configure 
		active-charging service service_name 
				charging-action charging_action_name 
						service-chain service_chain_name 
						end 

注:

  • charging-action:課金アクションを定義します。

    charge_action_name:課金アクションの名前を指定します。1 ~ 64 文字の英数字で入力します。

  • service-chain:サービスチェーンの関連付けを定義します。

    service_chain_name:サービスチェーンの名前を指定します。1 ~ 64 文字の英数字で入力します。

サービスチェーンの関連付け

サービスチェーンの関連付けのために、新しい CLI コマンド nsh-formatservice-chain コマンドに追加されました。


configure 
			service-chain <service_chain_name> 
						nsh-format <nsh_format_name> 
						end 
注:
  • service-chain:サービスチェーンの関連付けを定義します。

    service_chain_name:サービスチェーンの名前を指定します。1 ~ 64 文字の英数字で入力します。

  • nsh-format:NSH 形式をサービスチェーンに関連付けます。

サービススキームの関連付け

ACS サービススキーム構成モードへの trigger コマンドに、新しい CLI コマンド nsh-response-received が加されました。


configure 
		active-charging service service_name 
					service-scheme service_scheme_name 
								[ no ] trigger { bearer-creation | flow-create | loc-update | nsh-response-received | sess-setup } 
								end 

注:

  • service-scheme:サブスクライバクラスに基づいたサービススキームの関連付けを有効にします。

    service_scheme_name:サービススキームの名前を指定します。1 ~ 64 文字の英数字で入力します。

  • no:service-scheme のトリガーアクションを無効にします。

  • trigger:service-scheme のトリガーアクションを指定します。

  • Bearer-creation:すべての新しいベアラーでトリガーします。

  • flow-create:すべての新しいフローでトリガーします。

  • loc-update:サブスクライバのロケーションが変更されるたびにトリガーします。

  • nsh-response-received:NSH 応答パケットでトリガーします。

  • sess-setup:セッションのセットアップでトリガーします。

NSH コンフィギュレーション モード

Network Services Header(NSH)コンフィギュレーション モードは、NSH コンフィギュレーション モードのサブモードです。この NSH モードは、NSH のエンコードまたは復号化に使用されます。

[Exec] > [Global Configuration] > [Network Service Entity - IP Configuration]


configure 
				nsh 
				end 

上記のコマンドシーケンスを入力すると、次のプロンプトが表示されます。

[local]host_name(nsh)#

NSH フィールド コンフィギュレーション モード

NSH フィールド コンフィギュレーション モードは、NSH コンフィギュレーション モードのサブモードです。この NSH フィールド コンフィギュレーション モードは、NSH フィールドに値をタグ付けするために使用されます。

[Exec] > [Global Configuration] > [Network Service Header] > [Network Service Header - Fields Configuration]


configure 
				nsh 
						nsh-fieldsfields_name 
						end 

上記のコマンドシーケンスを入力すると、次のプロンプトが表示されます。

[local]host_name(nsh-nshfields)#

tag-value

NSH フィールド コンフィギュレーション モードに追加されたこの新しい CLI コマンドは、NSH フィールドにタグ値を関連付けるために使用できます。


configure 
   nsh 
      nsh-fields fields_name 
         tag-value tag_value { content-type | enterprise-id | imei | imsi | msisdn | rating-group | rulebase | tdf-app-id } 
         end 

注:

  • nsh-fields:NSH フィールドのタグ値を定義します。

    fields_namensh-field の名前を指定します。1 ~ 64 文字の英数字で入力します。

  • tag-value:タグをフィールドに関連付けます。

    tag_value :NSH フィールドのタグ値。

  • content-type:コンテンツタイプを指定します。

  • enterprise-id:NSH コンテキストヘッダーで送信する企業 ID を指定します。

  • imi:サブスクライバの IMEI を指定します。

  • imsi:サブスクライバの IMSI を指定します。

  • msisdn:サブスクライバの電話番号を指定します。

  • rating-group:トラフィックに適用する評価グループを指定します。

  • rulebase:サブスクライバのルールベースを指定します。

  • tdf-app-id:トラフィックに適用する TDF アプリケーション ID を指定します。

NSH 形式コンフィギュレーション モード

NSH 形式コンフィギュレーション モードは、NSH コンフィギュレーション モードのサブモードです。この NSH 形式モードは、NSH のエンコードまたはデコードに使用されます。

[Exec] > [Global Configuration] > [Network Service Header] > [Network Service Header - Format]


configure 
				nsh 
						nsh-formatformat_name 
				  end 

上記のコマンドシーケンスを入力すると、次のプロンプトが表示されます。

[local]host_name(nsh-nshformat)#

encode

この新しい CLI コマンドは、NSH 形式構成モードに追加されています。このコマンドは、NSH 形式に関連付ける NSH エンコーディングフィールドを定義します。


configure 
		nsh 
					nsh-format format_name 
								encode nsh-fields fields_name  
								end 

注:

  • nsh-format:NSH ヘッダーの形式を定義します。

    format_name:NSH 形式の名前を指定します。1 ~ 64 文字の英数字で入力します。

  • encode:エンコード用の nsh フィールドを関連付けます。

  • nsh-fields:nsh フィールドのタグ値を定義します。

    fields_name:フィールドの名前を指定します。1 ~ 64 文字の英数字で入力します。

encoding-frequency

このコマンドは、NSH 形式に関連付ける NSH フィールドのエンコーディング頻度を定義します。


configure 
		nsh 
					nsh-format format_name
								encoding-frequency { always | once-per-flow } 
								end 

注:

  • encoding-frequency:nsh-fields のエンコーディング頻度を定義します。

  • always:ヒットするたびに NSH フィールドをエンコードします。

  • nce-per-flow:フローごとに 1 回、NSH フィールドをエンコードします。

decode

このコマンドは、NSH 形式に関連付けられる NSH デコードフィールドを定義します。


configure 
		nsh 
					nsh-format format_name 
								decode nsh-fields fields_name 
								end 

注:

  • nsh-format:NSH ヘッダーの形式を定義します。

    format_nameNSH 形式の名前を指定します。1 ~ 64 文字の英数字で入力します。

  • decode:デコード用の NSH フィールドを関連付けます。

  • nsh-fields:nsh フィールドのタグ値を定義します。

    fields_name:フィールドの名前を指定します。1 ~ 64 文字の英数字で入力します。

トリガー条件コンフィギュレーション モード コマンド

content-type

このコマンドにより、照合するコンテンツタイプが指定されます。


configure 
		active-charging service service_name 
					trigger-condition trigger_condition_name 
								content-type { operator condition } 
								end 

注:

  • trigger-condition:ACS のトリガー条件を定義します。

    trigger_condition_name:トリガー条件の名前を指定します。1 ~ 64 文字の英数字で入力します。

  • content-type:コンテンツタイプを指定します。

  • operator :照合方法を指定します。演算子は、次のいずれかにする必要があります。

    • !=:等しくない

    • !contains:含まない

    • !ends-with:次で終了しない

    • !starts-with:次で始まらない

    • =:等しい

    • contains:含む

    • ends-with:次で終了する

    • started-with:次で始まる

  • condition:照合する条件を指定します。条件は次のいずれかにする必要があります。

    • FALSE

    • TRUE

tdf-app-id

このコマンドは、照合されるアプリケーションベースのルールの識別子を指定します。


configure 
		active-charging service service_name 
					trigger-condition trigger_condition_name 
								tdf-app-id { operator condition } 
								end 

注:

  • trigger-condition:ACS のトリガー条件を定義します。

    trigger_condition_name:トリガー条件の名前を指定します。1 ~ 64 文字の英数字で入力します。

  • tdf-app-id:アプリケーションベースのルールの識別子を指定します。

  • operator condition:照合方法を指定します。演算子は、次のいずれかにする必要があります。

    • !=:等しくない

    • !contains:含まない

    • !ends-with:次で終了しない

    • !starts-with:次で始まらない

    • =:等しい

    • contains:含む

    • ends-with:次で終了する

    • started-with:次で始まる

  • condition:照合する条件を指定します。条件は次のいずれかにする必要があります。

    • FALSE

    • TRUE

NSH 作成の設定例

次に、この NSH サービス作成の設定例を示します。


config
       nsh
         nsh-fields xyz
            tag-val 1 imei 
            tag-val 2 imsi 
        exit
         nsh-fields abc
            tag-val 4 content-type
        exit
        nsh-format format1
            encoding frequency always
            encode nsh-fields xyz
												decode nsh-fields abc
         exit
    exit
  traffic-steering
		appliance-group firewall
			nsh-format format1
			ip address 1.2.3.4
		#exit
	#exit
	service-chain sch1
		sfp direction uplink service-index 1 appliance firewall
	#exit
 exit
config
    active-charging service ACS
        trigger-action ta1
           throttle-suppress
        exit
        trigger-condition tc1
           content-type contains text
        exit
        service-scheme scheme1
            trigger nsh-response-received
                priority 1 trigger-condition tc1 trigger-action ta1
            exit
        exit
        subs-class class1
            any-match = TRUE
        exit
        subscriber-base base1
            priority 1 subs-class class1 bind service-scheme scheme1
        exit 
       charging-action ca1
           service-chain xyz   
       exit
    exit     
exit

コマンドと出力の表示

この項では、この機能のサポートにおける show コマンドおよびコマンドの出力について説明します。

show nsh statistics

このリリースでは、nsh 統計を表示するためにこのコマンドが新たに追加されました。このコマンドを実行すると、次の出力が表示されます。


Total Encap Successful                :         0
Total Decap Successful                :         0

Total Encap Failed                    :         0
   Memory Allocation                  :         0
   Config Error                       :         0
   Encryption Failed                  :         0

Total Decap Failed                    :         0
   Config Error                       :         0
   Base Header
      Invalid Length                  :         0
      Unsupported Version             :         0
      Unsupported Next Protocol       :         0
      Next Protocol Mismatch          :         0
      Unsupported MD-Type             :         0
   Context Header
      Unsupported MD-Class            :         0
      Unsupported Type                :         0

OAM Packets
   Received                           :         0
   Dropped                            :         0

Unknown Context Header Type           :         0

show active-charging trigger-condition statistics

このコマンドの出力には、この機能の次のフィールドが含まれます。

  • NSH-Rsp-Rcvd

このフィールドには、NSH 応答に基づくトリガー条件の一致が表示されます。