SRv6の現状と展望
ENOG53@上越 | 2018/10/19
株式会社トヨタIT開発センター
海老澤 健太郎
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 3
https://www.linkedin.com/in/ebiken/
コネクティッドカー向け
次世代ネットワークの研究
(データ収集&解析基盤)
データセンター
(データ解析基盤)
携帯網 固定網
Edge
Computing
5G/4G WiFi
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 4
コネクティッドカー向け
次世代ネットワークの研究
(データ収集&解析基盤)
データプレーン
プログラマビリティ
(P4,eBPF,XDP)
+
https://www.linkedin.com/in/ebiken/
次世代プロトコルの試作・検証
(次世代=標準化前)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 5
携帯網(モバイル)
(5G/4G etc.)
固定網+WiFi
(Cable/ISP etc.)
データセンター内
ネットワーク
固定
+
携帯
(FMC)
データセンター
(データ解析基盤)
携帯網 固定網
Edge
Computing
5G/4G WiFi
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 6
携帯網(モバイル)
(5G/4G etc.)
固定網+WiFi
(Cable/ISP etc.)
データセンター内
ネットワーク
固定
+
携帯
(FMC)
データセンター
(データ解析基盤)
携帯網 固定網
Edge
Computing
5G/4G WiFi
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 7
5G + SRv6 キャリアの取り組み
ITMedia: http://www.itmedia.co.jp/mobile/articles/1805/24/news143.html
「4Gと5Gは似て非なるもの、全く違う世界が始まる」
ソフトバンク宮川氏が5GやIoTの取り組みを説明
SRv6を用いた Mobile Edge Computing
(MEC) や新サービス実現に向けた取り組み
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 8
5G User Plane + SRv6 @ 3GPP
https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3403
次世代モバイル(5G)
ユーザープレーン プロトコル候補
( Candidate )
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 9
5G User Plane + SRv6 @ IETF
実証実験
SRv6をモバイル網ユーザプレーン
プロトコルとして利用する提案
プロトコル&アーキテクチャ分析
Distributed Mobility Management (dmm)
https://datatracker.ietf.org/wg/dmm/
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 10
携帯網(モバイル)
(5G/4G etc.)
固定網+WiFi
(Cable/ISP etc.)
データセンター内
ネットワーク
固定
+
携帯
(FMC)
データセンター
(データ解析基盤)
携帯網 固定網
Edge
Computing
5G/4G WiFi
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 11
“Comcast and The Smarter Network with John Leddy”
Recorded at Segment Routing Field Day on June 21, 2016
https://techfieldday.com/appearance/comcast-presents-at-segment-routing-field-day/
Cable TV & ISP
“LinkedIn OpenFabric Project – Interop 2017”
https://www.slideshare.net/shawnzandi/linkedin-openfabric-project-interop-2017
Data Center
Segment Routing
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 12
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 13
Segment Routing とは?
ソースノードが経由する Segment ID(SID) の
リストをパケットヘッダに挿入(エンコード)
残りのノードはエンコードされた
“命令(Instruction)” を実行
Diagram from http://www.segment-routing.net/A
Segment Routing = Source Routing (の1種)
最短経路 “以外” の経路を指定することが可能
Segment Routing
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 14
SRが実現する様々なネットワーク機能
ネットワークのポリシーを(中継ノードではなく)
パケットヘッダに保持し転送
ネットワーク仮想化
(Slicing, VPN, テナント分離)
トラフィックエンジニアリング
(Software Defined Network)
ネットワークのプロテクション
(Fast Reroute)
ネットワーク プログラマビリティ
Segment Routing
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 15
データプレーン
MPLS と IPv6 2種類のデータプレーン
SR-MPLS
MPLSラベル
で Segmentのリストを表現
SRv6
IPv6拡張ヘッダ
で Segmentのリストを表現
Segment Routing
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 16
データプレーン
MPLS と IPv6 2種類のデータプレーン
SRv6
IPv6拡張ヘッダ
で Segmentのリストを表現
今回はこちら
※ Segment Routing の詳細や SR-MPLSに関しては
“JANOG40 pre Segment Routingチュートリアル” をご参考に
https://www.janog.gr.jp/meeting/janog40/program/sr
SRv6
Segment Routing for IPv6 data plane
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 18
SRv6 Basics
• 6MAN (IPv6 Maintenance)
• IPv6 Segment Routing Header (SRH) (draft-ietf-6man-segment-routing-header)
=> IPv6 Segment Routing Header の定義 (In WG Last Call)
• SPRING (Source Packet Routing in Networking)
• RFC 8354 (2018-03-28) Use Cases for IPv6 Source Packet Routing in Networking (SPRING)
• RFC 8402 (2018-07-24) Segment Routing Architecture
• SRv6 Network Programming (draft-filsfils-spring-srv6-network-programming-05)
• SRv6 Mobility Use-Cases (draft-camarilloelmalky-springdmm-srv6-mob-usecases-00)
• Operations, Administration, and Maintenance (OAM) in Segment Routing Networks with IPv6 Data plane
(SRv6) (draft-ali-spring-srv6-oam-01)
• NSH and Segment Routing Integration for Service Function Chaining (SFC) (draft-guichard-spring-nsh-sr-00)
• DMM (Distributed Mobility Management)
• Segment Routing IPv6 for Mobile User Plane (draft-ietf-dmm-srv6-mobile-uplane-02)
• Segment Routing IPv6 for mobile user-plane PoCs (draft-camarillo-dmm-srv6-mobile-pocs-00)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 19
SRv6標準化状況 @ IETF
draft-ietf-xxx: Working Group Draft | draft-xxx: Personal Draft
SRv6 Basics
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 20
ノードの種類と役割
#1
#4
#2 #3
#5
SR End node “MyLocalSID Table” にパケットの宛先アドレス(DA)が含まれるノード
Source SR node IPv6 Segment Routing Headers (SRH) 付きパケットを生成するノード
Transit node
SRv6 をサポートしていないノードや、パケットの宛先アドレス(DA)が
ノードのアドレスではない もしくは “MyLocalSID Table” に含まれないノード
エンドノードは最終目的地で
ある必要は無い
1. ソースノード
(SRH付きパケット
を生成したホスト)
2. ソースノード
(受信したパケットをSRH付きIPヘッ
ダでカプセルしたGateway)
4. エンドノード
複数のSIDを持っても良い
3. トランジットノード
SRHを理解(サポート)し
ている必要は無い
※ SRを理解する・しない
トランジットノードがある。
SRv6 basics
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 22
Segment Routing Header (SRH)
IPv6
Header
IPv6
Extension
Header
Payload
• Routing Type
• 4 (Segment Routing)
• Segments Left
• 次の Segment へのインデックス
(Pointer)
• エンドノードで減らされる
• Last Entry
• Segment List の最初のSegment
へのインデックス
• Segment List
• 最後~最初の順にエンコードされ
た Segment 列 (Segment List [0]
は最後に到達する Segment)
Reference: draft-ietf-6man-segment-routing-header
SRv6 basics
• Segment List: <S1, S2, S3>
• S1, S2, S3: 1st, 2nd, 3rd の segment
• IP Packet: (SA,DA) (S3, S2, S1; SL)
• SA, DA: Source, Destination Address
• SRH with SID list <S1, S2, S3>
• SL: Segments Left
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 23
SID List の記述方法
S1
S2
S3
SL
参照:“SRv6 Network Programming” Internet-Draft document
draft-filsfils-spring-srv6-network-programming
注:segment の順番が <...> と (...) で逆!!
SRv6 basics
“ノード” が持つ機能を “function” と呼び、
1ノードに複数のfunction(segment id)を持つことがある
• Transit function ⇒ SRHを付与(SRv6サポートしてる場合)
• パケットの宛先(DA)がノードのアドレスではない
• パケットの宛先(DA)がノードの “My Local SID Table” に載ってない
• (SRv6をサポートしてない)
• End function ⇒ 宛先(DA)に基づき処理する
• パケットの宛先(DA)がノードの “My Local SID Table” に載っている
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 24
End vs Transit function
SRv6 basics
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 25
Transit functions
Function Description
T Forwards the packet without inspecting the SRH
T.Insert Transit behavior with insertion of an SRv6 Policy
T.Encaps Transit behavior with encapsulation in an SRv6 policy
T.Encaps.L2 T.Encaps behavior of the received L2 frame
#1
#4
#2 #3
#5
挿入
カプセル化
2種類の
SRH付与方法
SRv6 basics
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 26
Transit functions (T.Insert)
a
#1
b #4
#2 #3
#5
d
c
IPv6 Payload
IPv6 PayloadSRH (SA:a, DA: #1)(d, #5, #3, #2, #1; SL=4)
Next SegmentDestination Host
(SA:a, DA: d)
SRv6 basics
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 27
Transit functions (T.Encaps)
IPv6 Payload
IPv6 PayloadSRH IPv6 (SA:b, DA: #4)(#3, #2, #4; SL=2)(SA:b, DA: c)
a
#1
b #4
#2 #3
#5
d
c
Next Segment
(SA:b, DA: c)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 28
SRv6 basics
Inline mode Encap mode
最終宛先は SID[0] 最終宛先はカプセル
化されたIPヘッダの中
パケット構造の例(Wireshark)
IP + SRH + ICMP IP + SRH + IP + ICMP
SRv6 basics
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 29
End functions (End)
End: 宛先(DA)を next segment が指すSIDで更新しパケットを転送
IPv6
IPv6 PayloadSRH
(SA:a, DA: #1)(d, #5, #3, #2, #1; SL=4)PayloadSRH
(SA:a, DA: #2)(d, #5, #3, #2, #1; SL=3)
a
#1
b #4
#2 #3
#5
d
c
Next Segment
SRv6 basics
• IS-IS Extensions to Support Routing over IPv6 Dataplane
• https://datatracker.ietf.org/doc/draft-bashandy-isis-srv6-extensions/
• BGP Link State extensions for IPv6 Segment Routing(SRv6)
• https://datatracker.ietf.org/doc/draft-dawra-idr-bgpls-srv6-ext/
• BGP Signaling of IPv6-Segment-Routing-based VPN Networks
• https://datatracker.ietf.org/doc/draft-dawra-idr-srv6-vpn/
• OSPFv3 Extensions for SRv6
• https://datatracker.ietf.org/doc/draft-li-ospf-ospfv3-srv6-extensions/
• LISP Control Plane for SRv6 Endpoint Mobility
• https://datatracker.ietf.org/doc/draft-rodrigueznatal-lisp-srv6/
• PCEP Extensions for Segment Routing leveraging the IPv6 data plane
• https://datatracker.ietf.org/doc/draft-negi-pce-segment-routing-ipv6/
• Protocol for Forwarding Policy Configuration (FPC) in DMM
• https://datatracker.ietf.org/doc/draft-ietf-dmm-fpc-cpdp/
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 30
SRv6 のコントロールプレーン
LISP: Locator/ID Separation Protocol
PCEP: Path Computation Element (PCE) Communication Protocol
ルーティングプロトコル
を用いた制御
コントローラー
を用いた制御
SRv6 Network Programmability
ネットワーク プログラマビリティ
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 31
SRv6 Network Programmability
• SID は 128bit で IPv6 アドレスと類似だが、異なる意味的も持つ
• LOC, FUNC, ARGS は可変 ⇒ ARGS は無い(0 length)場合もある
• SID はそのSIDを持つノードへパケットを転送するために利用される
• FUNC, ARGS も Prefix の一部となりうる(例:LOC:FUNC:ARGS/128を広報)
• Local SID はノードのインターフェースIPv6アドレスでも良い(ノードのイン
ターフェースに属さなくても良い)
(インターフェースアドレスとしては利用しないほうが混乱は少ない?)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 32
SRv6 SID (Segment ID) format
128bits
LOC (locator) FUNC (function) ARGS (arguments)
Reference: draft-filsfils-spring-srv6-network-programming
SRv6 Network Programmability
• draft-filsfils-spring-srv6-network-programming
• https://datatracker.ietf.org/doc/draft-filsfils-spring-srv6-network-programming/
• SRv6 Network Programming および関連した Function の大元となる文書
• draft-ietf-dmm-srv6-mobile-uplane
• https://datatracker.ietf.org/doc/draft-ietf-dmm-srv6-mobile-uplane/
• SRv6をモバイル網で利用する時に必要な Function およびユースケースを記載
• GTP から SRv6 へマイグレーションする際のシナリオを含む
• draft-xuclad-spring-sr-service-programming
• https://datatracker.ietf.org/doc/draft-xuclad-spring-sr-service-programming/
• Service Chaining 向けの Function を記載
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 33
Function の定義されている場所
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 34
SRv6 Network Programmability
End Endpoint
Xconnect End.X Endpoint with Layer-3 cross-connect
Table Lookup End.T Endpoint with specific IPv6 table lookup
Search End.S Endpoint in search of a target in table T
Decaps
+ Xconnect
End.DX6 Endpoint with decapsulation and IPv6 crossconnect
End.DX4 Endpoint with decapsulation and IPv4 crossconnect
End.DX2 Endpoint with decapsulation and Layer-2 crossconnect
End.DX2V Endpoint with decapsulation and VLAN L2 table lookup
Decaps
+ Table Lookup
End.DT6 Endpoint with decapsulation and specific IPv6 table lookup
End.DT4 Endpoint with decapsulation and specific IPv4 table lookup
End.DT46 Endpoint with decapsulation and specific IP table lookup
End.DT2U Endpoint with decapsulation and unicast MAC L2 table lookup
End.DT2M Endpoint with decapsulation and L2 table flooding
Binding
End.B6[.Red] Endpoint bound to an SRv6 policy
End.B6.Encaps[.Red] Endpoint bound to an SRv6 encapsulation policy
End.BM Endpoint bound to an SR-MPLS policy
T Transit behavior
Insert
T.Insert Transit with insertion of an SRv6 Policy
T.Insert.Red Transit with reduced insertion of an SRv6 Policy
Encaps
T.Encaps Transit with encapsulation in an SRv6 Policy
T.Encaps.Red Transit with reduce encaps in an SRv6 Policy
T.Encaps.L2 Transit with encapsulation of L2 frames
T.Encaps.L2.Red Transit with reduce encaps of L2 frames in an SRv6 Policy
3) draft-ietf-dmm-srv6-mobile-uplane-02
Mobile
End.MAP Endpoint function with SID mapping
End.M.GTP6.D
Endpoint function with decapsulation from
IPv6/GTP tunnel
End.M.GTP6.E
Endpoint function with encapsulation for
IPv6/GTP tunnel
End.M.GTP4.E
Endpoint function with encapsulation for
IPv4/GTP tunnel
End.Limit Rate Limiting function
T.M.Tmap
Transit behavior with tunnel decapsulation
and mapping an SRv6 Policy
Application
End.AM SRv6 masquerading proxy
End.AD SRv6 dynamic proxy segments
End.AS SRv6 dynamic Static proxy segments
End.AN SR-aware function (native)
1) draft-filsfils-spring-srv6-network-programming-05
2) draft-xuclad-spring-sr-service-programming-00
List of SRv6 functions
2018年10月18日 現在
SRv6 Network Programmability (プログラマビリティの利用例)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 35
SRv6 for Mobile User Plane
ソフトバンク 松嶋聡 (2018年) IETF(と3GPP)でのモバイル・5G関連活動 Slide 20
https://www.isoc.jp/wiki.cgi?action=ATTACH&file=s4%2Dmatsushima%2Epdf&page=IETF100Update
SRv6 ネットワークプログラマビリティを利用した
モバイルネットワークのシンプル化
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 36
SRv6 Network Programmability (プログラマビリティの利用例)
SRv6 Functions in “5.3.1. Interworking with IPv6 GTP”
(Encap GTP) End.M.GTP6.D End (PSP)
End
End.DT6
(Decap GTP)
End.M.GTP6.E
End
End
T.Encaps.Red
Uplink
Downlink
SRv6 と GTP の
マッピング(変換) SRv6 有無の変換
インターネット等
モバイル端末
Assuming User Packet (A,Z) is IPv6
PSP: Penultimate Segment Pop
Segment Routing IPv6 for Mobile User Plane
https://tools.ietf.org/html/draft-ietf-dmm-srv6-mobile-uplane-02
2018/04/20 | ONOS/CORD meetup in Tokyo
“proto-typing new protocol with P4, SRv6 for Mobile User Plane”
https://www.slideshare.net/kentaroebisawa/srv6-mobile-user-plane-p4-prototype
P4による実装や
パケットレベルの解説
SRv6 Use Case
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 37
SRv6 Use Case
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 38
Topology-Independent Loop-Free Alternate
TI-LFA node#6,#5 のリンク切断時に高速迂回
IPv6 ONLY のネットワークで実現可能
引用: “SRv6 Introduction” Clarence Filsfils, Cisco | Slide 34, 35
http://www.segment-routing.net/tutorials/2017-12-05-srv6-introduction/
SRv6 Use Case
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 39
Overlay with Underlay SLA
引用: “SRv6 Introduction” Clarence Filsfils, Cisco | Slide 41, 42
http://www.segment-routing.net/tutorials/2017-12-05-srv6-introduction/
オーバーレイを自動的に構築(トンネル不要)
BGP/VPNを利用(既存プロトコルの再利用)
SLAを含め、IPv6だけで実現
オーバーレイはIPv6以外のプロトコルもサポート
(IPv4, Ethernet etc.)
SRv6 Use Case
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 40
Service Chaining
引用: “SRv6 Introduction” Clarence Filsfils, Cisco | Slide 44 ~ 48
http://www.segment-routing.net/tutorials/2017-12-05-srv6-introduction/
Integrated NFV (Network Function Virtualization)
ネットワーク設定に変更を加えずにポリシー
(どのパケットがどう流れるか)を追加可能
Firewall, DPI, QoS, TCP / video 最適化 等
SRv6 Use Case
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 41
Video unicast to multicast 配信(Spray)
引用: “SRv6 Introduction” Clarence Filsfils, Cisco | Slide 59
http://www.segment-routing.net/tutorials/2017-12-05-srv6-introduction/
SRv6 Use Case
• JANOG40 “Segment Routing” - Chasmを越えてついに実用段階へ、
そしてこれからのNetwork Programmability
• 河野 美也 (シスコシステムズ合同会社)
• Slide 15 ~ 32 に多数の Segment Routing + SRv6 のユースケースを記載
• https://www.janog.gr.jp/meeting/janog40/application/files/3015/0184/022
6/janog40-route-kohno-00.pdf
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 42
その他
SRv6 の実装例
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 43
SRv6 の実装例(ベンダー/商用)
• Huawei
• NE9000/NE40E シリーズ(NOS: VRP V8R10 以降)
• (その他、パケットオプティカルコア向け製品でも対応している模様)
• Cisco
• ASR 1000 with IOS XE engineering code
• ASR 9000 with IOS XR engineering code
• NCS 5500 with IOS XR engineering code
• Source: September 11, 2018: https://tools.ietf.org/html/draft-filsfils-spring-srv6-interop-01
• Juniper
• Juniper Networks Trio and vTrio NPU's
• Status: Prototype & Experimental
• Source: June 28, 2018: https://tools.ietf.org/html/draft-ietf-6man-segment-routing-header-14
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 44
SRv6 ベンダー実装(商用)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 45
SRv6 の実装例(ベンダー/商用)
※ シスコシステムズ様から情報提供
SRv6 の実装例(オープンソース)
• Kernel network stack (4.10 and later)
• http://www.segment-routing.org/
• By “IP Networking Lab” of Université Catholique de Louvain, Louvain-la-Neuve,
Belgium
• srext: Linux kernel module
• https://netgroup.github.io/SRv6-net-prog/
• Developed by the Networking Group from University of Rome Tor Vergata, Italy
• “Chaining of SRv6-unaware VNFs” ユースケースをサポート(End.AD, End.AM)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 46
SRv6 Linux Kernel
SRv6 の実装例(オープンソース)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 47
SRv6 Functions on Linux data plane
First supported in Kernel 4.10
More functions added in 4.14
source: http://www.segment-routing.net/open-software/linux/
(status as of 2018/04/17)
SRv6 の実装例(オープンソース)
• Not a Linux Kernel (module) implementation, but works on Linux.
• https://wiki.fd.io/view/VPP/Segment_Routing_for_IPv6
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 48
SRv6 on VPP (by FD.io project)
Supported functions as of 2018/04/17
source: http://www.segment-routing.net/open-software/vpp/
SRv6 の実装例(オープンソース)
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 49
CLI for SRv6 on Linux (ENOG49で発表)
https://www.slideshare.net/kentaroebisawa/zebra-srv6-cli-on-linux-dataplane-enog49
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 50
SRv6 の実装例(オープンソース)
P4-14 によるプロトタイプ
https://github.com/ebiken/p4srv6
Barefoot社協力のもと P4-16版も準備中
(100GbE x32port のスイッチでテスト可能)
まとめ
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 51
• SRv6 (Segment Routing) のメリット
• シンプル、だからスケールする
• 中継ノードでステート保持不要・シグナリング不要・ヘッダ階層を少なく
• Incremental Deployment が可能
• 対応してない機器は普通の(SRHついてない)IPv6としてルーティング
• ネットワークプログラマビリティの実現
• SRv6 のデメリット
• SIDがMPLSに比べて長い ⇒ IDとしてだけ見るとオーバーヘッドが大きい
• SRv6 “だから” 実現できるユースケースで利用
• 現状の技術(プロトコル)で解決できない問題・もっと上手く解決できる問題
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 52
まとめ
参考資料
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 53
参考資料
• 日本語
• JANOG40 pre Segment Routingチュートリアル
• https://www.janog.gr.jp/meeting/janog40/program/sr
• JANOG40 “Segment Routing” - Chasmを越えてついに実用段階へ、そしてこれからのNetwork Programmability
• https://www.janog.gr.jp/meeting/janog40/program/route
• Segment Routingの利用例と未来 by 早坂彪流
• https://speakerdeck.com/takehaya/segment-routingfalseli-yong-li-towei-lai
• 英語
• http://www.segment-routing.net/
• Slides: http://www.segment-routing.net/tutorials/
• Videos: http://www.segment-routing.net/conferences/
• “Introducing LinkedIn OpenFabric Project” Shawn Zandi, Principal Network Architect, LinkedIn
• https://www.slideshare.net/shawnzandi/linkedin-openfabric-project-interop-2017
• Comcast and The Smarter Network with John Leddy
• https://techfieldday.com/appearance/comcast-presents-at-segment-routing-field-day/
• “Zebra SRv6 CLI on Linux Dataplane (ENOG#49)” by Kentaro Ebisawa @ebiken
• https://www.slideshare.net/kentaroebisawa/zebra-srv6-cli-on-linux-dataplane-enog49
• “proto-typing new protocol with P4, SRv6 Mobile User Plane” ONOS/CORD meetup in Tokyo 2018 by Kentaro Ebisawa
• https://www.slideshare.net/kentaroebisawa/srv6-mobile-user-plane-p4-prototype
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 54
SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 55
http://www.segment-routing.net/

More Related Content

PDF
SRv6 study
PDF
How to run P4 BMv2
PDF
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PPTX
Dockerからcontainerdへの移行
PPTX
VPP事始め
PDF
Dockerからcontainerdへの移行
PDF
大規模DCのネットワークデザイン
PDF
閉域網接続の技術入門
SRv6 study
How to run P4 BMv2
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
Dockerからcontainerdへの移行
VPP事始め
Dockerからcontainerdへの移行
大規模DCのネットワークデザイン
閉域網接続の技術入門

What's hot (20)

PDF
perfを使ったPostgreSQLの解析(前編)
PDF
10GbE時代のネットワークI/O高速化
PDF
BGP Unnumbered で遊んでみた
PDF
Open vSwitchソースコードの全体像
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
NETCONFとYANGの話
PDF
Unified JVM Logging
PDF
FlexEのご紹介 - JANOG 39.5 発表資料
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
PDF
Ethernetの受信処理
PPT
インフラエンジニアのためのcassandra入門
PDF
マルチコアとネットワークスタックの高速化技法
PPTX
コンテナネットワーキング(CNI)最前線
PDF
大規模サービスを支えるネットワークインフラの全貌
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
PPTX
cluster-monitoringで困ったこと学んだこと
PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PPTX
Slurmのジョブスケジューリングと実装
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
perfを使ったPostgreSQLの解析(前編)
10GbE時代のネットワークI/O高速化
BGP Unnumbered で遊んでみた
Open vSwitchソースコードの全体像
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NETCONFとYANGの話
Unified JVM Logging
FlexEのご紹介 - JANOG 39.5 発表資料
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Ethernetの受信処理
インフラエンジニアのためのcassandra入門
マルチコアとネットワークスタックの高速化技法
コンテナネットワーキング(CNI)最前線
大規模サービスを支えるネットワークインフラの全貌
コンテナの作り方「Dockerは裏方で何をしているのか?」
cluster-monitoringで困ったこと学んだこと
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Slurmのジョブスケジューリングと実装
エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17)
Ad

Similar to "SRv6の現状と展望" ENOG53@上越 (20)

PDF
Faster SRv6 D-plane with XDP
PPTX
Network as a Service - Data plane evolution and abstraction by NSM
PPT
IPv6 Update
PDF
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
PDF
kibayos ieice 090915
PDF
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
PDF
Segment Routing @ SDN Japan 2013
PDF
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
PPTX
VSUG Day 2011 Summer - IPv6 Now
PDF
IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でー
PDF
Cisco Connect Japan 2014: MPLS アドバンス
PDF
13apr2013 kernelvm8-main
PDF
IPv6の現状
PDF
[Basic 5] グラフ / コンピュータ ネットワーク基礎 / TCP/IP
PPTX
みんなの知らないネットワークの話
PDF
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
PDF
hbstudy#88 5G+MEC時代のシステム設計
PDF
【Interop Tokyo 2015】 DC 1: Cisco VXLAN ファブリックの展望
PDF
20220602コンピュータネットワーク.pdf
PDF
IPv6 Deployment Status, Asia Pacific
Faster SRv6 D-plane with XDP
Network as a Service - Data plane evolution and abstraction by NSM
IPv6 Update
【Interop tokyo 2014】 Internet of Everything / SDN と シスコ技術者認定
kibayos ieice 090915
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
Segment Routing @ SDN Japan 2013
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
VSUG Day 2011 Summer - IPv6 Now
IPv6によってセキュリティはどう変化するか? -LAN上の挙動の観点でー
Cisco Connect Japan 2014: MPLS アドバンス
13apr2013 kernelvm8-main
IPv6の現状
[Basic 5] グラフ / コンピュータ ネットワーク基礎 / TCP/IP
みんなの知らないネットワークの話
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
hbstudy#88 5G+MEC時代のシステム設計
【Interop Tokyo 2015】 DC 1: Cisco VXLAN ファブリックの展望
20220602コンピュータネットワーク.pdf
IPv6 Deployment Status, Asia Pacific
Ad

More from Kentaro Ebisawa (20)

PDF
P4 Updates (2020) (Japanese)
PDF
Barefoot Faster™ 日本語紹介
PDF
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
PDF
Yang Tools Quick Memo
PDF
In Network Computing Prototype Using P4 at KSC/KREONET 2019
PDF
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
PDF
Interop2019 Toyota Netcope P4
PDF
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
PDF
p4srv6 (P4-16) design document rev1.0
PDF
SRv6 Mobile User Plane : Initial POC and Implementation
PDF
JANOG43 Forefront of SRv6, Open Source Implementations
PDF
Using GTP on Linux with libgtpnl
PDF
GTPing, How To
PDF
SRv6 Mobile User Plane P4 proto-type
PDF
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
PDF
Zebra 2.0 in Hybrid Cloud Era
PDF
p4alu: Arithmetic Logic Unit in P4
PDF
zebra & openconfigd Introduction
PDF
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
PDF
ネットワークOS野郎 ~ インフラ野郎Night 20160414
P4 Updates (2020) (Japanese)
Barefoot Faster™ 日本語紹介
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
Yang Tools Quick Memo
In Network Computing Prototype Using P4 at KSC/KREONET 2019
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Interop2019 Toyota Netcope P4
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
p4srv6 (P4-16) design document rev1.0
SRv6 Mobile User Plane : Initial POC and Implementation
JANOG43 Forefront of SRv6, Open Source Implementations
Using GTP on Linux with libgtpnl
GTPing, How To
SRv6 Mobile User Plane P4 proto-type
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra 2.0 in Hybrid Cloud Era
p4alu: Arithmetic Logic Unit in P4
zebra & openconfigd Introduction
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ネットワークOS野郎 ~ インフラ野郎Night 20160414

Recently uploaded (7)

PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
Working as an OSS Developer at Ruby Association Activity Report 2025
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PDF
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
PDF
AIシステムのセキュリティ:脅威となりつつあるAIの現状と課題 [English] Security of AI Systems: The Current...
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Working as an OSS Developer at Ruby Association Activity Report 2025
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
AIシステムのセキュリティ:脅威となりつつあるAIの現状と課題 [English] Security of AI Systems: The Current...
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ

"SRv6の現状と展望" ENOG53@上越

  • 2. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 3 https://www.linkedin.com/in/ebiken/ コネクティッドカー向け 次世代ネットワークの研究 (データ収集&解析基盤) データセンター (データ解析基盤) 携帯網 固定網 Edge Computing 5G/4G WiFi
  • 3. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 4 コネクティッドカー向け 次世代ネットワークの研究 (データ収集&解析基盤) データプレーン プログラマビリティ (P4,eBPF,XDP) + https://www.linkedin.com/in/ebiken/ 次世代プロトコルの試作・検証 (次世代=標準化前)
  • 4. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 5 携帯網(モバイル) (5G/4G etc.) 固定網+WiFi (Cable/ISP etc.) データセンター内 ネットワーク 固定 + 携帯 (FMC) データセンター (データ解析基盤) 携帯網 固定網 Edge Computing 5G/4G WiFi
  • 5. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 6 携帯網(モバイル) (5G/4G etc.) 固定網+WiFi (Cable/ISP etc.) データセンター内 ネットワーク 固定 + 携帯 (FMC) データセンター (データ解析基盤) 携帯網 固定網 Edge Computing 5G/4G WiFi
  • 6. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 7 5G + SRv6 キャリアの取り組み ITMedia: http://www.itmedia.co.jp/mobile/articles/1805/24/news143.html 「4Gと5Gは似て非なるもの、全く違う世界が始まる」 ソフトバンク宮川氏が5GやIoTの取り組みを説明 SRv6を用いた Mobile Edge Computing (MEC) や新サービス実現に向けた取り組み
  • 7. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 8 5G User Plane + SRv6 @ 3GPP https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3403 次世代モバイル(5G) ユーザープレーン プロトコル候補 ( Candidate )
  • 8. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 9 5G User Plane + SRv6 @ IETF 実証実験 SRv6をモバイル網ユーザプレーン プロトコルとして利用する提案 プロトコル&アーキテクチャ分析 Distributed Mobility Management (dmm) https://datatracker.ietf.org/wg/dmm/
  • 9. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 10 携帯網(モバイル) (5G/4G etc.) 固定網+WiFi (Cable/ISP etc.) データセンター内 ネットワーク 固定 + 携帯 (FMC) データセンター (データ解析基盤) 携帯網 固定網 Edge Computing 5G/4G WiFi
  • 10. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 11 “Comcast and The Smarter Network with John Leddy” Recorded at Segment Routing Field Day on June 21, 2016 https://techfieldday.com/appearance/comcast-presents-at-segment-routing-field-day/ Cable TV & ISP “LinkedIn OpenFabric Project – Interop 2017” https://www.slideshare.net/shawnzandi/linkedin-openfabric-project-interop-2017 Data Center
  • 11. Segment Routing SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 12
  • 12. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 13 Segment Routing とは? ソースノードが経由する Segment ID(SID) の リストをパケットヘッダに挿入(エンコード) 残りのノードはエンコードされた “命令(Instruction)” を実行 Diagram from http://www.segment-routing.net/A Segment Routing = Source Routing (の1種) 最短経路 “以外” の経路を指定することが可能
  • 13. Segment Routing SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 14 SRが実現する様々なネットワーク機能 ネットワークのポリシーを(中継ノードではなく) パケットヘッダに保持し転送 ネットワーク仮想化 (Slicing, VPN, テナント分離) トラフィックエンジニアリング (Software Defined Network) ネットワークのプロテクション (Fast Reroute) ネットワーク プログラマビリティ
  • 14. Segment Routing SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 15 データプレーン MPLS と IPv6 2種類のデータプレーン SR-MPLS MPLSラベル で Segmentのリストを表現 SRv6 IPv6拡張ヘッダ で Segmentのリストを表現
  • 15. Segment Routing SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 16 データプレーン MPLS と IPv6 2種類のデータプレーン SRv6 IPv6拡張ヘッダ で Segmentのリストを表現 今回はこちら ※ Segment Routing の詳細や SR-MPLSに関しては “JANOG40 pre Segment Routingチュートリアル” をご参考に https://www.janog.gr.jp/meeting/janog40/program/sr
  • 16. SRv6 Segment Routing for IPv6 data plane SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 18
  • 17. SRv6 Basics • 6MAN (IPv6 Maintenance) • IPv6 Segment Routing Header (SRH) (draft-ietf-6man-segment-routing-header) => IPv6 Segment Routing Header の定義 (In WG Last Call) • SPRING (Source Packet Routing in Networking) • RFC 8354 (2018-03-28) Use Cases for IPv6 Source Packet Routing in Networking (SPRING) • RFC 8402 (2018-07-24) Segment Routing Architecture • SRv6 Network Programming (draft-filsfils-spring-srv6-network-programming-05) • SRv6 Mobility Use-Cases (draft-camarilloelmalky-springdmm-srv6-mob-usecases-00) • Operations, Administration, and Maintenance (OAM) in Segment Routing Networks with IPv6 Data plane (SRv6) (draft-ali-spring-srv6-oam-01) • NSH and Segment Routing Integration for Service Function Chaining (SFC) (draft-guichard-spring-nsh-sr-00) • DMM (Distributed Mobility Management) • Segment Routing IPv6 for Mobile User Plane (draft-ietf-dmm-srv6-mobile-uplane-02) • Segment Routing IPv6 for mobile user-plane PoCs (draft-camarillo-dmm-srv6-mobile-pocs-00) SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 19 SRv6標準化状況 @ IETF draft-ietf-xxx: Working Group Draft | draft-xxx: Personal Draft
  • 18. SRv6 Basics SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 20 ノードの種類と役割 #1 #4 #2 #3 #5 SR End node “MyLocalSID Table” にパケットの宛先アドレス(DA)が含まれるノード Source SR node IPv6 Segment Routing Headers (SRH) 付きパケットを生成するノード Transit node SRv6 をサポートしていないノードや、パケットの宛先アドレス(DA)が ノードのアドレスではない もしくは “MyLocalSID Table” に含まれないノード エンドノードは最終目的地で ある必要は無い 1. ソースノード (SRH付きパケット を生成したホスト) 2. ソースノード (受信したパケットをSRH付きIPヘッ ダでカプセルしたGateway) 4. エンドノード 複数のSIDを持っても良い 3. トランジットノード SRHを理解(サポート)し ている必要は無い ※ SRを理解する・しない トランジットノードがある。
  • 19. SRv6 basics SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 22 Segment Routing Header (SRH) IPv6 Header IPv6 Extension Header Payload • Routing Type • 4 (Segment Routing) • Segments Left • 次の Segment へのインデックス (Pointer) • エンドノードで減らされる • Last Entry • Segment List の最初のSegment へのインデックス • Segment List • 最後~最初の順にエンコードされ た Segment 列 (Segment List [0] は最後に到達する Segment) Reference: draft-ietf-6man-segment-routing-header
  • 20. SRv6 basics • Segment List: <S1, S2, S3> • S1, S2, S3: 1st, 2nd, 3rd の segment • IP Packet: (SA,DA) (S3, S2, S1; SL) • SA, DA: Source, Destination Address • SRH with SID list <S1, S2, S3> • SL: Segments Left SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 23 SID List の記述方法 S1 S2 S3 SL 参照:“SRv6 Network Programming” Internet-Draft document draft-filsfils-spring-srv6-network-programming 注:segment の順番が <...> と (...) で逆!!
  • 21. SRv6 basics “ノード” が持つ機能を “function” と呼び、 1ノードに複数のfunction(segment id)を持つことがある • Transit function ⇒ SRHを付与(SRv6サポートしてる場合) • パケットの宛先(DA)がノードのアドレスではない • パケットの宛先(DA)がノードの “My Local SID Table” に載ってない • (SRv6をサポートしてない) • End function ⇒ 宛先(DA)に基づき処理する • パケットの宛先(DA)がノードの “My Local SID Table” に載っている SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 24 End vs Transit function
  • 22. SRv6 basics SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 25 Transit functions Function Description T Forwards the packet without inspecting the SRH T.Insert Transit behavior with insertion of an SRv6 Policy T.Encaps Transit behavior with encapsulation in an SRv6 policy T.Encaps.L2 T.Encaps behavior of the received L2 frame #1 #4 #2 #3 #5 挿入 カプセル化 2種類の SRH付与方法
  • 23. SRv6 basics SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 26 Transit functions (T.Insert) a #1 b #4 #2 #3 #5 d c IPv6 Payload IPv6 PayloadSRH (SA:a, DA: #1)(d, #5, #3, #2, #1; SL=4) Next SegmentDestination Host (SA:a, DA: d)
  • 24. SRv6 basics SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 27 Transit functions (T.Encaps) IPv6 Payload IPv6 PayloadSRH IPv6 (SA:b, DA: #4)(#3, #2, #4; SL=2)(SA:b, DA: c) a #1 b #4 #2 #3 #5 d c Next Segment (SA:b, DA: c)
  • 25. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 28 SRv6 basics Inline mode Encap mode 最終宛先は SID[0] 最終宛先はカプセル 化されたIPヘッダの中 パケット構造の例(Wireshark) IP + SRH + ICMP IP + SRH + IP + ICMP
  • 26. SRv6 basics SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 29 End functions (End) End: 宛先(DA)を next segment が指すSIDで更新しパケットを転送 IPv6 IPv6 PayloadSRH (SA:a, DA: #1)(d, #5, #3, #2, #1; SL=4)PayloadSRH (SA:a, DA: #2)(d, #5, #3, #2, #1; SL=3) a #1 b #4 #2 #3 #5 d c Next Segment
  • 27. SRv6 basics • IS-IS Extensions to Support Routing over IPv6 Dataplane • https://datatracker.ietf.org/doc/draft-bashandy-isis-srv6-extensions/ • BGP Link State extensions for IPv6 Segment Routing(SRv6) • https://datatracker.ietf.org/doc/draft-dawra-idr-bgpls-srv6-ext/ • BGP Signaling of IPv6-Segment-Routing-based VPN Networks • https://datatracker.ietf.org/doc/draft-dawra-idr-srv6-vpn/ • OSPFv3 Extensions for SRv6 • https://datatracker.ietf.org/doc/draft-li-ospf-ospfv3-srv6-extensions/ • LISP Control Plane for SRv6 Endpoint Mobility • https://datatracker.ietf.org/doc/draft-rodrigueznatal-lisp-srv6/ • PCEP Extensions for Segment Routing leveraging the IPv6 data plane • https://datatracker.ietf.org/doc/draft-negi-pce-segment-routing-ipv6/ • Protocol for Forwarding Policy Configuration (FPC) in DMM • https://datatracker.ietf.org/doc/draft-ietf-dmm-fpc-cpdp/ SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 30 SRv6 のコントロールプレーン LISP: Locator/ID Separation Protocol PCEP: Path Computation Element (PCE) Communication Protocol ルーティングプロトコル を用いた制御 コントローラー を用いた制御
  • 28. SRv6 Network Programmability ネットワーク プログラマビリティ SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 31
  • 29. SRv6 Network Programmability • SID は 128bit で IPv6 アドレスと類似だが、異なる意味的も持つ • LOC, FUNC, ARGS は可変 ⇒ ARGS は無い(0 length)場合もある • SID はそのSIDを持つノードへパケットを転送するために利用される • FUNC, ARGS も Prefix の一部となりうる(例:LOC:FUNC:ARGS/128を広報) • Local SID はノードのインターフェースIPv6アドレスでも良い(ノードのイン ターフェースに属さなくても良い) (インターフェースアドレスとしては利用しないほうが混乱は少ない?) SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 32 SRv6 SID (Segment ID) format 128bits LOC (locator) FUNC (function) ARGS (arguments) Reference: draft-filsfils-spring-srv6-network-programming
  • 30. SRv6 Network Programmability • draft-filsfils-spring-srv6-network-programming • https://datatracker.ietf.org/doc/draft-filsfils-spring-srv6-network-programming/ • SRv6 Network Programming および関連した Function の大元となる文書 • draft-ietf-dmm-srv6-mobile-uplane • https://datatracker.ietf.org/doc/draft-ietf-dmm-srv6-mobile-uplane/ • SRv6をモバイル網で利用する時に必要な Function およびユースケースを記載 • GTP から SRv6 へマイグレーションする際のシナリオを含む • draft-xuclad-spring-sr-service-programming • https://datatracker.ietf.org/doc/draft-xuclad-spring-sr-service-programming/ • Service Chaining 向けの Function を記載 SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 33 Function の定義されている場所
  • 31. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 34 SRv6 Network Programmability End Endpoint Xconnect End.X Endpoint with Layer-3 cross-connect Table Lookup End.T Endpoint with specific IPv6 table lookup Search End.S Endpoint in search of a target in table T Decaps + Xconnect End.DX6 Endpoint with decapsulation and IPv6 crossconnect End.DX4 Endpoint with decapsulation and IPv4 crossconnect End.DX2 Endpoint with decapsulation and Layer-2 crossconnect End.DX2V Endpoint with decapsulation and VLAN L2 table lookup Decaps + Table Lookup End.DT6 Endpoint with decapsulation and specific IPv6 table lookup End.DT4 Endpoint with decapsulation and specific IPv4 table lookup End.DT46 Endpoint with decapsulation and specific IP table lookup End.DT2U Endpoint with decapsulation and unicast MAC L2 table lookup End.DT2M Endpoint with decapsulation and L2 table flooding Binding End.B6[.Red] Endpoint bound to an SRv6 policy End.B6.Encaps[.Red] Endpoint bound to an SRv6 encapsulation policy End.BM Endpoint bound to an SR-MPLS policy T Transit behavior Insert T.Insert Transit with insertion of an SRv6 Policy T.Insert.Red Transit with reduced insertion of an SRv6 Policy Encaps T.Encaps Transit with encapsulation in an SRv6 Policy T.Encaps.Red Transit with reduce encaps in an SRv6 Policy T.Encaps.L2 Transit with encapsulation of L2 frames T.Encaps.L2.Red Transit with reduce encaps of L2 frames in an SRv6 Policy 3) draft-ietf-dmm-srv6-mobile-uplane-02 Mobile End.MAP Endpoint function with SID mapping End.M.GTP6.D Endpoint function with decapsulation from IPv6/GTP tunnel End.M.GTP6.E Endpoint function with encapsulation for IPv6/GTP tunnel End.M.GTP4.E Endpoint function with encapsulation for IPv4/GTP tunnel End.Limit Rate Limiting function T.M.Tmap Transit behavior with tunnel decapsulation and mapping an SRv6 Policy Application End.AM SRv6 masquerading proxy End.AD SRv6 dynamic proxy segments End.AS SRv6 dynamic Static proxy segments End.AN SR-aware function (native) 1) draft-filsfils-spring-srv6-network-programming-05 2) draft-xuclad-spring-sr-service-programming-00 List of SRv6 functions 2018年10月18日 現在
  • 32. SRv6 Network Programmability (プログラマビリティの利用例) SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 35 SRv6 for Mobile User Plane ソフトバンク 松嶋聡 (2018年) IETF(と3GPP)でのモバイル・5G関連活動 Slide 20 https://www.isoc.jp/wiki.cgi?action=ATTACH&file=s4%2Dmatsushima%2Epdf&page=IETF100Update SRv6 ネットワークプログラマビリティを利用した モバイルネットワークのシンプル化
  • 33. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 36 SRv6 Network Programmability (プログラマビリティの利用例) SRv6 Functions in “5.3.1. Interworking with IPv6 GTP” (Encap GTP) End.M.GTP6.D End (PSP) End End.DT6 (Decap GTP) End.M.GTP6.E End End T.Encaps.Red Uplink Downlink SRv6 と GTP の マッピング(変換) SRv6 有無の変換 インターネット等 モバイル端末 Assuming User Packet (A,Z) is IPv6 PSP: Penultimate Segment Pop Segment Routing IPv6 for Mobile User Plane https://tools.ietf.org/html/draft-ietf-dmm-srv6-mobile-uplane-02 2018/04/20 | ONOS/CORD meetup in Tokyo “proto-typing new protocol with P4, SRv6 for Mobile User Plane” https://www.slideshare.net/kentaroebisawa/srv6-mobile-user-plane-p4-prototype P4による実装や パケットレベルの解説
  • 34. SRv6 Use Case SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 37
  • 35. SRv6 Use Case SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 38 Topology-Independent Loop-Free Alternate TI-LFA node#6,#5 のリンク切断時に高速迂回 IPv6 ONLY のネットワークで実現可能 引用: “SRv6 Introduction” Clarence Filsfils, Cisco | Slide 34, 35 http://www.segment-routing.net/tutorials/2017-12-05-srv6-introduction/
  • 36. SRv6 Use Case SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 39 Overlay with Underlay SLA 引用: “SRv6 Introduction” Clarence Filsfils, Cisco | Slide 41, 42 http://www.segment-routing.net/tutorials/2017-12-05-srv6-introduction/ オーバーレイを自動的に構築(トンネル不要) BGP/VPNを利用(既存プロトコルの再利用) SLAを含め、IPv6だけで実現 オーバーレイはIPv6以外のプロトコルもサポート (IPv4, Ethernet etc.)
  • 37. SRv6 Use Case SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 40 Service Chaining 引用: “SRv6 Introduction” Clarence Filsfils, Cisco | Slide 44 ~ 48 http://www.segment-routing.net/tutorials/2017-12-05-srv6-introduction/ Integrated NFV (Network Function Virtualization) ネットワーク設定に変更を加えずにポリシー (どのパケットがどう流れるか)を追加可能 Firewall, DPI, QoS, TCP / video 最適化 等
  • 38. SRv6 Use Case SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 41 Video unicast to multicast 配信(Spray) 引用: “SRv6 Introduction” Clarence Filsfils, Cisco | Slide 59 http://www.segment-routing.net/tutorials/2017-12-05-srv6-introduction/
  • 39. SRv6 Use Case • JANOG40 “Segment Routing” - Chasmを越えてついに実用段階へ、 そしてこれからのNetwork Programmability • 河野 美也 (シスコシステムズ合同会社) • Slide 15 ~ 32 に多数の Segment Routing + SRv6 のユースケースを記載 • https://www.janog.gr.jp/meeting/janog40/application/files/3015/0184/022 6/janog40-route-kohno-00.pdf SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 42 その他
  • 40. SRv6 の実装例 SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 43
  • 41. SRv6 の実装例(ベンダー/商用) • Huawei • NE9000/NE40E シリーズ(NOS: VRP V8R10 以降) • (その他、パケットオプティカルコア向け製品でも対応している模様) • Cisco • ASR 1000 with IOS XE engineering code • ASR 9000 with IOS XR engineering code • NCS 5500 with IOS XR engineering code • Source: September 11, 2018: https://tools.ietf.org/html/draft-filsfils-spring-srv6-interop-01 • Juniper • Juniper Networks Trio and vTrio NPU's • Status: Prototype & Experimental • Source: June 28, 2018: https://tools.ietf.org/html/draft-ietf-6man-segment-routing-header-14 SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 44 SRv6 ベンダー実装(商用)
  • 42. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 45 SRv6 の実装例(ベンダー/商用) ※ シスコシステムズ様から情報提供
  • 43. SRv6 の実装例(オープンソース) • Kernel network stack (4.10 and later) • http://www.segment-routing.org/ • By “IP Networking Lab” of Université Catholique de Louvain, Louvain-la-Neuve, Belgium • srext: Linux kernel module • https://netgroup.github.io/SRv6-net-prog/ • Developed by the Networking Group from University of Rome Tor Vergata, Italy • “Chaining of SRv6-unaware VNFs” ユースケースをサポート(End.AD, End.AM) SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 46 SRv6 Linux Kernel
  • 44. SRv6 の実装例(オープンソース) SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 47 SRv6 Functions on Linux data plane First supported in Kernel 4.10 More functions added in 4.14 source: http://www.segment-routing.net/open-software/linux/ (status as of 2018/04/17)
  • 45. SRv6 の実装例(オープンソース) • Not a Linux Kernel (module) implementation, but works on Linux. • https://wiki.fd.io/view/VPP/Segment_Routing_for_IPv6 SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 48 SRv6 on VPP (by FD.io project) Supported functions as of 2018/04/17 source: http://www.segment-routing.net/open-software/vpp/
  • 46. SRv6 の実装例(オープンソース) SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 49 CLI for SRv6 on Linux (ENOG49で発表) https://www.slideshare.net/kentaroebisawa/zebra-srv6-cli-on-linux-dataplane-enog49
  • 47. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 50 SRv6 の実装例(オープンソース) P4-14 によるプロトタイプ https://github.com/ebiken/p4srv6 Barefoot社協力のもと P4-16版も準備中 (100GbE x32port のスイッチでテスト可能)
  • 49. • SRv6 (Segment Routing) のメリット • シンプル、だからスケールする • 中継ノードでステート保持不要・シグナリング不要・ヘッダ階層を少なく • Incremental Deployment が可能 • 対応してない機器は普通の(SRHついてない)IPv6としてルーティング • ネットワークプログラマビリティの実現 • SRv6 のデメリット • SIDがMPLSに比べて長い ⇒ IDとしてだけ見るとオーバーヘッドが大きい • SRv6 “だから” 実現できるユースケースで利用 • 現状の技術(プロトコル)で解決できない問題・もっと上手く解決できる問題 SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 52 まとめ
  • 51. 参考資料 • 日本語 • JANOG40 pre Segment Routingチュートリアル • https://www.janog.gr.jp/meeting/janog40/program/sr • JANOG40 “Segment Routing” - Chasmを越えてついに実用段階へ、そしてこれからのNetwork Programmability • https://www.janog.gr.jp/meeting/janog40/program/route • Segment Routingの利用例と未来 by 早坂彪流 • https://speakerdeck.com/takehaya/segment-routingfalseli-yong-li-towei-lai • 英語 • http://www.segment-routing.net/ • Slides: http://www.segment-routing.net/tutorials/ • Videos: http://www.segment-routing.net/conferences/ • “Introducing LinkedIn OpenFabric Project” Shawn Zandi, Principal Network Architect, LinkedIn • https://www.slideshare.net/shawnzandi/linkedin-openfabric-project-interop-2017 • Comcast and The Smarter Network with John Leddy • https://techfieldday.com/appearance/comcast-presents-at-segment-routing-field-day/ • “Zebra SRv6 CLI on Linux Dataplane (ENOG#49)” by Kentaro Ebisawa @ebiken • https://www.slideshare.net/kentaroebisawa/zebra-srv6-cli-on-linux-dataplane-enog49 • “proto-typing new protocol with P4, SRv6 Mobile User Plane” ONOS/CORD meetup in Tokyo 2018 by Kentaro Ebisawa • https://www.slideshare.net/kentaroebisawa/srv6-mobile-user-plane-p4-prototype SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 54
  • 52. SRv6の現状と展望 | ENOG53@上越 | 2018/10/19 55 http://www.segment-routing.net/