セグメント ルーティング MPLS OAM のサポート

セグメント ルーティング保守運用管理(OAM)は、ネットワークの障害検出とトラブルシューティングに役立ちます。これを使用することで、サービス プロバイダーはラベル スイッチド パス(LSP)をモニタしてフォワーディングの問題を迅速に隔離できます。セグメント ルーティング OAM 機能では、Nil-FEC(フォワーディング等価クラス)LSP Ping および Traceroute、IGP プレフィックス SID FEC タイプ、および SR-TE 機能のための部分的な IGP 隣接関係 SID FEC タイプのサポートを提供します。

セグメント ルーティング OAM MPLS サポートの制約事項

  • Ping と traceroute は、SR-TE スタティック自動トンネル、BGP ダイナミック TE、およびオンデマンド ネクスト ホップ自動トンネルではサポートされていません。

  • Strict-SID オプションは、OSPF によってインストールされたパスではサポートされません。

  • MPLS traceroute は、1 つのノードで 2 つの明示的ヌル ラベルのポップをサポートしません。

  • IP ルーティングの宛先が MPLS FEC ではないため、レイヤ 3 VPN を使用せずに、MPLS セグメント経由で IP へのパスを再ルーティングすることはサポートされていません。

セグメント ルーティング MPLS OAM サポートに関する情報

セグメント ルーティング OAM サポート

Nil-FEC LSP ping および traceroute の操作は、通常の MPLS ping および traceroute の拡張機能です。Nil-FEC LSP Ping/Trace 機能は、セグメント ルーティングと MPLS スタティックをサポートしています。また、他のすべての LSP タイプに対する追加の診断ツールとしても機能します。この機能は、オペレータがラベル スタックをテストして以下を指定できるようにします。
  • ラベル スタック

  • 発信インターフェイス

  • ネクストホップ アドレス

セグメント ルーティングの場合、ルーティング パスに沿った各セグメント ノード ラベルおよび隣接関係ラベルは、イニシエータのラベル スイッチ ルータ(LSR)からのエコー要求メッセージのラベル スタックに入れられます。MPLS データ プレーンは、このパケットをラベル スタック ターゲットに転送し、ラベル スタック ターゲットはエコー メッセージを送り返します。

セグメント ルーティング OAM サポートの利点

  • この機能により、トラフィックが SR-TE トンネルまたはネイティブ SR フォワーディングを介してエンジニアリングされるセグメント ルーティング ネットワークの MPLS OAM 機能が有効になります。

  • 従来の MPLS ネットワークでは、ソース ノードは、LDP または RSVP-TE のようなホップ バイ ホップ シグナリング プロトコルに基づいてパスを選択します。セグメント ルーティング ネットワークでは、パスは IGP プロトコル(現在は OSPF および ISIS)によってアドバタイズされるセグメントのセットによって指定されます。

  • SR を使用して提供されるサービスの量が増加するため、オペレータが本質的に SR アーキテクチャの接続検証と障害分離を行うことができることが重要です。

  • セグメントの割り当ては、従来の MPLS ネットワークのようにホップ バイ ホップ プロトコルに基づいていないため、切断された中継ノードがトラフィックのブラックホール化を引き起こし、望ましくない動作を引き起こす可能性があります。

  • SR と SR-TE はどちらもロード バランシングをサポートしていて、ソース ルータとターゲット ルータの間で利用可能なすべての ECMP パスをトレースすることが重要です。この機能は、TE とネイティブ SR パスの両方に対してマルチパスの traceroute をサポートします。

  • セグメント ルーティング OAM サポートの主な利点は次のとおりです。
    • 運用:ネットワークのモニタリングおよび障害管理。

    • 管理:ネットワークの検出と計画。

    • メンテナンス:訂正および予防のアクティビティにより、障害の発生と影響を最小限に抑えます。

セグメント ルーティング MPLS Ping

MPLS ping および traceroute は設計によって拡張可能です。SR サポートを追加するには、新しい FEC および/または追加の検証手順を定義します。MPLS ping は MPLS データ パスを検証し、次を実行します。

  • エコー要求パケットを MPLS ラベルにカプセル化します。

  • 低密度ラウンド トリップ時間を測定します。

  • 低密度ラウンド トリップ遅延を測定します。

セグメント ルーティング MPLS Traceroute

