【図解】IPアドレス完全解説(IPv4編)

ネットワーク
Illustration of social media concept

はじめに

今回はインターネットの仕組みを知る上で必須な内容であるIPアドレスについて基礎から解説していこうと思います!面白いですよ~!!今後のネットサーフィンが楽しくなること間違いなしです!(←なんか違う)

細かい内容まで全部書こうと思ってるのでもしかしたらちょっと長くなるかも?各々の知りたいところだけを読みのが良いと思います。完璧に知りたい人は全部読んじゃいましょう!

質問などしていただければ回答しますので上の「文句」と書かれたリンクから送ってください!

IPアドレスとは??

じゃまずはWikipediaさまの定義を見てみましょうか。

IPアドレスは、IPでネットワーク上の機器を識別するために指定するネットワーク層における識別用の番号である。

ITの知識がある程度ないとちんぷんかんぷんですね(笑)噛み砕いていきましょう。

IPアドレスは実は32個の0と1の羅列なんです!128個の場合もありますが、それは後で書きます。具体的には以下のようなものです。

11000000.10101000.00001010.11111110
32桁そのまま並べると少し見づらいので、8桁ごとにピリオドを打つことになっています。PCなどの機器は情報を0と1で扱っているという話を聞いたことがあるかもしれません。そのためこのIPアドレスは0と1で表されています。
しかし、人間にとってはこれは少し見にくいし、なんならこんな文字の羅列絶対に覚えられないので一般的には10進数に変換して表記されます。この場合だと以下のように表されます。
192.168.10.254
ちょっとは覚えやすくなりましたよね??ちなみにこのIPアドレスはとても使われています。それも後述で!
ま、とりあえずIPアドレスの概要はつかめたんじゃないでしょうか??次はこれがどのように用いられているのかみてみましょう。

役割

IPアドレスは簡単に言うとインターネット上での住所を表しています。

一般的にインターネットで通信を行う際に、通信先の相手を見つけるためにmacアドレスとIPアドレスの2つの住所が用いられます。 macアドレスに関しては別の記事で詳しくまとめようと思うのでここでは簡単に。

macアドレスは同じLAN内での通信をする際に用いられ、IPアドレスは別のLAN内で通信をする際に用いられます。LANというのはコミュニティやグループみたいなものだと思ってください!

言葉では分かりづらいと思うので例を見てみましょ。

これを小さいインターネットだと思ってください(笑)マンション名のあとに書いているのがマンションの住所、mac:A, mac:BというのがAさん、Bさんの部屋番号だと思ってください。

例えばAさんがBさんと連絡取りたいなって考えたときは同じマンションに住んでいるので部屋番号さえ分かれば連絡を取ることができます。しかし、AさんがGさんと連絡取りたくなったとしましょう。このとき部屋番号の他にマンションYの住所を知ることで初めて通信することができます。

その住所の特定のためにIPアドレスが利用されます。つまり同じLAN(マンション)内での通信はmacアドレスのみで可能ですが、別のLANとの通信はmacアドレスに加えてIPアドレスが必要となります。(ちょっとはイメージ湧いたかな??)

私達が実際にインターネットでWEBサイトを閲覧するときで考えてみましょう。このときの流れは

  1. URLから宛先IPアドレスを知る。(DNSってやつを利用)
  2. 宛先IPアドレスが同じLANにいるかどうかを判断する。(インターネットやSNSをする際は基本的には同じLANにはいないです!)
  3. 他のLANの場合、ルータからインターネットへ出ていき、インターネット上のルーティング(地図)に従って宛先IPアドレスまで到達
  4. 自分が閲覧したい記事がほしい!とリクエスト

的な流れです。だいぶ省略しましたが、この流れについても別の記事に書きたいと思います。

これがIPアドレスの主な役割ですね~!通信相手のインターネット上の大まかな住所を表していると理解してください!

サブネットマスク

ここからもうちょっとややこしくなります(笑)

IPアドレスは32桁の0と1で表すと言いましたが、さらに前半と後半の2つに分けることができます。その前半をネットワーク部、後半をホスト部と呼びます。どこで分けるかを表すためにIPアドレスを次のように表記します。

