Henryk Plötz: Netzwerk - TCP/IP

Beitrag lesen

Moin,

Man nennt das die "Regel des ersten Quartetts". Für den Computer (die Netzwerkkomponenten) gibt es keine Dezimalschreibweise in vier Oktetten, sondern nur eine 32 Bit lange Dualzahl. Was ihre Bits nun bedeuten, ist eben implizit durch die ersten vier Bits signiert.

Das ist etwas zu vereinfacht. Eigentlich war der Teil der die Klasse angegeben hat, nämlich unterschiedlich lang:
Höherwertigste Bits    Klasse
 0                        A
 10                       B
 110                      C
 1110                     D (multicast)
 1111                     E (experimentell)

Bei der Subnetzmaske handelt es sich, wie der Name schon sagt, um eine Maske, die schön sauber von links nach rechts mit Bits aufgefüllt werden muss. Es darf kein Bit innerhalb der Maske auf Null stehen. Stell sie Die sicherheitshalber wie einen Schieber vor. Der darf auch nicht mittendrin unterbrochen sein.

Interessant, hast du vielleicht einen Literatur-Verweis dazu? Mir war das so bisher nicht bekannt. Lediglich dass diese Einschränkung durch die Verwendung von CIDR-Masken (also bloss die Angabe der Anzahl von 1-Bits) kommt, ist mir klar. Ich würde aber meinen, dass du durchaus beliebige Masken verwenden kannst, solange du alle beteiligten Systeme unter Angabe der vollständigen Maske darüber informierst. (Und gegebenenfalls kaputte Software raushältst, die nicht glauben will, dass *.255 oder *.0 durchaus eine gültige Addresse sein kann.)

Man braucht die Klassen, um das hierarchische System zu codieren. Wie sollte der Router sonst wissen, welches das nächst höherwertige Netz ist. Stell Dir das wie einen Baum vor.

Wieso sollte er das wissen wollen? Jedes System (oder kleinerer Router) muss nur wissen welches seine Default-Route ist, und die kann durchaus beliebig sein (solange er sie erreichen kann). Dann braucht er noch eine Route für jedes angeschlossene Netz und alles wird gut. Backbone-Router haben dann natürlich noch eine umfangreichere Routingtabelle, aber damit wird man bestenfalls als Mitarbeiter eines ISP in Berührung kommen.

Als erstes wird der Router prüfen, ob die IP zum selben Netzsegment (Netzwerkanteil der Empfänger-IP ist identisch mit dem der Absender-IP) gehört. Wenn ja, wird er das Packet gar nicht weiterverarbeiten. Wenn nicht, dann prüft er vielleicht, über welche Leitung (wenn es ein Multiport-Router ist) er das Packet nun schicken muss. Wenn er es nicht weiß, wird er einen Broadcast an alle übergeordneten Netze absetzen (ICMP) und fragen, ob jemand den Weg kennt. Es macht für den Router keinen Sinn, die kleineren Netze zu befragen.

Das ist für mich verwirrend beschrieben. Der Router nimmt doch einfach bloss das Paket an, schaut dann in seine Routingtabelle, um zu sehen ob eine Route darauf passt und schickt das Paket gegebenenfalls über diese Route weiter. Wenn keine Route passt, schickt er es über seine Default-Route raus (in der Regel ein Router beim ISP), dort wird man schon wissen, wie mit dem Paket weiter zu verfahren ist.

Grade wird mir auch klar, was du mit dem Baum gemeint hast: Kleinere Netze (weniger 0-Bits in der Netzmaske) werden in der Regel als Teile von größeren Netzen verwaltet. Im globalen Routing muss dann nur eine Route auf das größere Netz bekannt gemacht werden, der Router dort kennt sein Netz genauer, hat selber Routingtabelleneinträge auf die kleineren Netze und kann damit das Paket richtig weiterleiten. Das funktioniert also ähnlich wie DNS: Ich kenne jemanden, der jemanden kennt, der jemanden kennt, der weiss wohin das Paket soll.

--
Henryk Plötz
Grüße aus Berlin