ローカルループバックアドレスとは?localhostについてもやさしく解説!
コンピュータには、
「ローカルループバックアドレス」
と呼ばれる、特殊なIPアドレスが割り振られています。
常にそのコンピュータ自身を表すアドレスで、これを利用することでさまざまなメリットが生まれます。
しかし、Webサイト製作やサーバー構築などをしたことがない人にとって、「127.0.0.1」や「::1」などは見慣れないものです。
また、「IPアドレス」や「localhost」についても、よく分からないという人が多いでしょう。
そこでこの記事では、ローカルループバックアドレスとlocalhostについて、理解に必要な「IPアドレス」や「IPv4/IPv6」などの用語と合わせて、わかりやすく解説します。
ローカルループバックアドレスは、ほぼ必ず割り当てられているもので、自身でも簡単に確認することができるので、その方法についても説明します。
ローカルループバックアドレスとは
ローカルループバックアドレスとは、どのようなものなのでしょうか。
ここでは、理解に必要な用語である「IPアドレス」や「ループバックアドレス」について、分かりやすく解説していきます。
合わせて、ローカルループバックアドレスの確認方法についても見ていきましょう。
そもそもIPアドレスとは
IPアドレスとは、インターネットに接続するとき、コンピュータや通信機器に割り当てられた識別番号です。
IPとは「Internet Protocol」の略で、通信規格(TCP/IP)に則って通信がおこなわれています。
簡単に言えば、IPアドレスはネットワーク上の住所のようなもので、これを用いることで、ネットワーク内の発信元を特定しています。
IPアドレスの形式は「IPv4」と「IPv6」の2種類
現在、IPアドレスには「IPv4」と「IPv6」の2種類の規格が広く使われています。
IPv4は32bit、つまり0と1の32桁でIPアドレスを表します。
そしてIPv6は128bitでIPアドレスを表し、IPv4の次世代規格として考案されました。
あらゆるモノがインターネットに接続される現代は、将来的にIPアドレスが足りなくなることが予測されるため、より多くのIPアドレスを割り振ることのできるIPv6が登場したのです。
実際のIPアドレスは2進数ですが、8bitごとに区切って10進数と16進数で表記します。
一例として、sIPv4とIPv6によるIPアドレスは、以下のように表されます。
IPv4の場合:192.168.0.10 (11000000.10101000.00000000.00001010)
IPv6の場合:fe80:0000:0000:0000:0394:a9b4:014d:7983
インターネットを見るときのURLとの関係
IPアドレスがネットワーク上での住所のようなものと書きましたが、あなたが普段閲覧しているサイトのURLとこのIPアドレスは、1:1の関係となっています。
先程のように、IPアドレスは数値と英語(IPv6の場合)で構成されているので、ぱっと見でわかりにくいですし、打ち間違いの可能性もあります。
そこで、人間が覚えやすいように「http://~~」といったURLでのアクセスをできるようにしました。
「どのURLがどのIPアドレスか」
を変換する仕組みをDNSサーバーと呼び、URLからIPアドレスに変換してサイトにアクセスをしているのです。
ループバックアドレス
ネットワーク上のあらゆるものに割り振られたIPアドレスのうち、通信をしているコンピュータ自体に割り振られたものを「ループバックアドレス」と呼びます。
実際にはPCなどのデバイスではなく、OSなどに実装された「ループバックインターフェース」の識別番号となります。
ネットワークで通信しているとき、ループバックアドレスに送信されたデータは、デバイスの内部で折り返してコンピュータが受信するという仕組みになっています。
詳しくは省略しますが、この仕組みによって、ネットワーク通信で可能なことの幅が広がっているのです。
ローカルループバックアドレス
多くの場合、ループバックアドレスはそのまま「ローカルループバックアドレス」を指しています。
前のトピックで説明した、コンピュータそのものを表し
「デバイスの内部で折り返してコンピュータが受信」
するときに用いるIPアドレスが、ローカルループバックアドレスです。
AというコンピュータがAのローカルループバックアドレスを指定すれば、必ずAというコンピュータにアクセスします。
つまりこのアドレスは、ネットワーク上で自分自身を表す特別なIPアドレスなのです。
IPv4とIPv6の場合
ローカルループバックアドレスは、IPv4とIPv6のそれぞれで、次の範囲のIPアドレスが割り当てられています。
IPv4の場合:127.0.0.1~127.255.255.254
IPv6の場合:::1 (0:0:0:0:0:0:0:1)
なお、IPv4のローカルループバックアドレスは、基本的には「127.0.0.1」が割り振られており、かつ「127.0.0.0」と「127.255.255.255」は使用されません。
また、IPv6では「:: 1」のみが、ローカルループバックアドレスとして用意されています。
ローカルループバックアドレスの確認方法
通信規格(TCP/IP)に則ってネットワークに接続されているデバイスには、必ずローカルループバックアドレスが振られていて、自身でも確認できます。
確認方法はいくつかありますが、コマンドを利用するのが一般的です。
コマンドプロンプトを立ち上げたら、pingコマンドでローカルループバックアドレスを指定します。
IPv4なら「ping 127.0.0.1」、IPv6なら「ping ::1」と打ち込むと、同じアドレスから応答が帰ってきます。
また、「netstat -an」と書いて参加しているポートを確認する方法もあります。
なお、通常のIPアドレスと違い、ループバックアドレスは「設定」やコントロールパネルからは確認できないので注意しましょう。
localhostとは
大抵の場合、ローカルループバックアドレスには、ホスト名として「localhost」が設定されています。
ここでは、この「localhost」が何を表しているのかについて解説します。
合わせて、「127.0.0.1」との違いや、ポート番号とlocalhostを合わせてできることについても見ていきましょう。
ネットワークで自分の端末をあらわす
まずホスト名とは、ネットワークに接続されたデバイスの名前です。
IPアドレスは人間には分かりにくいため、IPアドレスにホスト名をつけて「http://ホスト名/」と表記します。
こうしたホスト名のうち、ローカルループバックアドレスに付けられたものが「localhost」で、TCP/IPでは、始めからこの名前が当てられています。
なお、ネットワーク上の通信相手のことを、localhostにならって「リモートホスト(remotehost)」と呼ぶこともあります。
「127.0.0.1」との違いは?
このように、localhostはローカルループバックアドレスに付けられたホスト名です。
つまり、「127.0.0.1」を人間に分かりやすくしたものが「localhost」表記と言えます。
なのでこの2つは、根本的には同じものを指していますが、「127.0.0.1」はIPアドレスで、「localhost」はホスト名なので、厳密には違うものなのです。
ポート番号ごとのlocalhostの意味
ポート番号とは、IPアドレスに設けられた16bitのサブアドレスで、ネットワーク上で通信ブログラムを識別するために用います。
localhostとポート番号を合わせて「localhost:ポート番号」と表記することで、さまざまな用途が生まれます。
ポート番号ごとのlocalhostの意味について、よく使用されるものを解説します。
「localhost:8080」は、ローカルで使用するWebアプリケーションにアクセスでき、「localhost:8888」はマネジメントポート(ルーターとコンピュータを繋いで操作するもの)に繋がります。
また「localhost:8081」はHTTP/SSLのために、「localhost:8082」はWebサービスのために割り振られています。
そのほか、さまざまな機能にポート番号が割り振られていて、localhostを使用することで、アクセスが可能となります。
ループバックアドレスのメリット
ループバックアドレスを扱うことには、どのようなメリットがあるのでしょうか。
ネットワーク上の識別
ネットワーク端末は、ひとつの機器でも複数のIPアドレスを持っています。
そのため、その機器を代表するIPアドレスとして、ループバックアドレスが用いられることが多く、ネットワーク上の識別に役立っています。
Webサイトのテスト
自分自身に割り当てられるループバックアドレスには、通信規格として以外にもメリットがあります。
例えば、Webサイトを作成したとき、まだ公開したくない、公開する前にテストをしたいといったときに、ループバックアドレスが役に立ちます。
ループバックアドレスを使えば、ネットワークに接続せずに自身のコンピュータにアクセスできるため、公開前で、自分のPCにしかないWebサイトをチェックすることができるのです。
(その際には、自分のサーバーにWEBサーバーの役割を持たせるためのミドルウェアが必要になります)
その他のテストとトラブルシューティング
また、ループバックアドレスを利用してテストをすることで、スムーズなデバッグ作業が可能になります。
ネットワークに接続すると、負荷や遅延、大量のログの書き込みが発生します。
特に企業で使っているPCは、多くの場合ログが残っています。
それを情報システム部門などが監視しているような場合、不審なログと判断されて何をしているのか聞かれることになるでしょう。
そうした要素を排除してテストをおこないたい場合、ループバックアドレスを用いるのが有効です。
ネットワークの通信問題についても、ループバックアドレスを用いて障害箇所を特定する方法があります。
ループバックアドレスを用いてデータを送信したとき、データが戻ってこないところがあれば、そこが障害箇所となります。
社内のDX化はAMELAに
今回は、ローカルループバックアドレスについて見てきました。
特にWEB開発を行っている場合には、よく利用されるものですが、そういった経験が無い方にはわかりにくい概念だったかもしれません。
現在は、色々な技術が生まれており、その特性を把握した上で
「どのように社内を構築していくのか」
というのは、非常に重要な仕事です。
どの業種でもPCを使う必要性が出てきた今の社会では、同時に
・セキュリティのリスク
・情報漏洩のリスク
・データ管理のリスク
・コンプライアンスのリスク
などに、どの企業も気を配る必要性があります。
もしも現在、
・特別な対応をしているわけではない
・詳しい人が社内にいない
・長期間仕組みを見直していない
という状況であれば、是非一度AMELAにご相談ください。
今の現状を正確に把握し、最適なご提案をいたします。