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
110
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
110
Postmanを利用したAPI開発/postman-tutorial
nishina555
0
66
テキスト校正ツールtextlintの 紹介と導入方法/textlint-overview
nishina555
0
67
認証・認可の仕組みを理解する上で知っておきたい基礎知識/auth-overview
nishina555
1
170
REST APIとの比較でざっくり理解するGraphQL/graphql-introduction
nishina555
0
160
ウィンドウ操作に便利な ショートカットとアプリ紹介/mac-window-shortcut
nishina555
0
130
図で理解する自然言語処理/nlp_tutorial
nishina555
0
210
ToDoアプリで学ぶReact/Redux入門/vtecx2_lt2
nishina555
2
2.8k
DiveIntoOSSThroughHacktoberfest_SPMKT
nishina555
1
290
Other Decks in Programming
See All in Programming
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
910
C#/.NETのこれまでのふりかえり
tomokusaba
1
150
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
1
290
現場で役立つモデリング 超入門
masuda220
PRO
12
2.9k
CSC305 Lecture 13
javiergs
PRO
0
130
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
4
1.5k
Synchronizationを支える技術
s_shimotori
1
150
cXML という電子商取引の トランザクションを支える プロトコルと向きあっている話
phigasui
3
2.2k
Vue SFCのtemplateでTypeScriptの型を活用しよう
tsukkee
3
1.5k
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
120
破壊せよ!データ破壊駆動で考えるドメインモデリング / data-destroy-driven
minodriven
16
4k
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.5k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.9k
Embracing the Ebb and Flow
colly
84
4.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
92
16k
Side Projects
sachag
452
42k
Adopting Sorbet at Scale
ufuk
73
9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
Code Reviewing Like a Champion
maltzj
519
39k
Designing for humans not robots
tammielis
249
25k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Practical Orchestrator
shlominoach
186
10k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Cult of Friendly URLs
andyhume
78
6k
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)ΛΈΔ͜ͱͰωοτϫʔΫͷنɺ ϗετ͕Θ͔Δɻ͕গͳ͍΄Ͳϗετଟ͍
·ͱΊ