192.168.10.254/24
これは2進数表記をして前から24桁目までがネットワーク部だよ~。ってことを表しています。この後ろの24という文字をプレフィックス長と呼びます。
さぁ問題はネットワーク部とホスト部がどう違うのかということですね。これも先ほどの例をもとに解説していきましょう。
先ほどの例では一部のマンション群で説明していましたが、次は丁単位で分けています。このときプレフィックス長が24ならば1丁目と2丁目は同じ街だけどネットワーク部が異なります。異なるネットワークの人と通信をしようとするとき、道案内してくれるルータというものを介する必要があります。
図の場合、1丁目のマンションAの人がマンション2丁目のマンションCの人と連絡を取りたいとき、一度間にいる交番の人に2丁目の場所を教えてもらわなければ行き先がわかりません。この交番のお兄さんがインターネットの世界で言うルータです。
なぜネットワークを分けるかというと、セキュリティ的だとかブロードキャストドメインを小さくするとか色々メリットがあるわけなんですね。会社とかだと部署などで分けたりするんですね。例えば172.16.0.0/16というネットワーク部を法務部には172.16.1.0/24のネットワークを与える、経理部には172.16.2.0/24のネットワークを与える、営業部には172.16.3.0/24と172.16.4.0/24のネットワークを与える、といった感じです!
そしてもう一つのホスト部ですが、これは同じネットワーク内で機器ごとに一意に割り当てられます。基本的に全く同じIPアドレスを別の機器に割り当ててはいけません。IPアドレスをもとに辿ってきたデータがどちらに送ったらいいのか分からなくなりますから。
しかし気をつけなければならないのはホスト部でも割り当ててはいけないものが2つだけあります。簡単なんですが、ホスト部をすべて0または全て1にしてはいけません!
例えばネットワーク部が192.168.2.0/24の場合で考えてみましょう。これを2進数に変換すると
1100000.10101000.00000010.00000000となります。プレフィックス長が24なので、ホスト部は後ろ8桁を表します。すでに分かるかもしれませんが、後ろ8桁がすべて0のときはネットワークアドレスを表しているため、機器に割り当ててはいけないのです!
次はホスト部がすべて1の場合を考えてみましょう。具体的には1100000.10101000.00000010.11111111の時です。これは特殊なアドレスでブロードキャストアドレスと呼ばれています。これに通信を行うと同じネットワーク内の全ての機器に一斉通信を行うことになると決まっているのです。そのため、これも割り当てることができないのです!そのため、プレフィックス長が24であるIPアドレスで割り当てることができるホストの数は2^8 – 2 = 62台となります。(←試験とかによく出てくる)
だいぶ文字の羅列になってしまったので休憩がてらここで余談を。IPアドレスって取得するのにお金がかかるんですね。(値段はここに載っています。)ネットワーク部が短いものほどレアなため、高値で取引されています。普通はネットワーク部が8桁のIPアドレスなんて一般の企業が持つことはほとんどないのですが、有名なアップルという会社は17.0.0.0/8というネットワークを保持しているようです。だって割り当てることができるホストの数が\(2^{24} – 2 = 16777214\)台ですよ???いくら世界一の時価総額を誇る企業とはいえ、そこまで使うとは思いませんが(笑)とりあえず保持しているって可能性もありますね。

種類

種類をクラスで分けるか、用途の違いで分けるかの2種類あるんですね~。

クラス

まずはクラスによる分類から。分類の仕方はめっちゃ簡単ですよ~!

クラスA

0から始まるIPアドレスのことです。つまり範囲は0.0.0.0から127.255.255.255の間になります。クラスAのIPアドレスはプレフィックス長が8と決まっています。まぁプレフィックス長が8のIPアドレスもどうせさらに細分化されて16だったり、24だったりになるわけですが(笑)

クラスB

10から始まるIPアドレスです。範囲は128.0.0.0から191.255.255.255となります。そしてプレフィックス長は16と決まっています。

クラスC

