Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Segment Routingの利用例と未来
Search
Takeru Hayasaka
October 08, 2018
Programming
12
2.3k
Segment Routingの利用例と未来
#wakate2018で話したSegment Routingについての紹介スライド
公開版なので自己紹介とちょっとした補足が増えてます(がほとんど本編に変わりはありません)
Takeru Hayasaka
October 08, 2018
Tweet
Share
More Decks by Takeru Hayasaka
See All by Takeru Hayasaka
eBPF Deep Dive: Architecture and Safety Mechanisms
takehaya
12
1.8k
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
2
2.3k
Exploring XDP: Fundamentals and Real-World Implementations in Mobile Network Data Plane
takehaya
1
2.5k
JANOG53 LT 自作k6 Extension利用した NFVへの負荷計測手法の紹介
takehaya
0
570
Wakamonog13 LT: VPPで始めるHigh Performance BGPルーター
takehaya
2
1.3k
自作パケット処理系の性能測定と可視化&改善のPDCAを回して最強のパケット処理系の作り方を学ぼう / Let's Measure the Performance of Packet Processing System with Python Tools.
takehaya
4
4.9k
SRv6 Mobile User Plane(MUP) の紹介とMUP-BGPのOSS実装における相互接続性について
takehaya
1
840
Debug linux drop packets
takehaya
1
1.1k
ICTSCにおけるk8s運用の話
takehaya
0
540
Other Decks in Programming
See All in Programming
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
800
AWSマネコンに複数のアカウントで入れるようになりました
yuhta28
2
160
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
270
Scaling your build logic
antalmonori
1
150
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
130
定理証明プラットフォーム lapisla.net
abap34
1
1.3k
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
280
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
320
Immutable ActiveRecord
megane42
0
130
DMMオンラインサロンアプリのSwift化
hayatan
0
290
Open source software: how to live long and go far
gaelvaroquaux
0
470
Writing documentation can be fun with plugin system
okuramasafumi
0
110
Featured
See All Featured
Fireside Chat
paigeccino
34
3.2k
It's Worth the Effort
3n
184
28k
Optimizing for Happiness
mojombo
376
70k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
RailsConf 2023
tenderlove
29
980
Code Review Best Practice
trishagee
65
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
A designer walks into a library…
pauljervisheath
205
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
No one is an island. Learnings from fostering a developers community.
thoeni
20
3.1k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Transcript
4FHNFOU3PVUJOHͷ ར༻ྫͱະདྷ ૣࡔඩྲྀ !UBLFNJP*0 XBLBUF 1
8IPBNJ w ͔͚ͨ͞Δ !UBLFNJP*0 w ωοτϫʔΫҙຯ JOGPTFD ʹڵຯ͕͋Δ w
͕ੜͰඒຯ͍͓͠ञͷ ҿΈํΛֶͼʹདྷ·ͨ͠ w ࣮ωοτϫʔΫࠓ͔Β ͬͯΔॳ৺ऀͳͷͰͪΐͬͱ ͨ͠αʔϕΠΛ͠ʹདྷͨ !2
త 4FHNFOU3PVUJOHΛ ͳΜͱͳ͘ ཧղͨ͠φͰϠϯάͳएखʹͳΔ !3
ௐࠪ 4
ௐࠪ! #(1041' *(1Λ ͍ͬͯΔ͍ͬͯΔ
ௐࠪ! ΞϯμʔϨΠΦʔόʔϨΠͱ ݴΘΕͯงғؾ͕Θ͔Δ
ௐࠪ! 4FHNFOU3PVUJOHΛ͍ͬͯΔ
ௐࠪ 4FHNFOU3PVUJOH Λʮͬͯʯ͍Δ
4FHNFOU3PVUJOHΛ Α͘͝ଘͷօ͞Μ ΄ͲͷٳܜʹͳΓ·͢ !9
͓ॻ͖ wഎܠࣄͱ4FHNFOU3PVUJOHͱ wجૅࣝ wϢʔεέʔε wඪ४Խಈ wະདྷͱͦͷઌ !10
എܠࣄͱ4FHNFOU3PVUJOHͱ !11
എܠ w ωοτϫʔΫࣄۀऀͷ๊͑ͯΔ w ωοτϫʔΫͱτϥϑΟοΫύλʔϯʑෳࡶͰ ଟ༷ʹͳ͍ͬͯΔɻ w ऩӹΛߴΊΔʹ٬ʹྑ͍αʔϏεΛఏڙ͢Δඞཁ͕ ͋Γɺਫ਼ͷߴ͍τϥϑΟοΫ੍ޚͷχʔζߴ·ͬ ͍ͯΔɻ
!12
ڞ௨ͷ͍ !13
ڞ௨ͷ͍ w2ཧίετΛ૿େͤͣ͞ʹଟ༷ͳαʔϏε Λఏڙ͢ΔʹɺͲ͏͢Ε͍͍ͷ͔ɻ
ڞ௨ͷ͍ w"ܦ࿏Λ໌ࣔతʹࢦఆ੍͠ޚ͢Δ wҰൠʹτϥϑΟοΫΤϯδχΞϦϯάͱΑ ΕΔ w ʢ͔ͳΓڱٛͳදݱײ͋ΔͷͰ͋͘·ͰҰྫͰ͢ʣ
τϥϑΟοΫ ΤϯδχΞϦϯά w௨ৗͷ*1ܦ࿏ใʹैͬͨܦ࿏બͰɺجຊత ʹ࠷ܦ࿏͕બ͞ΕΔɻ w݁Ռɺಛఆܦ࿏ʹτϥϑΟοΫ͕ूத͘͢͠ͳΓɺ αʔϏεͷ༰ʹԠͨ͡ॊೈͳܦ࿏બ͠ ͍ɾɾɾ wଞʹطଘͷϓϩτίϧʹ͕ɾɾɾ
34715&ͷྫ w34715& wطଘͷ3471ʹϥϕϧͱ5&ʢ5SB⒏D &OHJOJFFSJOHʣͷػೳΛରԠ֦ͤͨ͞ுϓϩτί ϧ
34715&ͷྫ wύέοτͷ௨աܦ࿏ͱͳΔτϯωϧΛ࡞͢ΔͨΊɺ ࣄલγάφϦϯά͕ൃੜ͢Δ w֤ϊʔυ͕ܦ࿏ʹؔ͢ΔεςʔτΛอ࣋͢Δ w݁Ռཧ͕ෳࡶʹͳΓɺεέʔϥϏϦςΟͷ੍ ൃੜ࣌ͷରԠͷ͠͞ʹ݁͢Δ
34715&ͷྫ wŨŽŘ w৽װઢμΠΞௐͱ͍͏ਓྗγάφϦϯάΛͨ͠ ͔Βਏ͔ͬͨ wʢิɿXBLBUFͷॳʹ౦৽װઢ͕Ұ ࣌ؒࢭ·ͬͨͷͰࢀՃऀΈΜͳʹӨڹͨ͠ʣ
ղܾࡦ !20
!21
4FHNFOU3PVUJOHͱ w ωοτϫʔΫΛ4FHNFOUͱ͍͏ཁૉΛ༻͍ͯදݱ͠ɺ ͦͷ4FHNFOUΛࢦఆ͢Δ͜ͱʹΑΓύέοτͷసૹΛ ࣮ݱ͢ΔΞʔΩςΫνϟ w *&5'ͷ413*/( 4PVSDF1BDLFU3PVUJOHJO /FUXPSLJOH Ͱࡦఆ͞ΕͯΔ
w ࣮ੜͯ͠पͩͬͨΓ͢Δ !22
ಛ w εςʔτϨε w ػثෛՙɾӡ༻ෛՙܰݮ w *(1 041'*4*4 ͚ͩͰ࣮ݱ w
ίϯτϩʔϧϓϨʔϯͷγϯϓϧԽ w σʔλϓϨʔϯඇґଘ w .1-4·ͨ*1W !23
جૅࣝ !24
4FHNFOUͷछྨ w /PEF4FHNFOU w ಛఆͷϊʔυΛද͢͜ͱ͕Ͱ͖Δ w QSFpY4*%ͱ͔ݴͬͨΓ͢Δ w "EKBDFODZ4FHNFOU w
ϊʔυຖͷྡؔΛࣔ͢ w ୠ͠ยํͣͭͷ w 4FHNFOU*%ʢ4*%ʣ w ͜ΕΒͷ4FHNFOUʹৼΒΕΔݻ ༗ͷ*% /PEF4FHNFOU /PEF4FHNFOU "EKBODFODZ 4FHNFOU SPVUFS SPVUFS 0 "EKBODFODZ 4FHNFOU !25
4FHNFOUΛ ݩʹͨ͠େࡶͳύέοτసૹྫ 0 1 1 2 4FHNFOUʮ̎ʯ ύέοτσʔλ ύέοτͷྲྀΕ /PEF4FHNFOUʮ̎ʯ
Λͬͯ·͢ !26
/PEF4FHNFOU /PEF4*% ͷసૹಈ࡞ 1 4 1 3 0 2 4*%ʮʯ
ύέοτσʔλ /PEF4*%ʮʯ !27
/PEF4FHNFOU /PEF4*% ͷసૹಈ࡞ 1 4 1 3 0 2 4*%ʮʯ
ύέοτσʔλ /PEF4*%ʮʯ *(1ͷTIPSUFTU QBUIʹ͕ͨͬͯ͠ύέοτ సૹΛߦ͏ !28
/PEF4FHNFOU /PEF4*% ͷసૹಈ࡞ 1 4 1 3 0 2 ύέοτσʔλ
/PEF4*%ʮʯ 4*%ʮʯ 4*%ʮʯ 4FHNFOU-JTU 4PVSDF3PVUJOHͷܦ࿏ʹ ԊͬͯฒΒΕͨ4*%ͷϦετ ʢڍಈ·Μ·ɹελοΫ !29
/PEF4FHNFOU /PEF4*% ͷసૹಈ࡞ 1 4 1 3 0 2 ύέοτσʔλ
/PEF4*%ʮʯ 4*%ʮʯ 4FHNFOU-JTU !30
/PEF4FHNFOU /PEF4*% ͷసૹಈ࡞ 1 4 1 3 0 2 ύέοτσʔλ
/PEF4*%ʮʯ /POF 4FHNFOU-JTU !31
/PEF4FHNFOUͷڍಈಛ w ͳͥҠಈ͕εΩοϓͰ͖͔ͨ w /PEF4FHNFOU(MPCBMͳ4FHNFOUͰ͋Δ w ͭ·Γ/PEF4*%ҙͷ43EPNBJOʢͭ·Γ43 ͷྖҬʣͰϢχʔΫͳ w/PEF4*%͕ଘࡏ͢ΔύέοτͲͷϧʔλ͕ड͚औͬ ͯѼઌಉҰϊʔυʢϧʔλʣʹసૹ͞ΕΔ
!32
"EKBDFODZ4FHNFOU "EK4*% ͷసૹಈ࡞ 1 4 1 3 0 2 4*%ʮʯ
ύέοτσʔλ "EK4*% \ ^ !33
"EKBDFODZ4FHNFOU "EK4*% ͷసૹಈ࡞ 1 4 1 3 0 2
"EK4*% \ ^ 4*%ʮʯ 4FHNFOU-JTU ύέοτσʔλ !34
"EKBDFODZ4FHNFOU "EK4*% ͷసૹಈ࡞ 1 4 1 3 0 2
"EK4*% \ ^ /POF 4FHNFOU-JTU ύέοτσʔλ !35
"EKBDFODZ4FHNFOU ͷڍಈಛ w "EKBDFODZ4FHNFOU-PDBM4FHNFOUͳͷͰҟͳ ΔϊʔυͰ͋Εಉ͡"EK4*%Λ༻͢Δ͜ͱ͕Մೳ wٯʹ͍͑ಉ͡"EK4*%͕༩͞ΕͨύέοτͰ͋ͬͯ ड͚औͬͨ࣌ͷѼઌϧʔλຖʹҟͳΔڍಈΛ͢Δ !36
/PEFͱ"EKBDFODZΛΈ߹ Θͤͨసૹಈ࡞ 1 4 1 3 0 2 "EK4*% 4*%ʮʯ
4FHNFOU-JTU ύέοτσʔλ 4*%ʮʯ 4*%ʮʯ !37
/PEFͱ"EKBDFODZΛΈ߹ Θͤͨసૹಈ࡞ 1 4 1 3 0 2 "EK4*% 4*%ʮʯ
4FHNFOU-JTU ύέοτσʔλ 4*%ʮʯ /PEF4*%సૹ !38
/PEFͱ"EKBDFODZΛΈ߹ Θͤͨసૹಈ࡞ 1 4 1 3 0 2 "EK4*% 4*%ʮʯ
4FHNFOU-JTU /PEF4*%సૹ !39
/PEFͱ"EKBDFODZΛΈ߹ Θͤͨసૹಈ࡞ 1 4 1 3 0 2 "EK4*% /POF
4FHNFOU-JTU "EK4*%Λ௨ΔΑ͏ ʹసૹ !40
σʔλϓϨʔϯ w ༻Ͱ͖ΔσʔλϓϨʔϯ.1-4ͱ*1Wͷͭɽ 4FHNFOU-JTUΛ͜ͷೋͭͰදݱ͢Δ͜ͱ͕Ͱ͖Δ w .1-4ϥϕϧελοΫͰදݱ͞ΕΔ w *1W*1W֦ுϔομͰදݱ͞ΕΔ w ࡉ͔͍ڍಈ͕࣌ؒͳͦ͞͏ͳͷͰੋඇޙͰฉ͍͍ͯ
͚ͨͩΕʂ !41
جૅࣝͷ·ͱΊ w /PEF4FHNFOU w ಛఆͷϊʔυΛද͢͜ͱ͕Ͱ͖Δ w "EKBDFODZ4FHNFOU w ϊʔυຖͷྡؔΛࣔ͢ʢୠ͠ยํͣͭͷʣ w
4FHNFOU*%ʢ4*%ʣ w ͜ΕΒͷ4FHNFOUʹৼΒΕΔݻ༗ͷ*% w ͜ΕΒશͯΛΈ߹Θͤͯར༻͕Ͱ͖Δ !42
Ϣʔεέʔε !43
Ϣʔεέʔε w ಛతʹܦ࿏Λࢦఆͨ͠Γ͢ΔͷʹΘΕΔ w αʔϏενΣΠχϯά w ߏ w /7' w
ΞϓϦέʔγϣϯ͝ͱʹ੍ޚ͞ΕͨϧʔςΟϯά w ྫ͑TJNͷFOBCMFʹ͢Δ͔ͳͲͷ"1*ͱ͔ w ͳͲɾɾɾ !44
αʔϏενΣΠχϯά 1 4 1 3 0 2 w 43Λͬͯ'8%1*ͳͲͷαʔϏεϊʔυΛ௨ΔΑ͏ ʹઃఆ͢Δ͜ͱ͕Մೳ
firewallɿ10 !45
%$ͷߏ IUUQTXXXTMJEFTIBSFOFUMJOFDPSQTT !46
ඪ४Խಈ !47
ඪ४Խಈ w *&5'ͷ413*/( 4PVSDF 1BDLFU3PVUJOHJO /FUXPSLJOH Ͱࡦఆ͞ΕͯΔ w ΞΫςΟϒͳυϥϑτ͕ ͋Γ׆ൃ
w ͜ͷத͔ΒҰͭϐοΫΞοϓ͠ ͯݟ·͢ɽ !48
ඪ४Խಈ w ͪͳΈʹͲΕ͘Β͍׆ൃͳͷ͔ͷ΄͔ͱαΠζΛൺֱ IUUQͰ߹ܭIJU 5-4ͰIJU !49
ඪ४Խಈ 43WͰຊਓ͕ٞʹࢀՃͯ͠ ΠχγΞνϒΛ࣋ͬͯΔʂ w ͳͷͰ43Wʹ͍ͭͯͷඪ४Խಈʹ͍ͭͯ΄ Μͷͪΐͬͱ͚ͩগ͠ϐοΫΞοϓ͠·͢ !50
ඪ४Խಈ w ࡢͷESBGUpMTpMTTQSJOHTSWOFUXPSLQSPHSBNNJOH w ʮ֦ுϔολʔʹసૹઌͷࢦఆʢ-PDBUPSʣ͚ͩͰͳ͘ύέοτΛड͚ औͬͨ࣌ͷ"DUJPOʢ'VODUJPOʣ߹Θͤͯࢦఆ͢Δ͜ͱ͕ఆ͍ͯ͠Δʯ w ֦ுϔολʔʹॻ͖ࠐΊΔ4*%͕Ϗοτ͋Δ -PDBUPSʢసૹઌʣ "SHVNFOU
"DUJPOʹର͢Δύϥϝʔλ 'VODUJPO "DUJPO CJU ͪͳΈશͯՄมͷ߲ !51
ඪ४Խಈ w ࠓͷESBGUpMTpMTTQSJOH TSWOFUXPSL QSPHSBNNJOHͰ w ͍ͭʹެࣜͰ࣮ݧ࣮͕ੜ͑ͨ w IUUQTHJUIVCDPN FCJLFOQTSW
w Θ͔ͣҰΒͣͰ͍͢͝ ◦T.Insert ◦T.Encaps, T.Encaps.Red ◦End, End.DT6 ◦End.MAP (future) ◦End.M.GTP6.D ◦End.M.GTP6.E ◦End.M.GTP4.E (future) ◦T.M.Tmap (future) ◦End.Limit (not planned) !52
ඪ४Խಈ w ݸਓతʹ໘ന͔ͬͨͷϕϯμʔ֤͕ࣾͲ͏͍͏ํʹ͖ ͍ͨͷ͕ผ్ͷࢿྉΛ୳͢ͱຯʹಁ͚ͯΘ͔Δͱ͍͏͜ͱɽ IUUQTXXXOJDBEKQKBNBUFSJBMTJFUGSFQPSUNBUTVTIJNBQEG !53
ඪ४Խಈ IUUQTXXXOJDBEKQKBNBUFSJBMTJFUGSFQPSUNBUTVTIJNBQEG !54
ඪ४Խಈ·ͱΊ w 43W࣮ʹඪ४Խ͕ग़͔ͨΓͷ৽͍ͭ͠ w Ͳ͜ͷϕϯμʔڵຯʑͱ͍͏͜ͱ͕Θ͔Γɼ͜ΕΒ͔ ͳΓਐาͯ͠Δʂ w ฒʑͳΒ͵ྗΛײ͡ΔͷͰͥͻ৭ʑݟͯཉ͍͠ !55
ະདྷͱͦͷઌ !56
ࠓͷ43๊͕͑Δ w 4*%ͷཧϓϥΫςΟεϓϩϏδϣχϯά͕ඞཁ w ηάϝϯτϧʔςΟϯάͷ֊Խ w ͲΜͳ5&ϙϦγʔʹ͢Ε͍͍ͷ͔ w ϥϕϧελοΫͷ૿ՃͰͷݶք w
ύοͱࢥ͍͍ͭͨͷͰ͜Μͳײ͡Ͱ·ͩ·ͩࣽ٧Ί Δඞཁ͕͋Γͦ͏ !57
4*%ͷཧϓϥΫςΟε ϓϩϏδϣχϯά͕ඞཁ w /PEF4*%4FHNFOUEPNBJOͰ(MPCBMͳͰ͋Δඞཁ͕͋Δ w ͭ·ΓඃΒ͍͚ͤͯͳ͍ɽ w ඃͬͯ͠·ͬͨϊʔυͷͲͪΒΛ༗ޮʹ͠Α͏͔ͱ͍͏نఆͪ ΖΜଘࡏ͢Δ w
DGESBGUJFUGTQSJOHDPOqJDUSFTPMVUJPO w ίϯϑΟάͰԿઃఆ͢ΔJOEFYͷͳΜͯͨͩͷͳͷͰͱͯ ਏ͍ɾɾɾ w ϓϩϏδϣχϯάπʔϧՄࢹԽͷϓϥΫςΟε͕ඞཁ !58
ηάϝϯτϧʔςΟϯά ͷ֊Խ w ֤ϊʔυ͕43EPNBJOͷશ4*%ใΛอ࣋͢Δඞཁ ੑ͕ଘࡏ͢Δͭ·ΓωοτϫʔΫن֦େʹ͏ใ ྔͷ૿ՃͰࢮ͵ w ղܾࡦɿ֊ԽΛߦ͏ w ֤ϊʔυʹ্ҐηάϝϯτͷใͷΈΛ࣋ͨͤɼ
ଞͷ্ҐηάϝϯτͷϊʔυΛӅṭ w ֤ϊʔυͷ࣋ͭใྔݮΛ࣮ݱ !59
ηάϝϯτϧʔςΟϯά ͷ֊Խ w ͜ͷղܾࡦʹ͕͋Δ w ϙϦγઃఆൣғͷ໌֬ԽԿͰ͢Εྑ͍ΜͩΖ͏ w ্Ґηάϝϯτͷ4*%༩ͷ༗ແʹΑΔྨʁ w 431$&ͷϙϦγઃఆख๏ʹΑΔྨʁ
w ͦͦநԽͨ͠֊Խͨͭ͠11ΑΖ͘͠ͳײ͡Ͱ࣍ ܘతͷ͕ͦͷ͏ͪى͖ΔͷͰɾɾɾʁ w ࠷େ࣍ͱܘͷ੍ͷͱͰͲΕ͚ͩΛଟؚ͘Μͩ άϥϑΛ࡞ΕΔ w DGܘ͕খ͍͞ԆΛখ͘͞Ͱ͖Δ !60
·ͱΊ w 43ΊͬͪΌศརɽؒҧ͍ͳ࣍͘ੈͷύϥμΠϜʹ ͳΔʢͱࢲࢥͬͯΔʣ w ͔͠͠ΦϖϨʔγϣϯͷ؍͔ΒͲ͏͢Εྑ͍Μͩ Ζ͏ͳͱ͍͏ͷ͕ΰϩΰϩ͋Γ·ͩ·ͩࣽ٧ΊΔ͖ ੈք؍ɽ w ͔ͳΓ༻ޠΛͰ͖Δ͚ͩল͍ͨͷͰॏശͷ۱Λͭͭ͘
ͱϘϩ͕ग़ΔͷͰʢ༏͘͠ʣٙฉ͍͍ͯͩ͘͞ !61
ࢀߟ https://www.slideshare.net/tech_jstream/traffic-engineering-jtf2017 https://docs.fd.io/vpp/17.04/srv6_doc.html http://www.segment-routing.net/ietf/ https://docs.fd.io/vpp/17.04/srv6_doc.html https://clnv.s3.amazonaws.com/2018/anz/pdf/BRKRST-1124.pdf https://www.cisco.com/c/dam/assets/global/JP/training-events/events-webinars/interop/sp-03-interop2016-segment.pdf https://www.mpls.jp/2017/presentations/mpls_jp_2017_matsushima-post.pdf https://www.janog.gr.jp/meeting/janog40/application/files/7815/0104/5635/janog40-sr-mpls-miyasaka-00.pdf https://datatracker.ietf.org/doc/draft-ietf-spring-segment-routing-central-epe/?include_text=1
https://datatracker.ietf.org/doc/draft-ietf-spring-segment-routing-ldp-interop/?include_text=1 https://datatracker.ietf.org/doc/draft-filsfils-spring-srv6-network-programming/?include_text=1 !62
"SFUIFSFBOZRVFTUJPOT !63