Informations- und Kommunikationstechnik

IPv4-Adressierung im Internet

Der Inhalt dieses Kapitels umfasst Allgemeines zu den Netzwerkklassen und beschreibt das IP-Subnetz-Verfahren nach der IPv4-Methode. Jeder Netzknoten, in den meisten Fällen sind es Computer, kann in dem Netz, wo er sich befindet, durch seine unveränderbare, einmalige MAC-Adresse identifiziert werden. Somit wäre der Datenaustausch innerhalb dieses einen Netzes möglich. Befindet sich der Kommunikationspartner in einem anderen Netz, reicht die Kenntnis der MAC-Adresse zum Verbindungsaufbau nicht aus. Die Adressierung im Internet erfolgt über die IP-Adresse, die sich aus der Netzadresse und der System- oder Hostadresse zusammensetzt. Die Adressierung wird für das noch bestehende und angewendete IPv4 Internetprotokoll erläutert.

Jeder Netzwerkschnittstelle, zu der auch Netzwerkkarten, Netzwerkdrucker oder Router gehören, wird eine eindeutige IP-Adresse zugewiesen. Die IPv4-Adresse besteht aus einer 32 Bit umfassenden Binärzahl, die zu vier 8-Bitgruppen, den Oktetts, zusammengefasst ist. Sie werden in leichter lesbare Dezimalzahlen umgewandelt und durch Punkte getrennt als dotted-decimal notation dargestellt.

Die binäre IP-Adresse 10100011 11000010 10011000 00101111
entspricht dezimal mit Punkt 163.194.152.47

Netzklassen

Im ersten Modell des Department of Defence (DoD) gaben die ersten 8 Bit der IP-Adresse die Netzwerknummer und die folgenden 24 Bit die Host- oder Teilnehmernummern an. Man ging davon aus, dass insgesamt nur wenige Netze benötigt werden. Mit diesem Verfahren konnte man nur 256 Netze adressieren. Mit neueren RFCs wurde der Adressenraum erst in drei, später in fünf Netzklassen aufgeteilt. Sie sind durch die Buchstaben A, B, C, D, E gekennzeichnet. Dieses Netzklassensystem hatte von 1981 bis 1993 Bestand und wurde ab 1985 durch das Subnetting-Verfahren erweitert. Ab 1993 ist es vom klassenlosen CIDR-Verfahren abgelöst worden.

Der Entwicklung folgend gibt es hier eine Übersicht über die Netzklassen. Alle Netze der Klasse A haben eine 0 im höchsten Bit. Es ist das Klassen-Bit oder Präfix der Netzklasse. Daran schließt sich die Netz-ID mit 7 Bit an. Präfix und Netz-ID bilden beim Klasse-A Netz das erste Oktett. Die verbleibenden drei Oktette mit 24 Bit gehören zur Host-ID. Class-A Netze werden sehr großen Organisationen zugeteilt.

Die Netze der Klasse B haben als Klassen-Bit die Bitfolge 10 gefolgt von der Netz-ID mit 14 Bit. Die ersten zwei Oktette oder 2 Byte bilden die Netzadresse. Die verbleibenden zwei Oktette mit 16 Bit stehenden Host-IDs zur Verfügung. Class-B Netze sind in mittelgroßen Netzwerken zu finden.

Netze der Klasse C beginnen mit 110. Die Netz-ID ist 21 Bit lang und umfasst mit dem Klassen-Bit drei Oktette. Das letzte Oktett mit 8 Bit bleibt für die Host-IDs. Class-C Netze kommen in kleineren Netzen zum Einsatz.

Netzklasse Präfix theoretischer
Adressbereich
Netzmaske Netze Hosts
im Netz
Klasse A 0 0.0.0.0 –
127.255.255.255
255.0.0.0 128 16 777 216
Klasse B 10 128.0.0.0 –
191.255.255.255
255.255.0.0 16 384 65 536
Klasse C 110 192.0.0.0 –
223.255.255.255
255.255.255.0 2 097 152 256
Klasse D 1110 224.0.0.0 –
239.255.255.255
Multicast-Anwendungen
Klasse E 1111 240.0.0.0 –
255.255.255.255
reserviert für zukünftige Anwendungen

Die Tabelle gibt für die ersten drei Klassen die rein theoretischen Zahlen an. Die gültigen Netzwerknummern sind um jeweils 2 niedriger und errechnen sich wie folgt:

Die Anzahl der Netze einer Klasse:          Netzbits  −  2
Die Anzahl der Host je Netzwerkklasse:    Hostbits −  2

