UPF での MPLS のサポート

機能の概要と変更履歴

要約データ

表 1. 要約データ

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

5G-UPF

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

VPC-SI

機能のデフォルト設定

無効:設定が必要

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

N/A

関連資料

UCC 5G UPF 構成およびアドミニストレーション ガイド

マニュアルの変更履歴

改訂の詳細

リリース

N9 インターフェイス経由の MPLS サポートが追加されました。

2023.02.0

N6 インターフェイスを介した MPLS のサポートが追加されました。

2023.01.0

最初の導入。

2022.04.0

機能説明

マルチプロトコル ラベル スイッチング(MPLS)は、IP アドレスを使用する代わりにラベルを使用してパケットをルーティングするプロトコルです。UPF は、データプレーンフォワーダとして VPP を使用して MPLS 通信を切り替えるために MPLS をサポートしています。

ASR 5500 では、NP4c ネットワークプロセッサが、MPLS 通信を生成および処理します。VPC-DI では、IFTask は MPLS 通信を生成および処理します。

VPC-SI は、データプレーンフォワーダとして VPP を使用します。VPP は、MPLS ラベルを使用してサブスクライバ通信のカプセル化とカプセル化解除を行います。VPP は、個別のグラフノードとして MPLS スタックを含む複数のデータプレーン機能をサポートします。この機能は、さまざまな顧客 VRF を区別して、アドレッシングモデルと要件が異なる企業 APN をサポートします。

UPF は、VPP を使用した 5G デプロイメントの次のインターフェイスで MPLS カプセル化をサポートします。

  • N6:N6 は、UPF とデータネットワーク(DN)間のインターフェイスです。

  • N9:N9 インターフェイスは、2つの UPF を接続します。これは、中間 I-UPF(Visited)と UPF セッションアンカー(Home)の間のインターフェイスです。

次の図は、UPF での MPLS カプセル化に使用されるさまざまなインターフェイスを示しています。

図 1. MPLS インターフェイス

UPF は、MPLS の次の機能をサポートしています。

  • VPP MPLS スタックを使用して、MPLS ラベル付きパケットを送信します。

  • VPP MPLS スタックを使用して、受信ラベル付き MPLS パケットを処理します。

  • Label Distribution Protocol(LDP; ラベル配布プロトコル)として MP-BGP のみを使用します。

  • VPPCTL CLI コマンドは、デバッグおよび Boxer の構成値との比較のために、VPP で FTN、FIB および ILM テーブルを表示します。

機能の仕組み

この項では、UPF での MPLS 機能の仕組みについて概説します。

VPP フォワーダーは、MPLS パケット処理とその MPLS スタックに関するすべての既存の機能をサポートします。VPP MPLS スタックは、適切な FTN(FEC から NHLFE)、Forwarding Information Base(FIB; 転送情報ベース)テーブル、および受信ラベルマップ(ILM)テーブルを使用して構成されます。エグレスは、正しい MPLS ヘッダーを使用して、MPLS パケットを生成します。また、これは、受信 MPLS パケットを処理し、受信ラベルに基づいて適切な VRF テーブルにきりかえます。

また、VPC-SI は RFC 4659(BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN)で説明されているとおり、VPNv6 をサポートします。

N9 インターフェイスを使用して UPF をデプロイする

5G コア UPF は、N9 インターフェイス経由で 2 つの UPF を順番にデプロイできます。N9 インターフェイスは、中間 I-UPF と UPF セッションアンカー間の 2 つの UPF を接続します。ネットワーク全体で安定した IP アンカーを使用して完全なモビリティを提供するには、オペレータネットワークの構成に応じて、2 つの UPF が接続されます。

UPF 間のアップストリーム通信とダウンストリーム通信は、いずれも GTP-U パケットの形式です。N9 インターフェイス経由で MPLS をサポートするために、2 つの UPF の間に存在する L3 ルータは、BGP ルートとラベルを UPF にアドバタイズできます。

アップストリーム方向では、I-UPF は gNodeB から GTP-U パケットを受信し、接続先(アンカー)UPF に基づいて GTP-U ヘッダーの内容を変更します。IP ヘッダーのルックアップに基づいて MPLS カプセル化が行われ、GTP-U パケットがカプセル化されます。挿入する必要がある MPLS ラベルは、UPF 間の中間 L3 デバイスから BGP 経由で受信されます。アンカー UPF では、MPLS ヘッダーのカプセル化が解除され、IP パケットとして PDN に送信されます。

ダウンストリーム方向では、PDN から受信した IP パケットが GTP-U ヘッダーによってカプセル化された後、アンカー UPF で MPLS カプセル化が行われます。その後、この MPLS ヘッダーが I-UPF でカプセル化解除され、対応する GTP-U パケットが gNodeB に送信されます。

