Verstehen Sie wirklich das DNS-Protokoll, das jeden Tag bei der Arbeit verwendet wird? (Am Ende des Artikels gibt es eine Überraschung, verpassen Sie sie nicht)

♥ Vorwort

Wenn wir einige Websites häufig besuchen, geben Sie eine Adresse ähnlich wie www.baidu.com in den Browser ein und geben Sie dann diese Adresse in den Browser ein ---> Der Baidu-Server sendet uns diese Baidu-Seite zurück. Was ist der Prozess in der Mitte? ?

Lassen Sie uns mit dieser Frage im Hinterkopf den Prozess gemeinsam analysieren.

1. Die Beziehung zwischen Domainname und IP

Erstens werden Adressen wie „www.baidu.com“ und „www.sina.com.cn“ zusammenfassend als Domänennamen bezeichnet. Kann die Anforderung dann nach Verwendung des Domänennamens für den Zugriff direkt den entsprechenden Server erreichen?

NEIN!

Bei diesem Vorgang muss der Domänenname in eine IP-Adresse umgewandelt werden. Nur durch Durchsuchen der IP-Adresse kann der Standort des Servers ermittelt und der Server die Anfrage empfangen.

Warum müssen Sie diesen Konvertierungsvorgang zwischen Domänennamen und IPs durchführen? Beantworten wir zwei Fragen:

  1. Warum kommunizieren wir also nicht direkt mit IP-Adressen?

    Da IP-Adressen für Benutzer nicht leicht zu merken sind, sind Domänennamen für Benutzer einfacher zu merken und zu verwenden. Beispielsweise ist www.baidu.com der Domänenname von Baidu, www.sina.com.cn der Domänenname von Sina, das sehr leicht zu verstehen und zu merken ist;

  2. Warum dann nicht einfach den Domänennamen verwenden, um den Server zu finden?

Dies liegt daran, dass die Länge des Domänennamens nicht festgelegt ist, was für Computer nicht bequem zu verarbeiten ist, und die IP-Adresse eine feste Länge hat. Wenn es sich um eine IPv4-Adresse handelt, beträgt sie 32 Bit, und wenn es sich um eine IPv6-Adresse handelt , es ist 128 Bit, daher ist es für Computer einfacher, es mit einer festen Länge zu verarbeiten.

Zusammenfassend lässt sich sagen, dass die IP-Adresse für den Host und der Domänenname für den Benutzer bestimmt ist. Wir müssen also den Domänennamen und die IP-Adresse ineinander umwandeln.

2. Konvertieren Sie den Domänennamen in eine IP-Adresse

hosts-Datei

Zu Beginn nutzten die Leute die Hosts-Datei des Computers, um den Domänennamen und die IP umzuwandeln.

Unter dem Pfad unseres Computers C:\Windows\System32\drivers\etc befindet sich eine Hostdatei, in der die entsprechende Beziehung zwischen Domänenname und IP gespeichert werden kann, wie in der folgenden Abbildung dargestellt:

Bild

Wenn Sie automatisiertes Testen lernen möchten, empfehle ich Ihnen hier eine Reihe von Videos. Dieses Video kann als das erste Tutorial zum Testen von Schnittstellenautomatisierungen im gesamten Netzwerk an Station B bezeichnet werden. Gleichzeitig ist die Anzahl der Online-Benutzer gestiegen 1.000 erreicht, und es gibt Banknoten zum Sammeln und verschiedene Lu Dashen Technical Exchange: 798478386      

 [Aktualisiert] Die detaillierteste Sammlung praktischer Tutorials zum automatisierten Testen von Python-Schnittstellen, die von Station B (der neuesten Version des tatsächlichen Kampfes) unterrichtet werden._哔哩哔哩_bilibili [Aktualisiert] Die detaillierteste Sammlung praktischer Tutorials zum automatisierten Testen von Python Von Station B (tatsächlicher Kampf) unterrichtete Schnittstellen (die neueste Version) verfügen über insgesamt 200 Videos, darunter: 1. [Schnittstellenautomatisierung] Die aktuelle Marktsituation für Softwaretests und die Fähigkeitsstandards von Testern. , 2. [Schnittstellenautomatisierung] Vollständige Kenntnisse der Requests-Bibliothek und der zugrunde liegenden Methodenaufruflogik, 3. [Schnittstellenautomatisierung] Schnittstellenautomatisierungskampf und die Anwendung regulärer Ausdrücke und JsonPath-Extraktoren usw. Weitere spannende Videos finden Sie unter das UP-Konto. https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a

Die in der Abbildung eingerahmte Linie ordnet die IP-Adresse 120.24.89.47 dem Domänennamen www.tricy1.com zu. Auch wenn der Domänenname www.tricy1.com nach Abschluss der Konfiguration kein tatsächlich registrierter Domänenname ist, können Sie auf diesem Computer weiterhin auf den Domänennamen www.tricy1.com zugreifen, um auf die Website zuzugreifen, die dieser IP-Adresse entspricht (Zitrone). Klassentest Pie Forum).

Zunächst wird die Hosts-Datei über das Internet Information Center verwaltet. Wenn ein neuer Computer eine Verbindung zum Netzwerk herstellen möchte oder sich die IP eines Computers ändert, muss beim Information Center eine Änderung der Hosts-Datei beantragt werden. Auch andere Computer benötigen regelmäßige Updates, um online gehen zu können. Aber das ist zu viel Mühe. Zur einfacheren Bedienung erschien das DNS-Protokoll.

DNS-Protokoll

Das DNS-Protokoll, der vollständige Name des Domain Name System, ist ein Protokoll der Anwendungsschicht, das auf dem UDP- oder TCP-Protokoll basiert und standardmäßig Port 53 verwendet.

