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
naist colloquium-B 2
Search
Tomoki Sugiura
September 15, 2021
0
180
naist colloquium-B 2
Tomoki Sugiura
September 15, 2021
Tweet
Share
More Decks by Tomoki Sugiura
See All by Tomoki Sugiura
CiliumによるKubernetes Network Policyの実現 CNDT2021
shanpu
0
1k
ricc-20210826
shanpu
0
450
IOT53
shanpu
0
50
RICC-PIoT Workshop 2021
shanpu
0
570
ricc-nii-2020
shanpu
0
97
Cloud Native Kansai #05 LT4
shanpu
1
920
gcpug-kyoto#2-LT1
shanpu
0
620
kubernetes-seminar
shanpu
0
150
KansaiLT2
shanpu
0
220
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
169
14k
Embracing the Ebb and Flow
colly
84
4.5k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Side Projects
sachag
452
42k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Adopting Sorbet at Scale
ufuk
73
9.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
How GitHub (no longer) Works
holman
311
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
The Cult of Friendly URLs
andyhume
78
6.1k
Transcript
AcarɿSRv6Λ༻͍ͨΞϓϦέʔγϣϯ ͷ௨৴ಛੑΛߟྀͨ͠௨৴ܦ࿏ܾఆख๏ NAIST Colloquium B Sep. 2021 /"*45ใՊֶྖҬ ιϑτΣΞઃܭֶݚڀࣨ.ਿӜஐج
˓ ΞϓϦέʔγϣϯͷ௨৴ಛੑʹΑͬͯ࠷దͳܦ࿏ҟͳΔ ˔ ΦϯϥΠϯήʔϜˠϨΠςϯγʢԆʣॏࢹ ˔ ϑΝΠϧ௨৴ˠεϧʔϓοτʢసૹσʔλྔʣॏࢹ ˓ طଘख๏ʢFH#(1ɼ041'ʣ ˔ ΞϓϦέʔγϣϯ͝ͱʹܦ࿏ίετΛมߋ͢Δ͜ͱ͕Ͱ͖ͳ͍
˔ ଞΑΓίετ͕͍ܦ࿏ʹτϥϑΟοΫ͕ूத͢Δ ݚڀഎܠ 2
˓ ΞϓϦέʔγϣϯͷ௨৴ಛੑΛߟྀͨ͠ܦ࿏ܾఆͷ࣮ݱ ˔ ϨΠςϯγ ˔ εϧʔϓοτ ݚڀత 3
ؔ࿈ݚڀ 4 ˓ 0QFO'MPXΛ༻͍ͨઌߦݚڀ<> ˔ ͦΕͧΕͷϑϩʔΛΞϓϦέʔγϣϯͷ௨৴ಛੑʹԠͯ͡ઃఆ ˓ 0QFO'MPXͷܽ ܦ࿏ઃఆɼมߋʹ͔͔Δૢ࡞͕εΠονʹԠͯ͡૿Ճ ΞϓϦέʔγϣϯʹԠͯ͡ϑϩʔςʔϒϧ͕ංେԽ
<>16DIVQBMB FUBMl"QQMJDBUJPOBXBSFOFUXPSL/FUXPSLSPVUFNBOBHFNFOUVTJOH4%/CBTFEPOBQQMJDBUJ DIBSBDUFSJTUJDT z$4*5SBOTBDUJPOTPO*$5 WPM OP QQ ϑϩʔςʔϒϧ ͷංେԽ ͦΕͧΕͷεΠονͷ มߋө
ఏҊख๏ 5 ˓ ιʔεϧʔςΟϯάΛ׆༻ͨ͠ࢄܕܦ࿏ܾఆ͓Αͼ ੍ޚख๏ ˔ ૹ৴ݩϊʔυͰܦ࿏Λܾఆ ˔ ιʔεϧʔςΟϯάʹ4FHNFOU3PVUJOHͷҰछͰ͋Δ 43WΛ׆༻
0QFO'MPX ఏҊख๏
˓ 4FHNFOU3PVUJOHʢ43Wʣ ˔ ೖޱϧʔλͰύέοτʹ*%ϦετΛ༩ ˔ ్தϊʔυϦετͷ*%ΛݟͯసૹΛߦ͏ ˓ 43WͰ*%ʹ*1WΛ༻ ˔ *1Wͷ֦ுϔομʢ43)ʣΛ༻
Segment Routing 6
SRv6ʢ1/2ʣ 7 ˓ εΠον"Ͱ*1WͷϦετΛϔομʹ༩ ˓ ͦΕͧΕͷεΠον#ʙ%ʹϦετͷߋ৽ɼసૹॲཧͱ *1WͷରԠؔΛ͋Β͔͡Ίઃఆ &OEɿ%TUͱ43)Λॻ͖ม͑Δ &OE%9ɿ43)Λ֎͠ࢦఆͷ *1WOFYUIPQૹ৴
˓ εΠον#ʙ%ϔομʹ༩͞ΕͨϦετΛݟͯ ͦΕͧΕసૹΛߦ͏ SRv6ʢ2/2ʣ 8 &OEɿ%TUͱ43)Λॻ͖ม͑Δ &OE%9ɿ43)Λ֎͠ࢦఆͷ *1WOFYUIPQૹ৴
ఏҊख๏ͷར 9 ܦ࿏มߋ࣌ͷίετ͕͍ ˔ ೖޱϧʔλͰ༩͢Δ֦ுϔομͷ*%ϦετͷΈΛߋ৽ ϑϩʔςʔϒϧ͕ංେԽ͠ͳ͍ ˔ ܦ࿏தϊʔυʹ༧Ί4*%ͱͦΕʹඥͮ͘ॲཧΛܾఆ͓ͯ͘͠ ˔ ΞϓϦέʔγϣϯ͕૿Ճͯ͠ܦ࿏தϊʔυʹରͯ͠ϑϩʔ͝
ͱͷςʔϒϧૢ࡞ෆཁ Ϧετͷ มߋͷΈ ϑϩʔ͝ͱͷ ઃఆมߋ͕ෆཁ
˓ ͭͷఔͰॲཧΛ࣮ߦ ఏҊγεςϜʢAcarʣͷΞϓϩʔν 10
AcarͷΞʔΩςΫνϟ 11 ఏҊγεςϜ֎
AcarͷΞʔΩςΫνϟ 12 ࣮Օॴ ϝτϦΫεऩू ܦ࿏ܾఆ ఏҊγεςϜ֎
AcarͷΞʔΩςΫνϟ 13 ϝτϦΫεͷૹ৴ ࣮Օॴ ϝτϦΫεऩू ܦ࿏ܾఆ ఏҊγεςϜ֎
AcarͷΞʔΩςΫνϟ 14 ϝτϦΫεͷૹ৴ ܦ࿏ܾఆʹඞཁͳ ใͷૹ৴ ࣮Օॴ ϝτϦΫεऩू ܦ࿏ܾఆ ఏҊγεςϜ֎
AcarͷΞʔΩςΫνϟ 15 ϝτϦΫεͷૹ৴ ܦ࿏ܾఆʹඞཁͳ ใͷૹ৴ ࢉग़ͨ͠ܦ࿏ ʢ4*%Ϧετʣ ͷૹ৴ ࣮Օॴ ϝτϦΫεऩू
ܦ࿏ܾఆ ఏҊγεςϜ֎
AcarͷΞʔΩςΫνϟ 16 ϝτϦΫεͷૹ৴ ܦ࿏ܾఆʹඞཁͳ ใͷૹ৴ ࢉग़ͨ͠ܦ࿏ ʢ4*%Ϧετʣ ͷૹ৴ 4*%Ϧετͱ"QQ ͷඥ͚ใͷૹ৴
࣮Օॴ ϝτϦΫεऩू ܦ࿏ܾఆ ఏҊγεςϜ֎
AcarͷΞʔΩςΫνϟ 17 ϝτϦΫεͷૹ৴ ܦ࿏ܾఆʹඞཁͳ ใͷૹ৴ ࢉग़ͨ͠ܦ࿏ ʢ4*%Ϧετʣ ͷૹ৴ 4*%Ϧετͱ"QQ ͷඥ͚ใͷૹ৴
ઃఆͷద༻ ࣮Օॴ ϝτϦΫεऩू ܦ࿏ܾఆ ఏҊγεςϜ֎
ܦ࿏ܾఆํ๏ʹ͍ͭͯ 18 ˓ ߴଳҬ෯Λফඅ͢ΔΞϓϦέʔγϣϯͷΈΛର ˔ ԆॏࢹͳΞϓϦέʔγϣϯܦ࿏ܭࢉɼ43WͷΤϯΩϟο ϓɾσΩϟοϓͷΦʔόϔουʹΑΔӨڹΛड͚͍ͨ͢Ί ˓ ܦ࿏ܾఆΞϧΰϦζϜ ˔
ΞϓϦέʔγϣϯͷ࠷ཁٻଳҬ෯Λຬͨ͢ܦ࿏Λྻڍ ˗ ࠷ཁٻଳҬ෯ࣄલʹఆٛ ˔ ީิͷܦ࿏ͷ͏ͪɼϗοϓ͕࠷খ͍͞ͷΛબ ܦ࿏ (CQTϗοϓ ܦ࿏ .CQTϗοϓ ܦ࿏ .CQTϗοϓ .CQT Ҏ্ ܦ࿏ (CQTϗοϓ ܦ࿏ .CQTϗοϓ ϗοϓ ࠷খ ܦ࿏ .CQTϗοϓ
˓ W4QIFSF্ʹߏஙɼ-FBG4QJOFؒ.CQTʹ੍ݶ ˓ ֤Ϛγϯಉ࢜041'ʹΑΓܦ࿏Λࠂ ˓ ֤"QQMJDBUJPO)PTUʹ%PDLFSίϯςφͱͯ͠DMJFOUͱ TFSWFSΛอ༗ ධՁ ࣮ݧڥ 19
˓ )PTU͔Β)PTUɼ)PTU௨৴ ˔ ֤.CQT ɼ.CQT ˔ .CTͷ௨৴ܦ࿏ͷΈ"DBSͰ࠷దԽ ˔ ؒ௨৴Λ࣮ߦ
˓ &$.1ͱ"DBSͰ εϧʔϓοτൺֱ ධՁ ࣮ݧ1 20 4XJUDI"HFOU "DBS$PSF
˓ &$.1 ˔ ௨৴ܦ࿏ͷภΓ ˔ 5P4QJOFɿ.CQT ˔ 5P4QJOFɿ.CQT ˓ "DBS
˔ ඵൃৼͨ͠ͷͪఆৗঢ়ଶ ˔ 5P4QJOFɿ.CQT ˔ 5P4QJOFɿ.CQT ˓ ߹ܭεϧʔϓοτ͕"DBS͕ &$.1ͱൺֱͯ͠ഒ ධՁ ࣮ݧ1 ݁Ռ 21 0 50 100 150 200 250 300 Time [s] 0 100 200 300 400 500 Throughput [Mbps] ECMP Leaf1 to Spine1 ECMP Leaf1 to Spine2 Acar Leaf1 to Spine1 Acar Leaf1 to Spine2
˓ ֤)PTUؒͰ௨৴Λൃੜ ˔ ֤.CQT ɼ.CQT ˔ ؒͷ௨৴Λճ࣮ߦ ˓ &$.1ͱ"DBSͰ
εϧʔϓοτൺֱ ධՁ ࣮ݧ2 22
˓ ֤ࢼߦʹ͓͚ΔϗετຖΫϥΠΞϯ τͷ߹ܭ࣮ޮεϧʔϓοτͷฏۉ ˓ ͓͓Αͦͷࢼߦʹ͓͍ͯ"DBSͷํ͕ &$.1ͱൺֱͯ͠ߴ͍εϧʔϓοτ ධՁ ࣮ݧ2 ݁Ռ 23
ECMP Acar 450 500 550 600 650 700 750 800 850 Throughput [Mbps]
·ͱΊɾࠓޙͷ՝ 24 ˓ ΞϓϦέʔγϣϯͷ௨৴ಛੑΛߟྀͨ͠ܦ࿏ܾఆख๏ ˔ 43WΛ༻͍ͨࢄܕܦ࿏੍ޚ ˗ 0QFO'MPXʢதԝूݖܕʣͷܦ࿏มߋίετɼ సૹςʔϒϧංେԽͷ՝Λղܾ ˔
&$.1ͱൺֱͯ͠εϧʔϓοτ্͕͢Δ͜ͱΛ֬ೝ ˓ ࠓޙͷ՝ ˔ ܦ࿏ܾఆΞϧΰϦζϜͷमਖ਼ͱվળ ˔ ΑΓ࣮ڥʹ͍ۙ௨৴γφϦΦͰͷγεςϜධՁ