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 at Mobile Network Data Plane
takehaya
0
150
Programmable Bandwidth Management with eBPF
takehaya
1
270
eBPF Deep Dive: Architecture and Safety Mechanisms
takehaya
13
2.5k
Perlで始めるeBPF: 自作Loaderの作り方 / Getting started with eBPF in Perl_How to create your own Loader
takehaya
3
3.4k
Exploring XDP: Fundamentals and Real-World Implementations in Mobile Network Data Plane
takehaya
1
3.9k
JANOG53 LT 自作k6 Extension利用した NFVへの負荷計測手法の紹介
takehaya
0
700
Wakamonog13 LT: VPPで始めるHigh Performance BGPルーター
takehaya
2
1.8k
自作パケット処理系の性能測定と可視化&改善のPDCAを回して最強のパケット処理系の作り方を学ぼう / Let's Measure the Performance of Packet Processing System with Python Tools.
takehaya
4
5.5k
SRv6 Mobile User Plane(MUP) の紹介とMUP-BGPのOSS実装における相互接続性について
takehaya
1
980
Other Decks in Programming
See All in Programming
Oracle Database Technology Night 92 Database Connection control FAN-AC
oracle4engineer
PRO
1
300
OSS開発者という働き方
andpad
3
1.1k
コーディングは技術者(エンジニア)の嗜みでして / Learning the System Development Mindset from Rock Lady
mackey0225
2
600
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
180
CSC305 Summer Lecture 12
javiergs
PRO
0
130
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
210
ゲームの物理
fadis
5
1.6k
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
2
110
パスタの技術
yusukebe
1
530
AIエージェント開発、DevOps and LLMOps
ymd65536
1
360
Infer入門
riru
4
1.6k
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
610
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.7k
Balancing Empowerment & Direction
lara
2
600
How to train your dragon (web standard)
notwaldorf
96
6.2k
How STYLIGHT went responsive
nonsquared
100
5.8k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Music & Morning Musume
bryan
46
6.8k
Code Review Best Practice
trishagee
70
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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