はいどうも、中小企業診断士のたかぴーです。
今回は、IPアドレスに関連する論点をテーマに解説していこうと思います。
インターネットの基礎的な知識として、IPアドレスの仕組みは非常に重要ですし、経営情報システムの中でも出題頻度の高い論点となっています。
今回は基礎の基礎である2進数の考え方から丁寧に説明したいと思いますので、苦手意識のある方にもわかりやすい内容になっているかと思います。
ぜひ最後までご覧ください。
IPアドレスとは?
まずはIPアドレスの概要を確認しましょう。
IPアドレスとは、インターネット上で端末を識別するための番号です。
インターネットでは、ネットワークに接続されたすべての端末が相互に公開した情報をやり取りします。この端末にはPCやスマートフォン、データサーバーなどが含まれます。
このブログページも、どこかのサーバーに保存されているデータを、インターネットの仕組みを通じて皆さんが受信して閲覧しているというわけですね。
そして、インターネットで繋がっている端末に保存されている情報を見つけるときに必要なのが、IPアドレスです。
世界中で被りのないユニークな番号を振ることで、必要な端末の必要な情報にアクセスできるというわけですね。
いわばIPアドレスは、インターネット上の住所とも言えるような存在です。
そんなIPアドレスは、このように4つの領域に区切られています。
前半部分をネットワークアドレス部、後半部分をホストアドレス部と呼びます。
ネットワークアドレス部はどのネットワークに属しているかを示し、ホストアドレス部はどの端末なのかを表しています。
例えるなら、ネットワークアドレス部は学校のクラスを表していて、ホストアドレス部はクラス内の個人を特定するための出席番号みたいなイメージですね。
同じ会社の同じ事業所であれば、基本的にはネットワークアドレス部は共通で、各PC端末ごとに異なるホストアドレスが振られるということなるかと思います。
2進数の考え方
この後の論点の理解を助けるために、2進数の考え方について確認していきたいと思います。
2進数とは0と1の2つだけで数を表す方法のことをいいます。
普段僕らが扱う数字は10進数と言われ、0から9の数字を使って数を表していますね。
10進数 | 2進数 |
---|---|
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
10進数での0は、2進数でも「0」、10進数の1は、2進数でも「1」です。
2進数は0か1の2つしか使うことができませんので、10進数での2は、桁を1つ増やして「10」と表現します。3については「11」ですね。
ここまでで2桁のパターンは全て使い果たしたので、4を表現するには、また桁を1つ増やして「100」と表現します。
このように2進数では0と1の2つだけの数字を用いて数を表現し、数が大きくなればなるほど、桁数を大きくする必要があります。
そして先ほど確認したIPアドレスを2進数で表記すると、以下のような形となります。
10進数表記:198.51.100.2
→ 2進数表記:11111111.00001011.00000000.00000001
パソコン等の端末は情報をすべて2進数で読み込むので、10進数で表現されたIPアドレスを2進数に変換してから読み込んでいるわけですね。
この時「.」で挟まれた1ブロックは8桁となっていて、ITの世界では8ビットというように表現します。
このブロックが4つあるので、IPアドレスは合計32ビットで表現されるわけですね。

2進数は0か1の2つしか使えませんので、この32ビットの0・1の組み合わせは232通りあると考えることができます。
計算すると、IPアドレスは理論上、約43億通り存在するということになります。
パソコンはこのようにIPアドレスを2進数で読み込んで理解するのですが、人間にとっては読みにくいので、10進数に置き換えてIPアドレスを表現しています。
ちなみに、1ブロックあたりは8ビットですので、0から255、つまり28通り存在することになります。
2進数の8ビットがすべて0であれば10進数では0、8ビットの数字がすべて1であれば10進数では255になるということは、最低限知っておいた方が良いかもしれません。
サブネットマスクとは?
2進数の考え方がわかると、サブネットマスクについても理解がしやすくなるかと思います。
サブネットマスクとは、IPアドレスの中でネットワークアドレス部の境界を示す数字のことをいいます。
例えば、サブネットマスクもIPアドレスと同じく32ビットで以下のように表現されます。

