[Internet Protokoll Stack Grundlagen] Ich verstehe es einfach nicht

Gast #5975163
Lesenswert?

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?
Moderator Persönliche Seite #5975168
Lesenswert?

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.
Gast #5975201
Lesenswert?

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
Gast #5975215
Lesenswert?

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.
Gast #5975421
Lesenswert?

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.
Gast #5975449
Lesenswert?

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):
---------
1
//Folgendes soll gesendet werden
2
const char* msg = "Hello Server"
3
DWORD serverAddr = SOME_SERVER_IP_ADDRESS
4
tcpProcess(serverAddr, msg)
_
Transport Layer (TCP):
---------
1
void tcpProcess(DWORD serverAddr, const char* msg){
2
//weiter weiß ich nicht
3
}
_
Internet Layer (IP):
---------

_
Network Access Layer (Ethernet?):
---------

_
Gast #5975533
Lesenswert?

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
Gast #5975864
Lesenswert?

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.
#5975880
Lesenswert?

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.
Gast #5975929
Lesenswert?

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
Moderator Persönliche Seite #5975938
Lesenswert?

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.
Gast #5975982
Lesenswert?

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
:)
#5976014
Lesenswert?

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.
Gast #5976046
Lesenswert?

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.
Gast #5976292
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren