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
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 | 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.
(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.
Blöcke, die nur aus Nullen bestehen, können (einmalig) mit "::" abgekürzt werden:
IPv6 Adresse | 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.
(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.