このうち1が連続している部分がネットワークアドレスを示し、0が連続している部分はホストアドレスを示しているというように読み取ります。
ですので、2進数で表現されたIPアドレスが以下のような形であった場合に、左から順に27ビットがネットワークアドレスで、残りの5ビットがホストアドレスだというように読むことができるわけですね。

ちなみに、このサブネットマスクの数値も、普段目にするときは10進数で表現されています。
2進数で1が連続する部分がネットワークアドレスを示すので、10進数で表現されていたときに255であれば、そのブロックは間違いなくネットワークアドレス部だとみなすことができますね。
逆に10進数で表現して0であればホストアドレス部だとみなすことができます。
2進数表記:11111111.11111111.11111111.11100000
→ 10進数表記:255.255.255.224
今回のように最後のブロックが224といった中途半端な数字になっている場合は、4ブロック目の途中までがネットワークアドレスだということがわかりますが、具体的にどこまでなのかということは、2進数に置き換えないとわからないということになります。
理解を助けるためにやや細かい話をしましたが、ここでは少なくともサブネットマスクはIPアドレスの中で、ネットワークアドレス部の境界を示す数字だということだけ覚えていただければと思います。
CIDRとは?
続いてCIDRです。
CIDRとは、IPアドレスの中でネットワークアドレス部の境界を「/」を用いて示す表記方法となっています。
役割としては、先ほどのサブネットマスクとほぼ同じですね。
例えば、IPアドレスに以下のように表記があったとしましょう。
255 . 11 . 0 . 1 / 27
IPアドレスの後ろに「/27」というように表記されているのがわかるかと思います。
ここがCIDR表記だというわけですね。
CIDR表記で「/27」と記載されていますので、2進数表記で27ビット目まではネットワークアドレスだということを示しています。
つまり、このIPアドレスの左から順に27ビット目まではネットワークアドレスで、残りの5ビットはホストアドレスだということが、上の表記からわかるわけです。
IPアドレスの中身が2進数で表現されているということさえわかっていれば、そこまで難しい内容ではなかったかと思います。
グローバルIPアドレスとプライベートIPアドレス
続いて、グローバルIPアドレスとプライベートIPアドレスです。
グローバルIPアドレスとは、世界中で重複のないIPアドレスとなっていて、理論上、約43億通りあると考えられます。
この43億通りという数値はとてつもなく大きな数に思えるかもしれませんが、世界中の人口は現時点で約80億人と言われていて、全世界の人々がパソコンやスマホなどの端末を3台以上所有した瞬間に、IPアドレスは足りなくなってしまいます。
ですので、世界中で重複のないIPアドレスをすべての端末に割り当てるのは、非常に困難な状況となっています。
そこで登場するのがプライベートIPアドレスですね。
プライベートIPアドレスとは、特定のネットワークアドレス内で重複のないIPアドレスのことを言います。
例えば、ある企業内だけで使われるようなIPアドレスといったイメージですね。
当然、1つのネットワーク内では重複がないのですが、世界中で見ると重複する可能性のあるIPアドレスとなっています。
このプライベートIPアドレスを利用すると、同一ネットワーク内の通信をする分に関しては問題ないのですが、インターネットにアクセスして世界中の端末と通信しようとすると、不都合が生じます。
プライベートIPアドレスからグローバルIPアドレスに変換しないと、インターネットの世界に接続できないということになるわけですね。
そこで登場するのが、NATとNAPTという機能です。

NATはプライベートIPアドレスだけをグローバルIPアドレスに変換し、NAPTはIPアドレスに加えてポート番号まで変換する機能となっています。
IPアドレスだけ変換したとしても、ネットワーク内に複数の端末が存在した場合に、どの端末と通信すれば良いか分からなくなってしまうので、端末やアプリごとに異なる「ポート番号」を使って識別できるNAPTを使うことで、1つのグローバルIPアドレスを複数端末で同時に使うことができるようにしているわけですね。
いずれにしても、NAT・NAPTはプライベートIPアドレスとグローバルIPアドレスの変換を担う機能で、この2つの用語は頻出論点となっていますので、間違いなく覚えるようにしていただければと思います。
IPv6とは?
最後にIPv6について解説します。
IPv6とは、次世代のIPアドレスの規格で、膨大な数のIPアドレスが設定できるものをいいます。
先ほどまで解説していたIPアドレスの規格はIPv4と呼ばれ、2進数・10進数で表すとそれぞれ以下のような形となっているのでした。
2進数の場合は32ビットで、8ビット×4ブロックで表現されているようでしたね。
IPv4は理論上、約43億通り設定することができます。

