Donnerstag, 25. August 2011

Und warum das TCP so cool ist

Und noch eine Stufe höher ins OSI

Auf der Ebene Zwei (datalink) werden Fehler erkannt. Die Pakete werden dann aber einfach nur nicht weitergeleitet. So geht es nicht! Da könnte ja jeder kommen.

Auf Ebene Drei (network) kümmert sich auch keiner um Leitung ein bisschen kapput, bisschen zu voll oder “kein Anschluss unter dieser Nummer”. Ja, hallo? Seit wann leben wir in einer perfekten Welt?

Unser TCP/IP hat da was im Angebot. Das eine heißt TCP und das andere UDP. Das kann tolle Sachen! Und das ist dann mal unsere Schicht Vier (transport)..


Also. Watt kann denn das TCP? Das kann machen, dass ganz viele gleichzeitig bei Youtube Video gucken, und du mit meheren Kumpels skypen kannst. Wenn wir nämlich (ohne h! Mit h wäre dämlich!) nur dieses IP-Ding hätten, dann wüsste Youtube ja nicht, dass du und deine Schwester gleichzeitig jeweils ein Video schauen, denn ihr beide habt, von Youtube aus gesehen, die gleiche IP-Adresse. Schuld ist da euer DSL-Router. Der verschleiert euch nämlich ein bisschen, weil diese Leute wo ihr das DSL gekauft habt geizig mit den IP-Adressen sind und euch, eigentlich dem DSL-Teil, nur eine IP-Adresse geliehen haben. Und bei chatten, liegt es ähnlich, nicht?

Jetzt kommt das Ding mit den Socken, dem TCP und dem UDP: In dem IP-Paket tun wir jetzt nicht nur die IP-Adressen rein (quelle, ziel), sondern noch was mehr an Information, nämlich, Achtung hier kommt was mit TCP (oder was mit UDP) und irgentwelche Port-Nummern. Was ist dat?
Haben sich die Erfinder ausgedacht: Wenn ich was von einem Mail-Server will, dann gibt’s da immer bestimmte bekannte Stockwerke im Haus wo ich den Postkasten finde: im Hausflur im Erdgeschoss. Die Gäste-Toilette ist immer rechts oder links von der Wohnungstür. Der Kühlschrank steht in der Küche. Und deswegen läuft mail (smtp. Was das ist findste bei Wikipedia) auf Port 25, der Webserver läuft auf Port 80, und so weiter. Mehr Ports, und was da gewöhnlich läuft, findest du hier: http://www.iana.org/assignments/port-numbers ...

Wieso gewöhnlich? Ich hab auch nen Kühlschrank auf der Terasse. Braucht ma im Sommer, wenn man nicht so weit laufen will: Immer kühles Wasser. Wenn du eine coole Socke bist, dann lässt du deinen Webserver auf Port 14711 laufen. Da findet sich zwar keiner so schnell, aber irgendwas ist ja immer.

Und watt noch? Da kommen noch so ein paar Nummern rein, damit man Fehler auch beheben kann. Fehler? A schickt 1000 Byte, und B antwortet: jupp, hab alles bis 1000 Byte bekommen. A schickt drei mal 1000 Byte an B, datt zwote Paket geht aber verloren. B sacht dann: Alter! Paket Zwei fehlt! A schickt das zweite Paket nochmal. B sacht dann: das dritte Paket hab ich schon! Schick mal das vierte! Heißt auf energisch “Error Recovery”. Ey! Und Fehler passieren immer. Iss so.

Watt noch? Mit den Nummern kann man auch sagen: mach mal langsamer. A schickt Zeuch an B. B sacht, super, hab ich, kannst mir gerne mehrere hintereinander (sagen wir mal fünf?) schicken. Muss nicht immer warten! A schickt jetzt stumpf fünf mal Zeuch und wartet dann ab, bis B sacht: hab fünf! Super gelaufen! Jetzt schick einfach mal zehn. Das geht so lange gut, bis der B sacht, A soll mal langsamer machen. Muss mal nach TCP Windowing suchen...

