実行最適化サポート

機能の概要と変更履歴

要約データ

表 1. 要約データ

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

SMF

該当するプラットフォーム

SMI

機能のデフォルト設定

バッチ ID の割り当て、リリース、調整のサポート:無効:有効にするには構成が必要

キャッシュ ポッドの最適化

CDL フラッシュ間隔およびセッション有効期限のチューニング構成:有効:無効にするには構成が必要

Ops センターを使用したドメインベースのユーザー認可

エッジ エコーの実装:有効:常時オン

GTPC エンドポイント ポッドのエンコーダとデコーダの最適化:無効:有効にするには構成が必要

ETCD ピア最適化のサポート:有効:常時オン

ETCD トラフィックの最適化:有効:常時オン

ローミングピアの最適化:無効:有効にするには構成が必要

DB データベース更新へのフラグの設定:有効:常時オン

GTPC IPC クロスラックのサポート:無効:有効にするには構成が必要

RRC 非アクティブ原因コードに基づく PDU セッション変更の処理:無効:有効にするには構成が必要

サービス間ポッド通信:無効:有効にするには構成が必要

復元力の処理:無効:有効にするには構成が必要

関連資料

該当なし

更新履歴

表 2. マニュアルの変更履歴

改訂の詳細

リリース

次のサポートが追加されました:

  • ETCD トラフィックの最適化

  • ETCD クライアントのフォールバック

  • K8 ポッドの稼働状態チェックの改善

  • 復元力の処理における Diameter サービス ポッド

  • ローミング ピア最適化

2023.03.0

次のサポートが追加されました

  • キャッシュ ポッドの最適化

  • GTPC エンドポイント ポッドのエンコーダとデコーダの最適化

  • フラグ DB データベースの更新

  • 復元力処理

2023.01.0

最初の導入。

次のサポートが追加されました。

  • バッチ ID の割り当て、リリース、および調整のサポート

  • CDL フラッシュ間隔およびセッション有効期限のチューニング構成

  • Ops センターを使用したドメインベースのユーザー認可

  • エッジ エコーの実装

  • ETCD ピア最適化サポート

  • GTPC IPC クロスラック サポート

  • RRC 非アクティブ原因コードに基づく PDU セッション変更の処理

2022.04.0

機能説明

この章では、パフォーマンス最適化機能について説明します。

一部のパフォーマンス最適化機能は、cnSGW-C と SMF に共通です。

cnSGW-C 機能の詳細については、『UCC 5G cnSGWc 構成および管理ガイド』を参照してください。

バッチ ID の割り当て、リリース、および調整のサポート

機能説明

nodemgr は、接続状態にあるサブスクライバに一意の ID を割り当てます。サブスクライバが接続解除されると、一意の ID が nodemgr に解放されます。割り当てと割り当て解除の手順が増えると、nodemgr のパフォーマンスが影響を受け、sgw-service はこれらの手順を完了するために長時間待機し続けます。

バッチ ID の割り当て、リリース、および調整サポート機能は、sgw-service と nodemgr 間の対話を削減し、nodemgr のパフォーマンスを最適化するメカニズムを提供します。

機能の仕組み

ここでは、この機能の仕組みを説明します。

バッチ ID の割り当て

バッチ ID の割り当てには、次の手順が含まれます。

  • sgw-service では、フリー ID をサブスクライバに割り当てることで ID ストアが管理されます。ID がストアで利用できない場合、sgw-service はバッチ ID 割り当て要求を nodemgr に送信します。

  • nodemgr は応答で、ID 予約レポート間隔で 128 の ID を一括で返します。sgw-service は、nodemgr から受信した ID で ID ストアを更新し、ID 予約レポート間隔のタイマーを開始します。

  • [ID予約レポート間隔(ID Reserve Report Interval)] で構成された期間の前にすべての ID が使用されている場合、sgw-service は、以前の要求からすべての ID を予約する通知とともに、ID 割り当て要求のバッチを nodemgr に送信します。

  • sgw-service がすべての ID を割り当てる前に ID 予約レポート間隔タイマーが期限切れになった場合、sgw-service は予約レポート バッチ操作を介して未使用の ID を nodemgr に返します。

バッチ ID のリリース

バッチ ID のリリースには、次の手順が含まれます。

  • sgw-service は ID ストアが各ノードマネージャに対して解放する ID を管理します。

  • sgw-service は、ID の割り当てが解除されるたびに ID を ID ストアに返します。ID ストアがいっぱいの場合、sgw-service はバッチ ID リリース要求とリリースされた ID をそれぞれのノード マネージャに送信します。

  • sgw-service が ID ストアへの ID の追加を開始すると、ID リリース タイマーがスタートします。

  • バッチ ID がリリースされる前、またはバッチがいっぱいになる前に ID リリースタイマーが期限切れになった場合、sgw-service はリリースされた ID を nodemgr に送信します。

バッチ ID の調整

バッチ ID の調整は、サービス ポッドと nodemgr ポッドの再起動時に発生します。

サービス ポッドの再起動時:

  1. サービス ポッドがバッチ ID を受信し、ID を割り当てる前に応答しなくなった場合、nodemgr はバッチ ID 予約要求を取得できず、ID 予約手順がタイムアウトします。このようなシナリオでは、nodemgr は予約されていないか、割り当てられていない ID を CDL と調整します。サブスクライバに割り当てられていない ID は ID ストアに解放されます。

  2. サービス ポッドは、解放された ID を収集し、無応答になった場合 ID は nodemgr に解放します。このシナリオでは、ID はドロップされます。

nodemgr のポッドの再起動時に、次のように動作します。

  1. 実行中のバッチ ID 予約要求とバッチ ID リリース要求に存在する ID はドロップされます。

  2. nodemgr は、割り当てられた ID をバッチで cachemgr に通知します。ID を cachemgr に通知する前に nodemgr が応答しなくなった場合、nodemgr は再起動後に新しい ID の割り当てを開始します。nodemgr は、最後に割り当てられた ID とバッチ サイズに基づいて ID を割り当てます。

機能設定

この機能を構成するには、次の構成を使用します。

config 
   sgw sgw_name 
      resmgr-batch-operation [ disable | enable ] 
      end 

resmgr-batch-operation [ disable | enable ] :バッチ操作を構成します。デフォルトでは、resmgr-batch-operation は無効です。

OAM サポート

ここでは、この機能の操作、管理、およびメンテナンス サポートについて説明します。

バルク統計

バッチ ID の割り当ておよびリリースのサポート機能では、次の統計情報がサポートされています。

  • sgw_resource_mgmt_stats:cnSGW-C リソース管理統計情報の合計数をキャプチャします。

    サンプル クエリ:

    sgw_resource_mgmt_stats{app_name="smf",cluster="Local",data_center="DC",gr_instance_id="1", id_req_type="id_batch_alloc",instance_id="0",service_name="sgw-service",status="attempted"} 3 :sgw_resource_mgmt_stats{app_name="smf",cluster="Local",data_center="DC",gr_instance_id="1", id_req_type="id_batch_alloc",instance_id="0",service_name="sgw-service",status="success"} 3 
    sgw_resource_mgmt_stats{app_name="smf",cluster="Local",data_center="DC",gr_instance_id="1" ,id_req_type="id_batch_dealloc",instance_id="0",service_name="sgw-service",status="attempted"} 2 sgw_resource_mgmt_stats{app_name="smf",cluster="Local",data_center="DC",gr_instance_id="1",id_req_type= "id_batch_dealloc",instance_id="0",service_name="sgw-service",status="success"} 2 
    sgw_resource_mgmt_stats{app_name="smf",cluster="Local",data_center="DC",gr_instance_id="1", id_req_type="id_batch_dealloc_timeout",instance_id="0",service_name="sgw-service",status="attempted"} 1 :sgw_resource_mgmt_stats{app_name="smf",cluster="Local",data_center="DC",gr_instance_id="1",id_req_type ="id_batch_dealloc_timeout",instance_id="0",service_name="sgw-service",status="success"} 1 
    sgw_resource_mgmt_stats{app_name="smf",cluster="Local",data_center="DC",gr_instance_id="1", id_req_type="id_batch_release_timeout",instance_id="0",service_name="sgw-service",status="attempted"} 1 -:sgw_resource_mgmt_stats{app_name="smf",cluster="Local",d-ata_center="DC",gr_instance_id="1",id_req_type ="id_batch_release_timeout",instance_id="0",service_name="sgw-service",status="success"} 1 
  • nodemgr_rmgr_batch_reconcile_stats:調整のために送信されるバッチの総数をキャプチャします。

    サンプル クエリ:

    nodemgr_rmgr_batch_reconcile_stats{app_name="smf",cluster="Local",data_center="DC",instance_id="0", service_name="nodemgr",status="success"} 1 
  • nodemgr_resource_mgmt_resp_stats:調整のために解放された ID の合計数をキャプチャします。

    サンプル クエリ:

    nodemgr_resource_mgmt_resp_stats{app_name="smf",cluster="Local",data_center="DC",error="", gr_instance_id="0",instance_id="0",ip_ver_type="IP_TYPE_NONE",req_type="ID_REQ_REL_RECONCILE", service_name="nodemgr",status="success"} 16 