MPLS ping および traceroute は設計によって拡張可能です。SR サポートを追加するには、新しい転送等価クラス(FEC)および/または追加の検証手順を定義します。MPLS traceroute は、LSP の各ホップでフォワーディング プレーンおよびコントロール プレーンを検証して、障害を切り分けます。traceroute は、TTL 1 から始まり単調増加する存続可能時間(TTL)で MPLS エコー要求を送信します。TTL の有効期限が過ぎると、中継ノードはソフトウェアで要求を処理し、ターゲット FEC と目的の中継ノードへの LSP があるかどうかを確認します。中継ノードは、検証が成功した場合、ネクストホップに到達するための上記の検証とラベルスタックの結果を指定するリターンコードと、宛先に向かうネクストホップの ID を含むエコー応答を送信します。発信元は、TTL + 1 を含む次のエコー要求をビルドするためにエコー応答を処理します。宛先が FEC の出力であると応答するまで、プロセスが繰り返されます。

Nil FEC ターゲットに対する LSP Ping 操作

LSP Ping/Traceroute は LSP 破損の識別に使用されます。nil-fec ターゲット型は、既知のラベル スタックの接続性をテストするために使用できます。既存の LSP ping 手順に従います(詳細については、「MPLS Lsp ping/Traceroute」を参照してください)。ただし以下を変更します。
  • 指定されたラベル スタックを使用してエコー要求パケットをビルドします。

  • ラベル スタックの下部に明示的 null ラベルを追加します。

  • ターゲットの FEC Nil FEC とラベルの値が明示的 null であるラベル スタックの下部のラベルに設定されているエコー要求 FTS TLV をビルドします。

LSP Ping およびトレース ルート Nil FEC ターゲットを使用してセグメント ルーティングを診断する方法

Nil FEC ターゲットに対する LSP Ping の使用

Nil FEC LSP ping および traceroute の操作は、単に通常の MPLS ping および traceroute の拡張機能です。nil-fec labels <label, label…> が ping mpls コマンドに追加されます。このコマンドは、指定に応じて MPLS ラベル スタックを使用してエコー要求メッセージを送信し、スタックの最下部に別の明示的ヌルを追加します。


ping mpls nil-fec labels <comma separated labels> output interface <tx-interface> nexthop <nexthop ip addr>
[repeat <count>]
[size <size> | sweep <min_size> <max_size> <increment>]
[timeout <seconds>]
[interval <milliseconds>]
[destination <addr_start> [<addr_end> [<addr_incr_mask> | <addr_incr>]]]
[source <addr>]
[exp <exp-value>]
[pad <pattern>]
[ttl <ttl>]
[reply [mode [ipv4 | router-alert | no-reply]]
[dscp <dscp-bits>]
[pad-tlv]]
[verbose]
[force-disposition ra-label]
{dsmap | ddmap [l2ecmp]} [hashkey {none | {ipv4 | ipv4-label-set {bitmap <bitmap_size>}}]

詳細については、「ping mpls」を参照してください。

Nil FEC ターゲットに対する LSP Traceroute の使用


trace mpls nil-fec labels <comma separated labels> output interface <tx-interface>} nexthop <nexthop ip addr>
[timeout <seconds>]
[destination <addr_start> [<addr_end> [<addr_incr_mask> | <addr_incr>]]]
[source <addr> ]
[exp <exp-value>]
[ttl <ttl-max>]
[reply [mode [ipv4 | router-alert | no-reply]]
[dscp <dscp-bits>]
[pad-tlv]]
[flags {fec | ttl}]
[hashkey ipv4 | ipv4-label-set {bitmap <bitmap_size>}]

詳細については、「traceroute mpls」を参照してください。

LSP Ping Nil FEC ターゲットのサポートの例

Node loopback IP address: 1.1.1.3               1.1.1.4                 1.1.1.5                1.1.1.7
Node label:                                      16004                   16005                  16007 
Nodes:                    Arizona --------------- Utah  --------------- Wyoming --------------- Texas
Interface:                     Eth1/0        Eth1/0
Interface IP address:         30.1.1.3      30.1.1.4

Device#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  3333.3333.0000-Et1/0-30.1.1.3   \
                                       0             Et1/0      30.1.1.3
17         Pop Label  5555.5555.5555-Et1/1-90.1.1.5   \
                                       0             Et1/1      90.1.1.5
18         Pop Label  3333.3333.0253-Et0/2-102.102.102.2   \
                                       0             Et0/2      102.102.102.2
