Cisco IOS XRv 9000 ルータのコントロールプレーンの特徴的な機能

この章では、Cisco XRv 9000 コントロールプレーンの特徴的な機能について説明します。

BGP の最適なルート リフレクタ

表 1. 機能の履歴(表)

機能名

リリース情報

機能説明

BGP ORR 6PE

リリース 7.3.1

この機能が導入されます。特定の ORR テーブルのベストパスとして選択可能なパスがない場合は、デフォルトテーブルのベストパスを ORR グループのベストパスとして割り当てることができます。この機能は、IPv4 ネクストホップおよびデフォルトのフォールバックパスを使用した IPv6 ラベルユニキャストを有効にします。

新しいキーワードがこのリリースで追加されました。

  • fallback-default-bestpath

BGP-ORR(最適なルート リフレクタ)により、仮想ルート リフレクタ(vRR)は、ルート リフレクタの(RR)クライアントの観点からベスト パスを計算できます。

BGP ORR は次の方法でベスト パスを計算します。

  1. RR クライアントまたは RR クラスタ(RR クライアントのセット)のコンテキストで、SPF を複数回実行します。

  2. それぞれの SPF 実行結果を、別個のデータベースに保存します。

  3. これらのデータベースを使用して BGP のベスト パス判断を処理し、これにより BGP がクライアントの観点から最適なベスト パスを使用し、通知できるようにします。

自律システムでは、BGP のルート リフレクタは焦点として機能し、RR が計算したベスト パスとルートをそのピア(RR クライアント)にアドバタイズします。RR によってアドバタイズされたベスト パスは RR の観点から計算されることになるので、RR の配置は導入に関する重要な検討事項になります。

ネットワーク機能の仮想化(NFV)が主要な技術となっていることから、サービス プロバイダー(SP)は複数のサーバを使用するクラウドで仮想 RR 機能をホストしています。vRR はコントロール プレーン デバイス上で実行でき、トポロジまたは SP データセンター内のどこにでも配置できます。Cisco IOS XRv 9000 ルータは、SP データセンター内の NFV プラットフォーム上の vRR として実装できます。vRR を利用することにより、SP は RR 導入のメモリと CPU 使用率を大幅に拡張できます。RR を最適な配置から移動するには、RR クライアントの観点から最適なパスを計算する ORR 機能を vRR が実装する必要があります。

BGP ORR には次のような利点があります。

  • RR クライアントの観点からベスト パスを計算します。

  • vRR をトポロジまたは SP データセンター内のどこにでも配置できます。

  • SP は RR 導入のメモリと CPU 使用率を拡張できます。


(注)  


ORR 機能を有効にすると、BGP と RIB のメモリ フットプリントが増加します。ネットワーク内に設定されている vRR の数が増えると、ORR は BGP のコンバージェンスに悪影響を及ぼします。


BGP ORR の設定方法

BGP ORR は次のように設定できます。

  • パス アドバタイズメント ポリシーを使用しない BGP ORR。

  • パス アドバタイズメント ポリシーを使用した BGP ORR。

パス アドバタイズメント ポリシーを使用しない BGP ORR

vRR は次の手順を実行して、BGP ORR ベストパスを計算し、すべての vRR サイトと ORR グループにアドバタイズします。

  1. vRR は、グローバル アドレス ファミリ インジケータ(AFI)ポリシーから各 ORR グループの BGP ORR ベストパスを計算します。

  2. vRR は、選択された追加パスとともに、計算したベストパスをアドバタイズします。

ORR グループにポリシーを割り当てていない場合、デフォルトでは、vRR はその ORR グループのグローバル AFI のデフォルト選択ポリシーを使用してベストパスを計算します。詳細については、パス アドバタイズメント ポリシー トポロジを使用しない BGP ORR を参照してください。

パス アドバタイズメント ポリシーを使用した BGP ORR

vRR は次の手順を実行して、BGP ORR ベストパスとバックアップ/追加パスを計算し、すべての vRR サイトと ORR グループにアドバタイズします。

  1. optimal-route-reflection コマンドを使用して、ORR グループ追加パスポリシーを設定できます。詳細については、パス アドバタイズメント ポリシーを使用した BGP 最適ルートリフレクタ を参照してください。

  2. vRR は、割り当てられたポリシーに基づいて各 ORR グループのベストパスを計算します。

  3. vRR は、追加パスルートポリシーを持つ ORR グループ内の PE ルータにベストパスとバックアップ/追加パスをアドバタイズします。


    (注)  


    必要に応じて、optimal-route-reflection コマンドで addpath-all policy を使用して、vRR が ORR グループへのすべてのパスをアドバタイズできるようにすることができます。


  4. vRR は、計算されたベストパスを、すべての既知のパスとともに、リージョン内グループ内のすべての vRR サイトにアドバタイズします。

  5. vRR は、クライアントパスと必要なピアリングパスのみを、リージョン間グループ内のすべての vRR サイトにアドバタイズします。

パス アドバタイズメント ポリシー トポロジを使用しない BGP ORR

次のようなパス アドバタイズメント ポリシー トポロジを使用しない BGP ORR があるとします。

  • ルータ R1、R2、R3、R4、R5、R6 がルート リフレクタ クライアントである。

  • ルータ R1 および R4 が vRR に 6/8 プレフィックスをアドバタイズする。

図 1. パス アドバタイズメント ポリシー トポロジを使用しない BGP-ORR


vRR は、R1 および R4 からプレフィックス 6/8 を受信します。ネットワークに BGP ORR が設定されていない場合、vRR は RR クライアント R2、R3、R5、R6 の最も近い出力点として R4 を選択し、R4 から学習した 6/8 プレフィックスをこれらの RR クライアント(R2、R3、R5、R6)にリフレクトします。トポロジから、R2 のベスト パスが R4 ではなく R1 であるのは明らかです。これは、vRR が RR の観点からベスト パスを計算するためです。

BGP ORR がネットワークに設定されると、vRR は R2 の観点からネットワークの最短出力点を計算し、R2 に最も近い出力点は R1 であると判別します。その結果、vRR は R1 から学習した 6/8 プレフィックスを R2 にリフレクトします。

パス アドバタイズメント ポリシーを使用しない BGP ORR の制約事項と制限事項

次に、パス アドバタイズメント ポリシーを使用しない BGP ORR の制約事項と制限事項を示します。

  • ORR グループに複数のパスが追加されている場合、vRR はそれらの中からパスを 1 つだけ選択して、vRR サイトのベストパスを計算します。

  • vRR は、すべてのクライアントに同じタイプおよびセットの追加パスを計算してアドバタイズします。

パス アドバタイズメント ポリシーを使用しない BGP ORR の設定

手順

パス アドバタイズメント ポリシーを使用しない BGP ORR を設定するには、次の手順を実行します。


パス アドバタイズメント ポリシーを使用しない BGP ORR を設定するには、次の手順を実行します。

ステップ 1

ルータ BGP モードで ORR をグローバルに設定します。

例:

Router# configure
Router(config)# router bgp 100
Router(config-bgp)# optimal-route-reflection ipv4 foo 10.1.1.1 10.1.1.2 10.1.1.3
Router(config-bgp)# optimal-route-reflection ipv6 bar abcd::1 abcd::2 abcd::3
 

ステップ 2

アドレスファミリモードで ORR グループを有効にします。

例:

Router(config-bgp-route)# address-family ipv4 unicast
Router(config-bgp-route-af)# optimal-route-reflection apply foo
Router(config-bgp-route-af)# exit
Router(config-bgp-route)# address-family ipv6 unicast
Router(config-bgp-route-af)# optimal-route-reflection apply bar
Router(config-bgp-route-af)# allocate-label {all | route-policy <>}
Router(config-bgp-route-af)# commit

ステップ 3

ネイバーを ORR クライアントとして指定します。

例:

Router# configure
Router(config)# neighbor 2.2.2.2
Router(config-nbr)# remote-as 100
Router(config-nbr)# address-family ipv4 unicast
Router(config-nbr-af)# optimal-route-reflection foo
Router(config-nbr-af)# exit
Router(config-nbr)# address-family ipv6 label-unicast
Router(config-nbr-af)# optimal-route-reflection foo
Router(config-nbr-af)# commit

ステップ 4

ORR グループのベストパスがない場合は、デフォルトテーブルのベストパスの選択を有効にします。

例:

Router# configure
Router(config)# router bgp 65000
Router(config-bgp)# bgp router-id 10.1.1.1
Router(config-bgp)# address-family ipv4 unicast
Router(config-bgp-af)# optimal-route-reflection fallback-default-bestpath

ステップ 5

実行コンフィギュレーションを表示して、設定を確認します。

例:


router bgp 100
 optimal-route-reflection ipv4 foo 10.1.1.1 10.1.1.2 10.1.1.3
 optimal-route-reflection ipv6 bar abcd::1 abcd::2 abcd::3
 address-family ipv4 unicast
  optimal-route-reflection apply foo
 address-family ipv6 unicast
  optimal-route-reflection apply foo
  allocate-label {all | route-policy <>} 
 neighbor 2.2.2.2
  remote-as 100
  address-family ipv4 unicast
   optimal-route-reflection foo
  address-family ipv6 label-unicast
   optimal-route-reflection foo

ステップ 6

