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.4k
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
2.1k
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
2
2.8k
Exploring XDP: Fundamentals and Real-World Implementations in Mobile Network Data Plane
takehaya
1
3.4k
JANOG53 LT 自作k6 Extension利用した NFVへの負荷計測手法の紹介
takehaya
0
630
Wakamonog13 LT: VPPで始めるHigh Performance BGPルーター
takehaya
2
1.5k
自作パケット処理系の性能測定と可視化&改善のPDCAを回して最強のパケット処理系の作り方を学ぼう / Let's Measure the Performance of Packet Processing System with Python Tools.
takehaya
4
5.2k
SRv6 Mobile User Plane(MUP) の紹介とMUP-BGPのOSS実装における相互接続性について
takehaya
1
900
Debug linux drop packets
takehaya
1
1.2k
ICTSCにおけるk8s運用の話
takehaya
0
570
Other Decks in Programming
See All in Programming
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
監視 やばい
syossan27
12
10k
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
260
カウシェで Four Keys の改善を試みた理由
ike002jp
1
140
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
1.3k
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
860
Носок на сок
bo0om
0
1.3k
2025年のz-index設計を考える
tak_dcxi
11
4.1k
VitestのIn-Source Testingが便利
taro28
8
2.4k
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
120
AWS Summit Hong Kong 2025: Reinventing Programming - How AI Transforms Our Enterprise Coding Approach
dwchiang
0
140
Cursor/Devin全社導入の理想と現実
saitoryc
29
22k
Featured
See All Featured
BBQ
matthewcrist
88
9.6k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
We Have a Design System, Now What?
morganepeng
52
7.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Bash Introduction
62gerente
613
210k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Agile that works and the tools we love
rasmusluckow
329
21k
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