DNS erklärt: wie ein Domainname zu einer Website wird
Sie geben einen Namen ein, eine Website erscheint. Zwischendurch werden vier separate Server in weniger als 50 Millisekunden konsultiert. Hier ist die Reise, und warum das Ändern eines Datensatzes länger dauert, als es macht.
Art example.com und drücken Sie die Eingabetaste. Bevor Ihr Browser ein einzelnes Byte einer HTTP-Anfrage senden kann, muss er herausfinden, wo example.com ist — und dass Lookup beinhaltet die Beratung von bis zu vier verschiedenen Servern, in der Regel in gut unter 50 Millisekunden abgeschlossen, und geschieht unsichtbar bei jedem ersten Besuch in jeder Domain.
Lassen Sie uns einer folgen.
Die Reise eines einzigen Lookups
Ihr Browser und OS überprüfen ihre eigenen Caches
Beide halten aktuelle Antworten. Wenn entweder eine hat, die nicht abgelaufen ist, endet der Lookup hier in Mikrosekunden. Die meisten Lookups auf einer beschäftigten Maschine verlassen sie nie.
Der rekursive Resolver wird gefragt
Üblicherweise von Ihrem ISP oder einem öffentlichen wie 1.1.1.1 oder 8.8.8.8. betrieben.Es ist die Komponente, die die eigentliche Jagd durchführt, und es speichert stark im Namen von jedem, der sie benutzt.
Der Resolver fragt einen Root-Server
Es gibt 13 Root-Server-Adressen, die von Hunderten von Anycast-Instanzen weltweit bedient werden. Die Root weiß nicht, wo example.com ist. Sie weiß, wer für .com verantwortlich ist, und sagt das.
Dann der TLD-Server
Die .com Nameserver kennen die Adresse auch nicht. Sie wissen, welche Nameserver maßgeblich sind, z.B...com – die, die Ihr Registrar angibt – und geben diese zurück.
Dann der maßgebliche Nameserver
Dieser hält die eigentlichen Aufzeichnungen und schließlich antwortet: example.com ist an dieser Adresse, und hier ist, wie lange Sie sich daran erinnern können.
Jeder speichert die Antwort
Der Resolver speichert es, Ihr OS speichert es, Ihr Browser speichert es. Der nächste Lookup für den gleichen Namen überspringt den Großteil der Reise vollständig.
Diese Kette sieht langsam aus, und es wäre, wenn es jedes Mal passiert. Das tut es nicht. Root- und TLD-Antworten werden stunden- oder tagelang von jedem Resolver auf der Erde zwischengespeichert, so dass in der Praxis ein Resolver fast immer von der Kette herunter beginnt, und der Browser eines wiederholten Besuchers überspringt ihn oft ganz.
Die Aufzeichnungen, die es wert sind zu wissen
| Aufzeichnung | Was es tut | Typische Anwendung |
|---|---|---|
| A | Karten einen Namen auf eine IPv4-Adresse | Zeigen einer Domain auf einen Server |
| AAAAA | Karten einen Namen auf eine IPv6-Adresse | Gleiches gilt für IPv6 |
| CNAME | Karten einen Namen zu einem anderen Namen | www auf einen CDN-Hostnamen verweisen |
| MX | Sagt, wo E-Mail für die Domain geht | Mailhosting |
| TXT | Behält beliebigen Text | SPF, DKIM, Domänenverifizierung |
| NS | Name der maßgeblichen Server | Delegieren einer Domain oder Subdomain |
| WARENBEZEICHNUNG | Sagt, welche Behörden Zertifikate ausstellen können | Verhinderung unbefugter Zeugnisse |
Eine Domain auf ein CDN zu zeigen bedeutet normalerweise, einen A-Record oder einen CNAME zu ändern, so dass der Name auf das Edge-Netzwerk anstatt auf Ihren Ursprung auflöst.
Das Problem mit der Apex-Datenaufzeichnung
Eine Fältchen, die fast alle fängt. Die DNS-Spezifikation erlaubt keine CNAME am Höhepunkt einer Domain — example.com sich im Gegensatz zu www.example.com — weil ein CNAME nicht mit den anderen Aufzeichnungen, die die Spitze tragen muss, wie MX und NS koexistieren kann. Zeigen Sie Ihre Spitze auf ein CNAME und Ihre E-Mail kann aufhören zu arbeiten.
Anbieter arbeiten daran mit verschiedenen Funktionen namens CNAME Flattening, ALIAS oder ANAME Records, die das Ziel hinter den Kulissen lösen und eine A-Platte zurückgeben. Wenn Sie Ihre bloße Domain auf einem CDN benötigen, verwenden Sie entweder einen Anbieter, der diesen bietet, oder verwenden Sie einen einfachen A-Record und akzeptieren Sie, dass Sie ihn manuell aktualisieren müssen, wenn sich die Adresse ändert.
TTL, und warum Veränderungen Zeit brauchen
Jeder DNS-Record hat eine Zeit zum Leben: Wie viele Sekunden kann ein Resolver die Antwort zwischenspeichern, bevor er erneut fragt. Es ist der Grund, warum DNS-Skalen — ohne Caching, Root und TLD-Server würden jeden Lookup im Internet feld — und es ist auch der Grund, Änderungen sind nicht sofort.
Wenn Sie einen Datensatz ändern, wird der neue Wert sofort von Ihren autoritativen Nameservern bedient. Aber jeder Resolver, der bereits die alte Antwort hat, bedient sie bis zum Ablauf ihrer Kopie. Mit einer 24-Stunden-TTL erreichen einige Besucher die alte Adresse einen ganzen Tag nach der Änderung.
Senken Sie die TTL Vorher eine geplante Veränderung, nicht während dieser. Lassen Sie es auf 300 Sekunden pro Tag oder zwei voraus, warten Sie, bis die alte lange TTL überall abläuft, dann machen Sie die Änderung - es propagiert sich jetzt in Minuten. Heben Sie es danach wieder auf. Das Herunterfahren des TTL im gleichen Moment, in dem Sie den Datensatz ändern, erreicht nichts, denn Resolver halten immer noch die alte Platte mit ihrem alten TTL.
Zwei weitere Realitäten sind es wert zu wissen. Einige Resolver ignorieren kurze TTLs und erzwingen ihr eigenes Minimum, so dass "Propagation" nie perfekt vorhersehbar ist. Und Browser pflegen ihre eigenen DNS-Caches, die den OS-Cache überstehen, weshalb eine Änderung überall funktionieren kann, außer auf dem Rechner der Person, die es gemacht hat.
Wenn es bricht, überprüfen Sie diese Reihenfolge
- Abfragen Sie direkt Ihre maßgeblichen Server.
dig @ns1.yourprovider.com example.comzeigt, was tatsächlich veröffentlicht wird, wobei jeder Cache dazwischen umgangen wird. Wenn das falsch ist, spielt nichts nachgelagerte Rolle. - Dann fragen Sie einen öffentlichen Resolver.
dig @1.1.1.1 example.comsagt Ihnen, was das breitere Internet derzeit sieht, was vielleicht noch der alte Wert sein kann. - Überprüfen Sie das TTL in der Antwort. Es zählt als die zwischengespeicherte Kopie Altern, so dass es Ihnen sagt, wie viel länger die veraltete Antwort leben wird.
- Bestätigen Sie die Nameserver beim Registrar. Wenn die NS-Datensätze an Ihrem Registrar-Punkt irgendwo, wo Sie nicht bearbeiten, Sie haben die Datensätze geändert niemand gefragt wird.
Häufig gestellte Fragen
Was ist DNS?
DNS, das Domain Name System, übersetzt menschenlesbare Domainnamen wie example.com in die numerischen IP-Adressen, die Computer verwenden, um einander zu erreichen. Jede Verbindung zu einer Website beginnt mit einem DNS-Lookup, das entweder aus einem Cache oder durch Rücksprache mit root, Top-Level-Domain und maßgeblichen Nameservern beantwortet wird.
Wie lange dauert die DNS-Propagation?
Es hängt von der TTL ab, die auf dem Datensatz gesetzt wurde, bevor Sie ihn geändert haben, nicht von dem neuen Wert. Resolver, die die alte Antwort halten, bedienen sie, bis ihre Kopie abläuft, so dass ein Rekord mit einem 24-Stunden-TTL einen ganzen Tag dauern kann, um überall zu aktualisieren. Die Senkung des TTL ein oder zwei Tage vor einer geplanten Änderung reduziert dies auf Minuten.
Was ist der Unterschied zwischen einem A-Record und einem CNAME?
Ein Datensatz zeigt einen Namen direkt an eine IPv4-Adresse. Ein CNAME zeigt einen Namen auf einen anderen Namen, der dann wiederum aufgelöst werden muss. CNAMEs sind nützlich, um eine Subdomain auf den Hostnamen eines Providers zu zeigen, da der Anbieter die zugrunde liegende Adresse ändern kann, ohne dass Sie etwas bearbeiten. Ein CNAME kann nicht am Apex einer Domain verwendet werden.
Warum kann ich kein CNAME auf meiner root-Domain verwenden?
Da die DNS-Spezifikation es nicht erlaubt, dass ein CNAME mit anderen Datensätzen mit dem gleichen Namen koexistiert, und die Spitze einer Domäne muss NS und normalerweise MX-Datensätze tragen. Mit einem CNAME kann die E-Mail-Lieferung unterbrochen werden. Anbieter bieten CNAME-Flattening-, ALIAS- oder ANAME-Aufzeichnungen an, um dies zu umgehen, indem sie das Ziel auflösen und stattdessen einen A-Aufzeichnungsrekord zurückgeben.
Was ist ein TTL im DNS?
Die Zeit zum Leben ist die Anzahl der Sekunden, die ein Resolver einen Datensatz zwischenspeichern kann, bevor er erneut fragen muss. Längere TTLs reduzieren den Lookup-Verkehr und verbessern die Leistungsfähigkeit; kürzere machen Änderungen schneller propagieren. Gemeinsame Werte reichen von 300 Sekunden für Rekorde, die Sie erwarten, auf 86.400 Sekunden für stabile zu ändern.
Wie richte ich meine Domain auf ein CDN?
Normalerweise durch Ändern eines CNAME-Datensatzes, so dass Ihr Hostname, wie z.B. www.example.com, auf den Hostnamen, den das CDN bereitstellt, anstatt auf die Adresse Ihres Ursprungsservers auflöst. Für eine nackte Apex-Domain benötigen Sie einen A-Record oder das CNAME-Flattening-Äquivalent Ihres Anbieters. Senken Sie das TTL vorher, so dass die Änderung schnell wirksam wird, und testen Sie den temporären Hostnamen des CDN vor dem Umschalten.
DNS ist ein verteilter Lookup, der Namen in Adressen verwandelt, von einer Kette von Root, TLD und maßgeblichen Servern beantwortet und bei jedem Schritt aggressiv zwischengespeichert wird. Lernen Sie die Handvoll von Plattentypen, die wichtig sind, denken Sie daran, dass der Apex kein CNAME nehmen kann, und senken Sie Ihr TTL, bevor Sie etwas ändern. Die meisten DNS-Schmerz ist Caching funktioniert genau so wie entwickelt.
Sehen Sie, wie NordicCDN dies für Ihre Website tut:
Mads hat seit seinem 16. Lebensjahr in der IT gearbeitet — hauptsächlich als Hosting. Er beteiligte sich früh an einer SaaS-Firma und half, sie bis zur Übernahme durch Visma weiterzuentwickeln, hat Data-Center-Netzwerke aufgebaut und betrieben und diente als CTO eines dänischen Rechenzentrums. Er hat NordicCDN gestartet, um eine schnelle, sichere Infrastruktur einfach zu bedienen.