IP-Adressen (IPv4)

IP-Adressen wurden eingeführt, um jeder Netwerkkomponente (z.B. Netzkarte eines PCs oder Drucker mit Netzanschluss) eine eigene Kennung zu geben, über die sie ggf auch über das Internet ansprechbar/auffindbar ist. Sie IP muss dabei eindeutig sein (die Eindeutigkeit wird dabei durch Organisationen gewährleistet, die öffentliche IP-Adressen vergeben, z.B. InterNIC).

Jede IP-Adresse besteht dabei aus zwei Teilen: dem Netzwerkanteil und dem Hostanteil, vergl. "auf der Datenautobahn mit Straßenname und Hausnummer" - somit ist das Auffinden z.B. eines Ziel-Rechners mit optimalem "routing" möglich. Wo die Trennung zwischen Netzwerkanteil und Hostanteil stattfindet, legt die zur IP-Adresse gehörige Subnetzmaske (subnet mask) fest.

Die IPv4-Adresse setzt sich aus 4 Bytes (8 Bits pro Byte = 32 Bits = 2^32 Möglichkeiten) zusammen, die durch Punkte getrennt sind: z.B. 193.170.96.81 (Byte.Byte.Byte.Byte), genannt "dotted decimal notation". Intern verwendet der Rechner natürlich eine Binär-Notation, also wie immer nur 0en und 1en.

In Binärschreibweise: 11000001.10101010.01100000.01010001 (auch genannt vier octets (8-bit ))
(Der Rechner verwendet natürlich intern auch keine Trennung durch Punkte, das ist alles dem/der BenutzerIn zuliebe und erleichter die Eingabe der IP)

In Hexadezimalschreibweise: C1.AA.60.51

Umwandlung mit Windows-Taschenrechner:

dezimal

binär

hexadezimal

1 octet 2 octet 3 octet 4 octet
Dezimal
193
170
96
81
Binär
11000001
10101010
01100000
01010001
Hexadezimal
C1
AA
60
51


IP-Adressklassen

IP-Adressen werden weiters in gängige Klassen A, B und C unterteilt, wobei bei jeder Klasse der Netzwerksanteil bzw Hostanteil der IP-Adresse unterschiedlich ist.

Klasse-A Adressraum: 1.0.0.0 bis 127.255.255.255 (wenig Netzwerke, viele Hosts)
für große Netze (z.B. Universität, große Konzerne)
Die IP-Adressen beginnen mit 1 bis 126; der Netzwerkanteil der Adresse ist hier mit 8 Bit definiert, so werden diese Netze auch "/8"-Netze genannt (sprich:"slash 8");
Ist das erste Bit der IP in Binärschreibweise 0, weist das auf eine Klass-A Adresse hin.
Klass-A Netzadressen sind praktisch schon alle vergeben.

Klasse-B Adressraum: 128.0.0.0 bis 191.255.255.255 (gleichmäßige Verteilung von Hosts und Netzwerken)
für mittelgroße Netze (z.B. Firmen und Institutionen mit mehr als 4000 Rechnern)
Die IP-Adressen beginnen mit 128 bis 191; der Netzwerkanteil der Adresse ist hier mit 16 Bit definiert; "/16"-Netze.
Hier sind die ersten 2 Bits in der Binärdarstellung immer 10.

Klasse-C Adressraum: 192.0.0.0 bis 223.255.255.255 (viele Netzwerke, wenig Hosts)
für kleinere Netze; die IP-Adressen beginnen mit 192 bis 233; der Netzwerkanteil der Adresse ist hier mit 24 Bit definiert; "/24"-Netze.
Erkennbar durch die Bitfolge 110 am Anfang (vgl. mit obiger IP 193.170.96.81 und deren Binärdarstellung 11000001.10101010.01100000.01010001 ist sie also eine Klass-C Adresse)

Klasse-D Adressen, 224.0.0.0 bis 239.255.255.255
sind spezielle Multicast-Gruppenadressen, d.h. es ist möglich z.B. ein Datenpaket an bestimmte Rechnergruppen in diesem Netz zu senden. Es ist also keine point-to-point Verbindung, sondern eine Art point to multi-point (Multicast). Das Senden der Datenpakete nur an eine Adresse wird Unicast genannt.

Klasse-E Adressen 240.0.0.0 bis 254.255.255.255
sind experimenteller Natur und für 'zukünftige' Verwendungen reserviert.