Der Client kommuniziert standardmäßig über das UDP-Protokoll. Da das Weitverkehrsnetzwerk jedoch nicht für die Übertragung großer UDP-Pakete geeignet ist, ist festgelegt, dass bei einer Paketlänge von mehr als 512 Bytes das TCP-Protokoll für die Datenübertragung verwendet werden soll. Daher ist das DNS-Protokoll ein seltenes Protokoll der Anwendungsschicht, das sowohl das UDP-Protokoll als auch das TCP-Protokoll als zugrunde liegendes Protokoll verwenden kann.

Die Funktion dieses Protokolls besteht darin, für Menschen lesbare Domänennamen (z. B. www.qq.com) in maschinenlesbare IP-Adressen (z. B. 119.147.15.13) umzuwandeln.

Bild

Hierarchie der Domainnamen:

Wie in der Abbildung oben gezeigt, ist die Mitte des Domainnamens durch Punkte getrennt. Was stellt jeder Punkt dar?

Wir müssen verstehen, dass der Domänenname eine hierarchische Struktur ist und der Domänennamenserver auch eine entsprechende hierarchische Struktur ist, nämlich der Stammdomänenname, das Domänennamensystem der obersten Ebene, das Domänennamensystem der zweiten Ebene usw Domänennamensystem der dritten Ebene, wie in der folgenden Abbildung dargestellt:

Bild

 Weltweit gibt es 13 Root-Server. Die chinesischen Namen dieser 13 Root-Domain-Nameserver lauten „A“ bis „M“, davon sind 10 in den Vereinigten Staaten und die anderen drei jeweils im Vereinigten Königreich ansässig , Schweden und Japan. Ein primärer Root-Server befindet sich in den Vereinigten Staaten und die restlichen 12 sind sekundäre Root-Server.

Die hierarchische Struktur des Domainnamens www.baidu.com sieht beispielsweise wie folgt aus:

com: Top-Level-Domain-Name. Zeigt an, dass es sich um einen Unternehmensdomänennamen handelt.

Baidu: Domainname der zweiten Ebene, bezieht sich auf den Firmennamen.

www: Internetprotokoll (World Wide Web)

Domänennamen dürfen im Allgemeinen 5 Ebenen nicht überschreiten, und die Domänenebenen werden von links nach rechts höher, und Domänen höherer Ebenen enthalten Domänen niedrigerer Ebenen. Der Domänenname ist im gesamten Internet eindeutig. Wenn der Subdomänenname auf hoher Ebene derselbe ist, darf der Subdomänenname auf niedriger Ebene nicht wiederholt werden.

Bei der Domänennamenstruktur muss es etwas geben, das den Domänennamen auflöst, und das ist der Domänennamenserver.

Domänennamen müssen von Domänennamenservern auf der ganzen Welt aufgelöst werden. Domänennamenserver sind eigentlich Hosts, auf denen Domänennamensysteme installiert sind.

DNS-Auflösungsprozess

Bild

 Lassen Sie uns wie oben gezeigt den Prozess der DNS-Auflösung analysieren:

Der Benutzer möchte über den Client-Browser auf den Baidu-Server zugreifen – der Domänenname lautet www.baidu.com:

  1. Wenn der Benutzer den Domänennamen www.baidu.com in den Browser eingibt, besteht die Standardpriorität darin, den Browser-Cache zu durchsuchen, um festzustellen, ob der Cache die dem Domänennamen entsprechende IP-Adresse enthält

  2. Wenn es im Browser nicht gefunden werden kann, prüft es, ob in der Hosts-Datei im System eine entsprechende IP-Adresse vorhanden ist

  3. Wenn dieser Domänenname in Hosts nicht zugeordnet ist, suchen Sie nach dem lokalen DNS-Server.

  4. Wenn nicht, durchsuchen Sie den Root-Domain-Name-Server über den DNS-Server. Der Root-Domain-Name-Dienst gibt die IP-Adresse des für die Abfrage verfügbaren Top-Level-Domain-Name-Servers zurück.

  5. Der Top-Level-Domain-Name-Server gibt eine DNS-Antwortnachricht zurück;

  6. Nachdem der Host die Antwortnachricht erhalten hat, kann er normal auf den Server zugreifen und das Ergebnis für die nächste Verwendung speichern


Die Abfragemethoden des DNS-Protokolls werden in die folgenden zwei Typen unterteilt:


Rekursive Abfrage : Der Computer sendet eine Abfrageanforderung an den lokalen Domänennamenserver und wartet auf das Endergebnis. Wenn der lokale Domänennamenserver das Problem nicht auflösen kann, werde ich als DNS-Client andere Domänennamenserver abfragen, bis ich die endgültige IP-Adresse erhalte und diese Maschine darüber informiere

Bild

Iterative Abfrage : Der lokale Domänennamenserver fragt den Stammdomänennamenserver ab, der Stammdomänennamenserver teilt ihm mit, wo er als Nächstes abfragen soll, und prüft dann erneut, jedes Mal, wenn er jeden Server als Client abfragt.

Bild

Laienhaft ausgedrückt bedeutet Rekursion, eine Sache an andere zu übergeben. Wenn die Sache noch nicht fertig ist, sagen Sie mir nicht das Ergebnis, auch wenn sie schon oft gemacht wurde. Ich möchte Ihr Endergebnis, nicht das Zwischenergebnis ; wenn Sie es nicht tun, suchen Sie bitte jemanden, der es fertigstellt, nachdem Sie es fertiggestellt haben.

Iteration ist eine Sache, die ich Ihnen gebe. Sagen Sie mir, wie viel Sie tun können, und dann werde ich den Rest erledigen.

Supongo que te gusta

Origin blog.csdn.net/caixiangting/article/details/132212661
Recomendado
Clasificación