メインコンテンツまでスキップ

6.1.2. Wire Format (ワイヤ形式)

6.1.2. Wire Format (ワイヤ形式)

OPT RR には固定部分と {attribute, value} ペアとして表される可変オプションセットがあります。固定部分はいくつかの DNS メタデータを保持し, また, 非常に人気があると予想される基本拡張要素の小さなコレクションを保持します。これらを {attribute, value} ペアとしてエンコードするとワイヤスペースの無駄になります。

OPT RR の固定部分は次のように構造化されています:

    +------------+--------------+------------------------------+
| Field Name | Field Type | Description |
+------------+--------------+------------------------------+
| NAME | domain name | MUST be 0 (root domain) |
| TYPE | u_int16_t | OPT (41) |
| CLASS | u_int16_t | requestor's UDP payload size |
| TTL | u_int32_t | extended RCODE and flags |
| RDLEN | u_int16_t | length of all RDATA |
| RDATA | octet stream | {attribute,value} pairs |
+------------+--------------+------------------------------+

OPT RR の可変部分は, RDATA に 0 個以上のオプションを含むことができます。各オプションはビットフィールドとして扱わなければなりません。各オプションは次のようにエンコードされます:

                +0 (MSB)                            +1 (LSB)
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0: | OPTION-CODE |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2: | OPTION-LENGTH |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4: | |
/ OPTION-DATA /
/ /
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

OPTION-CODE : DNSEXT ワーキンググループと IESG によって定義されたエキスパートレビュープロセスによって割り当てられます。

OPTION-LENGTH : OPTION-DATA のサイズ (オクテット単位)。

OPTION-DATA : OPTION-CODE ごとに異なります。ビットフィールドとして扱わなければなりません。

オプションタプルの出現順序は定義されていません。あるオプションが別のオプションの動作を変更する場合, または複数のオプションが何らかの方法で互いに関連している場合, RDATA ワイヤエンコーディングでの順序に関係なく, 同じ効果があります。

レスポンダまたはリクエスタは, 理解できない OPTION-CODE 値を無視しなければなりません。そのようなオプションの仕様には, 何らかの種類の信号確認を含めることを望む場合があります。たとえば, オプション仕様は, レスポンダがオプション XYZ を見てサポートする場合, その応答にオプション XYZ を含めなければならないと言う場合があります。