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 以外の接続確立にフォールバックしなければなりません。