7. Riordino delle Risposte (Response Reordering)
La RFC 1035 è ambigua sulla questione se le risposte TCP possano essere riordinate -- l'unico testo rilevante è nella Sezione 4.2.1, che si riferisce a UDP:
Le query o le loro risposte possono essere riordinate dalla rete o dall'elaborazione nei name server, quindi i risolutori non dovrebbero dipendere dal loro ritorno in ordine.
Per evitare dubbi futuri, questo requisito è chiarito. Si RACCOMANDA (RECOMMENDED) ai server autorevoli e ai risolutori ricorsivi di supportare la preparazione delle risposte in parallelo e di inviarle fuori ordine, indipendentemente dal protocollo di trasporto in uso. I risolutori stub e ricorsivi DEVONO (MUST) essere in grado di elaborare le risposte che arrivano in un ordine diverso da quello in cui sono state inviate le richieste, indipendentemente dal protocollo di trasporto in uso.
Per ottenere prestazioni alla pari con UDP, i risolutori ricorsivi DOVREBBERO (SHOULD) elaborare le query TCP in parallelo e restituire le singole risposte non appena sono disponibili, possibilmente fuori ordine.
Poiché le risposte in pipeline possono arrivare fuori ordine, i client DEVONO (MUST) abbinare le risposte alle query in sospeso sulla stessa connessione TCP utilizzando l'ID messaggio. Se la risposta contiene una sezione domanda, il client DEVE (MUST) abbinare i campi QNAME, QCLASS e QTYPE. Il mancato abbinamento corretto delle risposte alle query in sospeso da parte dei client può avere gravi conseguenze per l'interoperabilità.