Routing Mini-Handbuch
Dieses Dokument beschreibt das Routing in kleinen IPv4-Netzen in seiner einfachen Anwendung.
Einleitung
Die Einrichtung eines Auswahlservers oder eines Gateways oder auch nur die Tatsache, daß man zwei Netzwerkkarten im Rechner stecken hat, erfordert das Verständnis von Routing, Internet Protocol Adressen, kurz IPs und Netzmasken.
Dieses Dokument beschreibt das Routing in kleinen IPv4-Netzen in seiner einfachen Anwendung. Für besseres Verständnis ist Erfahrung beim Rechnen im Binärsystem hilfreich. Ein Taschenrechner, der dezimale und binäre Zahlen ineinander umwandeln kann, tut's wahrscheinlich auch.
Das dynamische Routing, z.B. das Hostrouting und seine Anwendung werden hier nicht betrachtet.
Überblick
IPv4
Das Format einer IPv4-Adresse ist eine 32-bit numerische Adresse, aufgeteilt auf 4 Zahlen, die durch Punkte getrennt werden. Jede dieser Zahlen kann Werte von 0 bis 255 annehmen.
In der Folge nenne ich so eine Zahl Byte.
Beispiel:
195.20.229.151 + | | | | + | | | Byte4 + | | Byte3 + | Byte2 +Byte1
Obige IP ist die IP, auf die der Uniform Resource Locator, URL, www.pro-linux.de aufgelöst wird. Es handelt sich hierbei um eine statische IP, die öffentlich ist.
Statisch deswegen, weil sie z.B. vom Internet Service Provider, dem ISP, dem URL www.pro-linux.de fest zugeordnet ist.
Öffentlich deswegen, weil diese IP im Internet geroutet wird.
Eine andere IP:
192.168.0.1
Diese IP ist eine private IP, die nicht öffentlich ist. Es gibt z.B. keine Webseite im Internet, die diese IP hat, weil so eine IP nicht im Internet geroutet wird. Solche IPs finden Verwendung in kleinen, privaten Netzwerken, Local Area Network, LANs.
Eine dynamische IP ist eine IP, die einem Auswahlsystem vom Internet Service Provider temporär zugewiesen wird. Dynamische IPs sind IPs, die dem Kunden zeitweise zur Verfügung gestellt werden, sind also öffentlich und werden im Internet geroutet. Eine dynamische IP ist also im Grunde nur ein Spezialfall einer statischen IP bezüglich ihrer Anwendung.
Die Klassen der Netze werden bezüglich ihrer Netzmasken unterschieden, siehe die Erläuterung unterhalb der Tabellen.
Class A | 0.x.x.x - 127.x.x.x |
Class B | 128.0.x.x - 191.255.x.x |
Class C | 192.0.0.x - 223.255.255.x |
Class D | 224.0.0.0 - 239.255.255.255 (Multicast) |
Class E | 240.0.0.0 - 255.255.255.255 (Experimentell, Erweiterungen) |
Class A | 10.0.0.0 - 10.255.255.255 (1 Class-A-Netz, ca. 16 Mio. Adressen) |
Class B | 172.16.0.0 - 172.31.255.255 (16 Class-B-Netze, 16 x 65534 = ca. 1 Mio. Adressen) |
Class C | 192.168.0.0 - 192.168.255.255 (254 Class-C-Adressen, 254 x 255 = ca. 65.000 Adressen) |
Netzmasken
Für das Routing sind Netzmasken nötig. Netzmasken sind Schablonen, mittels derer man IPs nur teilweise zur Entscheidungsfindung betrachtet:
192.168.0.1/255.255.255.0
betrachtet nur die ersten drei Bytes.
Netzmasken sind Bitmasken, d.h. sie maskieren die IP bitweise. Die Notation von IPs und Netzmasken erfolgt in dezimaler Schreibweise. Das rechnerische Ergebnis einer Netzmaske auf eine IP wird durch ein AND in binärer Schreibweise errechnet. Eine AND-Rechnung mit zwei Bits liefert 1, wenn beide Bits 1 sind.
dezimal | binär | Kurzschreibweise | |
---|---|---|---|
IP Bsp. 1 | 192.168.0.1 | 11000000.10101000.00000000.00000001 | |
Netzmaske Bsp. 1 | 255.255.255.0 | 11111111.11111111.11111111.00000000 | 24 |
AND Ergebnis 1 | 192.168.0.0 | 11000000.10101000.00000000.00000000 | |
IP Bsp. 2 | 192.168.0.1 | 11000000.10101000.00000000.00000001 | |
Netzmaske Bsp. 2 | 255.255.255.240 | 11111111.11111111.11111111.11110000 | 28 |
AND Ergebnis 2 | 192.168.0.0 | 11000000.10101000.00000000.00000000 |
Beim Routing wird natürlich mit zu vergleichender IP, dem Netz und seiner Netzmaske gerechnet. Obige Darstellung dient dem Verständnis, und ist natürlich nicht das, was der Kernel berechnet.
Die Netzmaske 255.255.255.0 läßt also alle IPs durch, die mit den ersten drei Bytes von 192.168.0.0 übereinstimmen.
So können insgesamt 255 IPs, von denen 254 Host-IPs sind, maskiert werden, denn das vierte Byte kann Werte von 0 bis 255 haben, wobei ein Host am Ende keine 0 oder 255 haben darf.
Subnetze
An der Netzmaske 255.255.255.240 können wir sehen, dass die "Grenzen" der Netzmaske nicht den Punkten zwischen den Bytes zugeordnet sind, es gibt nämlich gar keine. In Beispiel 2 befindet sich die IP 192.168.0.1 innerhalb der Netzmaske und wird geroutet, IPs ab 192.168.0.16 und oberhalb nicht mehr. Das Setzen von Netzmasken innerhalb der Bytes wird als Subnetting bezeichnet.
Die zwei IPs, die keinem Host zugeordnet werden können, errechnen sich aus dem Netz in Abhängigkeit zu seiner Netzmaske. Eine IP identifiziert das Netz, eine andere IP kennzeichnet Broadcasts. Befindet sich im Netzwerk ein Router, kann ihm natürlich eine beliebige Host-IP zugeordnet werden. Üblich ist, die nächste IP nach der Netzwerk-IP zu verwenden. Für das Netz 192.168.0.0/255.255.255.0 wäre das 192.168.0.1.
Ein Broadcast ist das Senden von Paketen in das gesamte Subnetz und erreicht alle darin befindlichen Rechner. Die für ifconfig anzugebende Broadcast-Adresse ergibt sich aus dem Netz, wobei die binären Nullen des Netzes am rechten Ende invertiert werden, wo die Netzmaske in ihrem analogen Byte binäre Nullen hat.
In Beispiel 1 ist die Broadcast-Adresse 192.168.0.255, im zweiten Beispiel 192.168.0.15.
Das Netz ergibt sich ähnlich, jedoch werden hier die Nullen rechts nicht invertiert. In Beispiel 1 ist das Netz 192.168.0.0, in Beispiel 2 auch. Das scheint verwirrend, jedoch wird klar, daß hier kein Fehler vorliegt, da das nächste Netz in Beispiel 1 192.168.1.0/255.255.255.0 ist und in Beispiel 2 192.168.0.16/255.255.255.240. In der Bitschreibweise läßt sich das leicht nachvollziehen. Probieren Sie es aus!
Natürlich können Sie für zwei NICs, die beide das Netz 192.168.0.0 haben, kein unterschiedliches Netzrouting und Subnetting in einem Netz gleichzeitig betreiben, denn die IPs dürfen sich nicht überschneiden. Sie müssen sich für das Netzrouting oder das Subnetting in einem Netz entscheiden. Ausserdem dürfen Sie einem Host sowieso keine zwei oder mehr IPs aus dem gleichen Subnetz geben, warum, sehen wir später.