Guten Morgen People :p
Ich versuche zu verstehen wie das Internet funktioniert, aber nicht nur
Oberflächlich.
Ja, es ist haufenweise Info Material im Netz, aber diese beschreiben die
Funktionsweise entweder sehr Oberflächlich (hängt mir mittlerweile aus
den Ohren raus ^^) oder richten sich an Fortgeschrittene bzw. setzen
sehr viel Wissen aus anderen Bereichen voraus (und sind meiner Meinung
nach erschreckend Trocken erklärt).
Nun entstehen aus solchen Recherchen nur noch mehr Fragen und da ich
keinen Guide an meiner Seite habe, der mir die richtige Richtung weist
und meine Fragen beantwortet, gestaltet sich mir das ganze gerade als
unmöglich.
Aber da kam mir eine Idee. Für gewöhnlich lerne ich am besten, wenn ich
etwas Praktisch umsetze.
Nun denke ich, wäre es eine gute Idee diese Einzelnen Schichten selber
zu programmieren, dazu bietet sich C++ an.
Soweit ich weiß, teilt man die Datenübertragung/Verarbeitung in 7
Schichten ein. Vereinfachen lässt sich das ganze aber auch auf 4, dass
macht das ganze erstmal weniger Kompliziert (gemeint sind Anwendungs-,
Transport-, Internet-, Netzzugangsschicht).
Was haltet Ihr von der Idee?
Und könnt Ihr mir vielleicht paar gute Quellen mit auf den Weg geben?
Protokoll Typ schrieb:> Was haltet Ihr von der Idee?
Nichts.
Die existierenden Implementierungen kannst du zumindest zu einem guten
Teil selbst nachlesen (BSD, Linux). Das sind einige 10000 Codezeilen.
Selbst, wenn du davon nur einen kleinen Teil selbst machen willst, was
denkst du, wie lange du daran arbeiten müsstest?
Nimm dir irgendein (viel) einfacheres Protokoll vor, Xmodem oder Kermit
vielleicht, und versuche, dieses selbst zu implementieren.
Sebastian R. schrieb:> Youtube-Video "Die Sendung mit der Maus - Wie funktioniert das> Internet"
Ich war mir absolut sicher, dass irgend ein Schlaumeier dieses Video
hier reinstellen würde.
Hätte nur nicht gedacht, dass es so schnell gehen würde.
Wenn dein ganzes Wissen zum Thema Internet auf diese Video basiert, dann
bist du hier keine große Hilfe XD
Die wichtigste Erkenntnis ist eigentlich dass die ganze Magie in Layer 3
steckt, der Dreh-und-Angelpunkt des Ganzen:
Es gibt eine Reihe Layer-1/2 Techniken wie Ethernet, WLAN, DSL, aber sie
alle können IP-Pakete übertragen - ggf. auch mehr, aber IP ist das
Wichtigste. IP-Pakete können Netzwerk-Segmente und Technologien
überwinden, sie werden von Routern weitergeleitet. Mit Ethernet-Paketen
z.B. geht das nicht. IP ist der gemeinsame Nenner, den alle beherrschen.
Auf IP bauen bekanntlich diverse Protokolle auf (insb. TCP, UDP) und
darauf eine Menge Anwendungsprotokolle (HTTP(S), SMTP, FTP, ...). Dank
des "universellen Adapters" IP kann man diese über alle Transportmedien
übertragen, da alle höheren Protokolle eben IP nutzen, und alle
Transportmedien IP unterstützen.
Wenn du morgen eine neue Netzwerktechnik erfindest, z.B. über
Ultraschall oder Brieftauben, und diese IP-Pakete übertragen kann,
kannst du das ans Internet anschließen, da alle Internet-Pakte aller
Anwendungen darüber gehen können.
Wenn du morgen eine neue Anwendung erfindest, z.B. den
Taubenschlagsimulator, welche ein eigenes Anwendungsprotokoll auf Basis
von TCP (und damit auch auf Basis von IP) nutzt, kann diese ihre Daten
über alle Netzerktechnologien über das ganze Internet übertragen, weil
alles IP unterstützt.
Deswegen ist die IPv6-Einführung auch so problematisch - einen neuen
gemeinsamen Nenner einzuführen erfordert Kooperation aller Teilnehmer.
Das Alles wird auch typischerweise in Netzwerk-Vorlesungen im
Informatik-Studium erläutert.
Protokoll Typ schrieb:> Ja, es ist haufenweise Info Material im Netz, aber diese beschreiben die> Funktionsweise entweder sehr Oberflächlich
Du brauchst zwei Bücher:
a.) Computer Networks, Andrew S. Tanenbaum
b.) TCP/IP Illustrated Volume 1, W. Richard Stevens
Wenn du dich wirklich für eine Implementation interessierst, dann eben
noch Voume 2 von TCP/IP Illustrated.
Danach musst Du Dir noch ein paar Updates aus den RFCs und Infos zu IPv6
besorgen. Das sollte aber mit dem Grundlagenwissen aus den obigen beiden
Büchern kein Problem darstellen.
Danke erstmal.
Ich höre mir gerade die requestforcomments Reihe an und komme soweit gut
mit.
Wenn man die Funktionen der einzelnen 4 Layer ganz Oberflächlich mit
Pseudocode darstellen würde, wie würde das ungefähr aussehen?
Z.B. aus der Client Perspektive:
_
Application Layer (HTTP):
---------
Protokoll Typ schrieb:> Sebastian R. schrieb:>> Youtube-Video "Die Sendung mit der Maus - Wie funktioniert das>> Internet">> Ich war mir absolut sicher, dass irgend ein Schlaumeier dieses Video> hier reinstellen würde.> Hätte nur nicht gedacht, dass es so schnell gehen würde.> Wenn dein ganzes Wissen zum Thema Internet auf diese Video basiert, dann> bist du hier keine große Hilfe XD
He, danach weiß er immerhin mehr vom Internet als du, sonst hättest du
hier nicht gefragt.
Zu den bereits genannten guten Büchern noch ein paar mehr oder weniger
gute:
Für Erwachsene:
Comer: Interworking with TCP/IP. Volume I ... III.
Für Maus-Zuseher wie den Thread-Starter, die es nicht zugeben wollen:
Kozierok: TCP/IP Guide
Von der dunklen Seite der Macht (billig, markenverseucht):
CCNA Routing and Switching 200-125 Official Cert Guide Library
Marten Morten schrieb:> Kozierok: TCP/IP Guide
Das Buch ist nice, hatte da damals schon reingeschaut, aber da es über
1.500 Seiten sind und gefühlt die ersten 100 Seiten ums Vorwort und
Danksagungen etc. gilt, war mir die Lust vergangen.
Aber da du es schon ansprichst, lese ich mich noch mal rein.
Protokoll Typ schrieb:> war mir die Lust vergangen.
Das wird auch dieses mal so ein. Denn das zu verstehen, ist verdammt
viel Arbeit!
Ein Studienkollege von mir hat Monatelang recherchiert, probiert,
gelernt, gelesen, um erstmal die Basics zu verstehen. Bei einer
40-Stunden-Woche.
"Mal eben" ist das nicht. Da steckt so viel mehr dahinter, dass man
irgendwann an den Punkt kommen sollte, zu akzeptieren, dass man nicht
alles verstehen muss.
An diesem Punkt versteht man auch, dass es einem persönlich absolut
reicht, auf einem abstrahiertem Layer einzusteigen.
ERST DANN, wenn man feststellt, dass man damit nicht weiter kommt, fängt
man an, tiefer zu graben. ERST DANN.
Martin S. schrieb:> Protokoll Typ schrieb:>> war mir die Lust vergangen.>> Das wird auch dieses mal so ein. Denn das zu verstehen, ist verdammt> viel Arbeit!>> Ein Studienkollege von mir hat Monatelang recherchiert, probiert,> gelernt, gelesen, um erstmal die Basics zu verstehen. Bei einer> 40-Stunden-Woche.>> [...]> ERST DANN, wenn man feststellt, dass man damit nicht weiter kommt, fängt> man an, tiefer zu graben. ERST DANN.
Also das motiviert mich jetzt sehr. Ich habe einfach ständig das Gefühl,
dass es alle um mich herum begreifen, nur ich nicht :p
Protokoll Typ schrieb:> Ich habe einfach ständig das Gefühl, dass es alle um mich herum> begreifen, nur ich nicht
Sinnvoll wäre es, eine einfache HTTP-Verbindung (wichtig: kein HTTPS)
mal mit Wireshark mitzuverfolgen und dann die einzelnen Schichten zu
analysieren.
Die unterste Schicht lässt sich damit natürlich nicht darstellen (das
würde nur elektrisch auf dem Draht gehen), aber ab MAC aufwärts sieht
man die einzelnen Teile dort schon.
Jörg W. schrieb:> Protokoll Typ schrieb:>> Ich habe einfach ständig das Gefühl, dass es alle um mich herum>> begreifen, nur ich nicht>> Sinnvoll wäre es, eine einfache HTTP-Verbindung (wichtig: kein HTTPS)> mal mit Wireshark mitzuverfolgen und dann die einzelnen Schichten zu> analysieren.>> Die unterste Schicht lässt sich damit natürlich nicht darstellen (das> würde nur elektrisch auf dem Draht gehen), aber ab MAC aufwärts sieht> man die einzelnen Teile dort schon.
Bin gerade dabei mir die Tutorial Reihe anzuschauen:
https://www.youtube.com/playlist?list=PLCb8EhYsrW_uMGAomz_OtDkK7LYRfYm_u
:)
Marten Morten schrieb:> Für Erwachsene:>> Comer: Interworking with TCP/IP. Volume I ... III.
Jupp meine Bibel in rot aus den 90ern! :-)
Wurde wohl sogar immer mal wieder aktualisiert.
Ich fand das sehr gut zu lesen (und zu verstehen). Routingprotokolle
werden wimre nicht im Detail betrachtet, aber das ist auch erstmal nicht
notwendig im ersten Schritt.
Und Layer 2 Switching ist ja dann eh nochmal eine eigene Welt.
Ich würde zum experimentieren auch tatsächlich ein Linux (ggfs. als VM)
inklusive der gängigen Tools und Wireshark vorschlagen.
Zum Verstaendnis ist es noch viel hilfreicher, eine nicht
funktionierendes Netz/Netzwerkkonversation zu untersuchen,
und den Fehler zu finden.
Im uebrigen, um ein oben genanntes Vorurteil zumindest zu
relativieren, die Welt besteht durchaus nicht nur aus IP.
... schrieb:> Im uebrigen, um ein oben genanntes Vorurteil zumindest zu> relativieren, die Welt besteht durchaus nicht nur aus IP.
Stimmt, es gibt auch ICMP ;)
John Doe schrieb:> ... schrieb:>> Im uebrigen, um ein oben genanntes Vorurteil zumindest zu>> relativieren, die Welt besteht durchaus nicht nur aus IP.>> Stimmt, es gibt auch ICMP ;)
ICMP wird zwar als eigenständiges Protokoll auf der selben Ebene wie IP
behandelt, tatsächlich baut es aber auf IP auf (enthält einen IP
header.).
Besseres Beispiele wäre z.B. ARP oder STP gewesen.