# Classless Inter-Domain Routing

Classless Inter-Domain routing (CIDR) is een methode voor het aanduiden van IP-adressen. CIDR werd in 1993 geïntroduceerd als vervanger voor de vroegere adressering op basis van klassen (A/B/C), met als doel de snelle groei van de routingtabellen tegen te houden en het probleem van de beperkte IP-adresruimte aan te pakken.
Het belangrijkste verschil met adressering op basis van klassen, is dat bij CIDR exact (op bit-niveau) wordt aangeduid welke bits van een 32-bit IPv4-adres tot het netwerkgedeelte behoren en welke gebruikt worden om de hosts in dat netwerk aan te duiden. De CIDR notatie is dezelfde als bij een IPv4-adres, maar met een "/" (slash) erachter, gevolgd door een decimaal getal tussen 0 en 32 dat het aantal significante bits aanduidt.

## Achtergrond

De snelle groei van het internet bracht begin jaren '90 enkele problemen met zich mee, meer bepaald bij de klasse-B-adressen, waaraan er snel een tekort was. Van deze klasse zijn er namelijk maar ruim 16000 beschikbaar. Voor middelgrote bedrijven zijn deze adressen zeer noodzakelijk, want een klasse lager (C) is er een beperking van 254 hosts, wat meestal niet genoeg is. Het aantal mogelijke hosts bij een klasse-A-adres (16777216) is dan weer vaak te veel, wat leidt tot verspilling van host-adressen. Daarnaast zijn de klasse-A-adressen (alle 126) al geruime tijd vergeven.
Een ander probleem was de steeds stijgende omvang van de routingtabellen. Een van de redenen daarvoor is dat er geen geografische link is tussen de vele kleine (klasse-C) netwerken. Ze zijn willekeurig verspreid, waardoor er voor elk netwerk een aparte regel in de routingtabel moet opgenomen worden.
Om die snelle groei van de routingtabellen tegen te gaan, maar ook om de IP-adressen efficiënter uit te delen, heeft men CIDR in gebruik genomen. Deze techniek heeft als kenmerken dat ze adressen hiërarchisch uitdeelt en dat ze gebruikmaakt van netwerkprefixen.

## Netwerkprefixen

In tegenstelling tot het uitdelen van een klasse A/B/C-adres aan een organisatie die zich aansluit op het internet, wordt een netwerkprefix uitgedeeld. Er wordt geen gebruik meer gemaakt van klassen, vandaar de naam Classless Inter Domain Routing. Dat maakt het mogelijk om tot op bit-niveau te bepalen wat het netwerkgedeelte en wat het hostgedeelte van een 32-bit IPv4-adres is.
Een netwerkprefix heeft dezelfde notatie als een IPv4-adres, maar met "/" (slash) erachter, gevolgd door een decimaal getal dat het aantal significante bits aanduidt (netwerkgedeelte).
Enkele voorbeelden
* De reeks adressen tussen 195.0.0.0 en 195.255.255.255 wordt als volgt aangeduid: 195.0.0.0/8. De eerste 8 bits zijn voor dit blok adressen namelijk gelijk.
* Een klasse B-netwerk 172.16.0.0 met een netwerkmask 255.255.0.0 wordt genoteerd als: 172.16.0.0/16. De eerste 16 bits zijn weer gelijk
* Het blok adressen van 195.229.8.0 tot 195.229.11.255 bestaat eigenlijk uit 4 klasse-C-adressen en wordt als volgt genoteerd: 195.229.8.0/22. 195.229 als eerste 16 bits en vervolgens de 6 bits 001000 (decimaal 8)
* Onder IPv6 bestaat het adressenblok 2001:db8::/48 uit adressen 2001:db8:0:0:0:0:0:0 t/m 2001:db8:0:ffff:ffff:ffff:ffff:ffff.
Het voordeel van het gebruik van netwerkprefixen is hun variabele lengte. Dat maakt het voor ISP’s mogelijk om een (vaak te groot) klasse B-adres te verdelen onder verschillende klanten, waardoor er veel minder adressen verloren gaan en er geen verspilling is.

## Hiërarchie

Om te zorgen voor een geografische link tussen netwerken, heeft men gekozen om bij CIDR de adressen op een hiërarchische wijze uit te delen.
* Op het hoogste niveau staat ICANN, de beheerder van alle IP-adressen.
* ICANN verdeelt blokken IP-adressen onder de Regional Internet Registry's (RIR). Enkele voorbeelden zijn RIPE, APNIC en ARIN. De uitgedeelde blokken zijn aaneensluitend en opeenvolgend.
* De Regional Internet Registry's (bijvoorbeeld het RIPE NCC) hebben dan de mogelijkheid om zelf blokken uit te delen aan Internet Service Providers (ISP's).
* ISP's (bijvoorbeeld Freedom Internet) delen op hun beurt dan weer blokken uit aan hun klanten.
* De klant kan, indien hij dit wenst, verder onderverdelen door bepaalde blokken aan bepaalde vestigingen van het bedrijf uit te delen.
Het voordeel van deze methode is dat de omvang van de routingtabellen sterk verkleind wordt, omdat de routinginformatie voor adressen met hetzelfde netwerkprefix (en dus ook dezelfde geografische locatie) samengevat kan worden.