バルク統計のサポートの詳細については、「UCC サービング ゲートウェイ コントロール プレーン機能メトリック リファレンス」を参照してください。

キャッシュ ポッドの最適化

機能説明

cnSGW-C は、GTPC エンドポイントでのキャッシュ ポッド クエリを削減するためのキャッシュ ポッドの最適化をサポートしています。アフィニティの取得クエリは、GTPC エンドポイントへの発信要求または応答メッセージでアフィニティ情報を受信するために使用されます。この最適化により、GTPC エンドポイント ポッドは、今後の要求メッセージのキャッシュポッドにクエリを送信しません。

CDL フラッシュ間隔およびセッション有効期限のチューニング構成

機能説明

デフォルトのサービスポッド パラメータを変更して、スループット パフォーマンスを微調整し、負荷パフォーマンスを最適化できます。

機能設定

この機能を構成するには、次の構成を使用します。

config 
   profile sgw sgw_name 
      timers [ session-expiration-in-secs session_expiration | affinity-expiration-in-secs affinity_expiration | session-dbsync-interval-in-ms database_sync ] 
      end 

  • session-expiration-in-secs session_expiration :セッションがサービス ポッドにキャッシュされる期間を指定します。 session_expiration は 、1 ~ 600 ミリ秒の範囲の値を受け入れます。デフォルト値は 30 ミリ秒です。

  • affinity-expiration-in-secs affinity_expiration :サービス ポッドやその他のポッドでセッション アフィニティ キーが有効である期間を指定します。 affinity_expiration は 、1 ~ 1200 秒の範囲の値を受け入れます。デフォルトは 80 秒です。

  • session-dbsync-interval-in-ms database_sync :セッションがデータベースで同期されるまでの期間を指定します。 database_sync は 、1 ~ 10000 ミリ秒の値を受け入れます。デフォルトのタイムアウト値は 500 ミリ秒です。

Ops センターを使用したドメインベースのユーザー認可

機能説明

SMF と cnSGW-C は、Ops Center を使用したドメインベースのユーザー認証をサポートしています。ユーザー単位でアクセスを制御するには、Ops Center AAA で TACACS プロトコルを使用します。このプロトコルを使用すると、ルータまたは NAS へのアクセスを試みるユーザーを集中的に検証できます。

ルール リストで NETCONF アクセス制御(NACM)ルールを構成します。構成したルールを Ops Center の構成にマッピングして、グループを適切な運用許可にマッピングします。次の基準と製品に基づいた構成を使用します。

  • NACM ルールと SMF ドメインベースのグループを使用して、SMF ベースの構成にアクセスのみ、または更新を許可するように Ops Center を構成します。

  • NACM ルールと cSGW-C ドメインベースのグループを使用して、cSGW-C ベースの構成にアクセスのみ、または更新を許可するように Ops Center を構成します。

  • NACM ルールと cSGW-C ドメインベースのグループを使用して、CCG ベースの構成にアクセスのみ、または更新を許可するように Ops Center を構成します。


(注)  


NSO サービス アカウントは、構成全体にアクセスできます。


機能の仕組み

Ops センターでこの機能構成をサポートするために、domain-based-services 構成が TACACS セキュリティ構成に追加されます。TACACS フローの変更は次のように機能します。

  • domain-based-services パラメータを構成している場合、TACACS プロセスに送信される構成済みのユーザー名は、ユーザー ID をユーザー ID と ドメインに分割します。ドメインデリミタである分割文字は、domain-based-services で構成されます。これらの分割文字は「@」、「/」、または「\」であり、ドメインおよびユーザー ID 情報を取得するために次の形式で使用されます。

    • @ — <user id>@<domain>

    • / — <domain>/<user id>

    • \ — <domain>\<user id>

  • TACACS は、既存のフローに従って認証および認可します。ただし、domain-based-services 機能が有効になっていて、TACACS がユーザーを認証および認可する場合、次のステップが TACACS フロー手順に追加されます。

    • Network Services Orchestrator(NSO)が NSO サービス アカウントとしてログインすると、そのセッションは、domain-based-services nso-service-account group group-name で設定した特定の NACM グループを受け取ります。これは、機能的には NSO の動作と同じです。

    • 指定したドメインがグループ マッピングに存在する場合は、domain-based-services domain-service domain group group-name で構成した NACM グループが適用されます。

    • ユーザーにドメインがない場合、またはドメインがドメインからグループへのマッピングに存在しない場合、domain-based-services no-domain group group-name で構成した no-domain NACM グループが適用されます。no-domain 構成が存在しない場合、ユーザー値は拒否されます。

この機能を有効にするには、次のオプションを指定して domain-based-services CLI コマンドを構成する必要があります。

  • NSO サービス アカウント

  • ドメイン サービス

  • ドメイン デリミタ

  • ドメインなし

機能設定

Ops センターを使用してドメインベースのユーザー認証を有効にするには、次の構成例を使用します。

config 
   tacacs-security domain-based-services [ domain-delimiter delimiter_option | domain-service domain_service_name [ group service_group_name  ] | no-domain group service_group_name | nso-service-account [ group service_group_name | id service_account_id ] ] 
   end 

注:

  • domain-based-services [ domain-delimiter delimiter_option | domain-service domain_service_name [ group service_group_name ] | no-domain group service_group_name | nso-service-account [ group service_group_name | id service_account_id ] ] : Configure the required domain-based-services value.domain-based-services には次のオプションが含まれます。

    • domain-delimiter :ドメインの決定に使用するデリミタを指定します。このオプションは必須であり、次の値を使用できます。

      • @:ドメインデリミタが「@」の場合、ユーザー値は <user> @<domain> 形式になります。

      • /:ドメインデリミタが「/」の場合、ユーザー値は次の形式になります。<domain> /<user> 。

      • \:ドメインデリミタが「\」の場合、ユーザー値は <domain>\<user> 形式になります。

    • domain-service :ドメインおよびそのドメインのグループ マッピングのリストを指定します。キーはドメインの名前で、グループはドメインに割り当てられたグループです。このリストの少なくとも 1 つのオプションを構成する必要があります。

    • no-domain :ドメインを持たないグループを指定します。またはドメインがドメインサービス マッピングで使用できない場合、このグループが受け入れ応答で送信されます。

    • nso-service-account :ID とグループを持つ NSO サービスアカウントを指定します。このパラメータを構成する場合は、ID フィールドとグループ フィールドを構成する必要があります。ID とグループには文字列値が必要です。

設定例

次に、tacacs セキュリティ モードでのドメインベースのユーザー認証の例を示します。

config
   tacacs-security domain-based-services nso-service-account id nsid
      tacacs-security domain-based-services nso-service-account group nso-group
   tacacs-security domain-based-services no-domain group read-operational
   tacacs-security domain-based-services domain-delimiter @
   tacacs-security domain-based-services domain-service etcd
      group etcd
