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
2k
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
2
2.5k
Exploring XDP: Fundamentals and Real-World Implementations in Mobile Network Data Plane
takehaya
1
3.2k
JANOG53 LT 自作k6 Extension利用した NFVへの負荷計測手法の紹介
takehaya
0
600
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.1k
SRv6 Mobile User Plane(MUP) の紹介とMUP-BGPのOSS実装における相互接続性について
takehaya
1
880
Debug linux drop packets
takehaya
1
1.2k
ICTSCにおけるk8s運用の話
takehaya
0
570
Other Decks in Programming
See All in Programming
フロントエンドテストの育て方
quramy
9
2.5k
令和トラベルにおけるコンテンツ生成AIアプリケーション開発の実践
ippo012
1
260
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
150
Develop Faster With FrankenPHP
dunglas
2
2.5k
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
140
아직도 SOLID 를 '글'로만 알고 계신가요?
sh1mj1
0
360
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
120
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
1.1k
SQL Server ベクトル検索
odashinsuke
0
120
生成AIの使いどころ
kanayannet
0
100
家族・子育て重視/沖縄在住を維持しながらエンジニアとしてのキャリアをどのように育てていくか?
ug
0
240
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
KATA
mclloyd
29
14k
Speed Design
sergeychernyshev
28
860
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
4 Signs Your Business is Dying
shpigford
183
22k
Automating Front-end Workflow
addyosmani
1369
200k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
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