ですが、この数でも世界中で重複のないIPアドレスを取得するのは、非常に困難だという課題がありました。
そこで登場した新しい規格であるIPv6は、上記のような形となります。
もはや桁数が大きすぎて文字が潰れてしまっていますが、IPv6は2進数で表現すると128ビット=16ビット×8ブロックで表現されます。
ちなみに、人間の目で見てもわかるように表現する時は、10進数ではなく16進数で表現します。
この128ビットという大きさになると、設定できるIPアドレスの数は2の128乗通りとなりますので、これを計算すると約340澗(かん)という、あまり聞いたことのない単位になってしまいますね。
これはIPv4の43億通りと比較すると、100兆×100兆倍設定できるIPアドレスの数が増えるという計算になります。
IT化が進行している昨今、1人がパソコンやスマホを複数台持ち、車やテレビ、エアコンなどの家電もインターネットに接続されるようになり、IPアドレスが枯渇していました。
その問題を解決するために、グローバルIPアドレスやプライベートIPアドレス、NATなどの機能を使いながら工夫していたのですが、IPv6という新しい規格が登場したことで、この問題が解消されることが見込まれています。
ちなみにこのIPv6の普及率は、現時点でおよそ半数程度ということで、今後のさらなる普及を期待したいところですね。
なお、IPv4の場合はネットワークアドレス部・ホストアドレス部といったものがありましたが、IPv6の場合はプレフィックス・インターフェースIDという名称に置き換わります。
役割としてはほぼ同じとなりますが、名称が異なるということは頭の片隅に置いておいてください。
過去問を解いてみよう (令和5年度 第11問)
それではここまでの内容を、過去問を解いて復習してみましょう。
IPv4ネットワークにおいては、ネットワークが使用するIPアドレスの範囲を指定するのにサブネットマスクが利用される。
以下のネットワークにおいて、ホストとして使用できるIPアドレスの個数は最大いくつになるか。
最も適切なものを下記の解答群から選べ。ネットワークアドレス 172.16.16.32/27
サブネットマスク 255.255.255.224なお、これを2進法で表すと次のようになる。
ネットワークアドレス 10101100 00010000 00010000 00100000
サブネットマスク 11111111 11111111 11111111 11100000
[解答群]
ア 14
イ 16
ウ 24
エ 30
オ 32
IPv4におけるIPアドレスに関する問題ですね。
ホストとして使用できるIPアドレスの数について問う問題です。
問題文にはCIDR表記が記載されていますので、こちらを見ると、27ビットまでがネットワークアドレスだということがわかりますね。
また、2進数で表現されたサブネットマスクも記載されていますので、こちらを見ても、前半の27ビットまでがネットワークアドレスで、残りの5ビットがホストアドレスだということがわかります。

