В компьютерной сети , локальный это имя хоста , который ссылается на текущий компьютер , используемый для доступа к нему. Он используется для доступа к сетевым службам, работающим на хосте, через сетевой интерфейс обратной петли . Использование интерфейса обратной петли позволяет обойти любое оборудование интерфейса локальной сети .
Петля
Механизм локальной петли может использоваться для запуска сетевой службы на хосте, не требуя физического сетевого интерфейса или не делая службу доступной из сетей, к которым компьютер может быть подключен. Например, локально установленный веб-сайт может быть доступен из веб-браузера по URL-адресу http: // localhost для отображения его домашней страницы.
Имя localhost обычно преобразуется в адрес обратной связи IPv4 127.0.0.1 и адрес обратной связи IPv6 :: 1 . [1]
Разрешение имени
Сетевые стандарты IPv4 резервируют весь блок адресов 127.0.0.0/8 (более 16 миллионов адресов) для целей обратной связи. [2] Это означает, что любой пакет, отправленный на любой из этих адресов, возвращается обратно. Адрес 127.0.0.1 является стандартным адресом для кольцевого трафика IPv4; остальные поддерживаются не всеми операционными системами. Однако их можно использовать для настройки нескольких серверных приложений на хосте, которые прослушивают один и тот же номер порта. Стандарт IPv6 назначает только один адрес для обратной связи: :: 1 .
Разрешение имени localhost на один или несколько IP-адресов обычно настраивается следующими строками в файле hosts операционной системы :
127.0.0.1 локальный хост:: 1 локальный хост
Имя также может быть разрешено серверами системы доменных имен (DNS), но запросы для этого имени должны разрешаться локально и не должны пересылаться на удаленные серверы имен.
В дополнение к сопоставлению localhost с адресами обратной связи ( 127.0.0.1 и :: 1 ), localhost также может быть сопоставлен с другими адресами IPv4 (loopback), и также можно назначить другие или дополнительные имена любому адресу обратной связи. . Сопоставление localhost с адресами, отличными от указанного диапазона адресов обратной петли в файле hosts или в DNS, не гарантирует желаемого эффекта, поскольку приложения могут отображать имя внутренне.
В системе доменных имен имя localhost зарезервировано как имя домена верхнего уровня , изначально отложенное, чтобы избежать путаницы с именем хоста, используемым для целей обратной связи. [3] Стандарты IETF запрещают регистраторам доменных имен присваивать имя localhost .
Стандарты IETF
Имя localhost зарезервировано для целей обратной связи в соответствии с RFC 6761 ( доменные имена специального назначения ) [4], которые достигли уровня зрелости предлагаемого стандарта в феврале 2013 года. Стандарт устанавливает ряд особых соображений, регулирующих использование имени в Система доменных имен :
- IPv4 или IPv6 - адрес запроса на имя локального хоста всегда должны преобразовываться в соответствующий петлевой адрес, который указан в отдельном стандарте.
- Приложения могут преобразовывать имя в адрес обратной связи или передавать его локальным механизмам преобразователя имен.
- Когда преобразователь имен получает запрос адреса (A или AAAA) для localhost , он должен вернуть соответствующие адреса обратной связи и отрицательные ответы для любых других запрошенных типов записей. Запросы для localhost не следует отправлять на кэширующие серверы имен.
- Чтобы не перегружать корневые серверы системы доменных имен трафиком, кэширующие серверы имен никогда не должны запрашивать записи сервера имен для localhost или перенаправлять разрешение на полномочные серверы имен.
- Регистраторам DNS запрещается делегировать доменные имена в домене верхнего уровня localhost .
- Когда авторитетные серверы имен получают запросы для «localhost», несмотря на упомянутые положения, разрешают их соответствующим образом.
Адреса обратной связи IPv4 зарезервированы в адресном пространстве IPv4 стандартом IETF «Специальные адреса IPv4» (RFC 5735). [5] Резервирование можно проследить до стандарта «Назначенные номера» от ноября 1986 года (RFC 990).
Напротив, стандарт IETF «Архитектура адресации IP версии 6» (RFC 4291) резервирует единственный адрес обратной связи IPv6 :: 1 в адресном пространстве IPv6. Стандарт запрещает присвоение этого адреса любому физическому интерфейсу, а также его использование в качестве адреса источника или назначения в любом пакете, отправляемом на удаленные узлы. Любой такой ошибочно переданный пакет не должен маршрутизироваться и должен быть отброшен всеми маршрутизаторами или хостами, которые его получают.
Обработка пакетов
Обработка любого пакета, отправленного на адрес обратной связи, осуществляется на канальном уровне стека TCP / IP . Такие пакеты никогда не передаются ни на какой контроллер сетевого интерфейса (NIC) или драйвер оборудования, и не должны появляться за пределами вычислительной системы или маршрутизироваться каким-либо маршрутизатором. Это позволяет проводить тестирование программного обеспечения и локальные службы при отсутствии каких-либо аппаратных сетевых интерфейсов.
Пакеты с обратной связью отличаются от любых других пакетов, проходящих через стек TCP / IP, только по специальному IP-адресу, которому они были адресованы. Таким образом, службы, которые в конечном итоге их получают, отвечают в соответствии с указанным адресатом. Например, служба HTTP может направлять пакеты, адресованные на 127.0.0.99:80 и 127.0.0.100:80, на разные веб-серверы или на один сервер, который возвращает разные веб-страницы. Чтобы упростить такое тестирование, файл hosts может быть настроен для предоставления соответствующих имен для каждого адреса.
Пакеты, полученные на интерфейсе без обратной связи с адресом источника или назначения обратной петли, должны быть отброшены. Такие пакеты иногда называют марсианскими пакетами . [6] Как и любые другие поддельные пакеты, они могут быть вредоносными, и любых проблем, которые они могут вызвать, можно избежать, применив фильтрацию поддельных пакетов .
Особые случаи
В выпусках базы данных MySQL проводится различие между использованием имени хоста localhost и использованием адресов 127.0.0.1 и :: 1 . [7] При использовании localhost в качестве пункта назначения в интерфейсе клиентского коннектора приложения интерфейс прикладного программирования MySQL подключается к базе данных с помощью сокета домена Unix , в то время как TCP-соединение через интерфейс обратной петли требует прямого использования явного адреса.
Одним заметным исключением из использования адресов 127.0.0.0 / 8 является их использование в обнаружении ошибок трассировки многопротокольной коммутации по меткам (MPLS), в котором их свойство не маршрутизируемости обеспечивает удобное средство для предотвращения доставки ошибочных пакетов конечным пользователям.
Смотрите также
Рекомендации
- ^ "RFC4291: Архитектура адресации IP версии 6" . IETF. Раздел 2.5.3.
- ^ М. Коттон; Л. Вегода; Р. Боника; Б. Хаберман (апрель 2013 г.). Реестры IP-адресов специального назначения . Инженерная группа Интернета . DOI : 10,17487 / RFC6890 . BCP 153. RFC 6890 . Обновлено RFC 8190.
- ^ «RFC2606: Зарезервированные DNS-имена верхнего уровня» . IETF. Раздел 2.
- ^ «RFC6761: доменные имена специального назначения» . IETF. Раздел 6.3.
- ^ «RFC5735: специальные адреса IPv4» . IETF. Раздел 4.
- ^ Раймонд, Эрик С. "Файл жаргона" .
- ^ "MySQL :: MySQL 5.5: Справочное руководство :: 4.1 Обзор программ MySQL" .