Amazonタイムセール祭りは本日9/23いっぱいまで——クリックして特集記事へ

IPアドレスとサブネットマスクを理解しよう!

インストールと設定
この記事は約5分で読めます。
スポンサーリンク

IPアドレスとサブネットマスクを理解しよう!

IPアドレスはドットで区切られた4つの番号で管理します。
3つ目のドットまでがネットワーク・アドレス、最後がホスト・アドレスです。

(また、初めの2つをネットワーク・アドレスとし、3つ目をサブネットとし、最後がホスト・アドレスとした場合はサブネットマスクと言います)

10進数という慣れている番号に変換していますが、実際にコンピュータは2進数が基本です。
2進数とは0と1だけで構成されています。

先ず、ルーターによく利用されている192.168.0.1を2進数で表すと・・・、

11000000.10101000.00000000.00000001

19216801

そして、ネットマスクの役割は、最後のホスト・アドレスを抜き出すために存在します。
AND演算させています。

ネットマスクを255.255.255.0とした場合、2進数で表すと・・・、

11111111.11111111.11111111.00000000

2552552550

この2つを並べてみます。

IPアドレス    11000000.10101000.00000000.00000001
サブネットマスク 11111111.11111111.11111111.00000000

これをAND演算しているのです。

AND演算

AND演算は、(ネット)マスク値と値を1と0で演算します。この論理演算はコンピュータの世界では基本となります。

1は「真」、0は「偽」です。

「真」と「真」の場合だけ「真」となります。すなわち、1と1ならば1です。それ以外は「偽」の0です。

マスク値 出力される答え
0 0 0
0 1 0
1 0 0
1 1 1

これは2つをANDする。つまり2つの条件を満たした場合(1かつ1)だけ1の「真」になるという意味です。

では、先程の2進数を「かつ」という条件でもう一度見てみましょう。

11000000.10101000.00000000.00000001

かつ

11111111.11111111.11111111.00000000

気が付きましたか?

上下の2つを条件として答えを出してみましょう!

1.上下を演算すると

左から上下に足し算するようにAND演算します。

一番左は上が1と下も1ですから1ですね。左から2番目もそう。次は?

上が0と下が1なので0になります。すると、答えはこうなります。

11000000.10101000.00000000.00000000

最後だけ0に変化しましたが、あとは同じです。

これは10進数に直すと、192.168.0.0です。

つまり、これがネットワーク・アドレスになります。

更に初めの3つが8bit×3つあるので、24bitとなりますから、次のように表します。

 192.168.0.0/24

見たことあると思います。これはそういう意味なんです。

ネットマスクの1を取り出すので、初めの3つセグメントまでは実はそのままなんですね!

理屈はともかく、255.255〜と記載されている部分は、変化をしないになります。ネットマスクの〜.0の部分だけマスクされることになります。(Mask=覆い隠す)

2.逆にネットマスクの0だけ取り出してみると

この時、厳密にはネットマスクの1を0に反転させています。しかし、0だけという意味なら最後の4つ目の0だけで見れば話は早いです。
すると、こうなります。

00000000.00000000.00000000.0000001
これを10進数に直すと、
0.0.0.1です。これがホスト・アドレスということになります。

だから、ネットワーク・アドレスが192.168.0.0で、反転させてホスト・アドレスが0.0.0.1なので、

IPアドレスが192.168.0.1ということが特定できるのです。

まとめ

家庭内の小規模ネットワークならば、192.168.0.1(ルーターによる)とサブネットマスクは255.255.255.0で充分にホスト数は足りるため、一般的にこれがよく使われています。

2進数、10進数、16進数で表すコンピュータの世界の理論は、非常に分かりづらいと思います。この2進数というのは1つが1bitなので、こういった処理をPCにさせるのに非常に速いんですよ。
CPUを余り使わない上に一瞬で計算できるため、このようになっていると考えてください。

それに、パソコンなどは電気信号で処理しています。
だから、電気が流れたらON=1、流れていないOFF=0と表せます。

だから0と1で表現するのです。

上手く説明出来ているのか分かりませんけど、大規模なネットワークを組む訳では無いので、定型的に覚えていてもOKだと思います。

プライベートアドレスを設定するのは192.168.〜なんだよなー程度でも全然OKです!

番外編 そもそも2進数や16進数って何?

これは我々が日常使っている10進数で考えると簡単です。
10進数は10で1桁上がり2桁になります。
・・・8、9、10

2進数は2で1桁上がります!!
1の次は2ですけど、2で桁が上がるので、「11」となります。これは「じゅういち」ではありません。だって「じゅう」は10進数の話で、2進数には「じゅう」はありません! 従って読み方は「いちいち」です。

では、11にまた1を足すと・・・?
下1桁がまた2になってしまうので、繰り上がります。そして次の桁も2になってしまうので、また桁が上がります。つまり答えは「100」です。

2進数と10進数を比べて数字を並べるとこうなります。

10進数 2進数
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
そして・・・192 11000000

結構面白いですよ!

16進数の詳しい説明は割愛しますけど、同じように16で桁が上がります。ちょっと変わっていて、桁が上がらないように間にA〜Fが入ります。

10進数 16進数
・・・9までは一緒 9
10 A
11 B
12 C
13 D
14 E
15 F
16 10
17 11

よく16進数で見かけるのは、色コードではないでしょうか。

例:ラズパイの赤は#c7053dです。これを2桁ずつ3つに分けます。それぞれRGBにあたります。
Rはレッド、Gはグリーン、Bはブルーです。

つまり、#c7053dはRGBではRGB(199,5,61)と表せます。3色の配合なんですね。
番外編でした。

Twitter、フォーラム、メールで購読
それぞれ更新情報をお伝えしています。
皆様のフォローをお待ちしています!
\ FOLLOW ME /
/ 最新記事をお知らせしています! \
インストールと設定
スポンサーリンク
フォローをお願いします——ラズパイダ
特集ラズパイ4
スポンサーリンク
こちらの記事もよく読まれています♪
ラズパイダ

コメント

最近のフォーラム投稿

Raspberry Piや記事に関することなどコメント欄の代わりにお使いください。