Classless Inter-Domain Routing
Classless Inter-Domain Routing (CIDR) beschreibt ein Verfahren zur effizienteren Nutzung des bestehenden 32-Bit-IP-Adress-Raumes für IPv4.
Beschreibung

10.10.1.32/27
gehört 10.10.1.44, aber nicht 10.10.1.90Es wurde 1993 eingeführt (RFC 1518, RFC 1519, RFC 4632), um die Größe von Routingtabellen zu reduzieren und um die verfügbaren Adressbereiche besser auszunutzen.
Mit CIDR entfällt die feste Zuordnung einer IPv4-Adresse zu einer Netzklasse, aus welcher aus den ersten beiden Bit des ersten Oktetts die Präfixlänge der jeweiligen Netzklasse hervorging.
- Die Präfixlänge ist mit CIDR frei wählbar und muss deshalb beim Aufschreiben eines IP-Subnetzes mit angegeben werden.
- Dazu verwendet man häufig eine Netzmaske.
Bei CIDR führte man als neue Notation so genannte Suffixe ein.
- Das Suffix gibt die Anzahl der 1-Bits in der Netzmaske an.
- Diese Schreibform, z. B.
172.17.0.0/17
, ist viel kürzer und im Umgang einfacher als die Dotted decimal notation wie172.17.0.0/255.255.128.0
und ebenfalls eindeutig.
Bei IPv6 ist die Notation gleich wie beim CIDR in IPv4 und besteht aus IPv6-Adresse und Präfixlänge (z. B. 2001:0DB8:0:CD30::1/60
).
Beispiele
- Die Notation
192.168.2.7/24
entspricht der Adresse 192.168.2.7 mit der Netzmaske 255.255.255.0: In binärer Schreibweise ist die Netzmaske 11111111.11111111.11111111.00000000 - es gibt also 3 · 8 = 24 gesetzte Bits, genau wie im Suffix angegeben. - Deshalb beschreiben
192.168.2.0/24, 192.168.2.1/24, 192.168.2.2/24, ... 192.168.2.254/24
und192.168.2.255/24
alle dasselbe 24 Bit lange Präfix und damit dasselbe IP-Subnetz. - Es ist üblich, IP-Subnetze mit der Netzadresse und dem CIDR-Suffix aufzuschreiben; hier
192.168.2.0/24
.
10.43.8.67/28
entspricht der Adresse 10.43.8.67 mit der Netzmaske 255.255.255.240: In binärer Schreibweise ist die Netzmaske 11111111.11111111.11111111.11110000 - es gibt also 3 · 8 + 4 = 28 gesetzte Bits, wieder genau wie im Suffix angegeben.- Das IPv4-Netz, in dem der Host 10.43.8.67 liegt, geht somit von 10.43.8.64 bis 10.43.8.79 und wird kurz als 10.43.8.64/28 notiert, wobei nur 10.43.8.65 bis 10.43.8.78 für Hosts genutzt werden können.
- Die Broadcast-Adresse ist 10.43.8.79, die Netz-Adresse 10.43.8.64 und das Subnetz kann 14 Hosts adressieren.
Berechnung
IPv4-Adresse = 10.43.8.67/28 (32-28= 4 Bit (Netzmaske: 11111111.11111111.11111111.11110000 (mit 4 Stellen im Dualsystem lassen sich 16 unterschiedliche Werte darstellen, nämlich 0-15)) → 16 Adressen − (Broadcast- und Netzadresse) = 14 IPv4-Adressen zu vergeben.)
Netzmaske = 255.255.255.240
Beschreibung | Berechnung (Dualsystem) | Binäre Darstellung der Adressen | Dezimale Darstellung |
---|---|---|---|
IPv4-Adresse | Vorgegeben/Ausgangsdefinition | 00001010.00101011.00001000.01000011
|
10.43.8.67 |
Netzmaske | Vorgegeben/Ausgangsdefinition | 11111111.11111111.11111111.11110000
|
255.255.255.240 |
Directed Broadcast-Adresse | ODER-Verknüpfung von IPv4-Adresse und negierter Netzmaske | 00001010.00101011.00001000.01001111
|
10.43.8.79 |
Netzadresse (Netz-ID) | UND-Verknüpfung von IPv4-Adresse und Netzmaske | 00001010.00101011.00001000.01000000
|
10.43.8.64 |
Position im Netz (Host-ID) | UND-Verknüpfung von IPv4-Adresse und negierter Netzmaske | 00000000.00000000.00000000.00000011
|
3 |
Adressbereich | 10.43.8.64 bis 10.43.8.79 |
IPv4-Adressen für Endgeräte | 10.43.8.65 bis 10.43.8.78 |
da die erste und letzte Adresse in einem Adressbereich jeweils die Netz- und Broadcast-Adresse ist und somit an kein Endgerät vergeben werden kann. |
Sonstiges
- CIDR bietet außerdem die Basis für die Durchführung von route aggregation.
- Dabei können mehrere spezifischere Routen zu einem weniger spezifischen Eintrag in der Routing-Tabelle zusammengefasst werden, welche sich hierdurch verkleinert.
- Neben der Reduzierung der Routing-Tabellengröße erzielt man mit Aggregierung einen Stabilitätsgewinn, da die aggregierte Route keine Zustandsinformationen der spezifischeren Leitweginformationen enthält.
- Beispiel: die folgenden 256 Subnetze 10.1.1.0/24, 10.1.2.0/24, ..., 10.1.255.0/24 haben alle das Präfix 10.1 gemeinsam und lassen sich somit zu 10.1.0.0/16 aggregieren.
- Diese Summary-Route kann im Netzwerk an Stellen bekannt gegeben werden, bei denen Zustands-Informationen über die spezifischeren Routen nicht benötigt werden.
- Dementsprechend wirken sich Instabilitäten ("Link Flapping") von spezifischeren Routen nicht auf ihr Aggregat aus und führen folglich bei Routern, denen nur das Aggregat bekannt ist, auch zu keiner Re-Kalkulation der Routing-Tabelle im Falle von Zustandsänderung der Aggregatsmitglieder.
- Dasselbe Prinzip ist vom Telefonnetz bekannt - so benötigt z. B. eine Vermittlungsstelle in Karlsruhe keine genauen Information über den Anschlussteilnehmer 040/123456 im Hamburger Ortsnetz, sondern nur die Information, in welche Richtung Gespräche der "aggregierten Route" 040 allgemein vermittelt werden sollen.
Die Routing-Protokolle BGP, IS-IS, RIP v2 (RIP II) (nicht RIP/RIP I) und OSPF und das Cisco-proprietäre EIGRP haben CIDR implementiert.
Die CIDR-Notation hat sich inzwischen auf breiter Basis für die Referenzierung von IP-Netzen auch in Applikationssoftware (z. B. in IRC-Daemons) durchgesetzt.
- Somit ist es möglich, eine Zugriffsliste, die alle IPv4-Adressen von 172.25.0.0 bis 172.25.255.255 betreffen soll, kurz als 172.25.0.0/16 zu schreiben.
Gelegentlich werden dabei niederwertige Oktette, die null sind, weggelassen, so dass für 172.25.0.0/16 auch 172.25/16 notiert wird - allerdings ist dies nicht im RFC 4632 verankert und darum nicht empfehlenswert.
Übersicht für IPv4
Die folgende Tabelle zeigt die Anzahl IPv4-Adressen pro Subnetz sowie die für Hosts nutzbaren Adressen, das heißt abzüglich der Adressen eines Bereichs für die Netzadresse (alle Bit im Hostteil auf null, also die kleinste Adresse im Bereich) und die Broadcast-Adresse (alle Bit im Hostteil auf eins, also die größte Adresse im Bereich).
Allgemein gilt:
Notation | Anzahl der Adressen | Nutzbare Host-Adressen |
Subnetzmaske dezimal |
Subnetzmaske binär |
Kommentar |
---|---|---|---|---|---|
/0 | 4.294.967.296 | ||||
0.0.0.0 | 00000000.00000000.00000000.00000000
|
Vollständiger IPv4-Adressraum | |||
/1 | 2.147.483.648 | ||||
128.0.0.0 | 10000000.00000000.00000000.00000000
|
||||
/2 | 1.073.741.824 | ||||
192.0.0.0 | 11000000.00000000.00000000.00000000
|
||||
/3 | 536.870.912 | ||||
224.0.0.0 | 11100000.00000000.00000000.00000000
|
||||
/4 | 268.435.456 | ||||
240.0.0.0 | 11110000.00000000.00000000.00000000
|
||||
/5 | 134.217.728 | ||||
248.0.0.0 | 11111000.00000000.00000000.00000000
|
||||
/6 | 67.108.864 | ||||
252.0.0.0 | 11111100.00000000.00000000.00000000
|
||||
/7 | 33.554.432 | ||||
254.0.0.0 | 11111110.00000000.00000000.00000000
|
||||
/8 | 16.777.216 | 16.777.214 | 255.0.0.0 | 11111111.00000000.00000000.00000000
|
"Class A"-Größe |
/9 | 8.388.608 (128x65.536) | 8.388.606 | 255.128.0.0 | 11111111.10000000.00000000.00000000
|
|
/10 | 4.194.304 (64x65.536) | 4.194.302 | 255.192.0.0 | 11111111.11000000.00000000.00000000
|
|
/11 | 2.097.152 (32x65.536) | 2.097.150 | 255.224.0.0 | 11111111.11100000.00000000.00000000
|
|
/12 | 1.048.576 (16x65.536) | 1.048.574 | 255.240.0.0 | 11111111.11110000.00000000.00000000
|
|
/13 | 524.288 (8x65.536) | 524.286 | 255.248.0.0 | 11111111.11111000.00000000.00000000
|
|
/14 | 262.144 (4x65.536) | 262.142 | 255.252.0.0 | 11111111.11111100.00000000.00000000
|
|
/15 | 131.072 (2x65.536) | 131.070 | 255.254.0.0 | 11111111.11111110.00000000.00000000
|
|
/16 | 65.536 (1x65.536) | 65.534 | 255.255.0.0 | 11111111.11111111.00000000.00000000
|
"Class B"-Größe |
/17 | 32.768 (128x256) | 32.766 | 255.255.128.0 | 11111111.11111111.10000000.00000000
|
|
/18 | 16.384 (64x256) | 16.382 | 255.255.192.0 | 11111111.11111111.11000000.00000000
|
|
/19 | 8.192 (32x256) | 8.190 | 255.255.224.0 | 11111111.11111111.11100000.00000000
|
|
/20 | 4.096 (16x256) | 4.094 | 255.255.240.0 | 11111111.11111111.11110000.00000000
|
|
/21 | 2.048 (8x256) | 2.046 | 255.255.248.0 | 11111111.11111111.11111000.00000000
|
|
/22 | 1.024 (4x256) | 1.022 | 255.255.252.0 | 11111111.11111111.11111100.00000000
|
|
/23 | 512 (2x256) | 510 | 255.255.254.0 | 11111111.11111111.11111110.00000000
|
|
/24 | 256 (1x256) | 254 | 255.255.255.0 | 11111111.11111111.11111111.00000000
|
"Class C"-Größe |
/25 | 128 (128x1) | 126 | 255.255.255.128 | 11111111.11111111.11111111.10000000
|
|
/26 | 64 (64x1) | 62 | 255.255.255.192 | 11111111.11111111.11111111.11000000
|
|
/27 | 32 (32x1) | 30 | 255.255.255.224 | 11111111.11111111.11111111.11100000
|
|
/28 | 16 (16x1) | 14 | 255.255.255.240 | 11111111.11111111.11111111.11110000
|
|
/29 | 8 (8x1) | 6 | 255.255.255.248 | 11111111.11111111.11111111.11111000
|
|
/30 | 4 (4x1) | 2 | 255.255.255.252 | 11111111.11111111.11111111.11111100
|
Verbindungsnetz zwischen zwei Routern |
/31 | 2 (2x1) | 0 (2) | 255.255.255.254 | 11111111.11111111.11111111.11111110
|
Verbindungsnetz zwischen zwei Routern |
/32 | 1 (1x1) | 0 (1) | 255.255.255.255 | 11111111.11111111.11111111.11111111
|
einzelner Host |
Adressbereiche der Größe /0 bis /7 werden in der Praxis nicht als einzelnes Subnetz verwendet, sondern in mehrere Subnetze unterteilt. /31-Netze enthalten keine nutzbaren Host-Adressen, während /32 kein Subnetz, sondern immer einen einzelnen Host adressiert.
- Hierbei gibt es auch Ausnahmen.
- So wurde im RFC 3021 vorgeschlagen, dass /31-Netze genutzt werden, um Point-to-point-Verbindungen zu etablieren.
- Dies wurde unter anderem von der Firma Cisco implementiert.
- Des Weiteren ist es unter bestimmten Umständen möglich, die Netz- und Broadcastadresse für Hosts zu verwenden.
Seit der Einführung von CIDR ist classful routing zwar praktisch abgeschafft, beispielsweise ein /24-Netz als "Class C" zu bezeichnen ist jedoch, zumindest umgangssprachlich, erhalten geblieben - obwohl diese Bezeichnung zumeist sogar falsch ist, da mittlerweile ehemalige Class A- oder Class B-Netze als kleinere Allokationen/Assignments zugeteilt werden und man somit ggf.
- von einem "Class C"-großen Netz spricht, was nach klassischer Notation ein Subnetz eines Class-A- oder B-Netzes wäre.
Anhang
Siehe auch
Dokumentation
RFC
RFC | Titel |
---|---|
950 | Internet Standard Subnetting Procedure |
1338 | Supernetting: an Address Assignment and Aggregation Strategy |
1518 | An Architecture for IP Address Allocation with CIDR (HISTORISCH) |
1519 | Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy (HISTORISCH) |
3021 | Using 31-Bit Prefixes on IPv4 Point-to-Point Links |
4632 | Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan |
4291 | IP Version 6 Addressing Architecture enthält im Kapitel 2.3 die Schreibweise bei IPv6 |
Links
Weblinks
TMP
CIDR
Verwendung der Subnetzmaske und CIDR
Die Subnetzmaske maskiert den Netzwerkanteil und den Host-Anteil einer IP-Adresse
- Mit ihrer Hilfe kann ein Computer ermitteln, in welchem Netzwerk bzw. Subnetz er sich selbst befindet
- Er kann nur direkt mit anderen Computern kommunizieren, die sich in demselben Netzwerk oder Subnetz befinden
- Die Ermittlung der Netzwerkzugehörigkeit geschieht über eine logische UND-Verknüpfung der IP-Adresse mit der Subnetzmaske
- Für Subnetzmasken sind zwei Notationsweisen üblich
- Die eine davon ist, genau wie die IP-Adressen selbst, eine Dotted-Quad-Schreibweise, beispielsweise 255.255.255.0 für eine Standard-C-Klasse
Mögliche Werte
Da Subnetzmasken von links nach rechts inkrementell aufgefüllt werden, sind pro Oktett nur neun verschiedene Werte möglich
Binär | Dezimal |
---|---|
0000 0000 | 0 |
1000 0000 | 128 |
1100 0000 | 192 |
1110 0000 | 224 |
1111 0000 | 240 |
1111 1000 | 248 |
1111 1100 | 252 |
1111 1110 | 254 |
1111 1111 | 255 |
- CIDR-Notation (Classless Inter-Domain Routing) von Subnetzmasken
Bei dieser Schreibweise wird einfach nur die Anzahl der gesetzten Bit einer Subnetzmaske angegeben
- Ein Standard-C-Klasse-Netz wird also so ausgedrückt: 192.168.100.0/24 (255.255.255.0, wobei jede einzelne 255 acht gesetzten Bit entspricht)
- Die Ermittlung der Netzwerkmitgliedschaft eines Hosts erfolgt über eine logische UND-Verknüpfung.
- Das Ergebnis einer UND-Verknüpfung ist immer dann 1, wenn beide verknüpften Werte ebenfalls 1 sind.
- In allen anderen Fällen ist das Ergebnis der Verknüpfung 0.
Beispiele
Beispiel 1
Zur Verdeutlichung soll die Netzwerkmitgliedschaft eines Computers mit der Adresse 192.168.150.9/24 ermittelt werden: Für die Berechnung müssen sowohl IP-Adresse als auch Subnetzmaske zunächst in Binärschreibweise umgewandelt werden:
Dezimal | Binär | |
---|---|---|
Host-Adresse | 192.168.150.9 | 1100.0000.1010.1000.1001.0110.0000.1001 |
Subnetzmaske | 255.255.255.0 | 1111.1111.1111.1111.1111.1111.0000.0000 |
Netzadresse | 192.168.150.0 | 1100.0000.1010.1000.1001.0110.0000.0000 |
Die logische UND-Verknüpfung ergab, dass sich der Computer in dem Netzwerk mit der IP-Adresse 192.168.150.0 befindet
- Der Netzwerkanteil der IP-Adresse erstreckt sich in diesem Fall über die ersten drei Oktette (24 Bit), weil die Subnetzmaske eben falls eine Länge von 24 Bit aufweist.
Beispiel 2
Hier wird eine Nicht-Standardsubnetzmaske verwendet, um die Unterteilung eines Netzes in Subnetze zu verdeutlichen
- Ein Host mit der Adresse 192.168.4.147/26 soll ein Datenpaket an einen anderen Host mit der IP-Adresse 192.168.4.116 senden
- Die Subnetzmaske des Ziel-Hosts ist einer sendenden Station nie bekannt.
- Das ist auch nicht nötig, denn wenn sich der Ziel-Host in demselben Subnetz befindet wie die sendende Station, dann kann das Paket direkt zugestellt werden
- Im anderen Fall muss das Paket zunächst an einen Router (eventuell Standardgateway) geschickt werden, der sich dann um die Weiterleitung kümmert. Es müssen zwei Berechnungen erfolgen:
- Quell-Host
Dezimal | Binär | |
---|---|---|
Host-Adresse | 192.168.004.147 | 11000000.10101000.00000100.10010011 |
Subnetzmaske | 255.255.255.192 | 11111111.11111111.11111111.11000000 |
Netzadresse | 192.168.004.128 | 11000000.10101000.00000100.10000000 |
- Ziel-Host
Dezimal | Binär | |
---|---|---|
Host-Adresse | 192.168.004.116 | 11000000.10101000.00000100.01110100 |
Subnetzmaske | 255.255.255.192 | 11111111.11111111.11111111.11000000 |
Netzadresse | 192.168.004.064 | 11000000.10101000.00000100.01000000 |
- Der Quell-Host befindet sich selbst laut logischer UND-Verknüpfung mit der Subnetzmaske im Netzwerk 192.168.4.128
- Diese Adresse darf in diesem Fall, da das ursprüngliche Netz in Subnetze unterteilt wurde, nicht mehr für einen Host verwendet werden
- Die Subnetzmaske für den Ziel-Host wurde hier nur angenommen. Sie ist für die sendende Maschine aber auch unerheblich, weil sich die IP-Adresse des Ziels in einem fremden Netzwerk befindet
- Das zu sendende Paket muss also über einen Router zugestellt werden
- Der Abstand zwischen den einzelnen Subnetzen kann an der Subnetzmaske abgelesen werden
- Man braucht nur das letzte gesetzte Bit zu betrachten
Beispiel 3
Das letzte gesetzte Bit ist das 64er-Bit
- Das bedeutet einen Abstand der Netze untereinander von 64
- Netzwerke-Adressen
192.168.4.0/26 192.168.4.64/26 192.168.4.128/26 192.168.4.192/26
- Hosts
Die Anzahl der möglichen Hosts pro Subnetz errechnet sich aus den verbleibenden Bit für Host-Adressen abzüglich der Netzwerkadresse und der Broadcast-Adresse
- In diesem Fall also 2^6 - 2 = 64 - 2 = 62 Hosts
Beispiel: 24-Bit-Netzwerk
Subnetzmaske | = | 11111111.11111111.11111111.00000000 | (255.255.255.0) |
Der Besitzer legt den Netzteil auf 192.168.0 fest: | |||
Netzteil | = | 11000000.10101000.00000000 | |
Das führt zu folgender Adressverteilung: | |||
Netzname | = | 11000000.10101000.00000000.00000000 | (192.168.0.0) |
Erste Adr. | = | 11000000.10101000.00000000.00000001 | (192.168.0.1) |
Letzte Adr. | = | 11000000.10101000.00000000.11111110 | (192.168.0.254) |
Broadcast | = | 11000000.10101000.00000000.11111111 | (192.168.0.255) |
Anzahl zu vergebende Adressen: 28 − 2 = 254 |
Beispiel: 21-Bit-Netzwerk
Subnetzmaske | = | 11111111.11111111.11111000.00000000 | (255.255.248.0) |
Der Besitzer legt den Netzteil auf 192.168.120 fest (wobei im dritten Oktett nur die fünf höchstwertigen Bit zum Netzteil gehören): | |||
Netzteil | = | 11000000.10101000.01111 | |
Das führt zu folgender Adressverteilung: | |||
Netzname | = | 11000000.10101000.01111000.00000000 | (192.168.120.0) |
Erste Adr. | = | 11000000.10101000.01111000.00000001 | (192.168.120.1) |
Letzte Adr. | = | 11000000.10101000.01111111.11111110 | (192.168.127.254) |
Broadcast | = | 11000000.10101000.01111111.11111111 | (192.168.127.255) |
Anzahl zu vergebende Adressen: 211 − 2 = 2046 |
TMP
IPv4/Subnetz/CIDR
Beschreibung
Classless Inter-Domain Routing
- Effizienteren Nutzung des Adressraumes von IPv4
- Feste Zuordnung einer IPv4-Adresse zu einer Netzklasse entfällt
- Notation
Suffixe | /24 | Anzahl der 1-Bit in der Netzmaske |
Dotted-Decimal-Notation | CIDR-Notation |
---|---|
255.255.128.0 | /17 |
Beispiele
- IPv4-Adresse
- 192.168.2.7/24
- Netzmaske
- 255.255.255.0 (dezimale Schreibweise)
- 11111111.11111111.11111111.00000000 (duale Schreibweise)
- 3 x 8 = 24 gesetzte Bit, wie im CIDR-Suffix (/24) angegeben
- IPv4-Adresse
- 10.43.8.67/28
- Netzmaske
- 255.255.255.240
- 11111111.11111111.11111111.11110000
- 3 x 8 + 4 = 28 gesetzte Bit, wie im Suffix angegeben