Ausgabe von "netstat -t" im Windows Cmd
Watt noch? Hier: Verbindungsaufbau und so... Die Nummern von oben erstmal aushandeln und bescheid geben, dass man quatschen will: A so: Tach B! Will gerne mit dir WWW (80) machen. Erreichst mich unter 1030! B so: Alter! Hab dich. 1030 ist richtig? A so: Jupp! Läuft! Und das ganze gibt es mit “Jetzt ist aber Schluss!” auch noch. Mehr Details? Such nach TCP Connection Termination. 

Watt noch? Weisse noch, dass diese Paket im Kabel nicht immer die gleiche Größe haben müssen und nicht beliebig großßßßß sein können? Also ich hab das in dieser Reihe noch nicht erwähnt. Ts Ts Ts. Also, auf jeden Fall: Wär ja schlimm wenn du deinem Lieblingslehrer Fotos aus dem Urlaub schicken wolltest und die Mail dürfte nicht beliebig lang sein. Deswegen kann das TCP das ganze Ding in viele kleine Pakete zerschneiden und die nacheinander verschicken. Und wenn alles sauber programmiert ist, dann müssen die nicht mal in der richtigen Reihenfolge ankommen.

Cool mit dem TCP, wa? Und weil das alle finden, haben die das ganze Ding nicht einfach IP, sondern gleich TCP/IP genannt.

Aber manchmal ist das mit dem TCP auch ein bisschen übertrieben und deswegen haben die da auch noch das UDP erfunden. Das kann nur das mit den Ports. Und weil A und B nicht die ganze Zeit “Hab ich, hab ich, nächste...” über den Teich rufen müssen, geht das ganze schneller. Und ganz ehrlich: dieses telefonieren über das Internet macht in UDP. Wenn da mal ein Paket unterwegs verloren geht, knackt es mal in der Leitung. Das nachträglich nochmal zu schicken, macht aber keinen Sinn...

Und dann noch was wichtiges: weil es dieses TCP und UDP mit seinen Port-Nummern gibt, kann man so tolle Sachen machen wie “Video muss schnell, Mail kann auch mal eine Sekunde warten!”. Nennt sich QoS. Wahrscheinlich die Abkürzung für Quality of Service. Und dann noch dieses Ding mit der Sicherheit: An meinen Rechner lasse ich nur Mail und WWW. Diese Firewalls (kennste doch, oder?) lassen dann nur die richtigen Pakete rein. Schauen sich halt nebenbei alles mit an: hat es da mal einen Verbindungsaufbau gegeben, darf der überhaupt WWW, und so weiter. Geht alles nur wegen den Port-Nummern im TCP und UDP. Wahnsinn!

So das wars erstmal mit diesem Teil der Theorie. Du weißt jetzt, was passiert, wenn du im Browser paulinsche.dreiischen.de eingibst:

  • Dein Rechner fragt einen Nameserver, was das Ding für eine IP hat. Dafür schickt der ein UDP-Paket an den UDP-Port vom Nameserver, knallt die passenden IP-Addressen davor, und davor noch die MAC-Adressen von diesem Ethernet-Zeuch. Der antwortet. Wenn nicht, fragt dein Rechner einfach nochmal nach.
  • Dein Rechner fragt freundlich eine Verbindung auf der genannte IP-Adresse auf Port 80 an und erwartet eine Antwort auf einem mitgeteilten Port.
  • Der Server stimmt zu, und schickt deinem Browser eine, meist mehrere Dateien, wegen Bildern und so, und der macht dann, dass es Spaß macht.
  • Dann sacht dein Rechner: Danke und aus!

Das war’s. Ab ungefähr hier wird es nur noch irgendwie spezieller... Bis die Tage...

Keine Kommentare:

Kommentar veröffentlichen