Start-of-Authority

Ein Start of Authority (SOA) ist ein bedeutender Bestandteil einer Zonendatei des Domain Name System. Der SOA enthält Informationen zur Zonenverwaltung und zum Zonentransfer (RFC 1035). Innerhalb des Zonentransfer  werden Daten von geclusterten DNS-Nameserver verwaltet und synchronisiert. Der SOA-Eintrag innerhalb der Zonendatei enthält eine Seriennummer und verschiedene Timer Angaben zum Steuern des Zonentransfer.  Der Aufbau eines SOA Resource Records ist folgendermaßen: Name der Zone, Time to Live, Zonenklasse (IN), SOA, Primary Master für die Zone, e-Mail des Verantwortlichen, Seriennummer, Refresh, Retire, Expire, TTL.  Beispiel eines SOA Resource Record:

name ttl class rr name-server email-addr (sn ref ret ex min)
example.com. IN SOA ns.example.com. hostmaster.example.com. 
2003080800 ; sn = serial number
72800 ; ref = refresh = 2d
900 ; ret = update retry = 15m 
1209600 ; ex = expiry = 2w
3600 ; min = minimum = 1h
); 
Wenn im SOA Resource Record der Primary Nameserver einer Zonendatei gelistet ist und der Nameserver verantwortlich für eine Zone ist und die  Informationen über diese Zone als "gesichert" gelten und für jede Zone mindestens ein (autoritativer) Nameserver zuständig ist, der sogenannte Primary Nameserver, dann handelt es sich um einen autoritativen Nameserver und die Antwort des  Nameservers bedeutet eine autoritative SOA Resource Record Antwort auf eine entsprechende Nameserver Anfrage.  Ein nicht-autoritative Nameserver erhält die Informationen über seine Zone von anderen Nameservern. Deshalb werden die Informationen des nicht-autoritativen Nameservers über seine Zone als "nicht gesichert" eingestuft.  Der nicht-autoritative Nameserver "cachet" die einmal von einem Resolver erhaltenen Daten (Caching) in seinem Arbeitsspeicher.                                     
Siehe auch:    Nameserver   Domain-Name-System   Resource-Record   Requests-For-Comments   Resolver   

  Nameserver
Domain Name System mit DNS-Server Anfragen und Nameserver-Auflösung. Domain Name System mit DNS-Server Anfragen und Nameserver-Auflösung.
Ein Nameserver ist ein Rechner, der Anfragen eine Resolvers beim Domain-Name-Service beantwortet. Der Nameserver kümmert sich um die Namensauflösung der Domain, die in den Internet-Client (z. B. Browser) eingegeben wurde. Als Antwort gibt er die  IP-Adresse des gesuchten Internet-Host zurück. Ursprünglich waren Nameserver Programme, welche die Anfragen zum Domain-Namensraum beantwortet haben. Heute bezeichnet man auch die Server im Internet, welche diese Aufgabe erledigen mit Nameserver.  Nameserver können in autoritative und nicht-autoritative Nameserver unterteilt werden.

1. Autoritative Nameserver:
- verantwortlich für eine Zone
- seine Informationen über diese Zone gelten als "gesichert"
- für jede Zone ist mindestens ein  autoritativer Nameserver zuständig (der sog. Primary Nameserver)
- der Primary Nameserver wird im SOA Resource Record (SOA bedeutet Start of Authority (deutsch: Beginn der Zuständigkeit)) einer Zonendatei gelistet 
- autoritative Nameserver werden aus Gründen der Datenredundanz und der bessern Lastverteilung meistens in der Form eines Server-Clusters eingerichtet 
- auf diesen Nameserver-Clustern befinden sich die Zonendaten mehrfach auf einem oder mehreren Secondary Nameservern. 
Dabei werden der Primary und der Secondary Nameserver synchronisiert, indem die Zonen von einem Server auf den anderen übertragen werden (Zonentransfer). Da die Zonendaten mehrfach vorhanden sind, muss dafür gesorgt werden, dass die Daten  auf allen Servern gleich sind, und Änderungen überall übernommen werden. Beim Zonentransfer werden die Dateien und Sätze synchronisiert und Abweichungen werden erkannt und ausgeglichen. 

