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
170
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
990
ricc-20210826
shanpu
0
430
IOT53
shanpu
0
38
RICC-PIoT Workshop 2021
shanpu
0
540
ricc-nii-2020
shanpu
0
93
Cloud Native Kansai #05 LT4
shanpu
1
900
gcpug-kyoto#2-LT1
shanpu
0
600
kubernetes-seminar
shanpu
0
150
KansaiLT2
shanpu
0
210
Featured
See All Featured
Docker and Python
trallard
40
3k
The Language of Interfaces
destraynor
154
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building an army of robots
kneath
302
42k
Music & Morning Musume
bryan
46
6.1k
A Tale of Four Properties
chriscoyier
155
22k
Scaling GitHub
holman
458
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
38
2.1k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
Building Your Own Lightsaber
phodgson
102
6k
Code Review Best Practice
trishagee
62
16k
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ͱൺֱͯ͠εϧʔϓοτ্͕͢Δ͜ͱΛ֬ೝ ˓ ࠓޙͷ՝ ˔ ܦ࿏ܾఆΞϧΰϦζϜͷमਖ਼ͱվળ ˔ ΑΓ࣮ڥʹ͍ۙ௨৴γφϦΦͰͷγεςϜධՁ