2.2. RDATA Wire Format (Formato su linea RDATA)
L'RDATA per il RR SVCB consiste di:
- un campo di 2 ottetti per SvcPriority come intero nell'ordine dei byte di rete.
- il TargetName non compresso e completamente qualificato, rappresentato come una sequenza di etichette con prefisso di lunghezza secondo la sezione 3.1 di RFC 1035.
- i SvcParams, che consumano il resto del record (quindi inferiore a 65535 ottetti e vincolato dalle dimensioni RDATA e dei messaggi DNS).
Quando l'elenco dei SvcParams non è vuoto, contiene una serie di coppie SvcParamKey=SvcParamValue, rappresentate come:
- un campo di 2 ottetti contenente il SvcParamKey come intero nell'ordine dei byte di rete. (Vedere la Sezione 14.3.2 per i valori definiti.)
- un campo di 2 ottetti contenente la lunghezza del SvcParamValue come intero tra 0 e 65535 nell'ordine dei byte di rete.
- una stringa di ottetti di questa lunghezza il cui contenuto è il SvcParamValue in un formato determinato dal SvcParamKey.
I SvcParamKeys DEVONO apparire in ordine numerico crescente.
I client DEVONO considerare un RR mal formato se:
- la fine dell'RDATA si verifica all'interno di un SvcParam.
- i SvcParamKeys non sono in ordine numerico strettamente crescente.
- il SvcParamValue per un SvcParamKey non ha il formato atteso.
Si noti che la seconda condizione implica che non ci sono SvcParamKeys duplicati.
Se alcuni RR sono mal formati, il client DEVE rifiutare l'intero RRset e ricorrere alla creazione di connessioni non-SVCB.