この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Path Computation Element(PCE)コントローラを使用しないエリア間SR-TEの理解、設定、および確認の側面について説明します。
著者:Cisco TACエンジニア、Elvin Arias
このドキュメントには前提条件はありません。
このドキュメントに特有の要件はありません。
このドキュメントの情報は、Cisco IOS-XR®およびIOS-XE®に基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
Segment Routing Traffic Engineering(SR-TE)は、コアに状態セッションを形成することなく、トラフィックをコアを通過させる機能を提供します。SR-TE ポリシーは、セグメント ID(SID)リストと呼ばれるパスを指定するセグメントリストとして表されます。状態がパケット内にあり、SIDリストが一連の命令としてトランジットSR対応ルータによって処理されるため、シグナリングは必要ありません。
マルチドメインは、従来、明示的パスオプションでルーズネクストホップ拡張を使用して、Resource Reservation Protocol(RSVP)トラフィックエンジニアリング(RSVP-TE)で実装されてきました。計算を実行する場合、管理者は、Constrained Shortest Path First(CSPF)を介してエンドツーエンドの計算を可能にするために、エリア間インターネットプロトコル(IP)アドレスが緩やかに定義されたパスを作成します。
SR-TEにはルーズネクストホップの概念がないため、マルチドメインの計算では、これを実行する方法が問題になります。計算が可能であり、事実上の設計では、対応するマルチドメイン計算を実行するために集中型コントローラ(XTC、WAE、NOS)を配置します。ヘッドエンドから両端への計算のオフロードにより、デバイスはトポロジ全体を可視化することなくパスを計算できます。このPath Computation Element(PCE)エンティティが使用され、このエンティティはドメイン全体の可視性を持ち、計算を実行し、計算されたLSPを追跡します。
一時的にコントローラを持つことができず、セグメントルーティングコアでマルチドメインの計算が必要な場合は、異なる設定を実行して、エリア間シナリオでトンネルを確立できます。
SR-TEを使用すると、複数のパスタイプを定義できます。一般に、明示的パスとダイナミックパスと呼ばれます。ダイナミックおよび明示的なパスの場合は、SR-TEアルゴリズムを使用して、ダイナミックな基準(通常はテールエンドへのTEまたはIGPメトリック)に基づいてパスを計算します。明示的なパスでは、複数のタイプを定義できます。その中には、次の方法があります。
エリア間SR-TEポリシーを定義する場合、テールエンドへの明示的なパスを定義する必要があります。これは、トポロジ全体を可視化できないためです。エリア間SR-TEの場合は、次のようにポリシーを設定する必要があります。
注:ダイナミックなエリア間パスオプションが必要な場合、 パスの計算は、PCEエンティティに委任する必要があります。
次のケースでは、このOSPFエリア間トポロジを使用します。例は、エリア境界を越えるXR1からXR5へのSR-TEトンネルを計算する試みに基づいています。
注:SR-TEの例はOSPFに基づいていますが、IS-ISにも適用できます。
XR1 hostname XR1 icmp ipv4 rate-limit unreachable disable interface Loopback0 ipv4 address 1.1.1.1 255.255.255.255 ! interface Loopback1 ipv4 address 1.1.1.11 255.255.255.255 ! interface GigabitEthernet0/0/0/0.12 ipv4 address 12.0.0.1 255.255.255.0 encapsulation dot1q 12 ! router ospf 1 router-id 1.1.1.1 segment-routing mpls segment-routing forwarding mpls segment-routing sr-prefer address-family ipv4 area 12 mpls traffic-eng interface Loopback0 prefix-sid index 1 ! interface Loopback1 prefix-sid index 11 ! interface GigabitEthernet0/0/0/0.12 cost 100 network point-to-point ! ! mpls traffic-eng router-id Loopback0 ! mpls traffic-eng interface GigabitEthernet0/0/0/0.12 admin-weight 100 ! ! end
XR2 hostname XR2 logging console debugging explicit-path identifier 4 index 10 next-label 16004 ! interface Loopback0 ipv4 address 2.2.2.2 255.255.255.255 ! interface GigabitEthernet0/0/0/0.12 ipv4 address 12.0.0.2 255.255.255.0 encapsulation dot1q 12 ! interface GigabitEthernet0/0/0/0.23 ipv4 address 23.0.0.2 255.255.255.0 encapsulation dot1q 23 ! interface GigabitEthernet0/0/0/0.26 ipv4 address 26.0.0.2 255.255.255.0 encapsulation dot1q 26 ! router ospf 1 router-id 2.2.2.2 segment-routing mpls segment-routing forwarding mpls segment-routing sr-prefer address-family ipv4 area 0 mpls traffic-eng interface Loopback0 prefix-sid index 2 ! interface GigabitEthernet0/0/0/0.23 cost 100 network point-to-point ! ! area 12 mpls traffic-eng interface GigabitEthernet0/0/0/0.12 cost 100 network point-to-point ! ! area 246 mpls traffic-eng interface GigabitEthernet0/0/0/0.26 cost 200 network point-to-point ! ! mpls traffic-eng router-id Loopback0 ! mpls oam ! mpls traffic-eng interface GigabitEthernet0/0/0/0.12 admin-weight 100 ! interface GigabitEthernet0/0/0/0.23 admin-weight 100 ! interface GigabitEthernet0/0/0/0.26 admin-weight 1 ! ! end
XR3 hostname XRv3 interface Loopback0 ipv4 address 3.3.3.3 255.255.255.255 ! interface MgmtEth0/0/CPU0/0 shutdown ! interface GigabitEthernet0/0/0/0.23 ipv4 address 23.0.0.3 255.255.255.0 encapsulation dot1q 23 ! interface GigabitEthernet0/0/0/0.34 ipv4 address 34.0.0.3 255.255.255.0 encapsulation dot1q 34 ! router ospf 1 router-id 3.3.3.3 segment-routing mpls segment-routing forwarding mpls segment-routing sr-prefer address-family ipv4 area 0 mpls traffic-eng interface Loopback0 prefix-sid index 3 ! interface GigabitEthernet0/0/0/0.23 cost 100 network point-to-point ! interface GigabitEthernet0/0/0/0.34 cost 100 network point-to-point ! ! mpls traffic-eng router-id Loopback0 ! mpls oam ! mpls traffic-eng interface GigabitEthernet0/0/0/0.23 admin-weight 100 ! interface GigabitEthernet0/0/0/0.34 admin-weight 100 ! ! end
XR4 hostname XR4 interface Loopback0 ipv4 address 4.4.4.4 255.255.255.255 ! interface GigabitEthernet0/0/0/0.34 ipv4 address 34.0.0.4 255.255.255.0 encapsulation dot1q 34 ! interface GigabitEthernet0/0/0/0.45 ipv4 address 45.0.0.4 255.255.255.0 encapsulation dot1q 45 ! interface GigabitEthernet0/0/0/0.46 ipv4 address 46.0.0.4 255.255.255.0 encapsulation dot1q 46 ! router ospf 1 distribute bgp-ls router-id 4.4.4.4 segment-routing mpls segment-routing forwarding mpls segment-routing sr-prefer address-family ipv4 area 0 mpls traffic-eng interface Loopback0 prefix-sid index 4 ! interface GigabitEthernet0/0/0/0.34 cost 100 network point-to-point ! ! area 45 mpls traffic-eng interface GigabitEthernet0/0/0/0.45 cost 100 network point-to-point ! ! area 246 mpls traffic-eng interface GigabitEthernet0/0/0/0.46 cost 200 network point-to-point ! ! mpls traffic-eng router-id Loopback0 ! mpls oam ! mpls traffic-eng interface GigabitEthernet0/0/0/0.34 admin-weight 100 ! interface GigabitEthernet0/0/0/0.45 admin-weight 100 ! interface GigabitEthernet0/0/0/0.46 admin-weight 1 ! ! end
XR5 hostname XRv5 interface Loopback0 ipv4 address 5.5.5.5 255.255.255.255 ! interface Loopback1 ipv4 address 5.5.5.55 255.255.255.255 ! interface GigabitEthernet0/0/0/0.45 ipv4 address 45.0.0.5 255.255.255.0 encapsulation dot1q 45 ! router ospf 1 router-id 5.5.5.5 segment-routing mpls segment-routing forwarding mpls segment-routing sr-prefer address-family ipv4 area 45 mpls traffic-eng interface Loopback0 prefix-sid index 5 ! interface Loopback1 prefix-sid index 55 ! interface GigabitEthernet0/0/0/0.45 cost 100 network point-to-point ! ! mpls traffic-eng router-id Loopback0 ! mpls oam ! mpls traffic-eng interface GigabitEthernet0/0/0/0.45 admin-weight 100 ! ! end
XR6 hostname XR6 icmp ipv4 rate-limit unreachable disable interface Loopback0 ipv4 address 6.6.6.6 255.255.255.255 ! interface GigabitEthernet0/0/0/0.26 ipv4 address 26.0.0.6 255.255.255.0 encapsulation dot1q 26 ! interface GigabitEthernet0/0/0/0.46 ipv4 address 46.0.0.6 255.255.255.0 encapsulation dot1q 46 ! router ospf 1 router-id 6.6.6.6 segment-routing mpls segment-routing forwarding mpls segment-routing sr-prefer address-family ipv4 area 246 mpls traffic-eng interface Loopback0 prefix-sid index 6 ! interface GigabitEthernet0/0/0/0.26 cost 200 network point-to-point ! interface GigabitEthernet0/0/0/0.46 cost 200 network point-to-point ! ! mpls traffic-eng router-id Loopback0 ! mpls oam ! mpls traffic-eng interface GigabitEthernet0/0/0/0.26 admin-weight 1 ! interface GigabitEthernet0/0/0/0.46 admin-weight 1 ! ! end
OSPFドメイン内のデバイスはLSP間にLSPを構築しています。XR1 ~ XR5の間のLSPをチェックすることで、これを確認できます。
RP/0/0/CPU0:XR1#ping mpls ipv4 5.5.5.5/32 fec-type generic verbose
Sending 5, 100-byte MPLS Echos to 5.5.5.5/32, 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 rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. ! size 100, reply addr 45.0.0.5, return code 3 ! size 100, reply addr 45.0.0.5, return code 3 ! size 100, reply addr 45.0.0.5, return code 3 ! size 100, reply addr 45.0.0.5, return code 3 ! size 100, reply addr 45.0.0.5, return code 3 Success rate is 100 percent (5/5), round-trip min/avg/max = 1/6/10 ms
5.5.5.5/32に対応するXR5 prefix-SIDへのパスを計算するために、XR1からSR-TEポリシーを作成します。プレフィクス5.5.5.5/32には5のインデックスが設定されています。これはPCALCに提供する唯一のラベルです。
注:トポロジ内のすべてのルータのSRGBブロックは同じです。
explicit-path name CASE1 index 10 next-label 16005 ! interface tunnel-te15 ipv4 unnumbered Loopback0 autoroute destination 5.5.5.5 destination 5.5.5.5 path-selection metric te segment-routing adjacency unprotected ! path-option 1 explicit name CASE1 segment-routing !
注:エリア間のケースでは、自動ルートアナウンスは機能しません。
計算の入力としてSIDリストを指定すると、最初のラベルだけが検証され、この条件が満たされるとトンネルがアップします。トンネルを確認すると、アップ状態でルーティングが実行されていることがわかります。
RP/0/0/CPU0:XR1#show mpls traffic-eng tunnels segment-routing p2p 15 Name: tunnel-te15 Destination: 5.5.5.5 Ifhandle:0x130 Signalled-Name: XR1_t15 Status: Admin: up Oper: up Path: valid Signalling: connected path option 1, (Segment-Routing) type explicit CASE1 (Basis for Setup) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Mon Nov 26 02:14:33 2018 (00:14:34 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (interface) Path Selection: Tiebreaker: Min-fill (default) Protection: Unprotected Adjacency Hop-limit: disabled Cost-limit: disabled Path-invalidation timeout: 10000 msec (default), Action: Tear (default) AutoRoute: disabled LockDown: disabled Policy class: not set Forward class: 0 (default) Forwarding-Adjacency: disabled Autoroute Destinations: 1 Loadshare: 0 equal loadshares Auto-bw: disabled Path Protection: Not Enabled BFD Fast Detection: Disabled Reoptimization after affinity failure: Enabled SRLG discovery: Disabled History: Tunnel has been up for: 00:04:43 (since Mon Nov 26 02:24:24 UTC 2018) Current LSP: Uptime: 00:04:43 (since Mon Nov 26 02:24:24 UTC 2018) Prior LSP: ID: 5 Path Option: 1 Removal Trigger: tunnel shutdown Segment-Routing Path Info (OSPF 1 area 12) Segment0[Node]: 5.5.5.5, Label: 16005 Displayed 1 (of 1) heads, 0 (of 0) midpoints, 0 (of 0) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
注:PCALCイベントは、debug mpls traffic-eng path lookupコマンドで確認できます。
グローバルRIBを確認すると、トンネルインターフェイス15を介して5.5.5.5/32へのルーティングが設定されていることがわかります。
RP/0/0/CPU0:XR1#show route 5.5.5.5 Routing entry for 5.5.5.5/32 Known via "te-client", distance 2, metric 401 (connected) Installed Nov 26 02:24:24.336 for 00:07:03 Routing Descriptor Blocks directly connected, via tunnel-te15 Route metric is 401 No advertising protos.
LFIBを確認すると、tunnel-te15がインストールされ、転送の準備ができていることがわかります。
RP/0/0/CPU0:XR1#ping 5.5.5.5 source 1.1.1.1 repeat 100 size 1500 Type escape sequence to abort. Sending 100, 1500-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Success rate is 100 percent (100/100), round-trip min/avg/max = 9/12/19 ms
RP/0/0/CPU0:XR1#show mpls forwarding tunnels detail Tunnel Outgoing Outgoing Next Hop Bytes Name Label Interface Switched ------------- ----------- ------------ --------------- ------------ tt15 (SR) 16005 Gi0/0/0/0.12 12.0.0.2 150400 Updated: Nov 26 02:24:24.357 Version: 200, Priority: 2 Label Stack (Top -> Bottom): { 16005 } NHID: 0x0, Encap-ID: N/A, Path idx: 0, Backup path idx: 0, Weight: 0 MAC/Encaps: 18/22, MTU: 1500 Packets Switched: 100 Interface Name: tunnel-te15, Interface Handle: 0x00000130, Local Label: 24003 Forwarding Class: 0, Weight: 0 Packets/Bytes Switched: 100/150000
エリア間のSR-TEポリシーを定義する場合、ラベルとIPv4アドレスを混在させることができます。PCALCがテールエンドへのパスを正常に計算するには、計算に使用するIPv4アドレスがエリアのローカルである必要があります。また、エリア外の要素には、プレフィックス隣接関係SIDを指定する必要があります。
explicit-path name CASE2 index 10 next-address strict ipv4 unicast 12.0.0.2 index 20 next-label 16006 index 50 next-label 16005 ! interface tunnel-te15 ipv4 unnumbered Loopback0 autoroute destination 5.5.5.5 destination 5.5.5.5 path-selection metric te segment-routing adjacency unprotected ! path-option 1 explicit name CASE2 segment-routing !
前述のとおり、PCALCに対して、パスはXR6(16006)を経由し、最後のプレフィクスSID(16005)を経由する必要があることを示しています。 トンネルの計算結果を確認します。計算方法を確認できます。
RP/0/0/CPU0:XR1#show mpls traffic-eng tunnels segment-routing p2p 15 Name: tunnel-te15 Destination: 5.5.5.5 Ifhandle:0x130 Signalled-Name: XR1_t15 Status: Admin: up Oper: up Path: valid Signalling: connected path option 1, (Segment-Routing) type explicit CASE2 (Basis for Setup) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Mon Nov 26 02:14:33 2018 (00:40:44 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (interface) Path Selection: Tiebreaker: Min-fill (default) Protection: Unprotected Adjacency Hop-limit: disabled Cost-limit: disabled Path-invalidation timeout: 10000 msec (default), Action: Tear (default) AutoRoute: disabled LockDown: disabled Policy class: not set Forward class: 0 (default) Forwarding-Adjacency: disabled Autoroute Destinations: 1 Loadshare: 0 equal loadshares Auto-bw: disabled Path Protection: Not Enabled BFD Fast Detection: Disabled Reoptimization after affinity failure: Enabled SRLG discovery: Disabled History: Tunnel has been up for: 00:08:47 (since Mon Nov 26 02:46:30 UTC 2018) Current LSP: Uptime: 00:00:10 (since Mon Nov 26 02:55:07 UTC 2018) Reopt. LSP: Last Failure: LSP not signalled, identical to the [CURRENT] LSP Date/Time: Mon Nov 26 02:52:43 UTC 2018 [00:02:34 ago] Prior LSP: ID: 9 Path Option: 1 Removal Trigger: reoptimization completed Segment-Routing Path Info (OSPF 1 area 12) Segment0[Link]: 12.0.0.1 - 12.0.0.2, Label: 24001 Segment1[Node]: 6.6.6.6, Label: 16006 Segment2[Node]: 5.5.5.5, Label: 16005 Displayed 1 (of 1) heads, 0 (of 0) midpoints, 0 (of 0) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads
tracerouteを使用すると、XR6を効率的に通過するネクストホップを確認できます。
RP/0/0/CPU0:XR1#traceroute 5.5.5.5 source 1.1.1.1 Type escape sequence to abort. Tracing the route to 5.5.5.5 1 12.0.0.2 [MPLS: Labels 16006/16005 Exp 0] 9 msec 0 msec 0 msec 2 26.0.0.6 [MPLS: Label 16005 Exp 0] 0 msec 0 msec 0 msec 3 46.0.0.4 [MPLS: Label 16005 Exp 0] 0 msec 9 msec 0 msec 4 45.0.0.5 9 msec * 9 msec
プレフィクスSIDを定義し、最適でないトラフィックパターンやループトラフィックパターンを形成する状況があります。この場合、このシナリオを作成します。
explicit-path name CASE3 index 10 next-address strict ipv4 unicast 12.0.0.2 index 20 next-label 16006 index 30 next-label 16002 index 40 next-label 16003 index 50 next-label 16005
!
interface tunnel-te15
ipv4 unnumbered Loopback0
autoroute destination 5.5.5.5
destination 5.5.5.5
path-selection
metric te
segment-routing adjacency unprotected
!
path-option 1 explicit name CASE3 segment-routing
prefix-SIDに基づいて、トラフィックがXR6 -> XR2 -> XR3 -> XR5のプレフィクスSIDを通過することが確認できます。
RP/0/0/CPU0:XR1#show mpls traffic-eng tunnels segment-routing p2p 15 Admin: up Oper: up Path: valid Signalling: connected path option 1, (Segment-Routing) type explicit CASE3 (Basis for Setup)
<<Output omitted>>
Segment-Routing Path Info (OSPF 1 area 12) Segment0[Link]: 12.0.0.1 - 12.0.0.2, Label: 24001 Segment1[Node]: 6.6.6.6, Label: 16006 Segment2[Node]: 2.2.2.2, Label: 16002 Segment3[Node]: 3.3.3.3, Label: 16003 Segment4[Node]: 5.5.5.5, Label: 16005 Displayed 1 (of 1) heads, 0 (of 0) midpoints, 0 (of 0) tails
5.5.5.5/32へのパスをトレースすると、XR2とXR6の間にループが形成されていることがわかります。これは最適ではありませんが、LSPが正しく設定されているため、問題なくXR5 5.5.5.5/32にルーティングできます。
RP/0/0/CPU0:XR1#traceroute 5.5.5.5 source 1.1.1.1 Type escape sequence to abort. Tracing the route to 5.5.5.5 1 12.0.0.2 [MPLS: Labels 16006/16002/16003/16005 Exp 0] 19 msec 19 msec 9 msec 2 26.0.0.6 [MPLS: Labels 16002/16003/16005 Exp 0] 9 msec 9 msec 9 msec 3 26.0.0.2 [MPLS: Labels 16003/16005 Exp 0] 9 msec 9 msec 9 msec 4 23.0.0.3 [MPLS: Label 16005 Exp 0] 9 msec 9 msec 9 msec 5 34.0.0.4 [MPLS: Label 16005 Exp 0] 9 msec 9 msec 9 msec 6 45.0.0.5 9 msec * 9 msec
Segment Routing Traffic Engineering(STE;セグメントルーティングトラフィックエンジニアリング)でPCEなしでマルチドメインポリシーを作成する場合、リンクステートデータベースの完全なビューがないため、可視性が不足するため、特定のルーティング要件を満たす明示的なパスを設定する必要があります。エリア間トンネルは可能であり、ローカルエリアでIPv4アドレス、隣接関係SID、および/またはプレフィックスSIDを持つ明示的なパスを定義し、中継デバイスのプレフィックスSIDおよび/またはSR-TEポリシーの末尾を持ちます。他の明示的なパス定義は失敗します。