exit
tacacs-security domain-based-services domain-service sgw
   group sgw_1
exit
tacacs-security domain-based-services domain-service smf
   group smf
exit

設定の確認

構成を確認するには、次の show コマンドを使用します。

show running-config tacacs-security

この show コマンドの出力には、TACACS セキュリティ内のドメインベースのサービスのすべての構成が表示されます。

[smf] smf# show running-config tacacs-security
tacacs-security service smf
tacacs-security server 1
address 209.165.200.234
key $8$+twbdL2ZCgmjVswgp7kFJp8+SMXDjQRTZgoPVa3oEwY=
exit
tacacs-security domain-based-services nso-service-account id nsid
tacacs-security domain-based-services nso-service-account group nso-group
tacacs-security domain-based-services no-domain group read-operational
tacacs-security domain-based-services domain-delimiter @
tacacs-security domain-based-services domain-service etcd 
group etcd
exit
tacacs-security domain-based-services domain-service sgw
group sgw_1
exit
tacacs-security domain-based-services domain-service smf
group smf
exit

エッジ エコーの実装

機能説明

非マージ モードでは、udp-proxy ポッドはエンドポイントとして機能し、gtpc-ep はピア ノードからのエコー要求に応答します。

gtpc-ep では、システムが CEPS を大量に受信した場合にトラフィックが発生し、gtpc-ep が udp-proxy からメッセージをピックアップするレートと、udp-proxy がメッセージを取得するれーpとに不一致が生じるとき、トラフィックが発生します。

gtpc-ep がロードされると、udp-proxy と gtpc-ep の間のキューがいっぱいになり、udp-proxy の一部のメッセージがドロップされることがあります。これらがエコー要求メッセージである場合、エコー応答を受信していないため、ピアはパス障害を検出します。さらに、ピアは sgw サービスに送信されたすべてのセッションをクリアします。

機能の仕組み

ここでは、この機能の仕組みを説明します。

nodemgr は次の手順でエコー要求を処理します。

  • nodemgr には、各 GR インスタンス ID と GTPC ピアの自己再起動カウンタキャッシュが保持されます。

  • UDP プロキシ ポッドがピアからエコー要求を受信し、自己再起動カウンタ値が自己再起動カウンタ キャッシュで利用できない場合、UDP プロキシ ポッドがエコー要求を GTPC-EP に転送します。

  • GTPC-EP が UDP プロキシ メッセージ メタデータの一部としてエコー応答で自己再起動カウンタを送信します。UDP プロキシが自己再起動カウンタを自己再起動カウンタ キャッシュに保存します。UDP プロキシは、ピアからエコー要求を受信し、自己再起動カウンタ値が自己再起動カウンタ キャッシュで利用可能な場合、再起動カウンタとともにエコー応答を送信します。

  • UDP プロキシがエコー要求メッセージを GTPC-EP に転送します。GTPC-EP がエコー要求を処理し、必要に応じて nodemgr に転送します。

  • ピア再起動カウンタ値が変更されると、nodemgr はパス障害を検出します。

  • エコー応答では、GTPC-EP が UDP プロキシ メッセージ メタデータの自己再起動カウンタを UDP-Proxy に送信します。自己再起動カウンタが自己再起動カウンタ キャッシュに保存されているカウンタとは異なる場合、UDP プロキシはキャッシュ内の自己再起動カウンタを更新し、GTPC-EP から受信したエコー応答をドロップします。


(注)  


GTPC-EP がマージ モードで開始された場合、エッジ エコー機能はサポートされません。


Heartbeat

GTPV2 インターフェイスのエコー要求メッセージとエコー応答メッセージを処理するために、GTPC-EP と UDP プロキシ ポッドの間にハートビート キューが実装されます。ハートビートキューは、PFCP インターフェイスのプロトコルと UDP プロキシ ポッド間のハートビート要求およびハートビート応答メッセージに関与します。

OAM サポート

ここでは、この機能の操作、管理、およびメンテナンス サポートについて説明します。

バルク統計サポート

エッジ エコー実装機能では、次の統計情報がサポートされています。

  • ハートビート キュー ステータス:

    sum(irate(ipc_response_total{rpc_name~=".ipc_stream_hb."}[10s])) by (service_name, instance_id, status, status_code, rpc_name, dest_host)
  • EdgeEcho メッセージを確認します。

    sum(irate(udp_proxy_msg_total{ message_name ="edge_echo"}[30s])) by (message_name, message_direction, status)

ハートビートキューおよび EdgeEcho メッセージを有効にするには、以下を使用して udp_proxy_msg_total のトレースレベル統計を構成します。

infra metrics verbose application 
   metrics udp_proxy_msg_total level trace 
   exit 

(注)  


ハートビートおよび EdgeEcho 統計を有効にすると、udp-proxy ポッドのパフォーマンスが低下する可能性があります。


GTPC エンドポイント ポッドのエンコーダとデコーダの最適化

機能説明

SMF は enable-direct-encdec CLI コマンドを使用して、GTPC エンドポイント ポッドに関連付けられている IE のエンコードとデコードを最適化します。この最適化により、メモリ管理が向上し、ガベージ コレクション時間が短縮されます。

機能設定

この機能は、実行時に有効にすることができます。デフォルトでは、この機能は無効になっています。

この機能を構成するには、次の構成例を使用します。

config 
   instance instance-id instance_id 
      endpoint gtp 
      interface s5e 
         enable-direct-encdec true | false 
      interface s11 
         enable-direct-encdec true | false 
      exit 
   exit 

  • enable-direct-encdec true | false : エンコーダとデコーダを有効にするには、値を true として選択します。デフォルトでは、このフィールドの値は false です。

ETCD ピア最適化サポート

機能説明

多数の GTPC ピアが SMF または cnSGW-C に接続されている場合、ETCD のパフォーマンスに影響が出ます。各ピアは ETCD のレコードと見なされ、タイムスタンプはピア単位で 30 秒ごとに更新されるため、ETCD が継続的に更新され、システム全体のパフォーマンスに影響を与える大量のトラフィックが生成されます。

ETCD ピア最適化機能は、ピア管理の最適化を促進し、ETCD に対するパフォーマンスの影響の軽減を可能にします。

機能の仕組み

ここでは、この機能の仕組みを説明します。

各ピアをETCD レコード エントリと見なさず、各ピアの IP アドレスのハッシュ値に基づいて、複数のピアをピア グループとしてグループ化します。これにより、ETCD のエントリの数が減少します。デフォルトでは、最大 200 のピア グループを作成できます。ピア グループ内のピアに関連する変更の場合:

  • 新しいピアの場合、ピア グループはETCDですぐに保持されます。

  • 既存のピアのタイムスタンプの変更の場合、ピア グループは 3 秒ごとに 1 回更新されます。次の更新:

    • 各ピア グループ内でタイムスタンプが変更された多くのピアの累積的なグループ更新が発生します。

    • etcd の頻繁な更新を削減します。

ローミング ピア最適化

機能説明

SMF は、次の 2 つの方法でピア ノードをローミングとして識別します。

  • インターフェイスに基づくローミング ピア検出:S8 インターフェイスを構成し、CSR、MBR、およびエコー要求を S8 経由で送信してローミング ピアとして識別します。

  • アプリケーションによるローミングピア検出: サービスネットワークをローミング PLMN として構成し、S5 インターフェイス経由でメッセージが送信されるようにします。次に、タイプが「ローミング」としてリストに表示されている場合は、ピアをローミングとして識別します。

機能の仕組み

このセクションでは、SMF がローミング ピアを検出して最適化する方法について説明します。

インターフェイスに基づくローミング ピア検出

SMF は、エンドポイント GTP での S8 VIP の構成をサポートしています。ピアからのセッション要求/変更ベアラー要求/エコー要求(CSR/MBR)が S8 VIP に到達すると、SMF はピアを ROAMING SGW としてマークし、ピアタイプも更新します。

アプリケーションによるローミング ピア検出

SMF は、SMF プロファイルでの PLMN リストの構成をサポートします。SMF は、サービングと UE-PLMN を構成された plmns と比較して、セッションがホーマーかローマーかを判断します。

