多くのコンピュータユーザーは、localhost
や 127.0.0.1
、または直接ローカル IP を入力して使用する場面に遭遇したことがあるでしょう。一見すると、これらはすべてローカルマシンにアクセスできるように見えますが、なぜ 3 種類の形式が存在するのでしょうか?また、それぞれにどのような違いがあるのでしょうか?見た目は単純ですが、実際には大きな違いがあります。
さらに、公的ネットワーク(インターネット)とプライベートネットワーク(ローカルネットワーク)、ネットワークインターフェースカード(NIC)と IP アドレスの関係についても混乱することがあるかもしれません。以下で、それらの疑問を一つずつ解説します。
ローカル IP アドレス
コンピュータのマザーボードには複数のネットワークインターフェースカード(NIC)が組み込まれており、一般的に以下の種類が存在します。
仮想ネットワークインターフェース(ループバック)
注意:これは物理的なネットワークカードではなく、仮想的なものです。これはローカルループバックアドレス(またはインターフェース)と呼ばれ、通常 127.0.0.1
がループバックアドレスとして設定されています。
有線ネットワークインターフェース(イーサネット)
これはイーサネット(LAN)で使用されるもので、一般的に「ネットワークカード」と言えばこれを指します。有線接続で、LAN ケーブルを挿入することで使用します。
無線ネットワークインターフェース(WLAN)
無線 LAN(Wi-Fi)を使用するためのネットワークカードで、ノート PC には通常これが内蔵されています。イーサネットのように物理的なケーブルを必要とせず、無線技術を利用して通信を行います。
これらのネットワークインターフェースにはそれぞれローカル IP アドレスが割り当てられます。
localhost
は特別なドメイン名
まず localhost
は IP アドレスではなく、特別なドメイン名(サフィックスなし)です。デフォルトではローカル IP(すなわち 127.0.0.1
)に解決され、本機の hosts
ファイルによって管理されています。もし希望するなら、localhost
を任意のパブリック IP アドレスにマッピングすることも可能です。
デフォルトでは、以下のように設定されています。
-
IPv4:
127.0.0.1
-
IPv6:
[::1]
hosts
ファイルの場所:
C:\Windows\System32\drivers\etc
127.0.0.1
はローカル専用のプライベート IP
127.0.0.1
はプライベート IP の一種で、ローカルループバックアドレス(loopback address)として使用されます。本質的には仮想ネットワークインターフェース(ループバックインターフェース)にバインドされた IP アドレスです。
ループバックアドレスとは?
ループバックアドレスとは、ホストが自分自身に対して通信を行うための特別なアドレスです。たとえば、同じホスト内で動作する 2 つのサービスが通信する場合、ループバックアドレスを使用すると、TCP/IP スタックの下層(リンク層や物理層、イーサネット)を経由せず、直接ネットワーク層とトランスポート層で処理されます。
IP ネットワークの 127.x.x.x
は、ネットワークアドレスではなく、すべてループバック用に予約されているため、生成された IP パケットは外部のネットワークインターフェースに到達することはなく、ホスト内で処理されます。
したがって、127.0.0.1
は一般的にローカルの TCP/IP プロトコルスタックをテストするために使用されます。もし ping 127.0.0.1
が成功すれば、ネットワークカードや IP プロトコルのインストールに問題がないことを確認できます(このテストはインターネット接続の有無とは無関係です)。
実際には、IPv4 では 127.0.0.0/8
の範囲全体がループバック用に予約されています。つまり、127.0.0.1
以外のアドレスも同様にループバック通信に利用できます。また、0.0.0.0
というアドレスもよく混同されますが、0.0.0.0
は厳密にはローカルアドレスを指し、127.0.0.1
とは用途が異なります。
例えば、ある PC に 2 枚のネットワークカードがあり、一方がパブリック IP を使用してインターネットに接続し、もう一方がプライベート IP でローカルネットワークに接続しているとします。この PC で Web サーバーを稼働させ、どちらのネットワークからもアクセス可能にしたい場合、サーバーのバインドアドレスを 0.0.0.0
に設定すれば、すべての利用可能なネットワークインターフェースでリクエストを受け付けることができます。
localhost
、ローカル IP、127.0.0.1
の違い
-
ネットワーク要件の違い
-
localhost
と127.0.0.1
は、ネットワーク接続がなくても使用できます。インターネットに接続されていない環境でも、これらにアクセスすればローカルマシンを見つけることができます。 - ローカル IP のうち、有線ネットワーク IP や無線ネットワーク IP は、ネットワークに接続されている場合にのみ割り当てられ、アクセス可能になります。これらは、外部に公開される IP アドレスです。
-
-
アクセス対象の違い
-
localhost
はローカルマシンへのアクセス -
127.0.0.1
もローカルマシンへのアクセス - ローカル IP は、ローカルマシンまたは外部のデバイスからのアクセスが可能
-
-
ドメインと IP アドレスの違い
-
localhost
はドメイン名であり、デフォルトで127.0.0.1
に解決されます。 - ローカル IP は、ネットワークインターフェース(物理 NIC)にバインドされ、外部デバイスからのアクセスを許可します。
-
-
LAN 内でのアクセス
- 同じサブネット(LAN 内の同じネットワークセグメント) にある他の PC は、ローカル IP を使用して対象の PC にアクセスできます(プライベート IP については後述します)。
ネットワークインターフェースのアドレス & IP アドレス
ネットワークインターフェースのアドレス(MAC アドレス)
ネットワークインターフェースのアドレス(MAC アドレス)は、メディアアクセス制御(Media Access Control) の略で、物理アドレスまたはハードウェアアドレスとも呼ばれます。これは、ネットワークデバイスの識別のために使用されます。
OSI 参照モデルにおいて、
- 第 3 層(ネットワーク層)が IP アドレス を担当し、
- 第 2 層(データリンク層)が MAC アドレス を担当します。
したがって、1 つのネットワークインターフェースには 1 つの MAC アドレスが割り当てられますが、ネットワークの接続先ごとに異なる IP アドレス が設定されることがあります。
MAC アドレスはネットワークカードに組み込まれており、通常変更できず、グローバルに一意であることが保証されています。これを人間の身分証明書の番号のように考えることもできます。
IP アドレス
IP アドレス(Internet Protocol Address) は、インターネット上のデバイスを識別するためのアドレスです。これは、インターネット上のネットワークとホストに一意のロジカルアドレスを割り当て、物理アドレス(MAC アドレス)の違いを抽象化するために使用されます。
まとめ
簡単に言えば、
- MAC アドレス はネットワークインターフェースに固有の物理アドレスであり、通常変更できない。
- IP アドレス は、ネットワークによって割り当てられるソフトアドレスであり、変更が可能。
補足:Windows では、ipconfig /all
コマンドを使用して、IP アドレスと MAC アドレスを確認できます。
パブリック IP(公的 IP)とプライベート IP(私的 IP)
私たちは、127.0.0.1
を使用してローカルマシンにアクセスし、プライベート IP を使用して LAN 内の他のデバイスにアクセスし、パブリック IP を使用してインターネット上の他のデバイスにアクセスします。
パブリック IP アドレス(公的 IP)
企業レベルのネットワークを構築する際、インターネットサービスプロバイダー(ISP)からインターネット接続(ブロードバンド)を申請します。ISP は、私たちに 1 つまたは複数の IP アドレスを割り当てます。これらの IP アドレスは、企業内のデバイスがインターネットにアクセスするために使用されます。
パブリックアドレス(Public Address) は、Internet Network Information Center(INIC、インターネット情報センター) によって管理されています。これらの IP アドレスは、INIC に登録された組織に割り当てられ、インターネット上で直接アクセスできます。
プライベート IP アドレス(私的 IP)
企業や家庭内でローカルネットワーク(LAN)を構築する際、プライベート IP が使用されます。
プライベートアドレス(Private Address) は、非登録アドレスであり、組織内でのみ使用されるため、インターネット上には表示されません。プライベート IP からのトラフィックは、ISP のルーターでブロックされるため、直接インターネットに接続することはできません。
企業内の PC がインターネットにアクセスするためには、NAT(Network Address Translation) を使用して、プライベート IP をパブリック IP に変換する必要があります。
パブリックネットワークとプライベートネットワークのアクセス関係
- プライベートネットワークからパブリックネットワーク(インターネット)へアクセスする場合、SNAT(Source Network Address Translation) を適用する必要があります。
- パブリックネットワークからプライベートネットワークへのアクセスは、DNAT(Destination Network Address Translation) や VPN(Virtual Private Network) などの技術を利用する必要があります。
- 2 つの異なるプライベートネットワーク間で通信する場合も、VPN を利用することで接続が可能になります。
インターネット(外部ネットワーク)とプライベートネットワーク(内部ネットワーク)
企業内部のネットワークは一般に「プライベートネットワーク」と呼ばれ、企業外部のネットワークを「外部ネットワーク」と呼びます。しかし、外部ネットワークには ISP が提供するパブリックネットワーク(インターネット)だけでなく、他の企業や家庭のネットワーク(プライベートネットワーク)も含まれる場合があります。
そのため、「外部ネットワーク」と「パブリックネットワーク(インターネット)」は完全に同じ意味ではありませんが、一般的には区別せずに使われることが多いです。
すべての IP アドレスの範囲
IP アドレスは 5 つのクラスに分けられており、それぞれの範囲は以下のとおりです:
-
A クラス IP:
1.0.0.1 ~ 127.255.255.254
-
B クラス IP:
128.0.0.1 ~ 191.255.255.254
-
C クラス IP:
192.0.0.1 ~ 223.255.255.254
-
D クラス IP:
224.0.0.0 ~ 239.255.255.255
(マルチキャスト用) -
E クラス IP:
240.0.0.0 ~ 255.255.255.255
(将来の用途のために予約)
このうち、A・B・C クラスの IP アドレス はインターネットやユーザーで使用可能ですが、D クラス はマルチキャスト通信に使用され、E クラス は将来の用途のために予約されています。
特殊な IP アドレス
-
0.0.0.0
→ 現在のホストを指す -
255.255.255.255
→ 現在のサブネットのブロードキャストアドレス -
127.0.0.1 ~ 127.255.255.255
→ ループバックテスト専用 -
E クラス IP (
11110
で始まるアドレス) → 研究・将来用途のために予約 -
ネットワークIDの最初の6ビットがすべて0
→ ローカルネットワークを表す
パブリック IP アドレスの範囲
IP アドレスの A・B・C クラスのうち、以下の範囲はパブリック IP として利用可能です。
A クラスのパブリック IP
1.0.0.0 ~ 9.255.255.255
11.0.0.0 ~ 126.255.255.255
B クラスのパブリック IP
128.0.0.0 ~ 172.15.255.255
172.32.0.0 ~ 191.255.255.255
C クラスのパブリック IP
192.0.0.0 ~ 192.168.255.255
192.169.0.0 ~ 223.255.255.255
プライベート IP アドレスの範囲
プライベート IP アドレスとして予約されている範囲は以下のとおりです。
-
A クラス:
10.0.0.0 ~ 10.255.255.255
(10.0.0.0/8
) -
B クラス:
172.16.0.0 ~ 172.31.255.255
(172.16.0.0/12
) -
C クラス:
192.168.0.0 ~ 192.168.255.255
(192.168.0.0/16
)
これらのアドレスは、インターネット上ではルーティングされず、ISP はプライベート IP アドレスのトラフィックをブロックします。そのため、直接インターネットに接続することはできません。しかし、NAT 技術 を利用すれば、プライベート IP アドレスをパブリック IP アドレスに変換してインターネットと通信することが可能です。
また、プリンターや管理用ハブなど、インターネット接続を必要としないデバイスは、プライベート IP を使用することで IP アドレスの節約が可能です。
ネットワークセグメント(サブネット)とローカルネットワーク(LAN)
ネットワークセグメント(サブネット)とは?
ネットワークセグメント(サブネット) とは、同じ物理層のネットワークデバイス(例:ハブ、スイッチ)によって直接通信可能な範囲のことを指します。つまり、同じネットワークセグメント内のコンピュータは、ルーターを介さずに直接通信することができます。
ローカルネットワーク(LAN)とは?
LAN(Local Area Network) は、スイッチなどのネットワーク機器を使用して構成されるネットワーク全体を指します。通常、LAN 内のすべてのデバイスは同じサブネット内にあり、直接通信できます。しかし、VLAN(仮想 LAN) を利用すれば、1 つの LAN を複数のネットワークセグメントに分割することも可能です。
同じサブネット内のデバイスのみが直接通信可能
ネットワーク内のデバイスが同じサブネットに属している場合、直接通信が可能です。したがって、1 つの LAN 内にネットワークセグメントが 1 つしかない場合、LAN = ネットワークセグメント となります。
異なるネットワークセグメントの判別方法
IP アドレスとサブネットマスクを使用した判別
サブネットマスクを利用すると、2 つの IP アドレスが同じネットワークセグメントに属しているかどうかを判別できます。
例 1
以下の 2 つの IP アドレスを考えます。
-
IP アドレス 1:
192.168.1.1
(サブネットマスク:255.255.255.0
) -
IP アドレス 2:
192.168.1.2
(サブネットマスク:255.255.255.0
)
サブネットマスク 255.255.255.0
を適用すると、両方とも 192.168.1.0/24
のネットワークセグメントに属している ため、直接通信できます。
例 2
-
IP アドレス 1:
192.168.1.1
(サブネットマスク:255.255.255.0
) -
IP アドレス 2:
192.168.1.2
(サブネットマスク:255.255.0.0
)
一見すると似ていますが、サブネットマスクが異なるため、同じネットワークセグメントには属していません。
-
192.168.1.1 & 255.255.255.0
→192.168.1.0/24
-
192.168.1.2 & 255.255.0.0
→192.168.0.0/16
このため、異なるネットワークセグメントに属していると判断できます。
例 3
-
IP アドレス 1:
192.168.1.1
(サブネットマスク:255.255.252.0
) -
IP アドレス 2:
192.168.2.1
(サブネットマスク:255.255.252.0
)
サブネットマスク 255.255.252.0
を適用すると、どちらも 192.168.0.0/22
のネットワークセグメントに属している ため、同じネットワークセグメント内で直接通信が可能です。
私たちはLeapcell、バックエンド・プロジェクトのホスティングの最適解です。
Leapcellは、Webホスティング、非同期タスク、Redis向けの次世代サーバーレスプラットフォームです:
複数言語サポート
- Node.js、Python、Go、Rustで開発できます。
無制限のプロジェクトデプロイ
- 使用量に応じて料金を支払い、リクエストがなければ料金は発生しません。
比類のないコスト効率
- 使用量に応じた支払い、アイドル時間は課金されません。
- 例: $25で6.94Mリクエスト、平均応答時間60ms。
洗練された開発者体験
- 直感的なUIで簡単に設定できます。
- 完全自動化されたCI/CDパイプラインとGitOps統合。
- 実行可能なインサイトのためのリアルタイムのメトリクスとログ。
簡単なスケーラビリティと高パフォーマンス
- 高い同時実行性を容易に処理するためのオートスケーリング。
- ゼロ運用オーバーヘッド — 構築に集中できます。
Xでフォローする:@LeapcellHQ