Cisco IOS XRv 9000 データプレーンの特徴的な機能

Early Fast Discard

表 1. 機能の履歴(表)

機能名

リリース情報

機能説明

Early Fast Discard

リリース 24.1.1

Cisco IOS XR リリース 24.1.1 以降、Early Fast Discard 機能は廃止され、今後のリリースではサポートされなくなります。Cisco IOS XR リリース 24.1.1 以降では、この機能を使用しないことをお勧めします。

Early Fast Discard(EFD)は、着信トラフィックがルータのキャパシティを超過した状況を処理するための輻輳保護機能です。通常の輻輳制御はトラフィック マネージャ(TM)および添付された QoS ポリシーによって処理されますが、極端な場合には EFD 機能が有効化されます。EFD 機能は、優先順位の高いトラフィック(キープアライブ、制御、BFD など)にフィルタを適用し、それ以外のトラフィックをデータパス処理の非常に早い段階で破棄することで、制御パケットの重要なフローを維持します。

EFD 機能を有効化するには、設定モードで early-fast-discard コマンドを使用します。廃棄するトラフィックは、IP プレシデンス値、MPLS exp 値、VLAN cos 値を設定することで定義します。

Early Fast Discard の設定

使用例

Early Fast Discard はデータ プレーン上に設定され、破棄するトラフィックを次の条件に基づいて定義することにより、着信トラフィック フローを管理します。
  • IP precedence=4

  • MPLS exp=3

  • VLAN cos=5

デフォルト値は 6 および ge(greater than or equal to:「以上」の略)です。

設定


Router# configure
Router(config)# hw-module early-fast-discard
Router(config-early-fast-discard)# ip-prec 4 ip-op [lt | ge]
Router(config-early-fast-discard)# mpls-exp 3 mpls-op [lt | ge]
Router(config-early-fast-discard)# vlan-cos 5 vlan-op [lt | ge]
Router(config-early-fast-discard)# exit


(注)  


no hw-module early-fast-discard コマンドを使用して、EFD を非アクティブ化します。


実行コンフィギュレーション


RP/0/RP0/CPU0:ios#show run hw-module early-fast-discard
Thu Jul 16 15:51:34.672 UTC
hw-module early-fast-discard
 ip-prec 4 ip-op ge
 mpls-exp 3 mpls-op ge
 vlan-cos 5 vlan-op lt
!

関連項目

GTP を使用した CEF ロードバランシング

セクションでは、フローごとのロードバランシングについて説明します。

フロー単位ロード バランシング

ロード バランシングでは、レイヤ 3(ネットワーク層)およびレイヤ 4(トランスポート層)のルーティング情報に基づいてパケットを複数のリンクに分散させるルータ機能について説明します。ルータが宛先に至るパスを複数検出した場合は、その宛先の複数のエントリでルーティング テーブルが更新されます。

フロー単位のロードバランシングでは、以下の機能が実行されます。

  • 着信データ トラフィックは、複数の等コスト接続に均等に分散されます。

  • レイヤ 3(ネットワーク層)ロードバランシングの決定は、5 タプルハッシュアルゴリズムでサポートされる IPv4、IPv6、および MPLS のフローに対して行われます。

  • 同じハッシュアルゴリズム(3 タプルまたは 5 タプル)が、複数の等コストレイヤ 3(ネットワーク層)パス全体でのロードバランシングに使用されます。レイヤ 3(ネットワーク層)パスは、物理インターフェイスまたはバンドル インターフェイス上にあります。

  • cef load-balancing fields L3 global コマンドを使用すると、3 タプルハッシュアルゴリズムを選択できます。

  • デフォルトでは、5 タプルハッシュアルゴリズムがロードバランシングに使用されます。cef load-balancing fields L3 global コマンドを使用すると、3 タプルハッシュアルゴリズムが有効になります。

レイヤ 3(L3)ルーティング情報

3 タプル ロードバランス ハッシュ計算には、次のレイヤ 3(ネットワーク層)入力が含まれます。

  • 送信元 IP アドレス

  • 宛先 IP アドレス

  • ルータ ID

レイヤ 4(L4)ルーティング情報

5 タプル ロードバランス ハッシュ計算には、3 タプルの入力と、次の追加のレイヤ 4(トランスポート層)入力が含まれます。

  • 送信元 IP アドレス

  • 宛先 IP アドレス

GTP の Cisco Express Forwarding(CEF)ロードバランシングは、XRv9K プラットフォームではデフォルトで常に有効になっており、無効にすることはできません。したがって、no cef loadbalancing fields l4 gtp コマンドは、ハッシュ計算での GTP フィールドの包含を無効化しません。

XRV9k は、GRE ヘッダー + MPLS ラベルの背後にある場合でも GTP ヘッダーを検出でき、GTP フィールドに基づいてロードバランシングを実行できます。

データ プレーンの管理

