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.