ループバックアドレス るーぷばっくあどれす
ループバックアドレスlocalhost127.0.0.1::1ローカルホスト
ループバックアドレスについて教えて
簡単に言うとこんな感じ!
「自分自身を指すIPアドレス」だよ。開発中に「localhost」や「127.0.0.1」って使うあれがそれ。実際のネットワークには出ていかず、自分のPC内でループして返ってくるから「ループバック」というんだ!
ループバックアドレスとは
ループバックアドレスは、コンピューター自身を指す特殊なIPアドレスです。IPv4では127.0.0.1(127.0.0.0/8全体が予約されているが実際は127.0.0.1を使う)、IPv6では**::1が使われます。ホスト名ではlocalhost**と対応付けられています。
ループバックアドレスへの通信は物理ネットワークに出ることなく、OS内部で折り返してそのまま返ってきます。ネットワーク機器がなくてもTCP/IP通信のテストができ、ローカルで動くサーバーのテストに欠かせません。
例えば、ローカルで起動したWebサーバーにhttp://localhost:3000でアクセスしたり、同一ホスト内のプロセス間通信(データベースへの接続など)に使われます。ping 127.0.0.1が通れば、OSのTCP/IPスタック自体は正常に動いているということを確認できます。
ループバックアドレスの仕様
| 項目 | IPv4 | IPv6 |
|---|---|---|
| アドレス | 127.0.0.1 | ::1 |
| ホスト名 | localhost | localhost |
| 予約範囲 | 127.0.0.0/8 | ::1/128 |
| RFC | RFC 5735 | RFC 4291 |
歴史と背景
- 1981年:IPv4設計時に127.0.0.0/8がループバック用に予約(RFC 791)
- 1983年:
localhostというホスト名がUSのARPANETで使われ始める - 1998年:IPv6でも
::1がループバックアドレスとして定義(RFC 2460) - 現在:コンテナ・クラウド環境でもローカルテストに必須の概念
活用例
# ローカルのTCP/IPスタックの動作確認
ping 127.0.0.1
# ローカルで起動したWebサーバーへのアクセス
curl http://localhost:8080/
# MySQLがローカルで動いているか確認
mysql -h 127.0.0.1 -u root -p
# /etc/hosts の localhost 設定確認
cat /etc/hosts
# 127.0.0.1 localhost
# ::1 localhost ip6-localhost
/etc/hostsとの関係
/etc/hostsファイルにより、ホスト名と IPアドレスのマッピングが管理されます。localhostは通常このファイルで127.0.0.1と::1の両方に対応付けられています。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 5735 | IPv4特殊用途アドレスブロック(127.0.0.0/8を含む) |
| RFC 4291 | IPv6アドレスアーキテクチャ(::1を含む) |
| RFC 6761 | 特殊用途ドメイン名(localhost) |
関連用語
- IPアドレス — ループバックアドレスが属するアドレス体系
- ソケット — localhostへの接続でも使われる通信端点
- プライベートIPアドレス — ループバックと同様に組織内でのみ使われる