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
150
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
870
ricc-20210826
shanpu
0
390
IOT53
shanpu
0
36
RICC-PIoT Workshop 2021
shanpu
0
470
ricc-nii-2020
shanpu
0
80
Cloud Native Kansai #05 LT4
shanpu
1
830
gcpug-kyoto#2-LT1
shanpu
0
570
kubernetes-seminar
shanpu
0
130
KansaiLT2
shanpu
0
200
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
16
6.4k
Building an army of robots
kneath
300
41k
For a Future-Friendly Web
brad_frost
171
8.9k
Atom: Resistance is Futile
akmur
258
25k
Design by the Numbers
sachag
274
18k
Raft: Consensus for Rubyists
vanstee
132
6.2k
Into the Great Unknown - MozCon
thekraken
10
980
Gamification - CAS2011
davidbonilla
76
4.6k
The Invisible Side of Design
smashingmag
294
49k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
Being A Developer After 40
akosma
56
580k
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ͱൺֱͯ͠εϧʔϓοτ্͕͢Δ͜ͱΛ֬ೝ ˓ ࠓޙͷ՝ ˔ ܦ࿏ܾఆΞϧΰϦζϜͷमਖ਼ͱվળ ˔ ΑΓ࣮ڥʹ͍ۙ௨৴γφϦΦͰͷγεςϜධՁ