SlideShare a Scribd company logo
1 of 52
Download to read offline
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

What's hot

TCAMのしくみ
TCAMのしくみTCAMのしくみ
TCAMのしくみ
ogatay
 

What's hot (20)

大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介
 
P4 Updates (2020) (Japanese)
P4 Updates (2020) (Japanese)P4 Updates (2020) (Japanese)
P4 Updates (2020) (Japanese)
 
3GPP TR38.801-e00まとめ
3GPP TR38.801-e00まとめ3GPP TR38.801-e00まとめ
3GPP TR38.801-e00まとめ
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネット
 
NETCONFとYANGの話
NETCONFとYANGの話NETCONFとYANGの話
NETCONFとYANGの話
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
 
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
 
TCAMのしくみ
TCAMのしくみTCAMのしくみ
TCAMのしくみ
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
 
閉域網接続の技術入門
閉域網接続の技術入門閉域網接続の技術入門
閉域網接続の技術入門
 
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
Geekなぺーじ ネットワーク技術者ではない方々向けIPv6セミナー2
 
ConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみたConfD で Linux にNetconfを喋らせてみた
ConfD で Linux にNetconfを喋らせてみた
 

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

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

Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDP
 
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backboneShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_sr-based_backbone
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』『WAN SDN Controller NorthStarご紹介 & デモ』
『WAN SDN Controller NorthStarご紹介 & デモ』
 
ICD/CPSY 201412
ICD/CPSY 201412ICD/CPSY 201412
ICD/CPSY 201412
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
Network as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSMNetwork as a Service - Data plane evolution and abstraction by NSM
Network as a Service - Data plane evolution and abstraction by NSM
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
Telemetryについて
TelemetryについてTelemetryについて
Telemetryについて
 
Service Chaining Current and Future
Service Chaining Current and FutureService Chaining Current and Future
Service Chaining Current and Future
 
MAP 実装してみた
MAP 実装してみたMAP 実装してみた
MAP 実装してみた
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
Software forwarding path
Software forwarding pathSoftware forwarding path
Software forwarding path
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
Cisco Connect Japan 2014: MPLS アドバンス
Cisco Connect Japan 2014: MPLS アドバンスCisco Connect Japan 2014: MPLS アドバンス
Cisco Connect Japan 2014: MPLS アドバンス
 
Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4Interop2019 Toyota Netcope P4
Interop2019 Toyota Netcope P4
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
 

More from Kentaro Ebisawa

More from Kentaro Ebisawa (20)

Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介Barefoot Faster™ 日本語紹介
Barefoot Faster™ 日本語紹介
 
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
IETF106 Hackathon 報告 & P4 based Switch の課題と未来IETF106 Hackathon 報告 & P4 based Switch の課題と未来
IETF106 Hackathon 報告 & P4 based Switch の課題と未来
 
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
MPLS Japan 2019 : Data & Control Plane を繋ぐ APIMPLS Japan 2019 : Data & Control Plane を繋ぐ API
MPLS Japan 2019 : Data & Control Plane を繋ぐ API
 
Yang Tools Quick Memo
Yang Tools Quick MemoYang Tools Quick Memo
Yang Tools Quick Memo
 
In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019
 
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRHComparison of SRv6 Extensions uSID, SRv6+, C-SRH
Comparison of SRv6 Extensions uSID, SRv6+, C-SRH
 
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U TranslationIETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
IETF 104 Hackathon VPP Prototyping Stateless SRv6/GTP-U Translation
 
p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0p4srv6 (P4-16) design document rev1.0
p4srv6 (P4-16) design document rev1.0
 
SRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and ImplementationSRv6 Mobile User Plane : Initial POC and Implementation
SRv6 Mobile User Plane : Initial POC and Implementation
 
JANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source ImplementationsJANOG43 Forefront of SRv6, Open Source Implementations
JANOG43 Forefront of SRv6, Open Source Implementations
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnl
 
GTPing, How To
GTPing, How ToGTPing, How To
GTPing, How To
 
SRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-typeSRv6 Mobile User Plane P4 proto-type
SRv6 Mobile User Plane P4 proto-type
 
Zebra 2.0 in Hybrid Cloud Era
Zebra 2.0 in Hybrid Cloud EraZebra 2.0 in Hybrid Cloud Era
Zebra 2.0 in Hybrid Cloud Era
 
p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4
 
zebra & openconfigd Introduction
zebra & openconfigd Introductionzebra & openconfigd Introduction
zebra & openconfigd Introduction
 
"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向"OPEN NETWORKING" に向けた Management / Data Plane の動向
"OPEN NETWORKING" に向けた Management / Data Plane の動向
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
 
ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)ネットワークAPI のあれこれ (ENOG37)
ネットワークAPI のあれこれ (ENOG37)
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
 

Recently uploaded

Recently uploaded (10)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

"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/