110から始まるIPアドレスです。範囲は192.0.0.0から223.255.255.255となります。そしてプレフィックス長は24と決まっています。

クラスD

ここから少し特殊なIPアドレスで、1110から始まります。プレフィックス長などは決まっていませんが、これは以下で説明するマルチキャスト通信に使用されます。

クラスE

1111で始まるIPアドレスです。これは一般的に使われません。今後なにかに使うためにおいているみたいですね。もしこれから使われるとしたらなにか画期的なことに使われそうな予感‥

用途

次は用途です。上で説明したクラスとも関わってきます。

グローバルIPアドレス

下で説明するプライベートIPアドレスとリンクローカルアドレス以外のクラスA,B,CのIPアドレスは全てグローバルIPアドレスとなります。プライベートIPアドレスが特殊なだけでグローバルIPアドレスは一般的にイメージするIPアドレスなので説明は必要ないと思います(笑)普通のWEBサイトの閲覧とかに使われるIPアドレスだと思ってください!

プライベートIPアドレス

特殊なやつです。しかし3種類だけしかありません。以下の3つです。

10.0.0.0
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255

さぁこいつらは何に使用されるのでしょうか!後にも解説しますが、IPアドレスってのは実は枯渇してるのです。IPアドレスは32桁なので全部通信に使用しても\(2^{32} = 4294967296\)個しかないんですね。一見十分多そうには見えますが42億って70億人の人が1人スマホを持ったら足りなくなるわけです。ましてや企業なんて人の数以上に機器持ってたりしますからね。

そこでやべぇな~って思った人々が1996年のプライベートIPアドレスってのを作りました。これが結構画期的!それまではIPアドレスは常に一意で被っちゃいけないのが当然でした。でも企業のネットワークみたいに閉ざされた空間では決まったIPアドレスを使っていいんじゃね?って考え始めました。

例えばPanasonicの企業内でのPCとTOYOTAの企業内でのPCが同じIPアドレス、192.168.1.1を使用していたとしましょう。

イメージはこんな感じです。このときアドレスが被っちゃてるから良くないんじゃないの??と思うかもしれませんが、これが大丈夫なんです。Panasonic内部のPCが外部と通信するとき、NATやNAPTという技術を用いて192.168.1.1というプライベートIPアドレスから例えば1.1.1.1のようなグローバルIPアドレスに変換して通信を行います。グローバルIPアドレスは一意に割り振られているのでちゃんと通信できるんですね。

ちなみに外部のPCからPanasonicのPC、192.168.1.1にアクセスすることは基本的にはできません。だってTOYOTAのPCも同じアドレスを使っているのだからどちらに送ればいいの~~ってなりますからね。社内のPCがプライベートだからこそこのプライベートIPアドレスを使用することができるんですね~。

 

現在ではほとんどの会社のPCはプライベートIPアドレスが割り当てられています。なぜなら先ほどチラッと言ったとおり、グローバルIPアドレスを使用するのにはお金がかかり、プレフィックス長が短いほど値段は高くなります。そのため、全PCにグローバルIPアドレスを割り当てるより、プライベートIPアドレスを使用した方が費用的にも安くなるんですね。

ちなみに身近なところで言うとWi-FiでもプライベートIPアドレスが使用されています。iPhoneとかPCとかで確認してみてください!

 

あとプライベートIPアドレスに変換することにより、各PCのIPアドレスがバレることも防ぎます。通信相手が知るのは変換された後のグローバルIPアドレスだからです。こういった点からセキュリティ面でも安全であると言えるでしょう。

 

なんでプライベートIPアドレスってこの範囲なのって思うかもしれません。実は私もあまり理由は知りません(笑)RFCを読んだら書いているのかもしれませんが。予想なんですが、プライベートIPアドレスを作った時に空いていたIPアドレスがこの範囲だったんじゃないでしょうか??プライベートIPアドレスができたのも1996年と割と遅めですからね。もし正解を知っている方いらっしゃったらぜひ教えて下さい(笑)

マルチキャストアドレス

名前の通りですが、複数の機器に同時にデータを送るマルチキャスト通信に使用されるアドレスです。先ほど説明した通りクラスDのアドレスで、範囲は224.0.0.0.0から239.255.255.255と決まっています。

