Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。
IPアドレスとサブネットマスクは、ネットワークの知識がないと少し難しいですね。基本さえ押さえておけば、家庭で使用するのに役立ちます。
IPアドレス
IPアドレスはドットで区切られた4つの番号で管理します。 3つ目のドットまでがネットワーク・アドレス、最後がホスト・アドレスです。
(また、初めの2つをネットワーク・アドレスとし、3つ目をサブネットとし、最後がホスト・アドレスとした場合はサブネットマスクと言います)
10進数という慣れている番号に変換していますが、コンピュータでは2進数が基本です。 2進数とは0と1だけで構成されています。
電気が流れる、流れない、のオンオフが1と0となります。
先ず、ルーターによく利用されている192.168.0.1を2進数で表すと・・・、
11000000.10101000.00000000.00000001

そして、ネットマスクの役割は、最後のホスト・アドレスを抜き出すために存在します。 AND演算させています。
ネットマスクを255.255.255.0とした場合、2進数で表すと・・・、
11111111.11111111.11111111.00000000

この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ということが特定できるのです。
■Pi 5は8GBモデルがオススメ
まとめ
家庭内の小規模ネットワークならば、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で桁が上がるので「10」次が「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進数で見かけるのは、色コードではないでしょうか。
例:Raspberry Piブランドの赤は**#c7053d**です。これを2桁ずつ3つに分けます。それぞれRGBにあたります。 Rはレッド、Gはグリーン、Bはブルーです。
つまり、#c7053dはRGBでは**RGB(199,5,61)**と表せます。3色の配合なんですね。 番外編でした。



