8  IPv4 und Subnetze

Im folgenden die wichtigsten Punkte zur IP-Adresse zusammengefasst.

9 IPv4

Das Internet Protocol IPv4 ist im RFC 791 definiert und besteht aus 4 Oktett (Bytes), was pro Oktett einem Wertebereich von 0..255 entspricht. Daraus entstehen rund ~4,3 Milliarden Adressen,was in Bezug zur weltweiten Bevölkerung, nicht gerade üppig ist. Dies war auch der Auslöser für Technologien wie NAT und neuen Adressen wie IPv6.

IP ist eine hierarchische Adresse und arbeitet auf OSI Layer 3. Das bedeutet, dass im Gegensatz zu MAC, auch Informationen wie Netzgrösse, Netzbereiche und auch Broadcast-Adressen beinhaltet sind. Damit diese Information aber hergeleitet werden kann, wird die IP immer durch die Subnetzmaske begleitet.

9.1 Netzadresse, Host- und Broadcastadressen

Die Netzadresse identifiziert ein Subnetz. Damit können Router das weiterleiten von Paketen entscheiden, Firewall regeln setzen oder Teilnehmer können herausfinden, ob ein Ziel im selben Subnetz ist. Hergeleitet wird die Netzadresse über die eigene IP-Adresse und Subnetzmaske.

Die Subnetzmaske definiert, wie viele Bits der IP-Adresse zur Netzadresse gehören. Dies wird durch binäre 1en von Links nach Rechts angegeben.

Beispiel: 255.255.255.0 –> 1111_1111.1111_1111.1111_1111.0000_0000

Das bedeutet, dass die ersten 3 Bytes die Netzadresse beschreiben und das verbleibende Byte für Adressen im Netz genutzt wird. Die Angabe der Subnetzmaske ist sehr mühsam, wesshalb dafür oft die CIDR Notation genutzt wird (Classless Interdomain Routing). Früher gab es fixe Subnetzgrösse, CIDR rührt davon, dass man die Grösse der Subnetzmaske frei wählen möchte. Somit wird hinter der IP nur noch mittels /Bits angegeben, wie viele Bits der IP-Adresse die Subnetzmaske sind.

Beispiel:
255.255.255.0 –> / 24 (Weil die ersten 24 Bits von Links 1 sind).

Für die Herleitung wird die Teilnehmeradresse mit der Subnetzmaske bitweise AND Verknüpft, wie in nachfolgender Tabelle zu erkennen ist:

Art Adresse Binär
IP 192.168.10.5 1100_0000.1010_1000.0000_1010.0000_0101
SM 255.255.255.0 1111_1111.1111_1111.1111_1111.0000_0000
NA 192.168.10.0 1100_0000.1010_1000.0000_1010.0000_0000

Die Netzadresse darf nicht als Teilnehmeradresse verwendet werden (Würde in den meisten Fällen auch zu Problemen führen). Im obigen Netz wurde nun die Netzadresse 192.168.10.0 identifiziert, wovon das letzte Byte dem Hostbereicht entspricht. Wie man erkennen kann, ist die tiefste Adresse (in diesem Fall .0) die Netzadresse. Die höchste Adresse entspricht der Broadcastadresse (192.168.10.255) und die Adressen dazwischen, sind die nutzbaren Teilnehmeradressen (192.168.10.1 - 192.168.10.254).

9.2 Private IP-Bereiche

RFC 1918 definiert IP-Bereiche, welche für nicht-öffentliche Netzwerke genutzt werden dürfen. Die IP-Ranges kennt man als private IPs, da diese im Internet nicht geroutert resp. weitergeleitet werden. Nachfolgend die reservierten IP-Bereiche:

  • 10.0.0.0 / 8
  • 172.16.0.0 / 12
  • 192.168.0.0 / 16

Nutzt man IP’s ausserhalb dieser Bereich, besteht die Gefahr einer Doppeldeutigkeit, was zu Fehlern in der Kommunikation führt.

10 Subnetzbildung

Subnetzbildung erlaubt einen zugeordneten Netzbereich in passende Teilnetze aufzuteilen. Im Folgenden wird dies an einem Beispiel gezeigt (Die Aufteilung ist exemplarisch und nicht zwingend optimal in Bezug auf reale Netzeinteilungen).

Auftrag:
Als Auftragnehmer haben wir für unsere Industrieanlage von der Kunden-IT den IPv4 Bereich 10.0.8.0/22 erhalten. Dieser Bereich ist in der IT unseres Kunden reserviert und dementsprechend hat er sein Netzwerk konfiguriert. Als Netzübergang dient ein Router mit Firewall, um unser OT System von der IT des Kunden sauber zu trennen (Siehe Figure 22.1).