19         Pop Label  9.9.9.4/32       0             Et0/2      102.102.102.2
20         Pop Label  1.1.1.5/32       0             Et1/1      90.1.1.5
21         Pop Label  1.1.1.3/32       0             Et1/0      30.1.1.3
22         Pop Label  16.16.16.16/32   0             Et1/0      30.1.1.3
23         Pop Label  16.16.16.17/32   0             Et1/0      30.1.1.3
24         Pop Label  17.17.17.17/32   0             Et1/0      30.1.1.3
25         20         9.9.9.3/32       0             Et1/0      30.1.1.3
26         21         1.1.1.6/32       0             Et1/0      30.1.1.3
27         24         1.1.1.2/32       0             Et1/0      30.1.1.3
           28         1.1.1.2/32       0             Et1/1      90.1.1.5
28         18         1.1.1.7/32       0             Et1/1      90.1.1.5
29         27         9.9.9.7/32       0             Et1/1      90.1.1.5
30         Pop Label  55.1.1.0/24      0             Et1/1      90.1.1.5
31         Pop Label  19.1.1.0/24      0             Et1/0      30.1.1.3
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
32         Pop Label  100.1.1.0/24     0             Et1/0      30.1.1.3
33         Pop Label  100.100.100.0/24 0             Et1/0      30.1.1.3
34         Pop Label  110.1.1.0/24     0             Et1/0      30.1.1.3
35         28         10.1.1.0/24      0             Et1/0      30.1.1.3
36         29         101.101.101.0/24 0             Et1/0      30.1.1.3
37         29         65.1.1.0/24      0             Et1/1      90.1.1.5
38         33         104.104.104.0/24 0             Et1/0      30.1.1.3
           39         104.104.104.0/24 0             Et1/1      90.1.1.5
39         30         103.103.103.0/24 0             Et1/1      90.1.1.5
16005      Pop Label  1.1.1.5/32       1782          Et1/1      90.1.1.5
16006      16006      1.1.1.6/32       0             Et1/0      30.1.1.3
16007      16007      1.1.1.7/32       0             Et1/1      90.1.1.5
16017      16017      17.17.17.17/32   0             Et1/0      30.1.1.3
16250      16250      9.9.9.3/32       0             Et1/0      30.1.1.3
16252      16252      9.9.9.7/32       0             Et1/1      90.1.1.5
16253      Pop Label  9.9.9.4/32       0             Et0/2      102.102.102.2
17000      17000      16.16.16.16/32   0             Et1/0      30.1.1.3
17002      17002      1.1.1.2/32       0             Et1/0      30.1.1.3
           17002      1.1.1.2/32       0             Et1/1      90.1.1.5

Device#ping mpls nil-fec labels 16005,16007 output interface ethernet 1/0 nexthop 30.1.1.4 repeat 1
Sending 1, 72-byte MPLS Echos with Nil FEC labels 16005,16007,
     timeout is 2 seconds, send interval is 0 msec:

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
!
Success rate is 100 percent (1/1), round-trip min/avg/max = 1/1/1 ms
 Total Time Elapsed 0 ms


Device#traceroute mpls nil-fec labels 16005,16007 output interface ethernet 1/0 nexthop 30.1.1.4
Tracing MPLS Label Switched Path with Nil FEC labels 16005,16007, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
  0 30.1.1.3 MRU 1500 [Labels: 16005/16007/explicit-null Exp: 0/0/0]
L 1 30.1.1.4 MRU 1500 [Labels: implicit-null/16007/explicit-null Exp: 0/0/0] 1 ms
L 2 90.1.1.5 MRU 1500 [Labels: implicit-null/explicit-null Exp: 0/0] 1 ms
! 3 55.1.1.7 1 ms

セグメント ルーティング ネットワークのパス検証

MPLS OAM メカニズムは、MPLS エコー要求パケットで運ばれて FEC 検証のためにレスポンダによって使用されるさまざまなターゲット FEC スタックサブ TLV の使用によって、MPLS データプレーン パスのための障害検出および分離に役立ちます。新しいサブ TLV をセグメント ルーティングに割り当てる必要があることは明らかですが、セグメント ルーティング アーキテクチャの固有の性質により、パスの検証に関して追加の運用上の考慮が必要になります。

隣接関係セグメント ID の転送セマンティックは、セグメント ID をポップし、特定のリンクを介して特定のネイバーにパケットを送信することです。誤動作しているノードは、隣接関係セグメント ID を使用して、誤ったネイバーへまたは誤ったリンク上でパケットを転送することがあります。(誤って転送された隣接関係セグメント ID の)リスクにさらされているセグメント ID では、目的の厳格なトラバーサルが壊れているにもかかわらず、パケットが目的の宛先に到達できる可能性があります。MPLS traceroute はそのような逸脱の検出の役に立つ場合があります。

