Passa al contenuto principale

10. Problemi di denominazione

È stato talvolta dedotto da alcune sezioni della specifica DNS [RFC1034, RFC1035] che a un host, o forse a un'interfaccia di un host, sia consentito esattamente un nome autoritativo, o ufficiale, chiamato nome canonico. Non esiste alcun requisito del genere nel DNS.

10.1. Record di risorsa CNAME​

Il record DNS CNAME ("canonical name") esiste per fornire il nome canonico associato a un nome alias. Può esserci un solo nome canonico del genere per qualsiasi alias. Tale nome dovrebbe in genere essere un nome che esiste altrove nel DNS, sebbene esistano alcune rare applicazioni per alias con il nome canonico corrispondente non definito nel DNS. Un nome alias (etichetta di un record CNAME) può, se DNSSEC è in uso, avere RR SIG, NXT e KEY, ma non può avere altri dati. Vale a dire, per qualsiasi etichetta nel DNS (qualsiasi nome di dominio) è vera esattamente una delle seguenti condizioni:

  • esiste un record CNAME, facoltativamente accompagnato da RR SIG, NXT e KEY,
  • esistono uno o più record, nessuno dei quali è un record CNAME,
  • il nome esiste, ma non ha RR associati di alcun tipo,
  • il nome non esiste affatto.

10.1.1. Terminologia CNAME​

È stato tradizionale riferirsi all'etichetta di un record CNAME come "un CNAME". Ciò è spiacevole, poiché "CNAME" è l'abbreviazione di "canonical name", e l'etichetta di un record CNAME non è certamente un nome canonico. È tuttavia un uso ormai radicato. Occorre quindi prestare attenzione per essere molto chiari su se si intenda l'etichetta o il valore (il nome canonico) di un record di risorsa CNAME. In questo documento, l'etichetta di un record di risorsa CNAME sarà sempre indicata come alias.

10.2. Record PTR​

La confusione sui nomi canonici ha portato a credere che un record PTR debba avere esattamente un RR nel suo RRSet. Ciò è errato: la sezione pertinente di RFC1034 (sezione 3.6.2) indica che il valore di un record PTR dovrebbe essere un nome canonico. Vale a dire, non dovrebbe essere un alias. Non vi è alcuna implicazione in quella sezione che sia consentito un solo record PTR per un nome. Non si deve dedurre alcuna restrizione del genere.

Si noti che, sebbene il valore di un record PTR non debba essere un alias, non vi è alcun requisito che il processo di risoluzione di un record PTR non incontri alcun alias. L'etichetta che viene cercata per un valore PTR potrebbe avere un record CNAME. Vale a dire, potrebbe essere un alias. Il valore di quel RR CNAME, se non è un altro alias, cosa che non dovrebbe essere, darà la posizione in cui si trova il record PTR. Quel record fornisce il risultato della ricerca di tipo PTR. Questo risultato finale, il valore del RR PTR, è l'etichetta che non deve essere un alias.

10.3. Record MX e NS​

Il nome di dominio usato come valore di un record di risorsa NS, o come parte del valore di un record di risorsa MX, non deve essere un alias. Non solo la specifica è chiara su questo punto, ma usare un alias in una di queste posizioni non funziona così bene come si potrebbe sperare, né soddisfa bene l'ambizione che potrebbe aver portato a questo approccio. Questo nome di dominio deve avere come valore uno o più record di indirizzo. Attualmente questi saranno record A, tuttavia in futuro altri tipi di record che forniscono informazioni di indirizzamento potrebbero essere accettabili. Può anche avere altri RR, ma mai un RR CNAME.

La ricerca di record NS o MX provoca l'"elaborazione della sezione aggiuntiva", in cui i record di indirizzo associati al valore del record cercato vengono aggiunti alla risposta. Ciò aiuta a evitare inutili query extra che sono facilmente prevedibili quando è stata effettuata la prima.

L'elaborazione della sezione aggiuntiva non include i record CNAME, figurarsi i record di indirizzo che possono essere associati al nome canonico derivato dall'alias. Pertanto, se un alias è usato come valore di un record NS o MX, nessun indirizzo sarà restituito con il valore NS o MX. Ciò può causare query extra, e un carico di rete extra, a ogni query. È banale per l'amministratore DNS evitarlo risolvendo l'alias e inserendo il nome canonico direttamente nel record interessato una sola volta, quando viene aggiornato o installato. In alcuni casi particolarmente difficili, la mancanza dei record di indirizzo della sezione aggiuntiva nei risultati di una ricerca NS può causare il fallimento della richiesta.