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
IPアドレス(IPv4)の仕組み/overview-of-ipaddress
Search
nishina
March 26, 2018
Programming
0
150
IPアドレス(IPv4)の仕組み/overview-of-ipaddress
nishina
March 26, 2018
Tweet
Share
More Decks by nishina
See All by nishina
1週間で終わらせるはじめてのGo言語学習/beginner-study-go
nishina555
1
160
Postmanを利用したAPI開発/postman-tutorial
nishina555
0
100
テキスト校正ツールtextlintの 紹介と導入方法/textlint-overview
nishina555
0
98
認証・認可の仕組みを理解する上で知っておきたい基礎知識/auth-overview
nishina555
1
240
REST APIとの比較でざっくり理解するGraphQL/graphql-introduction
nishina555
0
200
ウィンドウ操作に便利な ショートカットとアプリ紹介/mac-window-shortcut
nishina555
0
160
図で理解する自然言語処理/nlp_tutorial
nishina555
0
270
ToDoアプリで学ぶReact/Redux入門/vtecx2_lt2
nishina555
2
3k
DiveIntoOSSThroughHacktoberfest_SPMKT
nishina555
1
330
Other Decks in Programming
See All in Programming
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
200
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
830
ALL CODE BASE ARE BELONG TO STUDY
uzulla
28
6.8k
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
350
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
990
Amazon ECS Managed Instances が リリースされた!キャッチアップしよう!! / Let's catch up Amazon ECS Managed Instances
cocoeyes02
0
100
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
110
Towards Transactional Buffering of CDC Events @ Flink Forward 2025 Barcelona Spain
hpgrahsl
0
120
iOSでSVG画像を扱う
kishikawakatsumi
0
170
EMこそClaude Codeでコード調査しよう
shibayu36
0
470
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
What's new in Spring Modulith?
olivergierke
1
180
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
For a Future-Friendly Web
brad_frost
180
10k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Into the Great Unknown - MozCon
thekraken
40
2.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Fireside Chat
paigeccino
41
3.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Become a Pro
speakerdeck
PRO
29
5.6k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
ਔՊढ़ 2018/03/26 ʙ Ϋϥεྨ͔ΒαϒωοτϚεΫ·Ͱ ʙ IPΞυϨε(IPv4)ͷΈ
αʔϏεΛӡӦ͢ΔաఔͰωοτϫʔΫΛ੍ݶ͢Δػձଟ͍ ։ൃڥΛ֎෦͔ΒΞΫηεͰ͖ͳ͍Α͏ʹ͢ΔͨΊ ֎෦͔Βͷ߈ܸΛ͙ͨΊ ͳͥࠓIPΞυϨεʁ IPΞυϨεΛֶͿ͜ͱͰωοτϫʔΫͷӨڹൣғͳͲΛਖ਼͘͠ ཧղ͢Δ͜ͱ͕Ͱ͖Δ
IPΞυϨεͷ֓ཁ Ϋϥεʹ͍ͭͯ αϒωοτʹ͍ͭͯ ·ͱΊ ࣍
IPΞυϨεͷ֓ཁ
32ܻͷ0ɾ1ͷΈ߹Θͤ(2ਐ)ͰΓཱ͍ͬͯΔ 8Ϗοτ1ͱ͠ɺ4Έʹ͚ͯ10ਐͰදࣔͯ͠ਓͰ Θ͔Γ͍͢ܗͰදݱ͞Ε͍ͯΔ IPΞυϨεʹ͍ͭͯ 10000110 11101010 00000000 00000001 134
.234 .0 .1 2ਐ 10ਐ
ੈքతʹIANA(ICANN)Ͱ Ұݩཧ ຊࠃJPNIC͕ IPΞυϨεΛৼΓ͚͍ͯΔ ࠃϓϩόΠμͰར༻Ͱ͖Δ IPΞυϨεͷൣғܾ·͍ͬͯΔ IPΞυϨεͷৼΓ͚ํ IUUQTXXXDNBOKQOFUXPSLTVQQPSU*1@MJTUIUNM
ωοτϫʔΫ෦ͱϗετ෦ʹ͔Ε͓ͯΓɺ ʮͲͷωοτϫʔΫͷͲͷίϯϐϡʔλ͔ʯΛࣝผ͍ͯ͠Δ IPΞυϨεͷઌ಄͔ΒωοτϫʔΫ෦ ɾϗετ෦ͷॱ൪Ͱܻ͕ ׂΓৼΒΕΔɻ ωοτϫʔΫ෦ͱϗετ෦ͷڥքIPΞυϨεͷޙΖͷ”/“Ͱදݱ IPΞυϨεͷߏ 10000110 11101010
00000000 00000001 ϗετ෦ ωοτϫʔΫ෦ 134.234.0.1/16ͷ߹ 16ܻ 134.234ͷωοτϫʔΫͷ0.1ͱ͍͏ϗετ
ωοτϫʔΫ෦ͱϗετ෦ͷϧʔϧ (1/2) 134.234.0.1/16 134.234.0.2/16 134.234.0.3/16 134.235.xxx.xxx 134.234.xxx.xxx Πϯλʔωοτ ωοτϫʔΫ
ωοτϫʔΫ෦ωοτϫʔΫ͕ҧ͏߹ҧ͏Ͱͳ͚Ε͍͚ͳ͍
ωοτϫʔΫ෦ͱϗετ෦ͷϧʔϧ (2/2) 134.234.0.1/16 134.234.0.2/16 134.234.0.3/16 134.235.xxx.xxx 134.234.xxx.xxx Πϯλʔωοτ ϗετ෦ಉ͡ωοτϫʔΫͰ͋Εҧ͏Ͱͳ͍ͱ͍͚ͳ͍
ϗετ
શͯ0Ͱදݱ ϗετ෦ͯ͢Λࣔ͢ΞυϨε(= ωοτϫʔΫࣗΛࣔ͢) ωοτϫʔΫΞυϨε ϗετ෦ͷಛผͳΞυϨε(1/2) ྫ. 134.234.0.0/16 134.234.0.1 -
134.234.255.254ͷϗετ͕ଘࡏ͢Δ ωοτϫʔΫͷ͜ͱ 134.234.xxx.xxxͷωοτϫʔΫͷ͜ͱ
શͯ1Ͱදݱ ϗετ෦ͯ͢Λࣔ͢ શϗετʹಉҰͷ༰Λૹ৴͢Δͱ͖ͳͲʹར༻ ϒϩʔυΩϟετΞυϨε ϗετ෦ͷಛผͳΞυϨε(2/2) ྫ. 134.234.255.255 134.234.0.1 -
134.234.255.254ͷϗετશͯΛࢦ͢
ϩʔΧϧωοτϫʔΫͰׂΓͯΔ͜ͱͷͰ͖ΔΞυϨεͷ͜ͱ ϓϥΠϕʔτΞυϨεͱͯ͑͠ΔIPΞυϨεܾ·͍ͬͯΔ 10.0.0.1 ʙ10.255.255.254 (10.0.0.0/8) 172.16.0.1 ʙ172.31.255.254 (172.16.0.0/16) 192.168.0.1 ʙ192.168.255.254
(192.168.0.0/24) ϓϥΠϕʔτΞυϨε IPΞυϨεΛϗετ͝ͱͰͳ͘ωοτϫʔΫʹׂΓͯΔ͜ͱͰ ωοτϫʔΫؒͷϗετͰIPΛڞ༗͠ɺ4294967296(2ͷ32)Ҏ্ ͷίϯϐϡʔλʔ͕ΠϯλʔωοτΛར༻͢Δ͜ͱ͕Ͱ͖Δ
άϩʔόϧΞυϨεͱϓϥΠϕʔτΞυϨε 134.234.0.1 134.234.0.2 134.234.0.3 134.234.xxx.xxx 172.16.0.1 172.16.0.2 172.16.0.2 172.16.0.0
172.16.0.4 172.16.0.5 172.16.0.6 άϩʔόϧΞυϨε ϓϥΠϕʔτΞυϨε ϓϥΠϕʔτΞυϨεʹΑΓωοτϫʔΫ୯ҐͰάϩʔόϧΞυϨεΛڞ༗
ϓϥΠϕʔτΞυϨεͷܾ·Γ 134.234.0.1 134.234.0.2 134.234.0.3 134.234.xxx.xxx 172.16.0.1 172.16.0.2 172.16.0.3 172.16.0.0
172.16.0.1 172.16.0.2 172.16.0.3 172.16.0.0 ωοτϫʔΫ͕ҟͳΕϓϥΠϕʔτΞυϨεಉ͡Ͱྑ͍
Ϋϥεʹ͍ͭͯ
IPΞυϨεͷΫϥε IPΞυϨεωοτϫʔΫ෦ͱϗετ෦ͷΓ͚ํʹΑͬͯ ωοτϫʔΫͷن͕ҟͳΔ ωοτϫʔΫͷنʹΑͬͯIPΞυϨεΫϥεʹྨ͞ΕΔ ΫϥεʹΑͬͯར༻Ͱ͖ΔIPΞυϨε͕ܾ·͍ͬͯΔ (ͨͩ͠ɺࠓαϒωοτϚεΫ͕ಋೖ͞ΕͯॊೈʹIPΞυϨεΛ ར༻Ͱ͖ΔΑ͏ʹͳ͍ͬͯΔ)
Ϋϥεͷৄࡉ ΫϥεA ΫϥεB ΫϥεC ωοτϫʔΫن େن͚ தن͚ খن͚ ωοτϫʔΫ෦
্ҐϏοτ ্ҐϏοτ ্ҐϏοτ ωοτϫʔΫ ͷ ͷ ͷ ϗετ෦ ԼҐϏοτ ԼҐϏοτ ԼҐϏοτ ϗετ ͷ ͷ ͷ άϩόʔϧΞυϨε ʙ ʙ ʙ ϓϥΠϕʔτΞυϨε ʙ ʙ ʙ
αϒωοτʹ͍ͭͯ
ن͕େ͖͗ͣ͢খ͗͢͞ͳ͍ΫϥεBʹूத Ϋϥε͝ͱʹར༻Ͱ͖ΔIPΞυϨε͕ܾ·͍ͬͯΔͨΊ IPΞυϨε͕ෆ͢Δ ར༻͢ΔΫϥε͕ूத͢Δ ΫϥεBϗετ͕65,534ઃఆͰ͖Δ͕ݱ࣮తͰͳ͍ ϗετ͕༨ͬͨ݁ՌωοτϫʔΫ্ͰIPΞυϨε͕༨ͬͯ͠·͏ ϗετ͕ແବʹ༨Δ Ϋϥεͷ
αϒωοτϚεΫ ΫϥεʹറΒΕΔ͜ͱͳ͘ωοτϫʔΫ෦ͱϗετ෦ʹ͚ΒΕΔ Α͏ʹ͢Δࣝผࢠͷ͜ͱ ωοτϫʔΫ෦Λ1, ϗετ෦Λ0ͱ͢Δ ϓϨϑΟοΫεه๏ɺCIDR(Classless Inter-Domain Routing) Λར༻͢ΔࣄͰԿϏοτ͕ωοτϫʔΫ෦ͳͷ͔͕Θ͔Δɻ
αϒωοτϚεΫʹΑͬͯྨ͞ΕͨΫϥεωοτϫʔΫΛ αϒωοτͱ͍͏
αϒωοτͷ۩ମྫ 10101100 00010100 00000000 00000000 ϗετ෦ ωοτϫʔΫ෦ 172.20.0.0/16 16ܻ
Ϋϥεͷ߹ 10101100 00010100 00000000 00000000 ϗετ෦ ωοτϫʔΫ෦ 172.20.0.0/24 24ܻ αϒωοτͷ߹ 10101100 00010100 111111111 00000000 ϗετ෦ ωοτϫʔΫ෦ 172.20.1.0/24 24ܻ
IPΞυϨεͱαϒωοτϚεΫͷରԠ 10101100 00010100 00000000 00000000 ϗετ෦ ωοτϫʔΫ෦ 172.20.0.0/24 24ܻ
IPΞυϨε 111111111 111111111 111111111 00000000 ϗετ෦ ωοτϫʔΫ෦ 255.255.255.0 24ܻ αϒωοτϚεΫ ɾωοτϫʔΫ෦Λ1, ϗετ෦Λ0Ͱදݱͨ͠2ਐΛ10ਐʹ͢Δ ͱαϒωοτϚεΫͷͱͳΔ ɾαϒωοτϚεΫΛݟΕωοτϫʔΫͷن͕Θ͔Δɻ
(࠶ܝ) ΫϥεʹΑΔωοτϫʔΫ 134.234.0.1 134.234.0.2 134.234.0.3 134.234.xxx.xxx 172.16.0.1 172.16.0.2 172.16.0.3
172.16.0.0/16 172.16.0.4 172.16.0.5 172.16.0.6
αϒωοτϚεΫʹΑΓαϒωοτԽ͞ΕͨωοτϫʔΫ 134.234.0.1 134.234.0.2 134.234.0.3 134.234.xxx.xxx 172.16.0.0/24 172.16.0.1/24 172.16.0.2/24 172.16.0.3/24
172.16.1.0/24 172.16.1.1/24 172.16.1.2/24 172.16.1.3/24
·ͱΊ
IPΞυϨεʹ άϩʔόϧΞυϨεͱϓϥΠϕʔτΞυϨε͕͋Δ ϗετ෦͕શͯ0ͷͷωοτϫʔΫΞυϨε ϗετ෦͕શͯ1ͷͷϒϩʔυΩϟετΞυϨε ݩʑIPΞυϨεA, B, CͷΫϥεΛ͓࣋ͬͯΓɺ ࠓαϒωοτʹΑͬͯαϒωοτԽ͞Ε͍ͯΔ CIDR(/xx)ΛΈΔ͜ͱͰωοτϫʔΫͷنɺ ϗετ͕Θ͔Δɻ͕গͳ͍΄Ͳϗετଟ͍
·ͱΊ