Die gültigen Netzwerknummern und Hostzahlen für die Klassen A, B und C sind in der folgenden Tabelle zusammengestellt. Für Internetverbindungen auf der Basis der IPv4-Protokolle stehen über 4 Milliarden IP-Adressen zur Verfügung.

Klasse 1. Oktettbereich gültige Netznummern Netzanzahl Hosts im Netz
A    1 ... 126    1.0.0.0 bis 126.0.0.0  27 −2 = 126  224−2 = 16 777 214
B 128 ... 191 128.1.0.0 bis 191.254.0.0  214−2 = 16 382  216−2 = 65 534
C 192 ... 223 192.0.1.0 bis 223.255.254.0  221−2 = 2 097 150  28− 2 = 254

Die Dezimalziffer des ersten Oktetts bestimmt die Netzklasse. Netzkomponenten interpretieren nur Binärwerte und benötigen zum Erkennen des Netzes und zur Auswertung der IP-Adresse eine Maske. Sie besteht aus einer 32 Bit langen Binärziffer, die für uns vereinfacht lesbar als Vierergruppen dotted dezimal, durch Punkte getrennt geschrieben wird. In der Netzmaske bei Class-A bleiben die letzten 24 Bit auf logisch 0 gesetzt. Bei Class-B sind die letzten 16 Bit binär 0 und für Class-C bleiben die letzten 8 Bit binär 0 gesetzt. In der obersten Tabelle ist die entsprechende dezimale Schreibweise der Standardmaske eingetragen.

Netzklassen

Reservierte Adressbereiche

Durch die Reservierung der privaten Adressbereiche kann jede Organisation ihre internen Netze sehr flexibel strukturieren. Konflikte mit den öffentlichen IP-Adressen für die Internetverbindungen werden vermieden. Die Router der Internet Service Provider verwerfen die Daten mit diesen Adressen und vermitteln sie nicht weiter.

Die Netze der Klasse D und E sind für besondere Aufgaben vorgesehen. Die Klasse D beginnt mit 1110 als höchste Bitfolge. Daran schließt sich ein 28 Bit langer Identifikator, die Multicast-Gruppen-ID an. Der Adressbereich errechnet sich zu 224.0.0.0 bis 239.255.255.255.

Die Netzklasse E hat die Klassen-Bitfolge 1111. Mit den sich anschließenden 28 Bit errechnet sich ein Adressbereich von 240.0.0.0 bis 255.255.255.255. Diese Netzklasse ist für zukünftige Anwendungen und Experimente reserviert.


IP-Subnetz-Verfahren

Durch das Subnetzverfahren lassen sich die oben dargestellten Netzklassen in viele kleinere Bereiche unterteilen. Die Klassenregeln nach Class-A, Class-B und Class-C bleiben grundsätzlich erhalten. Jedes physikalische Netz, das zu einer dieser Klassen gehört, kann somit in weitere logische Netze, den Subnetzen geteilt werden. Eine gegenseitige Überschneidung der Subnetze darf dabei nicht stattfinden.

Innerhalb eines Subnetzes können nur die Netzknoten direkt miteinander Daten austauschen. Der Datenverkehr zwischen den logischen Netzen, den Subnetzen erfolgt durch ein Routingverfahren. Der Datenaustausch zwischen den physikalischen Netzen beruht ebenfalls auf einem Routingverfahren, das aber vollkommen unabhängig vom Routing zwischen den logischen Netzen ist. Nach Außen hin benötigt der Router nur die Adresse des nächsten Subnetzes und hat keine Kenntnis der dort aktiven Hosts. Subnetze sind nur lokal bekannt, da die Verknüpfung mit der Subnetzmaske erst im Router erfolgt.

Beim Subnetz-Verfahren geht man von der 32-Bit langen IP-Adresse aus und ist nicht an die mehr an die starren Byte-Grenzen der Netzklassen gebunden. Jede Subnetzmaske beginnt mit einem geschlossenen Block binärer 1-Zustände, dem ein Block binärer 0-Zustände folgt, bis alle 32 Bits gesetzt sind. Die IP-Adresse wird mit der Subnetzmaske bitweise logisch UND verknüpft. Das Ergebnis ist eine Netznummer und ein Hostteil. Das folgende Beispiel zeigt die Zusammenhänge:

IP-Adresse 10010110 10010110 00000010 00000011 150.150.2.3
Subnetz-Maske 11111111 11111111 11111111 00000000 255.255.255.0
Subnetznummer nach
UND-Verknüpfung
10010110 10010110 00000010 00000000 150.150.2.0