次のセグメント ID サブ TLV の形式は、ラベル スタック内の各ラベルに対応する FEC を運ぶターゲット FEC スタック TLV の原理に従います。これにより、ターゲット FEC スタック TLV に要求先ノードで受信したラベル スタックよりも多くの FEC が含まれている場合に LSP ping/traceroute 操作を機能させることができます。ターゲット FEC スタック TLV(タイプ 1)、リバースパス ターゲット FEC スタック TLV(タイプ 16)、および応答パス TLV(タイプ 21)には、3 つの新しいサブ TLV が定義されています。


 sub-Type    Value Field
 --------  ---------------
    34      IPv4 IGP-Prefix Segment ID
    35      IPv6 IGP-Prefix Segment ID
    36      IGP-Adjacency Segment ID

IGP プレフィックス SID FEC タイプ用の MPLS Ping および Traceroute

プレフィックス SID 用の MPLS ping および traceroute の操作は、次のようなさまざまな IGP シナリオでサポートされています。

  • IS-IS レベルまたは OSPF エリア内

  • IS-IS レベルまたは OSPF エリア間

  • IS-IS から OSPF へ、および OSPF から IS-IS へのルート再配布

MPLS LSP ping 機能を使用して、LSP に沿った入力ラベル スイッチ ルータ(LSR)と出力 LSR 間の接続を確認します。MPLS LSP ping は、Internet Control Message Protocol(ICMP)のエコー要求メッセージと応答メッセージと同様に、LSP の検証に MPLS エコーの要求メッセージと応答メッセージを使用します。MPLS エコー要求パケットの宛先 IP アドレスは、ラベル スタックの選択に使用されるアドレスとは異なります。

MPLS LSP traceroute 機能を使用して、LSP の障害ポイントを隔離します。これはホップバイホップ エラーのローカリゼーションとパス トレースに使用されます。MPLS LSP traceroute 機能は、エコー要求を伝送するパケットの存続可能時間(TTL)値の期限切れに依存します。MPLS エコー要求メッセージが中継ノードを見つけると TTL 値をチェックし、期限が切れている場合はコントロール プレーンにパケットが渡されます。それ以外の場合は、メッセージが転送されます。エコー メッセージがコントロール プレーンに渡されると、要求メッセージの内容に基づいて応答メッセージが生成されます。

MPLS LSP ツリー トレース(traceroute マルチパス)操作は、IGP プレフィックス SID でもサポートされています。MPLS LSP ツリー トレースでは、LSP のすべての可能な等コスト マルチパス(ECMP)ルーティング パスを検出して宛先プレフィックス SID に到達する手段が提供されます。エコー要求パケットにエンコードされたマルチパス データを使用して、ロードバランシング情報が照会されます。これにより、発信者は各 ECMP の実行を許可される場合があります。パケット TTL が応答ノードで期限切れになると、ノードはダウンストリーム パスのリストとマルチパス情報を返します。これにより、オペレータは MPLS エコー応答内の各パスを実行できるようになります。この操作は、すべての ECMP が検出されて検証されるまで、TTL 値が増加しながら各パスのホップごとに繰り返し実行されます。

MPLS エコー要求パケットは、ターゲット FEC スタック サブ TLV を伝送します。ターゲット FEC サブ TLV は、レスポンダによって FEC 検証のために使用されます。IGPIPv4 プレフィックス サブ TLV がターゲット FEC スタック サブ TLV に追加されました。IGP IPv4 プレフィックス サブ TLV には、プレフィックス SID、プレフィックス長、およびプロトコル(IS-IS または OSPF)が含まれています。

ノード セグメント ID をアドバタイズしたネットワーク ノードは、PHP(Penultimate Hop Popping)が有効かどうかに関係なく、ノード セグメント ID の pop 操作タイプを持つ FEC スタック変更サブ TLV を生成します。

IPv4 IGP プレフィックス セグメント ID の形式は次のとおりです。


   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         IPv4 Prefix                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Prefix Length  |    Protocol   |         Reserved              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 

IPv6 IGP プレフィックス セグメント ID の形式は次のとおりです。



   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |                         IPv6 Prefix                           |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Prefix Length  |    Protocol   |              Reserved         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IGP 隣接セグメント ID 用の MPLS Ping および Traceroute

