Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Interop Tokyo 2025 ShowNet Team Memberで学んだSRv6を...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Interop Tokyo 2025 ShowNet Team Memberで学んだSRv6を基礎から丁寧に

Interop Tokyo 2025をきっかけにSRv6の学習を始めました。
私もまだ勉強中ですが…SRv6入門者のお役に立てたら嬉しいです。

2026/2/22 SEB SUMMIT発表資料

Avatar for miyukichi_ospf

miyukichi_ospf

February 22, 2026
Tweet

More Decks by miyukichi_ospf

Other Decks in Technology

Transcript

  1. @miyukichiOSPF 自己紹介 - 属性 - みゆ吉 - ネットワークエンジニア - Interop

    Tokyo 2025 ShowNet Team Member - 業務 - ネットワーク提案/構築/障害対応 - 製品問い合わせ回答 - 好きなこと - ラックづくり - 資格 - IPA(DB/SC/NW) 4
  2. @miyukichiOSPF ‒ Interop Tokyo ‒ 日本最大規模のネットワーク展示会 ‒ 毎年6月に3日間@幕張メッセ ‒ 来場者数約15万人

    ‒ ShowNet ‒ Interopのネットワーク構築プロジェクト ‒ 数多くのベンダー製品を相互接続 ‒ STM(ShowNet Team Member) ‒ ShowNet構築/運用/解体に携わるボランティア ‒ 企業や学校などから参加(40名程度) ‒ STMの活動はnoteで見れます Interop Tokyoとは 普段の業務で触れない製品/技術を学びたい!!の思いで STMとして参加しました 本日は通信事業者さんで利用される SRv6についてお話しします 5
  3. @miyukichiOSPF IPアドレスとネットワーク 11000000.10101000.00010100.00000000 .0 .20 .168 192 ネットワーク部 ホスト部 10進数

    2進数 11000000.10101000.00001010.00000000 .0 .10 .168 192 ネットワーク部 10進数 2進数 ホスト部 IPv6アドレス fcbb:bb00:b:1:c:2::/48 ネットワーク部 ホスト部 IPv4アドレス 7 /24 /24
  4. @miyukichiOSPF ‒ ルーティングテーブルを検索して転送する ‒ 「宛先」と「次に経由する機器(Next-hop)」の対応表のこと IPルーティングによる転送 S fcbb:bb00:f::/48 [1/0] via

    fcbb:bb00:c:1::1 ←RouterCだ! S fcbb:bb00:e::/48 [1/0] via fcbb:bb00:d:1::1 宛先 次に経由する機器 データ Dst IP:Router-F RouterC RouterE RouterB RouterD RouterA RouterF RouterF宛てのパケットはどこに送ればいいんだ…? 8
  5. @miyukichiOSPF →1台の機器に独立した複数のルーティングテーブルを作成する技術 機器内ではRD(Route Distinguisher)でVRFを識別する RDの表記は「数値:数値」 VRF(Virtual Routing and Forwarding) A社

    B社 A社 B社 VRF 1:1 192.168.10.0/24 VRF 1:2 192.168.10.0/24 VRF 2:1 192.168.20.0/24 VRF 2:2 192.168.30.0/24 RouterA RouterC A社内の通信 B社内の通信 RouterB 9
  6. @miyukichiOSPF ‒ A社とB社の通信経路は別経路にしたい(Policy-Based Routing) IPルーティングによる転送|ルーターの情報量増大 ISP内の通信網 B社 A社 A社 B社

    Next-hopを条件分岐… PE1 PE2 12 Next-hopを条件分岐… Next-hopを条件分岐… Next-hopを条件分岐… Next-hopを条件分岐… Next-hopを条件分岐…
  7. @miyukichiOSPF ISP内の通信網 ‒ ユーザー数に比例して全ルーターの条件分岐が複雑化 IPルーティングによる転送|ルーターの情報量増大 B社 A社 A社 B社 Z社

    Z社 … … 条件分岐が複雑化して、運用が大変… PE1 PE2 13 Next-hopを条件分岐… Next-hopを条件分岐… Next-hopを条件分岐… Next-hopを条件分岐… Next-hopを条件分岐… Next-hopを条件分岐…
  8. @miyukichiOSPF ISP内の通信網 IPルーティングによる転送|ルーターの情報量増大 A社 B社 A社 B社 ‒ 経由ルーターをPEで指定したい ‒

    全ルーターで条件分岐する必要はない PE1 PE2 A B PE2 データ B社 B→PE2 データ B社 データ B社 A→B→PE2 A→B→PE2で転送して 14
  9. @miyukichiOSPF SRv6による転送(ソースルーティング) PE1 PE2 データ fcbb:bb00:1:1::1 A B データ Src

    IP: 192.168.10.1 Dst IP: 192.168.30.1 Src IP: fcbb:bb00:1:1::1 Dst IP: fcbb:bb00:a:b:c:e001:: データ Src IP: 192.168.10.1 Dst IP: 192.168.30.1 Src IP: fcbb:bb00:1:1::1 Dst IP: fcbb:bb00:b:c:e001:: データ Src IP: 192.168.10.1 Dst IP: 192.168.30.1 Src IP: fcbb:bb00:1:1::1 Dst IP: fcbb:bb00:c:e001:: fcbb:bb00:a::1 fcbb:bb00:b::1 fcbb:bb00:c::1 15 fcbb:bb00:a::1 SRv6ネットワーク内で共通 機器ごとの識別子 VRF 1:2 192.168.10.0/24 A社 VRF 2:2 192.168.30.0/24 A社
  10. @miyukichiOSPF μSID(まいくろしっど)とは →SRv6ネットワーク内の経由ルーターや指示をIPv6アドレスに詰め込む技術 よく利用する指示(Behavior)が定義されている PE1 PE2 fcbb:bb00:1:1::1 RouterA RouterB fcbb:bb00:a::1

    fcbb:bb00:b::1 fcbb:bb00:c::1 データ Dst IP fcbb:bb00:a:b:c:e001:0000:0000 RouterAでEnd RouterBでEnd PE2でEnd.DT4 Dst IP: Behavior 動作 End 最短パスで転送 End.DT4 IPv4 VRFへ転送 VRF 1:2 192.168.10.0/24 A社 VRF 2:2 192.168.30.0/24 A社
  11. @miyukichiOSPF ‒ 既存のIPv6ネットワークを土管として再利用できる ‒ SRv6非対応ルーターはIPv6転送を行うだけ SRv6を利用するメリット ISP内の通信網 A社 B社 A社

    B社 PE1 PE2 A P PE2 データ B社 PE2 データ B社 データ B社 A→PE2 A→PE2で転送して P P SRv6対応 SRv6対応 SRv6対応 SRv6非対応ルーターは IPv6転送を行うだけ P 17
  12. @miyukichiOSPF (参考)Segment Routingについて ‒ Segment Routingってそもそも何? ‒ Segment = Instruction(命令、指示)のこと(RFC8402)

    ‒ 目的に応じて経由ルーターを指定できるのが特徴(ソースルーティング) ‒ Segment RoutingはSRv6以外にもあります ‒ SR-MPLS ‒ 従来から利用されている ‒ SR-IPv6 ‒ ここ数年で標準化が進む SR-MPLS SRv6 データプレーン MPLS IPv6 管理 IGP,MPLS,LDP,RSVPを利用 →管理の複雑化 IGP,SRv6を利用 →管理のシンプル化 中間ノード 全ノードがMPLS対応必須 中間ノードはSRv6対応不要 18
  13. @miyukichiOSPF A社 B社 A社 B社 通信までの流れ|通信のゴール VRF 1:1 192.168.10.0/24 VRF

    2:1 192.168.20.0/24 A/B社間でSRv6でVPN接続を提供したい… PE1 PE2 A社内の通信 B社内の通信 VRF 2:2 192.168.30.0/24 VRF 1:2 192.168.10.0/24 20
  14. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 1:1 192.168.10.0/24 VRF 2:1 192.168.20.0/24 A社 B社

    A社 B社 192.168.10.0/24 192.168.20.0/24 192.168.10.0/24 192.168.30.0/24 VRF間の経路情報は、MP-BGPで交換できる MP-BGP: →VRF間の経路(+付加情報)を交換できるBGP VRF 2:2 192.168.30.0/24 VRF 1:2 192.168.10.0/24 21 PE1 PE2
  15. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 1:1 192.168.10.0/24 VRF 2:1 192.168.20.0/24 MP-BGPテーブル 192.168.10.0/24

    192.168.10.0/24 MP-BGPテーブル 192.168.20.0/24 192.168.30.0/24 交換する情報をMP-BGPテーブルに載せる A社 B社 A社 B社 VRF 2:2 192.168.30.0/24 VRF 1:2 192.168.10.0/24 22 PE1 PE2
  16. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 1:1 192.168.10.0/24 VRF 2:1 192.168.20.0/24 MP-BGPテーブル 192.168.10.0/24

    192.168.10.0/24 MP-BGPテーブル 192.168.20.0/24 192.168.30.0/24 交換する情報をMP-BGPテーブルに載せる →VRF間で同じ経路があった場合、識別できない A社 B社 A社 B社 ここが重複 VRF 2:2 192.168.30.0/24 VRF 1:2 192.168.10.0/24 23 PE1 PE2
  17. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 2:1 192.168.20.0/24 VRF 2:2 192.168.30.0/24 MP-BGPテーブル 2:1:192.168.20.0/24

    2:2:192.168.30.0/24 MP-BGPテーブル 1:1:192.168.10.0/24 1:2:192.168.10.0/24 VRF 1:1 192.168.10.0/24 VRF 1:2 192.168.10.0/24 MP-BGPテーブルには「RD:経路」の形式で記載されます A社 B社 A社 B社 24 PE1 PE2 ※「RD:経路」の経路情報をVPNv4プレフィックスと呼びます
  18. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 2:1 192.168.20.0/24 VRF 2:2 192.168.30.0/24 MP-BGPテーブル 2:1:192.168.20.0/24

    2:2:192.168.30.0/24 MP-BGPテーブル 1:1:192.168.10.0/24 1:2:192.168.10.0/24 VRF 1:1 192.168.10.0/24 VRF 1:2 192.168.10.0/24 MP-BGPテーブルの内容を交換するためには MP-BGPでピア(隣接関係)を張らなきゃいけない ピアはIPアドレスで指定する A社 B社 A社 B社 MP-BGPテーブルを交換する相手を知らない 25 PE1 PE2
  19. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 2:1 192.168.20.0/24 VRF 2:2 192.168.30.0/24 MP-BGPテーブル 2:1:192.168.20.0/24

    2:2:192.168.30.0/24 MP-BGPテーブル 1:1:192.168.10.0/24 1:2:192.168.10.0/24 VRF 1:1 192.168.10.0/24 VRF 1:2 192.168.10.0/24 アンダーレイのIS-ISで機器本体のIPv6アドレスを交換する A社 B社 A社 B社 fcbb:bb00:b::1はfcbb:bb00:c::1の奥にいるようだ IPアドレスを交換 IPアドレスを交換 fcbb:bb00:a::1 fcbb:bb00:b::1 fcbb:bb00:c::1 26 PE1 PE2 ※Lo(ループバックインターフェース)のIPアドレスを交換します ※Loの経路交換にはIS-ISがよく利用されます
  20. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 A社 B社 A社 B社 fcbb:bb00:b::1とMP-BGPでピアリングする fcbb:bb00:a::1 fcbb:bb00:b::1 fcbb:bb00:c::1

    MP-BGPでピアリング オーバーレイネットワーク アンダーレイネットワーク ‒ ネットワークが重なる構造になっています ‒ アンダーレイネットワーク:実際に転送を行うネットワーク ‒ オーバーレイネットワーク:アンダーレイネットワーク上に構築される仮想的なネットワーク 27 PE1 PE2 IPアドレスを交換 IPアドレスを交換
  21. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 2:1 192.168.20.0/24 VRF 2:2 192.168.30.0/24 MP-BGPテーブル 2:1:192.168.20.0/24

    2:2:192.168.30.0/24 MP-BGPテーブル 1:1:192.168.10.0/24 1:2:192.168.10.0/24 2:1:192.168.20.0/24 2:2:192.168.30.0/24 MP-BGPで通知 VRF 1:1 192.168.10.0/24 VRF 1:2 192.168.10.0/24 MP-BGPでVRF内の経路を通知する A社 B社 A社 B社 28 PE1 PE2
  22. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 2:1 192.168.20.0/24 VRF 2:2 192.168.30.0/24 MP-BGPテーブル 2:1:192.168.20.0/24

    2:2:192.168.30.0/24 どのVRFの経路…? MP-BGPテーブル 1:1:192.168.10.0/24 1:2:192.168.10.0/24 2:1:192.168.20.0/24 2:2:192.168.30.0/24 MP-BGPで通知 VRF 1:1 192.168.10.0/24 VRF 1:2 192.168.10.0/24 MP-BGPで通知された経路の格納先VRFが分からない… どっち…? A社 B社 A社 B社 29 PE1 PE2
  23. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 1:1 import RT 3:1 192.168.10.0/24 192.168.20.0/24 VRF

    1:2 import RT 3:2 192.168.10.0/24 192.168.30.0/24 VRF 2:1 192.168.20.0/24 VRF 2:2 192.168.30.0/24 MP-BGPテーブル RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 MP-BGPテーブル 1:1:192.168.10.0/24 1:2:192.168.10.0/24 RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 MP-BGPで通知 経路通知にラベル(RT)を付与し、経路の格納先VRFを判断します A社 B社 A社 B社 30 ※Route Target PE1 PE2
  24. @miyukichiOSPF 通信までの流れ|VRF間の経路交換 VRF 1:1 import RT 3:1 192.168.10.0/24 192.168.20.0/24 VRF

    1:2 import RT 3:2 192.168.10.0/24 192.168.30.0/24 VRF 2:1 import RT 4:1 192.168.20.0/24 192.168.10.0/24 VRF 2:2 import RT 4:2 192.168.30.0/24 192.168.10.0/24 MP-BGPテーブル RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 MP-BGPテーブル RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 A社 B社 A社 B社 経路通知にラベル(RT)を付与し、経路の格納先VRFを判断します 31 ※Route Target PE1 PE2
  25. @miyukichiOSPF 通信までの流れ|SIDの通知 VRF 1:1 import RT 3:1 192.168.10.0/24 192.168.20.0/24 VRF

    1:2 import RT 3:2 192.168.10.0/24 192.168.30.0/24 VRF 2:1 import RT 4:1 192.168.20.0/24 192.168.10.0/24 VRF 2:2 import RT 4:2 192.168.30.0/24 192.168.10.0/24 MP-BGPテーブル RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 MP-BGPテーブル RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 A社 B社 A社 B社 fcbb:bb00:a::1 fcbb:bb00:b::1 32 PE1 PE2 A社間で通信が開始された データ fcbb:bb00:a::1
  26. @miyukichiOSPF 通信までの流れ|SIDの通知 VRF 1:1 import RT 3:1 192.168.10.0/24 192.168.20.0/24 VRF

    1:2 import RT 3:2 192.168.10.0/24 192.168.30.0/24 VRF 2:1 import RT 4:1 192.168.20.0/24 192.168.10.0/24 VRF 2:2 import RT 4:2 192.168.30.0/24 192.168.10.0/24 MP-BGPテーブル RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 MP-BGPテーブル RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 どのVRF宛ての通信…? A社 B社 A社 B社 fcbb:bb00:a::1 fcbb:bb00:b::1 33 PE1 PE2 データ fcbb:bb00:a::1
  27. @miyukichiOSPF 通信までの流れ|SIDの通知 VRF 1:1 import RT 3:1 192.168.10.0/24 192.168.20.0/24 VRF

    1:2 import RT 3:2 192.168.10.0/24 192.168.30.0/24 VRF 2:1 import RT 4:1 192.168.20.0/24 192.168.10.0/24 VRF 2:2 import RT 4:2 192.168.30.0/24 192.168.10.0/24 MP-BGPテーブル RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 fcbb:bb00:a::1 機器内でVRFごとのEnd.DT4に SIDを割り当てておく Local SIDテーブル fcbb:bb00:a:e001::→A社VRFへ転送 fcbb:bb00:a:e002::→B社VRFへ転送 Local SIDテーブル fcbb:bb00:b:e001::→A社VRFへ転送 fcbb:bb00:b:e002::→B社VRFへ転送 A社 B社 A社 B社 MP-BGPテーブル 1:1:192.168.10.0/24 RT 4:1 SID 6:1::A 1:2:192.168.10.0/24 RT 4:2 SID 6:1::B 2:1:192.168.20.0/24 RT 3:1 SID 6:1::C 2:2:192.168.30.0/24 RT 3:2 SID 6:1::D fcbb:bb00:b::1 34 PE1 PE2
  28. @miyukichiOSPF 通信までの流れ|SIDの通知 VRF 1:1 import RT 3:1 192.168.10.0/24 192.168.20.0/24 VRF

    1:2 import RT 3:2 192.168.10.0/24 192.168.30.0/24 VRF 2:1 import RT 4:1 192.168.20.0/24 192.168.10.0/24 VRF 2:2 import RT 4:2 192.168.30.0/24 192.168.10.0/24 MP-BGPテーブル RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 A社 B社 A社 B社 MP-BGPテーブル 1:1:192.168.10.0/24 RT 4:1 SID 6:1::A 1:2:192.168.10.0/24 RT 4:2 SID 6:1::B 2:1:192.168.20.0/24 RT 3:1 SID 6:1::C 2:2:192.168.30.0/24 RT 3:2 SID 6:1::D fcbb:bb00:b::1 VRFの経路交換のタイミングで MP-BGPでSIDを通知しておきます A社にはfcbb:bb00:a:e001::宛てに送ろう fcbb:bb00:a::1 35 PE1 PE2 Local SIDテーブル fcbb:bb00:a:e001::→A社VRFへ転送 fcbb:bb00:a:e002::→B社VRFへ転送 Local SIDテーブル fcbb:bb00:b:e001::→A社VRFへ転送 fcbb:bb00:b:e002::→B社VRFへ転送
  29. @miyukichiOSPF 通信までの流れ|SIDの通知 VRF 1:1 import RT 3:1 192.168.10.0/24 192.168.20.0/24 VRF

    1:2 import RT 3:2 192.168.10.0/24 192.168.30.0/24 VRF 2:1 import RT 4:1 192.168.20.0/24 192.168.10.0/24 VRF 2:2 import RT 4:2 192.168.30.0/24 192.168.10.0/24 MP-BGPテーブル RT 3:1 2:1:192.168.20.0/24 RT 3:2 2:2:192.168.30.0/24 RT 4:1 1:1:192.168.10.0/24 RT 4:2 1:2:192.168.10.0/24 A社 B社 A社 B社 データ fcbb:bb00:a:e001:: MP-BGPテーブル 1:1:192.168.10.0/24 RT 4:1 SID 6:1::A 1:2:192.168.10.0/24 RT 4:2 SID 6:1::B 2:1:192.168.20.0/24 RT 3:1 SID 6:1::C 2:2:192.168.30.0/24 RT 3:2 SID 6:1::D fcbb:bb00:b::1 fcbb:bb00:a::1 36 PE1 PE2 Local SIDテーブル fcbb:bb00:a:e001::→A社VRFへ転送 fcbb:bb00:a:e002::→B社VRFへ転送 Local SIDテーブル fcbb:bb00:b:e001::→A社VRFへ転送 fcbb:bb00:b:e002::→B社VRFへ転送 fcbb:bb00:a:e001::宛てならA社VRFへ転送!
  30. @miyukichiOSPF ‒ SRv6の特徴 ‒ 入口ルーターで経由ルーターを指定できる(ソースルーティング) ‒ μSIDを利用して宛先IPv6アドレスに経由ルーターや指示を書き込める ‒ Why SRv6

    here? ‒ 有識者が偏在したネットワーク技術が多くの方に親しまれるといいなと思っています ‒ SRv6の前に勉強した方がいいことは沢山あるんだけども ‒ このお話でネットワークに興味を持った人がいたら嬉しいです おわりに あとで感想などいただけたら嬉しいです!お気軽にお声がけください! 37