Passa al contenuto principale

4. Applicabilità

Le Operazioni DNS con Stato sono applicabili a diversi casi d'uso noti e sono applicabili solo su trasporti in grado di supportare una Sessione DSO.

4.1. Casi d'uso

Di seguito sono descritti diversi casi d'uso per le Operazioni DNS con Stato.

4.1.1. Gestione della sessione

In un caso d'uso, stabilire parametri di sessione come i timeout definiti dal server è di grande utilità nella gestione generale delle connessioni persistenti. Ad esempio, l'utilizzo di sessioni DSO per DNS-over-TLS stub-to-recursive [RFC7858] è più flessibile sia per il client che per il server rispetto al tentativo di gestire le sessioni utilizzando solo l'opzione edns-tcp-keepalive EDNS(0) [RFC7828]. Il semplice set di TLV definito in questo documento è sufficiente per migliorare notevolmente la gestione della connessione per questo caso d'uso.

4.1.2. Abbonamenti a lunga durata

In un altro caso d'uso, il DNS-based Service Discovery (DNS-SD) [RFC6763] si è evoluto in un meccanismo naturalmente basato sulla sessione in cui, ad esempio, gli abbonamenti a lunga durata si prestano a meccanismi 'push' rispetto al polling. Connessioni con stato a lunga durata e messaggi avviati dal server si allineano con questo caso d'uso [Push].

Un caso d'uso generale è che il traffico DNS è spesso a raffiche, ma l'istituzione della sessione può essere costosa. Una sfida con le connessioni a lunga durata è sostenere un traffico sufficiente per mantenere lo stato di NAT e firewall. Per mitigare questo problema, questo documento introduce un nuovo concetto per il DNS -- traffico DSO "keepalive". Questo traffico non trasporta dati DNS e non è considerato 'attività' nel senso classico del DNS, ma serve a mantenere lo stato nelle middlebox e ad assicurare al client e al server che hanno ancora connettività l'uno con l'altro.

4.2. Trasporti applicabili

Le Operazioni DNS con Stato sono applicabili nei casi in cui è utile mantenere una sessione aperta tra un client DNS e un server, dove il trasporto consente di mantenere tale sessione e dove il trasporto garantisce la consegna in ordine dei messaggi da cui dipende DSO. Due trasporti specifici che soddisfano i requisiti per supportare le Operazioni DNS con Stato sono DNS-over-TCP [RFC1035] [RFC7766] e DNS-over-TLS [RFC7858].

Si noti che nel caso di DNS-over-TLS, non esiste alcun meccanismo per l'aggiornamento da DNS-over-TCP a DNS-over-TLS a metà connessione (vedere la Sezione 7 della specifica DNS-over-TLS [RFC7858]). Una connessione è DNS-over-TCP dall'inizio o DNS-over-TLS dall'inizio.

Le Operazioni DNS con Stato non sono applicabili per i trasporti che non possono supportare una semantica di sessione pulita o che non garantiscono la consegna in ordine. Sebbene in linea di principio un tale trasporto potrebbe essere costruito su UDP, l'attuale specifica di DNS-over-UDP [RFC1035] non fornisce la consegna in ordine o la semantica di sessione e quindi non può essere utilizzata. Allo stesso modo, DNS-over-HTTP [RFC8484] non può essere utilizzato perché HTTP ha il proprio meccanismo per la gestione delle sessioni, che è incompatibile con il meccanismo specificato qui.

Attualmente sono definiti solo DNS-over-TCP e DNS-over-TLS per l'uso con le Operazioni DNS con Stato. Altri trasporti possono essere aggiunti in futuro se soddisfano i requisiti indicati nel primo paragrafo di questa sezione.