SRv6 の構成

この章には、SRv6 の構成方法に関する情報が含まれています。

ライセンス要件

Cisco NX-OS を動作させるには、機能とプラットフォームの要件に従って適切なライセンスを取得し、インストールする必要があります。

  • 基本(Essential)ライセンスとアドオンライセンスが、さまざまな機能セットに使用できます。

  • ライセンスは、製品および購入オプションに応じて、永続的、一時的、または評価用のものがあります。

  • 高度な機能を使用するには、基本ライセンス以外の追加の機能ライセンスが必要です。

  • 高度な機能を使用するには、基本ライセンス以外の追加ライセンスが必要です。

  • ライセンスの適用と管理は、デバイスのコマンドライン インターフェイス(CLI)を介して行われます。

ライセンス タイプとインストール手順の詳細については、 『Cisco NX-OS ライセンシング ガイド』 および 『Cisco NX-OS ライセンシング オプション ガイド』を参照してください。

サポートされるプラットフォーム

Nexus スイッチプラットフォーム サポート マトリックスには、次のものがリストされています。

  • サポートされている Cisco Nexus 9000 および 3000 スイッチ モデル

  • NX- OS ソフトウェア リリース バージョン

プラットフォームと機能の完全なマッピングについては、『Nexus Switch Platform Support Matrix』を参照してください。

IPv6 を介したセグメント ルーティングについて

セグメントルーティング(SR)は、MPLS データプレーンおよび IPv6 データプレーンの両方に適用できます。SR-MPLS 対応ネットワークでは、MPLS ラベルがセグメント識別子(SID)として使用され、送信元ルータが接続先へのパスを選択し、パケットヘッダー内のパスをラベルのスタックとしてエンコードします。IPv6(SRv6)ネットワーク上のセグメントルーティングでは、IPv6 アドレスが SID として機能します。送信元ルーターは、宛先へのパスを、IPv6 パケット内のセグメントの順序付きリスト(IPv6 アドレスのリスト)としてエンコードします。IPv6 パケット内の IPv6 アドレスの順序付きリストをエンコードするには、拡張ヘッダーである新しいルーティング ヘッダーが使用されます。SRv6 のこの新しいヘッダーは、セグメント ルーティング ヘッダー (SRH) と呼ばれます。SRv6 がイネーブル化されているネットワークは、アクティブセグメントはパケットの宛先アドレスによって示され、次のセグメントは SRH のポインタによって示されます。

SRv6 は IPv6 データ転送で動作し、すべてのデータ センターの展開に適しています。SRH を使用した SRv6 は、トラフィック 設計・導入とパス保護機能を容易にします。SRH を除いて、SRv6 は、IPv6 パケット ヘッダーのみを持つマルチテナントのトラフィック転送もサポートします。この場合、IPv6 宛先アドレス(128 ビット)は、到達可能性(ロケーター)と VPN 機能を表します。

転送方法は、宛先アドレスがロケータ プレフィックス スペース内にある場合、SID テーブルにない場合、標準ルーティング テーブルに一致するかどうかをチェックします。

Cisco NX-OS リリース 9.3(3)以降、Cisco Nexus 9300-GX シリーズ スイッチは、次のように SRv6 機能をサポートします。

  • IPv6

  • ライン レートでの SRH によるパケットの処理

  • BGP、OSPFv3、および IS-IS プロトコル

  • IPv4 および IPv6 VPN プレフィックスの両方の SRv6 上の L3VPN

  • SRv6 を介したグローバル IPv4 および IPv6(インターネット)

Cisco NX-Release 9.3(3)では、次の機能がサポートされています。

  • [終了(End)]

  • 終了 DT4/DT6/DT46

  • T カプセルレッド

  • トランジット機能 (SRH の有無にかかわらず)

SRv6 トポロジ

この図は、SRv6 トポロジを示しています。

図 1. SRv6 トポロジ

この例では、アンダーレイ IPv6 は IS-IS で有効になっています。PE1 とスパイン間のインターフェイスはリンク ローカル アドレスで有効化され、PE2 とスパイン間のインターフェイスは IPv6 アドレスで設定されます。このトポロジでは、SRv6 に対して構成スパインも有効になっています。スパインは、純粋な IPv6 アンダーレイとして機能できます。PE1/Leaf1 は、VPN プレフィックスを交換するために iBGP セッションを介して PE2/Leaf2 とピアをします。PE1 は vrf1 の CE1 に接続され、eBGP セッションを介して VPN プレフィックスを学習します。同様に、PE2 は vrf1 の CE2 に接続され、eBGP セッションを介して VPN プレフィックスを学習します。