UE-PLMN が構成済み PLMN リストで見つかり、サービング PLMN が構成済み PLMN リストで見つからない場合、そのセッションはローマー(発信ローマー)としてマークされます。

新しいセッション作成の CSR、またはハンドオフ用の MBR を取得すると、SMF サービスはセッションがローマー セッションであることを検出します。


(注)  


SMF からパートナー SGW への最初のダウンリンク制御メッセージは、セッション応答の作成または変更されたベアラー応答であると想定されています。


ピア最適化

S8 インターフェイスを介してピアから CSR/MBR/エコー要求を取得すると、SMF はピアをローミング SGW としてマークし、S8 インターフェイスに対して行われたパス管理関連の構成を使用します。

パートナー SGW のパス障害検出ロジックに違いはありません。S5 インターフェイスを介したローミングセッションとしてセッションを検出すると、SMF はピアをローミング SGW としてマークし、S8 インターフェイスに対して行われたパス管理関連の構成を更新します。

SMF には、S8 インターフェイスのエコーを無効にすることで、パス管理を無効にするオプションがあります。エコーを無効にするには、エコー間隔を 0 に構成します。この場合、ローミング SGW の SMF からエコーは開始されません。

SMF は、デフォルトでは、VIP インターフェイスに VRF アソシエーションがない場合、ローミング SGW のためのルートを追加します。VRF の関連付けが存在する場合、SMF はルートをインストールしません。


(注)  


ピア再起動の影響を最小限に抑えるために、ローマ セッションの cp-idle/up-idle タイムアウトを小さくすることが推奨されます。ピア パス障害またはピア再起動の(古いセッション)検出されないを最小限に抑えることができます。


制限事項

SMF でのローミング ピア最適化の既知の制限を次に示します。

  • ローミング SGW に対してエコーが無効になっている場合、SMF は再起動カウンタに基づくピア パス管理を行いません。

機能設定

SMF は次の構成を使用してローミングピアを最適化します:

config 
   instance instance-id gr_instance_id 
   endpoint gtp 
      interface { s2b | s5 | s5e | s8 | s11 } 
      echo interval echo_interval 
      echo retransmission-timeout retransmission_timeout_value 
      echo max-retransmissions max_retry_count 
      end 

  • interval echo_interval :エコー間隔の範囲は <300 ~ 3600> 秒です。デフォルト値はデフォルト 300 秒です。エコー間隔を 0 秒に構成すると、アウトバウンド エコーが無効になります。この変更は、インターフェイスのタイプに関係なく適用されます。s2b、s5e、s5e、s11 などの他のインターフェイスの場合、エコー間隔の範囲は <60-3600> 秒です。

  • retransmission-timeout retransmission_timeout_value :S8 インターフェイスの再送信タイムアウトの範囲は <60 〜 180> 秒です。デフォルト値は 60 秒です。s2b、s5e、s5e、s11 などの他のインターフェイスの場合、再送信のタイムアウトの範囲は <1 〜 20> 秒です。

  • max-retransmissions max_retry_count :GTP エコー要求の最大再試行回数の値の範囲は 0 ~ 4 です。デフォルト値は 4 です。s2b、s5e、s5e、s11 などの他のインターフェイスの場合、最大再送信回数の範囲は <0 〜 10> です。


(注)  


これらのパラメータは、S8 インターフェイスにのみ適用されます。他のインターフェイスについては、既存の構成が適用されます。


設定例

S8 インターフェイスの構成例:

[unknown] smf# config
Entering configuration mode terminal
[smf] smf(config-instance-id-1)# endpoint gtp
[smf] smf(config-endpoint-gtp)# interface s8
[smf] smf(config-interface-s8)# vip-ip 192.0.2.1 vip-interface bd2.pgs5.3051
echo interval          300
   echo retransmission-timeout 60
   echo max-retransmissions 4
  exit

設定の確認

show peers all コマンドは、すべてのローミング SGW とそのノード情報を表示します。

[smf] smf# show peers all
GR INSTANCE ENDPOINT LOCAL ADDRESS PEER ADDRESS DIRECTION POD INSTANCE TYPE CONNECTED TIME RPC ADDITIONAL DETAILS INTERFACE NAME VRF
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 N4 10.1.3.185:8805 10.1.3.234:8805 Inbound nodemgr-1 Udp 4 hours UPF Capacity: 65535,LoadMetric: 0,LoadSeqNo: 0,Mode: Online,OverloadMetric: 0,OverloadSeqNo: 0,Priority: 65535  N4 NA
1 S5/S8 10.1.3.248:2123 10.1.3.245:2123 Inbound nodemgr-0 Udp 4 hours SGW MaxRemoteRcChange: N/A,Recovery: 100 S8 NA
1 S5/S8 10.1.1.23:2123  10.1.3.245:2123 Inbound nodemgr-0 Udp 4 hours SGW MaxRemoteRcChange: N/A,PeerType: Roaming,Recovery: 100 S5 NA

ETCD トラフィックの最適化

拡張分散キー値(ETCD)は、分散システムで使用される構成データ、状態データ、およびその他のデータを格納するために使用される分散 key-value ストアです。

機能説明

拡張分散キー値(ETCD)のトポロジ データの現在の実装では、内部データと外部データの両方が特定のプレフィックスとともに保存され、アプリケーションはすべてのデータのコンテキストを作成し、ETCD データのすべての変更を処理します。この動作により、各ポッドから ETCD に大量のトラフィックが発生します。これには、これらの通知とレコードに関心のない一部のポッドが含まれます。

この問題に対処するために、この機能により、ポッドはこれらの通知とリロードをオプトイン/アウトできます。この「制限付き通知」および「リロード」機能はオプションです。この機能を使用すると、サブスクリプション サービスとピア データの通知のみを受信します。


(注)  


アップグレード中に既存の実稼働環境に影響を与えないよう、現在のキー構造を保持することが重要です。


ETCD のトラフィック最適化は、構成管理とサービス検出に etcd に依存する分散システムの信頼性、パフォーマンス、スケーラビリティ、およびセキュリティを向上させます。

機能の仕組み

ETCD には、次の 2 つの主要なデータ カテゴリが保存されます:

  1. 内部トポロジ データ、ETCD のインスタンス情報、エンドポイント情報とリーダー情報が含まれます。

  2. アプリケーションによって追加された外部ピアの情報。

これらのデータ カテゴリは両方とも ETCD に保存され、内部トポロジ データと外部ピア情報データの保存と通知に使用されます。トポロジ データと通知の現在の実装により、ETCD へのトラフィックが増加します。ポッドがこれらの通知とリロードをオプトインできるようにする、制限付きの通知とリロード機能を実装することで、トラフィックを削減できます。

現在のトポロジ データは、これらのエントリに関係のないポッドを含む、すべてのアプリケーション インフラ ベースのポッドにブロードキャストされます。これにより、ETCD からの不要な通知が発生しますが、これを回避できます。

さらに、すべてのデータが 10 秒ごとにリロードされます。つまり、ETCD とローカル キャッシュからのレコードが調整されます。不一致の場合は、通知が表示されます。このアプローチでは、ETCD とローカル キャッシュ間の一貫性が確保されますが、ETCD へのトラフィックが過剰になる可能性があります。

このプロセスを最適化するために、新しい実装では、通知とリロードに選択的なアプローチを適用し、すべてのポッドにブロードキャストするのではなく、特定のエントリまたは変更を必要とするポッドのみが通知されます。また、10 秒ごとにすべてのデータをリロードする代わりに、サブスクライブされたデータのみをリロードすると効率的です。この選択的なアプローチにより、さまざまなポッドとETCD 間のデータ量を削減し、システムの全体的なパフォーマンスを向上させることができます。その結果、ETCD とすべてのポッド間のトラフィックが減少します。

次のポッドは外部ピア データを受信しなくなるため、トラフィックが減少します:

  • cache-pod

  • rest-ep

  • UDP プロキシ

  • radius-ep

  • li-ep

  • dns-proxy

  • gtpp-ep

  • georeplication-pod

  • oam-pod