Cisco IOS XRv 9000 ルータのデータ プレーンは、ルータの起動後に自動的に開始されます。コントロール プレーンがデータ プレーンとの通信を確立しない場合や通信できなくなった場合、コントロール プレーンは自動的にデータ プレーンを再起動します。

データ プレーンは、メンテナンスとトラブルシューティングのために、管理コンソールから手動で開始、シャットダウン、リロードできます。この表では、データ プレーンの管理に必要なコマンドを示します。

表 2. データ プレーンの管理コマンド

タスク

使用するコマンド

データ プレーンのステータスを確認する。

show sdr

sysadmin-vm:0_RP0# show sdr
Thu May  7  18:38:38.996 UTC
sdr default-sdr
 location 0/RP0/VM1
  sdr-id             2
  IP Address of VM   192.0.0.4
  MAC address of VM  E2:3A:DD:0A:8C:06
  VM State           RUNNING
  start-time         2015-05-07T17:54:39.457822+00:00
  Last Reload Reason FIRST_BOOT
  Reboot Count       1
 location 0/RP0/VM2
  sdr-id             2
  IP Address of VM   192.0.0.6
  MAC address of VM  E2:3A:DD:0A:8C:06
  VM State           RUNNING
  start-time         2015-05-07T18:22:44.136498+00:00
  Last Reload Reason FIRST_BOOT
  Reboot Count       1

データ プレーンの場所をメモしておく必要があります。この例では、データ プレーンの状態は場所 0/RP0/VM2 の下に表示されています。

データ プレーンを開始する

sdr default-sdr location <data-plane-location> start


sysadmin-vm:0_RP0# sdr default-sdr location 0/RP0/VM2 start
Mon May  4  17:16:37.867 UTC
Start ? [no,yes] yes
result start sdr default-sdr location  0/RP0  request acknowledged

データ プレーンをシャット ダウンする

sdr default-sdr location <data-plane-location> shut


sysadmin-vm:0_RP0# sdr default-sdr location 0/RP0/VM2 shut
Mon May  4  17:12:32.397 UTC
Shut ? [no,yes] yes
result shutdown sdr default-sdr location  0/RP0  request acknowledged

データ プレーンをリロードする

sdr default-sdr location <data-plane-location> reload


sysadmin-vm:0_RP0# sdr default-sdr location 0/RP0/VM2 reload
Mon May  4  17:21:17.390 UTC
Reload ? [no,yes] yes
result graceful reload sdr default-sdr location  0/RP0  request acknowledged

(注)  


通常の運用では、ユーザはデータ プレーンを手動で開始および停止してはいけません。


データ プレーンのデバッグ

Cisco IOS XRv 9000 ルータには、データ プレーンのステータスと統計をチェックするコマンドのセットが用意されています。これらのコマンドは、次のとおりです。

(注)  


次に示すデータ プレーンのデバッグ コマンドは、一時的にトラフィックの転送を中断することがあります。
  • show controller dpa statistics

  • show controller dpa fib ipv4|ipv6 [<prefix> | summary]
