RFC1035 に従って、dns 名には \ddd \x と引用符が含まれる場合があります。それらについて例を挙げて説明してください。
2 に答える
RFC1035は、DNS名にこれらの文字を含めることができるとは述べていません。セクション 5 (MASTER FILES) では、RR 情報を含むファイルにこれらの文字を含めることができると記載されています。具体的には、「これらのファイルはテキスト ファイルであるため、任意のデータをロードできるようにするには、いくつかの特別なエンコーディングが必要です。」ゾーン ファイルに入れることができるドメイン以外のテキストがあります。たとえば、TXT レコードのエントリはフリー テキストであるため、\ddd 文字列などで表されるバイナリ文字を入力したい場合があります。コメントを作成することも許可されているため、これらの「特別なエンコーディング」を使用できます。 "あなたのコメントで。
国際化されたドメイン名のサポートがありますが、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 内のドメインを使用できるようにしたい場合は、[az-] を使用する必要があります。
例として、これは次のような DNS エントリを持つことができることを意味していると思います。
IHaveAn\020EmbeddedTab IN A 172.24.3.1
推奨される読み物はRFC 2181で、そのセクション 11 で問題がよく説明されています。
それ以外の場合、例については、 を参照してくださいmaps-to-nonascii.rfc-test.net
。この名前は、ASCII 以外の文字を含む名前のエイリアスです。