07.06.2023

DNS Grundlagen

Allgemeines

Dieser Artikel beschreibt, DNS Grundlagen.

Domain-Name-System (DNS) ist ein verteiltes System zum Speichern und Verarbeiten von Domänenzoneninformationen. Es wird hauptsächlich verwendet, um IP-Adressen von Netzwerkknoten auf für Menschen lesbare Namen abzubilden. Eine solche Zuordnung ist jedoch nicht die einzige DNS Funktion. Es verarbeitet auch verschiedene Arten von Ressourceneinträgen und löst eine Vielzahl von Aufgaben, wie z. B. die Umleitung zwischen Domänennamen, den Lastausgleich zwischen Hosts und die Verknüpfung bestimmter Dienste (z. B. Mail-Dienste) mit Domänen:

 

DNS ist einer der Grundpfeiler des modernen Internets, da die Kenntnis der IP-Adresse eines angefragten Hosts für den Erhalt einer Antwort auf jede Internetanfrage von entscheidender Bedeutung ist. Allerdings handelt es sich bei IP-Adressen um numerische Werte wie 1.23.45.67, die nicht für Menschen lesbar sind. Darüber hinaus ist das Kernprinzip der IP-Adressvergabe in einem Netzwerk die Eindeutigkeit. Darüber hinaus ist die IP-Adresse nichts Dauerhaftes: Sie kann sich ändern, wenn ein Host oder Hosting-Dienstleister wechselt usw. Alle oben genannten Faktoren machen die Netzwerknavigation anhand von IP-Adressen für einen Menschen kompliziert.

DNS konvertiert einen von a angeforderten symbolischen Namen clian eine oder mehrere IP-Adressen eines oder mehrerer Server gesendet, die für diese Domänenzone verantwortlich sind. In der Anfangsphase des Internets basierte die IP-Adresskonvertierung auf dem Inhalt der „Hosts“-Datei, die zentral erstellt und automatisch an jeden Computer in einem Netzwerk verteilt wurde. Mit dem Wachstum des Internets entstand jedoch die Notwendigkeit eines neuen Mechanismus: und 1983 entwickelte Paul Mockapetris es - DNS.

Wesentliche DNS Features:

Domänennamenhierarchie und -delegierung

Domain ist ein benannter Zweig in einem Namensbaum, einschließlich des Knotens selbst (z. B. „.com“-Domäne der ersten Ebene) und seiner Untergeordnetennate-Knoten („example.com“ Second-Level-Domain, „mail.example.com“ Third-Level-Domain usw.). Zu entwerfennatIn der Domänennamenhierarchie wird der Begriff Ebene verwendet, der die Knotenposition in einem Baum angibt. Je niedriger die Ebenennummer, desto höher ist die Domänenposition im Baum.

 

 

Sehen Sie sich die Zero-Level-Domain an "." (Punkt) wird auch Root-Domäne genannt. In der Praxis wird der Punkt meist weggelassen (wir geben „example.com“ statt „example.com“ ein), d. h. die Angabe einer Root-Domain ist für die IP-Adressauflösung nicht zwingend erforderlich. Meistens client programs (z. B. Webbrowser usw.) fügen automatisch eine Zero-Level-Domain hinzu, ohne sie einem Benutzer anzuzeigen. Ein Domänenname ohne eine Domäne der Nullebene wird als relativer Domänenname bezeichnet, während der Name, der mit einem Punkt endet, als a bezeichnet wird Vollständig qualifizierter Domänenname, oder FQDN.

Domänenzone – ein Teil eines hierarchischen Domänennamenbaums (z. B. „.ru“), der vollständig zur Bereitstellung an eine bestimmte Person übertragen wird DNS Server (oder häufiger auf mehrere Server) zur anschließenden Delegation der Verantwortung für diese Domäne und alle untergeordneten Servernate-Domänen („anyaddress.ru“, „any.anyaddress.ru“) an eine andere Partei.

Delegation – Übertragung der Verantwortung für einen bestimmten Zweig eines Domainnamenbaums an eine andere Person oder Organisation. Dieses Verfahren implementiert einen der Kernelemente DNS Prinzipien – verteilte Datensatzspeicherung und Anfrageverarbeitung. Während des Delegierungsprozesses werden sogenannte Glue-NS-Datensätze für eine delegierte untergeordnete Zone („example.com“) erstellt, die auf verweisen DNS Server einer Partei, die die Domain akzeptiert (z. B. to DNS Server unseres Unternehmens) werden zu Ressourceneinträgen einer übergeordneten Zone („.ru“) hinzugefügt. Seitdem werden alle Ressourceneinträge der Second-Level-Domain „example.com“ und aller ihrer Subdomains („mail.example.com“ usw.) gespeichert DNS Server dieses Unternehmens, wobei die übergeordnete Zone „.ru“ nur NS-Einträge speichert, die auf diese Server verweisen.

DNS Server – ein Host, der Ressourcendatensätze speichert und verarbeitet DNS Abfragen. DNS Der Server kann Adressen innerhalb der Zone, für die er verantwortlich ist („example.com“ im obigen Beispiel), autonom auflösen oder Anfragen für „fremde“ Zonen an übergeordnete Server umleiten.

DNS client – eine Reihe von Softwaretools zur Interaktion DNS. In regelmäßigen Abständen wird die DNS Der Server selbst fungiert als cliEintr.

Schlüsseltypen von Ressourcendatensätzen

Resource Record (RR) – eine Informationsspeicher- und -übertragungseinheit in DNS, das die folgenden Elemente (Felder) enthält:

Die am häufigsten verwendeten Arten von Ressourceneinträgen sind:

Rekursiv und nicht rekursiv DNS Abfragen

Rekursion ist ein Modell der Abfrageverarbeitung durch a DNS Server, wenn er eine vollständige Suche nach Informationen durchführt (einschließlich Informationen zu Domänen, die nicht an ihn delegiert sind) und auf andere zugreift DNS Server ggf.

DNS Abfragen von einem client (server) zu einem Server kann rekursiv oder nicht rekursiv sein. Im ersten Fall a DNS Der Server, der eine Anfrage erhalten hat, fragt alle Knoten in absteigender Reihenfolge der Zonenebenen ab, bis er eine positive Antwort oder die Information erhält, dass die angeforderte Domäne nicht existiert. Bei einer nicht rekursiven Abfrage gibt der Server eine positive Antwort zurück, wenn sich nur der abgefragte Knoten innerhalb der Domänenzone befindet, für die dieser Server verantwortlich ist. Die Nichtrekursion kann sowohl auf den Abfragetyp als auch auf das Verbot zurückzuführen sein, solche Abfragen auf der Ebene von a durchzuführen DNS Server selbst:

 

Caching ist ein weiterer wichtiger Punkt DNS Besonderheit. Wenn während einer rekursiven Abfrageerfüllung DNS Wenn der Server andere Knoten abfragt, kann er die in den empfangenen Antworten enthaltenen Informationen vorübergehend zwischenspeichern. In diesem Fall geht eine wiederholte Domainabfrage nicht weiter DNS Cache des Servers. Die maximal zulässige Caching-Zeit wird im TTL-Feld eines Ressourceneintrags angegeben.