{"id":8467,"date":"2015-03-29T16:15:39","date_gmt":"2015-03-29T15:15:39","guid":{"rendered":"https:\/\/wp.okra.host\/article\/how-does-dns-work\/"},"modified":"2021-03-07T14:21:29","modified_gmt":"2021-03-07T13:21:29","slug":"how-does-dns-work","status":"publish","type":"ht_kb","link":"https:\/\/kb.okra.host\/de\/article\/how-does-dns-work\/","title":{"rendered":"Wie funktioniert DNS?"},"content":{"rendered":"<h2 id=\"overview\" >\u00dcbersicht<\/h2>\n<p>DNS ordnet einen Hostnamen (bestehend aus einem Dom\u00e4nennamen + optionaler Subdom\u00e4ne, z. B. example.com oder www.example.com) einem adressierbaren Rechner (nach IP-Adresse) irgendwo im Internet zu. DNS arbeitet, indem es mehrere rekursive Abfragen durchf\u00fchrt, bis die Rechneradresse aufgel\u00f6st ist.<\/p>\n<h2 id=\"process\" >Prozess<\/h2>\n<h3 id=\"initial-query\" >Erste Abfrage<\/h3>\n<p>Ein ganz triviales Beispiel: Nehmen wir an, ein Browser greift zum ersten Mal auf http:\/\/example.com zu. Da dies der erste Zugriff auf den Hostnamen ist, muss ein vollst\u00e4ndiger Lookup durchgef\u00fchrt werden:<\/p>\n<ul>\n<li>(<span style=\"color: #666699\">0 ms<\/span>) Der Browser fragt den lokalen DNS-Resolver (auf demselben Computer) ab, wo example.com ist\n<ul>\n<li>Der lokale DNS antwortet mit einem negativen Ergebnis<\/li>\n<\/ul>\n<\/li>\n<li>Browser verwendet die in seiner Netzwerkkonfiguration konfigurierten DNS-Server, um abzufragen, wo example.com ist<\/li>\n<li>(<span style=\"color: #666699\">2 ms<\/span>) DNS-Server fragt die Wurzel (<code>.<\/code>) Nameserver, bei denen <code>com.<\/code> ist<\/li>\n<li>(<span style=\"color: #666699\">42 ms<\/span>) Root-Nameserver geben autoritative TLD-Server an den DNS-Server zur\u00fcck<\/li>\n<li>DNS-Server fragt autoritative TLD-Server, wo <code>Beispiel.com.<\/code> ist<\/li>\n<li>(<span style=\"color: #666699\">26 ms<\/span>) TLD-Server antwortet zur\u00fcck mit dem Webhost\u00a0<a title=\"Nameserver-Einstellungen\" href=\"https:\/\/kb.okra.host\/de\/dns\/nameserver-settings\/\">Nameserver<\/a>\u00a0delegiert an <code>Beispiel.com.<\/code><\/li>\n<li>DNS-Server fragt Webhost-Nameserver zur\u00fcck, was\u00a0<code>Beispiel.com.<\/code> ist<\/li>\n<li>(<span style=\"color: #666699\">15 ms<\/span>) Webhost-Nameserver antworten, dass der A-Eintrag f\u00fcr <code>Beispiel.com.<\/code> ist <code>1.2.3.4<\/code><\/li>\n<li>Browser sendet <code>GET \/ HTTP\/1.1<\/code> f\u00fcr <code>Beispiel.com.<\/code> an <code>1.2.3.4:80<\/code><\/li>\n<li>Webserver, der auf 1.2.3.4:80 lauscht, sucht seine Konfiguration im Speicher nach, findet eine \u00dcbereinstimmung und entspricht <a title=\"Von wo aus werden die Inhalte der Website bereitgestellt?\" href=\"https:\/\/kb.okra.host\/de\/web-content\/where-is-site-content-served-from\/\">Indexdatei<\/a>und serviert es unter einer <code>HTTP\/1.1 200 OK<\/code>\u00a0Antwort<\/li>\n<li>Browser rendert Ihre Webseite<\/li>\n<\/ul>\n<p>Eingeklammerte Begriffe sind der Overhead, der bei jedem Schritt der Abfrage entsteht. In diesem Beispiel betr\u00e4gt der gesamte DNS-Overhead 85 ms. Der Netzwerk-Overhead variiert in Abh\u00e4ngigkeit von der physischen Entfernung von jedem DNS-Resolver, der abgefragt wird, um eine Antwort zu erhalten: gr\u00f6\u00dfere Entfernung -&gt; mehr Netzwerkkabel, die zu \u00fcberwinden sind.<\/p>\n<h3 id=\"cached-query\" >Gepufferte Abfrage<\/h3>\n<p>Aufgrund des Overheads, der bei der Aufl\u00f6sung von IP-Adressen entsteht, wird in jedem Schritt der Abfrage ein Cache eingebaut, um die Netzwerklatenz zu reduzieren. Dieser Wert wird bestimmt durch den <a title=\"Wie lange dauert die DNS-Propagierung?\" href=\"https:\/\/kb.okra.host\/de\/dns\/how-long-does-dns-propagation-take\/\">TTL<\/a> (time-to-live) Parameter, ein \u00dcberbleibsel von <a href=\"https:\/\/tools.ietf.org\/html\/rfc1034#page-12\">DNS-Spezifikation<\/a>, eingef\u00fchrt 1987, als die Netzwerklatenz hoch war, die Verbindungen sporadisch waren und eine rekursive Abfrage bis zu 30 Sekunden dauern konnte, wenn sie nicht sogar ganz ausfiel.<\/p>\n<ul>\n<li>(<span style=\"color: #666699\">0 ms<\/span>) Der Browser fragt den lokalen DNS-Resolver (auf demselben Computer) ab, wo example.com ist<\/li>\n<li>(<span style=\"color: #666699\">1 ms<\/span>) lokaler DNS-Resolver hat Ergebnis im Cache, liefert <code>1.2.3.4<\/code><\/li>\n<li>Browser sendet <code>GET \/ HTTP\/1.1<\/code> f\u00fcr <code>Beispiel.com.<\/code> an <code>1.2.3.4:80<\/code><\/li>\n<li>Webserver, der auf <code>1.2.3.4:80<\/code> sucht seine Konfiguration im Speicher nach, findet eine \u00dcbereinstimmung, entsprechend <a title=\"Von wo aus werden die Inhalte der Website bereitgestellt?\" href=\"https:\/\/kb.okra.host\/de\/web-content\/where-is-site-content-served-from\/\">Indexdatei<\/a>und serviert es unter einer <code>HTTP\/1.1 200 OK<\/code>\u00a0Antwort<\/li>\n<li>Browser rendert Ihre Webseite<\/li>\n<\/ul>\n<p>Da eine DNS-Antwort auf demselben Computer, der die Seite anfordert, im Speicher erfolgt, werden alle weiteren DNS-Schritte \u00fcbersprungen, was zu einer DNS-Antwortzeit von 1 ms f\u00fchrt.<\/p>\n<h2 id=\"see-also\" >Siehe auch<\/h2>\n<ul>\n<li>KB: <a title=\"Verk\u00fcrzung der DNS-Laufzeit\" href=\"https:\/\/kb.okra.host\/de\/dns\/reducing-dns-propagation-time\/\">Verk\u00fcrzung der DNS-Laufzeit<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Overview DNS maps a hostname (comprised of a domain name + optional subdomain, e.g. example.com or www.example.com) to an addressable machine (by IP address) somewhere on the Internet. DNS works\u00a0by issuing multiple queries, recursively, until the machine address is resolved. Process Initial query Of a most trivial example, let&#8217;s assume&#8230;<\/p>","protected":false},"author":1,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[57],"ht-kb-tag":[],"class_list":["post-8467","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-dns"],"_links":{"self":[{"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb\/8467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/comments?post=8467"}],"version-history":[{"count":1,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb\/8467\/revisions"}],"predecessor-version":[{"id":8468,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb\/8467\/revisions\/8468"}],"wp:attachment":[{"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/media?parent=8467"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb-category?post=8467"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/kb.okra.host\/de\/wp-json\/wp\/v2\/ht-kb-tag?post=8467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}