SRv6 に関する注意事項と制限事項

SRv6 の注意事項および制約事項は、次のとおりです。

  • Cisco NX-OS リリース 9.3(3) 以降では、単一のロケータのみがサポートされています。

  • レイヤ 3 インターフェイスとレイヤ 3 ポート チャネルは、ファブリックへのサポートされているアップリンクです。SVI およびサブインターフェイスはサポートされていません。

  • SRv6 機能と MPLS SR-TE 機能の共存は、Cisco Nexus 9000 スイッチではサポートされていません。

サポートされるプラットフォーム

SRv6 機能は、Cisco NX-OS リリースの表に記載されているプラットフォームでサポートされています。

プラットフォーム

リリース

9300-GX および 9300-GX2

9.3(3)

N9K-C9332D-H2R

10.4(1)F

N9K-C93400LD-H1

10.4(2)F

N9K-C9364C-H1

10.4(3)F

SRv6 の構成

SRv6 を有効にして、ロケーターをそのプレフィックスで構成できます。

手順の概要

  1. configure terminal
  2. segment-routing
  3. srv6
  4. locators
  5. locator name
  6. prefix ipv6 address/len
  7. exit

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch#configure terminal

グローバル コンフィギュレーション モードを開始します

ステップ 2

segment-routing

例:

switch(config)#segment-routing
switch(config-sr)# 

SRv6 を介したセグメント回送を有効にします。

ステップ 3

srv6

例:

switch(config-sr)#srv6
switch(config-sr-srv6)#

SRv6 を介したセグメント回送を有効にします。

ステップ 4

locators

例:

switch(config-srv6)#locators
switch(config-srv6-locators)# 

ロケータ 構成 モードを開始します。

ステップ 5

locator name

例:

switch(config-srv6-locators)#locator loc1

ロケーターを構成します。

ステップ 6

prefix ipv6 address/len

例:

switch(config-srv6-locator)# prefix 6abc:0:1::/64

ロケータ プレフィックスを構成します。

ステップ 7

exit

例:

switch(config-srv6-locators)# exit

ロケーション構成モードを終了します。

カプセル化 パラメータを構成

SRv6 カプセル化構成を使用して、送信元 IPv6 アドレスを含めることができます。

始める前に

feature srv6 がイネーブル化されていることを確認します。

手順の概要

  1. configure terminal
  2. segment-routing
  3. srv6
  4. locators
  5. locator name
  6. encapsulation
  7. source-address ipv6-address

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch#configure terminal

グローバル コンフィギュレーション モードを開始します

ステップ 2

segment-routing

例:

switch(config)#segment-routing
switch(config-sr)#

セグメント ルーティング構成モードを開始します。

ステップ 3

srv6

例:

switch(config-sr)#srv6
switch(config-sr-srv6)#

SRv6 を介したセグメント回送を有効にします。

ステップ 4

locators

例:

switch(config-sr-srv6)#locators
switch(config-sr-srv6-locator)#

ロケータ 構成 モードを開始します。

ステップ 5

locator name

例:

switch(config-sr-srv6-locator)#locator loc1
switch(config-sr-srv6-locator)#

すべての IPv4 および IPv6 VRF に使用できるグローバル ロケータを設定し、ロケータ構成モードを開始します。

ステップ 6

encapsulation

例:

switch(config-sr-srv6)#encapsulation
switch (config-sr-srv6-encap)#

カプセル化構成モードを開始します。

ステップ 7

source-address ipv6-address

例:

switch(config-sr-srv6-encap)#source-address 6666::1 

SRv6 カプセル化の送信元 IPv6 アドレスを設定します。

IPv6 アンダーレイの構成

次のいずれかを使用して IPv6 アンダーレイを構成できます。

  • IS-IS

  • OSPFv3

  • BGP

IS-IS プロトコルを使用した SRv6 の設定

SRv6 は IS-IS プロトコルで構成できます。

始める前に

次の条件が満たされていることを確認します。

  • feature srv6 が有効になっています。

  • feature isis が有効になっています。

  • SRv6 は、IS-IS の IPv6 アドレス ファミリで有効になっています。

