Montag, 25. Juli 2011

Wozu IP so gut ist..

IP-Adresse

In [1] und [2] hab ich erklärt, watt nen LAN bzw. nen WAN ist: Geräte darin können mit einander "sprechen". Allerdings erst, wenn jemand den Dingern beigebracht hat, wie den deren Adressen sind. Ihr erinnert euch noch an dieses Pysical und Datalink-Layer (OSI) bzw. der Data Link Layer(TCP/IP) Zeuch?


In diesen Computern stecken irgendwo Zahlen drin. Die habe die Hersteller da rein gemacht. Immer wenn ein Computer mit einem anderen spricht, fängt es so an: "Tach! Ich bin E8:9A:8F:OD:6A:1E. Folgendes ist für E8:9A:8F:1A:7C:2A bestimmt: Bla, Bla, Bla, Bla, ... Alles klar? Ende!". Da ist also ein Vorwort, das was gesagt wird und ein Nachwort. Der Inhalt hat einen Rahmen bekommen.

Was das soll? E8:9A:8F:OD:6A:1E ist eine Zahl. Bisschen verkürzt erklärt: E8 ist hexadezimal. E ist 14 und 8 ist 8 und weil da E8 steht, kommt 14 * 16 + 8 = 232. Häh? Ja genau wie bei 23 dezimal: 2 ist 2 und 3 ist 3 und weil da 23 steht kommt 2 * 10 + 3 = 23 raus. Alles klar? Egal, ist so wieso nur nen Umweg: Eigentlich sacht der Computer, weil er ja nur Strom An/Aus sagen kann: 11101000. Danach die anderen Zahlen: 9A, 8F, usw. Kann sich alles kein Mensch merken. Ich meine diese Zahlen. Und die Hersteller von dem Zeuch nehmen auch keine Rücksicht darauf, wie das bei dir zuhause aussieht und pömpeln immer irgendwelche Nummer rein (ok, hat schon irgendwie ein Schema... Schau doch einfach bei Wikipedia rein: MAC-Adresse). Also irgendwelche Zahlen? Da muss man doch irgendwie Ordnung hinein bekommen können? Und irgendwie hat der Laptop so eine WLAN-Karte ohne(!) Kabel. Wie spricht denn jetzt der Laptop mit dem Drucker, der im DSL-Router steckt? 

Geben wir doch den Computern noch andere Nummern. Dann können wir die Nummern so organisieren, dass Computer die in meinem Keller stehen, andere haben, als die beim meinem Kumpel auf dem Dachboden.

Wenn die Computer es dann noch hinbekommen, ihre eigenen Nummer, und die von uns vergebenen irgendwie voreinander zu bringen, kommt vielleicht ja was nützliches bei rum: Der Laptop von oben schickt seine Nachrichten an den DSL-Router, für irgendwas hat der sicher diese Antenne, und der schickt sie weiter an den Drucker, weil die beiden sind ja mit einem Kabel verbunden... Zum Beispiel. (So nen Router hat immer mehrer Schnittstellen. Mit Kabeln und Luft und so. Wenn nicht, ist es kein Router...)

Wenn der Laptop drucken will denkt er sich "Ich bin 10.0.0.2. Folgendes ist für 10.0.1.3 bestimmt: Bla, Bla, Bla, Bla, ... ". Und weil er nicht weiß, wie er mit 10.0.1.3 erreicht, aber wie er 10.0.0.1 erreicht (das die Antenne!!!) packt der sein Gequatsche halt so wie oben ein: "Tach! Ich bin E8:9A:8F:OD:6A:1E. Folgendes ist für E8:9A:8F:1A:7C:2A (die Antenne...) bestimmt: Ich bin 10.0.0.2. Folgendes ist für 10.0.1.3 bestimmt: Bla, Bla, Bla, Bla, ...  Alles klar? Ende!".

Dann haben wir auch schon ein Layer 3 Paket ("Ich bin 10.0.0.2. Folgendes ist für 10.0.1.3 bestimmt: Bla, Bla, Bla, Bla, ...") in einen Layer 2 Rahmen eingepackt. Prima. Fertig! Häh? Ein Schichtchen mehr.

Äh, Moment! Woher weiß der Laptop, dass er 10.0.0.1 erreichen kann, 10.0.1.3 aber nicht? Liegt auch an den IP-Adressen. Die bestehen aus einer Netz-Adresse (alle Geräte, die direkt miteinander sprechen können) und einer Geräte Adresse. Die vollständige Adresse vom Laptop ist nämlich Netznummer 10.0.0 und Gerätenummer 1. Der Laptop weiß halt, dass er alles was mit 10.0.0 anfängt direkt erreichen kann, und wo was anderes steht, weiß er halt, dass er das an die Antenne von DSL-Ding schicken muss. Irgendwas mit subnetting. Musse mal eine Internetrecherche machen!

Und noch cooler! Der Laptop kannte diese  E8:9A:8F:1A:7C:2A von der Antenne doch überhaupt nicht. Gemogelt? Nö!!!

Der Laptop hat einfach einen Rundbrief an alle geschrieben: "Tach! Ich bin E8:9A:8F:OD:6A:1E und 10.0.0.2 bin ich auch. Sach mal einer, wer 10.0.0.1 ist!". Darauf dann die Antenne: "Tach! Die 10.0.0.1 ist E8:9A:8F:1A:7C:2A!". Das nennt man dann ARP. Gebt einfach mal "arp -a" in so ein cmd-Ding ein.

Und noch cooler! Diese IP-Futzies haben sich was ausgedacht, dass diese Router von einander lernen können. Die wissen dann nicht nur, wo 10.0.0 und 10.0.1 ist, sondern auch der ganze Rest! Heißt Routing-Protokoll. Die Roter haben dann tatsächlich so eine riesige Tabelle. In der steht über welches Kabel oder Antenne (oder ...) welche Adresse zu erreichen ist. Die Router geben dat Päckchen einfach immer an den nächsten weiter... und deswegen heißt der Router auch so: der gibt den Päckchen die Maschroute an.

Und noch cooler! Damit man sich nicht die 10.0.1.3 merken muss, haben die das DNS erfunden! Da fragt man dann einen anderen Computer: "Hey! Hab hier den Namen drucker. Was hat der denn für ne IP-Adresse?". Und woher weiß man, wer dieser Computer der die IP-Adressen kennt, ist? Über IP-Adresse, nä! Sagt man dem Computer halt. Oder so:

Mit diesem DHCP sagt man dem Computer: Du bist dumm! Frage einfach jemanden, der sich auskennt! Dann brüllt der Computer über alle Kabel raus: "Ich bin nicht dumm! Sag mir jetzt gefälligst einer meine IP-Adresse, die IP-Adresse des Routers den ich benutzen soll wenn ich mit anderen sprechen will, und die IP-Adresse von den DNS". Und wenn das nicht klappt, hast du eine "eingeschränkte" Internetverbindung. Freundlich ausgedrückt...

Also: am Ende gibt es diese IP-Adressen nur, damit was schwieriges durch Hinzugabe von was schwierigen am Ende wieder einfacher sein soll. Ich finde irgendwie, das hat geklappt. Schlaft mal drüber!

Uff. Und alles ohne Bilder. Ich glaub ich hab diesmal zu viel weg gelassen. Mist! 

So. Beim nächsten Mal gibt es dann TCP und UDP...

Keine Kommentare:

Kommentar veröffentlichen