Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
階層独立性の高いプロトコルスタックの設計と実装
Search
Hiroki Watanabe (nelio)
March 22, 2019
Programming
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
階層独立性の高いプロトコルスタックの設計と実装
2019年3月22日に行われた「第8期サイボウズ・ラボユース成果発表会」にて使用したスライド(一部変更あり)
Hiroki Watanabe (nelio)
March 22, 2019
More Decks by Hiroki Watanabe (nelio)
See All by Hiroki Watanabe (nelio)
L4周辺の高機能通信路とネットワークの階層構造の再考
negli0
1
860
Other Decks in Programming
See All in Programming
ChromeでローカルLLM
ryu1013
0
180
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
150
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
120
Performance Optimization With LLMs
xleitix
0
230
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.9k
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
12
11k
JIS keyboard support in Omarchy
lef237
0
170
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.9k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.8k
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
290
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
130
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
500
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
590
Marketing to machines
jonoalderson
1
5.9k
Testing 201, or: Great Expectations
jmmastey
46
8.4k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
New Earth Scene 8
popppiees
4
2.7k
Designing for Performance
lara
612
70k
The Cult of Friendly URLs
andyhume
79
7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
650
Facilitating Awesome Meetings
lara
57
7.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
610
Transcript
֊ಠཱੑͷߴ͍ ϓϩτίϧελοΫͷ ઃܭͱ࣮ ୈظαΠϘζɾϥϘϢʔεՌൃදձ!$ZCP[V౦ژΦϑΟε .BS )JSPLJ8"5"/"#& ެ։൛
• OFMJP - 5XJUUFS!@@OFMJP@@ - )1https://negli0.github.io - ݱࡏܚጯٛक़େֶ% - ϝϯλʔޫ͞Μ
• ݚڀ/FUXPSL4ZTUFN - &EHF$PNQVUJOH 4FSWJDF$IBJOJOH - "EWBODFE3PVUJOHɼ1SPUPDPM4UBDL झຯ 2 )JSPLJ8BUBOBCF
• ͘Β͍ເͯͨ͠ϞϊΛ࡞Δ - ֊ಠཱੑͷߴ͍ϓϩτίϧελοΫlFYMBZz • ΧʔωϧϓϩάϥϛϯάΛ͍ͨ͠ - ΄ͱΜͲͬͨ͜ͱ͕ͳ͔ͬͨͷͰ • ϥϘϢʔεલΧʔωϧ͔ͬ৮ͬͯͨ
• ޙϢʔβۭؒʢ1P$ʣ࣮ - ͋ͱݚڀͷࢹΛ͛ΔͨΊ • ࣮υϦϒϯͳݚڀͱͯ͠Ґஔ͚ͮΔ - ීஈݚڀυϦϒϯͳ࣮ • ࣮υϦϒϯͰ͖Δͱָͦ͠͏ Ͱ͖ͨ΄͏͕ྑ͍ 3 ϥϘϢʔεʹ͓͚Δୡඪ
• ݱࡏͷϓϩτίϧελοΫ ҎԼ୯ʹελοΫ - ϓϩτίϧͷػೳͱ֊͕ີ݁߹ ϞϊϦγοΫ • FH
&UIFSOFUୈ֊ɼ*1ୈ֊ɼʜ - طʹఆٛ͞Εͨ֊ߏΛར༻͢ΔϞσϧ • ֤ϓϩτίϧͷػೳͱ֊ҐஔΛ - ֊ಠཱੑ͕ߴ͘ͳΔ • ϓϩτίϧػೳͱ֊Ґஔͷ͕ؔرബʹ - ϓϩτίϧͷ֓೦Λ͋Δఔ·ͰҰൠԽͰ͖Δ • ػೳ͕ҟͳΔ͚ͩͰஔ͖͑Մೳ 4 ͡Ίʹ
5 Πϝʔδ Prot. W Prot. X Prot. Z App. App.
App. Prot. Y Prot. X Prot. W Prot. Y Prot. Z App. App. App. Prot. Y Prot. Z Prot. X Prot. W Prot. Y Prot. W Prot. Z Prot. W Prot. X ϞϊϦγοΫͳελοΫ ֊ಠཱੑ͕ߴ͍ελοΫ ֤ϓϩτίϧΛͲ͜ʹҐஔ͚ͮΔ͔ "QQ͝ͱʹҧͬͯྑ͍
• ϓϩτίϧ֓೦ͷҰൠԽ - ஔ͖͑Մೳɼػೳ͕֊ҐஔʹറΒΕͳ͍ • FH *1͚ͩΛผͷ-ϓϩτίϧʹஔ͖͑ • FH ಠࣗͷελοΫΛఆٛՄೳ
- ੍ϓϩτίϧಠࣗͷૢ࡞͕͘͠ͳΔ • ϓϩτίϧ࣮ͷ࠶ར༻ - ϓϩτίϧ͕ΞϓϦʹ౷߹͞Εͳ͍ˠ͍ճ͠ • ٯʹݴ͑ΞϓϦ͝ͱʹ࠷దԽͰ͖ͳ͍ - ৽ͨͳಠࣗϓϩτίϧͷ࣮ݧ͕༰қ • Ұ࡞Ε্ҐԼҐΛվΊͯ࡞Βͳͯ͘ྑ͍ 6 ֊ಠཱੑΛߴΊΔՁ
• ϓϩτίϧૢ࡞ͷநԽ - ͲΜͳॱংͰੵΈ্͛ΒΕͯػೳ͢ΔΑ͏ʹ • 1SPUPDPM1SPUPDPM*'ͷ͋ΔఔͷҰൠԽ • ελοΫͱΞϓϦΛ͢Δ - ϓϩτίϧ࣮ଞͷελοΫͰ͍ճͤΔ
• $1MBOFαϙʔτ - ֤ϓϩτίϧʹ͓͚Δ௨৴૬खΛಈతʹܾఆՄ • "31ɼ/%1ͳͲ 7 ཁٻࣄ߲
• 04*ࢀরϞσϧΛ࣮͠Α͏ͱͨ͠ - ֤ͷ*'ڞ௨ • ͋ΒΏΔ-ϓϩτίϧ ڞ௨*'Ͱ-ϓϩτίϧͱ ΓऔΓՄೳ - ֤ؒͷ*'ผ
• --*'ͱ--*'ผ 8 ؔ࿈ٕज़4ZTUFN7453&".4 • Transport Provider Interface Specification ◦ http://www.openss7.org/docs/tpi.pdf • Network Provider Interface Specification ◦ http://www.openss7.org/docs/npi.pdf • Datalink Provider Interface Specification ◦ http://www.openss7.org/docs/dlpi.pdf Layer 1 Layer 2 Layer 3 Layer 4 Layer 7 ... L1-L2 I/F L2-L3 I/F L3-L4 I/F ϓϩτίϧ͕֊Ґஔʹଋറ͞Ε͍ͯΔͱ͍͑Δ
• ͷநԽߏ छͷ*' - ߴͰ༏ΕͨநԽ - 1SPUPDPM1SPUPDPM*'ෆఆ • 'SFF#4%protosw
Ͱ நԽ • -JOVYʜʁ • Ұൠʹ֊ߏ੩తఆٛ - વܾΊଧͪ͢Δ΄͏͕ߴ 9 ؔ࿈ٕज़#4%4PDLFU Driver Socket App Protocol-Driver I/F Protocol Stack App.-Socket I/F Socket-Protocol I/F Protocol
• 1SPUPDPM1SPUPDPM*'ͷநԽ - "QQY,FSOFMɼ Y,FSOFM%SJDFSநԽ - 453&".4ͱ#4%4PDLFU ͷ͍͍ͱ͜औΓΛࢦͨ͠ • ֊ߏ੩తఆٛ
- ఆٛΛมߋ͢Δʹ ΧʔωϧίϯύΠϧ͕ඞཁ - ଟ༷ͳελοΫΛදݱՄೳ 10 ؔ࿈ٕज़x,FSOFM Driver App x-Kernel-Driver I/F App.-x-Kernel I/F Protocol-Protocol I/F x-Kernel /$)VUDIJOTPOBOE--1FUFSTPO 5IFY,FSOFMBOBSDIJUFDUVSFGPSJNQMFNFOUJOHOFUXPSLQSPUPDPMT JO*&&& 5SBOTBDUJPOTPO4PGUXBSF&OHJOFFSJOH WPM OP QQ +BOจ63-
• Y,FSOFMΛࠓ෩ʹϦΞϨϯδ - $-*ͰϓϩτίϧΛFYMBZTUBDLʹϩʔυ - ϩʔυ͞ΕͨϓϩτίϧΛ༻͍ͯ"QQ͕ ελοΫΛఆٛ • ϓϩτίϧ࣮ -
TIBSFEMJCSBSZ • 1P$ͬͪ͜ - LFSOFMNPEVMF • ࠓޙ࣮ݱ͍ͨ͠ 11 FYMBZ Driver App exlay-Driver I/F App.-exlay I/F Protocol-Protocol I/F exlay stack Protocol List CLI
• ϓϩτίϧ։ൃͷͨΊͷܗ - OBNFϓϩτίϧ໊ - IES@TJ[FϔομαΠζ - VQQFS@TJ[F্Ґ*%αΠζ • JQQSPUPDPM
• FUIFSOFUUZQF - E@JOQVUE@PVUQVU • ड৴ૹ৴ϋϯυϥ - D@QVMMD@QVTI • $1MBOFϋϯυϥ 12 நԽϓϩτίϧQSPUPDPMPCK name d_input d_output c_pull c_push hdr_size bind_size upper_size dial listen close - EJBMMJTUFODMPTF • ελοΫཱ֬ղ์ϋϯυϥ ͕͜͜؊ɼ͔ͭ·ͩෆेͳͷͰߟ͑ଓ͚Δ
root ethernet ipv4 arp uplyr mac1 upper1 mac1 upper2 fbind
fbind uplyr fp is_top ip1 upper3 ip1 upper4 fbind is_top fbind udp uplyr fbind port1 upper5 is_top • FYMBZͷΤϯυϙΠϯτΛಛఆ͢Δ 13 CJOEJOHUSFF GCJOE QUSUPGPSXBSECJOEJOH ݱ֊ͷ֘ϓϩτίϧͷ MPDBMCJOEJOHͷϦετΛࢦ͢ GQ QUSUPGPSXBSEQSPUP ݱ֊ͷϓϩτίϧͷ ϦετΛࢦ͢ VQMZS QUSUPVQQFSMBZFS ݱ֊ʹ͓͍ͯಛఆ͞Εͨ MPDBMCJOEJOHͷ্Ґ ϓϩτίϧͷϦετΛࢦ͢
14 FYMBZ"1*ͱ࣮ঢ়گ ໊ؔ ಈ࡞ ࣮ঢ়گ FY@DSFBUF@TUBDL ελοΫΛએݴॳظԽ ✔ FY@TFU@CJOEJOH MPDBMͷ*1BEES
QPSUͳͲͷઃఆ ✔ FY@TFU@SFNPUF SFNPUFͷ*1BEES QPSUͳͲͷઃఆ ✔ FY@CJOE@TUBDL ελοΫΛఆٛ ✔ FY@EJBM@TUBDL $0SJFOUFEͳϓϩτίϧͷଓཁٻ FY@MJTUFO@TUBDL $0SJFOUFEͳϓϩτίϧͷଓԠ FY@TFOE@TUBDL ఆٛͨ͠ελοΫʹσʔλΛૹ৴ ✔ FY@SFDW@TUBDL ఆٛͨ͠ελοΫ͔ΒσʔλΛड৴ ✔ FY@DMPTF@TUBDL ఆٛͨ͠ελοΫΛղ์
• MJTUՃࡁΈϓϩτίϧऔಘ • BEE༻ՄೳϓϩτίϧͷՃ • EFMϓϩτίϧͷআ 15 $-*͔Βͷૢ࡞ Ұ෦ൈਮ
16 "QQ࣮Πϝʔδ
• UFTU@FUIFSOFUϓϩτίϧΛՃ • ֊ UFTU@FUIFSOFU ελοΫΛఆٛ - ѼઌΤϯυϙΠϯτෆ໌ͷ߹υϩοϓ - ѼઌΤϯυϙΠϯτ͕߹க͢Δͱදࣔ
• σʔλͷૹ৴ड৴ - ϝοηʔδͷදࣔ - XJSFTIBSLͰຊʹͦͷσʔλ͔Ͳ͏͔֬ೝ 17 σϞ
• τϯωϧΤϯυϙΠϯτΛ࡞Δ - ݱঢ়VOEFSMBZ͔Βࢦఆ͠ͳ͍ͱ͍͚ͳ͍ • τϯωϦϯάͰͳ͍ʜ • ֤ϓϩτίϧͷॆ࣮ͱ$1MBOFରԠ - Έ߹ΘͤΔϓϩτίϧ͕ແ͍ͱແҙຯ
• Χʔωϧಈ࡞ - TIBSFEMJCˠLFSOFMNPEVMF - 'SFF#4%Ͱಈ͔͍ͨ͠ • QSPUPTX NCVGΛྲྀ༻͍ͨ͠ 18 ࠓޙͷల
• ݱࡏͷϓϩτίϧελοΫ - ϓϩτίϧͷػೳͱ֊͕ີ݁߹ • FYMBZϓϩτίϧͷػೳͱ֊ҐஔΛ - ֊ಠཱੑ͕ߴ͘ͳΔ • ύζϧͷΑ͏ʹϢʔβ͕ελοΫΛఆٛͰ͖Δ
- ϓϩτίϧͷ֓೦Λ͋Δఔ·ͰҰൠԽͰ͖Δ • σϞ - ࣗ࡞ϓϩτίϧΛ༻͍ͨಠࣗελοΫΛఆٛ - σʔλૹड৴͕Ͱ͖ͨ 19 ·ͱΊ
• وॏͳܦݧ͕Ͱ͖·ͨ͠ - ͖ͳ044࡞͓͍͚ͬͯۚͨͩͯʜ • ྑ͍ҙݟΛࢁ͍͖ͨͩ·ͨ͠ - ޫ͞Μɼ͞Μɼ͋Γ͕ͱ͏͍͟͝·ͨ͠ • େֶͰ։ൃʹ͍ͭͯฉ͚Δ૬ख͕΄΅͍ͳ͍
• ಠྗେࣄ͕ͩ։ൃ্खͳਓʹֶͿͷେࣄ • ϥϘϢʔεΛΊ·͢ - ੍ΛͬͨΒߦ͖͍ͨਓ݁ߏ͍Δͱࢥ͏ 20 ͓ΘΓʹ