Die Rolle der IP-Schicht ist es also, herauszufinden, wie Pakete zu ihrem Ziel geroutet werden. Um das moeglich zu machen, benoetigt jede Schnittstelle im Netzwerk eine IP-Adresse. Eine IP-Adresse besteht aus vier Nummern, die durch einen Punkt getrennt werden, wie z.B. '167.216.245.249'. Jede Nummer liegt zwischen 0 und 255.
Schnittstellen im gleichen Netzwerk haben meistens benachbarte IP-Adressen. Zum Beispiel sitzt '167.216.245.250' rechts neben dem Rechner mit der IP-Adresse '167.216.245.249'. Denke auch daran, dass ein Router ein Knoten mit Schnittstellen zu mehr als einem Netzwerk ist, der Router hat also eine IP-Adresse fuer jedes Netzwerk.
Die IP-Schicht des Linux Kernels beinhaltet eine Tabelle von verschiedenen `Routen', die beschreiben, wie man unterschiedliche Gruppen von IP-Adressen erreicht. Die einfachste von diesen heisst 'Default Route': Wenn es die IP-Schicht nicht besser weiss, wird es das Paket ueber die Default Route schicken. Du kannst eine Liste der Routen mit '/sbin/route' sehen.
Routen zeigen entweder auf einen Link oder auf einen bestimmten Knoten, welcher mit einem Netzwerk verbunden ist. Zum Beispiel wird die Default Route, wenn Du Dich bei Deinem Internetanbieter einwaehlst, auf den Modem-Link zeigen, weil das der Weg in die Welt ist:
Rustys ISP's ~~~~~~~~
Modem Modem { }
o------------------o { Das Netz }
{ }
~~~~~~~~
Wenn Du aber eine Maschine in Deinem Netzwerk hast, die permanent mit der Aussenwelt verbunden ist, ist es ein bisschen komplizierter. In dem Diagramm weiter unten kann meine Maschine direkt mit der von Tridge und der von Paul sprechen, und zu der Firewall, meine Maschine muss aber auch wissen, dass Pakete an den Rest der Welt an die Firewall geschickt werden muessen, welche diese dann weiterleitet. Das bedeutet, dass Du zwei Routen hast: Eine, die sagt 'Wenn es mein eigenes Netzwerk ist, schick es direkt dorthin' und dann die Default Route, welche sagt 'Andernfalls, schick die Pakete an die Firewall'.
o Tridges
| Maschine ~~~~~~~~
Rustys | { }
Maschine o-----------+-----------------o--{ Das Netz }
| Firewall { }
| ~~~~~~~~
o Pauls
Maschine
Da ist noch ein letztes Detail: Es gibt eine Standard-Notation fuer IP-Adressen, manchmal auch `Netzwerkadresse' genannt. So wie man eine Telefonnummer in Vorwahl und Rest aufteilen kann, koenne wir auch eine IP-Adress in Netzwerkteil und Rest aufteilen.
Es kommt vor, dass Leute ueber 'das 1.2.3 Netzwerk' sprechen, und sie meinen damit alle 256 Adressen von 1.2.3.0 bis 1.2.3.255. Oder, wenn dieses Netzwerk nicht gross genug sein sollte, koennten sie auch ueber das '1.2 Netzwerk' sprechen, was alle Adressen von 1.2.0.0 bis 1.2.255.255 beinhaltet.
Wir schreiben gewoehnlich nicht '1.2.0.0 - 1.2.255.255'. Stattdessen kuerzen wir ab auf '1.2.0.0/16'. Diese komische '/16'-Schreibweise (sie wird Netzmaske genannt) verlangt ein bisschen Erklaerung.
Jede Nummer zwischen den Punkten einer IP-Adresse besteht aus 8 Binaer- ziffern (00000000 bis 11111111): Wir schreiben sie in dezimaler Form, damit wir sie uns besser merken koennen. Die '/16' bedeutet, dass die ersten 16 Binaerziffern die Netzwerkadresse sind. Der '1.2'-Teil, mit anderen Worten, ist also das Netzwerk (Denk dran: Jeder Teil der IP-Adresse besteht aus 8 Binaerziffern). Jede IP-Adresse, die mit '1.2.' anfaengt, ist also Teil des Netzwerks: '1.2.3.4' und '1.2.3.55' gehoeren dazu, `1.3.1.1' nicht.
Um uns das Leben leichter zu machen, verwenden wir gewoehnlich Netzwerke mit den Masken '/8', '/16' oder '/24'. Zum Beispiel ist '10.0.0.0/8' ein grosses Netzwerk, das die Adressen von 10.0.0.0 bis 10.255.255.255 (ueber 16 Millionen!) enthaelt. 10.0.0.0/16 ist kleiner und enthaelt Adressen von 10.0.0.0 bis 10.0.255.255. 10.0.0.0/24 ist noch kleiner, mit Adressen von 10.0.0.0 bist 10.0.0.255.
Um die Dinge verwirrend zu machen, gibt es noch einen anderen Weg, um die Netzwerkmasken zu notieren. Wir koennen sie wie IP-Adressen schreiben:
10.0.0.0/255.0.0.0
Schliesslich ist es noch wert zu sagen, dass die allerhoechste IP-Adresse eines Netzwerks als 'Broadcast Adresse' reserviert ist, welche verwendet werden kann, um eine Nachricht an jeden im Netzwerk gleichzeitig zu senden.
Hier ist eine Tabelle mit Netzmasken:
Kurz Lang Maximum Kommentar
Form Form #Maschinen
/255.0.0.0 16,777,215 Frueher 'A-Klasse' genannt.
/16 /255.255.0.0 65,535 Frueher 'B-Klasse' genannt.
/17 /255.255.128.0 32,767
/18 /255.255.192.0 16,383
/19 /255.255.224.0 8,191
/20 /255.255.240.0 4,095
/21 /255.255.248.0 2,047
/22 /255.255.252.0 1,023
/23 /255.255.254.0 511
/24 /255.255.255.0 255 Frueher 'C-Klasse' genannt.
/25 /255.255.255.128 127
/26 /255.255.255.192 63
/27 /255.255.255.224 31
/28 /255.255.255.240 15
/29 /255.255.255.248 7
/30 /255.255.255.252 3