RFC-952 (последнее предложение пункта 1 в разделе «Допущения») запрещает использование односимвольных имен узлов, и у меня был опыт ( более 7 лет назад летом 2002 года), когда некоторые службы отказывались работать с односимвольными именами узлов (поскольку такие имена были не соответствует стандартам), но за последние несколько лет я видел несколько односимвольных имен хостов. Допустимы ли теперь односимвольные имена хостов? (Если это так, какова правильная ссылка для проверки?)
редактировать (чтобы объединить некоторую информацию из ответов): различные аспекты DNS, похоже, определены в нескольких RFC, включая 1035 , 1123 и 2181 . Из RFC-2181, раздел 11 :
Note however, that the various applications that make use of DNS data
can have restrictions imposed on what particular values are
acceptable in their environment. For example, that any binary label
can have an MX record does not imply that any binary name can be used
as the host part of an e-mail address.
[ ... ]
See also [RFC1123] section 6.1.3.5.
The DNS defines domain name syntax very generally -- a
string of labels each containing up to 63 8-bit octets,
separated by dots, and with a maximum total of 255
octets. Particular applications of the DNS are
permitted to further constrain the syntax of the domain
names they use, although the DNS deployment has led to
some applications allowing more general names. In
particular, Section 2.1 of this document liberalizes
slightly the syntax of a legal Internet host name that
was defined in RFC-952 [DNS:4].
Из RFC-1123 раздел 2.1 :
The syntax of a legal Internet host name was specified in RFC-952
[DNS:4]. One aspect of host name syntax is hereby changed: the
restriction on the first character is relaxed to allow either a
letter or a digit. Host software MUST support this more liberal
syntax.
И, наконец, как первоначально упоминалось, из RFC-952 :
1. A "name" (Net, Host, Gateway, or Domain name) is a text string up
to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus
sign (-), and period (.). Note that periods are only allowed when
they serve to delimit components of "domain style names". (See
RFC-921, "Domain Name System Implementation Schedule", for
background). No blank or space characters are permitted as part of a
name. No distinction is made between upper and lower case. The first
character must be an alpha character. The last character must not be
a minus sign or period.
[ ... ]
Single character names or nicknames are not allowed.
Исходя из этой цепочки, я первоначально пришел к выводу, что RFC-952 запрещает имена хостов из одного символа.
There is a difference between 'valid' and 'it works'.
В конечном счете, я думаю, что это самый разумный ответ, хотя я очень высоко оценил все обсуждения. Я бы сделал вывод, что одно-символьные имена хостов все еще технически недействительны, но на этом этапе работают практически повсеместно. (Точно так же подчеркивание запрещено, но по большей части работает.)Вы могли бы подумать, что они действительны, потому что все корневые серверы имен - это однобуквенные хосты (a.root-servers.net), а спецификация DNS не создает для них конкретного исключения. Рассматриваемый RFC специально для формата файла хоста, а не DNS. DNS был определен в более позднем RFC ( RFC 1035 запускает его). RFC 1123 (1989) ясно говорит об этом.
Таким образом, однобуквенные имена хостов действительны в системах на основе DNS и действуют с тех пор, как спам был изобретен. Системы, которые не соответствуют RFC, и могут быть поддельными. Если они вообще не используют DNS и используют только файлы хостов, тогда жалость - лучший выбор.
источник
Поскольку имена хостов существовали еще до того, как кто-то задумывался написать о них RFC, я не вижу никакой причины, по которой имена хостов из одного символа должны внезапно стать «незаконными». Этот конкретный RFC потерял меня, когда заявил
потому что RFC НЕ является стандартом. Даже не близко.
Несмотря на вышесказанное, следует отметить, что данный RFC был создан для того, чтобы относиться к относительно небольшой группе, а именно к Министерству обороны (предположительно, из США).
источник
Я думаю, что текущие имена хостов в большей степени зависят от спецификаций DNS, поскольку DNS - это то, что большинство людей будет использовать в сети или в Интернете. Сказал, что на ум приходят три RFC (1034 - концепции, 1035 - реализация и 2181 - разъяснения по DNS).
Раздел 3 RFC 1034 гласит:
И в Разделе 11 RFC 2181 у нас есть разъяснение о присвоении имен каждому узлу адреса:
Таким образом, в свете спецификаций DNS, вы можете иметь a.domain.tld
источник
Note however, that the various applications that make use of DNS data can have restrictions imposed on what particular values are acceptable in their environment. For example, that any binary label can have an MX record does not imply that any binary name can be used as the host part of an e-mail address.
основном, потому что a.domain.tld действителен в DNS, не делает его действительным именем хоста. Конец Раздела 11 ссылается на Раздел 6.1.3.5 RFC-1123, который цитирует Раздел 2.1 самого себя и RFC-952, как обсуждалось в ответе sysadmin1138.Как вы уже определили, RFC 1123 не совсем ясно по этому вопросу длины.
Раздел 2.1 действительно говорит:
Поскольку этот текст фактически полностью переопределяет текст из RFC 952, следует также понимать, что любая длина до 255 символов является допустимой.
К сожалению, еще в 1989 году интернет-шашки не получили невероятно сурового обзора, который они получают сейчас, поэтому двусмысленность, вероятно, просто не заметили.
источник
The syntax of a legal Internet host name was specified in RFC-952 [DNS:4]. One aspect of host name syntax is hereby changed: the restriction on the first character is relaxed to allow either a letter or a digit.
не разумно ли интерпретировать это как означающее, что ваша цитата не полностью перекрывает текст из RFC-952?