Bei einer Zuweisung z.B. eines Klasse-C Netzes, wo der Netzwerkanteil 24 Bit ist (also die ersten 3 Bytes der IP definiert sind), erhält man z.B. 193.170.96. Mit dieser Vorgabe ist es nun möglich, 254 Netwerkskomponenten mit dem Internet zu verbinden (193.170.96.1-193.170.96.254).
.0 und .255 sind immer reserviert: .0 ist die Adresse des (Sub-)Netzes selbst und .255 wird als Broadcast-Adresse verwendet (d.h. gesendete Daten an diese IP erhalten alle Rechner des (Sub-)Netzes)

Es gibt auch Adressen, die im Internet nicht vorkommen und natürlich auch nicht reserviert werden können - die privaten IP-Adressen.
Sie werden natürlich auch im Internet nicht geroutet. So können von allen private IPs eingesetzt werden, ohne dass öffentliche IPs verbraucht werden müssen.

Hierfür wurden folgende Adressbereiche reserviert:

Klass-A: 10.x.x.x (somit 1 Klass-A Adresse, ca: 16 Millionen Adressen)
Klass-B: 172.16.x.x bis 172.31.x.x (16 Klass-B Adressen, ca. 65.536 Adressen)
Klass-C: 192.168.x.x (256 Klass-C Adressen, 255 Adressen)

Die Subnetz-Maske (subnet-mask) ist Teil des Adressierungs-Schemas. Der Grund für Sub-Netze ist, dass es möglich wird, einen zugewiesenen Netzwerkbereich in Unternetze zu gliedern (subnetting). Ist dies nicht gewünscht, werden die Standard-Masken für die einzelnen Klassen verwendet:

Klass-A Maske: 255.0.0.0 (binär 1111 1111 0000 0000 0000 0000 0000 0000)
Klass-B Maske: 255.255.0.0 (binär 1111 1111 1111 1111 0000 0000 0000 0000)
Klass-C Maske: 255.255.255.0 (binär 1111 1111 1111 1111 1111 1111 0000 0000)

Die 1en bezeichnen den Netzwerksanteil, die 0en den Hostanteil.

Subnetze (Subnets)

Subnetting (Teilnetze, Subnetze)

Sollen unterschiedliche Subnetze miteinander verbunden werden, wird meist ein Router eingesetzt, der die Datenpakete bei Bedarf von einem Netz ins andere leitet - ansonsten kann von einem Subnet nicht auf das andere zugegriffen werden (Stichwort: Sicherheit bzw. der Netzwerktraffic bleiben somit auch auf die einzelnen Subnetze beschränkt).

Mit einem Subnet-Calculator lassen sich Netze einfach unterteilen/trennen:

Beispiel: Die Unterteilung des Klasse-C Netzes 193.170.98.0 in 4 Subnetze samt resultierender Subnetzmaske

Beispiel: Unterteilung des privaten Netzes 192.168.0.0 in 2 Subnetze (folglich stehen je 126 Hosts zur Verfügung)

Wir wollen jetzt das Klasse-C Netz 192.168.10.0 in 2 Subnetze mit je 128 IPs aufteilen:

Netz 192.168.10.0: 1100 0000 1010 1000 0000 1010 0000 0000
Standardsubnetzmaske 255.255.255.0: 1111 1111 1111 1111 1111 1111 0000 0000

(mit den 8 Bits 0000 0000 der Standardmaske für Klasse-C Netze läge der Hostanteil bei 2*2*2*2 * 2*2*2*2 = 28 = 256 Ips)

Da wir aber 2 Subnetze wollen, müssen wir das nächste verfügbare 0er bit des Hostanteils in einen Netzwerkanteil wandeln, durch Setzen auf 1, da sich ja mit dem zusätzlichen Bit schon zwei Zustände realisieren lassen (0 und 1), also 2 Netzwerksanteile unterscheiden lassen: 1000 0000

Netz 192.168.10.0: 1100 0000 1010 1000 0000 1010 0000 0000
Standardsubnetztmaske 255.255.255.128: 1111 1111 1111 1111 1111 1111 1000 0000

1000 0000 ist in Dezimalschreibweise wiederum: 128, womit die Subnetmaske für 2 Klasse-C Subnetze nun 255.255.255.128 lautet (vergleiche IP-Calculator).

