IPアドレスとは?サブネットマスクなど基本的な仕組みを徹底解説!

PR

この記事では「IPアドレスってなに?」という疑問に答えていきます。IPアドレスの考え方がわかれば、ネットワークの仕組みも理解しやすくなります。

せんせ

IPアドレスは数字の羅列に見えるので、とっつきにくい感じがします…。が、仕組みがわかれば数字の意味もわかります。

この記事はこんな人にオススメ
  • IPアドレスって?ネットワークとかでよく聞くけど、何?
  • IPアドレスの現状や仕組みを詳しく知りたい
目次

IPアドレスとは?

簡単に言うと「ネットワーク上の住所」です。

ネットワーク(インターネットを含む)上のデータをやり取りする際に「IPアドレス=住所」「データ=荷物」と考えればわかりやすいと思います。

例えば、インターネット上のサイトを見るとしましょう。まず「〇〇サイトを見せてください」とパソコンやスマホからリクエストしますが、サイトのデータを送る際に住所がわからないと送れませんよね?その送り先の住所の役割をするのが「IPアドレス」になります。

IPアドレスのイメージ
IPアドレスのイメージ

IPアドレスの仕組み

IPアドレスはv4という規格とv6という規格があります。両者の違いはビット数の違いですが、基本的な考え方は同じですので、以下ではIPv4で説明をしていきます

上で話したように、IPアドレスは住所のようなものですが、次のような数字の羅列で表されています。ピリオドで区切られた4つの部分をフィールド、と呼びます。

192.168.100.2

実は、この数字は2進数表記されたものを10進数にしたものです。それぞれのフィールドの数字を2進数表記すると、

192 → 11000000」 、「168 → 10101000」、「100 → 01100100」、「2 → 00000010

なので、192.168.100.2を2進数表記すると、

11000000 . 10101000 . 01100100 . 00000010

となります。各フィールドは8ビット(桁)で表されます。IPアドレスは10進数の数字として捉えるよりも、この2進数表記の方が意味を理解しやすくなります

せんせ

見やすいのは10進数表記ですが、仕組みを理解するためにIPアドレスは「2進数=0と1の羅列」と思っておきましょう

「2進数って?聞いたことあるけど、なんだっけ?」という人はこちらで解説しています。

IPアドレス(IPv4)の問題点

前述の通り、IPアドレスはネットワーク上の住所ですが、その正体は2進数表記で4フィールド×8ビット=32ビットの数字の羅列です。

そこで生じてくるIPv4の問題点は「使えるアドレスが少ない」というものです。32ビットの数字で表現できる数のパターンは、

\(2^{32}=4,294,967,296 \)通り(約43億通り)となります。

一見すると非常に大きな数字に見えますが、2021年の世界の人口は約78億7500万人です。全てのパターンを使っても世界の人口をカバーできませんし、ネットワーク上の住所なわけですから、情報端末1つにつき1つのアドレスが必要です。そう考えると、とてもではありませんが43億個では足りません。

そこで、問題の解決法としては、

  1. IPv6を使う。
  2. 上手いことIPv4のIPアドレスをやりくりする。

という方法があります。

1.については、かなり根本的な解決策です。IPv6は128ビットなので、同じように計算すると、\(2^{128} \)通りとなります。約340澗(かん)だそうです…聞いたこともない桁です。とにかく、IPアドレスの個数がほぼ無制限に近い感覚になります。詳しくはこちら。(外部リンクです)

ただ、問題はIPv4とIPv6には互換性がない、という点です。すべてのIPアドレスをサクッとIPv6に置き換えられれば良いのですが、当然一気に今使っている環境(IPv4)を廃止するのは不可能です。

そして、IPv4ではすでに2.の解決策で、問題ないレベルで運用ができています。なかなかIPv6への移行が進まないのはここが理由です。今問題なく運用できているものを、あえて新しいものに置き換えていく、というのはなかなかモチベーションが上がらないものです…。

せんせ

ここでは、2についてもう少し詳しく説明していきます。

2.については、

  • ネットワークを使うときだけIPアドレスを貸す。
  • ローカルネットワークを構築する。

