IPアドレスの計算方法を簡単にしてみた


第1回目の初投稿です!
ということで、これからネットワークやサーバーを勉強しようと
思ったのですがいきなりIPアドレスでつまずいたので
備忘録として残します。

参考サイト様:https://miyabi-lab.space/blog/8

そもそもIPアドレスって?

IPアドレスとはなんだ?
というところですがこれは他サイトなどでたくさん調べれば出てきます。

そう!
ネットワーク上の住所!!!(詳しくは他サイトで知らべ・・・て・・)

もう少しだけ掘り下げると、
自宅のパソコンやスマートフォンでネット検索したことありますよね?
その時にどこどこのだれだれのサイトだよーーっていうのがわかるために
存在するのがIPアドレスってやつ(らしい笑)

そして、日本の住所とかだと何丁目の何番地のどこどこマンション~
って感じで住所がわかるけど、パソコンは全て数字しか理解してくれないので
IPアドレスは数字で構成されてるのだ。(ドヤー)

そしてIPアドレスは数字の「0」と「1」だけで成り立ってる

ここまでいけてる?(・・・おそらく・・・)

2進数と10進数

前説はこのくらいにしてさっそくその計算方法を・・・
の前にそもそもIPアドレスが数字で構成されてるのはわかったけど
数字でどうやって住所がわかるの??
ってことで2進数、10進数ってのがでてくるのだ

数学得意な人はわかるかもだけど、僕みたいに文系、学歴底辺の人は
??????ってなるのがこれ。

簡単に説明

8桁(8bit)を4つずつに区切り(4オクテット)それの合計が32bitになる
8ケタで可能な組み合わせは2の8乗で256通り
10進数では0~255の256通り。
8bit 4オクテットでは、2の32乗 約43億通りになる

まぁよくわからないようなわかるような・・・ってところで
2進数でいうと、

最小:00000000.00000000.00000000.00000000

最大:11111111.11111111.11111111.11111111

↑のように最小~最大の間で43億通り組み合わせがあるのだ!

補足:
上記で話したのはIPv4というIPアドレスだが43億通りだとネット普及の昨今では足りないのでIPv6というほぼ無限に使えるIPアドレスへの移行が進んでる

ただこの2進数だと人間には読みずらいので、10進数に変換するって
ことでここで10進数様が登場!

変換方法がこちら

01010101という2進数が
10進数の85になる仕組み

0 * 2^7 = 0 * 128 = 0
1 * 2^6 = 1 * 64 = 64
0 * 2^5 = 0 * 32 = 0
1 * 2^4 = 1 * 16 = 16
0 * 2^3 = 0 * 8 = 0
1 * 2^2 = 1 * 4 = 4
0 * 2^1 = 0 * 2 = 0
1 * 2^0 = 1 * 1 = 1
↑の数字の計算結果を足し合わせる
0 + 64 + 0 + 16 + 0 + 4 + 0 + 1
合計:85

ということになるのだー

計算終わり。