CIDR

Classless Inter-Domain Routing (CIDR) beschreibt eine Möglichkeit, den Gesamten IP(v4|v6) Adressraum effizient in kleinere Subnetze aufzuteilen.
Im Gegensatz zu den Netzklassen (Class A, B, C) der Anfangszeit des Internets (vor 1993) ist der Adressraum dabei nicht statisch in definiert große Netze aufgeteilt, sondern die Subetzgröße wird zusammen mit der IP Adresse angegeben.
Siehe auch: Wikipedia
__TOC__
= Aufteilung des Adressraums =
Netzbereiche werden immer an einzelnen Bits einer Adresse getrennt. Dadurch ist eine effiziente Suche einer passenden Route möglich.
== Beispiel IPv4 ==
Der Adressraum bei IPv4 ist 32 Bit groß. Dabei werden immer 8 Bits, also 1 Byte, zu einem Oktett zusammengefasst:
IPv4 Adresse	IPv4 Adresse in Binärform
192.168.1.1 	11000000 10101000 00000001 00000001
Ein Subnetz entsteht durch die Trennung zwischen Prefix und Suffix an einer beliebigen Stelle. Werden 26 Prefix-Bits (und damit 6 Suffix-Bits) gewählt, so ergibt sich:
Prefix 	Prefix 	Prefix 	Prefix	Suffix
11000000	10101000	00000001	00 	000001
Das Suffix hat 8 Bits, daher ergeben sich ingesamt 28, also 256 verschiedene Möglichkeiten, also 256 Adressen in diesem Subnetz.</br>
(Wobei die erste und letzte Adresse in diesem Subnetz dann Netz- und Broadcastadresse sind)
Das ganze wird dann folgendermaßen notiert:
Adresse 	192.168.1.1
Prefixlänge 	26
CIDR-Notation	192.168.1.1/26
Netzmaske 	255.255.255.192
Die Netzmaske beschreibt dabei alle Bits, die zum Prefix gehören:
Netzmaske	255. 	255. 	255. 	192
Binär 	11111111	11111111	11111111	11000000
== Beispiel IPv6 ==
Der Adressraum bei IPv6 ist 128 Bit groß. Dabei werden immer 16 Bits, also 2 Byte, zu einem Block zusammengefasst. Dieser wird hexadezimal notiert. Jede Hex-Ziffer entspricht 4 Bit.</br>
Blöcke, die nur aus Nullen bestehen, können (einmalig) mit "::" abgekürzt werden:
IPv6 Adresse 	2001:db8:1:2::4:5	2001:db8:1:2::4:5	2001:db8:1:2::4:5	2001:db8:1:2::4:5	2001:db8:1:2::4:5	2001:db8:1:2::4:5	2001:db8:1:2::4:5	2001:db8:1:2::4:5
aufgeteilt 	2001 	db8 	1 	2 	:: 	:: 	4 	5
ausgeschrieben	2001 	0db8 	0001 	0002 	0000 	0000 	0004 	0005
Subnetze werden analog zu IPv4 irgendwo innerhalb der Adresse aufgeteilt. Durch die hexadezimale Notation ergeben sich mehr "glatte" Trennungen, als bei IPv4.
Mit 56 Prefix-Bits (und damit 72 Suffix-Bits) ergibt sich:
Prefix 	Suffix
2a01:0db8:0001:00	02:0000:0000:0004:0005
Das Suffix hat 72 Bits, daher ergeben sich ingesamt 272, also 4722366482869645213696 Adressen in diesem Subnetz.</br>
(Wobei die erste Adresse in diesem Subnetz dann die Netzadresse ist. Broadcastadressen gibt es bei IPv6 nicht)
Das ganze wird dann folgendermaßen notiert:
Adresse 	2001:db8:1:2::4:5
Prefixlänge 	56
CIDR-Notation	2001:db8:1:2::4:5/56
Prefix 	2001:db8:1:2::/56
Netzmasken sind bei der Notation von IPv6 Netzen eher ungewöhnlich.
= Tools =
=== ipcalc ===
ipcalc kann IPv4 Adressen schön (und bunt!) darstellen:
 fbl@fbl-desktop:~$ ipcalc 192.168.1.1/26
 Address: 192.168.1.1 11000000.10101000.00000001.00 000001
 Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000
 Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111
 =>
 Network: 192.168.1.0/26 11000000.10101000.00000001.00 000000
 HostMin: 192.168.1.1 11000000.10101000.00000001.00 000001
 HostMax: 192.168.1.62 11000000.10101000.00000001.00 111110
 Broadcast: 192.168.1.63 11000000.10101000.00000001.00 111111
 Hosts/Net: 62 Class C, Private Internet
Außerdem kann ipcalc die größtmöglichen Subnetze innerhalb eines IP-Bereichs finden:
 fbl@fbl-desktop:~$ ipcalc 192.168.12.0 - 192.168.76.255
 deaggregate 192.168.12.0 - 192.168.76.255
 192.168.12.0/22
 192.168.16.0/20
 192.168.32.0/19
 192.168.64.0/21
 192.168.72.0/22
 192.168.76.0/24
=== sipcalc ===
sipcalc kann sowohl IPv4, als auch IPv6. Aber leider keine Farbe. :-(
 fbl@fbl-desktop:~$ sipcalc 2001:db8:1:2::4:5/48
 -[ipv6 : 2001:db8:1:2::4:5/48] - 0
 
 [IPV6 INFO]
 Expanded Address	- 2001:0db8:0001:0002:0000:0000:0004:0005
 Compressed address	- 2001:db8:1:2::4:5
 Subnet prefix (masked)	- 2001:db8:1:0:0:0:0:0/48
 Address ID (masked)	- 0:0:0:2:0:0:4:5/48
 Prefix address		- ffff:ffff:ffff:0:0:0:0:0
 Prefix length		- 48
 Address type		- Aggregatable Global Unicast Addresses
 Network range		- 2001:0db8:0001:0000:0000:0000:0000:0000 -
 			 2001:0db8:0001:ffff:ffff:ffff:ffff:ffff
 
 -
=== heise IP Rechner ===
URL: http://www.heise.de/netze/tools/netzwerkrechner/
Kann nur IPv4. Dafür gibt es ein Tool, dass das kleinste Subnetz berechnet, das zwei bestimmte IP Adressen enthält.