IPアドレスの基礎


はじめました

忘れないために、この記事を書きます。

IT知識の中でも忘れてしまっていた知識

数字がごちゃごちゃしているものとかが苦手です。
解く方法、解決方法を記す。

IPアドレスとは?

IPアドレスとは、ネットワークに接続されているパソコンの住所のようなもの。
IPアドレスには、ネットワークアドレスとホストアドレスが含まれている
IPアドレス=ネットワークアドレス+ホストアドレス
1.ネットワークアドレス
どのネットワークかを表すアドレス。
繋ぎたいパソコン・目的のパソコンはどこのネットワークにいるのかな?と確認する際にしよう。
2.ホストアドレス
ネットワークアドレスにより、関係あるパソコンのネットワークの場所がわかっても、どのパソコンなのかが判別できない。
そこで、ホストアドレスを見ることで、どのパソコンかパソコンを特定できる。
パソコンを繋げられる台数をホストアドレスから求めることができる。
3.サブネットマスク
サブネットマスクとは、ネットワークアドレスがどこまでで、ホストアドレスがここまで、という指標を決定するアドレス?
例えば 
192.168.0.2  ・・・IPアドレス
255.255.255.0 ・・・サブネットマスク
とする
①それぞれ10進数を2進数に直す。
11000000 10101000 00000000 00000010 ・・・IPアドレス
11111111 11111111 11111111 00000000 ・・・サブネットマスク
②サブネットマスクが1である桁数とIPアドレスの同じ桁数までが、ネットワークアドレスのことを示している。
つまり、サブネットマスクは今回24桁まであるので、IPアドレスの24桁までがネットワークアドレスのことを示している。
この際に同じ桁同士で、掛け算(論理積)を行うことで、ネットワークアドレスを求めることができる。
したがって、ネットワークアドレスは
2進数表示 :11000000 10101000 00000000 00000000 ・・・ネットワークアドレス
10進数表示: 192.168.0.0
が求められる。

※IPアドレスの問題などで、
例えば、192.168.2.0/24の中の「/24」は、左から24桁までがサブネットマスクですよと示している。
※違っているかも?

※余談
なぜサブネットマスクが必要なのか?
ネットワークを振り分ける際に、クラスフルアドレスという考え方で振り分けていた、時がある。
これは、ネットワークアドレスとホストアドレスが固定されており、さらにクラスA、クラスBなどとクラス分けをしていた。
けど、ネットワークをつなぐ台数などがそれぞれのクラスで分けられており、不便な点があった。
そこでクラスレスアドレスという考えで、サブネットマスクが考えられた。
サブネットマスクの登場により、ホストアドレスを自分で設定できるため、繋げるパソコンの台数などを自由に変更することができるようになった。
という認識。

例題

192.168.30.25/22のネットワークアドレスは?
10進数→2進数
192.168.30.25を直すと→11000000 10101000 00011110 00011001
22桁までがサブネットマスクだから、111111111 11111111 11111100 00000000これがサブネットマスクになる。
そして、分かりやすいように桁を合わせて、同じ桁同士で掛け算するとネットワークアドレスがまとまる。
11000000 10101000 00011110 00011001
111111111 11111111 11111100 00000000

11000000 10101000 00011100 00000000 
2進数から10進数に直すと
192.168.28.0 
これがネットワークアドレスである。

終わりに

初めて書きました。
遅い時間に書きました。
間違ってるかもしれません。
間違っていましたら、コメント等で指摘してくださると幸いです。
(プログラミングに関係ないようなことを書いても良かったのかな?)