de.comp.lang.php.* FAQ

15.2. Was ist das Domain Name System?

Keywords: Mail | DNS | Domain | Name | IP | MX | Server | nslookup | Record | sendmail

Antwort von Kristian Köhntopp

Das Domain Name System ist eine verteilte Datenbank, die Namen in Domainform (ein.wort.mit.punkten.darin) beliebige getypte textuelle Information zuordnen kann. Man kann dem Domain Name System Fragen stellen, die die Form (name, typ) haben und bekommt dann einen oder mehrere Ressource Records des passenden Typs als Antwort.

Wichtige Ressource-Records sind A- und AAAA-Records, die die IP-Nummern von Rechnern darstellen, A-Records für IPv4-Adressen und AAAA-Records für IPv6-Adressen. Außerdem sind für die Mailzustellung MX-Records besonders wichtig, weil sie den für den Mailempfang zuständigen Rechner bezeichnen. Ebenfalls häufig findet man PTR-Records (Umwandlung von IP-Nummern zurück in Namen) und NS-Records (Finden von zuständigen Nameservern).

Mit Hilfe des Werkzeuges nslookup kann man in Unix und Windows Anfragen an das DNS stellen, außerdem kann man bequemer das Unix-Programm dig verwenden.

Ein Mailer wie das Unix-Programm sendmail richtet sich bei der Mailzustellung nach den MX-Records (MX steht für mail exchanger) einer Domain.

kris@valiant:~ > nslookup
Default Server:  nuki.netuse.de
Address:  193.98.110.1

> set type=mx
> php.net.
Server:  nuki.netuse.de
Address:  193.98.110.1

Non-authoritative answer:
php.net mail exchanger = 10 synacor1.php.net.

Authoritative answers can be found from:
php.net nameserver = ns2.easydns.com.
php.net nameserver = remote1.easydns.com.
php.net nameserver = remote2.easydns.com.
php.net nameserver = ns1.easydns.com.
synacor1.php.net        internet address = 208.210.50.162
ns1.easydns.com internet address = 216.220.40.243
ns2.easydns.com internet address = 216.220.40.244
remote1.easydns.com     internet address = 64.39.29.212
> ^D
kris@valiant:~ >

kris@valiant:~ > dig php.net mx

; <<>> DiG 9.1.3 <<>> php.net mx
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 864
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;php.net.                       IN      MX

;; ANSWER SECTION:
php.net.                21358   IN      MX      10 synacor1.php.net.

;; AUTHORITY SECTION:
php.net.                21358   IN      NS      ns2.easydns.com.
php.net.                21358   IN      NS      remote1.easydns.com.
php.net.                21358   IN      NS      remote2.easydns.com.
php.net.                21358   IN      NS      ns1.easydns.com.

;; ADDITIONAL SECTION:
synacor1.php.net.       21358   IN      A       208.210.50.162
ns1.easydns.com.        140984  IN      A       216.220.40.243
ns2.easydns.com.        140984  IN      A       216.220.40.244
remote1.easydns.com.    140984  IN      A       64.39.29.212

;; Query time: 23 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Apr 24 19:09:47 2002
;; MSG SIZE  rcvd: 205

Im Beispiel mit nslookup, das so unter Unix und unter Windows NT funktioniert, kann man sehen, dass der lokale Domain Name Server als Datenquelle verwendet wird. Durch das Kommando set type=mx legen wir fest, dass wir Informationen über MX-Records haben möchten. Durch einfaches Eingeben eines Namens (hier: php.net) wird die Anfrage abgesendet und wir erhalten zwei Sorten von Informationen:

  • Der lokale Server hat uns die nicht-abschließende Information geliefert, dass Mail an php.net an den Rechner synacor1.php.net ausgeliefert werden soll. Wenn wir also eine Mailzustellung an eine Adresse der Form bla@php.net vornehmen sollen, müssen wir uns mit synacor1.php.net, Port 25 verbinden und die Mail dort abliefern.

  • Diese Information ist jedoch nicht-abschließend, weil der lokale Nameserver nicht Eigentümer der Domain php.net ist. Wenn wir abschließende Information wünschen, müßten wir uns an einen der vier definitiven Nameserver für die Domain wenden, die uns genannt werden: ns1.easydns.com, ns2.easydns.com, remote1.easydns.com oder remote2.easydns.com und die Frage dort noch einmal stellen. Die Adressen dieser Server werden uns auch gleich mitgeliefert.

Die Ausgabe von dig liefert diese Information noch einmal, nur in besser lesbarer und übersichtlicherer Form.

Valid HTML 4.01! Valid CSS!

15.2. Was ist das Domain Name System?
http://www.php-faq.de/q/q-mail-dns.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team