.

  • show controller dpa version:データ プレーンのバージョンを表示します。

    次に例を示します。
    RP/0/RP0/CPU0:ios#show controller dpa version
    Fri May 29 19:28:16.520 UTC
    Image built on 13:29:13 May 29 2015 in workspace /workspace1/shope/ttl_commit
    DPA started May 29 18:11:23,  up 0 days, 01:16
    
    
  • show controller dpa logging:データ プレーン ログを表示します。デフォルトでは、エラーや重要なイベントのログ情報のみが使用可能です。

    次に例を示します。
    RP/0/RP0/CPU0:SS_Node1#show controllers dpa logging 
     Mon Jun 29 19:47:33.245 UTC
     Jun 29 01:43:32.820: Log File Started
     Jun 29 01:43:32.820: DPA_INFO: DPA beginning initialization
     Jun 29 01:43:32.823: DPA_INFO: Dataplane Agent enabled
     Jun 29 01:43:32.823: DPA_INFO: Image built on 15:02:53 Jun 25 2015
     Jun 29 01:43:32.823: DPA_INFO: Table WRED_STR of size 8388480 is being initialized
     Jun 29 01:43:32.824: DPA_INFO: Table STATIC_POLICER_STR of size 8192 is being initialized with data
     Jun 29 01:43:32.824: DPA_INFO: Table HASH_DYN_BUCKET_STR of size 3355264 is being initialized
     Jun 29 01:43:32.825: DPA_INFO: Table HASH_BUCKET_STR of size 33552832 is being initialized
     Jun 29 01:43:32.829: DPA_INFO: Table DYN_FREE_BLOCK_STR of size 16777216 is being initialized
     Jun 29 01:43:32.832: DPA_INFO: Table INDEX_Q_STR of size 8192 is being initialized
     Jun 29 01:43:32.832: DPA_INFO: Table HASH_HOST_DYN_BUCKET_STR of size 1677504 is being initialized
    
    
  • show controller dpa statistics global:データ プレーンの統計を表示します。この統計には、ドロップ パケット数、コントロール プレーンから入ってきたパケット、およびコントロール プレーンにパントされたパケットが含まれます。

    次に例を示します。
    RP/0/RP0/CPU0:ios#show control dpa statistics global 
    Fri May 29 19:27:35.497 UTC
    Index  Punt                                                            Count
    ----------------------------------------------------------------------------
     1575  ARP                                                                28
     1677  IFIB                                                             1341
     1701  IPv4 FIB                                                            5
    
    Index  Inject                                                          Count
    ----------------------------------------------------------------------------
      267  IPv4 from fabric                                                   31
      268  IPv4 from fabric multicast                                       1290
      270  IPv4 from fabric next-hop                                          55
      275  Inject to fabric                                                 1376
      276  Inject to port                                                     11
    
    Index  Drop                                                            Count
    ----------------------------------------------------------------------------
       63  Egress uIDB in down state                                           1
      113  IPv6 disabled in uIDB                                              52
    
    
  • show controller dpa fib ipv4|ipv6 [<prefix> | summary]:データ プレーンの FIB エントリを表示します。<prefix> および summary キーワードはオプションです。

    次に例を示します。
    RP/0/RP0/CPU0:ios#show controller dpa fib ipv4
    Fri May 29 19:54:40.110 UTC
    
    VRF id: 0
    Default prefix 0.0.0.0/0 -> leaf:46423
    total number of prefix:35
    total_node_allocated:29 leaf_inserts:50 leaf_deletes 15 leaf_replaces: 2
    
    Prefix               leaf_index
    224.0.0.0/4          46436(0xb564)
    224.0.0.0/24         46434(0xb562)
    255.255.255.255/32   46429(0xb55d)
    0.0.0.0/32           46433(0xb561)
    10.1.1.1/32           46513(0xb5b1)
    2.2.2.2/32           46510(0xb5ae)
    
    
    summary キーワードを使用すると、このコマンドは各 vrf テーブルのプレフィックスと運用統計を表示します。次に例を示します。
    RP/0/RP0/CPU0:R1-PE1#show control dpa fib ipv4 summary
    
    VRF id: 0
    Default prefix 0.0.0.0/0 -> leaf:46421
    total number of prefix: 27859
    allocated nodes:        1089
    leaf_inserts:           27922
    leaf_deletes            63
    leaf_replaces:          173
    
    
    VRF id: 1
    Default prefix 0.0.0.0/0 -> leaf:46444
    total number of prefix: 430
    allocated nodes:        26
    leaf_inserts:           430
    leaf_deletes            0
    leaf_replaces:          213
    
    
    <prefix> キーワードを使用すると、このコマンドは、すべてのプレフィックスと、そのプレフィックスに一致する vrf テーブルのリストを表示します。次に例を示します。
    RP/0/RP0/CPU0:ios#show controller dpa fib ipv4 5.11.23.131/32
    VRF id: 0
    Prefix               leaf_index
    5.11.23.131/32       1164818(0x11c612)
    
    VRF id: 1
    
    VRF id: 2
    
    VRF id: 3
         
    
  • show controller dpa tm queue <num>:トラフィック マネージャ キューの内部データを表示します。このデータには、DRR ウェイト、Q-limit、瞬間的なパケットとバイト数が含まれます。

    次に例を示します。
    RP/0/RP0/CPU0:ios#show controller dpa tm queue 1
    Fri May 29 19:31:25.556 UTC
    Queue 1
      Parent Subport:       0
      Weight:               10
      Q-Limit:              625000
      Packets:              0
      Bytes:                0
    
    
  • show controller dpa tm subport <num>:トラフィック マネージャ サブポートの内部データを表示します。このデータには、DRR ウェイト、シェーピングされたレート、キュー設定、および瞬間的なパケットが含まれます。

    次に例を示します。
    RP/0/RP0/CPU0:ios#show controller dpa tm subport 3
    Fri May 29 19:44:12.993 UTC
    Subport 3
      Parent vPort:       3
      Weight:             10200
      Rate:               776726
      Being Deleted:      no
      Configured:         yes
        Queue     24 pkts:        0 bytes:          0
        Queue     25 pkts:        6 bytes:       8376
        Queue     26 pkts:        0 bytes:          0
        Queue     27 pkts:        0 bytes:          0
        Queue     28 pkts:        0 bytes:          0
        Queue     29 pkts:        0 bytes:          0
        Queue     30 pkts:        0 bytes:          0
        Queue     31 pkts:        0 bytes:          0
      Priority Queues:    1
      Best effort Queues: 7
    
    
  • show controller dpa tm vport <num>:トラフィック マネージャ仮想ポートの内部データを表示します。このデータには、そのポートのレートとフロー制御が現在アクティブかどうかが含まれます。

    次に例を示します。
    RP/0/RP0/CPU0:ios#show controller dpa tm vport 0
    Fri May 29 19:32:39.447 UTC
    vPort 0
      Parent port:        0
      Rate:               95
      Flow control:       0