2. Der nicht-autoritative Nameserver erhält die Informationen über seine Zone von anderen Nameservern. Deswegen werden die Informationen des nicht-autoritativen Nameservers über seine Zone als "nicht gesichert" eingestuft.  Der nicht-autoritative Nameserver "cachet" die einmal von einem Resolver erhaltenen Daten (Caching) in seinem Arbeitsspeicher. Dies ist praktikabel, da sich DNS-Daten im Zeitverlauf nur selten ändern und jeder  der gecachten Einträge ein Verfallsdatum (TTL, Time-To-Live) aufweist, nach dessen Ablauf die Informationen aus dem Cache gelöscht werden. Die  TTL wird von einem autoritativen Nameserver festgelegt; der Schlüssel für das Ablaufdatum wird nach der Änderungswahrscheinlichkeit des DNS-Eintrages festgelegt. Ändert sich der DNS-Eintrag vorzeitig, kann ein Nameserver falsche Informationen liefern.                                   
Siehe auch:    Resolver   DNS-Server   Domain-Name-System   Domain-Name-Service   TLD   DNS-Datenbank   Server-Cluster   Nameserver-Record   Resource-Record   Start-of-Authority

  DNS-Datenbank
Namensauflösung Namensauflösung
Die DNS-Datenbank liegt in Form einer baumförmigen Struktur vor. Es handelt sich um eine verteilte Datenbank (Distributed Database) welche auf mehrere Server im ganzen Internet verteilt ist (Internet-DNS).  Diese Datenbanken sind im Internet durch Verweise (Delegationen) verknüpft. Die Nameserver verwalten die Zonendateien, welche die notwendigen Daten zur Navigation im Internet enthalten.  Die Zonendateien werden intern durch eine Liste von Resource Records repräsentiert. Man unterscheidet grundsätzlich 2 Ausprägungen von Resource Records: 

1. Der A Resource Record: hier findet die Datendefinition statt. Einem Domain-Namen wird eine IPv4 bzw. IPv6 Adresse zugewiesen. 

2. Der NS-Record, Nameserver Record: er enthält die Delegationen (Verknüpfungen der Server untereinander). Der NS-Record definiert also die Zuständigkeit von Nameservern für ihre Zone und weiterhin verkettet der NS-Resource Record  (NS-RR) die Zonen zu einem Zonen-Baum. 
Weiterhin benötigt werden der SOA Resource Record, welcher Informationen zur Zonenverwaltung und zum Zonentransfer (RFC 1035) enthält. Der Start of Authority (SOA) ist ein bedeutender Bestandteil einer Zonendatei des Domain Name System.  Der strukturelle Aufbau und ein Beispiel für einen Nameserver Resource Record (NS-RR) sind:

IN NS <nameserver-name>, wobei nameserver-name eine FQDN ist.

Beispiel: IN NS dns1.beispiel.com. IN NS dns2.beispiel.com.
 
Dasselbe für einen A Resource Record:

<host> IN A <IP-address>
Beispiel: server1 IN A 10.0.1.3 IN A 10.0.1.5 für die beispiel.com Zonen-Datei, d.h. Anfragen für beispiel.com weisen auf 10.0.1.3 oder 10.0.1.5.
 
Der CNAME Record (Canonical-Name) ordnet Namen einander zu (Alias):

<alias-name> IN CNAME <real-name>

server1 IN A 10.0.1.5 www IN CNAME server1
 

"named" wird angewiesen, dass alle Anfragen, die an den <alias-name> gesendet werden, auf den Host <real-name> zeigen. 