手順の概要

  1. configure terminal
  2. router isis instance-tag
  3. address-family ipv6 unicast
  4. segment-routing srv6
  5. locator name

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

router isis instance-tag

例:

switch(config)# router isis 1
switch(config-router)#

instance tag を設定して、新しい IS-IS インスタンスを作成します。

ステップ 3

address-family ipv6 unicast

例:

switch(config-router)# address-family ipv6 unicast
switch(config-router-af)#

アドレス ファミリ設定モードを開始します。

ステップ 4

segment-routing srv6

例:

switch(config-router-af)# segment-routing srv6
switch(config-router-af-srv6)#

IS-IS プロトコルを使用した SRv6 の構成

ステップ 5

locator name

例:

switch(config-router-af-srv6)# locator loc1
switch(config-router-af-srv6)#

ロケーターを構成します。

OSPFv3 プロトコルを使用した SRv6 の設定

始める前に

  • [機能 srv6(feature srv6)] が有効になっていることを確認します。

  • 機能 ospfv3 が有効になっていることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します

ステップ 2

route-map LOCATOR_MAP permit 10

例:

switch(config-router)# route-map LOCATOR_MAP permit 10

ステップ 3

router ospfv3 process_tag

例:

switch(config)# router ospfv3
switch(config-router)#

OSPF モードを有効にします。

ステップ 4

address-family ipv6 unicast

例:

switch(config-router)# address-family ipv6 unicast
switch(config-router-af)#

アドレス ファミリ設定モードを開始します。

ステップ 5

redistribute srv6 locator route-map LOCATOR_MAP

例:

switch(config-router)# redistribute srv6 locator route-map LOCATOR_MAP

BGP を使用した SRv6 の構成

ロケータが BGP で構成されている場合、ロケータ プレフィックスのルートが IPv6 ユニキャスト テーブルに作成され、ピアにアドバタイズされます。

始める前に

feature srv6 がイネーブル化されていることを確認します。

feature bgp がイネーブル化されていることを確認します。

手順の概要

  1. configure terminal
  2. router bgp as-number
  3. segment-routing srv6
  4. locator name
  5. exit

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

router bgp as-number

例:

switch(config)# router bgp 200
switch(config-router)#

BGP ルータ コンフィギュレーション モードを開始します。

ステップ 3

segment-routing srv6

例:

switch(config-router)# segment-routing srv6
switch(config-router-srv6)#

BGP で SRv6 を構成します。

ステップ 4

locator name

例:

