Classless Inter-Domain Routing: Unterschied zwischen den Versionen

Aus Foxwiki
Markierung: Ersetzt
Zeile 36: Zeile 36:
===== Projekt =====
===== Projekt =====
===== Weblinks =====
===== Weblinks =====
= TMP =
[[Datei:IP Address Match.svg|miniatur|250px|Zu <code>10.10.1.32/27</code> 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-Adresse|IP-Adress]]-Raumes für [[IPv4]]. Es wurde 1993 eingeführt (RFC 1518, RFC 1519, RFC 4632), um die Größe von [[Routingtabelle]]n 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 [[Suffix]]e ein. Das Suffix gibt die Anzahl der 1-Bits in der Netzmaske an. Diese Schreibform, z.&nbsp;B. <code>172.17.0.0/17</code>, ist viel kürzer und im Umgang einfacher als die [[Dotted decimal notation]] wie <code>172.17.0.0/255.255.128.0</code> und ebenfalls eindeutig.
Bei [[IPv6]] ist die Notation gleich wie beim CIDR in IPv4 und besteht aus IPv6-Adresse und Präfixlänge (z.&nbsp;B. <code>2001:0DB8:0:CD30::1/60</code>).
== Beispiele ==
* Die Notation <code>192.168.2.7/24</code> entspricht der Adresse 192.168.2.7 mit der Netzmaske 255.255.255.0: In [[Dualsystem|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 <code>192.168.2.0/24, 192.168.2.1/24, 192.168.2.2/24, ... 192.168.2.254/24</code> und <code>192.168.2.255/24</code> 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 <code>192.168.2.0/24</code>.
* <code>10.43.8.67/28</code> entspricht der Adresse 10.43.8.67 mit der Netzmaske 255.255.255.240: In [[Dualsystem|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.1111'''0000''' (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
{| class="wikitable"
!Beschreibung
!Berechnung (Dualsystem)
!Binäre Darstellung der Adressen
!Dezimale Darstellung
|-
|IPv4-Adresse
|Vorgegeben/Ausgangsdefinition
|<code>00001010.00101011.00001000.01000011</code>
|10.43.8.67
|-
|Netzmaske
|Vorgegeben/Ausgangsdefinition
|<code>11111111.11111111.11111111.11110000</code>
|255.255.255.240
|-
|Directed Broadcast-Adresse
|ODER-Verknüpfung von IPv4-Adresse und negierter Netzmaske
|<code>00001010.00101011.00001000.01001111</code>
|10.43.8.79
|-
|Netzadresse (Netz-ID)
|UND-Verknüpfung von IPv4-Adresse und Netzmaske
|<code>00001010.00101011.00001000.01000000</code>
|10.43.8.64
|-
|Position im Netz (Host-ID)
|UND-Verknüpfung von IPv4-Adresse und negierter Netzmaske
|<code>00000000.00000000.00000000.00000011</code>
|3
|}
{| class="wikitable"
|-
|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 ''[[Aggregation (Informatik)|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 [[Border Gateway Protocol|BGP]], [[IS-IS]], [[Routing Information Protocol|RIP v2 (RIP II)]] (nicht RIP/RIP I) und [[Open Shortest Path First|OSPF]] und das [[Cisco]]-[[proprietär]]e [[Enhanced Interior Gateway Routing Protocol|EIGRP]] haben CIDR [[Implementierung|implementiert]].
Die CIDR-Notation hat sich inzwischen auf breiter Basis für die Referenzierung von IP-Netzen auch in Applikationssoftware (z.&nbsp;B. in [[IRC-Daemon]]s) 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 [[Oktett (Informatik)|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: <math>\text{Anzahl der IPv4-Adressen} = 2^{(32 - \text{Länge der Netzadresse})}</math>
{| class="wikitable"
!Notation
!Anzahl der Adressen
!Nutzbare<br />Host-Adressen
!Subnetzmaske<br />dezimal
!Subnetzmaske<br />binär
!Kommentar
|-
|/0
|4.294.967.296
|–<ref group="Anm." name="0-7" />
|0.0.0.0
|<code><span style="color:#bbb">00000000.00000000.00000000.00000000</span></code>
| Vollständiger IPv4-Adressraum
|-
|/1
|2.147.483.648
|–
|128.0.0.0
|<code>1<span style="color:#bbb">0000000.00000000.00000000.00000000</span></code>
|
|-
|/2
|1.073.741.824
|–
|192.0.0.0
|<code>11<span style="color:#bbb">000000.00000000.00000000.00000000</span></code>
|
|-
|/3
|536.870.912
|–
|224.0.0.0
|<code>111<span style="color:#bbb">00000.00000000.00000000.00000000</span></code>
|
|-
|/4
|268.435.456
|–
|240.0.0.0
|<code>1111<span style="color:#bbb">0000.00000000.00000000.00000000</span></code>
|
|-
|/5
|134.217.728
|–
|248.0.0.0
|<code>11111<span style="color:#bbb">000.00000000.00000000.00000000</span></code>
|
|-
|/6
|67.108.864
|–
|252.0.0.0
|<code>111111<span style="color:#bbb">00.00000000.00000000.00000000</span></code>
|
|-
|/7
|33.554.432
|–
|254.0.0.0
|<code>1111111<span style="color:#bbb">0.00000000.00000000.00000000</span></code>
|
|-
|/8
|16.777.216
|16.777.214
|255.0.0.0
|<code>11111111.<span style="color:#bbb">00000000.00000000.00000000</span></code>
|„Class A“-Größe
|-
|/9
|8.388.608 (128x65.536)
|8.388.606
|255.128.0.0
|<code>11111111.1<span style="color:#bbb">0000000.00000000.00000000</span></code>
|
|-
|/10
|4.194.304 (64x65.536)
|4.194.302
|255.192.0.0
|<code>11111111.11<span style="color:#bbb">000000.00000000.00000000</span></code>
|
|-
|/11
|2.097.152 (32x65.536)
|2.097.150
|255.224.0.0
|<code>11111111.111<span style="color:#bbb">00000.00000000.00000000</span></code>
|
|-
|/12
|1.048.576 (16x65.536)
|1.048.574
|255.240.0.0
|<code>11111111.1111<span style="color:#bbb">0000.00000000.00000000</span></code>
|
|-
|/13
|524.288 (8x65.536)
|524.286
|255.248.0.0
|<code>11111111.11111<span style="color:#bbb">000.00000000.00000000</span></code>
|
|-
|/14
|262.144 (4x65.536)
|262.142
|255.252.0.0
|<code>11111111.111111<span style="color:#bbb">00.00000000.00000000</span></code>
|
|-
|/15
|131.072 (2x65.536)
|131.070
|255.254.0.0
|<code>11111111.1111111<span style="color:#bbb">0.00000000.00000000</span></code>
|
|-
|/16
|65.536 (1x65.536)
|65.534
|255.255.0.0
|<code>11111111.11111111.<span style="color:#bbb">00000000.00000000</span></code>
|„Class B“-Größe
|-
|/17
|32.768 (128x256)
|32.766
|255.255.128.0
|<code>11111111.11111111.1<span style="color:#bbb">0000000.00000000</span></code>
|
|-
|/18
|16.384 (64x256)
|16.382
|255.255.192.0
|<code>11111111.11111111.11<span style="color:#bbb">000000.00000000</span></code>
|
|-
|/19
|8.192 (32x256)
|8.190
|255.255.224.0
|<code>11111111.11111111.111<span style="color:#bbb">00000.00000000</span></code>
|
|-
|/20
|4.096 (16x256)
|4.094
|255.255.240.0
|<code>11111111.11111111.1111<span style="color:#bbb">0000.00000000</span></code>
|
|-
|/21
|2.048 (8x256)
|2.046
|255.255.248.0
|<code>11111111.11111111.11111<span style="color:#bbb">000.00000000</span></code>
|
|-
|/22
|1.024 (4x256)
|1.022
|255.255.252.0
|<code>11111111.11111111.111111<span style="color:#bbb">00.00000000</span></code>
|
|-
|/23
|512 (2x256)
|510
|255.255.254.0
|<code>11111111.11111111.1111111<span style="color:#bbb">0.00000000</span></code>
|
|-
|/24
|256 (1x256)
|254
|255.255.255.0
|<code>11111111.11111111.11111111.<span style="color:#bbb">00000000</span></code>
|„Class C“-Größe
|-
|/25
|128 (128x1)
|126
|255.255.255.128
|<code>11111111.11111111.11111111.1<span style="color:#bbb">0000000</span></code>
|
|-
|/26
|64 (64x1)
|62
|255.255.255.192
|<code>11111111.11111111.11111111.11<span style="color:#bbb">000000</span></code>
|
|-
|/27
|32 (32x1)
|30
|255.255.255.224
|<code>11111111.11111111.11111111.111<span style="color:#bbb">00000</span></code>
|
|-
|/28
|16 (16x1)
|14
|255.255.255.240
|<code>11111111.11111111.11111111.1111<span style="color:#bbb">0000</span></code>
|
|-
|/29
|8 (8x1)
|6
|255.255.255.248
|<code>11111111.11111111.11111111.11111<span style="color:#bbb">000</span></code>
|
|-
|/30
|4 (4x1)
|2
|255.255.255.252
|<code>11111111.11111111.11111111.111111<span style="color:#bbb">00</span></code>
|Verbindungsnetz zwischen zwei Routern
|-
|/31
|2 (2x1)
|0 (2)<ref group="Anm." name="31-32" />
|255.255.255.254
|<code>11111111.11111111.11111111.1111111<span style="color:#bbb">0</span></code>
|Verbindungsnetz zwischen zwei Routern<ref>{{Internetquelle|url=https://tools.ietf.org/html/rfc3021|titel=Using 31-Bit Prefixes on IPv4 Point-to-Point Links|autor=|hrsg=|werk=|datum=|sprache=|zugriff=2017-04-13}}</ref>
|-
|/32
|1 (1x1)
|0 (1)<ref group="Anm." name="31-32" />
|255.255.255.255
|<code>11111111.11111111.11111111.11111111</code>
|einzelner Host
|}
<references group="Anm.">
<ref name="0-7">Adressbereiche der Größe ''/0'' bis ''/7'' werden in der Praxis nicht als einzelnes Subnetz verwendet, sondern in mehrere Subnetze unterteilt.</ref>
<ref name="31-32">'' /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 [[Subnetting#Verwendung auf Netzwerksegmenten|unter bestimmten Umständen]] möglich, die Netz- und Broadcastadresse für Hosts zu verwenden.</ref>
</references>
Seit der Einführung von CIDR ist ''[[Netzklasse|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 [[Netzklasse#Veraltete Lehre|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.


[[Kategorie:Rechnernetze]]
[[Kategorie:Rechnernetze]]

Version vom 27. Mai 2023, 11:18 Uhr

Classless Inter-Domain Routing (CIDR) -

Beschreibung

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

Weblinks

  1. netplanet: IP-Subnetting

Links

Projekt
Weblinks