以下の内容はhttps://yokohama539.hatenablog.com/entry/2025/06/22/155207より取得しました。


vJunosでSegment Routingしてみた。~SRv6編その2~

前回に引き続き、vJunos-routerでSRv6を検証します。
今回はTraffic Engineering(SRv6-TE)を行ってみます。
例によってSRv6-TEの詳しい説明はせず、設定と動作確認に着目して進めたいと思います。
SRv6-TEの動作概要よくわからん!な人はKDDI総合研究所の資料の15スライド目からや、Cisco社員の資料を読むとなんとなく動作を理解できるかと思います(後者は英語ですが…)

1. SRv6-TE 構成

前回と同様のTopologyとなります。



(SrcがvJR-11でDstがvJR-21宛のIPv4パケットが)vJR-01からvJR-06へ通る際のTraffic EngineeringなPathを決めます。
今回はvJR-01→vJR-03→vJR-05→vJR-04→vJR-06を通るPathとします。

2. SRv6-TE 設定

それでは設定に入ります。
前提として前回の設定が完了していることとなります。
基本的にはSR-MPLSのTraffic Engineeringとほぼ同様の設定となります。

//vJR-01
set routing-options resolution preserve-nexthop-hierarchy
set routing-options forwarding-table srv6-chain-merge
set protocols source-packet-routing tunnel-tracking
set protocols source-packet-routing segment-list PRIMARY_TO_R6 srv6
set protocols source-packet-routing segment-list PRIMARY_TO_R6 HOP01 srv6-sid 539:0:0:3:1::
set protocols source-packet-routing segment-list PRIMARY_TO_R6 HOP02 srv6-sid 539:0:0:5:1::
set protocols source-packet-routing segment-list PRIMARY_TO_R6 HOP03 srv6-sid 539:0:0:4:1::
set protocols source-packet-routing segment-list PRIMARY_TO_R6 HOP04 srv6-sid 539:0:0:6:1::
set protocols source-packet-routing srv6
set protocols source-packet-routing source-routing-path TO_R6 srv6
set protocols source-packet-routing source-routing-path TO_R6 to 539:0:0:6:1::
set protocols source-packet-routing source-routing-path TO_R6 primary PRIMARY_TO_R6

SR-MPLSの設定に、いくつかSRv6特有の設定が追加である様なイメージです。

3. SRv6-TE 確認

確認をしていきます。
まずは設定したPathを確認します。

//vJR-01
lab@vJR-01# run show spring-traffic-engineering lsp detail | no-more
E = Entropy-label Capability

Name: TO_R6
  Tunnel-source: Static configuration
  Tunnel Forward Type: SRV6
  To: 539:0:0:6:1::
  From: 1:1:1::1
  Te-group-id: 0
  State: Up
    Path: PRIMARY_TO_R6
    Path Status: Up
    Outgoing interface: NA
    Auto-translate status: Disabled Auto-translate result: N/A
    Compute Status:Disabled , Compute Result:N/A , Compute-Profile Name:N/A
    BFD status: N/A BFD name: N/A
    BFD remote-discriminator: N/A
    Segment ID : 128
    ERO Valid: true
      SR-ERO hop count: 4
        Hop 1 (Loose):
          NAI: None
          SID type: srv6-sid, Value: 539:0:0:3:1::
        Hop 2 (Loose):
          NAI: None
          SID type: srv6-sid, Value: 539:0:0:5:1::
        Hop 3 (Loose):
          NAI: None
          SID type: srv6-sid, Value: 539:0:0:4:1::
        Hop 4 (Loose):
          NAI: None
          SID type: srv6-sid, Value: 539:0:0:6:1::


Total displayed LSPs: 1 (Up: 1, Down: 0, Initializing: 0)

StateがUpとなっており、Hop1~4が設定した通りのSIDとなっているため、問題なさそうです。

続いてCEネットワーク(221.221.221.0/24)宛の経路情報を確認します。

//vJR-01
lab@vJR-01# run show route 221.221.221.0/24

inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

221.221.221.0/24   *[BGP/170] 00:22:42, localpref 100, from 6:6:6::6
                      AS path: I, validation-state: unverified
                    >  to fe80::5201:ff:fe03:1 via ge-0/0/2.0, SRV6-Tunnel, Dest: 539:0:0:6:1::

