Что такое петлевое устройство и как его использовать?

138

Что такое loopback и localhost ?

Почему они существуют, для чего они используются, и как бы я их использовал?

Элия ​​Каган
источник
Разве это не два отдельных вопроса в 1?
Анвар

Ответы:

180

Устройство обратной связи - это специальный виртуальный сетевой интерфейс, который ваш компьютер использует для связи с самим собой. Он используется в основном для диагностики и устранения неполадок, а также для подключения к серверам, работающим на локальной машине.

Цель петли

Когда сетевой интерфейс отключен - например, когда порт Ethernet отключен или Wi-Fi отключен или не связан с точкой доступа - невозможна связь по этому интерфейсу, даже связь между вашим компьютером и самим собой. Интерфейс обратной связи не представляет никакого реального оборудования, но существует, поэтому приложения, работающие на вашем компьютере, всегда могут подключаться к серверам на одном компьютере.

Это важно для устранения неполадок (это можно сравнить с просмотром в зеркале). Устройство обратной связи иногда объясняется как чисто диагностический инструмент. Но это также полезно, когда сервер, предлагающий нужный вам ресурс, работает на вашем компьютере .

Например, если вы запускаете веб-сервер, у вас есть все ваши веб-документы и вы можете просматривать их файл за файлом. Вы также можете загружать файлы в свой браузер, хотя с активным содержимым на стороне сервера он не будет работать так, как при обычном доступе к нему.

Поэтому, если вы хотите использовать тот же сайт, что и другие, лучше всего подключиться к вашему собственному серверу. Интерфейс обратной связи облегчает это.

Адреса на петле

Для IPv4 интерфейсу обратной связи назначаются все IP - 127.0.0.0/8 адреса в блоке адресов . То есть 127.0.0.1через 127.255.255.254 все представляют ваш компьютер. Однако для большинства целей необходимо использовать только один IP-адрес, и это так 127.0.0.1. Этот IP имеет имя хоста в localhostназначенный для него.

Таким образом, чтобы войти bobчерез SSH на сервер 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

Одним из распространенных, производственных (т.е. не только диагностических) применений в localhostUbuntu является выполнение расширенной настройки принтера. В веб-браузере перейдите по ссылке:

http://localhost:631

CUPS запускает веб-сервер через порт 631, и это можно использовать для настройки печати, независимо от того, какой графический интерфейс вы используете (или даже если вы вообще не используете графический интерфейс).

Снимок экрана, показывающий CUPS в веб-браузере

Если вы попытаетесь подключиться к http://127.0.0.1:631, это тоже будет работать. Однако, если вы попытаетесь подключиться http://127.0.0.2, это не так. Все 127.*.*.*адреса идентифицируют ваш компьютер в интерфейсе обратной связи, но серверная программа может решить связать только с определенным IP-адресом.

Заметное отличие от Windows

Если вы работаете в Windows, вы можете loopbackбыть синонимом localhost(и, таким образом, иметь возможность пинговать loopback, подключаться к серверам loopbackи т. Д.). Такое поведение свойственно Windows.

Другие значения "Loopback"

Общая концепция обратной петли - это механизм, с помощью которого сообщение или сигнал заканчиваются (или зацикливаются) до того места, где они начались.

Таким образом, есть несколько других способов использования loopback в Ubuntu, которые не следует путать с устройством loopback в сети.

Петли крепления

Чтобы смонтировать образ диска в Ubuntu, вы можете запустить:

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

Обычно это называется устройством петли (а не устройством петли ), но иногда используется термин интерфейс файла петли .

Это не имеет ничего общего с петлевым устройством в сети.

звук

Pulseaudio и другие звуковые системы предоставляют механизм для «подключения» линейного входа к линейному выходу, так что аудиовход возвращается к вашим динамикам / наушникам. Петлевой модуль Pulseaudio облегчает это.

Здесь, это правильно использовать термин кольцевой проверку , но , как и монтирует петлю, это также не имеет ничего общего с петлевым устройством в сети. (И не имеет ничего общего с контурами крепления).

Дальнейшее чтение

Элия ​​Каган
источник
6
Почему 127.0.0.0/8 отображается на 127.0.0.1–127.255.255.254 вместо 127.0.0.0–127.255.255.255? (Извините, если это воспринимается как хай-джек.)
JellicleCat
5
Он упомянул только используемые адреса хостов и исключил сетевые и широковещательные адреса. Вы правы, говоря, что это должно быть 127.0.0.0-127.255.255.255, но первый и последний имеют другие цели.
Габриэль Самфира
1
@ Элия, должно localhostбыть, указывает на 127.0.0.1? Или это также может указывать на другой адрес обратной связи, например 127.0.0.2?
Pacerier
@GabrielSamfira, так почему, когда я пытаюсь подключиться к этим двум IP-адресам, используя SSH (например, запустив ssh 127.0.0.0), он говорит «Сеть недоступна» вместо «Отказано в соединении»?
MAChitgarha
3
@MAChitgarha Первый IP-адрес в подсети - это сетевой идентификационный адрес, а последний IP-адрес - широковещательный адрес. Ни один из них не может быть назначен хосту по умолчанию. Широковещательный адрес используется для адресации каждого хоста в сети, а сетевой адрес используется для идентификации самой сети. Пожалуйста, смотрите: en.wikipedia.org/wiki/IP_address
Габриэль Самфира