ETCD クライアントのフォールバック

機能説明

ETCD クライアントでは、次のコンポーネントが実装されています:

  • ETCD クラスタへの gRPC 接続を確立するバランサ。

  • ETCD サーバーに RPC を送信する API クライアント。

  • 失敗した要求を再試行するか、エンドポイントを切り替えるかを決定するエラー ハンドラ。

5G のメモリ キャッシュを使用するアプリインフラベースのポッドは、ETCD サーバーと通信します。この通信は、ETCD クライアント ロード バランサを介して分散システムに重要なデータを保存するためのものです。メモリ キャッシュは、clientv3-grpc1.7 ライブラリを実装する ETCD クライアント 3.3 バージョンを使用します。

ETCD クライアント ロード バランサ

SMF は、clientv3-grpc1.14 ライブラリを実装する ETCD クライアント バージョン 3.4.21 をサポートしています。このライブラリには下位互換性があります。

clientv3-grpc1.14 ライブラリには、次の重要なポイントがあります。

  • 異常なエンドポイントのリストを維持するのではなく、バランサーのフェールオーバー ロジックを簡素化します。

  • 複数のエンドポイントが使用可能な場合は、複数のサブ接続を作成します。これは、エンドポイントごとに 1 つのサブ接続を意味します。たとえば、5 ノードクラスタでは、clientv3-grpc1.14 バランサーには 5 つの TCP 接続が必要です。

  • TCP 接続のプールを保持することで、より優れたフェールオーバー パフォーマンスと柔軟なロードバランサを提供します。

  • デフォルトのラウンドロビン負荷分散ポリシーを拡張し、パワーオブツーやピックリーダーなどの他の種類の負荷分散方式をサポートするようにします。

  • gRPC リゾルバ グループを使用し、バランサー ピッカー ポリシーを実装して、複雑なバランシング作業をアップストリーム gRPC に委任します。

  • gRPC 内部エラーを自動的に処理し、バックオフなどの高度な再試行ポリシーを有効にする gRPC インターセプタ チェーンに再試行を導入します。

ETCD のクライアントの再試行メカニズム

PUT 要求のエラーを受信すると、ETCD クライアントはこの要求を 3 回再試行します。ETCD クライアントは、各再試行を 1 秒のタイムアウト後に実行します。ETCD クライアントは、3 回の再試行すべてを 3 秒以内に完了し、アプリケーションの既存の SLA を満たします。3 回の再試行の後、ETCD クライアントは結果をアプリケーションに返します。

フラグ DB データベースの更新

機能説明

SMF は 、サブスクライバの状態がアイドルからアクティブに変わり、URI、UeTz、またはサービング ネットワークが変更される時に、CDL を更新します。

CDL に向けられたトランザクション要求が増加すると、SMF による CPU 使用率が高くなります。不要な CPU 使用率を防ぐために、 SMF は 変更された属性で CDL のサブセットのみを更新します。

フラグ DB データベースは、次の SMF プロシージャのために更新されます:

  • ULI 変更のみの MBR:SMF は、応答を送信するステートレスな方法で、URI 変更のみの MBR を処理します。応答の送信後、smf サービスは CDL を更新します。これは、CPU 使用率に影響します。CPU 使用率を最適化するために、ULI については、部分的な更新でのみ SMF が CDL に通知します。

  • 4G RAT ハンドオーバー:S-GW 間ハンドオーバー中に、smf サービスは ULI の変更と TEID の変更を含む MBR を受信します。CPU 使用率を最適化するために、SMF は、すべてのベアラーの引き継ぎが成功した場合、部分的なアップデートのみを使用してピア TEID と ULI について CDL に通知します。

  • N2 ハンドオーバー:N2 ハンドオーバー手順が終了すると、smf-service は CPU 使用率に影響を与える CDL を更新します。CPU 使用率を最適化するために、SMF は既存のすべての QFI の引き継ぎが成功した場合、部分的なアップデートで ULI と TEID のみについて CDL に通知します。

RRC 非アクティブ原因コードに基づく PDU セッション変更の処理

機能説明

無線リソース制御(RRC)は、5G NR プロトコル スタック内のレイヤです。コントロール プレーン、UE、gNB にのみ存在します。PDU セッションの既存の状態により、RRC の動作と機能が制御されます。

PCF によって開始された変更中に、AMF は、次の条件で、SmContextUpdate メッセージの N2 コンテンツに含まれる受信した失敗した転送無線ネットワーク原因コードを SMF に送信します。

  • XN ハンドオーバーが進行中の場合。

  • AN が解放された場合。

  • UE が RRC 非アクティブ状態の場合。

  • UE が到達不能な場合。

N2 原因コードを含む SmContextUpdate メッセージは、AMF から SMF、または SMF から AMF へのブリッジとコンバータとして機能します。

機能の仕組み

ここでは、この機能の仕組みを説明します。

PCF によって開始された変更中に、Xn ハンドオーバーが進行中の場合、次のシナリオが通知されます。

  • AN が解放されるか、UE が RRC 非アクティブ状態になっていて到達不能になっています。

  • AMF は、 SmContextUpdate メッセージの N2 コンテンツで、受信した転送に失敗した無線ネットワークの原因コードを SMF にリレーします。

  • これらの原因コードは、標準の無線ネットワークの原因である可能性もありますが、gNBから送信されたカスタマイズされた無線ネットワーク原因コードの可能性もあります。

以前は、これらの原因コードは SMF によって拒否され、PCF は同じ PCF の変更を複数回試行していました。SMF はすぐに拒否されず、PCF からの複数の再試行を回避するために、新しい N2 トリガー構成に基づいて、さまざまな原因コードに対して異なる動作をするようになりました。

受信した N2 原因コードに基づいて、PDU 変更手順の SMF では次のシナリオがサポートされます:

  • 原因コードが Xn ハンドオーバーが進行中であることを示しているか、AN が解放された場合、次のアクティビティが発生します。

    • SMF は進行中の PDU セッションの変更を一時停止します。

    • Xn ハンドオーバーまたは AN リリース後に再開されます。

  • 原因コードが、UE が RRC 非アクティブで到達不能であることを示している場合、次のアクティビティが発生します。

    • SMF が PDU セッションの変更を拒否します。

    • ルール違反を PCF に報告する。

デフォルトでは、この機能は、デフォルトのガードタイムアウトと最大再試行がゼロのいくつかの標準 RRC 非アクティブ原因コードに対してアクティブになります。

次の原因コードの場合、SMF はセッション変更を一時停止し、Xn-handover アクティビティが終了した後にのみセッション変更を再開します。

  • _RadioNetwork_NG_intra_system_handover_triggers

  • _RadioNetwork_NG_inter_system_handover_triggers

次の原因コードの場合、SMF はセッション変更を拒否します。

  • _RadioNetwork_UE_in_RRC_INACTIVE_state_not_reachable

標準の原因コードとともに、新しい N2 トリガー CLI が導入され、さまざまなカスタマイズされた無線ネットワーク原因コードと対応する SMF アクションを構成できるようになりました。


(注)  


非ローミング PCF によって開始された変更シナリオは、この機能の一部としてサポートされています。


コール フロー

ここでは、この機能の主要なコール フローについて説明します。

PCF によって開始された gNB 転送状態の変更

このセクションでは、PCF によって開始された変更コール フロー手順における gNB 転送状態のアクティビティについて説明します。

次の図は、PCF によって開始される gNB 転送状態のコール フローの変更を示しています。

図 1. PCF によって開始された gNB 転送状態の変更でのコール フロー
表 3. PCF によって開始された gNB 転送状態の変更でのコール フローの説明

ステップ

説明

1

PCF は、SMF に SMF ポリシー関連付け変更要求を送信します。

これは、SMF からも同じメッセージを受信するため、相互に交換可能なアクションです。

2

SMF が AMF に Name Comm N1N2MessageTransfer 要求を送信します。

これは、AMFからも同じメッセージを受信するため、交換可能なアクションです。

3