次のシナリオでは、UPF は N9 インターフェイスを VRF に移動し、VPNv4 または VPNv6 AF BGP ネイバーシップを確立します。

  • N3 および N9 インターフェイスが同じ物理インターフェイスを共有している場合。

  • N3 と N9 インターフェイスが分離されている場合。

PE に接続された MPLS-CE

VPC-SI は、プロバイダーエッジ(PE)ラベルエッジルータ(LER)に接続されている MPLS-CE(カスタマーエッジ)ネットワーク要素として機能し、その結果、RFC 4364 に従い MPLS コアに接続されます。

次の図は、MPLS-CE から PE への接続を示しています。

図 2. VPC-SI MPLS-CE から PE

MPLS-CE は、独自の自律システム(AS)内の PE ルータのように機能します。MPLS-CE では、Virtual Routing and Forwarding(VRF)ルートが維持され、MP-eBGP(マルチプロトコル外部 BGP)セッションを介して、VPN ルート情報が PE と交換されます。

PE も VRF を使用して設定され、MP-iBGP(マルチプロトコル内部 BGP)接続を介して AS 内の他の PE と VPN ルートを交換し、MP-eBGP 接続を介して MPLS-CE を交換します。

EBGP 接続を使用すると、PE は、IBGP ピアから学習したルート内のネクストホップ IP アドレスとラベルを変更してから、MPLS-CE にアドバタイズできます。MPLS-CE は、ルートをアドバタイズして学習するために MP-eBGP だけを使用します。直接接続 EBGP ピアリングのため、Label Distribution Protocol(LDP)および Resource Reservation Protocol(RSVP)は必要ありません。MPLS-CE は、PE との間で(MP-eBGP 接続を介して学習された)単一のラベルをプッシュまたはポップします。

設定例

MPLS N6 構成

次に、UPF で N6 インターフェイスを使用して基本的な MPLS 機能を構成する例を示します。

context egress
    ip vrf MPN00001
      ip maximum-routes 100
    #exit
mpls bgp forwarding
router bgp 64455
      neighbor 172.31.35.29 remote-as 65200
      neighbor 172.31.35.29 timers keepalive-interval 60 holdtime-interval 300
      neighbor 172.31.35.29 update-source 172.31.35.4
      neighbor 172.31.35.29 fall-over bfd
      neighbor 172.31.35.29 srp-activated-soft-clear
       address-family ipv4
        redistribute connected
        redistribute static
      #exit
      address-family vpnv4
        neighbor 172.31.35.29 activate
        neighbor 172.31.35.29 send-community extended
      #exit
      address-family vpnv6
        neighbor 172.31.35.29 activate
        neighbor 172.31.35.29 send-community extended
      #exit
      address-family ipv6
        redistribute connected
        redistribute static
      #exit
       ip vrf MPN00001
        route-distinguisher 64455 11100001
        route-target both 64455 11100001
      #exit
      address-family ipv4 vrf MPN00001
        redistribute connected
      #exit
      address-family ipv6 vrf MPN00001
        redistribute connected
      #exit
    interface N6-11
      ip address 172.31.35.4 255.255.255.224
      ip mtu 1504
      bfd interval 999 min_rx 999 multiplier 3
   #exit
    interface N6-12
      ip address 172.31.35.35 255.255.255.224
      ip mtu 1504
      bfd interval 999 min_rx 999 multiplier 3
    #exit
    interface loop_MPN00001 loopback
      ip vrf forwarding MPN00001
      ip address 2.2.4.2 255.255.255.255
    #exit

MPLS N9 構成

次に、UPF で N9 インターフェイスを使用して MPLS 機能を構成する例を示します。