Wer lieber im Dezimalsystem rechnen will, geht wie folgt vor: { 256 - [ 256 / (Anzahl der Subnetze) ] } = 256 - 256/2 = 128, wollten wir 4 Subnetze folgt: 256-256/4 = 192, also ergibt sich die Subnetzmaske zu 255.255.255.192 als Subnetzmaske.

Würden wir 4, 8, 16, 32 etc Netze benötigen, müssten wir weitere Bits auf 1 setzen

00 Subnetze = 0000 0000,
02 Subnetze = 1000 0000,

04 Subnetze = 1100 0000,
08 Subnetze = 1110 0000,
16 Subnetze = 1111 0000,
32 Subnetze = 1111 1000
... etc.

Es können aber sinnvollerweise nicht alle Bits für den Netzwerksanteil verwendet werde, sonst bliebe ja kein Hostanteil übrig und somit keine IPs für die Rechner selbst).

Die Anzahl der Subnetze errechnet sich mit der Formel: 2n, wobei n die Anzahl der 1en vom Hostanteil der Standardsubnetzmaske sind, 21 = 2 Subnetze.

Der restliche Hostanteil (000 0000), also die restlichen 7 Bits des Hostadresse, geben die Anzahl der IPs ("Rechner") je Subnetz an, also 27 = 128.

Hier müssen wir aber pro (Sub-)Netz wie immer die Broadcastadresse und die Subnetzadresse selbst abziehen und kommen somit auf effektiv 126 Rechner pro Subnetz.

Daraus ergibt sich folglich diese Konstellation:
Die IPs der Rechner lauten: 192.168.10.
1 - 192.168.10.126 und 192.168.10.129 - 192.168.10.254.
Die Broadcastadressen sind somit 192.168.10.
127 und 192.168.10.255.
Und die Subnetz-Ips 192.168.10.
0 und 192.168.10.128

Oft wird auch die Schreibweise 192.168.10.0/25 verwendet, dabei gibt die 25 die Anzahl der 1er Bits in der Subnetzmaske an (1111 1111 1111 1111 1111 1111 1000 0000) - auch genannt "slash notation" oder CIDR-Notation RFC. Mit CIDR läßt sich auch eine route aggregation durchführen, d.h. verschiedene Netze können unter einer einzigen Adresse angesprochen werden - also das Gegenteil von subnetting. Das Zusammenfassen von Subnetzen zu einem größeren Netz heißt Supernetting.

Ob 2 Rechner im gleichen Netz oder Subnetz sind oder doch ein routing für die Kommunikation verwendet werden muß, läßt sich wie folgt ermitteln:
Wir prüfen ob die Adressen 192.168.10.1 (255.255.255.0) und 192.168.1.1 (255.255.255.0) im gleichen Netz liegen:

dezimal: | 192 | 168 | 10 | 1 |
192.168.10.1 binär dargestellt ist : 1100 0000 1010 1000 0000 1010 0000 0001
255.255.255.0 binär dargestellt ist : 1111 1111 1111 1111 1111 1111 0000 0000

Wie oben erwähnt, bezeichnen die 1en den Netzwerksanteil (192.168.10), die 0en den Hostanteil (1).

Werden die Bits mit dem logischen "UND" Operator (logical AND) verknüpft, erhält man die Netzwerkadresse:
(beim logischen UND werden die vertikalen 0 und 1er Paare mit and verknüpft, kurz gesagt: wenn beide 1 dann 1, sonst 0)

192.168.10.1 binär dargestellt ist : 1100 0000 1010 1000 0000 1010 0000 0001
and
255.255.255.0 binär dargestellt ist : 1111 1111 1111 1111 1111 1111 0000 0000

= 1100 0000 1010 1000 0000 1010 0000 0000 (= 192.168.10.0)

192.168.1.1 binär dargestellt ist : 1100 0000 1010 1000 0000 0001 0000 0001
and
255.255.255.0 binär dargestellt ist : 1111 1111 1111 1111 1111 1111 0000 0000

= 1100 0000 1010 1000 0000 0001 0000 0000 (= 192.168.1.0)

Da die und-Verknüpfungen nicht ident sind, können die 2 IPs nicht direkt miteinander kommunizieren. Sie liegen also in 2 verschiedenen Netzen (192.168.10.0 und 192.168.1.0).