AMF は、lastRAN に PDU セッション リソース変更要求を送信します。

4

lastRAN は、RAN にページング アクティビティを要求します。

5

gNB はページング アクティビティを実行し、RAN と lastRAN 間のコンテキストを取得します。

lastRAN は、Retrieve Context メッセージを RAN に送信します。

これは、RAN から同じメッセージも受信するため、相互に交換可能なアクションです。

6

lastRAN は、AMF に PDU セッション リソース変更応答を送信します。

また、PDU セッション リソース変更の失敗の転送 IE(cause xxx-handover-triggered メッセージ)も含まれます。

7

AMF は Nsmf PDUSession UpdateSMContext メッセージ(N2 から xxx-handover-triggered)を処理して SMF に送信します。

これは、SMF からも同じメッセージを受信するため、相互に交換可能なアクションです。

(注)  

 

このステップの間、SMF はそれ以降の手順を一時停止し、HO を開始して完了します。

8

RAN は、N2 パス切り替え要求を AMF に送信します。

9

AMF は、Nsmf PDUSession UpdateSMContext(N2SMlnfo)応答メッセージを SMF に送信します。

(注)  

 

ステップ番号 7 と 9 は、SMF に向けて、または AMF から任意の順序で進めることができます。

10

SMF が AMF に PDU セッション リソース変更メッセージを再送信します。

これは、AMF からも同じメッセージを受信するため、交換可能なアクションです。

(注)  

 

このステップ中にパスの切り替えが完了し、変更手順が再開されます。

11

AMF は、PDU セッション リソース変更メッセージを RAN に送信します。

これは、RAN から同じメッセージも受信するため、相互に交換可能なアクションです。

12

RAN は、成功通知の PDU セッション リソース変更(成功)メッセージを AMF に送信します。

これは、AMF からも同じメッセージを受信するため、交換可能なアクションです。

13

AMF は、変更された応答 Nsmf PDUSession UpdateSMContext(N2 変更応答)メッセージを SMF に送信します。

これは、AMF からも同じメッセージを受信するため、交換可能なアクションです。

14

SMF は PCF に、レポートの SM ポリシー関連付け変更(ルール レポート)メッセージを送信します。

これは、PCF からも同じメッセージを受信するため、相互に交換可能なアクションです。

PCF によって開始された UE 到達不能状態に関する変更

このセクションでは、PCF によって開始された変更コール フロー手順での UE 到達不能状態のアクティビティについて説明します。

次の図は、PCF によって開始された UE 到達不能状態の変更を示しています。

図 2. PCF によって開始された UE の到達不能状態に対する変更のコール フロー
表 4. PCF によって開始された UE 到達不能状態に対する変更のコール フローの説明

ステップ

説明

1

PCF は、SMF に SMF ポリシー関連付け変更要求を送信します。

これは、SMF からも同じメッセージを受信するため、相互に交換可能なアクションです。

2

SMF が AMF に Name Comm N1N2MessageTransfer 要求を送信します。

これは、AMFからも同じメッセージを受信するため、交換可能なアクションです。

3

AMF は、RAN に PDU セッション リソース変更要求を送信します。

(注)  

 

このステップ中に、UE が到達不能であるため、gNB はページングアクティビティを実行します。

4

RAN は、PDU セッション リソース変更応答失敗メッセージを AMF に送信します。

また、障害原因である ue-in-rrc-inactive-state-not-reachable メッセージも含まれます。

5

AMF は、Nsmf PDUSession UpdateSMContext(N2SMlnfo)応答メッセージを SMF に送信します。

これは、SMF からも同じメッセージを受信するため、相互に交換可能なアクションです。

6

SMF は、失敗したレポートの SM ポリシーの関連付けの変更(ルール失敗レポート)メッセージを PCF に送信します。

これは、PCF からも同じメッセージを受信するため、相互に交換可能なアクションです。

PCF によって開始された非アクティブからアイドルへの状態に関する変更

このセクションでは、PCF によって開始された変更コール フロー手順での非アクティブからアイドルへの状態のアクティビティについて説明します。

次の図は、PCF によって開始される非アクティブからアイドルへの状態のコール フローの変更を示しています。

図 3. PCF によって開始された非アクティブからアイドルへの状態に対する変更のコール フロー
表 5. PCF によって開始された非アクティブからアイドルへの状態に対する変更のコール フローの説明

ステップ

説明

1

PCF は、SMF に SMF ポリシー関連付け変更要求を送信します。

これは、SMF からも同じメッセージを受信するため、相互に交換可能なアクションです。

2

SMF が AMF に Name Comm N1N2MessageTransfer 要求を送信します。

これは、AMFからも同じメッセージを受信するため、交換可能なアクションです。

3

AMF は、RAN に PDU セッション リソース変更要求を送信します。

(注)  

 

このステップ中に、gNB は、gNBは、UE を RRC_IDLE モードへプッシュする時にページング アクティビティを実行します。

4

RAN は、PDU セッション リソース変更応答失敗メッセージを AMF に送信します。

また、障害原因不明のメッセージも含まれます。

5

AMF は、Nsmf PDUSession UpdateSMContext(N2SMlnfo)応答メッセージを SMF に送信します。

これは、SMF からも同じメッセージを受信するため、相互に交換可能なアクションです。

(注)  

 

このステップの間、SMF は RRC_Release 手順が完了するのを待ちます。

6

SMF が AMF に PDU セッション リソース変更メッセージを再送信します。

(注)  

 

この手順は、3GPP TS 23.502 AN リリース手順に従います。

機能設定

この機能を構成するには、次の構成例を使用します。

config 
profile access access_profile_name 
    n2 trigger { ho-in-progress | temp-not-reachable } { guard-timeout timeout | max-retry retry_count | value retry_count_range } 
    n2 trigger ue-not-reachable value notreachable_count_range 
    end 

  • profile access access_profile_name :アクセス プロファイルの名前を選択します。

  • n2 trigger :N2 トリガ タイプを指定します。[トリガ(Trigger)] はトラフィック タイプです。以下のいずれかである必要があります。

    • ho-in-progress :原因コードのハンドオーバー進行中トリガ構成リストを指定します。

    • temp-not-reachable :原因コードの一時的な到達不能トリガ構成リストを指定します。

    • ue-not-reachable :原因コードの UE 到達不能トリガ構成リストを指定します。

  • guard-timeout timeout :Handover in progress ガードのタイムアウトを 500 ~ 30000 ミリ秒の範囲で指定します(ミリ秒単位)。デフォルト値は、10000 ミリ秒です。

  • max-retry retry_count :進行中のハンドオーバーまたは一時的に到達不能なオプションの最大再試行回数を 0 ~ 64 の範囲で指定します。デフォルト値は 0 です。

  • value { notreachable_count_range } | { retry_count_range } :最大再試行範囲の UE カウントの範囲の数値。


(注)  


定義された構成は、受信した失敗した転送(無線ネットワーク標準およびカスタマイズ状態)を照合するために使用され、コードが RRC 非アクティブアクションを決定するようになります。シナリオは次のとおりです。

  • ue-not-reachable ho-in-progress 、および temp-not-reachable の場合、PCF によって開始された変更は拒否されます。ANリリースにおける xn ハンドオーバー処理の後、一時停止され、その後再開されます。

  • RRC 非アクティブ アクションが ho-in-progress または temp-not-reachable トリガ プロファイルのいずれかにある場合、ガード タイマーが開始されます。進行中の PCF によって開始された変更が一時停止するのを待ちます。指定された時間内に AN リリースの xn ハンドオーバー アクティビティを再開します。このアクションが失敗すると、PCF によって開始された変更は拒否されます。その結果、このアクションはルール失敗メモとして PCF に報告されました。

  • 最大再試行回数により、最初の試行が失敗した後、最大連続再試行回数を再試行できます。これは、試行ごとに同じトリガ カテゴリの原因コードを繰り返し受信した結果です。このアクションが失敗すると、PCF によって開始された変更は拒否されます。その結果、このアクションは、最大再試行回数に達した後、PCF にルール失敗メモとして報告されました。

  • この機能は、デフォルトのガード タイムアウトと最大再試行がゼロの標準 RRC 非アクティブ原因コードに対してアクティブになります。