一人一人データを送信するよりも一気に送った方がネットワークの負荷がかからないため良いってわけですね。複数人でのビデオ会議とかの通信などで使われています。

その他にも実はルーティングプロトコルなどでも使われているのです。ルーティングプロトコルではルータ同士が頻繁に通信を行うのですが、その際に他のルータに対して一気に送信するんです。(ルーティングプロトコルはそれだけで別に記事を書くことができるから余裕あれば書こう…)

他にはFSRPと呼ばれるデフォルトゲートウェイを冗長化するプロトコルでも使用されます。具体的には以下のアドレスが使用されます。

  • ルーティングプロトコル
    • RIP version1…255.255.255.255(全機器に送信)
    • RIP version2…224.0.0.9
    • OSPF…224.0.0.5と224.0.0.6
    • EIGRP…224.0.0.10
  • FSRP
    • HSRP…224.0.0.2
    • VRRP…224.0.0.18
    • GLBP…224.0.0.102

リンクローカルアドレス

これはあんまり使用されません(笑)

DHCPでIPアドレスを取得できなかったときにとりあえず同じセグメント内で他のIPアドレスと被らないように割り当てられるIPアドレスです。割り当てられる範囲は決まっており、

169.254.0.0 ~ 169.254.255.255

が予約されています。Wi-Fi繋がってるんだけどなんかネットワークには接続できていないな~って時にIPアドレスを確認してみてください。この範囲のIPアドレスになっていると思います!

同じセグメント内でIPアドレスが被らないという点でプライベートIPアドレスと少し似ているのですが、外部への通信はできないので正直使う必要はないです…

IPアドレスを持つ機器

ところでIPアドレスってどんな機器が持つんだろうって思いませんか?

パソコンはもちろん持ちます。強いパソコンであるサーバも持ちます。身近なところだと、今後IoT化が進むとエアコン、冷蔵庫などのネットワークに接続する電化製品もIPアドレスを持ちます。

あとはネットワークを構築するルータやL3スイッチなどはポートが24個だったり、48個あったりするのですが、ポートごとにIPアドレスを割り当てることができます。1つの機器で48個のIPアドレスを持つなんて贅沢ですね~。(適当)

枯渇問題

先ほど言ったとおり、IPアドレスは枯渇しています!ヤバいんです!!と言われてるけど実際はあんまりヤバくないんです。

それは先ほど言ったよなプライベートIPアドレスやNAPTが活躍しているからです。NAPTというのは複数のプライベートIPアドレスを持った機器の通信を1つのグローバルIPアドレスで行う技術です。おかげさまでさらに必要なグローバルIPアドレスの数が減っているわけです。

 

しかし同時に別の解決方法も提案されました。それは根本的にIPアドレスの数を増やすというものです。それがIPv6です!!!これはなんと0と1が128桁で構成されます。これについては別の記事で詳しく書きたいと思います。

これまで使ってきたIPv4は少し設計が下手なんですね。IPv6はIPv4での反省を活かしてとても良い設計になっています。IPv4とかなり違う部分もあるので覚えるのがめんどくさいですが(笑)

だからゆくゆくはIPv6に移行していくべきでしょうね。しかし、移行には費用がかかるためあまり進んでおらず、未だにIPv4が主に用いられています。ま、今後に期待ですね!!!

おわりに

ざーーーーっとIPアドレスについて深くまとめて見ました!次はIPv6かmacアドレスの記事書きます~!

コメント

  1. とても分かりやすかったです!ありがとうございます。

    図の話なのですが、2丁目のネットワークアドレスは192.160.2.0ではないでしょうか?

    ご確認お願いします!

    • すみせん、上のコメントのアドレスタイポしてました

      192.168.2.0

      です!

      • ご指摘ありがとうございます!!そのとおりです。
        すぐに修正しますね、、、(笑)

  2. めちゃめちゃわかりやすかったです!

    • ありがとうございます!
      コメントいただき、とても嬉しいです!

タイトルとURLをコピーしました