web-dev-qa-db-ja.com

ループバックデバイスとは何ですか?

ループバックおよびlocalhostとは何ですか?

なぜ存在し、何に使用され、どのように使用するのですか?

136
Eliah Kagan

loopback device は特別な virtualネットワークインターフェイス であり、コンピューターはそれ自体との通信に使用します。主に診断とトラブルシューティング、およびローカルマシンで実行されているサーバーへの接続に使用されます。

ループバックの目的

ネットワークインターフェイスが切断されている場合-たとえば、 Ethernet ポートが抜かれている場合、または Wi-Fi がオフになっているか、 アクセスポイント -そのインターフェースでの通信は不可能であり、コンピューターとそれ自体の間の通信でさえもできません。ループバックインターフェイスは実際のハードウェアを表すものではありませんが、コンピューター上で実行されているアプリケーションが常に同じマシン上のサーバーに接続できるように存在します。

これは、トラブルシューティングにとって重要です(ミラーを調べることと比較できます)。ループバックデバイスは、純粋に診断ツールとして説明される場合があります。しかし、必要なリソースを提供するサーバーがが自分のマシンで実行されている場合にも役立ちます

たとえば、Webサーバーを実行している場合、すべてのWebドキュメントがあり、それらをファイルごとに調べることができます。ブラウザーにファイルをロードすることもできますが、サーバー側のアクティブコンテンツでは、誰かが通常にアクセスしたときのようには機能しません。

そのため、他のユーザーと同じサイトを体験したい場合、通常は自分のサーバーに接続するのが最善の方法です。ループバックインターフェイスはそれを容易にします。

ループバックのアドレス

IPv4 の場合、ループバックインターフェイスには、127.0.0.0/8address block 内のすべての IPs が割り当てられます。つまり、127.0.0.1から127.255.255.254 all はコンピューターを表します。ただし、ほとんどの目的では、1つのIPアドレスのみを使用する必要があり、それは127.0.0.1です。このIPには、 localhosthostname がマップされています。

したがって、 SSH を介してbobとして自分のマシンで実行されているSSHサーバーにログインするには、次を使用します。

ssh bob@localhost

他のネットワークアダプターと同様に、ループバックデバイスは ifconfig の出力に表示されます。その名前は lo です。

ek@Del:~$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:50121 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50121 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4381349 (4.3 MB)  TX bytes:4381349 (4.3 MB)

例:CUPS

Ubuntuでのlocalhostの一般的な本番(つまり、単なる診断ではない)使用は、高度なプリンター構成を実行することです。 Webブラウザーで、次の場所に移動します。

http://localhost:631

CUPS は、ポート631でWebサーバーを実行します。これは、実行しているGUIに関係なく(またはGUIをまったく実行していない場合でも)、印刷の構成に使用できます。 。

Screenshot showing CUPS in a web browser

http://127.0.0.1:631に接続しようとすると、これも機能します。ただし、http://127.0.0.2に接続しようとすると、接続されません。すべての127.*.*.*アドレスはループバックインターフェイスでコンピューターを識別しますが、サーバープログラムは特定のIPアドレスにのみバインドすることを決定できます。

Windowsとの顕著な違い

Windowsのバックグラウンドから来た場合、loopback自体がlocalhostの同義語であると期待するかもしれません(したがって、loopbackをpingでき、loopbackなどでサーバーに接続できます)。この動作はWindowsに特有です。

「ループバック」の他の意味

loopback の一般的な概念は、メッセージまたはシグナルが最終的に開始(またはループ)して元に戻るメカニズムです。

したがって、Ubuntuで loopback を使用する方法は他にもいくつかありますが、ネットワーキングのループバックデバイスと混同しないでください。

ループマウント

Ubuntuでディスクイメージをマウントするには、次を実行できます。

Sudo mount -o loop image.iso /media/label

これは通常 loop device (および loopback device ではなく)と呼ばれますが、 loopback file interface が時々使用されます。

これは、ネットワークのループバックデバイスとは関係ありません。

Pulseaudioおよびその他のサウンドシステムは、ラインインをラインアウトに「接続」するメカニズムを提供し、オーディオ入力がスピーカー/ヘッドフォンにエコーバックされるようにします。 Pulseaudioの loopback module はこれを容易にします。

ここでは、 is という用語を使用するのが正しい loopback ですが、ループマウントのように、これはネットワーキングのループバックデバイスとも関係ありません。 (ループマウントとも関係ありません。)

参考文献

180
Eliah Kagan