設定例

次に、設定例を示します。

config
smf(config)# profile access access1
 smf(config-access-access1)# n2 trigger [ ho-in-progress | temp-not-reachable ] [ value 1 ] [ guard-timeout 10000 ] [ max-retry 10 ]
 smf(config-access-access1)# n2 trigger ue-not-reachable value [10]
 exit
exit

設定の確認

設定を確認するには、次のコマンドを実行します。

[smf] smf# show running-config profile access access1 n2
profile access access1
  n2 trigger ho-in-progress value [ 50 51 52 53 ] guard-timeout 12000 max-retry 3
  n2 trigger temp-not-reachable value [ 54 55 56 57 ] guard-timeout 11000 max-retry 2
  n2 trigger ue-not-reachable value [ 58 59 60 61 ] 
exit

K8 活性プローブを使用したポッド障害検出

Kubernetes は、活性プローブを使用して、すべてのポッドの正常性を定期的に監視します。このメカニズムにより、ポッドの障害を簡単に検出できます。活性プローブの K8 構成パラメータ値が調整され、ポッド障害をより迅速に検出し、障害のあるポッドを適切なタイミングで再起動できるようになりました。

構成の変更は、次のポッドに適用されます:

  • bgpspeaker-pod

  • cache-pod

  • diameter-ep

  • dns-proxy

  • edr-monitor

  • georeplication-pod

  • gtpc-ep

  • gtpc-ep-s11

  • gtpp-ep

  • li-ep

  • nodemgr

  • oam-pod (infra-oam)

  • protocol

  • radius-ep

  • rest-ep

  • sgw-service

  • smf-service

  • UDP プロキシ

K8 によるポッド障害の早期検出により、バックアップ ポッドまたはスタンバイ ポッドがメッセージ処理を引き継ぎ、シームレスな通信を実現します。

復元力の処理

機能説明

復元力処理機能により、CLI 制御のフレームワークが導入され、システム障害を確認した場合、またはクラッシュが報告された場合に、サービス ポッドのリカバリがサポートされるため、次のいずれかのサービス ポッドのリカバリに役立ちます。

  • sgw-service ポッド

  • smf-service ポッド

  • gtpc-ep ポッド

  • protocol ポッド

  • diameter-ep ポッド

これらのサービス ポッドは、複数のセッションメッセージを処理するロジックを含むソフトウェア モジュールです。サービス ポッドは、次のいずれかのシナリオ、または複数のシナリオの組み合わせが原因で障害が発生しやすくなります。

  • 複雑なコール フローおよびコリジョン処理

  • セッション状態に整合性がありません

  • セッション状態に対する着信メッセージの不適切な処理

  • 受信メッセージ内の予期しないコンテンツや未処理のコンテンツ

システム障害やクラッシュを確認するたびに、障害の動作によってサービス ポッドが強制的に再起動され、他のセッションの進行中のトランザクション処理に影響を及ぼします。 ポッドの再起動後でもクラッシュは再発します。

このリスクを軽減するには、アクションが定義されている CLI ベースのフレームワークを使用し、サブスクライバ セッションをクリーンアップするか、現在の処理を終了します。

機能の仕組み

このセクションでは、障害リカバリ フレームワークを使用してクラッシュに対するアクションを定義する方法について説明します。フレームワークでは、次のアクションのいずれかを定義できます。

  • 終了:障害が発生すると、このアクションは障害が発生したトランザクションを終了し、サブスクライバ セッション キャッシュをクリアします。これは、 smf-service ポッドおよび sgw-service ポッドに適用されます。


    (注)  


    ポッドは再起動されません。このアクション中にデータベースはクリアされません。


  • クリーンアップ:障害が発生した場合、このアクションでは障害が発生しているサブスクライバ セッションをクリアし、コールを解放します。これは、 smf-service ポッドおよび sgw-service ポッドに適用されます。

  • グレースフル リロード:障害が発生すると、このアクションはポッドを再起動します。これは、 gtpc-epprotocol、および diameter-ep ポッドに適用されます。障害信号を処理して、キープアライブ ポートなどのリソースをクリーンアップし、早期に閉じます。また、checkport スクリプトはポッドの状態を検出し、対応するポッドの VIP スイッチ処理を開始できます。

  • リロード:ポッドがクラッシュすると、リロード アクティビティが開始されます。これは、すべてのポッドに適用されるデフォルトの設定または値です。

機能設定

この機能を構成し、システムの障害回復を有効にするには、次の構成例を使用します。

config 
    system-diagnostics { diameter |  gtp | pfcp | service | sgw-service } 
        fault 
            action { abort | cleanup { file-detail | interval | num | skip { ims | emergency | wps } } | graceful-Reload | reload } 
            end 

  • system-diagnostics { diameter | gtp | pfcp | service | sgw-service } :システム診断に必要なサービス ポッドのタイプを指定します。使用可能なポッド オプションは、diametergtppfcpsmf-service、および sgw-service です。

  • fault :セッションの処理中に障害回復を有効にします。

  • action { abort | cleanup | graceful-Reload | reload } :障害発生時に実行するアクションを次から 1 つ指定します。デフォルト アクションはリロードです。

    • abort :障害のあるトランザクションを削除し、そのセッション キャッシュをクリアします。データベースはクリアされません。


      (注)  


      これは、smf-service ポッドに対する排他的オプションです。


    • cleanup { file-detail | interval | num | skip } :クリーンアップ アクティビティを有効にします。障害を軽減するためのアクションとして次の選択肢があります。

      • file-detail :ファイル名に行番号を付けて一覧表示します。リカバリからファイル名の詳細を除外します。

      • interval :間隔を分単位で指定します。この期間に、障害の最大数を許可する許容間隔を指定します。1 ~ 3600 の範囲の整数で指定する必要があります。

      • num :1 つの間隔内で許容可能な障害の最大数を指定します。0 ~ 50 の範囲の整数で指定する必要があります。

      • skip { ims | emergency | wps } :アクティブ音声コール、WPS、または緊急コールに対するサブスクライバ セッションのクリーンアップのスキップを有効にします。

        • アクティブ音声コールを検出するには、次のコマンドを使用します。

          profile dnn dnn_name ims mark qci qos_class_id 
        • クリーンアップのスキップ構成を有効にすると、SMF は問題のあるトランザクションを削除し、そのセッション キャッシュをクリアします。

        • セッションのセットアップ中またはリリース状態の間に障害が発生すると、SMF は次の処理を実行します。

          :セッション終了時にトランザクションを削除します。

          :これらの状態の間、構成済みの障害アクションをオーバーライドします。

          :障害のあるトランザクションのセッション キャッシュおよびデータベース エントリをクリアします。

        • これにより、ダイナミックな構成変更が可能になります。


      (注)  


      これは、smf-service および sgw-service ポッドの排他的オプションです。


    • graceful-Reload :ポッドの正常なリロードのためのオプションを指定します。サービス ポッドは、障害信号を処理してキープアライブ ポートなどのリソースをクリーンアップし、クラッシュ処理(ポッド再起動処理)を続行します。


      (注)  


      これは、diameter-epgtpc-ep、および protocol サービス ポッドに対する排他的なオプションです。


    • reload :障害動作が原因でポッドがクラッシュした場合に、ポッドをリロードします。これは、すべてのサービス ポッドに適用できるオプションです。これはデフォルトのオプションでもあります。

設定例

次の構成例では、障害発生アクションをサブスクライバのクリーンアップとして、10 分間隔以内で smf-service または sgw-service ポッドの 3 回のクラッシュが許可されます。

config
    system-diagnostics { service | sgw-service }
        fault
            num 3 interval 10
            action cleanup
            end

次の構成例では、diameter または gtpc-ep ポッド、あるいは protocol ポッドのグレースフル障害処理で、障害信号の受信時にキープアライブポートを閉じることができます。

config
    system-diagnostics { diameter | gtp | pfcp }
        fault
            action graceful-Reload
            end