同じネットワーク内ではネットワークアドレスは変えることができませんので、ホストアドレス部の数値を変えることで、各端末ごとのIPアドレスを設定することになります。
つまり、IPアドレスとして使用できるのは、5ビット分の0と1の組み合わせの数となるわけですね。
では、使用可能なIPアドレスは何通りあるかというと、25=32通りとなります。
ここで「32通り」と答えたいところですが、2進数で表現したときに、すべて0とすべて1となる値は別の用途で使用しますので、ホストとして使用できるIPアドレスには含めません。
ですので、正解となるホストとして使用できるIPアドレスの個数は、32通りから2つを差し引いた「30通り」となります。
選択肢「エ」が正解となるわけですね。
この問題は、CIDR表記やサブネットマスクによって、ネットワークアドレス部とホストアドレス部の境界を読み解き、その上で2進法を用いてIPアドレスに設定できるパターン数を導き出し、最後にホストとして利用できない2パターンを除外する必要があるという、超高難度な問題でした。
実際の本試験でも、正答率が著しく低い問題だったようです。
ですので、ここで正解にたどり着けなかったとしても、まったく問題ありません。
ただし、今後もネットワークアドレス部の境界を問う問題や、設定できるIPアドレスの個数を問う問題は出題される可能性がありますので、考え方は理解しておくようにしてください。
過去問を解いてみよう (令和4年度 第8問)
今回はもう1問解いてみましょう。
IP アドレスやドメインに関する記述として、最も適切なものはどれか。
ア DHCP は、ネットワークに接続するノードへのIP アドレスの割り当てを自動的に行うプロトコルであり、サブネットマスクやデフォルトゲートウェイのアドレスは自動設定できない。
イ IPv4 とIPv6 の間には互換性があるので、IPv4 アドレスを割り当てられた機器と
IPv6アドレスを割り当てられた機器は直接通信できる。ウ NAT は、ドメイン名とIP アドレスを動的に対応づけるシステムである。
エ トップレベルドメインは、分野別トップレベルドメイン(gTLD)と国別トップレベルドメイン(ccTLD)に大別される。
オ ルータの持つDNS 機能によって、LAN 内の機器に割り当てられたプライベートIP アドレスをグローバルIP アドレスに変換し、インターネットへのアクセスが可能になる。
IPアドレスとドメインに関して答えさせる問題ですね。
選択肢を一つ一つ見ていきましょう。
✅選択肢ア
これは誤りですね。
サブネットマスクやデフォルトゲートウェイまで自動設定するのがDHCPの役割でした。
✅選択肢イ
これも誤りですね。
直接の通信はできないため、これらの機器で通信を行う際には、相互に対応するための機能を利用する必要があります。
✅選択肢ウ
これはNATではなくDNSなので、選択肢ウも誤りとなります。
✅選択肢エ
これはここまで学習した内容ではわかりません。
本試験では保留にした方がよい選択肢となります。
✅選択肢オ
これは誤りですね。
プライベートIPアドレスとグローバルIPアドレスを変換するのは、NATやNAPTの機能なのでした。
ということで、先ほど保留にした選択肢エが、消去法的にこの問題の正解となります。
選択肢に記載されている内容自体を覚えていなくても、消去法で正解できる問題となっていますので、他の選択肢の内容をしっかりと覚えて、正解を導き出せるようになっておきましょう。
DHCPやDNSについては過去の記事で解説していますので、まだご覧になっていない方は、確認しておくようにしましょう。

まとめ
それでは最後にまとめです。
今回学習したIPアドレスとは、インターネット上で端末を識別するための番号でしたね。
10進数で表現すると、以下のように表記されるのでした。

このうち前半部分をネットワークアドレス部、後半部分をホストアドレス部というのでしたね。
ネットワークアドレスとホスト数の境界の示し方として、サブネットマスクやCIDRといった表記方法があるのでした。
それから、IPv4におけるIPアドレスの表記方法では、世界中で重複のないIPアドレスを取得するのが、非常に困難な状況です。
この問題に対応するために、グローバルIPアドレスやプライベートIPアドレスといったものがあり、さらに次世代の規格としてIPv6というものが登場しました。
グローバルアドレスとプライベートIPアドレスを変換するための機能としては、
NATやNAPTを紹介しました。
そしてIPv6に関しては、128ビットで表現されるIPアドレスですので、莫大な数のIPアドレスが設定できるということを説明しましたね。
この辺りの詳細で気になるところがあれば、また動画を戻って確認してみていただければと思います。
はい、というわけで、今回はIPアドレスをテーマに解説してみました。
インターネットは皆さんの生活に根付いているものだと思いますし、ビジネスにおいても日常的に利用します。
診断士としても、その基礎的な仕組みは理解してほしいところですので、今後も本試験でよく出題される論点かと思います。
今回は試験に対応できるようにするために、やや細かい論点内容まで解説しましたが、ぜひ考え方を理解して、問題に対応できるように訓練してみてください。