SRV6-Tunnelが出力されてるので、SRv6にてRoutingをしてくれそうです。

もう少し詳しく確認します。

//vJR-01
lab@vJR-01# run show route 221.221.221.0/24 detail | no-more

inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden)
221.221.221.0/24 (1 entry, 1 announced)
        *BGP    Preference: 170/-101
                Next hop type: Indirect, Next hop index: 0
                Address: 0x8941b14
                Next-hop reference count: 2
                Kernel Table Id: 0
                Source: 6:6:6::6
                Next hop type: Chain, Next hop index: 0
        Next hop: via Chain Tunnel Composite, SRv6 (src 1:1:1::1 dest 539:0:0:6:1::)
        Next hop: ELNH Address 0x893cc14, selected
        SRV6-Tunnel: Reduced-SRH Encap-mode Remove-Last-Sid
         Src: 1:1:1::1 Dest: 539:0:0:6:1::
         Segment-list[0] 539:0:0:3:1::
         Segment-list[1] 539:0:0:5:1::
         Segment-list[2] 539:0:0:4:1::
         Segment-list[3] 539:0:0:6:1::
        Gateway opaque handle: 0xebf42a0
            Next hop type: Chain, Next hop index: 0
            Address: 0x893cc14
            Next-hop reference count: 5, Next-hop session id: 0
            Kernel Table Id: 0
            Next hop: via Chain Tunnel Composite, SRv6 (src 1:1:1::1 dest 539:0:0:3:1::)
            Next hop: ELNH Address 0x8941f14
            SRV6-Tunnel: Reduced-SRH Encap-mode Remove-Last-Sid
             Src: 1:1:1::1 Dest: 539:0:0:3:1::
             Segment-list[0] 539:0:0:3:1::
<snip>

Segment-list[0]~[3]が存在し、221.221.221.0/24宛へはTraffic Engineeringをするようになっています。
また、Next hopが539:0:0:3:1::となっており、First Hopへのパケット転送が(vJR-03へと)正しく行われそうです。

実際にvJR-11よりPingを飛ばします。

//vJR-11
lab@vJR-11# run ping 221.221.221.11 rapid count 10
PING 221.221.221.11 (221.221.221.11): 56 data bytes
!!!!!!!!!!
--- 221.221.221.11 ping statistics ---
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.833/3.389/3.819/0.271 ms

はい、Pingが無事に飛びました!

では、実際に期待通りのPathとなっているか確認します。
まず、vJR-01~vJR-03間のパケットを確認します。

設定通り、宛先IPv6アドレスが539:0:0:3:1::となっています。
また、SRHが付与されていますね。

続いて、vJR-03~vJR-05間のパケットを確認します。

宛先IPv6アドレスが539:0:0:5:1::となっています。
また、Segments Leftが1減少して2となっています(なので、Address[2]のSIDが宛先IPv6アドレスにセットされています)

続いて、vJR-05~vJR-04間のパケットを確認します。

宛先IPv6アドレスが539:0:0:4:1::となっています。
また、Segments Leftが1減少して1となっています(先ほど同様に、Address[1]のSIDが宛先IPv6アドレスにセットされています)

最後に、vJR-04~vJR-06間のパケットを確認します。

SRHがPopされ、宛先IPv6アドレスが539:0:0:6:1::なIPv4 over IPv6パケットとなっています。
これはvJR-04でEnd functionのFlavor PSPが効いてるっぽいですね。
(別の機会でFlavor USPでの挙動を検証したい…)

という訳でSRv6-TEによるTraffic Pathが無事できました!!

今回は以上です。
ここまでお読みくださり、ありがとうございました!!!!

4. 参考資料

Juniper Documentation - IS-IS User Guide - Understanding SRv6 Network Programming in IS-IS Networkswww.juniper.net
Juniper Documentation - IS-IS User Guide - Example: Configuring SRv6 Network Programming in IS-IS Networkswww.juniper.net
Juniper Day One Books "DAY ONE: INTRODUCTION TO SRV6" 主にChapter 10 PDF直リンク




以上の内容はhttps://yokohama539.hatenablog.com/entry/2025/06/22/155207より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14