設定の確認

設定を確認するには、次のコマンドを実行します。


smf# show running-config system-diagnostics service
 fault num 3
 fault interval 10
 fault action cleanup
exit
 
show running-config system-diagnostics sgw-service
 fault num 3
 fault interval 10
 fault action cleanup
exit

show running-config system-diagnostics gtp
 fault action graceful-Reload
exit

show running-config system-diagnostics pfcp
 fault action graceful-Reload
exit

show running-config system-diagnostics diameter
 fault action graceful-Reload
exit

OAM サポート

ここでは、この機能の操作、管理、およびメンテナンス サポートについて説明します。

バルク統計サポート

復元力処理機能では、次のバルク統計情報がサポートされています。

recover_request_total :この統計情報には、次の新しいラベルが含まれています。

  • action :障害アクションを定義します。

  • reason :障害の理由を定義します。

  • status :障害ステータスを定義します。

次に、復元力処理機能のバルク統計情報の例を示します。

recover_request_total{action="panic_recovery_cleanup", app_name="SMF",cluster="Local",data_center="DC",instance_id="0", reason="creating panic",service_name="sgw-service",status="success"} 1

SMF のバルク統計情報のサポートの詳細については、「UCC 5G SMF メトリック リファレンス」を参照してください。

cnSGW-C のバルク統計情報のサポートの詳細については、「UCC 5G cnSGW-C メトリック リファレンス」を参照してください。

Monitoring Support

システム障害をモニタし、複数のポッドに適用する障害復旧アクションを決定するには、次のトランザクション エラーを含むエラー ログを使用します:

  • クリーンアップ アクションの Txn エラー タイプ 10003(ErrorPanicRecovery

  • クリーンアップをスキップしてアクションを中止するための、Txn エラー タイプが 1802(ErrorAffinityAddEntryFailed )。


(注)  


復元力処理機能のモニタリングのサポートは、SMF でのみ適用されます。


IoT 展開でのサブスクライバ セッションのスケーリング

表 6. 表 1 機能の履歴
機能名 リリース 説明
UCS 220 M7 プラットフォームで 700 万のセッションをサポート 2024.04.0

この機能には、UCS 220 M7 プラットフォームで最大 700 万の IoT コールセッションをサポートするために SMF インフラストラクチャを最適化することが含まれます。最適化には、radius-ep および GTPC-ep コンポーネントと、CDL コンポーネントとの通信の改善が含まれています。

この最適化により、システムの信頼性と拡張性が向上し、大規模な IoT 展開の効率的な処理が保証されます。

CLI コンソールの変更:

2024.04.0 より前のリリースでは、 detect-dead-server consecutive-failures のヘルプ文字列には、デフォルト値として 10 が表示されていました。

リリース 2024.04.0 以降では、 detect-dead-server consecutive-failures のヘルプ文字列が更新され、デフォルト値が無効になっていることを反映しています。

導入されたコマンド:

  • enable-async { false | true } RADIUS エンドポイント設定モードで を設定して、RADIUS 認証、アカウンティング、および CoA 要求メッセージのために RADIUS エンドポイントからの非同期通信を有効にします。デフォルト値は false です。

  • overload-control msg-type create-session-request Create Session Request メッセージのレート制限を適用するには、S5 インターフェイス設定モードで を入力します。

この最適化機能の目的は、IoT コール制御用の UCS M6 サーバーで適切に実装されたのと同じ展開戦略を使用して、Cisco UCS M7 C220 サーバー上の 700 万のユーザー デバイスをサポートすることです。これには、負荷の増加に対応するようにインフラストラクチャを最適化し、一般的な IoT 環境で多数の接続とデータ ストリームを効率的に管理することが含まれます。

これを実現するには、次のパフォーマンスの最適化と拡張を実装する必要があります。

  • RADIUS エンドポイント(radius-ep):RADIUS 認証、アカウンティング、および CoA 要求メッセージに非同期通信を使用します。

  • GTPC エンドポイント(GTPC-ep):セッション要求作成メッセージのレート制限を適用します。受信された Create Session Request メッセージの数が設定されているレートを超えた場合、要求はドロップされるか、または「No resources available (73)」という応答で拒否されます。

また、この機能により、発信タイム スタンプと最大待機時間の AVP が、Gx CCR-I メッセージで PCRF サーバに送信されます。これらの AVP の組み合わせが、セッション作成要求メッセージを受信した現在のタイムスタンプより小さい場合は常に、これらの AVP 値が Gx CCR-I メッセージで PCRF サーバに送信されます。

SMF インフラストラクチャの最適化の利点

  • 高い拡張性:最大 700 万の IoT 通話セッションをサポートし、大規模な IoT の導入に適しています。

  • パフォーマンスの最適化:RADIUS エンドポイントの非同期通信を有効にすると、システムは即時の応答を待つことなく複数の要求を同時に処理できるため、スループットが向上し、遅延が減少します。

  • 信頼性の向上:GTPC エンドポイントにレート制限を適用することで、大量のセッション要求の作成メッセージによってシステムが過負荷になるのを防ぎ、システムの安定性と信頼性を維持します。

  • データの整合性と精度:発信タイムスタンプと最大待機時間の AVP を PCRF サーバに送信することで、課金、分析、コンプライアンスに重要な正確なセッション データを維持できます。

RADIUS および GTPC エンドポイントのパフォーマンス最適化の構成

このセクションでは、M7 プラットフォームで 700 万の IoT コール セッションを有効にするためのこれらの構成手順について説明します。

手順


ステップ 1

RADIUS エンドポイントの非同期通信の有効化

ステップ 2

セッション要求の作成に対するレート制限の有効化


RADIUS エンドポイントの非同期通信の有効化

RADIUS エンドポイントに対して非同期通信が有効になっている場合、SMF は即時応答を待たずに、認証、アカウンティング、および CoA 要求を送信します。これにより、大量の要求を同時に処理するシステムの能力が向上します。

RADIUS エンドポイントで非同期通信を有効にするには、次の手順に従う必要があります。

手順

ステップ 1

インスタンス ID を指定します。

instance instance-id instance_id

例:
[smf] smf# config 
[smf] smf(config)# instance instance-id 1 

ステップ 2

RADIUS エンドポイントを構成します。

endpoint radius

ステップ 3

非同期通信を有効にして、UDP プロキシに RADIUS 認証およびアカウンティング メッセージを送信し、CoA メッセージを SMF サービスに送信します。デフォルト値は false です。

enable-async true

(注)  

 

この構成を変更するには、radius-ep ポッドを再起動する必要があります。


セッション要求の作成に対するレート制限の有効化

トラフィックの多いモバイル ネットワークで、GTPC エンドポイントは、特にピーク時や人が密集するエリアに、多数のセッション要求の作成メッセージを受信する可能性があります。

レート制限構成を使用すると、GTPC エンドポイントへの着信セッション要求の作成メッセージのフローを制御できるため、GTPC エンドポイントで大量のトラフィックを効果的に処理できます。


重要


レート制限構成が有効になっている場合、緊急コールと WPS セッションにも適用され、これらのコールのセッション要求の作成メッセージが拒否またはドロップされる可能性があります。

GTPC エンドポイントでセッション作成要求メッセージのレート制限を有効にするには、以下の手順に従う必要があります。

手順

ステップ 1

インスタンス ID を指定します。

instance instance-id instance_id

例:
[smf] smf# config 
[smf] smf(config)# instance instance-id 1 

ステップ 2

GTP エンドポイントを構成します。

endpoint gtp

ステップ 3

インターフェイスを指定します。

interface s5

ステップ 4

セッション要求の作成メッセージの過負荷制御を有効化します。

overload-control msg-type create-session-request

ステップ 5

必要に応じて、レート制限およびその他のパラメータを設定します。

rate-limit rate_limit queue-size queue_size reject-threshold reject_threshold pending-request pending_requests reject-action { drop-req | reject-req }

例:
[smf] smf(config-interface-s5)# rate-limit 3000 queue-size 8000 reject-threshold 100 pending-request 5000 reject-action drop-req