という方法で上手くやりくりをしています。

そこで重要になってくるのは、次の二種類のIPアドレスです。

  • グローバルIPアドレス
  • プライベートIPアドレス

これについて説明をしていきます。

グローバルIPアドレス

グローバルIPアドレスとは、インターネットに繋ぐ際に使うIPアドレスです。

グローバルIPアドレスはパソコンであればプロバイダ、スマホであれば携帯キャリアの会社から割り当てられますが、普通は動的に割り当てられます。つまり、インターネットを使うときにプロバイダ等からグローバルIPアドレスが適当に割り当てられ、不要になったら回収される、ということです。イメージ的には賃貸マンションみたいなものですね。

この動的なIPアドレスの割り当てにより、限られたIPアドレスを上手く運用しています。固定IPアドレス(つまり決まったグローバルIPアドレスをもらう。イメージ的には一戸建ての家みたいなものでしょうか)を契約することもできますが、普通は固定する必要性がないため、あまり意識することがないと思います。

グローバルIPアドレス
グローバルIPアドレス

プライベートIPアドレス

家庭や会社では、限られた数のグローバルIPアドレスしか割り当てられません(インターネットのプロバイダと1つ契約している家なら普通グローバルIPは1つ割り当てられる)。インターネットに接続する際にグローバルIPアドレス(つまり、それぞれの端末を示す住所)が必要なのに、「家にいるときに家族皆がWiFiに繋いでインターネットが見られる」というのはどういうことでしょうか…。

それは「家庭や会社でローカルネットワークを組んでいるから」です。

最近では、「WiFiルーター」を設置している家庭がほとんどだと思います。この「ルーター」というやつのおかげでローカルネットワークを組み、一つのグローバルIPアドレスで複数の情報機器をインターネットに繋ぐことができます

そのローカルネットワークを支える仕組みが、プライベートIPアドレスです。

プライベートIPアドレスとは

プライベートIPアドレスとは、ローカルネットワーク上のみで使われるIPアドレスです。

住所で言えば「〇〇番地」のようなものだと思ってもらえればわかりやすいと思います。例えば「10番地」と言われても「どこの?」となりますよね。でも「〇〇県〇〇市〇〇町」の「10番地」といえば住所の特定ができます。つまりプライベートIPアドレスとは「ローカルネットワーク(ex. 家でのネットワーク)の中での番地の呼び名」というイメージです。これであれば、そのローカルネットワーク内で番地の重複がなければよく、また他のローカルネットワークで番地の重複があっても問題ないですよね。例えば「〇〇県〇〇市〇〇町」と「〇〇県〇〇市△△町」が違っていれば、それぞれで「10番地」という同じ番地名を使っても問題ないわけです。

プライベートIPアドレス
プライベートIPアドレス

クラスとは

IPアドレスは

192.168.100.2 → 11000000 . 10101000 . 01100100 . 00000010

という構造になっていますが、IPアドレスの中はさらにネットワーク部とホスト部というものに分かれます。

ネットワーク部、ホスト部
ネットワーク部、ホスト部

32ビットの数のどこをネットワーク部、ホスト部にするかによって、そのネットワークに繋げるホスト(=情報機器)の台数に違いが出てきます。このネットワーク規模によって、クラスというものに分けられます。

クラスAネットワーク部:8ビット、ホスト部:24ビット同一ネットワークに接続可能な台数:約1670万台
クラスBネットワーク部:16ビット、ホスト部:16ビット同一ネットワークに接続可能な台数:約6万5千台
クラスCネットワーク部:24ビット、ホスト部:8ビット同一ネットワークに接続可能な台数:256台
ネットワークのクラスについて

が、現在はあまりこのクラスを意識することはないかと思います。後述するサブネットマスクによって自由にネットワーク規模を調整できるからです。

ただし、現在のネットワークの組み方は、このクラスの概念によって慣習的に決まっている場合が多いです。

なぜなら、自由にネットワーク規模を調整できるからといって、細かく調整しないと運用できないケースはほぼないからです。ネットワーク部、ホスト部は自由に設定できますが、特別な理由がない限りはクラスに従ったネットワークの組み方で問題ないと思います。

