Forum: PC Hard- und Software [Internet Protokoll Stack Grundlagen] Ich verstehe es einfach nicht


von Protokoll Typ (Gast)


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?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von Protokoll Typ (Gast)


Lesenswert?

Jörg W. schrieb:
> Nimm dir irgendein (viel) einfacheres Protokoll

Ok danke

von Sebastian R. (sebastian_r569)


Lesenswert?


von Protokoll Typ (Gast)


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

von Dr. Sommer (Gast)


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.

von Stefan P. (form)


Lesenswert?


von boschi (Gast)


Lesenswert?

TCP/IP Illustrated Vol. 2
ISBN bin ich zu faul zu suchen.

von Interessierter (Gast)


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.

von Protokoll Typ (Gast)


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?):
---------

_

von Marten Morten (Gast)


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

von Protokoll Typ (Gast)


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.

von Martin S. (sirnails)


Lesenswert?

Das war haarscharf. Fast wäre die Frage in die Kiste mit "Ich möchte ein 
eigenes Betriebssystem programmieren" gefallen.

von Dr. Sommer (Gast)


Lesenswert?

Martin S. schrieb:
> Ich möchte ein
> eigenes Betriebssystem programmieren"

Früher(tm) ein durchaus legitimes Anliegen. Heute heißt es "nimm 
Linux"...

von Martin S. (sirnails)


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.

von Protokoll Typ (Gast)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von Protokoll Typ (Gast)


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
:)

von Markus M. (adrock)


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.

von ... (Gast)


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.

von John Doe (Gast)


Lesenswert?

... schrieb:
> Im uebrigen, um ein oben genanntes Vorurteil zumindest zu
> relativieren, die Welt besteht durchaus nicht nur aus IP.

Stimmt, es gibt auch ICMP ;)

von DPA (Gast)


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.

von ich (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.