switch(config-router-srv6# locator loc1
switch(config-router-srv6)#

ロケータを構成します。

ステップ 5

exit

例:

switch(config-router-srv6)# exit
switch(config-router)#

SRv6 構成モードを終了します。

SRv6 を介したレイヤー 3 VPN の構成

ロケータが BGP で構成されている場合、ロケータ プレフィックスのルートが IPv6 ユニキャスト テーブルに作成され、ピアにアドバタイズされます。このロケータは、VRF の SRv6 SID を割り当てるために使用されます。

Cisco NX-OS リリース 9.3(3)では、Cisco NX-OS スイッチは 1 つのロケータのみをサポートします。

DT4 および DT6 SID は、各アドレス ファミリで個別に構成できます。DT46 が VRF で構成されている場合、End.DT4 および End.DT6 の構成は各アドレス ファミリで許可されません。

VRF の DT46 SID の割り当て

レイヤー 3 VPN ファブリックで SRv6 を構成できます。

始める前に

feature srv6 がイネーブル化されていることを確認します。

feature bgp がイネーブル化されていることを確認します。

手順の概要

  1. configure terminal
  2. router bgp as-number
  3. segment-routing srv6
  4. locator name
  5. exit
  6. vrf name
  7. segment-routing srv6
  8. alloc mode per-vrf

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

router bgp as-number

例:

switch(config)# router bgp 200
switch(config-router)#

BGP ルータ コンフィギュレーション モードを開始します。

ステップ 3

segment-routing srv6

例:

switch(config-router)# segment-routing srv6
switch(config-router-srv6)#

BGP で SRv6 を構成します。

ステップ 4

locator name

例:

switch(config-router-srv6# locator loc1
switch(config-router-srv6)#

ロケータを構成します。

ステップ 5

exit

例:

switch(config-router-srv6)# exit
switch(config-router)#

SRv6 構成モードを終了します。

ステップ 6

vrf name

例:

switch(config-router)# vrf vrf1
switch(config-router-vrf)#

VRF を設定します。

ステップ 7

segment-routing srv6

例:

switch(config-router-vrf-af)# segment-routing srv6
switch(config-router-vrf-af-srv6)#

SRv6 を構成し、VRF SRv6 構成モードを開始します。

ステップ 8

alloc mode per-vrf

例:

switch(config-router-vrf-af-srv6)# alloc mode per-vrf

VRF ごとに SRv6 エンド DT46 を割り当てます。

VRF ごとの DT4 および DT6 SID の割り当て

レイヤー 3 VPN ファブリックで SRv6 を構成できます。

始める前に

feature srv6 がイネーブル化されていることを確認します。

feature bgp がイネーブル化されていることを確認します。

手順の概要

  1. configure terminal
  2. router bgp as-number
  3. segment-routing srv6
  4. locator name
  5. exit
  6. vrf name
  7. address-family (ipv4 | ipv6} unicast
  8. segment-routing srv6
  9. alloc mode per-vrf

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

router bgp as-number

例:

switch(config)# router bgp 200
switch(config-router)#

BGP ルータ コンフィギュレーション モードを開始します。

ステップ 3

segment-routing srv6

例:

switch(config-router)# segment-routing srv6
switch(config-router-srv6)#

BGP で SRv6 を構成します。

ステップ 4

locator name

例:

switch(config-router-srv6# locator loc1
switch(config-router-srv6)#

ロケータを構成します。

ステップ 5

exit

例:

switch(config-router-srv6)# exit
switch(config-router)#

SRv6 構成モードを終了します。

ステップ 6

vrf name

例:

switch(config-router)# vrf vrf1
switch(config-router-vrf)#

VRF を設定します。

ステップ 7

address-family (ipv4 | ipv6} unicast

例:

switch(config-router-vrf)# address-family (ipv4 | ipv6} unicast
switch(config-router-vrf-af)#

IPv4 または IPv6 アドレス ファミリを構成し、アドレス ファミリ構成モードを開始します。

ステップ 8

segment-routing srv6

例:

switch(config-router-vrf-af)# segment-routing srv6
switch(config-router-vrf-af-srv6)#

SRv6 を構成し、VRF SRv6 構成モードを開始します。

ステップ 9

alloc mode per-vrf

例:

switch(config-router-vrf-af-srv6)# alloc mode per-vrf

VRF ごとに SRv6 エンド DT4 または DT6 を割り当てます。

グローバル VRF の SRv6 DT46 SID の割り当て

レイヤ 3 VPN ファブリックを使用したグローバル VRF で、SRv6 DT46 SID を割り当てることができます。

始める前に

feature srv6 がイネーブル化されていることを確認します。

feature bgp がイネーブル化されていることを確認します。

手順の概要

  1. configure terminal
  2. router bgp as-number
  3. segment-routing srv6
  4. locator name
  5. alloc mode per-vrf

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

router bgp as-number

例:

switch(config)# router bgp 200
switch(config-router)#

BGP ルータ コンフィギュレーション モードを開始します。

ステップ 3

segment-routing srv6

例:

switch(config-router)# segment-routing srv6
switch(config-router-srv6)#

BGP で SRv6 を構成します。

ステップ 4

locator name

例:

switch(config-router-srv6# locator loc1
switch(config-router-srv6)#

ロケータを構成します。

ステップ 5

alloc mode per-vrf

例:

switch(config-router-srv6)# alloc mode per-vrf

グローバル VRF に SRv6 エンド DT4 または DT6 を割り当てます。

グローバル VRF での IPv4 AF の SRv6 DT4 SID の割り当て

レイヤ 3 VPN ファブリックを使用したグローバル VRF で、IPv4 アドレス ファミリに SRv6 DT4 SID を割り当てることができます。

始める前に

feature srv6 がイネーブル化されていることを確認します。

feature bgp がイネーブル化されていることを確認します。

手順の概要

  1. configure terminal
  2. router bgp as-number
  3. address-family ipv4 unicast
  4. segment-routing srv6
  5. alloc mode per-vrf

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

router bgp as-number

例:

switch(config)# router bgp 200
switch(config-router)#

BGP ルータ コンフィギュレーション モードを開始します。

ステップ 3

address-family ipv4 unicast

例:

switch(config-router)# address-family ipv4 unicast
switch(config-router-af)#

IPv4 アドレス ファミリを構成し、アドレス ファミリ構成モードを開始します。

ステップ 4

segment-routing srv6

例:

switch(config-router-af)# segment-routing srv6
switch(config-router-af-srv6)#

BGP で SRv6 を構成します。

ステップ 5

alloc mode per-vrf

例:

switch(config-router-af-srv6)# alloc mode per-vrf

グローバル VRF のアドレス ファミリに SRv6 エンド DT4 を割り当てます。

グローバル VRF での IPv6 AF の SRv6 DT6 SID の割り当て

レイヤ 3 VPN ファブリックを使用したグローバル VRF で、IPv6 アドレス ファミリに SRv6 DT6 SID を割り当てることができます。

始める前に

feature srv6 がイネーブル化されていることを確認します。

feature bgp がイネーブル化されていることを確認します。

手順の概要

  1. configure terminal
  2. router bgp as-number
  3. address-family ipv6 unicast
  4. segment-routing srv6
  5. alloc mode per-vrf

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

router bgp as-number

例:

switch(config)# router bgp 200
switch(config-router)#

BGP ルータ コンフィギュレーション モードを開始します。

ステップ 3

address-family ipv6 unicast

例:

switch(config-router)# address-family ipv6 unicast
switch(config-router-af)#

IPv6 アドレス ファミリを構成し、アドレス ファミリ構成モードを開始します。

ステップ 4

segment-routing srv6

例:

switch(config-router-af)# segment-routing srv6
switch(config-router-af-srv6)#

BGP で SRv6 を構成します。

ステップ 5

alloc mode per-vrf

例:

switch(config-router-af-srv6)# alloc mode per-vrf

グローバル VRF のアドレス ファミリに SRv6 エンド DT6 を割り当てます。

SPv6 設定の確認

BGP 仕様の SRv6 構成を表示するには、次のいずれかの作業を行います。

コマンド 目的

Show bgp segment-routing srv6

すべての VRF の BGP SRv6 ロケータと SID を表示します。

Show bgp process name

その VRF および構成されたロケータの BGP SRv6 SID を表示します。

SRv6の構成例

この例は、SRv6の構成を示しています。

feature bgp
feature isis
feature srv6
segment-routing
  srv6
    locators
      locator first
        prefix 6abc:0:1::/64
    encapsulation
       source-address 6666::1

route-map EVERYTHING permit 10

vrf context vrf1
  rd auto
  address-family ipv4 unicast
    route-target import 6603:1
    route-target export 6603:1
  address-family ipv6 unicast
    route-target import 6603:1
    route-target export 6603:1

interface Ethernet1/7/1
  no shutdown

interface Ethernet1/7/1.1
  encapsulation dot1q 101
  vrf member vrf1
  ip address 31.0.1.2/24
  ipv6 address 31::1:2/124
  no shutdown

interface Ethernet1/9
  ipv6 address use-link-local-only
  ipv6 router isis SR-ISIS-6
  no shutdown

interface loopback0
  ip address 6.6.6.1/32
  ipv6 address 6666::1/128
  ipv6 router isis SR-ISIS-6

router isis SR-ISIS-6
  net 66.0000.0000.0000.6001.00
  metric-style transition
  log-adjacency-changes
  address-family ipv6 unicast
    segment-routing srv6
      locator first
    maximum-paths 16

router bgp 6603
  router-id 6.6.6.1
  segment-routing srv6
    locator first
    alloc mode per-vrf
  address-family ipv4 unicast
    redistribute direct route-map EVERYTHING
  address-family ipv6 unicast
    redistribute direct route-map EVERYTHING
  neighbor 6666::3
    remote-as 6603
    update-source loopback0
    address-family ipv4 unicast
    address-family ipv6 unicast
    address-family vpnv4 unicast
      send-community
      send-community extended
    address-family vpnv6 unicast
      send-community
      send-community extended
vrf vrf1
    address-family ipv4 unicast
      redistribute direct route-map EVERYTHING
      segment-routing srv6
        alloc mode per-vrf 
    address-family ipv6 unicast
      redistribute direct route-map EVERYTHING
      segment-routing srv6
        alloc mode per-vrf
    neighbor 31::1:1
      remote-as 1001
      update-source Ethernet1/7/1.1
      address-family ipv6 unicast
    neighbor 31.0.1.1
      remote-as 1001
      update-source Ethernet1/7/1.1
      address-family ipv4 unicast