せんせ

一般的な家庭でのネットワークは10台も接続できれば十分ですが、「別に256台接続できるクラスCで組んでてもいいじゃん」という感じですね。

サブネットマスク、プレフィックスとは

ネットワーク部が同じ情報機器は同じネットワークに属して、ホスト部がそのネットワーク内での住所を表すものになります。

しかし、IPアドレスはただの数字の羅列なので、どこがネットワーク部なのかホスト部なのかわかりません。そこで、どこまでがネットワーク部で、どこまでがホスト部なのかを表すためにサブネットマスク、もしくはプレフィックスというものを設定します。

サブネットマスクとは

IPアドレス 192.168.100.2 → 11000000 . 10101000 . 01100100 . 00000010

について、24ビット分をネットワーク部に指定したいとします。

11000000 . 10101000 . 01100100 . 00000010 ←太字のところまで

このとき、該当のネットワーク部を「1」、ホスト部を「0」で埋めたIPアドレスのようなものを準備します。

11111111 . 11111111 . 11111111 . 00000000 → 10進法で 255.255.255.0

これをサブネットマスクといい、IPアドレスと組み合わせる(AND演算をする)ことで、どこまでがネットワーク部かがわかります。IPアドレスとサブネットマスクは必ず一組にして扱います

サブネットマスク
サブネットマスク

プレフィックスとは

先頭から何ビットまでがネットワーク部かが分かれば良いので、そのビット数を数で指定したものがプレフィックスになります。例えば、先頭から24ビットがネットワーク部だとしたら、IPアドレスの後ろに「/ビット数」として指定します。

IPアドレス 192.168.100.2/24

何ビットまでがネットワーク部かを指定するという意味としては、サブネットマスクと同じです。

なぜネットワーク部とホスト部に分けるのか

ローカルネットワークを組むのなら、重複がなければどんなIPアドレスを割り振っても問題ないはずです。0.0.0.0〜255.255.255.255の数字を自由に使っても良いのですが、なぜIPアドレスをわざわざネットワーク部とホスト部に分けるのでしょうか。

一言でいうと「無駄を減らすため」です。

  • 何も考えずに32ビットが取りうる全てのパターン数を考えると、IPアドレスは\(2^{32}=4,294,967,296\)個(約43億個)使えることになります。そんなに使いません。
  • サブネットマスクを使うと、自由に小さなネットワークを組むことができます。通信障害が発生したときの原因特定やブロードキャスト(全ホストに通信を投げる)が容易になります。

ちなみに、ホスト部の全ての桁が0であるIPアドレスをネットワークアドレス、全ての桁が1であるIPアドレスをブロードキャストアドレス、と言います。特殊なIPアドレスとなるので、通常のホスト用のIPアドレスとして使うことはできません。

ネットワーク・ブロードキャストアドレス

まとめ

長文になってしまったので、要点をまとめておきます。

  • IPアドレスはインターネット上の住所。
  • IPアドレスにはグローバル、プライベートの2種類がある。
  • プライベートIPアドレスはローカルネットワーク内ならば、自由に割り当てることができる。
  • IPアドレスは、サブネットマスクまたはプレフィックスを使って、ネットワーク部とホスト部に分けられる。
  • 「ネットワーク部が同じ=同じネットワークに属している」、「ホスト部はそのネットワーク内での住所のようなもの」

これらの考え方はIPアドレスの考え方の基本です。実際にネットワークを組むときには、これに加えて、自動的にIPアドレスを割り当てたり、ローカルネットワークと外のネットワーク(インターネットなど)を繋ぐためにIPアドレス変換を行なったりしています。

せんせ

IPアドレスの考え方がわかれば、ネットワークの仕組みがわかってきます。特にネットワーク部とホスト部に分かれる、という点は重要ですね。

ちょっと一息

このブログで活躍してるクマのLINEスタンプもあります!

Youtubeもやってます!数学とは全然関係ない、ゆるいバイク動画です。気晴らしにどうぞ!

あなたへオススメ!
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次