context SAEGW
   ip vrf mpls-vrf-1
   #exit
   ip vrf mpls-vrf-2
   #exit
   mpls bgp forwarding
      bfd-protocol
      #exit
   ip prefix-list name up seq 15 permit 50.50.41.4/32
   ip prefix-list name up seq 20 permit 50.50.41.5/32
   ip prefix-list name up seq 25 permit 50.50.41.6/32
   ip prefix-list name up seq 40 permit 50.50.41.7/32
   ip prefix-list name n9-up1 seq 50 permit 60.60.41.5/32
   ip prefix-list name n9-up1 seq 55 permit 60.60.41.6/32
   route-map up_routes1 permit 10
      match ip address prefix-list n9-up1
      #exit
   route-map up_routes permit 10
      match ip address prefix-list up
      #exit
   ip vrf mpls-vrf-1
   route-distinguisher 61601 11100001
   route-target export 61601 11100001
   route-target import 61606 11100001
   route-target import 65200 11100001
   #exit
   address-family ipv4 vrf mpls-vrf-1
      redistribute connected
      redistribute static
      #exit
   address-family ipv6 vrf mpls-vrf-1
      redistribute connected
      redistribute static
      #exit
   ip vrf mpls-vrf-2
   route-distinguisher 61601 11100002
   route-target export 61601 11100002
   route-target import 61606 11100002
   route-target import 65200 11100002
   #exit
   address-family ipv4 vrf mpls-vrf-2
      redistribute connected
      redistribute static
      #exit
   address-family ipv6 vrf mpls-vrf-2
      redistribute connected
      redistribute static
      #exit
    #exit
   interface gn-mpls-n9-ingress
      ip address 172.31.40.5 255.255.255.224
      ip mtu 1504
      bfd interval 999 min_rx 999 multiplier 3
      #exit
   interface n9-ingress-hupf loopback
      ip vrf forwarding mpls-vrf-1
      ip address 60.60.41.5 255.255.255.255
      #exit
   user-plane-service user_plane_svc
      associate gtpu-service pgw-gtpu upf-ingress
      associate gtpu-service n9-ingress upf-ingress interface-type n9
      associate gtpu-service sgw-gtpu-ingress-phazr sgw-ingress
      associate gtpu-service sgw-gtpu-egress sgw-egress
      associate gtpu-service SxC cp-tunnel
      associate sx-service sx-svc
      associate fast-path service
      associate control-plane-group SAEGW
      associate userplane-load-control-profile LCP
      associate userplane-overload-control-profile OLCP
      #exit

VPN 関連 CLI コマンド

UPF では、VPN 関連の機能といくつかの CLI コマンドモードをサポートしています。次の表は、VPN 関連の機能の設定とモニタリングに関連するコマンドを示しています。

表 2. VPN 関連の設定コマンド
CLI モード コマンド 説明

BGP アドレスファミリ(IPv4/IPv6)構成モード

neighbor ip_address activate

ピアルータとのルーティング情報の交換を有効にします。

BGP アドレスファミリ(IPv4/IPv6)構成モード

neighbor ip_address send community { both | extended | standard }

ピアルータ(ネイバー)にコミュニティ属性を送信します。

BGP アドレスファミリ(IPv4/IPv6)構成モード

redistribute connected

別のプロトコルから BGP へのルートを BGP ネイバーとして再配布します。

BGP アドレスファミリ(VPNv4)構成モード

neighbor ip_address activate

ピアルータとのルーティング情報の交換を有効にします。

BGP アドレスファミリ(VPNv4)構成モード

neighbor ip_address send community { both | extended | standard }

ピアルータに拡張コミュニティ属性を送信します。VPN では、ルート識別子とルートターゲットは BGP 拡張コミュニティでエンコードされます。このコマンドは、拡張コミュニティを持つ BGP ルートをネイバーに送信します。

BGP アドレスファミリ(VRF)構成モード

neighbor ip_address activate

ピアルータとのルーティング情報の交換を有効にします。

BGP アドレスファミリ(VRF)構成モード

neighbor ip_address send community { both | extended | standard }

ピアルータに拡張コミュニティ属性を送信します。VPN では、ルート識別子とルートターゲットは BGP 拡張コミュニティでエンコードされます。このコマンドは、拡張コミュニティを持つ BGP ルートをネイバーに送信します。

BGP アドレスファミリ(VRF)構成モード

redistribute connected

別のプロトコルから BGP へのルートを BGP ネイバーとして再配布します。

BGP 構成モード

address-family { ipv4 vrf vrf_name | vpnv4 }

IPv4 VRF のルーティング情報の交換を有効にします。アドレスファミリごとに異なるモードがあります。

BGP 構成モード

address-family { ipv6 vrf vrf_name | vpnv6 }

BGP で VPNv6 アドレスファミリと IPv6 VRF ルーティングを設定します。

BGP 構成モード

ip vrf vrf_name

BGP に VRF を追加し、VRF 構成モードにスイッチして、VRF の BGP 属性を設定できるようにします。

BGP IP VRF 構成モード

route-distinguisher { as_value | ip_address } rd_value

VRF の ルート識別子(RD)を割り当てます。RD 値は、VRF ごとにルータ上の一意の値にする必要があります。

BGP IP VRF 構成モード

route-target { both | import | export } { as_value | ip_address } rd_value

インポートおよびエクスポートのルートターゲット拡張コミュニティのリストを VRF に追加します。

コンテキスト構成モード

ip pool pool_name addr_range vrf vrf_name [ mpls-label input inlabel1 output outlabel1 outlabel2 ]