Figure 10.1: Router Übergang von Kunden in Anlagennetz

In unserem System erwarten wir folgende Kategorien mit den entsprechenden Teilnehmern:

ID Typ Teilnehmer Bemerkungen
A Steuerungen 130 Prozessteuerung und Feldbussyteme
B Mobile Roboter 300 Mobile Geräte z.B. über Funk
C Bedienung und Benutzer 40 HMI’s und Arbeitsstationen

10.1 Bilden der Teilnetze

Zuerst definieren wir die benötigte Netzgrösse für unsere Kategorien (Reserve ist bereits integriert).

ID Teilnehmer Minimale Subnetzgrösse CIDR
A 100 2^8 (256) /24
B 300 2^9 (512) / 23
C 40 2^6 (64) / 26

Unser Netzbereich von der Kunden-IT 10.0.8.0/22 ergibt einen Netzbereich von 2^10 = 1024 Adressen (Inklusive Netz- und Broadcast). Darin können wir uns bewegen und für die Unterteilung nutzen. Wir halten uns grob an folgende Regeln:

  1. Teilnehmerzahl bestimmen inklusive Reserve (20-30%)
  2. Minimale Subnetzgrösse bestimmen
  3. Einteilung von Gross nach Klein
  4. Dokumentieren
TipMarkierung Netzadresse

In den folgenden Tabellen ist der veränderte Netzanteil fett hervorgehoben.

Unser zugeteiltes Netz:

Netz Binär IP CIDR
IT-Netzbereich 0000_1010.0000_0000.0000_1000.0000_0000 10.0.8.0 /22


Schritt 1
Unser erstes Netz ist B mit einer Subnetzmaske von /23. Somit unterteilen wir unser /22 Netz in zwei Bereiche:

Netz Binär IP CIDR
Teilnetz T1 0000_1010.0000_0000.0000_1000.0000_0000 10.0.8.0 /23
Teilnetz T2 0000_1010.0000_0000.0000_1010.0000_0000 10.0.10.0 /23

Damit legen wir unser erstes Teilnetz 10.0.8.0/23 für B fest. Damit bleibt uns nur noch 10.0.10.0/23 für weitere Unterteilungen.

Figure 10.2: Erste Netzunterteilung

Schritt 2
Das nächstgrössere Subnetz ist A mit einer /24 Subnetzmaske. Wir verfahren gleich und opfern eine weitere Bitstelle zur Netzadresse:

Netz Binär IP CIDR
Teilnetz T3 0000_1010.0000_0000.0000_1010.0000_0000 10.0.10.0 /24
Teilnetz T4 0000_1010.0000_0000.0000_1011.0000_0000 10.0.11.0 /24

Somit legen wir 10.0.10.0/24 für A fest.

Figure 10.3: Zweite Netzunterteilung

Schritt 3
Nun bleibt nur noch unser letztes Netz /26. Wir könnten nun einfach das übrige /24 direkt auch für dieses Netz nutzen. Wir möchten aber optimale Netzgrössen und den Rest als Reserve behalten. Somit opfern wir 2 weiter Bitstellen für die Netzadresse, dies ergibt folgende 4 Teilnetze:

Netz Binär IP CIDR
Teilnetz T5 0000_1010.0000_0000.0000_1011.0000_0000 10.0.11.0 /26
Teilnetz T6 0000_1010.0000_0000.0000_1011.0100_0000 10.0.11.64 /26
Teilnetz T7 0000_1010.0000_0000.0000_1011.1000_0000 10.0.11.128 /26
Teilnetz T8 0000_1010.0000_0000.0000_1011.1100_0000 10.0.11.192 /26

Damit definieren wir 10.0.11.0/26 für C und haben T6, T7 und T8 als Reserve.

Figure 10.4: Dritte Netzunterteilung

10.2 Routing der Teilnetze

Im vorherigen Kapitel haben wir die Teilnetze für unseren Auftrag gebildet:

Zweck Netzadresse
A 10.0.10.0 / 24
B 10.0.8.0 / 23
C 10.0.11.0 / 26

Auf unserer Seite hat der Router 3 Schnittstellen bekommen. Aus Kundenperspektive hat sich aber nichts geändert - Für diesen ist immernoch das Netz 10.0.8.0/22 hinter dem Router, die einzelne Aufteilung spielt für ihn keine Rolle.