2.2. RDATA Wire Format (RDATA-Drahtformat)
Die RDATA für den SVCB RR besteht aus:
- einem 2-Oktett-Feld für SvcPriority als Ganzzahl in Netzwerk-Byte-Reihenfolge.
- dem unkomprimierten, vollständig qualifizierten TargetName, dargestellt als Sequenz von längenpräfixierten Labels gemäß Abschnitt 3.1 von RFC 1035.
- den SvcParams, die den Rest des Datensatzes verbrauchen (also kleiner als 65535 Oktette und durch die RDATA- und DNS-Nachrichtengrößen eingeschränkt).
Wenn die Liste der SvcParams nicht leer ist, enthält sie eine Reihe von SvcParamKey=SvcParamValue-Paaren, dargestellt als:
- ein 2-Oktett-Feld, das den SvcParamKey als Ganzzahl in Netzwerk-Byte-Reihenfolge enthält. (Siehe Abschnitt 14.3.2 für die definierten Werte.)
- ein 2-Oktett-Feld, das die Länge des SvcParamValue als Ganzzahl zwischen 0 und 65535 in Netzwerk-Byte-Reihenfolge enthält.
- eine Oktett-Zeichenfolge dieser Länge, deren Inhalt der SvcParamValue in einem durch den SvcParamKey bestimmten Format ist.
SvcParamKeys MÜSSEN in aufsteigender numerischer Reihenfolge erscheinen.
Clients MÜSSEN einen RR als fehlerhaft betrachten, wenn:
- das Ende der RDATA innerhalb eines SvcParam auftritt.
- SvcParamKeys nicht in strikt aufsteigender numerischer Reihenfolge sind.
- der SvcParamValue für einen SvcParamKey nicht das erwartete Format hat.
Beachten Sie, dass die zweite Bedingung impliziert, dass es keine doppelten SvcParamKeys gibt.
Wenn RRs fehlerhaft sind, MUSS der Client das gesamte RRset ablehnen und auf Nicht-SVCB-Verbindungsaufbau zurückfallen.