Passa al contenuto principale

5. Selezione del Protocollo di Trasporto (Transport Protocol Selection)

La sezione 6.1.3.2 della [RFC1123] è aggiornata: Tutte le implementazioni DNS generiche DEVONO (MUST) supportare sia il trasporto UDP che TCP.

  • Le implementazioni dei server autorevoli DEVONO (MUST) supportare TCP in modo che non limitino la dimensione delle risposte a ciò che rientra in un singolo pacchetto UDP.

  • Le implementazioni dei server ricorsivi (o forwarder) DEVONO (MUST) supportare TCP in modo che non impediscano alle risposte di grandi dimensioni da un server compatibile con TCP di raggiungere i suoi client compatibili con TCP.

  • Le implementazioni dei risolutori stub (ad esempio, la libreria di risoluzione DNS di un sistema operativo) DEVONO (MUST) supportare TCP poiché fare altrimenti limiterebbe l'interoperabilità tra i propri client e i server a monte.

Per quanto riguarda la scelta di quando utilizzare UDP o TCP, la Sezione 6.1.3.2 della RFC 1123 afferma anche:

... un risolutore o server DNS che invia una query non di trasferimento di zona DEVE (MUST) inviare prima una query UDP.

Questo requisito è qui allentato. I risolutori stub e i risolutori ricorsivi POSSONO (MAY) scegliere di inviare query TCP o UDP a seconda di motivi operativi locali. TCP PUÒ (MAY) essere utilizzato prima di inviare qualsiasi query UDP. Se il risolutore ha già una connessione TCP aperta con il server, DOVREBBE (SHOULD) riutilizzare questa connessione. In sostanza, TCP dovrebbe essere considerato una valida alternativa di trasporto a UDP, non puramente un'opzione di riprova.

Inoltre, si nota che tutti i server ricorsivi e autorevoli DEVONO (MUST) inviare risposte utilizzando lo stesso trasporto su cui è arrivata la query. Nel caso di TCP, questa DEVE (MUST) essere anche la stessa connessione.