Примеры синтаксиса доменных имен DNS - PullRequest
1 голос
/ 24 октября 2008

Согласно RFC1035, имена DNS могут содержать \ ddd \ x и символ кавычки. Пожалуйста, объясните с примерами о них.

Ответы [ 2 ]

2 голосов
/ 24 октября 2008

RFC1035 не говорит о том, что DNS имена могут содержать эти символы. В разделе 5 (MASTER FILES) говорится, что файл , содержащий информацию RR, может содержать эти символы. В частности: «Поскольку эти файлы представляют собой текстовые файлы, несколько специальных кодировок необходимо разрешить загрузку произвольных данных. "Существует текст, отличный от доменов, который может входить в файлы зон. Например, запись в записи TXT является свободным текстом, поэтому вы можете поместить в нее двоичный символ, представленный \ ddd string и т. д. Вам также разрешено комментировать, поэтому вы можете использовать эти «специальные кодировки» в своих комментариях.

Существует поддержка интернационализированных доменных имен, но RFC1035 относится к 1987 году, в то время речь не шла о доменных именах i18n.

РЕДАКТИРОВАТЬ: Я просто перечитал это, и я думаю, что я не прав. Выше материал технически о формате файла. Тем не менее, это также в RFC в разделе 3.1:

Although labels can contain any 8 bit values in octets that make up a
label, it is strongly recommended that labels follow the preferred
syntax described elsewhere in this memo, which is compatible with
existing host naming conventions.  Name servers and resolvers must
compare labels in a case-insensitive manner (i.e., A=a), assuming ASCII
with zero parity.  Non-alphabetic codes must match exactly.

Итак, это говорит о том, что любой 8-битный символ может быть частью метки (где метка является той частью доменного имени между точками). Этот документ описывает технические возможности протокола DNS. Обычное использование - это другое. Фактически в разделе «2.3.1. Предпочтительный синтаксис имени»:

The following syntax will result in
fewer problems with many applications
that use domain names (e.g., mail,
TELNET).

<domain> ::= <subdomain> | " "

<subdomain> ::= <label> | <subdomain>
"." <label>

<label> ::= <letter> [ [ <ldh-str> ]
<let-dig> ]

<ldh-str> ::= <let-dig-hyp> |
<let-dig-hyp> <ldh-str>

<let-dig-hyp> ::= <let-dig> | "-"

<let-dig> ::= <letter> | <digit>

<letter> ::= any one of the 52
alphabetic characters A through Z in
upper case and a through z in lower
case

<digit> ::= any one of the ten digits
0 through 9

Другими словами, протокол DNS был определен с самого начала для работы с 8-битной ASCII. Однако, если вы действительно хотите, чтобы ваши программы могли использовать домены в DNS, вам следует придерживаться [a-z -].

Что касается примера, я думаю, это просто означало, что у вас может быть такая запись DNS:

IHaveAn\020EmbeddedTab  IN A 172.24.3.1
1 голос
/ 19 октября 2009

Рекомендуемое значение: RFC 2181 , чей раздел 11 хорошо объясняет проблему.

В противном случае, например, см. maps-to-nonascii.rfc-test.net. Это имя является псевдонимом для имени с не-ASCII символами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...