指定された VRF にプールを設定します。Next-Hop パラメータを使用して、このコマンドを指定します。inlabel1 は、MPLS ラベルでこのプールに指定されたインバウンド通信を識別します。outlabel1 および outlabel2 は、このプールからサブスクライバに送信されるパケットに追加する MPLS ラベルを指定します。

コンテキスト構成モード

ip vrf vrf_name

VRF を作成し、VRF-ID を割り当てます。VRF がルータに作成されます。

コンテキスト構成モード

ipv6 pool pool_name vrf vrf_name

プールを VRF に関連付けます。

注:デフォルトでは、設定された ipv6 プールはグローバル ルーティング ドメインに関連付けられます。

コンテキスト構成モード

mpls bgp forwarding

MPLS のボーダー ゲートウェイ プロトコル(BGP)転送をグローバルに有効化します。

コンテキスト構成モード

mpls exp value

3 ビット MPLS EXP ヘッダーのゼロ値を使用して、デフォルトの動作をベストエフォートとして設定します。この値は、コンテキスト内のすべての VRF に適用されます。デフォルトの動作では、DSCP から EXP への明示的な設定がない場合に、モバイルサブスクライバのトラフィックの DSCP 値が EXP ヘッダーにコピーされます ( mpls map-dscp-exp dscp n exp mコマンドを使用)。

mpls exp はデフォルトの動作を無効にし、EXP 値を設定された値に設定します。

コンテキスト構成モード

mpls ip

通常ルーティングされるパスに沿って IPv4 パケットの MPLS 転送がグローバルに行われるようにします。

コンテキスト構成モード

radius change-authorize-nas-ip ip_address { encrypted | key } value port port_num mpls input inlabel output outlabel1 outlabel2

指定された MPLS ラベルを使用するように COA 通信を設定します。 inlabel はインバウンド COA 通信を識別します。outlabel1 および outlabel2 は、COA 応答に追加する MPLS ラベルを指定します。outlabel1 は内部出力ラベル、outlabel2 は外部出力ラベルです。

イーサネット インターフェイス構成モード

mpls ip

このインターフェイスで IP パケットのダイナミック MPLS 転送を有効にします。

Exec モード

clear ip bgp peer

BGP セッションをクリアします。

表 3. VPN 関連のモニタリングコマンド
CLI モード コマンド 説明

Exec モードの show コマンド

show ip bgp neighbors

BGP ネイバーに関する情報を表示します。

Exec モードの show コマンド

show ip bgp vpnv4 { all | route-distinguisher | vrf }

すべての VPNv4 ルーティングデータ、VRF またはルート識別子のルーティングデータを表示します。

Exec モードの show コマンド

show ip bgp vpnv6

VPNv6 ルーティングテーブルの内容を表示します。

Exec モードの show コマンド

show ip bgp vpnv6 { all | route-distinguisher | vrf }

すべての VPNv6 ルーティングデータ、VRF またはルート識別子のルーティングデータを表示します。

Exec モードの show コマンド

show ip fib table-id table_id

FIB テーブルに関する情報を表示します。

Exec モードの show コマンド

show ip pool

設定された VRF を含むプールの詳細を表示します。

Exec モードの show コマンド

show mpls cross-connect

MPLS 相互接続情報を表示します。MPLS トンネルは、インターフェイスとラベルスイッチドパス(LSP)間で相互接続します。LSP は、MPLS トンネル経由で同じタイプの 2 つの遠隔インターフェイス回線を接続します。

Exec モードの show コマンド

show mpls fib table table_id

Forwarding Information Base(FIB; 転送情報ベース)テーブル情報を表示します。

Exec モードの show コマンド

show mpls ftn [ vrf vrf_name ]

MPLS FEC-to-NHLFE(FTN)テーブルの情報を表示します。

Exec モードの show コマンド

show mpls ftn [ vrf vrf_name ]

指定された VRF の MPLS FTN テーブルの内容を表示します。

Exec モードの show コマンド

show mpls ilm [ all | label label_value ]

MPLS の着信ラベルマップ(ILM)テーブルの情報を表示します。

Exec モードの show コマンド

show mpls nexthop-label-forwarding-entry

MPLS のネクストホップラベル転送エントリ(NHLFE)テーブルの情報を表示します。

モニタリングおよびトラブルシューティング

この項では、機能のモニタリングと障害対応に使用できる CLI コマンドに関する情報について説明します。

show コマンドと出力

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

show mpls ftn vpp

このコマンドの出力には、VPP データプレーンフォワーダで設定されている VPP データプレーン値を表示する [vpp] フィールドが含まれます。このコマンドはデバッグ目的で使用します。

  • vpp

    • all-vrf

    • summary

    • vrf