パソコンやスマートフォンでWebサイトを見るとき、その裏側ではIPアドレスを使った通信が行われています。
IPアドレスはネットワークの基礎となる重要な仕組みですが、「グローバルIP」「プライベートIP」「MACアドレス」「IPv4」「IPv6」など関連用語が多いため、初心者には分かりにくい分野でもあります。
そこでこの記事では、IPアドレスの基礎から通信の仕組みまでを順番に整理します。
難しい専門用語はできるだけかみ砕き、「なぜIPアドレスが必要なのか」が理解出来る様に解説していきます。

IPアドレスとは?初心者向けに意味を解説
IPアドレスはネットワーク上の「住所」
IPアドレスとは、パソコンやスマートフォン、サーバーなどがネットワークで通信する時に使う番号です。
初心者の内は、**「インターネットやネットワーク上の住所の様な物」**と考えると分かり易いでしょう。
例えば、友達に荷物を送りたいとします。
名前だけ分かっていても、住所が分からなければ荷物を届ける事は出来ません。
ネットワークの通信も似ています。
パソコンからWebサイトのデータを受け取る場合、「どこにデータを送るのか」「どこから送られてきたのか」を判断するための情報が必要になります。
そこで使われるのがIPアドレスです。
IPv4では、宛先を表すIPアドレスなどを元にデータが目的地へ届けられます。
パソコンの設定画面などで、
「192.168.1.10」
の様な数字を見た事がある人もいるでしょう。
これはIPv4と呼ばれるIPアドレスの表し方です。
IPv4のアドレスは32ビットで構成されており、私達が見易い様に「192.168.1.10」の様な数字で表示されています。
ただし、IPアドレスは単純に「パソコン1台につき世界で1つだけ決められている番号」という訳ではありません。
家庭や会社の中だけで利用するIPアドレスもあれば、インターネット上で使われるIPアドレスもあります。
この違いについては、この後詳しく説明します。
まずは、
IPアドレス=ネットワークで通信する相手を見付けるために使われる住所の様な情報
と覚えておけば大丈夫です。
なぜIPアドレスが必要なの?
私達は毎日の様にスマートフォンやパソコンでWebサイトを見ています。
例えば、ブラウザを使ってニュースサイトを開いたとしましょう。
すると、自分のスマートフォンやパソコンからWebサイトを置いているサーバーに対して、「このページのデータを送って下さい」という通信が行われます。
サーバーはその要求を受け取ると、文章や画像などのデータを送り返します。
この時大切なのが、**「どこにデータを届ければ良いのか」**という情報です。
宅配便に住所が必要なのと同じ様に、ネットワークでも相手を区別するための情報が必要になります。
そのために使われるのがIPアドレスです。
インターネットでは、送られるデータを小さな単位に分けて運びます。
これを「パケット」と呼びます。
パケットには宛先となるIPアドレスなどの情報が入り、ルーターはその情報を見ながら、目的地へ向かう経路を判断します。
ただ、私たちはWebサイトを見る度に「192.0.2.1」の様なIPアドレスを入力している訳ではありません。
普段は「example.com」の様な、人間が覚え易いドメイン名を使っています。
ドメイン名をIPアドレスに対応させる仕組みがDNSです。
つまり、普段はあまり意識しませんが、IPアドレスはWebサイトの閲覧やメール、動画視聴など、様々なネットワーク通信を支える基本的な仕組みなのです。
IPアドレスで通信出来る仕組み
IPアドレスを使ってデータの行き先を決める
IPアドレスの仕組みを理解する時は、インターネットを「道路」、データを「荷物」に例えると分かり易くなります。
例えば東京から北海道へ荷物を送る場合、荷物が送り主の家から受取人の家まで一気に移動する訳ではありません。
配送センターなど、幾つもの場所を通りながら目的地へ運ばれます。
インターネットでも似た様な事が行われています。
パソコンから送られたデータは、幾つものネットワークやルーターを通りながら目的地へ進んでいきます。
ルーターは宛先のIPアドレスなどを確認し、「次はどちらへ送れば目的地へ近付けるか」を判断します。
JPNICでも、ルーティングとはパケットを目的地へ届けるための経路を決める仕組みだと説明されています。
更にIPアドレスを理解する上では、「ネットワーク部」と「ホスト部」という考え方も重要です。
簡単に説明すると、
ネットワーク部=どのネットワークなのか
ホスト部=その中のどの機器なのか
を表します。
住所に例えるなら、
「東京都○○区」までがネットワーク部、
「○丁目○番○号」がホスト部、
と考えるとイメージし易いでしょう。
実際には「192.168.1.0/24」の様に「/24」という数字を付けて、IPアドレスのどこまでがネットワークを表す部分なのかを示します。
JPNICによると、/24なら先頭から24ビットまでがネットワークを表す部分になります。
最初から計算方法まで覚える必要はありません。
まずは、IPアドレスには「どのネットワークか」と「その中のどの機器か」を区別する考え方があると理解しておきましょう。
ルーターがデータを次のネットワークへ届ける
家庭でインターネットを利用している人の多くは、Wi-Fiルーターを使っているでしょう。
「Wi-Fiを飛ばしている機械」というイメージが強いかもしれませんが、ルーターにはもっと大切な役割があります。
それは、異なるネットワーク同士をつなぐ事です。
例えば自宅には、
スマートフォン
パソコン
テレビ
ゲーム機
など、様々な機器があります。
これらは家庭内のネットワークにつながっています。
一方、見たいWebサイトのサーバーは、自宅とは全く別のネットワークにあります。
そこで活躍するのがルーターです。
パソコンからインターネット上のサーバーへデータを送りたい場合、家庭内だけで通信を終わらせる事は出来ません。
そのため、まず家庭のルーターへデータを渡し、そこから外側のネットワークへ送ってもらいます。
更にその先にも様々なルーターがあります。
それぞれのルーターが、
「この宛先なら次はこちらへ送ろう」
と判断しながらデータを受け渡します。
この様に、目的地までの道を選びながらデータを運ぶ仕組みを「ルーティング」といいます。
JPNICでは、ルーターが宛先IPアドレスを元に、どのネットワークへパケットを送り出すか判断すると説明しています。
つまり、インターネットは世界中のパソコンが1台の大きな機械につながっている訳ではありません。
沢山のネットワークがルーターによってつながり、データをバケツリレーの様に受け渡しているのです。
グローバルIPアドレスとプライベートIPアドレスの違い
グローバルIPアドレスとは?
IPアドレスを勉強していると、「グローバルIPアドレス」という言葉が出てきます。
グローバルIPアドレスとは、簡単に言えば、インターネット側で使われるIPアドレスです。
世界中のネットワークがつながっているインターネットでは、「どこへデータを送ればよいのか」を判断出来る様にIPアドレスが管理されています。
家庭でインターネットを使っている場合も、外部との通信ではインターネット側で利用出来るアドレスが関わっています。
ただし、
「家にスマートフォンが5台あるなら、グローバルIPv4アドレスも5個必要なの?」
と思うかもしれません。
一般的なIPv4の家庭内ネットワークでは、必ずしもそうではありません。
家庭内では「プライベートIPアドレス」を利用し、インターネットとの境目にあるルーターなどでIPアドレスを変換する仕組みが広く使われています。
NATやNAPTと呼ばれる仕組みを利用すると、複数の端末で外側のIPアドレスを共有できます。
イメージとしてはマンションが分かり易いでしょう。
グローバルIPアドレス=マンションの住所
プライベートIPアドレス=マンション内の部屋番号
の様な関係です。
外からマンションまで荷物を届ける住所と、マンションの中でどの部屋なのかを見分ける番号は別にあります。
IPアドレスも同じように、インターネット側で使うものと、家庭や会社の内部で使うものを分ける事が出来ます。
プライベートIPアドレスとは?
プライベートIPアドレスとは、家庭や会社などの内部ネットワークで使うIPv4アドレスです。
代表的な範囲は次の3つです。
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
これらの範囲はRFC 1918で、プライベートネットワーク向けとして定められています。
IANAの現在のIPv4アドレス情報でも、これらはPrivate-Useとして扱われています。
家庭のWi-Fiにつないだパソコンで、
「192.168.1.5」
「192.168.0.10」
といった数字を見かける事が多いのは、このためです。
プライベートIPアドレスの特徴は、別のネットワークなら同じアドレスを使える事です。
例えば、
Aさんの家のパソコンが「192.168.1.10」
Bさんの家のパソコンも「192.168.1.10」
だったとしても、それぞれ別の家庭内ネットワークなので問題ありません。
これはホテルの部屋番号と似ています。
東京のホテルにも「101号室」があり、大阪のホテルにも「101号室」があります。
ホテルその物が違うので、同じ部屋番号でも困りません。
プライベートIPアドレスも同じ考え方です。
そのため、自分のパソコンで「192.168.1.10」と表示されたからといって、それがインターネット全体から見た自分のアドレスという訳ではありません。
家庭内で使う住所と、インターネット側で使う住所は違う場合があると覚えておきましょう。
1つのグローバルIPで複数端末が通信できる理由
NAT・NAPTとは?
「家ではスマホもパソコンもゲーム機も同時にインターネットにつながっているけれど、どうなっているの?」
そんな疑問を持つ人もいるでしょう。
その仕組みを理解する時に出てくるのが「NAT」や「NAPT」です。
NATとは、簡単に言えばIPアドレスを変換する仕組みです。
さらにNAPTでは、IPアドレスだけでなく「ポート番号」という情報も使って複数の通信を区別します。
RFC 3022では、Basic NATはIPアドレスを変換する方法、NAPTはアドレスに加えてTCPやUDPのポート番号も変換する方法として説明されています。
例えば家庭内で、
パソコン:192.168.1.2
スマートフォン:192.168.1.3
ゲーム機:192.168.1.4
というプライベートIPアドレスを使っていたとしましょう。
それぞれ別のIPアドレスを持っていますが、インターネットへ出ていく時には、ルーターなどが通信情報を変換します。
NAPTを利用すると、複数の端末が1つの外側のIPv4アドレスを共有しながら同時に通信できます。
RFC Editorの資料でも、NAPTによって複数のプライベート側ホストが1つのパブリックIPアドレスを同時に共有出来る事が説明されています。
マンションに例えるなら、
外部では「○○マンション」という住所まで荷物が届き、
その後部屋番号を見て、
「これは201号室」
「こちらは305号室」
と振り分けるイメージです。
この仕組みがあるため、IPv4環境では家庭に何台もの機器があっても、それぞれがインターネットを利用出来ます。
DHCPでIPアドレスが自動的に設定される
自宅で新しいスマートフォンをWi-Fiにつなぐ時、自分でIPアドレスを入力する事はほとんどありません。
Wi-Fiの名前を選び、パスワードを入力すると、そのままインターネットにつながる事が多いでしょう。
では、IPアドレスは誰が設定しているのでしょうか。
ここで登場するのが「DHCP」です。
DHCPは「Dynamic Host Configuration Protocol」の略で、ネットワーク通信に必要な設定を自動で渡すための仕組みです。
JPNICによると、IPv4で通信するにはIPアドレスだけでなく、サブネットマスクやデフォルトゲートウェイ、DNSサーバーなどの設定も必要です。
DHCPを使えば、こうした情報を端末が自動的に受け取れます。
例えば家庭用ルーターが、
「192.168.1.2はパソコンに使ってもらおう」
「192.168.1.3はスマートフォンに使ってもらおう」
という様に、利用出来る範囲からIPアドレスを割り当てます。
ホテルで考えると分かり易いでしょう。
宿泊客が来る度にフロントが、
「今日は302号室を使ってください」
と空いている部屋を案内するイメージです。
利用者自身が空いている部屋を探す必要はありません。
DHCPがあるお陰で、私達は細かなネットワーク設定を毎回手作業で入力しなくても、スマートフォンやパソコンを簡単にネットワークへ接続出来るのです。
IPアドレスとMACアドレスの違い
MACアドレスとは?
IPアドレスについて調べていると、「MACアドレス」という言葉も良く出てきます。
どちらも通信に使われるアドレスなので、
「2つも必要なの?」
と思う人も多いでしょう。
IPアドレスとMACアドレスは、使われる役割が違います。
初心者向けに大まかに言えば、
IPアドレス=最終的にどのネットワークや相手へ届けたいのかを示す情報
MACアドレス=同じネットワーク上などで、次にどの機器へデータを渡すのかを判断する時に使う情報
と考えると分かり易いでしょう。
例えば東京から北海道へ荷物を送るとします。
荷物には「北海道○○市」という最終目的地があります。
しかし、東京から北海道の家まで一度に届く訳ではありません。
途中の配送センターから次の配送センターへと、荷物を順番に渡していきます。
IPアドレスは最終目的地を判断する情報、MACアドレスは身近なネットワーク内でデータを受け渡す時に使われる情報、と考えるとイメージし易くなります。
IPv4をEthernet上で使う場合には、「このIPアドレスに対応するEthernet側のアドレスは何か」を調べるARPという仕組みがあります。
ARPを定めたRFC 826でも、IPアドレスなどのプロトコルアドレスをローカルネットワークのアドレスへ対応させる方法として説明されています。
初心者の段階では、細かな仕組みまで暗記する必要はありません。
まずは**「IPアドレスとMACアドレスは同じ物ではなく、役割が違う」**と理解出来れば十分です。
なぜIPアドレスとMACアドレスの両方が必要?
IPアドレスとMACアドレスの違いを、もう少し身近な例えで考えてみましょう。
東京にある自宅から、北海道に住んでいる友達へ荷物を送るとします。
荷物には最終的な住所として北海道の友達の住所を書きます。
しかし、実際の荷物は、
近所の営業所
大きな配送センター
北海道の配送センター
友達の家
という様に、幾つもの場所を通ります。
ネットワークでも、最終的な目的地と、今この場所から次にデータを渡す相手は同じとは限りません。
例えば自宅のパソコンからインターネット上にあるWebサーバーへデータを送る場合、Webサーバーは遠くにあります。
しかし、パソコンが最初にデータを渡す相手は、自宅にあるルーターになる事があります。
この時、
「最終的にどこへ届けるのか」
を判断する時にはIPアドレスが重要になります。
一方、Ethernetなどの身近なネットワークで「次にどの機器へ渡すのか」を決めるためにはMACアドレスなどが使われます。
IPv4ではARPを利用して、目的のIPv4アドレスに対応するEthernetアドレスを調べる仕組みがあります。
つまり、IPアドレスとMACアドレスはどちらか一方があれば良いという物ではありません。
長い距離を進むための目的地と、目の前で荷物を渡す相手では、必要な情報が違う
と考えると理解し易いでしょう。
IPアドレスのクラスとは?
クラスA・B・Cとは?
IPアドレスについて調べると、「クラスA」「クラスB」「クラスC」という言葉を見かける事があります。
これは、IPv4アドレスをネットワークの大きさなどに合わせて分類していた昔の考え方です。
大まかに言うと、
クラスA=とても大きなネットワーク向け
クラスB=中くらいのネットワーク向け
クラスC=比較的小さなネットワーク向け
という分け方でした。
例えば昔のクラスCでは、ネットワークを表す部分を多く取り、1つのネットワークで使える通常のホストアドレスは254個程度でした。
一方、クラスBでは6万個以上のホストアドレスを使えるため、クラスCとクラスBの間には非常に大きな差があります。
RFC 4632でも、クラスCでは254ホストでは足りない場合がある一方、クラスBでは65,534ホストと大きすぎる事が、昔のクラス方式が抱えていた問題として説明されています。
つまり、
「300台ほどのパソコンを使いたい」
という会社があった場合、クラスCでは少し足りません。
だからといってクラスBにすると、一気に何万台分もの大きなアドレス空間になってしまいます。
これではIPアドレスを効率よく使えません。
そこで、クラスA・B・Cのように決まった大きさだけで区切るのではなく、もっと柔軟にネットワークの大きさを決める方法が使われる様になりました。
その仕組みが、次に説明するCIDRです。
現在はCIDRと「/24」などの表記が重要
現在のネットワークを理解する時は、クラスA・B・Cよりも「CIDR」という考え方が重要です。
CIDRは「Classless Inter-Domain Routing」の略です。
難しそうな名前ですが、初心者は、
「昔のクラスA・B・Cの決まった区切り方にしばられず、必要に応じてネットワークの大きさを決める仕組み」
と考えて下さい。
ネットワークの設定で、
192.168.1.0/24
10.0.0.0/8
172.16.0.0/12
といった表記を見た事がある人もいるでしょう。
この「/24」や「/8」という数字が大切です。
IPv4のIPアドレスは全部で32ビットあります。
例えば「/24」であれば、
先頭から24ビットがネットワークを表す部分
という意味です。
JPNICも、ネットワークを表す部分が先頭から何ビットなのかを「/24」のようなプリフィックス長で表すと説明しています。
CIDRは、IPv4アドレスをより効率よく利用し、インターネット上の経路情報が増えすぎる問題を抑えるために導入されました。
RFC 4632では、32ビットのIPv4アドレス空間を節約する事と、経路情報の増加を抑える事がCIDRの重要な目的として説明されています。
そのため、初心者は、
クラスA・B・C=昔の分け方
/24など=現在のネットワークで重要な表し方
と整理して覚えると良いでしょう。
IPv4とIPv6の違い
IPv4とは?
これまで例として何度も登場した、
192.168.1.1
の様なIPアドレスは「IPv4」です。
IPv4では32ビットのアドレスを使います。
RFC 791でもIPv4のインターネットアドレスは32ビットと定められています。
32ビットなので、単純に計算すると約43億通りの組み合わせがあります。
「43億もあれば十分なのでは?」
と思うかもしれません。
しかし、現在は世界中で大量の機器がインターネットにつながっています。
パソコンやスマートフォンだけではありません。
テレビ
ゲーム機
Webサーバー
防犯カメラ
家電
さまざまなIoT機器
など、多くの物がネットワークを利用しています。
更にIPv4では、全てのアドレスを一般的な機器へ自由に割り当てられる訳ではありません。
プライベートネットワーク用やループバック用など、特別な目的に予約された範囲もあります。
IANAでは、こうしたIPv4の特別用途アドレスを管理しています。
そこでIPv4では、限られたアドレスを効率的に使うために、
プライベートIPアドレス
NAT・NAPT
CIDR
などの仕組みが利用されてきました。
IPv4は昔の技術だから知らなくても良い、という訳ではありません。
現在のネットワークを勉強する上でも重要なので、初心者はまずIPv4から学ぶとIPアドレスの基本を理解し易くなります。
IPv6が登場した理由
IPv4では使えるアドレスの数に限りがあります。
そこで、より大きなアドレス空間を利用出来る新しい仕組みとして作られたのがIPv6です。
IPv4が32ビットなのに対して、IPv6のアドレスは128ビットです。
IPv6の基本仕様であるRFC 8200でも、送信元アドレスと宛先アドレスは128ビットと定められています。
IPv6のアドレスは、
2001:db8:1234:5678::1
の様に表されるため、IPv4とは見た目も大きく違います。
IPv6では2の128乗という非常に大きな数のアドレスを表せます。
そのため、IPv4と比べて桁違いに広いアドレス空間を利用出来ます。
ただし、
「IPv6が登場したから、IPv4はもう使われていない」
という意味ではありません。
現在もIPv4は広く使われており、IPv4とIPv6の両方を扱えるネットワークもあります。
JPNICでもIPv6に関する情報や普及状況が継続して公開されています。
初心者が最初に覚えておきたい違いはシンプルです。
IPv4=32ビット
IPv6=128ビット
そして、
IPv6はIPv4よりもはるかに広いアドレス空間を持っている
という3点です。
細かな書き方や設定方法は、その後に覚えていけば問題ありません。
IPアドレスの確認方法と初心者が覚えたいポイント
自分のIPアドレスを確認する方法
IPアドレスについて勉強したら、実際に自分のパソコンで確認してみると理解し易くなります。
Windowsでは、「ipconfig」というコマンドを使ってネットワーク設定を確認出来ます。
コマンドプロンプトを開いて、
ipconfig
と入力して実行すると、IPv4アドレスやIPv6アドレス、サブネットマスク、デフォルトゲートウェイなどが表示されます。
Microsoftの公式資料でも、ipconfigをパラメーター無しで使うと、各ネットワークアダプターのIPv4・IPv6アドレスなどを確認出来ると説明されています。
家庭のWi-Fiにつないでいる場合は、
192.168.1.5
192.168.0.10
10.0.0.5
など、プライベートIPアドレスが表示される事があります。
ここで注意したいのが、
「パソコンに表示されたIPアドレス=インターネット側から見えるIPアドレス」とは限らない
という事です。
家庭のIPv4ネットワークでは、パソコンやスマートフォンにはプライベートIPアドレスが設定され、インターネットへ通信する時にルーターなどでアドレス変換が行われる事があります。
そのため、パソコンで確認したIPアドレスと、インターネット上のIP確認サービスに表示されるアドレスが違っていても、不思議ではありません。
実際に自分の環境を確認してみると、
「これがプライベートIPなのか」
と実感で出来るため、文章だけで勉強するより理解し易くなります。
初心者が最初に覚えておきたいポイント
IPアドレスについて調べると、
MACアドレス
DHCP
NAT
NAPT
ARP
CIDR
サブネットマスク
IPv6
など、知らない言葉が次々と出てきます。
全てを一度に覚えようとすると、ネットワークがとても難しい物に感じてしまうでしょう。
しかし、最初から細かな計算や専門用語まで完璧に覚える必要はありません。
まずは次の順番で理解すると分かり易くなります。
最初は、
IPアドレスはネットワーク上の住所の様な物
と考えます。
次に、
グローバルIPアドレスとプライベートIPアドレスがある
事を理解しましょう。
IPv4のプライベートIPには「10.0.0.0/8」「172.16.0.0/12」「192.168.0.0/16」という決められた範囲があります。
続いて、
IPアドレスとMACアドレスは役割が違う
事を覚えます。
IPv4のEthernet環境では、ARPを使ってIPアドレスとEthernet側のアドレスを対応させます。
その後、
クラスA・B・Cは昔の分け方で、現在はCIDRによるクラスレスな考え方が重要
と理解しましょう。
最後に、
IPv4は32ビット、IPv6は128ビット
という違いを押さえれば、IPアドレスの基本的な仕組みがかなり見えてきます。
ネットワークの勉強では、「数字を暗記する事」よりも「なぜその仕組みが必要なのか」を理解する事が大切です。
IPアドレスが何のためにあり、どの様にデータを届けるために使われているのかが分かれば、DNSやルーター、サブネットマスクなど、次に出てくるネットワークの知識もつながって理解し易くなるでしょう。
今回は特に、「クラスA・B・Cが現在もそのまま使われている」と誤解しない事、「IPアドレスとMACアドレスを単純に同じ“住所”として説明しない事を意識して、初心者向けの分かり易さと技術的な正確さを両立させています。CIDRについてはRFC 4632、ARPはRFC 826、IPv6はRFC 8200を基準に確認しています。
コメント