{"id":2803,"date":"2023-09-10T16:31:22","date_gmt":"2023-09-10T14:31:22","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=2803"},"modified":"2023-10-28T16:39:18","modified_gmt":"2023-10-28T14:39:18","slug":"wie-funktioniert-eigentlich-das-netzwerk-internet","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2023\/09\/10\/wie-funktioniert-eigentlich-das-netzwerk-internet\/","title":{"rendered":"Wie funktioniert eigentlich das Netzwerk \/ Internet?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In diesem Beitrag, der auch ein wenig l\u00e4nger sein wird (<em>und erweitert wird<\/em>), werden wir uns ansehen, mit welcher genialen Technik (<em>aus dem Jahr 1984<\/em>) unser Netzwerk \/ Internet eigentlich funktioniert. Und vor dieser Technik darf man gerne Respekt haben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein kleiner Vorteil &#8211; etwas dar\u00fcber zu wissen, kann auch bei Problemen helfen &#8211; und Wissen ist sowieso Macht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grundlegend einmal &#8211; aller Dinge Anfang ist unsere Netzwerkkarte, egal ob jetzt Ethernet, LTE oder WLAN &#8211; jede Netzwerkkarte hat eine sogenannte MAC-Adresse. Diese nennt man auch &#8218;physikalische Adresse&#8216;, es hat nicht nur jede Netzwerkkarte eine solche MAC-Adresse &#8211; jede Netzwerkkarte hat eine einzigartige MAC-Adresse. Also &#8211; eine Adresse, die es auf der Welt nur einmal gibt. Unter Linux k\u00f6nnen wir uns diese auf dem&nbsp;Terminal&nbsp;mit dem Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ip -brief link show<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">anzeigen lassen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"611\" height=\"123\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1.jpg\" alt=\"\" class=\"wp-image-2804\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1.jpg 611w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1-300x60.jpg 300w\" sizes=\"auto, (max-width: 611px) 100vw, 611px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dies gelingt etwas un\u00fcbersichtlicher auch mit dem Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ip a<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"95\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1-1.jpg\" alt=\"\" class=\"wp-image-2805\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1-1.jpg 698w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1-1-300x41.jpg 300w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt kommen wir zu einem Teil der genialen Technik, mit der unser Netzwerk \/ Internet heute funktioniert &#8211; TCP\/IP &#8211; genauer ausgedr\u00fcckt &#8218;<em>Transmission Control Protocol<\/em>&#8218; und &#8218;<em>Internet Protocol<\/em>&#8218;. TCP\/ IP funktioniert heute noch so, wie in seiner Zeit &#8211; 1984 &#8211; nat\u00fcrlich wurde es verbessert, aber die Grundlagen sind noch immer dieselben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei TCP\/IP handelt es sich um Software, sie ist in jedem Betriebssystem integriert und ist der Vermittler zwischen Netzwerkkarte, Betriebssystem und Anwendungen. TCP\/IP versteht folgende Unterhaltungen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"782\" height=\"142\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio.png\" alt=\"\" class=\"wp-image-2806\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio.png 782w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-300x54.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-768x139.png 768w\" sizes=\"auto, (max-width: 782px) 100vw, 782px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00f6gliche TCP\/IP-Verbindungen<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Unicast<\/strong>&nbsp;&#8211; die Verbindung zwischen zwei Rechnern<\/li>\n\n\n\n<li><strong>Multicast<\/strong>&nbsp;&#8211; die Verbindung zwischen mehreren Rechnern<\/li>\n\n\n\n<li><strong>Broadcast<\/strong>&nbsp;&#8211; die Verbindung zwischen allen Rechnern<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Beginnen wir damit, uns mit dem Internet zu verbinden &#8211; dies geschieht in den meisten F\u00e4llen mit einem Router. Ein Router ist meist nichts anderes als ein Switch, dieser verbindet unsere Rechner, Smartphones und so weiter zu Hause zusammen in ein lokales Netzwerk &#8211; der Router selbst, verbindet uns in das Netzwerk.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Heute konfigurieren wir nicht mehr Netzwerkkarten manuell, dies geschieht automatisch &#8211; aber wie funktioniert dies? Unser Rechner &#8211; besser gesagt unsere Netzwerkkarte hat zu Beginn keine IP-Adresse, diese bekommt sie von unserem Router. Unser Rechner kennt zwar das WLAN-Netzwerk, dieses m\u00fcssen wir ja angeben, bei Ethernet (<em>Netzwerkkabel<\/em>), f\u00fchrt dieses zwar in den meisten F\u00e4llen direkt zum Router\/Switch &#8211; \u00fcber das Netzwerk sind jedoch meist mehrere Ger\u00e4te verbunden. Wie bekommt unser System heraus, welches dieser Ger\u00e4te der Router ist?<br>TCP\/IP sendet via Broadcast &#8211; also an alle Ger\u00e4te im Netzwerk ein Datenpaket &#8211; dieses beinhaltet die MAC-Adresse der genutzten Netzwerkkarte und der Frage &#8211; wer ist hier der Router?:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"517\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-1.png\" alt=\"\" class=\"wp-image-2807\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-1.png 612w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-1-300x253.png 300w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Da alle Rechner zusammen h\u00e4ngen, eben \u00fcber den Router\/Switch &#8211; geht das Datenpaket an alle Rechner. Und Broadcast-Pakete gehen immer an alle Rechner im selben Netzwerk. Broadcast-Pakete verlassen das lokale Netzwerk nicht. Der Router\/Switch ist nat\u00fcrlich darauf getrimmt, auf die Frage &#8218;<em>Wer ist hier der Router?<\/em>&#8218; zu antworten &#8211; dies tut dieser mit einem Unicast-Datenpaket. In diesem Unicast-Datenpaket steht seine MAC-Adresse und die Antwort &#8211; &#8218;<em>ich bin der Router\/Switch<\/em>&#8218;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"487\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-2.png\" alt=\"\" class=\"wp-image-2808\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-2.png 612w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-2-300x239.png 300w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nach dieser Antwort, sendet unser System jetzt dem Router (<em>er kennt inzwischen ja die MAC-Adresse des Routers<\/em>) die Anfrage &#8211; &#8218;bitte gib mir eine IP-Adresse&#8216;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"517\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-3.png\" alt=\"\" class=\"wp-image-2809\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-3.png 612w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-3-300x253.png 300w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt sieht der Router in seiner Datenbank nach &#8211; welche IP-Adresse ist frei? Diese Datenbank ist eigentlich nichts anderes als eine Textdatei mit einer Tabelle und zwei Spalten. Diese Textdatei nennt sich Routing-Tabelle:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"292\" height=\"172\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-4.png\" alt=\"\" class=\"wp-image-2811\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Der Router sucht sich also eine freie IP-Adresse und schreibt die MAC-Adresse des anfragenden Rechners in die Zeile mit der IP-Adresse. Anschlie\u00dfend sendet der Router ein Unicast-Datenpaket zur\u00fcck an den anfragenden Rechner:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"487\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-5.png\" alt=\"\" class=\"wp-image-2812\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-5.png 612w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/Unbenanntes-Diagramm.drawio-5-300x239.png 300w\" sizes=\"auto, (max-width: 612px) 100vw, 612px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt wird es langsam interessant &#8211; wir bekommen von unserem Router eine IP-Adresse aus dem privaten Bereich, im Internet bewegen wir uns mit \u00f6ffentlichen IP-Adressen &#8211; zu diesem Thema werden wir sp\u00e4ter mehr lesen. Wir arbeiten also mit zwei verschiedenen IP-Adressen. Sehen wir uns einmal folgende Grafik an:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"703\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk.png\" alt=\"\" class=\"wp-image-2814\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk.png 732w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-300x288.png 300w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In der Grafik sehen wir links unser lokales Netzwerk, auf der rechten Seite schnell gesagt das Internet. In der Mitte zeigt sich unser Router &#8211; dieser Router stellt die Schnittstelle zwischen unserem lokalen Netzwerk und dem Internet dar. In unserem lokalen Netzwerk haben wir private IP-Adressen und im Internet \u00f6ffentliche. Da unser Router die Verbindung zwischen diesen zwei Schnittstellen ist, hat dieser mindestens zwei Netzwerkschnittstellen &#8211; auf der Seite unseres lokalen Netzwerkes eine private IP-Adresse und auf der anderen eine \u00f6ffentliche IP-Adresse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt m\u00f6chten wir auf unserem Laptop mit der IP-Adresse &#8218;<strong>10.17.0.3<\/strong>&#8218; die Webseite auf dem Server mit der IP-Adresse &#8218;<strong>129.0.0.4<\/strong>&#8218; \u00f6ffnen, wir schicken also \u00fcber unseren Router ein Datenpaket (<em>dieses ist noch immer vereinfacht dargestellt, diesem Thema widmen wir sp\u00e4ter genauere Aufmerksamkeit<\/em>), das dem Server zeigt &#8211; wir wollen mit ihm kommunizieren. Unser Router muss es also zusammenbringen, aus unserer privaten IP-Adresse eine \u00f6ffentliche zu machen &#8211; sehen wir uns folgende Grafik an:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"842\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1.png\" alt=\"\" class=\"wp-image-2815\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1.png 732w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-1-261x300.png 261w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Unser Router \u00fcbernimmt das Datenpaket vom Rechner mit der IP-Adresse &#8218;<strong>10.17.0.3<\/strong>&#8218; und schreibt die Anfrage in eine weitere Routing-Tabelle, dazu geh\u00f6rt auch dessen MAC-Adresse &#8211; warum sehen wir uns sp\u00e4ter an. In dieselbe Zeile einer anderen Spalte tr\u00e4gt er den Server im Internet ein, an den das Datenpaket gehen soll. An dieser Stelle hat das Datenpaket jedoch schon die \u00f6ffentliche IP-Adresse des Routers. Der Router sendet also unser ver\u00e4ndertes Datenpaket an den Server im Internet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Server im Internet mit der IP-Adresse &#8218;<strong>129.0.0.4<\/strong>&#8218; empf\u00e4ngt das Datenpaket und sieht &#8211; unser Router mit der \u00f6ffentlichen IP-Adresse &#8218;<strong>129.0.0.3<\/strong>&#8218; will eine Verbindung mit ihm aufnehmen, sieht die IP-Adresse unseres Laptops jedoch nicht. Er k\u00f6nnte mit der privaten IP-Adresse auch nichts anfangen, die private IP-Adresse befindet sich schlie\u00dflich in einem ganz anderen Netzwerk &#8211; in dieses kann er nicht einsehen.<br>Der Server sieht also &#8211; der Router will eine Verbindung mit ihm aufnehmen &#8211; sehr vereinfacht ausgedr\u00fcckt steht im Datenpaket &#8211; &#8218;<strong>ich, mit der IP 10.17.0.3 m\u00f6chte mit dir in Verbindung treten<\/strong>&#8218;. Der Server sendet ein entsprechendes Datenpaket an die \u00f6ffentliche IP-Adresse unseres Routers zur\u00fcck &#8211; etwa mit der Antwort &#8218;<strong>bitte gerne<\/strong>&#8218;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"512\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-3.png\" alt=\"\" class=\"wp-image-2816\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-3.png 752w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-3-300x204.png 300w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Unser Router empf\u00e4ngt das an seine IP-Adresse gesendete Datenpaket, sieht in der Routing-Tabelle nach &#8211; welche IP-Adresse in unserem privaten Netzwerk das Datenpaket an den Server gesendet hat und \u00e4ndert die IP-Adresse im Datenpaket auf &#8218;10.17.0.3&#8216; um, das Datenpaket landet wieder auf unserem Laptop. Die Verbindung wurde er\u00f6ffnet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt beginnt erst die eigentliche Daten\u00fcbertragung &#8211; bisher wurde nur eine Verbindung mit dem Server erstellt. Grob gesagt, erst jetzt schickt unser Laptop dem Server ein Datenpaket &#8211; mit dem Inhalt, was wir eigentlich m\u00f6chten. Wieder \u00e4ndert unser Router die IP-Adressen in den Datenpaketen hin und beim Empfangen der Pakete vom Server wieder zur\u00fcck. Dies nat\u00fcrlich in entsprechend schneller Zeit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir haben bisher mit IP-Adressen gearbeitet, wir schreiben jedoch etwa in die Adresszeile des Webbrowsers keine IP-Adressen &#8211; dies w\u00e4re schon etwas umst\u00e4ndlich. Nehmen wir einmal an &#8211; wir wollen die Webseite&nbsp;<a href=\"http:\/\/wurstsemmel.at\/\" target=\"_blank\" rel=\"noreferrer noopener\">wurstsemmel.at<\/a>&nbsp;\u00f6ffnen &#8211; eine sehr sinnvolle Webseite (<em>keine Verschl\u00fcsselung, aber auch nicht n\u00f6tig<\/em>). Wir geben einfach die Adresse ein &#8211; das Internet interessiert sich f\u00fcr unsere Buchstaben jedoch nicht &#8211; das Netzwerk kommuniziert mit IP-Adressen &#8211; f\u00fcr diese Webseite erwartet das Netzwerk eigentlich die IP-Adresse &#8218;<strong>85.13.135.71<\/strong>&#8218;. Irgendjemand oder etwas muss sich also darum k\u00fcmmern, unsere menschlich verst\u00e4ndliche Eingabe in eine IP-Adresse zu konvertieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ins Spiel kommen hierbei zwei Dinge &#8211; ein Resolver &#8211; dieser ist auf unserem Betriebssystem installiert und ein DNS-Server (<em>Domain Name Service<\/em>), dieser &#8211; oder besser gesagt, diese &#8211; sind Server im Internet. Und hier zeigt sich wieder &#8211; Respekt vor der Technik aus dem Jahr 1984. Die Entwickler damals, wussten kaum &#8211; welche Aufgaben das Internet heute wirklich hat. DNS-Server m\u00fcssen heute Millionen Anfragen pro Sekunde durchf\u00fchren &#8211; wohl eher viele, viele mehr &#8211; und es funktioniert heute noch so, wie damals.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beginnen wir ganz von vorne. Wir wollen auf unserem Laptop im Webbrowser die Webseite &#8218;<strong>wurstsemmel.at<\/strong>&#8218; \u00f6ffnen. Unser Webbrowser \u00fcbergibt dies an den ebenfalls auf dem Betriebssystem installierten Resolver. Dieser gibt erst einmal den Zusatz &#8218;<strong>www<\/strong>&#8218; hinzu. &#8218;<strong>www<\/strong>&#8218; wird hier als Host, oder auch als Rechner bezeichnet. &#8218;<strong>wurstsemmel.at<\/strong>&#8218; hingegen als\u00a0<strong>Dom\u00e4ne<\/strong>. Unser Resolver hat wiederum eine Textdatei mit zwei Spalten, in eine Spalte schreibt er:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>www.wurstsemmel.at<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die zweite Spalte bleibt noch leer. Die Spalte zeigt also \u00fcbersetzt &#8218;<strong>Host.Dom\u00e4ne<\/strong>&#8218;. In die zweite Spalte sollte die IP-Adresse des Servers von &#8218;wurstsemmel.at&#8216; kommen, diese ist jedoch noch unbekannt. Unser Betriebssystem \u00fcbernimmt die Aufgabe vom Resolver und \u00fcbergibt diese an TCP\/IP &#8211; TCP\/IP erstellt ein Datenpaket mit der Anfrage &#8211; &#8218;<strong>hallo DNS-Server, wie ist die IP-Adresse von wurstemmel.at?<\/strong>&#8218;. Das Datenpaket wird an den Router gesendet, von diesem wird die IP-Adresse und MAC-Adresse auf die seiner Daten ge\u00e4ndert und an den konfigurierten DNS-Server gesendet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt kommt das eigentlich geniale an der Technik. Ein DNS-Server hat eine Textdatei &#8211; zwei Spalten &#8211; in einer Spalte steht eine Web-Adresse &#8211; etwa &#8218;<strong><a href=\"http:\/\/www.wurstsemmel.at\/\" target=\"_blank\" rel=\"noreferrer noopener\">www.wurstsemmel.at<\/a><\/strong>&#8218; und in derselben Zeile in der anderen Spalte die IP-Adresse &#8211; etwa &#8218;<strong>85.13.135.71<\/strong>&#8218;. Der DNS-Server durchsucht diese Textdatei Zeile f\u00fcr Zeile, von oben nach unten, bis er die passende Adresse gefunden hat. Schon im Jahr 1990 hatte eine Textdatei mit allen Adressen von damals jedoch schon 30 Gigabyte &#8211; eine solche Datei zu durchsuchen dauert nicht nur Sekunden! Und dann denken Sie daran &#8211; wie viele Webseiten wird es heute geben. Und noch dazu &#8211; ein DNS-Server muss Millionen von Anfragen pro Sekunde durchf\u00fchren!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Schon im Jahre 1984 dachte man daran, man k\u00f6nnte den DNS-Dienst aufteilen &#8211; in mehrere Server. So gibt es so gesehen nur wenige sogenannte Root-Server. Welchen DNS-Server wir auch immer im Betriebssystem oder am Router konfiguriert haben &#8211; wir senden unsere Anfrage &#8218;<strong>hallo DNS-Server, wie ist die IP-Adresse von wurstemmel.at?<\/strong>&#8218; an diesen &#8211; dieser DNS-Server sieht erst einmal in seiner Datenbank nach, ob der Eintrag &#8218;wurstsemmel.at&#8216; schon vorhanden ist. Etwa &#8211; weil die Webseite innerhalb der letzten 8 bis 10 Stunden von jemanden schon einmal aufgerufen wurde, ist dies der Fall, wird die IP-Adresse mit einem Datenpaket entsprechend zur\u00fcckgesendet. Ist dies nicht der Fall, sendet dieser die Anfrage an einen DNS-Root-Server.<br>Der DNS-Root-Server sieht sich die Adresse an &#8211; also &#8218;<strong>wurstsemmel.at<\/strong>&#8218;, an der Dom\u00e4ne interessiert ihn nur das &#8218;<strong>.at<\/strong>&#8218;. Der DNS-Root-Server \u00fcbergibt die Anfrage an einen weiteren DNS-Server, der f\u00fcr die Endung &#8218;<strong>.at<\/strong>&#8218; zust\u00e4ndig ist. Dieser \u00fcbergibt dem Root-Server seine IP-Adresse und der Root-Server sendet diese IP-Adresse wieder zur\u00fcck (<em>unser Router w\u00fcrde keine Verbindung durchlassen, an dessen IP wir keine Anfrage gestellt haben<\/em>). Unser TCP-IP sendet die Anfrage &#8218;hallo DNS-Server, wie ist die IP-Adresse von wurstemmel.at?&#8216; an diesen untergeordneten DNS-Server. Dieser sieht &#8211; er kennt zwar die Endung&nbsp;<strong>&#8218;.at<\/strong>&#8218; und &#8218;<strong>wurstsemmel<\/strong>&#8218;, also &#8218;<strong>wurstsemmel.at<\/strong>&#8218; &#8211; aber nicht die IP-Adresse, er kennt jedoch einen DNS-Server, der die IP-Adresse von &#8218;<strong>wurstsemmel.at<\/strong>&#8218; hat &#8211; in der Regel der DNS-Server des Anbieters des Webservers. In dessen Textdatei steht in der Zeile neben &#8218;wurstsemmel.at&#8216; auch die IP-Adresse &#8218;<strong>85.13.135.71<\/strong>&#8218; &#8211; diese wird wieder \u00fcber unseren Router zur\u00fcckgesendet &#8211; und jetzt kennt unser Webbrowser die IP-Adresse &#8211; die Verbindung kann gestartet werden, erst dann werden Daten \u00fcbertragen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alles zusammen in Millisekunden! So werden Anfragen f\u00fcr DNS-Server klein gehalten und Millionen von Abfragen pro Sekunde \u00fcberhaupt verarbeitet werden:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"610\" src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-4.png\" alt=\"\" class=\"wp-image-2817\" srcset=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-4.png 792w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-4-300x231.png 300w, https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/09\/netzwerk-4-768x592.png 768w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt verstehen Sie vielleicht auch, warum es so teuer ist &#8211; eine Domain zu kaufen. Weil es die einzige Aufgabe des Anbieters ist, die Domain in die Textdatei seines DNS-Servers einzutragen und die eines weiteren \u00fcbergeordneten DNS-Servers.<\/p>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"2803\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">1    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"2803\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>In diesem Beitrag, der auch ein wenig l\u00e4nger sein wird (und erweitert wird), werden wir uns ansehen, mit welcher genialen Technik (aus dem Jahr 1984) unser Netzwerk \/ Internet eigentlich funktioniert. Und vor dieser Technik darf man gerne Respekt haben. Ein kleiner Vorteil &#8211; etwas dar\u00fcber zu wissen, kann auch bei Problemen helfen &#8211; und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2391,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38],"tags":[39],"class_list":["post-2803","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-netzwerk","tag-netzwerk"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=2803"}],"version-history":[{"count":2,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2803\/revisions"}],"predecessor-version":[{"id":10650,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/2803\/revisions\/10650"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/2391"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=2803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=2803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=2803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}