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

2.2. RDATA Wire Format (RDATA ワイヤ形式)

SVCB RR の RDATA は次の要素で構成されます:

  • ネットワークバイトオーダーの整数として SvcPriority の 2 オクテットフィールド。
  • RFC 1035 のセクション 3.1 に従って長さプレフィックス付きラベルのシーケンスとして表される, 圧縮されていない完全修飾 TargetName。
  • レコードの残りを消費する SvcParams (したがって 65535 オクテットより小さく, RDATA および DNS メッセージサイズによって制約されます)。

SvcParams のリストが空でない場合, 次のように表される一連の SvcParamKey=SvcParamValue ペアが含まれます:

  • ネットワークバイトオーダーの整数として SvcParamKey を含む 2 オクテットフィールド。(定義された値については セクション 14.3.2 を参照してください。)
  • ネットワークバイトオーダーで 0 から 65535 の間の整数として SvcParamValue の長さを含む 2 オクテットフィールド。
  • この長さのオクテット文字列で, その内容は SvcParamKey によって決定される形式の SvcParamValue です。

SvcParamKeys は増加する数値順に出現しなければなりません。

クライアントは次の場合に RR を不正な形式と見なさなければなりません:

  • RDATA の終わりが SvcParam 内で発生する。
  • SvcParamKeys が厳密に増加する数値順になっていない。
  • SvcParamKey の SvcParamValue が期待される形式でない。

2 番目の条件は重複する SvcParamKeys がないことを意味することに注意してください。

RR が不正な形式である場合, クライアントは RRset 全体を拒否し, SVCB 以外の接続確立にフォールバックしなければなりません。