Domain Name System
====================
-Domain Name System (spesso indicato con DNS) e' un servizio utilizzato per la risoluzione di nomi di host in indirizzi IP e viceversa. Il servizio e' realizzato tramite un database distribuito, costituito dai server DNS.
+Domain Name System (spesso indicato con DNS) e' un servizio utilizzato per la risoluzione di nomi di host in indirizzi IP e viceversa. Il servizio e' realizzato tramite un sistema **gerarchico** (quindi una struttura ad albero, simile ai *file sytems*) **distribuito** (ogni server DNS facente parte del sistema puo' tenre solo una parte delle informazioni, ad esempio per la sua sola *zona*), costituito dai server DNS.
-Il nome DNS denota anche il protocollo che regola il funzionamento del servizio, i programmi che lo implementano, i server su cui questi girano, l'insieme di questi server che cooperano per fornire il servizio.
+I DNS sono un servizio *core* (fondamentale) per la rete internet come per qualunque rete locale. Ad esempio durante la navigazione web un client vorrebbe vedere l'*URL* ``http://ww.piffa.net/``, quindi per potersi connettere via *http* al server web deve prima ottenere l'indirizzo ip del *server http* corrispondente a *www.piffa.net*.
+Se il DNS gli fornisce un IP sbagliato l'utente non potra' raggiungere il servizio: di fatto e' come se il serve http fosse spento.
-I nomi DNS, o "nomi di dominio", sono una delle caratteristiche piu' visibili di Internet.
+Stessa cosa vale per gli altri servizi, come la posta elettronica, ssh, ecc. : *prima si deve effettuare una query DNS*.
-C'e' confusione in merito alla definizione dell'acronimo: la S spesso viene interpretata come service, ma la definizione corretta e' system.
+Potrebbe verificarsi uno scenario simile a questo: i vostri server per i siti web funzionano correttamente come i siti ospitati, stessa cosa per i vostri server di posta, IMAP e POP3, e tutto il resto. Ma se poi un errore nella configurazione del DNS non rende raggiungibile l'intero *sito*: per l'utente finale e' come se tutto non funzionasse.
+
+Infatti quando si parla di un intervento della Polizia Postale per l'*oscuramento* di un sito generalmente dal punto di vista pratico questo si traduce nella rimozione o mistificazione del record DNS relativo a quel dominio (la *PP* ha facolta' di chiedere un simile intervento ai principali provider internet che forniscono connettivita' agli utenti italiani, oltre che poter agire direttamente sul NIC italiano per i domini della TLD *.it*)
L'operazione di convertire un nome in un indirizzo e' detta risoluzione DNS, convertire un indirizzo IP in nome e' detto risoluzione inversa.
+ Un *Registar* e' un operatore che ha la facolta' (accreditamento da parte dell ICANN) di registrare i domini di secondo livello per gli utenti finali, dietro compenso di una modica cifra (~10 euro) che vale come contributo su base annuale per il mantenimento dell'infrastruttura.
+
+Risoluzione Inversa
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Per la risoluzione inversa sono invece i provider di connettivita' a gestire i DNS: se volete impostare il *PTR* associato al vostro indirizzo IP dovete contattare il vostro provider (tipo *telecom* per una connessione ADSL) e *non il Registar del vostro dominio*.
+
+Ad esempio all'IP ``212.22.136.248`` era associato un PTR ``bender.piffa.net``, corrispondente al record ``212`` facente parte della zona ``136.22.212.in-addr.arpa`` gestito dal provider Tiscali/Nextra propietario della classe C ``212.22.136``. Se avete un solo IP conviene lasciare al fornitore la gestire il PTR, ma se avete a diposizione un'itera classe potete chiedere sempre al fornitore che vi *deleghi* la gestione della zona tramite i vostri DNS.
+
+Alcuni servizi, ad esempio la spedizione della posta elettronica, non funzionano se non viene impostata correttamente *anche* l'associzione inversa tra indirizzo IP e PTR (che corrisponderebbe in questo caso al nome con cui si presenta il server SMTP).
+
Nomi di dominio
-----------------
-Un nome a dominio e' costituito da una serie di stringhe separate da punti, ad esempio it.wikipedia.org. A differenza degli indirizzi IP, dove la parte piu' importante del numero e' la prima partendo da sinistra, in un nome DNS la parte piu' importante e' la prima partendo da destra. Questa e' detta dominio di primo livello (o TLD, Top Level Domain), per esempio .org o .it.
+Un nome a dominio e' costituito da una serie di stringhe separate da punti, ad esempio bender.piffa.net. I nomi di dominio si leggono da destra verso sinistra: *TLD* o dominio di primo livello ``net``, secondo livello ``piffa``, terzo livello ``bender``. Il dominio di primo livello (o TLD, Top Level Domain), per esempio .net o .it sono limitati e decisi direttamente dall'ente assegnatario ICANN ( Internet Corporation for Assigned Names and Numbers).
+
+L'utente finale potra' chiedere l'assegnazione (pagando un contributo al Register preferito per il mantenimento delle spese dell'infrastruttura) di un dominio di *secondo* livello (es ``piffa``) di una delle varie TLD disponibili (noi italiani diciamo *tildi*), sempre che non sia gia' stato assegnato a qualcun altro.
-Un dominio di secondo livello consiste in due parti, per esempio wikipedia.org, e cosi' via. Ogni ulteriore elemento specifica un'ulteriore suddivisione. Quando un dominio di secondo livello viene registrato all'assegnatario, questo e' autorizzato a usare i nomi di dominio relativi ai successivi livelli come it.wikipedia.org (dominio di terzo livello) e altri come some.other.stuff.wikipedia.org (dominio di quinto livello) e cosi' via.
+Ottenuto il secondo livello sara' l'utente a gestirlo: potra' instanziare domini di terzo livello (es ``bender``) e anche oltre (es www.andrea.bender.piffa.net). Tali records saranno mantenuti dall'utente, sotto la sua responsbilita': se il propio server DNS non fosse raggiungibile o risultasse malconfigurato gli utenti non potrebbero risolvere / raggiungere i siti di loro interesse.
+Tipicamente si ha almeno un server DNS secondario per garantire la sussitenza del servizio in caso di guasto del DNS principale. I secondari *replicano* i dati presenti nei DNS principali.
Tipologie di record
-----------------------