IPv4 の BGP ORR 設定を確認するには、次の手順を実行します。

  1. R2 が最適な出力を受信したかどうかを確認し、EXEC モードで show bgp <prefix> コマンドを(R2 から)実行します。上記の例では、R1 および R4 は 6/8 プレフィックスをアドバタイズします。次のように show bgp 6.0.0.0/8 コマンドを実行します。

    例:

    Router# sh bgp 200.1.1.0/24 path-elements
    BGP routing table entry for 200.1.1.0/24
    Versions:
        Process     bRIB/RIB SendTblVer
        Speaker           84         84
            Flags: 0x043e3028+0x00000000;
    Last Modified: Sep 7 20:21:38.000 for 00:11:45
    Paths: (2 available, best #1)
    Path-elements: 2
        Path ID: 1
            Gateway metric 0, Version 84
        Path: Nexthop 11.1.1.2, flags 0x4000000001440207
              Neighbor 11.1.1.2, Received Path ID 0
        Flags: 0x00000001
               status: valid
               path type: bestpath
               add-path action:
        Opaque: pelem=0xebf81d10
                net=0xabe435c, tblattr=0xa962f64 (ver 84)
                path=0xabf4450, path-tblattr=0xa962f64 (ver 84)
                           nobestpath-tblattr=0xa963234 (ver 0)
                            noaddpath-tblattr=0xa9631e4 (ver 0)
                bitfields=0xace9f64 (val=0x1a, size=1)
                pe-bitfields=0x0 (val=0x0, size=0)
                orr-bitfields=0xac145d8 (val=0x0, size=0)
                orr-ap-bitfields=0xac145d8 (val=0x2, size=0). <<<<<<<<<<<<<<<
                net-next=0xebf81cd4, tblattr-prev=0xebf81cd4, tblattr-next=0xebf81c98
    Path ID: 2
        Gateway metric 0, Version 107
        Path: Nexthop 192.168.0.10, flags 0x4000000000040007
              Neighbor 192.168.0.2, Received Path ID 2
        Flags: 0x00000042
               status: valid
               path type: backup
               add-path action: advertise
        Opaque: pelem=0x10a0bba8
                net=0x109cbb14, tblattr=0x10399c84 (ver 156)
                path=0x109ebcd4, path-tblattr=0x10399c84 (ver 156)
                            nobestpath-tblattr=0x10399fa4 (ver 0)
                                noaddpath-tblattr=0x10399f54 (ver 0)
                bitfields=0x10c00624 (val=0x10, size=1)
                pe-bitfields=0x0 (val=0x0, size=0)
                orr-bitfields=0x10a2b8cc (val=0x0, size=1)
                orr-ap-bitfields=0x10a2b8a8 (val=0x6, size=1) <<<<<<<<<<<<<<<
                net-next=0x10a0b528, tblattr-prev=0x10a0bbe8, tblattr-next=0x0

    上記の例では、出力の状態として、R2 のベスト パスが、IP アドレスが 192.0.2.1 でパスのメトリックが 20 である R1 経由であることが表示されています。

  2. ORR によって計算された R2 のベストパスを判別するには、show bgp コマンドを vRR から実行します。R2 には他のピアとは異なるベスト パスがある(または異なるポリシーが設定されている)ため、R2 は独自のアップデートグループを持ちます。

    例:

    VRR# show bgp 6.0.0.0/8
    Thu Apr 28 13:36:42.744 UTC
    BGP routing table entry for 6.0.0.0/8
    Versions:
    Process bRIB/RIB SendTblVer
    Speaker 13 13
    Last Modified: Apr 28 13:36:26.909 for 00:00:15
    Paths: (2 available, best #2)
    Advertised to update-groups (with more than one peer):
    0.2
    Path #1: Received by speaker 0
    ORR bestpath for update-groups (with more than one peer):
    0.1
    Local, (Received from a RR-client)
    192.0.2.1 (metric 30) from 192.0.2.1 (192.0.2.1)
    Origin incomplete, metric 0, localpref 100, valid, internal, add-path
    Received Path ID 0, Local Path ID 2, version 13
    Path #2: Received by speaker 0
    Advertised to update-groups (with more than one peer):
    0.2
    ORR addpath for update-groups (with more than one peer):
    0.1
    Local, (Received from a RR-client)
    192.0.2.4 (metric 20) from 192.0.2.4 (192.0.2.4)
    Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best
    Received Path ID 0, Local Path ID 1, version 13
    
    

    (注)  

     

    パス #1 は、アップデートグループ 0.1 にアドバタイズされます。R2 はアップデートグループ 0.1 に含まれます。

  3. show bgp コマンドをアップデートグループ 0.1 に対して実行し、R2 がアップデートグループ 0.1 に含まれているかどうか確認します。

    例:

    VRR# show bgp update-group 0.1
    Thu Apr 28 13:38:18.517 UTC
    
    Update group for IPv4 Unicast, index 0.1:
    Attributes:
    Neighbor sessions are IPv4
    Internal
    Common admin
    First neighbor AS: 65000
    Send communities
    Send GSHUT community if originated
    Send extended communities
    Route Reflector Client
    ORR root (configured): g1; Index: 0
    4-byte AS capable
    Non-labeled address-family capable
    Send AIGP
    Send multicast attributes
    Minimum advertisement interval: 0 secs
    Update group desynchronized: 0
    Sub-groups merged: 0
    Number of refresh subgroups: 0
    Messages formatted: 5, replicated: 5
    All neighbors are assigned to sub-group(s)
    Neighbors in sub-group: 0.2, Filter-Groups num:1
    Neighbors in filter-group: 0.2(RT num: 0)
    192.0.2.2
    
    
  4. 次の確認点として、g1 ポリシーを設定した結果 vRR に作成されたテーブルのコンテンツを確認します。R2 の観点からは、R1 に到達するためのコストは 20 で、R4 に到達するためのコストは 30 です。したがって、R2 に最も近い最適な出力は R1 経由になります。

    例:

    VRR# show orrspf database g1
    Thu Apr 28 13:39:20.333 UTC
    
    ORR policy: g1, IPv4, RIB tableid: 0xe0000011
    Configured root: primary: 192.0.2.2, secondary: NULL, tertiary: NULL
    Actual Root: 192.0.2.2, Root node: 2000.0100.1002.0000
    
    Prefix Cost
    203.0.113.1 30
    192.0.2.1 20
    192.0.2.2 0
    192.0.2.3 30
    192.0.2.4 30
    192.0.2.5 10
    192.0.2.6 20
    
    Number of mapping entries: 8
    
    

ステップ 7

IPv6 プロバイダーエッジ(6PE)の BGP ORR 設定を確認するには、次の手順を実行します。

  1. show bgp コマンドを使用して、BGP ORR の設定を確認します。

    例:

    show bgp ipv6 labeled-unicast 1111::1/128
    Tue Mar 2 10:25:00.748 PST
    BGP routing table entry for 1111::1/128
    Versions:
    Process bRIB/RIB SendTblVer
    Speaker 4 4
    Last Modified: Mar 2 10:18:53.000 for 00:06:08
    Paths: (3 available, best #3)
    Advertised IPv6 Labeled-unicast paths to update-groups (with more than one peer):
    0.2
    Path #1: Received by speaker 0
    ORR bestpath for update-groups (with more than one peer):
    0.1
    Local, (Received from a RR-client)
    192.168.0.3 (metric 75) from 192.168.0.3 (192.168.0.3)
    Received Label 24007
    Origin incomplete, metric 0, localpref 100, valid, internal, add-path, labeled-unicast
    Received Path ID 0, Local Path ID 2, version 4
    Path #2: Received by speaker 0
    Not advertised to any peer
    Local, (Received from a RR-client)
    192.168.0.4 (metric 190) from 192.168.0.4 (192.168.0.4)
    Received Label 24007
    Origin incomplete, metric 0, localpref 100, valid, internal, labeled-unicast
    Received Path ID 0, Local Path ID 0, version 0
    Path #3: Received by speaker 0
    Advertised IPv6 Labeled-unicast paths to update-groups (with more than one peer):
    0.2
    Local, (Received from a RR-client)
    192.168.0.5 (metric 65) from 192.168.0.5 (192.168.0.5)
    Received Label 24007
    Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast
    Received Path ID 0, Local Path ID 1, version 3
  2. show bgp コマンドを使用して、ipv6 グループの設定を確認します。

    例:

    show bgp ipv6 labeled-unicast update-group
    Tue Mar 2 10:25:51.308 PST
    
    Update group for IPv6 Labeled-unicast, index 0.1:
    Attributes:
    Neighbor sessions are IPv4
    Internal
    Common admin
    First neighbor AS: 1
    Send communities
    Send GSHUT community if originated
    Send extended communities
    Route Reflector Client
    ORR root (configured): orr-grp-1; Index: 0
    4-byte AS capable
    Send AIGP
    Send multicast attributes
    Minimum advertisement interval: 0 secs
    Update group desynchronized: 0
    Sub-groups merged: 0
    Number of refresh subgroups: 0
    Messages formatted: 1, replicated: 2
    All neighbors are assigned to sub-group(s)
    Neighbors in sub-group: 0.2, Filter-Groups num:1
    Neighbors in filter-group: 0.2(RT num: 0)
    192.168.0.2 192.168.0.4
    
    Update group for IPv6 Labeled-unicast, index 0.2:
    Attributes:
    Neighbor sessions are IPv4
    Internal
    Common admin
    First neighbor AS: 1
    Send communities
    Send GSHUT community if originated
    Send extended communities
    Route Reflector Client
    4-byte AS capable
    Send AIGP
    Send multicast attributes
    Minimum advertisement interval: 0 secs
    Update group desynchronized: 0
    Sub-groups merged: 0
    Number of refresh subgroups: 0
    Messages formatted: 1, replicated: 4
    All neighbors are assigned to sub-group(s)
    Neighbors in sub-group: 0.1, Filter-Groups num:1
    Neighbors in filter-group: 0.1(RT num: 0)
    192.168.0.3 192.168.0.5
    
    
  3. show bgp コマンドを使用して、BGP 設定の IPv6 ユニキャストルートを確認します。

    例:

    show bgp ipv6 unicast orr-group all
    Tue Mar 2 10:26:41.072 PST
    Name Tableid Nbrcnt Index Root
    orr-grp-1 0xe0000019 2 0 192.168.0.3
    
    
  4. BGP スピーカーのグローバル ORR ポリシーグループを確認します。

    例:

    次の show コマンドは、BGP スピーカーのグローバル ORR ポリシーグループテーブルを表示します。

    Router# show bgp orr-group global all 
    Wed Apr  8 16:46:29.929 PDT
    Name            Policy-afi Global     Tableid          AFI-count  Root                
    orr-grp-3       IPv4       Yes        0xe0000014        1         1.1.2.1             
    orr-grp-2       Ipv6       Yes        0xe0800013        0         1::1                
    orr-grp-1       IPv4       Yes        0xe0000012        2         192.168.0.3         
    
    

    次の show コマンドは、特定の ORR 名のグローバル ORR グループエントリの詳細を表示します。

    Router# show bgp orr-group global orr-grp-1
    Wed Apr  8 16:46:51.596 PDT
      ORR Name : orr-grp-1
           policy afi : IPv4
    global Defined : Yes
              tableid : 0xe0000012
               aficnt : 2
    IPv4 unicast used : Yes
    IPv6 unicast used : Yes
               root : 192.168.0.3
    

    次の show コマンドは、BPM ORR ポリシーグループテーブルを表示します。

    Router# show bgp orr-group bpm all  
    Wed Apr  8 16:49:44.223 PDT
    Name            Policy-afi Global     AFI-cnt    Nbr-af-cnt      Root                
    orr-grp-3       IPv4       Yes        1          0               1.1.2.1             
    orr-grp-2       IPv6       Yes        0          0               1::1                
    orr-grp-1       IPv4       Yes        2          4               192.168.0.3         
    
    

    次の show コマンドは、特定の ORR 名の BPM ORR グループエントリの詳細を表示します。

    Router# show bgp orr-group bpm orr-grp-1
    Wed Apr  8 16:50:02.437 PDT
        ORR Name : orr-grp-1
            v4 policy : Yes
       global Defined : Yes
            AFI count : 2
     total nbr af cnt : 4
    IPv4 unicast used : Yes
    IPv6 unicast used : Yes
      IPv4 nbr af cnt : 2
      IPv6 nbr af cnt : 2
               root : 192.168.0.3
    
    

パス アドバタイズメント ポリシーを使用した BGP 最適ルートリフレクタ

表 2. 機能の履歴(表)

機能名

リリース情報

機能説明

パス アドバタイズメント ポリシーを使用した BGP 最適ルートリフレクタ

リリース 24.2.1

この機能を使用すると、個別の最適ルートリフレクタ(ORR)グループに独立したルーティングポリシーを割り当てることができます。仮想ルートリフレクタ(vRR)は、割り当てられたポリシーに基づいて、その ORR グループの追加パスを計算します。これにより、ORR グループごとに異なるベストパスとバックアップパスが作成されます。これは、クライアントの観点から最適なパスです。

この機能により、次の変更が導入されました。

CLI:

  • route-policy キーワードが optimal-route-reflection コマンドに導入されました。

YANG データモデル:

  • Cisco-IOS-XR-ipv4-bgp-cfg.yang

  • Cisco-IOS-XR-um-router-bgp-cfg.yang

(「GitHub」、「YANG Data Models Navigator」を参照)

BGP-ORR(最適なルートリフレクタ)により、仮想ルートリフレクタ(vRR)は、ルートリフレクタの(RR)クライアントの観点からベストパスを計算できます。詳細については、BGP の最適なルート リフレクタ を参照してください。

トラフィックフロートポロジ

ネットワークトラフィックが ORR グループから、vRR サイトを通過し、リージョン内グループを通過し、最後にリージョン間グループを通過するトポロジについて考えてみます。BGP-ORR ベストパスのアドバタイズ を参照してください。

図 2. BGP-ORR ベストパスのアドバタイズ

次に、BGP-ORR ベストパスのアドバタイズ に示すように、BGP ORR 環境内のネットワーク要素の階層構造の定義を示します。

  • ORR グループ:複数のルータとプロバイダーエッジ(PE)ルータのセットが接続して ORR グループを形成します。たとえば、orr-grp n です。

  • vRR サイト:複数の ORR グループが接続して vRR サイトを形成します。

  • リージョン内グループ:複数の vRR サイトが接続してリージョン内グループを形成します。たとえば、Europe です。

  • リージョン間グループ:複数のリージョン内グループが接続してリージョン間グループを形成します。

この機能を使用すると、vRR サイトおよび ORR グループごとに追加パス選択ポリシーを設定できます。vRR は、BGP ORR ベストパスとバックアップ/追加パスを計算して、すべての vRR サイトと ORR グループにアドバタイズします。詳細については、パス アドバタイズメント ポリシーを使用した BGP ORRを参照してください。

次のルータポリシーを設定して、vRR がベストパス、バックアップパス、または追加パスをアドバタイズできるようにすることができます。

  • 「Is-destination」:これは、ベストパス、バックアップパス、または追加パスなどの特定のタイプのパスを指定されたネイバーにアドバタイズするポリシーに割り当てられる用語です。このポリシーは、ORR ネイバーには適用されません。

  • 「Set path-selection backup 1 advertise」:これは、vRR がベストパスとバックアップパスのみを vRR サイトと ORR グループにアドバタイズできるようにするポリシーに割り当てられる用語です。

  • 「Set path-selection all advertise」:これは、vRR がベストパスと追加パスを vRR サイトと ORR グループにアドバタイズできるようにするポリシーに割り当てられる用語です。

パス アドバタイズメント ポリシーを使用した BGP ORR の制約事項と制限事項

次に、パス アドバタイズメント ポリシーを使用した BGP ORR の制約事項と制限事項を示します。

  • デフォルトでは、vRR は計算されたベストパスとバックアップパスを ORR グループにアドバタイズします。必要に応じて、additional-paths selection コマンドで addpath-all キーワードを使用して、vRR が ORR グループにすべてのパスをアドバタイズできるようにすることができます。

  • デフォルトでは、vRR はすべてのパスをすべての vRR サイトにアドバタイズします。

  • ORR グループにポリシーを割り当てておらず、AFI ルータポリシーにデフォルトパスが割り当てられていない場合、vRR はその ORR グループのベストパスを計算しません。

  • ルータポリシーの「Is-destination」オプションは、ORR route-policy attach-point ではサポートされていません。たとえば、「is-destination」パスを設定した場合、「is-destination」パスは vRR にのみアドバタイズされ、PE にはアドバタイズされません。

  • vRR は転送パスの一部ではないため、「Set path-selection backup 1 install」オプションは ORR グループをサポートしません。したがって、転送テーブルに ORR およびバックアップパスをインストールすることはできません。ORR グループに対してこのポリシーを設定すると、システムはインストールコマンドを無視し、デフォルトでは、指定された ORR グループにバックアップパスをアドバタイズします。

パス アドバタイズメント ポリシーを使用した BGP ORR の設定

パス アドバタイズメント ポリシーを使用して BGP ORR を設定するには、次の手順を実行します。

手順


ステップ 1

RPL ポリシー「Is-destination」を設定します。

例:

Router# configure
Router(config)# route-policy Bestpath
Router(config-rpl)# if destination is-best-path then
Router(config-rpl)# pass
Router(config-rpl)# else
Router(config-rpl)# drop
Router(config-rpl)# endif
Router(config-rpl)# end-policy
Router(config-rpl)# exit

このポリシーは、指定されたパスがベストパスである場合にのみ、vRR がパスを渡すことを許可します。それ以外の場合は、ルートをドロップします。このポリシーは、vRR が vRR サイトにベストパスのみをアドバタイズすることを許可し、ORR ネイバーには適用されません。

ステップ 2

ベストパスとバックアップパスをアドバタイズするように RPL ポリシーを設定します。

例:

Router# configure
Router(config)# route-policy Backup
Router(config-rpl)# set path-selection backup 1 advertise
Router(config-rpl)# end-policy
Router(config-rpl)# exit

このポリシーにより、vRR はベストパスとバックアップパスをアドバタイズできます。

ステップ 3

すべてのパスをアドバタイズするように RPL ポリシーを設定します。

例:

Router# configure
Router(config)# route-policy addpath-all
Router(config-rpl)# set path-selection all advertise
Router(config-rpl)# end-policy
Router(config-rpl)# exit
Router(config)# route-policy pass
Router(config-rpl)# pass
Router(config-rpl)# end-policy
Router(config-rpl)# exit
Router(config)# route-policy addpath-backup
Router(config-rpl)# set path-selection backup 1 advertise
Router(config-rpl)# end-policy
Router(config-rpl)# exit
Router(config)# end
Router#

このポリシーは、vRR が ORR グループにすべてのパスをアドバタイズすることを許可します。

ステップ 4

optimal-route-reflection コマンドを使用して ORR グループ追加パスポリシーを設定し、address-family コマンドを使用してアドレスファミリを ORR グループに割り当てます。

例:

Router# configure
Router(config)# router bgp 13
Router(config-bgp)# optimal-route-reflection ipv4 orr-grp-1 1.1.1.1 route-policy addpath-backup
Router(config-bgp-router)# address-family ipv4 unicast
Router(config-bgp-router-af)# additional-paths selection route-policy addpath-all
Router(config-bgp-router-af)# optimal-route-reflection apply orr-grp-1
Router(config-bgp-router-af)# commit

ステップ 5

neighbor-group コマンドを使用して、BGP のネイバーグループを設定します。

例:

Router# configure
Router(config)# neighbor-group PR
Router(config-nbrgrp)# address-family ipv4 unicast
Router(config-nbrgrp-af)# route-reflector-client
Router(config-nbrgrp-af)# optimal-route-reflection orr-grp-1
Router(config-nbrgrp-af)# route-policy pass in
Router(config-nbrgrp-af)# commit

ステップ 6

neighbor コマンドを使用して、設定された BGP ネイバーグループを BGP ネイバーに適用します。

例:

Router# configure
Router(config)# neighbor 10.10.10.10
Router(config-nbr)# use neighbor-group PR
 

ステップ 7

実行コンフィギュレーションを表示して、設定を確認します。

例:

/*Enable to BGP Policies*/
route-policy addpath-all
  set path-selection all advertise
end-policy
route-policy pass
  pass
end-policy
route-policy addpath-backup
  set path-selection backup 1 advertise
end-policy

/*Configure ORR Add-Path and create ORR Groups*/
router bgp 13
  optimal-route-reflection ipv4 orr-grp-1 1.1.1.1 route-policy addpath-backup
  optimal-route-reflection ipv4 orr-grp-2 2.2.2.2
  address-family ipv4 unicast
    additional-paths selection route-policy addpath-all
    optimal-route-reflection apply orr-grp-1
    optimal-route-reflection apply orr-grp-2
!

/* Configure BGP neighbor groups*/
neighbor-group PR
  address-family ipv4 unicast
    route-reflector-client
    optimal-route-reflection orr-grp-1
    route-policy pass in
  !
!
neighbor-group BB
  address-family ipv4 unicast
    route-reflector-client
    route-policy PR_BB_COMM in
  !
!

/*Apply the neighbor groups*/
neighbor 10.10.10.10
  use neighbor-group PR
neighbor 3.3.3.3
  use neighbor-group BB

ステップ 8

show bgp コマンドを使用して、追加パスポリシー設定と BGP ORR を確認します。

例:

Router# sh bgp 200.1.1.0/24 path-elements
BGP routing table entry for 200.1.1.0/24
Versions:
    Process     bRIB/RIB SendTblVer
    Speaker           84         84
        Flags: 0x043e3028+0x00000000;
Last Modified: Sep 7 20:21:38.000 for 00:11:45
Paths: (2 available, best #1)
Path-elements: 2
    Path ID: 1
        Gateway metric 0, Version 84
    Path: Nexthop 11.1.1.2, flags 0x4000000001440207
          Neighbor 11.1.1.2, Received Path ID 0
    Flags: 0x00000001
           status: valid
           path type: bestpath
           add-path action:
    Opaque: pelem=0xebf81d10
            net=0xabe435c, tblattr=0xa962f64 (ver 84)
            path=0xabf4450, path-tblattr=0xa962f64 (ver 84)
                       nobestpath-tblattr=0xa963234 (ver 0)
                        noaddpath-tblattr=0xa9631e4 (ver 0)
            bitfields=0xace9f64 (val=0x1a, size=1)
            pe-bitfields=0x0 (val=0x0, size=0)
            orr-bitfields=0xac145d8 (val=0x0, size=0)
            orr-ap-bitfields=0xac145d8 (val=0x2, size=0). <<<<<<<<<<<<<<<
            net-next=0xebf81cd4, tblattr-prev=0xebf81cd4, tblattr-next=0xebf81c98
Path ID: 2
    Gateway metric 0, Version 107
    Path: Nexthop 192.168.0.10, flags 0x4000000000040007
          Neighbor 192.168.0.2, Received Path ID 2
    Flags: 0x00000042
           status: valid
           path type: backup
           add-path action: advertise
    Opaque: pelem=0x10a0bba8
            net=0x109cbb14, tblattr=0x10399c84 (ver 156)
            path=0x109ebcd4, path-tblattr=0x10399c84 (ver 156)
                        nobestpath-tblattr=0x10399fa4 (ver 0)
                            noaddpath-tblattr=0x10399f54 (ver 0)
            bitfields=0x10c00624 (val=0x10, size=1)
            pe-bitfields=0x0 (val=0x0, size=0)
            orr-bitfields=0x10a2b8cc (val=0x0, size=1)
            orr-ap-bitfields=0x10a2b8a8 (val=0x6, size=1) <<<<<<<<<<<<<<<
            net-next=0x10a0b528, tblattr-prev=0x10a0bbe8, tblattr-next=0x0

bgp bestpath igp-metric ignore コマンドのサポート

bgp bestpath igp-metric ignore コマンド を使用すると、システムは 内部ゲートウェイ プロトコル(IGP)メトリックを無視して、ベスト パスを選択できます。

デフォルトでは、BGP は常に IGP メトリックが最も低いパスを優先します。一方には IGP メトリックがあり、もう一方には IGP メトリックがない 2 つのパスがある場合に bgp bestpath igp-metric ignore コマンドを実行すると、どちらのパスも IGP メトリックがないかのように、BGP はベスト パスの計算を実行します。

次に、ベストパスの選択を実行するときに内部ゲートウェイ プロトコル(IGP)メトリックを無視するようにソフトウェアを設定する例を示します。この例では、ルータ BGP VRF コンフィギュレーション モードでコマンドが設定されています。

RP/0/0/CPU0:router#configure
RP/0/0/CPU0:router(config)#router bgp 50000
RP/0/0/CPU0:router(config-bgp)#vrf 1
RP/0/0/CPU0:router(config-bgp-vrf)#bgp bestpath igp-metric ignore

マルチホップパスの BFD

表 3. 機能の履歴(表)

機能名

リリース情報

機能説明

iBGP および eBGP の BFDv4 および BFDv6 マルチホップ

リリース 7.3.1

この機能では、複数ホップ(最大 255 ホップ)離れた宛先に対する 1 秒未満の転送障害検出が可能になります。この機能は、BFD シングルホップをサポートするすべてのメディアタイプでサポートされます。

BFD マルチホップ(BFD-MH)は、同じサブネット上にない 2 つのアドレス間の BFD セッションです。BFD-MH の例には、PE および CE ループバック アドレス間の BFD セッションや、数 TTL ホップ離れたルータ間の BFD セッションがあります。外部および内部 BGP アプリケーションは BFD マルチホップをサポートします。BFD マルチホップは、複数のネットワーク ホップにまたがる場合もある任意のパス上の BFD をサポートします。

マルチホップパスの BFD 機能は、BFD シングルホップをサポートするすべてのメディアタイプでサポートされます。


(注)  


iBGP および eBGP 機能のマルチホップ BFDv4 および BFDv6 は、MPLS/GRE トンネル/SR ではサポートされません。


BFD マルチホップセッションの設定

BFD マルチホップ セッションは、クライアントによって指定された送信元アドレスと宛先アドレスの一意のペア間で設定されます。IP 接続された 2 つのエンドポイント間でセッションを設定できます。グローバル ルーティング テーブルと VRF テーブルの両方にある IPv4 アドレスがサポートされます。


(注)  


アグレッシブタイマーは、BFD マルチパスセッションおよびマルチホップセッションに使用することは推奨されません。推奨時間は 100 ミリ秒 x 3 = 300 ミリ秒以上です。


BFD IPv6 マルチホップセッションの設定

BFD を BGP とともに使用すると、BFD セッションタイプ(シングルホップまたはマルチホップ)が BGP 設定に基づいて設定されます。eBGP-multihop キーワードを設定すると、BFD セッションもマルチホップモードで実行されます。それ以外の場合、セッションはシングルホップモードで実行されます。

特定のホップ数を超えるネイバーから送信された BFD パケットをドロップするには、bfd multihop ttl-drop-threshold コマンドを使用します。
  • eBGP ネイバーの BFD IPv6 マルチホップの設定

  • iBGP ネイバーの BFD IPv6 マルチホップの設定

  • BGP ネイバーで BFD を有効化

eBGP ネイバーの BFD IPv6 マルチホップの設定

Router# configure
Router(config)# bfd multipath include location 0/7/CPU0
Router(config)# router bgp 65001
Router(config-bgp)# neighbor 21:1:1:1:1:1:1:2 ebgp-multihop 255
Router(config-bgp)# neighbor 21:1:1:1:1:1:1:2 bfd fast-detect

iBGP ネイバーの BFD IPv6 マルチホップの設定

Router# configure
Router(config)# bfd multipath include location 0/7/CPU0
Router(config)# router bgp 65001
Router(config-bgp)# neighbor 21:1:1:1:1:1:1:2

BGP ネイバーで BFD を有効化

Router# configure
Router(config)# router bgp 120
Router(config-bgp)# bfd minimum-interval 6500
Router(config-bgp)# bfd multiplier 7
Router(config-bgp)# neighbor 172.168.40.24
Router(config-bgp-nbr)# remote-as 2002
Router(config-bgp-nbr)# bfd fast-detect

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

次に、eBGP ネイバーの BFD IPv6 マルチホップの実行コンフィギュレーションを示します。

Router# show running-configuration
bfd multipath include location 0/7/CPU0
router bgp 65001
neighbor 21:1:1:1:1:1:1:2 ebgp-multihop 255
neighbor 21:1:1:1:1:1:1:2 bfd fast-detect

次に、iBGP ネイバーの BFD IPv6 マルチホップの実行コンフィギュレーションを示します。

Router# show running-configuration

bfd multipath include location 0/7/CPU0
router bgp 65001
neighbor 21:1:1:1:1:1:1:2

次に、iBGP ネイバーの BFD IPv6 マルチホップの実行コンフィギュレーションを示します。

Router# show running-configuration

router bgp 120
 bfd minimum-interval 6500
 bfd multiplier 7
 neighbor 172.168.40.24
 remote-as 2002
 bfd fast-detect

確認

Router# show bfd session
Tue Apr  7 06:16:36.982 UTC
 
Src Addr  Dest Addr VRF Name H/W NPU Local det time(int*mult)State    
                                    
10.1.1.1  192.0.2.1 default  No  n/a  n/a  150ms(50ms*3)    UP       
10.1.1.2  192.0.2.2 default  No  n/a  n/a  150ms(50ms*3)    UP       
10.1.1.3  192.0.2.3 default  No  n/a  n/a  150ms(50ms*3)    UP       
10.1.1.4  192.0.2.4 default  No  n/a  n/a  150ms(50ms*3)    UP       

Router# show bfd ipv6 session
Tue Apr  7 06:16:45.012 UTC
Src Addr     Dest Addr         VRF Name Local det time(int*mult) State  Echo  Async 
----------- -----------------  -------- -----------------------  -----  ----  -----
2001:DB8::1 2001:DB8:0:ABCD::1 default  0s(0s*0) 150ms(50ms*3)    UP 
2001:DB8::2 2001:DB8:0:ABCD::2 default  0s(0s*0) 150ms(50ms*3)    UP  
2001:DB8::3 2001:DB8:0:ABCD::3 default  0s(0s*0) 150ms(50ms*3)    UP  
2001:DB8::4 2001:DB8:0:ABCD::4 default  0s(0s*0) 150ms(50ms*3)    UP       

CVAC:ブートストラップ構成のサポート

Cisco Virtual Appliance Configuration(CVAC)は、複数の Cisco 仮想ルータでサポートされるアウトオブバンド構成機能です。CVAC は、ハイパーバイザによって提供される CD-ROM、ディスク イメージ、または USBドライブで、仮想ルータ環境に入っている構成を受け取ります。この構成は、起動時に検出されて適用されます。

これにより、ユーザは初期導入の際に新しい仮想ルータをスタートアップ(ブートストラップ)と組み合わせることができるようになり、通常は手動で実施する必要のある基本的な多数の要件(管理 IP アドレスなど)の構成が非常に簡単に短時間で行えるようになります。


(注)  


CVAC は、既存の構成(新しいシステムで入力を求められる初期ユーザ名およびパスワードを含む)がない場合に機能します。


Cisco IOS XRv 9000 ルータは、ネイティブの KVM、Openstack Config Drive、および Virsh で CVAC を完全にサポートします。VMware ESXi では、CVAC がサポートされません。

ブートストラップ構成 ISO の作成

Cisco IOS XRv 9000 ルータは、単一 CD-ROM ドライブ上のプレーン テキスト設定ファイルをサポートします。
  • iosxr_config.txt:標準的な XR 設定を提供します。

このテキスト ファイルは、CVAC が自動的に適用されるのに必要な設定 CLI の簡単な一覧を提供します。この操作は、手動で copy iosxr_config.txt running-config コマンドを実行するのと機能的には同じです。

1 つ以上の設定ファイルがある場合は、次のコマンドを使用して、Cisco IOS XRv 9000 ルータに挿入するのに適した ISO イメージを作成できます。

mkisofs -output bootstrap.iso -l -V config-1 --relaxed-filenames --iso-level 2 iosxr_config.txt

 
次に、Ubuntu で mkisofs コマンドを実行した場合のサンプル出力を示します。

Warning: creating filesystem that does not conform to ISO-9660.
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
175 extents written (0 MB)

CVAC と KVM

CVAC が config ファイルを処理するようにするには、Qemu コマンドラインに付加的なドライブを(最後のドライブとして)追加します。
-drive file=./bootstrap.iso,if=virtio,media=cdrom,index=3 
設定ファイルが適切に提供され、CVAC が正常に実行された場合、以下の syslog メッセージが表示されます。
  RP/0/0/CPU0:Dec 14 09:10:22.719 : config[1]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user  'CVAC'
Use 'show configuration commit changes 1000000001' to view the  changes.

  RP/0/0/CPU0:Dec 14 09:10:23.619 : cvac[2]:  %MGBL-CVAC-5-CONFIG_DONE : 

ファイル /disk0:/iosxr_config.txt から設定が適用されました。
config ファイルからのいずれかの設定が拒否された場合、以下の syslog メッセージが追加で表示されます。
RP/0/0/CPU0:Dec 14 09:10:23.619 : cvac[2]: %MGBL-CVAC-3-CONFIG_ERROR :  Errors were encountered while applying configs from file  /etc/sysconfig/iosxr_config.txt. Please inspect 'show configuration  failed' for details

失敗しなかった設定はコミットされます。disk0:/cvac.log ファイルにさらに詳しいデバッグ情報が含まれています。

CVAC と Virsh

  1. Cisco IOS XRv 9000 ルータに挿入するのに適した ISO イメージを作成し、「ブートストラップ構成 ISO の作成」のセクションで説明されている手順に従います。

  2. ルータのイメージと共にダウンロードされる Virsh.xml ファイルには、以下に示す Bootstrap セクションがあります。
     
    <!-- BootstrapSection -->
    <!-- Example Bootstrap CLI ISO --> 
    <!-- <disk type='file' device='cdrom'> -->
    <!-- <driver name='qemu' type='raw'/> -->
    <!-- <source file='<ISO with file iosxr_config.txt'/> -->
    <!-- <target dev='vdc' bus='virtio'/> -->
    <!-- <readonly/> -->
    <!-- <alias name='bootstrap_CLI'/> -->
    <!-- </disk> -->
    
  3. Bootstrap セクションをアンコメントし、source file の参照先として、インスタンスを起動するマシン上のブートストラップ ISO ファイルの絶対パスを指定します。次に例を示します。
     
    <!--BootstrapSection -->
     <disk type='file' device='cdrom'> 
     <driver name='qemu' type='raw'/> 
     <source file='/production/bootstrap.iso'/>  
     <target dev='vdc' bus='virtio'/> 
     <readonly/> 
     <alias name='bootstrap_CLI'/> 
     </disk> 
    

CVAC と OpenStack Config-Drive

Config-Drive は、OpenStack でオーケストレーションされる VM を初期設定でブートストラップするメカニズムです。OpenStack Config-Drive については、ここをクリックしてください。

Config-Drive のサポートが望ましい場合は、以下のコマンド ラインを使用して XR 初期設定のプレーンテキスト ファイルを渡すことができます。
config-drive true user-data /iosxr_config.txt file /iosxr_config.txt=/iosxr_config.txt

ファイル iosxr_config.txt は、XR コマンドが含まれている生のテキスト ファイルです。前のセクションで言及されていた、KVM コマンド ラインまたは Virsh で使用される ISO ファイルではありません。

起動時の CVAC

構成無しで新規インストールした VM インスタンスの場合、CVAC の動作は簡単なものになります。それは、パーサーを通じて受け入れられた構成がすべてコミットされるというものです。CVAC は、最後に適用した設定ファイルの署名(CRC)を保持します。

それ以降のリブート時には、システムに渡される CVAC 設定ファイルの CRC と、最後に適用した CVAC 構成の CRC が照合チェックされます。変更がなければ、何も実行されません。つまり、最初の CVAC による構成の適用後、それ以降の構成の変更は、渡される CVAC 設定ファイルに変更がない場合、システム設定が変更されない(または元に戻されない)ことを意味します。

変更があると、新しい構成が既存の構成を上書きするように適用されます。これにより、最初の CVAC 構成、それ以降の構成の変更、および構成済みのシステムに対する CVAC 構成の追加の変更が可能になります。

すでにコミットされた構成上にパーサーによって読み込まれるだけの構成を、CVAC は合理化しようとしません。パーサーを通過するコマンドはコミットされ、前述したようにエラーがログに記録されます。

FlexAlgo の ORR サポート

表 4. 機能の履歴(表)

機能名

リリース情報

機能説明

FlexAlgo の ORR サポート リリース 7.5.1

この機能を使用すると、オペレータは、独自のニーズに応じて IGP 最短パス計算をカスタマイズできます。オペレータは、リンクコストベースの SPF よりも優れた転送を実現するために、カスタムの SR プレフィックス SID を割り当てることができます。結果として、フレキシブルアルゴリズムにより、IGP から到達可能なあらゆる宛先へのトラフィック エンジニアリングに基づくパスを IGP で自動的に計算できます。

セグメント ルーティング フレキシブル アルゴリズムの有効化

セグメント ルーティング フレキシブル アルゴリズムを使用すると、オペレータは、独自のニーズに応じて IGP 最短パス計算をカスタマイズできます。オペレータは、リンクコストベースの SPF よりも優れた転送を実現するために、カスタムの SR プレフィックス SID を割り当てることができます。結果として、フレキシブルアルゴリズムにより、IGP から到達可能なあらゆる宛先へのトラフィック エンジニアリングに基づくパスを IGP で自動的に計算できます。

SR アーキテクチャでは、パスの計算方法を定義するアルゴリズムにプレフィックス SID が関連付けられます。フレキシブルアルゴリズムにより、ユーザーが定義したメトリックタイプと制約の組み合わせに基づいて IGP でパスを計算する、ユーザー定義のアルゴリズムを実現できます。

このマニュアルでは、MPLS データプレーンでセグメント ルーティング フレキシブル アルゴリズムをサポートするための IS-IS 拡張機能について説明します。

フレキシブルアルゴリズムの前提条件

フレキシブルアルゴリズム機能をアクティブ化する前に、ルータでセグメントルーティングを有効にする必要があります。

セグメント ルーティング フレキシブル アルゴリズムの構成要素

このセクションでは、IS-IS で SR フレキシブルアルゴリズム機能をサポートする必須の構成要素について説明します。

フレキシブルアルゴリズムの定義

ネットワーク上のパスを計算するには、考えられる多くの制約を使用する必要があります。一部のネットワークでは、複数のプレーンを展開する必要があります。特定のプレーンを使用することが、単純な形の制約になる場合もあります。より洗練された形の制約には、「RFC7810」で説明されているように、遅延など、一部の拡張メトリックが含まれる可能性があります。さらに高度なケースでは、パスを制限し、特定のアフィニティを持つリンクを回避することも考えられます。また、これらを組み合わせて使用することも可能です。最大限の柔軟性を得られるように、アルゴリズム値とその意味の間のマッピングを定義できます。ドメイン内のすべてのルータで、特定のアルゴリズム値が持つ意味について共通の認識が確立されている場合、アルゴリズムの計算は一貫性のあるものとなり、トラフィックがループすることもありません。フレキシブルアルゴリズムでは、標準ではなく、アルゴリズムの意味を定義します。

フレキシブル アルゴリズム メンバーシップ

アルゴリズムは、IGP によるベストパスの計算方法を定義します。ルータは、ノード機能としてアルゴリズムのサポートをアドバタイズします。ルータは、アルゴリズム値を使用してプレフィックス SID をアドバタイズします。ルータは、プレフィックス SID をアルゴリズム自体と緊密に結合します。

アルゴリズムは 1 つのオクテット値です。ルータは、ユーザー定義値用に値 128 ~ 255 を予約します。ルータは、フレキシブルアルゴリズム表現を使用します。

フレキシブルアルゴリズムの定義のアドバタイズメント

特定のフレキシブルアルゴリズムで計算されたパスについてループフリーの転送を実現するためには、ネットワーク内のすべてのルータでフレキシブルアルゴリズムの同じ定義を共有する必要があります。これは、各フレキシブルアルゴリズムの定義をアドバタイズする 1 つ以上の専用ルータによって実現されます。このようなアドバタイズメントでは、優先度を設定して、フレキシブルアルゴリズムごとに一貫した 1 つの定義がすべてのルータで適用されるようにします。

フレキシブルアルゴリズムの定義には以下が含まれます。

  • メトリックタイプ

  • アフィニティ制約

advertise-definition コマンドを使用して、特定のフレキシブルアルゴリズムの定義をルータからアドバタイズできるようにします。エリア内の少なくとも 1 つのルータ、または可能であれば冗長性を確保するために 2 つのルータで、フレキシブルアルゴリズム定義をアドバタイズする必要があります。ルータが有効な定義をアドバタイズしない限り、フレキシブルアルゴリズムは機能しません。

フレキシブル アルゴリズム リンク属性アドバタイズメント

ルータは、フレキシブル アルゴリズム パスの計算中にさまざまなリンク属性を使用しました。たとえば、リンクアフィニティに基づく包含ルールまたは除外ルールは、IETF ドラフトで定義されているように、フレキシブルアルゴリズム定義の一部にすることができます。

フレキシブルアルゴリズムの計算中にルータが使用するリンク属性アドバタイズメントでは、RFC8919(IS-IS)で定義されているように、アプリケーション固有リンク属性(ASLA)アドバタイズメントを使用する必要があります。IS-IS では、ルータが ASLA アドバタイズメントで L フラグを設定すると、ルータは代わりにレガシーアドバタイズメント(IS-IS 拡張可用性 TLV)を使用します。

ASLA アドバタイズメントの必須使用は、次のリンク属性に適用されます。

  • 最小単方向リンク遅延

  • TE デフォルトメトリック

  • 管理グループ

フレキシブルアルゴリズムのプレフィックス SID のアドバタイズメント

フレキシブルアルゴリズム固有のパスでトラフィックを転送するため、フレキシブルアルゴリズムに参加するすべてのルータは、ルータがプレフィックスに対してアドバタイズするフレキシブルアルゴリズム固有の SID の MPLS ラベル付きパスをインストールします。ルータがアドバタイズするプレフィックスのみ、フレキシブルアルゴリズム固有のプレフィックス SID がフレキシブルアルゴリズム固有の転送の対象となります。

フレキシブル アルゴリズム パスの計算

ルータは、複数のフレキシブルアルゴリズムのパスを計算できます。このようなフレキシブルアルゴリズムのパスを計算する前に、特定のフレキシブルアルゴリズムをサポートするようにルータを設定します。フレキシブルアルゴリズムを使用する前に、フレキシブルアルゴリズムの有効な定義をルータで確立しておく必要があります。

特定のフレキシブルアルゴリズムの最短パスツリーを計算する場合は、次のようなプロセスになります。

  • ルータは、このようなフレキシブルアルゴリズムのサポートをアドバタイズしないすべてのノードをトポロジからプルーニングします。

  • フレキシブルアルゴリズムの定義に除外されるアフィニティが含まれている場合、ルータは、そのようなアフィニティのいずれかをアドバタイズするすべてのリンクをトポロジからプルーニングします。

  • ルータは、フレキシブルアルゴリズム定義の一部であるメトリックを使用します。ルータが特定のリンクのメトリックをアドバタイズしない場合、ルータはトポロジからリンクをプルーニングします。

ルータは、特定のフレキシブルアルゴリズムのループフリー代替(LFA)パス、TI-LFA バックアップパス、およびマイクロループ回避パスを計算します。ルータは、このようなフレキシブルアルゴリズムのプライマリパスの計算と同じ制約を使用します。これらのパスでは、バックアップパスまたはマイクロループ回避パスを適用するために、フレキシブルアルゴリズム用にアドバタイズされたプレフィックス SID が使用されます。

フレキシブルアルゴリズムのマイクロループ回避の設定

デフォルトでは、フレキシブルアルゴリズムごとのマイクロループ回避インスタンスは、algo-0 のマイクロループ回避設定に従います。

次のコマンドを使用して、フレキシブルアルゴリズムのマイクロループ回避を無効化できます。

router isis instance flex-algo algo microloop avoidance disable 
router ospf process flex-algo algo microloop avoidance disable

フレキシブルアルゴリズムの LFA/TI-LFA の設定

デフォルトでは、フレキシブルアルゴリズムごとの LFA/TI-LFA インスタンスは、algo-0 の LFA/TI-LFA 設定に従います。

次のコマンドを使用して、フレキシブルアルゴリズムの TI-LFA を無効化できます。
router isis instance flex-algo algo fast-reroute disable
router ospf process flex-algo algo fast-reroute disable

フレキシブル アルゴリズム パスの転送エントリの組み込み

ルータは、ルータがフレキシブルアルゴリズム用にアドバタイズしたプレフィックス SID を使用して、あらゆるプレフィックスに対するフレキシブル アルゴリズム パスを転送に組み込む必要があります。フレキシブルアルゴリズムのプレフィックス SID が不明な場合、ルータはそのプレフィックスの転送にフレキシブル アルゴリズム パスを組み込みません。

ルータはフレキシブル アルゴリズム パスの MPLS から MPLS へのエントリのみを組み込みます。ルータは、IP から IP または IP から MPLS へのエントリを組み込みません。これらは、デフォルトのアルゴリズムと通常の IGP メトリックに基づいて計算されたネイティブ IPG パスに従います。

フレキシブルアルゴリズムのプレフィックス SID の再配布

以前は、ルータは IS-IS から別の IS-IS インスタンスまたはプロトコルへのプレフィックスの再配布を SR アルゴリズム 0(通常の SPF)プレフィックス SID に制限していました。ルータは、SR アルゴリズム 1(厳格な SPF)および SR アルゴリズム 128 ~ 255(フレキシブルアルゴリズム)のプレフィックス SID をプレフィックスとともに再配布しませんでした。セグメントルーティング IS-IS フレキシブルアルゴリズムのプレフィックス SID の再配布機能により、IS-IS インスタンスまたは IS-IS プロトコル間で厳格な SPF およびフレキシブルアルゴリズムのプレフィックス SID を再配布できます。厳格な、またはフレキシブルアルゴリズムの SID を使用する IS-IS ルートの再配布を設定すると、ルータはこの機能を自動的に有効にします。

フレキシブルアルゴリズムのプレフィックスメトリック

IS-IS の既存のフレキシブルアルゴリズム機能の制限は、リモートエリアまたはリモート IGP ドメインのプレフィックスへのベストパスを計算できないことです。ルータは、IS-IS エリア間またはプロトコルドメイン間でプレフィックスをアドバタイズしますが、既存のプレフィックスメトリックは、フレキシブル アルゴリズム パスの制約を反映しません。エリア間への最適なフレキシブル アルゴリズム パスを計算したり、エリア内でプレフィックスを再配布したりできますが、パスは複数のエリアまたは IGP ドメインを通過する全体的なベストパスを表していない場合があります。

フレキシブル アルゴリズム プレフィックス メトリック機能は、IS-IS プレフィックス アドバタイズメントにフレキシブルアルゴリズム固有のプレフィックスメトリックを導入します。プレフィックスメトリックは、複数のエリアまたはドメインにわたる最適なエンドツーエンドのフレキシブルアルゴリズム最適化パスを計算する方法を提供します。


(注)  


フレキシブルアルゴリズムの定義は、ドメインまたはエリア間で一貫している必要があります。


フレキシブルアルゴリズムの設定

次の IS-IS コンフィギュレーション サブモードを使用して、フレキシブルアルゴリズムを設定します。

router isis instance flex-algo algo

(注)  


常に IGP メトリックを使用します。遅延または TE メトリックを有効にした場合、リンク上でアドバタイズされた遅延または TE メトリックを、フレキシブルアルゴリズム計算のメトリックとして使用します。


router isis  instance flex-algo algo affinity { include-any | include-all | exclude-any}  name1, name2, …

name:アフィニティマップの名前

router isis instance flex-algo algo priority priority-value
priority value:フレキシブルアルゴリズム定義の選択時に使用される優先順位

IS-IS でアドバタイズされるフレキシブルアルゴリズム定義にフレキシブル アルゴリズム プレフィックス メトリックを含めるには、次のコマンドを設定します。

router isis instance flex-algo algo prefix-metric
IS-IS でのフレキシブルアルゴリズム定義のアドバタイズメントを有効にするには、次のコマンドを設定します。
router isis  instance flex-algo algo advertise-definition

アフィニティの設定

アフィニティマップを定義する際は、次のコマンドを設定します。アフィニティマップは、拡張管理者グループのビットマスク内の特定のビット位置に名前を関連付けます。

router isis  instance flex-algo algo affinity-map name bit-position bit number
  • name:アフィニティマップの名前

  • bit number:拡張管理者グループのビットマスク内のビット位置

アフィニティをインターフェイスに関連付けるには、次のコマンドを設定します。

router isis  instance interface type interface-path-id affinity flex-algo name 1, name 2, … 

name:アフィニティマップの名前

プレフィックス SID アドバタイズメントの設定

デフォルトおよび厳格な SPF のアルゴリズムのプレフィックス SID をアドバタイズするには、次のコマンドを設定します。

router isis instance interface type interface-path-id address-family {ipv4 | ipv6} [unicast] prefix-sid [strict-spf | algorithm algorithm-number] [index | absolute] sid value
  • Algorithm-number:フレキシブルアルゴリズム番号

  • SID value:SID 値

フレキシブルアルゴリズムの定義の設定

フレキシブル アルゴリズム サブモードでフレキシブルアルゴリズム定義を設定するには、次のコマンドを設定します。

router isis instance flex-algo algo metric-type {delay | te}

例:IS-IS フレキシブルアルゴリズムの設定

Example: Configuring IS-IS Flexible Algorithm
router isis 1
 affinity-map red bit-position 65
 affinity-map blue bit-position 8
 affinity-map green bit-position 201

 flex-algo 128
  advertise-definition
  affinity exclude-any red
  affinity include-any blue
 !
 flex-algo 129
  affinity exclude-any green
 !
!
address-family ipv4 unicast 
 segment-routing mpls
!
interface Loopback0
 address-family ipv4 unicast
  prefix-sid algorithm 128 index 100 
  prefix-sid algorithm 129 index 101
!
!
interface GigabitEthernet0/0/0/0 
 affinity flex-algo red
!
interface GigabitEthernet0/0/0/1 
 affinity flex-algo blue red
!
interface GigabitEthernet0/0/0/2 
 affinity flex-algo blue
!

PE 上の BGP ルート:カラーベースのステアリング

SR-TE On Demand Next-Hop (ODN) feature can be used to steer the BGP traffic towards the Flexible Algorithm paths.

The following example configuration shows how to setup BGP steering local policy, assuming two router: R1 (2.2.2.2) and R2 (4.4.4.4), in the topology.

Configuration on router R1:

vrf Test
address-family ipv4 unicast
  import route-target
   1:150
  !
  export route-policy SET_COLOR_RED_HI_BW
  export route-target
   1:150
  !
!
!
interface Loopback0
ipv4 address 2.2.2.2 255.255.255.255
!
interface Loopback150
vrf Test
ipv4 address 2.2.2.222 255.255.255.255
!
interface TenGigE0/1/0/3/0
description exr1 to cxr1
ipv4 address 10.0.20.2 255.255.255.0
!
extcommunity-set opaque color129-red-igp
  129
end-set
!
route-policy PASS
  pass
end-policy
!
route-policy SET_COLOR_RED_HI_BW
  set extcommunity color color129-red-igp
  pass
end-policy
!
router isis 1
is-type level-2-only
net 49.0001.0000.0000.0002.00
log adjacency changes
affinity-map RED bit-position 28
flex-algo 128
  priority 228
!
address-family ipv4 unicast
  metric-style wide
  advertise link attributes
  router-id 2.2.2.2
  segment-routing mpls
!
interface Loopback0
  address-family ipv4 unicast
   prefix-sid index 2
   prefix-sid algorithm 128 index 282
  !
!
interface TenGigE0/1/0/3/0
  point-to-point
  address-family ipv4 unicast
  !
!
!
router bgp 65000
bgp router-id 2.2.2.2
address-family ipv4 unicast
!
address-family vpnv4 unicast
  retain route-target all
!
neighbor-group RR-services-group
  remote-as 65000
  update-source Loopback0
  address-family ipv4 unicast
  !
  address-family vpnv4 unicast
  !
!
neighbor 4.4.4.4
  use neighbor-group RR-services-group
!
vrf Test
  rd auto
  address-family ipv4 unicast
   redistribute connected
  !
segment-routing
traffic-eng
  logging
   policy status
  !
  segment-list sl-cxr1
   index 10 mpls label 16294
  !
  policy pol-foo
   color 129 end-point ipv4 4.4.4.4
   candidate-paths
    preference 100
     explicit segment-list sl-cxr1
     !
    !
   !
  !
!
!

Configuration on router R2:

vrf Test
address-family ipv4 unicast
  import route-target
   1:150
  !
  export route-policy SET_COLOR_RED_HI_BW
  export route-target
   1:150
  !
!
!
interface TenGigE0/1/0/1
description cxr1 to exr1
ipv4 address 10.0.20.1 255.255.255.0
!
extcommunity-set opaque color129-red-igp
  129
end-set
!
route-policy PASS
  pass
end-policy
!
route-policy SET_COLOR_RED_HI_BW
  set extcommunity color color129-red-igp
  pass
end-policy
!
router isis 1
is-type level-2-only
net 49.0001.0000.0000.0004.00
log adjacency changes
affinity-map RED bit-position 28
affinity-map BLUE bit-position 29
affinity-map GREEN bit-position 30
flex-algo 128
  priority 228
!
flex-algo 129
  priority 229
!
flex-algo 130
  priority 230
!
address-family ipv4 unicast
  metric-style wide
  advertise link attributes
  router-id 4.4.4.4
  segment-routing mpls
!
interface Loopback0
  address-family ipv4 unicast
   prefix-sid index 4
   prefix-sid algorithm 128 index 284
   prefix-sid algorithm 129 index 294
   prefix-sid algorithm 130 index 304
  !
!
interface GigabitEthernet0/0/0/0
  point-to-point
  address-family ipv4 unicast
  !
!
interface TenGigE0/1/0/1
  point-to-point
  address-family ipv4 unicast
  !
!
router bgp 65000
bgp router-id 4.4.4.4
address-family ipv4 unicast
!
address-family vpnv4 unicast
!
neighbor-group RR-services-group
  remote-as 65000
  update-source Loopback0
  address-family ipv4 unicast
  !
  address-family vpnv4 unicast
  !
!
neighbor 1.1.1.1
  use neighbor-group RR-services-group
!
neighbor 2.2.2.2
  use neighbor-group RR-services-group
!
vrf Test
  rd auto
  address-family ipv4 unicast
   redistribute connected
  !
  neighbor 25.1.1.2
   remote-as 4
   address-family ipv4 unicast
    route-policy PASS in
    route-policy PASS out
   !
  !
!
!
segment-routing
!
end

フレキシブルアルゴリズムの設定

フレキシブルアルゴリズムを設定するには、次の ISIS コンフィギュレーション サブモードを使用します。


router isis instance flex-algo algo

router ospf process flex-algo algo

algo:128 ~ 255 の値

フレキシブルアルゴリズムの定義の設定

フレキシブル アルゴリズム サブモードでフレキシブルアルゴリズム定義を設定するには、次のコマンドを使用します。

  • metric-type delay
    

    (注)  


    デフォルトでは、通常の IGP メトリックが使用されます。遅延メトリックが有効になっている場合、リンク上でアドバタイズされた遅延が、フレキシブルアルゴリズム計算のメトリックとして使用されます。
  • affinity exclude-any name1, name2, …
    

    name:アフィニティマップの名前

  • priority priority value
    

    priority value:フレキシブルアルゴリズム定義の選択時に使用される優先度

IS-IS でのフレキシブルアルゴリズム定義のアドバタイズメントを有効にするには、次のコマンドを使用します。

router isis instance flex-algo algo advertise-definition

アフィニティの設定

アフィニティマップを定義する際は、次のコマンドを使用します。アフィニティマップは、拡張管理者グループのビットマスク内の特定のビット位置に名前を関連付けます。

router isis instance flex-algo algo affinity-map name bit-position bit number

router ospf process flex-algo algo affinity-map name bit-position bit number

  • name:アフィニティマップの名前

  • bit number:拡張管理者グループのビットマスク内のビット位置

アフィニティをインターフェイスに関連付けるには、次のコマンドを使用します。

router isis instance interface type interface-path-id affinity flex-algo name 1, name 2, … 

router ospf process area area interface type interface-path-id affinity flex-algo name 1, name 2, …

name:アフィニティマップの名前

プレフィックス SID アドバタイズメントの設定

デフォルトおよび厳格な SPF のアルゴリズムのプレフィックス SID をアドバタイズするには、次のコマンドを使用します。

router isis instance interface type interface-path-id address-family {ipv4 | ipv6} [unicast] prefix-sid [strict-spf | algorithm algorithm-number]  [index | absolute] sid value

router ospf process area area interface Loopback interface-instance prefix-sid [strict-spf | algorithm algorithm-number]  [index | absolute] sid value

  • algorithm-number:フレキシブルアルゴリズム番号

  • sid value:SID 値

ポリシーベースルーティングを使用した IPv4 および IPv6 トラフィックのリダイレクト

表 5. 機能の履歴(表)

機能名

リリース情報

機能説明

ポリシーベースルーティング(PBR)を使用した IPv4 および IPv6 トラフィックのリダイレクト

リリース 7.3.3

この機能を使用すると、IPv4 および IPv6 サブスクライバトラフィックを、当初の宛先ではなく、選択した接続先にリダイレクトできます。この機能により、特殊なパスを介して特定のトラフィックを柔軟に割り当てることができ、音声、ビデオ、およびデータを伝送するサービスネットワークを効率的に管理できます。

音声、ビデオ、およびデータを伝送する今日の統合型ネットワークでは、ルーティングプロトコルからのパスを使用するのではなく、特定のパスを介してトラフィックをルーティングする必要性が高まっています。PBR リダイレクト機能は、サブスクライバトラフィックを元の宛先以外の接続先にリダイレクトすることで、このニーズに対応します。これは、ポリシーベースルーティング(PBR)機能の追加機能であり、パケット転送の決定がルーティングプロトコルではなくポリシー設定に基づいています。

たとえば、サービスプロバイダーは、音声トラフィックが特定の専用リンクを通過し、データトラフィックが通常のルーティングパスを通過するようにしたい場合があります。ポリシーベースのリダイレクト機能は、サービスプロバイダーが事前設定済みの一連の一致基準に基づいてトラフィックを IPv4 または IPv6 ネクストホップアドレスにリダイレクトできるメカニズムを提供します。

一般的な注意事項

  • PBR リダイレクトは、IPv4 および IPv6 トラフィックタイプをサポートします。

  • PBR リダイレクトと GRE 機能は相互に排他的です。

  • PBR リダイレクトは、接続先アドレスと送信元アドレスの一致をサポートします。

  • ルータは、PBR リダイレクトのネクストホップアドレスに到達できない場合、一致するすべてのトラフィックをドロップします。

  • PBR リダイレクトは、次のリダイレクトタイプをサポートします。

    • IPv4 および IPv6 ネクストホップ。

    • 名前付き VRF からデフォルト VRF

    • デフォルト VRF から名前付き VRF

  • PBR リダイレクトは VRF スケーリングをサポートします。

  • 次のコマンドを使用して、PBR ポリシーおよび関連するクラスマップを表示できます。

    • show pbr-pal km policy name vmr interface type sw

    • show pbr-pal km policy name info location ID

設定

PBR で ACL を設定するには、次の設定例を使用します。

/* Configure an access list */

Router(config)# ipv4 access-list Test
Router(config-ipv4-acl)# 10 permit ipv4 any host 10.1.1.10
Router(config-ipv4-acl)# 20 permit ipv4 any host 10.2.3.4
Router(config-ipv4-acl)# commit
Router(config-ipv4-acl)# exit
 
/* Configure a class map for the access list */
Router(config)# class-map type traffic match-any Test A
Router(config-cmap)# match access-group ipv4 Test
Router(config-cmap)# end-class-map 
Router(config)# commit
 
/* Configure an PBR policy map with the class map */
Router(config)# policy-map type pbr Test B
Router(config-pmap)# class type traffic Test A
Router(config-pmap-c)# redirect nexthop 192.168.10.1
Router(config-pmap-c)# exit
Router(config-pmap)# end-policy-map 
 

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

show コマンドを使用して設定を検証します。

Router(config)# show running-config 
Building configuration...
!! IOS XR Configuration 0.0.0
!! Last configuration change at Mon Nov  6 17:31:23 2017 by UNKNOWN
!
ipv4 access-list Test
 10 permit ipv4 any host 10.1.1.10
 20 permit ipv4 any host 10.2.3.4
!
!
class-map type traffic match-any Test A
 match access-group ipv4 Test 
 end-class-map
! 
!
policy-map type pbr Test B
 class type traffic Test A 
  redirect ipv4 nexthop 192.168.10.1 
 ! 

 end-policy-map
! 

確認

次の show コマンドは、PBR を使用した IPv4 および IPv6 トラフィックリダイレクトのデバッグ性を向上させるのに役立ちます。

Router#show pbr-pal km policy policy1 vmr interface GigabitEthernet 0/0/0/0 sw
Wed Feb 16 16:38:03.096 UTC
KM ifname GigabitEthernet0_0_0_0, ul_ifname NULL, policy info name policy1 pnum = 0 ingress_format = 0  egress_format = 1 km policy flags = 0x00001100  class# = 2 ref# = 1 num_intfs = 1 is_bvi 0 is_typhoon_tomahawk 0 np_start 255 np_end 255
================================================================================
B : type & id      E : ether type     VO : vlan outer     VI : vlan inner
Q : tos/exp/group  X : Reserved       DC : discard class  Fl : flags
F2: L2 flags       F4: L4 flags       SP/DP: L4 ports
T : IP TTL         D : DFS class#      L : leaf class#
Pl: Protocol       G : QoS Grp         M : V6 hdr ext.     C : VMR count
 
================================================================================
policy name policy1 and format type 0
Total Ingress TCAM entries: 2
 |B    Q  T  Fl Pl SP   DP   G  IPv4/v6 SA IPv4/v6 DA
================================================================================
V|0006 00 00 00 11 0000 0000 00 AC020400 00000000
M|FF00 00 00 80 FF 0000 0000 00 FFFFFF00 00000000
R| C=0 D=0 L=0
V|0006 00 00 00 00 0000 0000 00 00000000 00000000
M|FF00 00 00 00 00 0000 0000 00 00000000 00000000
R| C=1 D=1 L=1
 
================================================================================
Total Ingress and Egress TCAM entries: 2
Router#show pbr-pal km policy policy1 info location 0/0/CPU0
Wed Feb 16 16:39:44.503 UTC
KM ifname NULL, ul_ifname NULL, policy info name policy1 pnum = 0 ingress_format = 0  egress_format = 1 km policy flags = 0x00001100  class# = 2 ref# = 1 num_intfs = 1 is_bvi 0 is_typhoon_tomahawk 0 np_start 255 np_end 255KM policy info
        name policy1
        pnum = 0  ingress_format = 0  egress_format = 1 km policy flags = 0x00001100  class# = 2
        ref# = 1 num_intfs = 1
Interface Details
=================
No.  Interface Name                 VMR ID   Ingress
1    GigabitEthernet0/0/0/0         1

テレメトリ更新の gNMI バンドル

表 6. 機能の履歴(表)

機能名

リリース情報

説明

gNMI バンドルサイズの拡張

リリース 7.8.1

gRPC ネットワーク管理インターフェイス(gNMI)バンドルを使用すると、ルータは同じクライアント向けの複数の gNMI Update メッセージを単一の gNMI Notification メッセージに内部的にバンドルし、インターフェイスを介してクライアントに送信します。

クライアントへの単一の Notification メッセージでより多くの gNMI Update に対応することで、インターフェイスの帯域幅使用率を最適化できるようになりました。gNMI バンドルサイズが 32768 バイトから 65536 バイトに増加し、シスコのネイティブデータモデルを介して gNMI バンドルサイズの設定が可能になりました。

以前のリリースでは、最大バンドルサイズは 32768 バイトのみであり、CLI を介してのみ設定できました。

この機能では、シスコのネイティブデータモデル Cisco-IOS-XR-telemetry-model-driven-cfg.yang に新しい XPath を導入して、gNMI バンドルサイズを設定します。

gNMI バンドルの仕様を確認するには、「Github」リポジトリを参照してください。

gNMI インターフェイスを介して送信するバイト数を減らすために、同じクライアントに関連する複数の gNMI Update メッセージがバンドルされてクライアントに送信され、帯域幅の使用率が最適化されます。

ルータは、複数の gNMI Update メッセージを gNMI SubscribeResponse メッセージの単一の gNMI Notification メッセージに内部的にバンドルします。Cisco IOS XR ソフトウェア リリース 7.8.1 は、最大 65536 バイトの gNMI バンドルサイズをサポートします。

ルータは、同じクライアントの複数のインスタンスをバンドルします。たとえば、ルータは、次のパスのインターフェイス MgmtEth0/RP0/CPU0/0FourHundredGigE0/0/0/0FourHundredGigE0/0/0/1 などをバンドルします。

  • Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/generic-counters

ルータは、異なるクライアントのメッセージを単一の gNMI Notification メッセージにバンドルしません。次の例を参考にしてください。

  • Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/generic-counters

  • Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/protocols

    クライアントパスのコンテナの下にあるデータは、異なるバンドルに分割できません。

gNMI Notification メッセージには、イベントが発生したとき、またはサンプルが取得されたときのタイムスタンプが含まれています。バンドルプロセスでは、バンドルされたすべての Update 値に単一のタイムスタンプが割り当てられます。Notification のタイムスタンプは、バンドルの最初のメッセージです。


(注)  


  • ON-CHANGE サブスクリプションモードは、gNMI バンドルをサポートしていません。

  • ルータは、次のシナリオではバンドルサイズを適用しません。

    • (N-1)メッセージ処理の最後で、Notification メッセージのサイズが設定されたバンドルサイズよりも小さい場合、ルータは 1 つの余分なインスタンスを許可し、バンドルサイズを超える可能性があります。

    • バンドルサイズを超える単一インスタンスのデータ。

  • XPath:network-instances/network-instance/afts はバンドルをサポートしていません。


IPv4 GRE トンネルの QoS

表 7. 機能の履歴(表)

機能名

リリース情報

機能説明

IPv4 GRE トンネルの QoS

リリース 7.3.3

この機能により、サービス プロバイダー ネットワーク内のプロバイダーエッジ(PE)ルータ上で、受信カスタマートラフィックと送信カスタマートラフィックの両方に関する QoS を定義して制御できるようになります。

IPv4 GRE トンネルでの QoS サポートを使用すると、IPv4 GRE インターフェイスにポリシーマップを直接適用できます。これにより、トンネルで集約ポリシングとマーキングが有効になります。トンネルの入力側にポリシーを適用して、トンネルに入るペイロードトラフィックをマーキングおよびポリシングできます。QoS は、トンネルから出力されるトラフィックではサポートされません。

GRE トンネルについては、『Cisco ASR 9000 Series Aggregation Services Router MPLS Layer 3 VPN Configuration Guide』の「Implementing Generic Routing Encapsulation」の章を参照してください。

機能制限

GRE トンネルの QoS には、次の制約事項が適用されます。

  • IPv4、IPv6、および MPLS 以外の他のペイロードトラフィックはサポートされていません。

  • GRE トンネルの QoS は現在、1 つのラインカードと 1 つのネットワークプロセッサのみをサポートしています。

  • GRE サービスポリシーの QoS は、出力方向でサポートされています。ラインカードで出力サービスポリシーを適用し、GRE トンネルで入力ポリシーを適用します。

  • GRE サービスポリシーの QoS は、入力方向ではサポートされていません。

  • GRE トンネルの QoS 機能は、シェーピングおよびキューイングアクションをサポートしていません。

  • GRE トンネルの QoS 機能は、マーキングおよび条件付きマーキングアクションをサポートしていません。
  • パーセンテージベースのポリシングが設定されているポリシーマップはアタッチできません。

  • GRE トンネルの QoS 機能は、ポリシングアクションのみをサポートしています。ポリサーには、シングルレート、2 カラーポリサー(1R2C)を使用できます。

  • 適合トラフィックは送信され、超過アクションはドロップされます。

IPv4 GRE トンネルトラフィックの分類

次の表に、分類のための IPv4 GRE トンネルでのさまざまなペイロードトラフィック QoS フィールドのサポートを示します。

QoS フィールド 分類
入力 出力
優先順位 非対応 対応
トンネルの優先順位 非対応 非対応
VLAN 非対応 非対応
サービス クラス(CoS) 非対応 非対応
ドロップ適性インジケータ(DEI) 非対応 非対応
IPv4 L3 フィールド 非対応 対応

次に、GRE トンネルでのシングルレート 2 カラーポリサー(1R2C)を使用した 2 レベルの階層型ポリシーのアプリケーション例を示します。

Router(config)#class-map match-any mydata
Router(config-cmap)#match mpls experimental topmost 3 4
Router(config-cmap)#end-class-map
Router(config)#class-map match-any mycontrol
Router(config-cmap)#match mpls experimental topmost 1 2 
Router(config-cmap)#end-class-map
Router(config)#policy-map child
Router(config-pmap)#class mycontrol
Router(config-pmap-c)#police rate 2 gbps 
Router(config-pmap-c-police)#conform-action transmit
Router(config-pmap-c-police)#exceed-action transmit
Router(config-pmap-c-police)#class class-default
Router(config-pmap-c)#police rate 1 gbps 
Router(config-pmap-c-police)#conform-action transmit
Router(config-pmap-c-police)#exceed-action transmit
Router(config-pmap-c-police)#end-policy-map
Router(config)#policy-map parent_gre
Router(config-pmap)#class class-default
Router(config-pmap-c)#service-policy child
Router(config-pmap-c)#police rate 5 gbps
Router(config-pmap-c-police)#child-conform-aware
Router(config-pmap-c-police)#end-policy-map
Router(config)#interface tunnel-ip1
Router(config-if)#service-policy output parent_gre
Router(config-if)#ipv4 address 12.0.0.1 255.255.255.0
Router(config-if)#tunnel source TenGigE0/0/0/1
Router(config-if)#tunnel destination 15.1.1.2

ネットワークスタックへのアクセス

Cisco IOS XR ソフトウェアは、通信を行うネットワーク スタックとして機能します。ここでは、IOS XR のアプリケーションが内部プロセスやサーバ、または外部デバイスとどのように通信を行うかについて説明します。


(注)  


フラグメントパケットのドロップを回避するために、MTU 値を 1514(デフォルト)以上に設定することを強く推奨します。


Cisco IOS XR の外部との通信

表 8. 機能の履歴(表)

機能名

リリース情報

説明

Linux ネットワーキングスタックの仮想 IP アドレス

リリース 7.5.4

仮想 IP アドレスを使用すると、RP スイッチオーバーイベント後に、単一の IP アドレスを現在のアクティブ RP に接続できます。さらに、この機能により、ネットワークスタックは、Linux ネットワーキングスタックを使用するサードパーティ製アプリケーションおよび IOS XR アプリケーションの仮想 IP アドレスをサポートできます。

Cisco IOS XR の外部と通信するには、アプリケーションが loopback0 インターフェイスにマップされた fwdintf インターフェイスアドレス、または設定されたギガビット イーサネット インターフェイス アドレスを使用します。IOS XR のさまざまなインターフェイスについては、Cisco IOS XR Linux シェルでのアプリケーション ホスティングを参照してください。

IOS XR の外部のそれぞれ対応するサーバとの IOS XR 通信に iPerf クライアントまたは Chef クライアントを配備するには、インターフェイス アドレスを XR の送信元アドレスとして設定する必要があります。リモート サーバは、IOS XR のそれぞれ対応するクライアントに到達するためにこのルート アドレスを設定する必要があります。

仮想アドレスは、単一の仮想 IP アドレスを使用して gRPC などの管理ネットワークからルータにアクセスするように設定できます。2 つ以上の RP を持つデバイスでは、仮想アドレスは現在アクティブな管理インターフェイスを参照します。この機能は、現在アクティブな RP の情報がなくても、RP フェールオーバー全体で使用できます。これは、Linux パケットパスに適用されます。

ここでは、外部通信の送信元アドレスとしてギガビット イーサネット インターフェイス アドレスを設定する例を示します。

外部通信用のギガビット イーサネット インターフェイスの使用法

外部通信用の IOS XR に GigE インターフェイスを設定するには、次の手順を実行します。

  1. GigE インターフェイスを設定します。

    RP/0/RP0/CPU0:ios(config)# interface GigabitEthernet 0/0/0/1 
    RP/0/RP0/CPU0:ios(config-if)# ipv4 address 192.57.43.10 255.255.255.0
    RP/0/RP0/CPU0:ios(config-if)# no shut 
    RP/0/RP0/CPU0:ios(config-if)# commit
    Fri Oct 30 07:51:14.785 UTC
    RP/0/RP0/CPU0:ios(config-if)# exit
    RP/0/RP0/CPU0:ios(config)# exit
  2. 設定されたインターフェイスが IOS XR で起動しており、動作可能かどうかを確認します。

    RP/0/RP0/CPU0:ios# show ipv4 interface brief
    Fri Oct 30 07:51:48.996 UTC
    
    Interface                      IP-Address      Status                Protocol
    Loopback0                      1.1.1.1         Up                    Up      
    Loopback1                      8.8.8.8         Up                    Up      
    GigabitEthernet0/0/0/0         192.164.168.10  Up                    Up      
    GigabitEthernet0/0/0/1         192.57.43.10    Up                    Up      
    GigabitEthernet0/0/0/2         unassigned      Shutdown              Down    
    MgmtEth0/RP0/CPU0/0            192.168.122.197 Up                    Up      
    RP/0/RP0/CPU0:ios#
  3. Linux bash シェルに移動し、設定されているインターフェイスが稼働しているかどうかを確認します。

    
    
    /* If you are using Cisco IOS XR Version 6.0.0, run the following command */
    RP/0/RP0/CPU0:ios# run ip netns exec tpnns bash
    
    /* If you are using Cisco IOS XR Version 6.0.2, run the following command */
    RP/0/RP0/CPU0:ios# bash
    
    
    [xr-vm_node0_RP0_CPU0:~]$ ifconfig
    Gi0_0_0_0 Link encap:Ethernet  HWaddr 52:46:04:87:19:3c  
              inet addr:192.164.168.10  Mask:255.255.255.0
              inet6 addr: fe80::5046:4ff:fe87:193c/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    Gi0_0_0_1 Link encap:Ethernet  HWaddr 52:46:2e:49:f6:ff  
              inet addr:192.57.43.10  Mask:255.255.255.0
              inet6 addr: fe80::5046:2eff:fe49:f6ff/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    Mg0_RP0_CPU0_0 Link encap:Ethernet  HWaddr 52:46:12:7a:88:41  
              inet addr:192.168.122.197  Mask:255.255.255.0
              inet6 addr: fe80::5046:12ff:fe7a:8841/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:3 errors:0 dropped:0 overruns:0 frame:0
              TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:294 (294.0 B)  TX bytes:504 (504.0 B)
    
    fwd_ew    Link encap:Ethernet  HWaddr 00:00:00:00:00:0b  
              inet6 addr: fe80::200:ff:fe00:b/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:4 errors:0 dropped:0 overruns:0 frame:0
              TX packets:6 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:392 (392.0 B)  TX bytes:532 (532.0 B)
    
    fwdintf   Link encap:Ethernet  HWaddr 00:00:00:00:00:0a  
              inet6 addr: fe80::200:ff:fe00:a/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1482  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
              RX packets:8 errors:0 dropped:0 overruns:0 frame:0
              TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:672 (672.0 B)  TX bytes:672 (672.0 B)
    
    lo:0      Link encap:Local Loopback  
              inet addr:1.1.1.1  Mask:255.255.255.255
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
    
  4. Linux bash シェルを終了し、外部通信の送信元アドレスとして GigE インターフェイスを設定します。

    
    [xr-vm_node0_RP0_CPU0:~]$ exit
    
    RP/0/RP0/CPU0:ios# config 
    Fri Oct 30 08:55:17.992 UTC
    RP/0/RP0/CPU0:ios(config)# tpa address-family ipv4 update-source gigabitEthernet 0/0/0/1
    RP/0/RP0/CPU0:ios(config)# commit
    Fri Oct 30 08:55:38.795 UTC
    

    (注)  


    デフォルトでは、fwdintf インターフェイスが外部通信用の loopback0 インターフェイスにマップします。これは、Loopback0 インターフェイスへのルーティング プロセスまたはルータ ID のバインドに似ています。tpa address-family ipv4 update-source コマンドを使用してギガビット イーサネット インターフェイスに fwdintf インターフェイスをバインドすると、インターフェイスがダウンした場合にネットワーク接続が影響を受けます。


  5. Linux bash シェルを入力し、GigEインターフェイス アドレスが外部通信用に fwdintf インターフェイスによって使用されるかどうかを確認します。

    
    /* If you are using Cisco IOS XR Version 6.0.0, run the following command */
    RP/0/RP0/CPU0:ios# run ip netns exec tpnns bash
    
    /* If you are using Cisco IOS XR Version 6.0.2, run the following command */
    RP/0/RP0/CPU0:ios# bash
    
    [xr-vm_node0_RP0_CPU0:~]$ ip route
    default dev fwdintf  scope link  src 192.57.43.10 
    8.8.8.8 dev fwd_ew  scope link 
    192.168.122.0/24 dev Mg0_RP0_CPU0_0  proto kernel  scope link  src 192.168.122.197 
    [xr-vm_node0_RP0_CPU0:~]$

IOS XR で外部通信が正常にイネーブルになります。

サードパーティ製アプリケーションの水平方向通信

IOS XR での水平方向通信は、コンテナでホストされているアプリケーションがネイティブの XR アプリケーション(XR コントロール プレーン上でホスティング)と対話するためのメカニズムです。

次の図に、IOS XR でホストされているサードパーティ製アプリケーションが XR コントロール プレーンとどのように対話するかを示します。

アプリケーションが IOS XR Forwarding Information Base(FIB)にデータを送信します。アプリケーションは、IOS XR の東側でホストされ、XR コントロール プレーンは西側の地域にあります。したがって、サードパーティ製アプリケーションと XR コントロール プレーン間の通信の形式は水平方向(E-W)通信と呼ばれます。

Chef Client や Puppet Agent などのサードパーティ製アプリケーションは、この通信モードを使用して、IOS XR 上でコンテナ、パケット、およびアプリケーションを設定し、管理します。今後、このサポートが IOS XR に拡張されて、このようなサードパーティ製アプリケーションによって設定、制御される可能性があります。

図 3. IOS XR での水平方向の通信


IOS XR と通信するサードパーティ製アプリケーションでは、Loopback1 インターフェイスを設定する必要があります。次の手順でこの設定方法を説明します。

  1. IOS XR の Loopback1 インターフェイスを設定します。

    RP/0/RP0/CPU0:ios(config)# interface Loopback1 
    RP/0/RP0/CPU0:ios(config-if)# ipv4 address 8.8.8.8/32        
    RP/0/RP0/CPU0:ios(config-if)# no shut
    RP/0/RP0/CPU0:ios(config-if)# commit
    RP/0/RP0/CPU0:ios(config-if)# exit
    RP/0/RP0/CPU0:ios(config)#
    
  2. Loopback1 インターフェイスの作成を確認します。

    RP/0/RP0/CPU0:ios# show ipv4 interface brief
    Thu Nov 12 10:01:00.874 UTC
    
    Interface                      IP-Address      Status                Protocol
    Loopback0                      1.1.1.1         Up                    Up      
    Loopback1                      8.8.8.8         Up                    Up      
    GigabitEthernet0/0/0/0         192.164.168.10  Up                    Up      
    GigabitEthernet0/0/0/1         192.57.43.10    Up                    Up      
    GigabitEthernet0/0/0/2         unassigned      Shutdown              Down    
    MgmtEth0/RP0/CPU0/0            192.168.122.197 Up                    Up      
    RP/0/RP0/CPU0:ios#
    
  3. ネットワークに使用している IOS XR のバージョンに応じて、サードパーティのネットワーク名前空間またはグローバル VRF を入力します。

    /* If you are using Cisco IOS XR Version 6.0.0, run the following command */
    RP/0/RP0/CPU0:ios# run ip netns exec tpnns bash
    
    /* If you are using Cisco IOS XR Version 6.0.2, run the following command */
    RP/0/RP0/CPU0:ios# bash
    
  4. Loopback1 インターフェイス アドレスが E-W インターフェイスにマップされているかどうか を確認します。

    [xr-vm_node0_RP0_CPU0:~]$ ip route
    default dev fwdintf  scope link  src 192.57.43.10 
    8.8.8.8 dev fwd_ew  scope link 
    192.168.122.0/24 dev Mg0_RP0_CPU0_0  proto kernel  scope link  src 192.168.122.197 
    [xr-vm_node0_RP0_CPU0:~]$
    

Cisco IOS XR Linux シェルでのアプリケーション ホスティング

Linux は、システム管理者、開発者、およびネットワーク エンジニアが過去 20 ~ 30 年にわたって作成し、テストし、導入してきたアプリケーションやツールのエコシステム全体をサポートします。Linux は、アプリケーションの有無を問わず、安定性、セキュリティ、拡張性、低コストのライセンス、特定のインフラストラクチャのニーズに合わせたアプリケーションのカスタマイズを実現する柔軟性により、サーバのホスティングに適しています。

自動化と統合の簡易性に重点を置く DevOps 形式のワークフローへの注目が高まる中、ネットワーク デバイスは進化し、自動化プロセスをより簡単にする標準的なツールやアプリケーションをサポートする必要があります。標準化された共有ツールのチェーンはスピード、効率、コラボレーションを強化できます。IOS XR は Yocto ベースの Wind River Linux 7 ディストリビューションから開発されています。OS は RPM ベースとなっており、組み込み型システムに最適です。

IOS XR によって、ボックス上での 64 ビット Linux アプリケーションのホスティングが可能となり、次の利点が得られます。

  • 設定管理アプリケーションとのシームレスな統合

  • ファイル システムへの容易なアクセス

  • 操作の簡易性

IOS XR の Linux アプリケーションをホストするには、XR の Linux シェルを理解している必要があります。

一般的な Linux OS は、ネットワーク インターフェイスと OS で共有されるルーティング テーブル エントリ一式を提供します。ネットワークの名前空間の導入により、Linux は 独立して機能する複数のインスタンスのネットワーク インターフェイスとルーティング テーブルを提供します。


(注)  


ネットワークの名前空間のサポートは、Linux OS のディストリビューションによって異なります。アプリケーションのホスティングに使用するディストリビューションがネットワークの名前空間をサポートしていることを確認します。


IOS XR のネットワーク名前空間

ネットワークで使用している Cisco IOS XR のバージョンに応じて、IOS XR Linux シェルにアクセスする方法は 2 つあります。

  • Cisco IOS XR バージョン 6.0.0 を使用している場合は、Cisco IOS XR Linux シェルでのサードパーティのネットワーク名前空間へのアクセスの手順を使用する必要があります。XR Linux シェルにアクセスすると、デフォルトのネットワーク名前空間である XRNNS に移動します。すべてのサードパーティ アプリケーション インターフェイスが存在するサードパーティのネットワーク名前空間(TPNNS)にアクセスするには、この名前空間から移動する必要があります。XR ルータプロンプトでアクセスして表示できるものと、XR Linux シェルでアクセスして表示できるものには違いがあります。

  • Cisco IOS XR バージョン 6.0.2 以降を使用している場合は、Cisco IOS XR Linux シェルでのグローバル VRF へのアクセスの手順を使用する必要があります。XR Linux シェルにアクセスすると、グローバル VRF に名前が変更されたサードパーティのネットワーク名前空間に直接移動します。XR ルータプロンプト自体で bash コマンドを実行して、グローバル VRF に保存されているインターフェイスと IP アドレスを表示できます。このバージョンの IOS XR では、ナビゲーションがより高速で直感的になりました。

Cisco IOS XR Linux シェルでのグローバル VRF へのアクセス

Cisco IOS XR バージョン 6.0.2 以降では、サードパーティのネットワーク名前空間(TPNNS)の名前がグローバル VRF(global-vrf)に変更されています。Cisco IOS XR Linux シェルにアクセスする場合は、グローバル VRF を直接入力します。これについては、次の手順で説明します。

  1. Linux ボックスから SSH を使用して IOS XR コンソールにアクセスし、ログインします。

    cisco@host:~$ ssh root@192.168.122.188
    root@192.168.122.188's password:
    RP/0/RP0/CPU0:ios#
    

    IOS XR ルータのプロンプトが表示されます。

  2. IOS XR のイーサネット インターフェイスを表示します。

    RP/0/0/CPU0:ios# show ipv4 interface brief
    ...
    
    Interface                      IP-Address      Status                Protocol
    Loopback0                      1.1.1.1/32       Up                    Up      
    GigabitEthernet0/0/0/0         10.1.1.1/24	     Up		                  Up	    
    ...
    
    
    RP/0/RP0/CPU0:ios# show interfaces gigabitEthernet 0/0/0/0
    ...
    
    GigabitEthernet0/0/0/0 is up, line protocol is up
    Interface state transitions: 4
    Hardware is GigabitEthernet, address is 5246.e8a3.3754 (bia
    5246.e8a3.3754)
    Internet address is 10.1.1.1/24
    MTU 1514 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
    reliability 255/255, txload 0/255, rxload 0/255
    Encapsulation ARPA,
    Duplex unknown, 1000Mb/s, link type is force-up
    output flow control is off, input flow control is off
    loopback not set,
    Last link flapped 01:03:50
    ARP type ARPA, ARP timeout 04:00:00
    Last input 00:38:45, output 00:38:45
    Last clearing of "show interface" counters never
    5 minute input rate 0 bits/sec, 0 packets/sec
    5 minute output rate 0 bits/sec, 0 packets/sec
    12 packets input, 1260 bytes, 0 total input drops
    0 drops for unrecognized upper-level protocol
    Received 2 broadcast packets, 0 multicast packets
    0 runts, 0 giants, 0 throttles, 0 parity
    0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
    12 packets output, 1224 bytes, 0 total output drops
    Output 1 broadcast packets, 0 multicast packets
    
    

    出力には、GigabitEthernet0/0/0/0 インターフェイスの IP アドレスと MAC アドレスが表示されます。

  3. bash -c ifconfig コマンドを実行してネットワーク インターフェイスを表示し、bash コマンドがグローバル VRF で実行されているかどうかを確認します。

    RP/0/RP0/CPU0:ios# bash -c ifconfig
    ...
    Gi0_0_0_0 Link encap:Ethernet  HWaddr 52:46:04:87:19:3c  
              inet addr:192.164.168.10  Mask:255.255.255.0
              inet6 addr: fe80::5046:4ff:fe87:193c/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    Mg0_RP0_CPU0_0 Link encap:Ethernet  HWaddr 52:46:12:7a:88:41  
              inet addr:192.168.122.197  Mask:255.255.255.0
              inet6 addr: fe80::5046:12ff:fe7a:8841/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    fwd_ew    Link encap:Ethernet  HWaddr 00:00:00:00:00:0b
              inet6 addr: fe80::200:ff:fe00:b/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    fwdintf   Link encap:Ethernet  HWaddr 00:00:00:00:00:0a
              inet6 addr: fe80::200:ff:fe00:a/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    lo:0      Link encap:Local Loopback  
              inet addr:1.1.1.1  Mask:255.255.255.255
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
    
    

    次の 2 つのインターフェイスが存在することで、グローバル VRF に移動していることを確認できます。

    fwd_ew はサードパーティ製アプリケーションと IOS XR 間の通信(水平方向)に使用するインターフェイスです。

    fwdintf は IOS XR の外部のサードパーティ製アプリケーションとネットワーク間の通信に使用するインターフェイスです。

  4. bash コマンドを実行して、Linux シェルにアクセスします。

    RP/0/RP0/CPU0:ios# bash
    Tue Aug 02 13:44:07.627 UTC
    [xr-vm_node0_RP0_CPU0:~]$ 
    
    
  5. (任意)fwd_ew インターフェイスと fwdintf インターフェイスで使用される IP ルートを表示します。

    [xr-vm_node0_RP0_CPU0:~]$ ip route
    default dev fwdintf  scope link  src 1.1.1.1 
    8.8.8.8 dev fwd_ew  scope link 
    192.168.122.0/24 dev Mg0_RP0_CPU0_0  proto kernel  scope link  src 192.168.122.213 
    

IOS XR でグローバル VRF を入力する代替方法

IOS XR へのログイン時に bash コマンドを入力せずにグローバル VRF に直接移動するには、次に示すステップで説明する sshd_operns サービスを使用します。この手順には、サービスにアクセスするための非ルート ユーザの作成が含まれています(ルート ユーザはこのサービスにアクセスできません)。


(注)  


IOS XR で、インターフェイスをバインドするサービスを開始する前に、インターフェイスが設定され、起動され、動作可能であることを確認します。

インターフェイスが設定された後にのみサービスを開始するようにするには、サービス スクリプトに次の関数を含めます。

. /etc/init.d/operns-functions
operns_wait_until_ready

operns_wait_until_ready 関数を追加することによって、サービススクリプトは、1 つ以上のインターフェイスが設定されるのを待機してから、サービスを開始するようになります。


  1. (任意)リロード時に operns サービスを自動的に開始するようにするには、sshd_operns サービスを追加し、そのサービスの存在を確認します。

    bash-4.3# chkconfig --add sshd_operns
    bash-4.3# chkconfig --list sshd_operns
    sshd_operns      0:off   1:off   2:off   3:on    4:on    5:on    6:off
    bash-4.3# 
  2. sshd_operns サービスを開始します。

    bash-4.3# service sshd_operns start
    Generating SSH1 RSA host key: [  OK  ]
    Generating SSH2 RSA host key: [  OK  ]
    Generating SSH2 DSA host key: [  OK  ]
      generating ssh ECDSA key...
    Starting sshd: [  OK  ]
    
    bash-4.3# service sshd_operns status 
    sshd (pid  6224) is running...
  3. ステップ 1 で作成した非ルートユーザーとして sshd_operns セッションにログインします。

    host@fe-ucs36:~$ ssh devops@192.168.122.222 -p 57722
    devops@192.168.122.222's password: 
    Last login: Tue Sep  8 20:14:11 2015 from 192.168.122.1
    XR-vm_node0_RP0_CPU0:~$ 
  4. ネットワーク インターフェイスを表示して、グローバル VRF に移動しているかどうかを確認します。

    [XR-vm_node0_RP0_CPU0:~]$ ifconfig
    Gi0_0_0_0 Link encap:Ethernet  HWaddr 52:46:04:87:19:3c  
              inet addr:192.164.168.10  Mask:255.255.255.0
              inet6 addr: fe80::5046:4ff:fe87:193c/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    Mg0_RP0_CPU0_0 Link encap:Ethernet  HWaddr 52:46:12:7a:88:41  
              inet addr:192.168.122.197  Mask:255.255.255.0
              inet6 addr: fe80::5046:12ff:fe7a:8841/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    fwd_ew    Link encap:Ethernet  HWaddr 00:00:00:00:00:0b  
              inet6 addr: fe80::200:ff:fe00:b/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    fwdintf   Link encap:Ethernet  HWaddr 00:00:00:00:00:0a  
              inet6 addr: fe80::200:ff:fe00:a/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1482  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    lo:0      Link encap:Local Loopback  
              inet addr:1.1.1.1  Mask:255.255.255.255
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
    

これで、アプリケーションをホストするために IOS XR Linux シェルを使用する準備が整いました。

Cisco IOS XR Linux シェルでのサードパーティのネットワーク名前空間へのアクセス

Cisco IOS XR の Linux シェルは、サードパーティ製アプリケーションと内部 XR プロセス間に必要な隔離を実装すると同時に、XR インターフェイスへの必要なアクセスをアプリケーションに提供するサードパーティのネットワーク名前空間(TPNNS)を提供します。このセクションで説明する手順を使用して、IOS XR Linux シェルにアクセスし、XRNNS(デフォルトの XR ネットワーク名前空間)と TPNNS を移動できます。


(注)  


この手順は、Cisco IOS XR バージョン 5.3.2 および 6.0.0 にのみ適用されます。他のバージョンの Cisco IOS XR でこの名前空間にアクセスするには、Cisco IOS XR Linux シェルでのグローバル VRF へのアクセスを参照してください。


次のステップに従って、XR Linux シェルを移動します。

  1. Linux ボックスから SSH を使用して IOS XR コンソールにアクセスし、ログインします。

    cisco@host:~$ ssh root@192.168.122.188
    root@192.168.122.188's password:
    RP/0/RP0/CPU0:ios#
    

    IOS XR ルータのプロンプトが表示されます。

  2. IOS XR のイーサネット インターフェイスを表示します。

    RP/0/0/CPU0:ios# show ipv4 interface brief
    ...
    
    Interface                      IP-Address      Status                Protocol
    Loopback0                      1.1.1.1/32       Up                    Up      
    GigabitEthernet0/0/0/0         10.1.1.1/24	     Up		                  Up	    
    ...
    
    
    RP/0/RP0/CPU0:ios# show interfaces gigabitEthernet 0/0/0/0
    ...
    
    GigabitEthernet0/0/0/0 is up, line protocol is up
    Interface state transitions: 4
    Hardware is GigabitEthernet, address is 5246.e8a3.3754 (bia
    5246.e8a3.3754)
    Internet address is 10.1.1.1/24
    MTU 1514 bytes, BW 1000000 Kbit (Max: 1000000 Kbit)
    reliability 255/255, txload 0/255, rxload 0/255
    Encapsulation ARPA,
    Duplex unknown, 1000Mb/s, link type is force-up
    output flow control is off, input flow control is off
    loopback not set,
    Last link flapped 01:03:50
    ARP type ARPA, ARP timeout 04:00:00
    Last input 00:38:45, output 00:38:45
    Last clearing of "show interface" counters never
    5 minute input rate 0 bits/sec, 0 packets/sec
    5 minute output rate 0 bits/sec, 0 packets/sec
    12 packets input, 1260 bytes, 0 total input drops
    0 drops for unrecognized upper-level protocol
    Received 2 broadcast packets, 0 multicast packets
    0 runts, 0 giants, 0 throttles, 0 parity
    0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
    12 packets output, 1224 bytes, 0 total output drops
    Output 1 broadcast packets, 0 multicast packets
    

    出力には、GigabitEthernet0/0/0/0 インターフェイスの IP アドレスと MAC アドレスが表示されます。

  3. run コマンドを入力し、IOS XR の Linux bash シェルを起動します。

    また、bash プロンプトの表示時に IOS XR のバージョンも確認します。

    RP/0/RP0/CPU0:ios# run
    Wed Oct 28 18:45:56.168 IST
    
    [xr-vm_node0_RP0_CPU0:~]$ uname -a
    Linux xr-vm_node0_RP0_CPU0 3.10.19-WR7.0.0.2_standard #1 SMP Mon Jul 6
    13:38:23 PDT 2015 x86_64 GNU/Linux
    [xr-vm_node0_RP0_CPU0:~]$
    

    (注)  


    Linux bash セルを終了し、IOS XR コンソールを起動するには、exit コマンドを入力します。

    [xr-vm_node0_RP0_CPU0:~]$ exit
    exit
    RP/0/RP0/CPU0:ios#
    

  4. ifconfig コマンドを実行してネットワーク インターフェイスを見つけます。

    [xr-vm_node0_RP0_CPU0:~]$ ifconfig
    eth0      Link encap:Ethernet  HWaddr 52:46:12:7a:88:41  
              inet6 addr: fe80::5046:12ff:fe7a:8841/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:8996  Metric:1
              RX packets:280 errors:0 dropped:0 overruns:0 frame:0
              TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:31235 (30.5 KiB)  TX bytes:20005 (19.5 KiB)
    
    eth-vf0   Link encap:Ethernet  HWaddr 52:54:00:34:29:44  
              inet addr:10.11.12.14  Bcast:10.11.12.255  Mask:255.255.255.0
              inet6 addr: fe80::5054:ff:fe34:2944/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1
              RX packets:19 errors:0 dropped:0 overruns:0 frame:0
              TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:1566 (1.5 KiB)  TX bytes:1086 (1.0 KiB)
    
    eth-vf1   Link encap:Ethernet  HWaddr 52:54:00:ee:f7:68  
              inet6 addr: fe80::5054:ff:feee:f768/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1
              RX packets:326483 errors:0 dropped:3 overruns:0 frame:0
              TX packets:290174 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:24155455 (23.0 MiB)  TX bytes:215862857 (205.8 MiB)
    
    eth-vf1.1794 Link encap:Ethernet  HWaddr 52:54:01:5c:55:8e  
              inet6 addr: fe80::5054:1ff:fe5c:558e/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:8996  Metric:1
              RX packets:10 errors:0 dropped:0 overruns:0 frame:0
              TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:728 (728.0 B)  TX bytes:1234 (1.2 KiB)
    
    eth-vf1.3073 Link encap:Ethernet  HWaddr e2:3a:dd:0a:8c:06  
              inet addr:192.0.0.4  Bcast:192.255.255.255  Mask:255.0.0.0
              inet6 addr: fe80::e03a:ddff:fe0a:8c06/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:8996  Metric:1
              RX packets:317735 errors:0 dropped:3560 overruns:0 frame:0
              TX packets:257881 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:18856325 (17.9 MiB)  TX bytes:204552163 (195.0 MiB)
    
    eth-vf1.3074 Link encap:Ethernet  HWaddr 4e:41:50:00:10:01  
              inet addr:172.0.16.1  Bcast:172.255.255.255  Mask:255.0.0.0
              inet6 addr: fe80::4c41:50ff:fe00:1001/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:8996  Metric:1
              RX packets:8712 errors:0 dropped:0 overruns:0 frame:0
              TX packets:32267 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:723388 (706.4 KiB)  TX bytes:11308374 (10.7 MiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:1635360 errors:0 dropped:0 overruns:0 frame:0
              TX packets:1635360 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:182532711 (174.0 MiB)  TX bytes:182532711 (174.0 MiB)
    
    tap123    Link encap:Ethernet  HWaddr c6:13:74:4b:dc:e3  
              inet6 addr: fe80::c413:74ff:fe4b:dce3/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:500 
              RX bytes:0 (0.0 B)  TX bytes:998 (998.0 B)
    
    

    出力には、IOS XR が使用する内部インターフェイス(eth0eth-vf1.3074)が表示されます。これらのインターフェイスは、XR ネットワークの名前空間(XRNNS)にあり、IOS XR の外部のネットワークとやり取りすることはありません。IOS XR の外部のネットワークとやり取りするインターフェイスは、サードパーティ製ネットワークの名前空間(TPNNS)にあります。

  5. IOS XR の bash シェルで TPNNS に移動します。

    [XR-vm_node0_RP0_CPU0:~]$ ip netns exec tpnns bash
  6. TPNNS インターフェイスを表示します。

    [XR-vm_node0_RP0_CPU0:~]$ ifconfig
    Gi0_0_0_0 Link encap:Ethernet  HWaddr 52:46:04:87:19:3c  
              inet addr:192.164.168.10  Mask:255.255.255.0
              inet6 addr: fe80::5046:4ff:fe87:193c/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    Mg0_RP0_CPU0_0 Link encap:Ethernet  HWaddr 52:46:12:7a:88:41  
              inet addr:192.168.122.197  Mask:255.255.255.0
              inet6 addr: fe80::5046:12ff:fe7a:8841/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    fwd_ew    Link encap:Ethernet  HWaddr 00:00:00:00:00:0b  
              inet6 addr: fe80::200:ff:fe00:b/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    fwdintf   Link encap:Ethernet  HWaddr 00:00:00:00:00:0a  
              inet6 addr: fe80::200:ff:fe00:a/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1482  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    lo:0      Link encap:Local Loopback  
              inet addr:1.1.1.1  Mask:255.255.255.255
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
    

    出力に表示されるインターフェイスは Linux 環境での IOS XR インターフェイスの複製です(同じ MAC アドレスと IP アドレスを備えています)。

    • Gi0_0_0_0 は IOS XR GigabitEthernet 0/0/0/0 インターフェイスです。

    • Mg0_RP0_CPU0_0 は XR での管理操作に使用する IOS XR 管理インターフェイスです。

    • fwd_ew はサードパーティ製アプリケーションと IOS XR 間の通信(水平方向)に使用するインターフェイスです。

    • fwdintf は IOS XR の外部のサードパーティ製アプリケーションとネットワーク間の通信に使用するインターフェイスです。

    • lo:0fwdintf インターフェイスを通じたサードパーティ製アプリケーションと外部ネットワーク間の通信に使用する IOS XR loopback0 インターフェイスです。loopback0 インターフェイスは、XR の外部の通信に使用できるように設定する必要があります。また、Cisco IOS XR の外部との通信の項で説明したように、アプリケーションは外部通信用の GigE インターフェイスも設定できます。

    no shut コマンドで)有効になっているすべてのインターフェイスが IOS XR の TPNNS に追加されます。

  7. (任意)fwd_ew インターフェイスと fwdintf インターフェイスで使用される IP ルートを表示します。

    [xr-vm_node0_RP0_CPU0:~]$ ip route
    default dev fwdintf  scope link  src 1.1.1.1 
    8.8.8.8 dev fwd_ew  scope link 
    192.168.122.0/24 dev Mg0_RP0_CPU0_0  proto kernel  scope link  src 192.168.122.213 

IOS XR でのサードパーティ製ネットワーク名前空間に移動する代替方法

IOS XR へのログイン時に ip netns exec tpnns bash コマンドを入力せずに TPNNS に直接移動するには、次に示すステップで説明する sshd_tpnns サービスを使用します。この手順には、サービスにアクセスするための非ルート ユーザの作成が含まれています(ルート ユーザはこのサービスにアクセスできません)。


(注)  


IOS XR で、インターフェイスをバインドするサービスを開始する前に、インターフェイスが設定され、起動され、動作可能であることを確認します。

インターフェイスが設定された後にのみサービスを開始するようにするには、サービス スクリプトに次の関数を含めます。

. /etc/init.d/tpnns-functions
tpnns_wait_until_ready

tpnns_wait_until_ready 関数を追加することによって、サービススクリプトは、1 つ以上のインターフェイスが設定されるのを待機してから、サービスを開始するようになります。


  1. (任意)リロード時に TPNNS サービスを自動的に開始するようにするには、sshd_tpnns サービスを追加し、そのサービスの存在を確認します。

    bash-4.3# chkconfig --add sshd_tpnns
    bash-4.3# chkconfig --list sshd_tpnns
    sshd_tpnns      0:off   1:off   2:off   3:on    4:on    5:on    6:off
    bash-4.3# 
  2. sshd_tpnns サービスを開始します。

    bash-4.3# service sshd_tpnns start
    Generating SSH1 RSA host key: [  OK  ]
    Generating SSH2 RSA host key: [  OK  ]
    Generating SSH2 DSA host key: [  OK  ]
      generating ssh ECDSA key...
    Starting sshd: [  OK  ]
    
    bash-4.3# service sshd_tpnns status 
    sshd (pid  6224) is running...
  3. ステップ 1 で作成した非ルート ユーザとして sshd_tpnns セッションにログインします。

    host@fe-ucs36:~$ ssh devops@192.168.122.222 -p 57722
    devops@192.168.122.222's password: 
    Last login: Tue Sep  8 20:14:11 2015 from 192.168.122.1
    XR-vm_node0_RP0_CPU0:~$ 
  4. インターフェイスを表示して、TPNNS に移動していることを確認します。

    [XR-vm_node0_RP0_CPU0:~]$ ifconfig
    Gi0_0_0_0 Link encap:Ethernet  HWaddr 52:46:04:87:19:3c  
              inet addr:192.164.168.10  Mask:255.255.255.0
              inet6 addr: fe80::5046:4ff:fe87:193c/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    Mg0_RP0_CPU0_0 Link encap:Ethernet  HWaddr 52:46:12:7a:88:41  
              inet addr:192.168.122.197  Mask:255.255.255.0
              inet6 addr: fe80::5046:12ff:fe7a:8841/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1514  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:210 (210.0 B)
    
    fwd_ew    Link encap:Ethernet  HWaddr 00:00:00:00:00:0b  
              inet6 addr: fe80::200:ff:fe00:b/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    fwdintf   Link encap:Ethernet  HWaddr 00:00:00:00:00:0a  
              inet6 addr: fe80::200:ff:fe00:a/64 Scope:Link
              UP RUNNING NOARP MULTICAST  MTU:1482  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2 errors:0 dropped:1 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:0 (0.0 B)  TX bytes:140 (140.0 B)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    lo:0      Link encap:Local Loopback  
              inet addr:1.1.1.1  Mask:255.255.255.255
              UP LOOPBACK RUNNING  MTU:1500  Metric:1
    

これで、アプリケーションをホストするために IOS XR Linux シェルを使用する準備が整いました。