隣接関係セグメント ID をアドバタイズしたノードのすぐ下流にあるネットワーク ノードは、隣接関係セグメント ID の「POP」操作のための FEC スタック変更サブ TLV を生成します。

IGP 隣接関係 SID の形式は次のとおりです。


   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Adj. Type   |    Protocol   |          Reserved             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                Local Interface ID (4 or 16 octets)            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                Remote Interface ID (4 or 16 octets)           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ~                                                               ~
  |          Advertising Node Identifier (4 or 6 octets)          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ~                                                               ~
  |             Receiving Node Identifier (4 or 6 octets)         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

MPLS Ping および Traceroute 用のセグメント ルーティング MPLS トラフィック エンジニアリングの設定


ping mpls traffic-eng tunnel <tun-id> 
[repeat <count>]
[size <size> | sweep <min_size> <max_size> <increment>]
[timeout <seconds>]
[interval <milliseconds>]
[destination <addr_start> [<addr_end> [<addr_incr_mask> | <addr_incr>]]]
[source <addr>]
[exp <exp-value>]
[pad <pattern>]
[ttl <ttl>]
[reply [mode [ipv4 | router-alert | no-reply]]
[dscp <dscp-bits>]
[pad-tlv]]
[verbose]
[output {interface <tx-interface>} [nexthop <nexthop ip addr>]]
[{dsmap | ddmap [l2ecmp]} [hashkey {none | {ipv4 | ipv4-label-set {bitmap <bitmap_size>}}]

traceroute mpls [multipath] traffic-eng <tunnel-interface> 
[timeout <seconds>]
[destination <addr_start> [<addr_end> [<addr_incr_mask> | <addr_incr>]]]
[source <addr> ]
[exp <exp-value>]
[ttl <ttl-max>]
[reply [mode [ipv4 | router-alert | no-reply]]
[pad-tlv]]
[output {interface <tx-interface>} [nexthop <nexthop ip addr>]]
[flags {fec | ttl}]
[hashkey ipv4 | ipv4-label-set {bitmap <bitmap_size>}]

MPLS Ping および Traceroute 用のセグメント ルーティング MPLS IGP の設定


ping mpls ipv4 <prefix/prefix_length> [fec-type [ldp | bgp | generic | isis | ospf]] [sr-path-type [ip | sid | strict-sid]] 
[destination <addr_start> [<addr_end> [<addr_incr_mask> | <addr_incr>]]]
[source <addr>]
[exp <exp-value>]
[pad <pattern>]
[ttl <ttl>]
[reply [mode [ipv4 | router-alert | no-reply]]
[dscp <dscp-bits>]
[pad-tlv]]
[verbose]
[output {interface <tx-interface>} [nexthop <nexthop ip addr>]]
[{dsmap | ddmap [l2ecmp]} [hashkey {none | {ipv4 | ipv4-label-set {bitmap <bitmap_size>}}]

traceroute mpls [multipath] ipv4 <prefix/prefix_length> [fec-type [ldp | bgp | generic | isis | ospf]] [sr-path-type [ip | sid | strict-sid]] 
[timeout <seconds>]
[destination <addr_start> [<addr_end> [<addr_incr_mask> | <addr_incr>]]]
[source <addr> ]
[exp <exp-value>]
[ttl <ttl-max>]
[reply [mode [ipv4 | router-alert | no-reply]]
[pad-tlv]]
[output {interface <tx-interface>} [nexthop <nexthop ip addr>]]
[flags {fec | ttl}]
[hashkey ipv4 | ipv4-label-set {bitmap <bitmap_size>}]
  • fec-type:IPv4 ターゲット FEC タイプ。デフォルトでヘッド エンド自動検出 FEC タイプを使用します。

  • sr-path-type:セグメント ルーティング パスのタイプの選択アルゴリズム。オプションが指定されている場合は、IP インポジション パスを使用します。

Cisco IOS CLI を使用したセグメント ルーティング OAM の確認

このセクションでは、セグメント ルーティング OAM 機能を検証するために必要な、主要なコマンド ライン インターフェイス(CLI)についての要約を示します。ping および traceroute コマンドは IGP(OSPF SR)、ISIS SR および SR-TE での操作および出力を示します。実際のトンネル番号と IP アドレスは、設定で必要とされる有効な実際の値に基づいて変更します。

セグメント ルーティング トラフィック エンジニアリング OAM オペレーションの確認

次の traceroute コマンドは、SR-TE OAM 操作を表示します。


SR_Device#traceroute mpls traffic-eng tunnel 1005 verbose 
Tracing MPLS TE Label Switched Path on Tunnel1005 Active LSP, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
  0 100.103.1.1 100.103.1.2 MRU 1500 [Labels: implicit-null/22/22 Exp: 0/0/0], RSC 0
l 1 100.103.1.2 103.104.1.2 MRU 1500 [Labels: implicit-null/22 Exp: 0/0] 3 ms, ret code 15, RSC 0
l 2 103.104.1.2 104.105.1.2 MRU 1500 [Labels: implicit-null Exp: 0] 3 ms, ret code 15, RSC 0
! 3 104.105.1.2 2 ms, ret code 3


SR_Device#traceroute mpls ipv4 55.5.5.5/32 output interface tunnel1 force-explicit-null 
Tracing MPLS Label Switched Path to 55.5.5.5/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface, 
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry, 
  'P' - no rx intf label prot, 'p' - premature termination of LSP, 
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
  0 100.101.1.1 MRU 1500 [Labels: 26000/explicit-null Exp: 0/0]
L 1 100.101.1.2 MRU 1500 [Labels: 26000/explicit-null Exp: 0/0] 3 ms
L 2 101.104.1.2 MRU 1500 [Labels: implicit-null/explicit-null Exp: 0/0] 6 ms
! 3 104.105.1.2 3 ms

次の tree traceroute コマンドは、ECMP シナリオでの SR-TE OAM 操作を表示します。


SR_Device#traceroute mpls multi traffic-eng tunnel 1 verbose
Starting LSP Multipath Traceroute for Tunnel1
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
LL!
Path 0 found,
output interface Gi2 nexthop 100.101.1.2
source 50.0.0.0 destination 127.0.0.0
0 100.101.1.1 100.101.1.2 MRU 1500 [Labels: 26000 Exp: 0] multipaths 0
L 1 100.101.1.2 101.102.1.2 MRU 1500 [Labels: 26000 Exp: 0] ret code 8, RSC 0 multipaths 2
L 2 101.102.1.2 102.105.1.2 MRU 1500 [Labels: implicit-null Exp: 0] ret code 8, RSC 0
multipaths 1
! 3 102.105.1.2, ret code 3 multipaths 0
L!
Path 1 found,
output interface Gi2 nexthop 100.101.1.2
source 50.0.0.0 destination 127.0.0.1
0 100.101.1.1 100.101.1.2 MRU 1500 [Labels: 26000 Exp: 0] multipaths 0
L 1 100.101.1.2 101.104.1.2 MRU 1500 [Labels: 26000 Exp: 0] ret code 8, RSC 0 multipaths 2
L 2 101.104.1.2 104.105.1.2 MRU 1500 [Labels: implicit-null Exp: 0] ret code 8, RSC 0
multipaths 1
! 3 104.105.1.2, ret code 3 multipaths 0
LL!
Path 2 found,
output interface Gi3 nexthop 100.103.1.2
source 50.0.0.0 destination 127.0.0.0
0 100.103.1.1 100.103.1.2 MRU 1500 [Labels: 26000 Exp: 0] multipaths 0
L 1 100.103.1.2 102.103.1.1 MRU 1500 [Labels: 26000 Exp: 0] ret code 8, RSC 0 multipaths 2
L 2 102.103.1.1 102.105.1.2 MRU 1500 [Labels: implicit-null Exp: 0] ret code 8, RSC 0
multipaths 1
! 3 102.105.1.2, ret code 3 multipaths 0
L!
Path 3 found,
output interface Gi3 nexthop 100.103.1.2
source 50.0.0.0 destination 127.0.0.1
0 100.103.1.1 100.103.1.2 MRU 1500 [Labels: 26000 Exp: 0] multipaths 0
L 1 100.103.1.2 103.104.1.2 MRU 1500 [Labels: 26000 Exp: 0] ret code 8, RSC 0 multipaths 2
L 2 103.104.1.2 104.105.1.2 MRU 1500 [Labels: implicit-null Exp: 0] ret code 8, RSC 0
multipaths 1
! 3 104.105.1.2, ret code 3 multipaths 0
Paths (found/broken/unexplored) (4/0/0)
Echo Request (sent/fail) (10/0)
Echo Reply (received/timeout)

CLI を使用したセグメント ルーティング OAM OSPF の確認

IGP 境界にまたがるプレフィックスに対して ping または traceroute を実行する場合は、特に fec タイプを指定する必要があります。たとえば、プレフィックスが ISIS ドメインから OSPF に再配布されるときは、fec タイプ ISIS を指定します。ping または traceroute が IGP ドメイン内で実行されるときは、明示的に fec タイプを言及する必要はありません。ユーザが宛先ノードで IGP プロトコルを知らない場合に汎用の fec タイプ ジェネリックを提供します。SR パスのタイプが記載されていない場合、デフォルトの SR パスのタイプ IP が採用されます。

次のトポロジは、SR パスのタイプの例です。
図 1.


以下の ping コマンドは、基盤となるネットワークが OSPF の場合の SR OAM を説明するために使用されます。

上記のトポロジの例に従って、ヘッド エンド R1 では、SR-TE トンネルは宛先を R3 として作成されます。SR-TE トンネルは、R6 および R7 を通過するための明示的パス オプションを使用して作成されます。IP トラフィックが R1 で入力された場合、SR-TE パスは R1---R6----R7----R3 です。


Device#ping mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type ip verbose
Sending 2, 72-byte MPLS Echos to IGP Prefix SID(OSPF) FEC 5.5.5.5/32,
     timeout is 2 seconds, send interval is 0 msec:
Select segment routing IP imposition path.

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
!    size 72, reply addr 2.4.0.4, return code 3
!    size 72, reply addr 2.4.0.4, return code 3

Success rate is 100 percent (2/2), round-trip min/avg/max = 1/1/1 ms
 Total Time Elapsed 4 ms
同じトポロジで、着信トラフィックにトラフィックのラベルが付いている場合、次の 2 つの ECMP パスが転送用に選択されます。
  • R1---R6----R7----R3

  • R1---R4----R5----R3


(注)  

マルチパス オプションを使用して、両方のパスを宛先に対してトレースすることができます。



Device# ping mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid verbose
Sending 1, 72-byte MPLS Echos to IGP Prefix SID(OSPF) FEC 5.5.5.5/32,
     timeout is 2 seconds, send interval is 0 msec:
Select segment routing prefix SID path.

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
!    size 72, reply addr 2.4.0.4, return code 3

Success rate is 100 percent (1/1), round-trip min/avg/max = 1/1/1 ms
 Total Time Elapsed 3 ms

次の traceroute コマンドは、基盤となるネットワークが OSPF の場合の SR OAM を表示します。

R1 への着信トラフィックがネイティブ IP である場合に IP ルート パスをトレースするために、R1 の終わりで以下のコマンドが使用されます。


Device#traceroute mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type ip verbose
Tracing MPLS Label Switched Path to IGP Prefix SID(OSPF) FEC 4.4.4.4/32, timeout is 2 seconds
Select segment routing IP imposition path.

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
  'L' - labeled output interface, 'B' - unlabeled output interface,
  'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
  'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
  'P' - no rx intf label prot, 'p' - premature termination of LSP,
  'R' - transit router, 'I' - unknown upstream index,
  'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
  'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.
 0 1.2.0.1 1.2.0.2 MRU 1500 [Labels: 16002/16005 Exp: 0/0], RSC 0                                
L 1 1.2.0.2 3.3.3.3 MRU 1500 [Labels: 16005 Exp: 0] 2 ms, ret code 8, RSC 0               
L 2 3.3.3.3 3.4.0.4 MRU 1500 [Labels: implicit-null Exp: 0] 1 ms, ret code 8, RSC 0       
! 3 3.4.0.4 1 ms, ret code 3

Device#traceroute mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid  verbose

Device#traceroute mpls multipath ipv4 4.4.4.4/32  fec-type ospf sr-path-type ip verbose
Type escape sequence to abort.
LL!
Path 0 found,
 output interface Et0/1 nexthop 1.2.0.2                              //path R1-R6-R7-R3
 source 1.1.1.1 destination 127.0.0.0
  0 1.2.0.1 1.2.0.2 MRU 1500 [Labels: 16666 Exp: 0] multipaths 0
L 1 1.2.0.2 2.4.0.4 MRU 1500 [Labels: 16666 Exp: 0] ret code 8, RSC 0 multipaths 1
L 2 2.4.0.4 4.6.0.6 MRU 1500 [Labels: implicit-null Exp: 0] ret code 8, RSC 0 multipaths 1
! 3 4.6.0.6, ret code 3 multipaths 0
LL!
Path 1 found,
 output interface Et0/2 nexthop 1.3.0.3                                 //path R1-R4-R5-R3
 source 1.1.1.1 destination 127.0.0.0
  0 1.3.0.1 1.3.0.3 MRU 1500 [Labels: 16666 Exp: 0] multipaths 0   
L 1 1.3.0.3 3.4.0.4 MRU 1500 [Labels: 16666 Exp: 0] ret code 8, RSC 0 multipaths 1
L 2 3.4.0.4 4.6.0.6 MRU 1500 [Labels: implicit-null Exp: 0] ret code 8, RSC 0 multipaths 1
! 3 4.6.0.6, ret code 3 multipaths 0

Paths (found/broken/unexplored) (2/0/0)
 Echo Request (sent/fail) (6/0)
 Echo Reply (received/timeout) (6/0)
 Total Time Elapsed 23 ms

Device#traceroute mpls multipath ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid verbose

CLI を使用したセグメント ルーティング OAM IS-IS の確認

次の ping コマンドは、基盤となるネットワークが IS-IS の場合の SR OAM を表示するために使用されます。


Device# ping mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type ip verbose

Device# ping mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type sid verbose

Device# ping mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type strict-sid verbose

Device# ping mpls ipv4 4.4.4.4/32 sr-path-type ip verbose

Device# ping mpls ipv4 4.4.4.4/32 sr-path-type sid verbose

Device# ping mpls ipv4 4.4.4.4/32 sr-path-type strict-sid verbose

次の traceroute コマンドは、基盤となるネットワークが IS-IS の場合の SR OAM を表示します。マルチパス オプションを有効にすると、すべての ECMP パスが返されます。


Device# traceroute mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type ip verbose

Device# traceroute mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type sid  verbose

Device# traceroute mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type strict-sid verbose

Device# traceroute mpls multipath ipv4 4.4.4.4/32  fec-type isis sr-path-type ip verbose

Device# traceroute mpls multipath ipv4 4.4.4.4/32 fec-type isis sr-path-type sid verbose

Device# traceroute mpls multipath ipv4 4.4.4.4/32 fec-type isis sr-path-type strict-sid verbose

IGP セグメント ID の MPLS Ping および Traceroute の確認

IGP の検証で次のコマンド SR ネットワークを使用します。


ping|traceroute mpls [multipath] ipv4 <prefix> [fec-type bgp |generic|ldp|isis|ospf] [sr-path-type ip|sid|strict-sid]

トンネル LSP が SR-TE LSP である場合は次のコマンドを使用して MPLS TE トンネル OAM を確認します。


ping|traceroute mpls traffic-eng tunnel <tunnelid>

セグメント ルーティング OAM サポートの機能情報

次の表に、このモジュールで説明した機能に関するリリース情報を示します。この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェア リリースだけを示しています。その機能は、特に断りがない限り、それ以降の一連のソフトウェア リリースでもサポートされます。

プラットフォームのサポートおよびシスコ ソフトウェア イメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator にアクセスするには、www.cisco.com/go/cfn に移動します。Cisco.com のアカウントは必要ありません。
表 1. セグメント ルーティング OAM サポートの機能情報

機能名

リリース

機能情報

セグメント ルーティング OAM サポート

Cisco IOS XE Release 3.17 S

セグメント ルーティング OAM 機能では、Nil-FEC(転送等価クラス)LSP Ping および Traceroute 機能のサポートを提供します。

Nil-FEC LSP ping および traceroute の操作は、単に通常の MPLS ping および traceroute の拡張機能です。

CLI を使用したセグメント ルーティング OAM の確認

Cisco IOS XE Everest 16.6.1

Cisco IOS XE Fuji 16.7.1

この機能は、セグメント ルーティング OAM 機能を検証するために必要なコマンド ライン インターフェイス(CLI)を提供します。ping および traceroute コマンドは IGP(OSPF SR、IS-IS SR)および SR-TE での操作および出力を表示します。

次のコマンドが導入または変更されました。

ping mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type ip verbose ping mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type sid verbose ping mpls ipv4 4.4.4.4/32 fec-type isis sr-path-type strict-sid verbose ping mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type ip verbose ping mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid verbose traceroute mpls traffic-eng tunnel 1005 verbose traceroute mpls ipv4 55.5.5.5/32 output interface tunnel1 force-explicit-null traceroute mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type ip verbose traceroute mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid verbose traceroute mpls multipath ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid verbose

Cisco IOS XE Fuji 16.7.1 では、この機能は Cisco 4000 シリーズ サービス統合型ルータでサポートされています。