Die IP-Adresse kann wie bisher nach der Maskenschreibweise erfolgen oder es wird die kürzere Präfix- oder Längennotierung verwendet. Zur Präfixnotierung werden in der Subnetzmaske die aufeinanderfolgenden binären 1-Zustände aufaddiert und mit einem Schrägstrich an die IP-Adresse angehängt. Die Präfixnotierung der Beispieladresse ist dann: 150.150.2.3 / 24

Die folgende Tabelle zeigt alle sinnvollen Subnetz-Masken, das passende Präfix und die maximal nutzbare Anzahl der Hosts, die mit der jeweiligen Maske möglich sind. Die aus dem Bitmuster theoretisch errechenbare Hostzahl ist um 2 größer. Zwei der Hostzahlen sind, wie weiter unten erklärt wird, reserviert und können nicht vergeben werden.

Subnetz-Maske Präfix 32-Bit-Darstellung Hostzahl
255.0.0.0 /8 11111111 00000000 00000000 00000000 16777214
255.128.0.0 /9 11111111 10000000 00000000 00000000 8388606
255.192.0.0 /10 11111111 11000000 00000000 00000000 4194302
255.224.0.0 /11 11111111 11100000 00000000 00000000 2097150
255.240.0.0 /12 11111111 11110000 00000000 00000000 1048574
255.248.0.0 /13 11111111 11111000 00000000 00000000 524286&
255.252.0.0 /14 11111111 11111100 00000000 00000000 262142
255.254.0.0 /15 11111111 11111110 00000000 00000000 131070
255.255.0.0 /16 11111111 11111111 00000000 00000000 65534
255.255.128.0 /17 11111111 11111111 10000000 00000000 32766
255.255.192.0 /18 11111111 11111111 11000000 00000000 16382
255.255.224.0 /19 11111111 11111111 11100000 00000000 8190
255.255.240.0 /20 11111111 11111111 11110000 00000000 4094
255.255.248.0 /21 11111111 11111111 11111000 00000000 2046
255.255.252.0 /22 11111111 11111111 11111100 00000000 1022
255.255.254.0 /23 11111111 11111111 11111110 00000000 510
255.255.255.0 /24 11111111 11111111 11111111 00000000 254
255.255.255.128 /25 11111111 11111111 11111111 10000000 126
255.255.255.192 /26 11111111 11111111 11111111 11000000 62
255.255.255.224 /27 11111111 11111111 11111111 11100000 30
255.255.255.240 /28 11111111 11111111 11111111 11110000 14
255.255.255.248 /29 11111111 11111111 11111111 11111000 6
255.255.255.252 /30 11111111 11111111 11111111 11111100 2

Anzahl der Hosts und Subnetze

Das Subnetzverfahren verkleinert den Hostanteil zugunsten des Netzwerkteils. Der Netzwerkteil in der Adresse ist weiterhin durch die Klassenregel bestimmt. Der Hostanteil ergibt sich aus der binären 0-Folge der verwendeten Maske. Der Subnetzteil ist der Rest, der zu den 32 Bits bleibt. Für die mathematische Berechnung gilt:

Subnet-Bits = 32 − (Netz-Bits + Host-Bits).

Die IP-Adresse 100.10.16.5/16 steht für ein Class-A Netz, da das erste Oktett von 1 ... 126 reicht. Somit gehören 8 Bits zum Netzwerk. Die Maske hat eine 16 Bit lange 0-Folge und damit 16 Host-Bits. Es bleiben 8 Subnetz-Bits.

Die IP-Adresse 199.1.1.100/27 ist gleichbedeutend mit 199.1.1.100 und der Maske 255.255.255.224 gehört dem Class-C Netz an. Das erste Oktett umfasst dezimal 192 ... 223 und nach der Klassenregel gibt es 24 Netzwerk-Bits. Mit der Präfixnotierung 27 verbleiben 5 Host-Bits, ablesbar aus der binären 0-Folge der Maske. Aus 32 − (24 + 5) errechnen sich 3 Subnetz-Bits.

In der dotted dezimal Schreibweise der Subnetz-Maske gibt es nur neun gültige Dezimalwerte, auf die noch weitere .0-Stellen folgen können. Diese Tatsache folgt aus der von links gelesenen ununterbrochenen binären 1-Folge in der Maske. Die Konvertierung des letzten Oktetts mit binären 1 und 0 Werten führt zu den gültigen Dezimalwerten:

Dezimalzahl Binärzahl
0 0000 0000
128 1000 0000
192 1100 0000
224 1110 0000
240 1111 0000
248 1111 1000
252 1111 1100
254 1111 1110
255 1111 1111

Für die tatsächlich nutzbare Gesamtzahl der Subnetze und Hosts gibt es eine Einschränkung. Nach den Konventionen für die Vergabe von IP-Adressen können zwei Subnetze je Netzwerk und zwei Hosts je Subnetz nicht verwendet werden. Dazu zählt das Zero-Subnetz, wo alle Subnetz-Bits auf binär 0 stehen und das Broadcast-Subnetz, bei dem alle Bits auf binär 1 gesetzt sind. Viele Router können diese Adressen nutzen, dennoch gelten beide Fälle als "discouraged", es wird abgeraten, sie zu verwenden. Die beiden Adressen, wo im Hostteil nur binäre 0-Folgen oder binäre 1-Folgen vorkommen, sind reserviert und können keinesfalls frei vergeben werden. Die Anzahl der Subnetze und Hosts errechnen sich zu:

Subnetze = 2Zahl der Subnet-Bits − 2     mit     Hosts je Subnetz = 2Zahl der Host-Bits − 2

Soll mit IP-Adressen gearbeitet werden, so kann die Beachtung folgender Punkte hilfreich sein. Die folgende Tabelle zeigt dann dazu einige Beispiele:

Adresse 100.10.16.5/16 130.4.102.3/24 199.1.1.100/24 130.4.102.8/22 195.10.10.103/27
Maske 255.255.0.0 255.255.255.0 255.255.255.0 255.255.252.0 255.255.255.224
Netz-Bits 8 16 24 16 24
Host-Bits 16 8 8 10 5
Subnetz-Bits 8 8 0 6 3
Hosts/Subnetz 216−2 = 65534 28−2 = 254 28−2 = 254 210−2 = 1022 25−2 = 30
Subnetze 28−2=254  28−2 = 254 0 26−2 = 62 23−2 = 6

Die Subnetz-Nummer und die IP-Adresse im Subnetz

Zur Bestimmung wird die IP-Adresse in ihrer binären Darstellung mit der binären Maske bitweise logisch UND verknüpft. Das Ergebnis der Verknüpfung wird zurück in die dotted dezimal Darstellung konvertiert. Es wird immer das ganze Oktett in die Dezimalzahl gewandelt, auch dann, wenn binäre 1 und 0 Zustände vorkommen.

Die Subnetz-Broadcastadresse

Die Subnetz-Broadcastadresse wird benötigt, um an alle Netzknoten im Subnetz zugleich Datenpakete zu senden. Mit Kenntnis dieser Adresse lässt sich sehr einfach die höchste gültige IP-Adresse im Subnetz angeben. Alle Hostbits in der Subnetz-Nummer werden in eine binäre 1 gewandelt. Am Beispiel der IP-Adresse 130.4.102.3/24 wird die Bestimmung erkennbar.

IP-Adresse 10000010 00000100 01100110 00000011 130.4.102.3
Subnetz-Maske 11111111 11111111 11111111 00000000 255.255.255.0
Subnetz-Nummer nach
UND-Verknüpfung
10000010 00000100 01100110 00000000 130.4.102.0
Subnetz-Broadcast 10000010 00000100 01100110 11111111 130.4.102.255

Die Subnetz-Broadcastadresse in binärer Darstellung ist identisch mit der Subnetz-Nummer, nur dass alle Host-Bits auf binär 1 stehen. Die Binärdarstellung ist bitweise herleitbar aus der Subnetz-Nummer und der invertierten Maske, die dann logisch ODER verknüpft werden. Das folgende Beispiel zeigt den Vorgang für IP 195.10.10.103/27.

IP-Adresse 11000011 00001010 00001010 01100111 195.10.10.103
Subnetz-Maske 11111111 11111111 11111111 11100000 255.255.255.224
Invertierte Maske 00000000 00000000 00000000 00011111  
ODER verknüpft zum
Subnetz-Broadcast
11000011 00001010 00001010 01111111 195.10.10.127

Der Bereich gültiger IP-Adressen im Subnetz

Die erste gültige IP-Adresse ist die Subnetz-Nummer, bei der in der 32-Bit-Darstellung das letzte Bit auf 1 gesetzt ist. Die letzte gültige IP-Adresse ist die Broadcastadresse, wo in der 32-Bit-Schreibweise das letzte Bit auf 0 steht. In der dotted dezimal Darstellung ist die letzte Dezimalzahl um 1 erniedrigt.