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: 2 Netzbits − 2
Die Anzahl der Host je Netzwerkklasse: 2 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.
Reservierte Adressbereiche
- Die IP-Adresse 0.0.0.0 ist für den Host selber bis zur Erlangung einer gültigen IP-Adresse reserviert.
- 127.x.x.x werden als Localhost bezeichnet und als netzinterne Schleifenadressen,
dem sogenannten loop back verwendet. - Reserviert sind die Adressen 128.0.0.0, 191.255.0.0, 192.0.0.0 und 223.255.255.0
- 10.0.0.0 bis 10.255.255.255 mit der Maske 255.0.0.0 ist ein privates Class-A Netz.
Es lassen sich insgesamt 16777214 Hosts adressieren. - 169.254.0.0 bis 169.254.255.255 mit der Maske 255.255.0.0 ist ein Class-B Netz.
Es wird verwendet für link local mit APIPA. - 172.16.0.0 bis 172.31.255.255 mit der Maske 255.255.0.0 enthält 16 private Class-B Netze.
Es lassen sich je 65534 Hosts adressieren. - 192.168.0.0 bis 192.168.255.255 mit der Maske 255.255.255.0 hat 256 private Class-C Netze.
Jedes Netz umfasst bis zu 254 Hosts.
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 |
- Mit gesetztem Bit in der Subnetz-Maske zählt das entsprechende Bit der IP-Adresse zur Netzadresse.
- Ist das Bit in der Subnetz-Maske nicht gesetzt, so gehört das entsprechende Bit der IP-Adresse zum Hostteil.
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:
- Die Struktur der IP-Adresse erkennen; Maskenschreibweise oder Präfixnotierung.
- Erkennen des Netzwerkteils nach den Regeln der Netzklasse.
- Ermitteln der Hostgröße aus der Anzahl der binären 0-Folge in der Maske.
- Errechnen der Subnetz-Bits aus dem mathematischen Rest von 32 − (Netz-Bits + Host-Bits).
- Berechnen der Anzahl der Subnetze.
- Berechnen der Anzahl der Hosts in jedem Subnetz.
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.