CNAME-Records werden oft eingesetzt, um auf Dienste zu verweisen, die ein allgemeines Namensschema für den entsprechenden Host, wie www für Web-Server, verwenden.  In den Zonendateien muss mindestens ein Nameserver-Resource Record vorhanden sein, aus dem zu entnehmen ist, welcher Nameserver für diese Zone autoritativ ist. Die entsprechenden Nameserver-Resource Records sind normalerweise am Beginn  einer Zonendatei unmittelbar hinter dem SOA-Resource Record zu finden. Die NS Resource Records (NS RR) geben nicht Preis, welcher Nameserver Primary Nameserver und welcher Nameserver Secondary Nameserver ist.  Aus dem SOA Resource Record kann man den Primary Resource Record ablesen. Die restlichen NS-RR Einträge verweisen auf Secondary Resource Records.  Nameserver-Resource Records können Verweise zu Subdomänen beinhalten. Die betreffende Subdomäne wird aus dem Zonenfile ausgelagert.  Der Nameserver-Resource Record dient somit als Pointer und verweist auf einen anderen Nameserver bzw. auf ein anderes Zonenfile auf demselben Server. Dies wird dann "Delegation" genannt. Delegation bedeutet, daß Anfragen an einen Resolver an einen  weiteren Nameserver delegiert werden.

Ein Beispiel für eine Namensauflösung wäre:
linux37:~ # cat /etc/hosts
# Syntax:
#
# IP-Address Full-Qualified-Hostname Short-Hostname

127.0.0.1 localhost

217.89.70.36 linux36.amov.de linux36 klaus
217.89.70.37 linux37.amov.de linux37 willi 
217.89.70.38 linux38.amov.de linux38 petra
217.89.70.39 linux39.amov.de linux39 ludwig
217.89.70.40 linux40.amov.de linux40 ines

217.89.70.38 mail.amov.de mail
 

Die ursprüngliche Form der Namensauflösung ist die Datei /etc/hosts. Es wird eine Tabelle eingesetzt, in der die IP-Nummer, der FQDN (Fully Qualified Domain Name) und verschiedene Alias-Namen stehen.  Eine Zeile steht für eine Kombination aus IP-Nummer und FQDN. Die IP-Nummer kann mehrfach vorkommen. Am Anfang jeder dieser Zeilen steht die IP-Adresse, danach folgt die FQDN.  Im Anschluß an den FQDN können mehrere Alias-Namen für den Rechner vergeben werden. Wie funktioniert eine Namensauflösung am Beispiel des Befehls "ping"? 

linux37:~ # ping linux37.amov.de
PING linux37.amov.de (217.89.70.37) 56(84) bytes of data. 

linux37:~ # ping linux37
PING linux37.amov.de (217.89.70.37) 56(84) bytes of data. 

linux37:~ # ping willi
PING linux37.amov.de (217.89.70.37) 56(84) bytes of data.
  Anhand des FQDN oder eines Alias-Namen wird der entsprechende Eintrag identifiziert, die passende IP-Nummer und der FQDN ermittelt. Dies können Sie schön im folgenden Beispiel sehen. 

linux37:~ # ping manuela
PING linux38.amov.de (217.89.70.38) 56(84) bytes of data.

linux37:~ # ping mail
PING mail.amov.de (217.89.70.38) 56(84) bytes of data.
 

Es gibt nicht nur eine Namensauflösung für Hostnamen sondern auch eine Namensauflösung für Netzwerkadressen. Jede Zeile bezeichnet eine Verbindung zwischen Netzwerkname und Netzwerkadresse.

linux37:~ # cat /etc/networks 
loopback 127.0.0.0

amov 217.89.70.0
sub1.amov 217.89.70.32
sub2.amov 217.89.70.64


Quellenangaben: http://www.redhat.com/docs/manuals
http://www.fibel.org/linux/lfo-0.6.0/node483.html
Siehe auch:    Domain-Name-System   Nameserver   Resolver   Start-of-Authority   Nameserver-Record   A-Resource-Record   Hostname