Classless Inter-Domain Routing

Aus Foxwiki

Classless Inter-Domain Routing (CIDR) -

Zu 10.10.1.32/27 gehört 10.10.1.44, aber nicht 10.10.1.90

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

  • Es 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 Bits 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 wie 172.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 und 192.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 Bits im Hostteil auf null, also die kleinste Adresse im Bereich) und die Broadcast-Adresse (alle Bits 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 [Anm. 1] 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)[Anm. 2] 255.255.255.254 11111111.11111111.11111111.11111110 Verbindungsnetz zwischen zwei Routern[1]
/32 1 (1x1) 0 (1)[Anm. 2] 255.255.255.255 11111111.11111111.11111111.11111111 einzelner Host

<references group="Anm."> [2] [3]

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 Datum Status
950 Internet Standard Subnetting Procedure 1985
1338 Supernetting: an Address Assignment and Aggregation Strategy 1992
1518 An Architecture for IP Address Allocation with CIDR 1993 HISTORISCH
1519 Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy 1993 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 2006
4291 IP Version 6 Addressing Architecture enthält im Kapitel 2.3 die Schreibweise bei IPv6
  1. https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing



Referenzfehler: Es sind <ref>-Tags für die Gruppe „Anm.“ vorhanden, jedoch wurde kein dazugehöriges <references group="Anm." />-Tag gefunden.

  1. Adressbereiche der Größe /0 bis /7 werden in der Praxis nicht als einzelnes Subnetz verwendet, sondern in mehrere Subnetze unterteilt.
  2. /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.