В компьютерных сетях имя хоста (архаично nodename [1] ) — это метка, которая назначается устройству, подключенному к компьютерной сети , и которая используется для идентификации устройства в различных формах электронной коммуникации, таких как Всемирная паутина . Имена хостов могут быть простыми именами, состоящими из одного слова или фразы, или они могут быть структурированными. Каждое имя хоста обычно имеет по крайней мере один числовой сетевой адрес , связанный с ним для маршрутизации пакетов для повышения производительности и других целей.
Имена хостов Интернета могут быть присоединены к имени домена системы доменных имен [2] (DNS), отделенному от метки, специфичной для хоста, точкой («точкой»). В последней форме имя хоста также называется доменным именем . Если имя домена полностью указано, включая домен верхнего уровня Интернета, то имя хоста называется полностью квалифицированным доменным именем (FQDN). Имена хостов, включающие домены DNS, часто хранятся в системе доменных имен вместе с IP-адресами хоста, который они представляют, с целью сопоставления имени хоста с адресом или обратного процесса.
В Интернете имя хоста — это доменное имя, назначенное хост-компьютеру. Обычно это комбинация локального имени хоста с именем его родительского домена. Например, en.wikipedia.org состоит из локального имени хоста ( en ) и доменного имени wikipedia.org . Этот тип имени хоста преобразуется в IP-адрес через локальный файл hosts или DNS-резолвер . Один хост-компьютер может иметь несколько имен хостов, но обычно операционная система хоста предпочитает иметь одно имя хоста, которое хост использует для себя.
Любое доменное имя может быть также именем хоста, если соблюдены ограничения, указанные ниже. Так, например, и en.wikipedia.org , и wikipedia.org являются именами хостов, поскольку им обоим назначены IP-адреса. Имя хоста может быть именем домена, если оно правильно организовано в системе доменных имен. Имя домена может быть именем хоста, если оно назначено хосту Интернета и связано с IP-адресом хоста. [3]
Имена хостов состоят из последовательности меток , соединенных точками. Например, "en.wikipedia.org" — это имя хоста. Каждая метка должна быть длиной от 1 до 63 октетов . [2] Полное имя хоста, включая разделительные точки, содержит максимум 253 символа ASCII . [4]
Стандарты Интернета ( Request for Comments ) для протоколов указывают, что метки могут содержать только буквы ASCII от a до z (без учета регистра), цифры от 0 до 9 и символ дефиса ('-'). Первоначальная спецификация имен хостов требовала, чтобы метки начинались с буквенного символа и не заканчивались дефисом. [5] Однако последующая спецификация разрешила меткам имен хостов начинаться с цифр. [6] Интернационализированные доменные имена хранятся в системе доменных имен в виде строк ASCII с использованием транскрипции Punycode . [7]
Хотя имя хоста не может содержать другие символы, такие как символ подчеркивания ( _ ), другие имена DNS могут содержать подчеркивание. [8] [9] [10] Такие системы, как DomainKeys и записи служб, используют подчеркивание как средство, гарантирующее, что их специальный символ не будет спутан с именами хостов. Например, _http._sctp.www.example.com указывает указатель службы для хоста веб-сервера с поддержкой SCTP (www) в домене example.com . Несмотря на стандарт, Chrome , Firefox , Internet Explorer , Edge и Safari допускают подчеркивание в именах хостов, хотя файлы cookie в IE работают некорректно, если какая-либо часть имени хоста содержит символ подчеркивания. [11]
Однако допустимо пытаться разрешить имя хоста, состоящее из подчеркивания. Например, _.example.com . Это используется RFC 7816 для уменьшения объема информации, которая становится доступной промежуточным DNS-серверам во время итеративного запроса. [12] Функция минимизации имени запроса включена по умолчанию в BIND 9.14.0. [13]
Имя хоста en.wikipedia.org состоит из DNS-меток en (имя хоста или конечный домен), wikipedia (домен второго уровня) и org (домен верхнего уровня). Такие метки, как 2600 и 3abc, могут использоваться в именах хостов, но -hi- , _hi_ и *hi* недопустимы.
Имя хоста считается полностью квалифицированным доменным именем (FQDN), когда указаны все метки вплоть до доменного имени верхнего уровня (TLD) включительно. Имя хоста en.wikipedia.org заканчивается доменом верхнего уровня org и, таким образом, является полностью квалифицированным. В зависимости от реализации программного обеспечения DNS операционной системы, неквалифицированное имя хоста может автоматически объединяться с доменным именем по умолчанию, настроенным в системе, чтобы завершить полностью квалифицированное доменное имя. Например, студент Массачусетского технологического института может отправлять почту на адрес "joe@csail" и автоматически квалифицировать ее почтовой системой для отправки на адрес joe csail.mit.edu .
Общие рекомендации по выбору хорошего имени хоста изложены в RFC 1178. [14]
saturn и jupiter могут быть именами хостов двух устройств, подключенных к сети с именем PC . В PC устройства адресуются по их именам хостов. Доменные имена устройств — saturn.PC и jupiter.PC , соответственно. Если PC зарегистрирован как доменное имя второго уровня в Интернете, например, как PC.net , хосты могут быть адресованы по полным доменным именам saturn.PC.net и jupiter.PC.net .