**Classless Inter-Domain Routing (CIDR)** ble introdusert i begynnelsen av 1993 og er den siste forbedringen i måten IP-adresser tolkes på. Den erstatter den tidligere syntaksen med adresser inndelt i klasser. Denne måten gir større fleksibilitet når større blokker av IP-adresser skal deles opp i mindre nett. Dette gir følgende fordeler:

* Mer effektiv bruk av det begrensede adresserommet i IPv4.
* Bedre utnyttelse av hierarkier i adressetildelinger samt muligheten til sammenslåing av prefiks (prefiksaggregering), noe som reduserer belastningen på den globale internet routing-tabellen.

Bakgrunn
--------

IP-adresser er oppdelt i to deler; nettverksadressen (som identifiserer et helt nett eller et subnett) og vertsadressen (som identifiserer en spesifikk maskintilkobling til nettverket). Denne oppdelingen brukes for å kontrollere hvordan trafikk routes blant IP-nettverkene.

Historisk sett var IP-adresserommet oppdelt i tre klasser, der hver nettverksklasse hadde en forutbestemt størrelse. Klassen og lengden av subnettmasken og antallet verter i nettverket kunne alltid bestemmes fra de mest signifikante bitene i IP-adressen. Uten noen annen måte å spesifisere lengden på subnettmasken på, ble routingprotokollene tvunget til å bruke klassen for å bestemme størrelsen på nettverksprefiksene i routingtabellene.

CIDR og masker
--------------

En subnettmaske er en bitmaske som viser hvor nettverksadressene slutter og vertsadressene begynner. CIDR bruker en variabel lengde på submasken, VLSM (variable length subnet masks), for å allokere IP-adresser til subnett for å passe spesifikke behov i stedet for å bruke generelle nettverksregler. Oppdelingen mellom nettverk og vert kan skje ved alle bit-grenser i adressen. Prosessen kan være rekursiv, hvilket gjør at en del av adresserommet kan bli oppdelt i enda mindre biter gjennom å bruke en maske som dekker flere biter.

Ettersom de gamle klasseoppdelningene ignoreres kalles det nye systemet klasseløs routing (classless routing). En følge av dette ble at det gamle systemet kalles for klassefull routing (classful routing).

CIDR/VLSM nettverksadresser brukes nå over hele internett, de er også brukt på andre steder, som for eksempel i private nettverk. I et normalstort kontor- eller hjemmenettverk ser brukeren ikke dette i praksis ettersom nettverkene ofte bruker spesielt reserverte IP-adresser fra RFC 1918.

Sammenslåing av prefiks
-----------------------

En annen gevinst med CIDR er muligheten til å slå sammen mindre prefiks til større (routing aggregasjon). Som eksempel kan 16 stykk /24 nettverk som ligger i rekkefølge aggregeres til et /20 nettverk. To /20 nettverk som ligger inntil hverandre kan slås sammen til et /19 nett og så videre. Dette gir muligheten til å redusere størrelsen på hele den globale internet routing-tabellen.

For tiden vil de færreste ISPer route offentlige nett mindre enn /24 hvilket er en effektiv måte å forhindre at mindre nett får offentlig internet routing på hvis de ikke har blitt aggregerte av en ISP[].

CIDR-notasjon
-------------

Standardnotasjonen for en CIDR-adresseblokk begynner med nettverksadressen, som deretter fylles opp med nuller til høyre, slik at en full adresse opprettholdes. Dette følges av et /-tegn og en prefikslengde i biter som bestemmer størrelsen på det aktuelle nettet (prefikset er egentlig lengden på subnettmasken).

Noen tydeliggjørende eksempler:

* 192.168.0.0/24 representerer de 256 IPv4-adressene mellom 192.168.0.0 og 192.168.0.255, der 192.168.0.255 er broadcastadressen.
* 192.168.0.0/22 representerer de 1024 IPv4-adressene mellom 192.168.0.0 og 192.168.3.255, der 192.168.3.255 er broadcastadressen.
* 2002:C0A8::/28 representerer IPv6-adressene mellom 2002:C0A8:0:0:0:0:0:0 og 2002:C0A8:FFFF:FFFF:FFFF:FFFF:FFFF.

For IPv4-adresser finnes det en alternativ representasjon som bruker nettverksadressen og nettverkets subnettmaske, skrevet som punktinndelte desimaler:

* 192.168.0.0/24 kan skrives som 192.168.0.0 255.255.255.0
* 192.168.0.0/22 kan skrives som 192.168.0.0 255.255.252.0

Adressesegment
--------------

Et **adressesegment** er den del av et IP-nett som avgrenses med en nettverksmaske. Den kan angis i form av fire desimale tall (255.255.255.0) eller den mer moderne formen CIDR som angir antallet relevante biter (/24). Disse eksemplene gir et segment på 255 unike adresser hvorav 252 er brukbare for servere eller klienter. x.x.x.0 angir nettverksadressen, x.x.x.255 er en broadcastadresse og en valgfri adresse er reservert for nettets standard gateway.

Tabell over sub-nett 1-31
-------------------------

| Heks maske | CIDR | Desimal maske | Antall adresser | Klassefull |
| --- | --- | --- | --- | --- |
| 80.00.00.00 | /1 | 128.0.0.0 | 2048M | 128 A |
| C0.00.00.00 | /2 | 192.0.0.0 | 1024M | 64 A |
| E0.00.00.00 | /3 | 224.0.0.0 | 512M | 32 A |
| F0.00.00.00 | /4 | 240.0.0.0 | 256M | 16 A |
| F8.00.00.00 | /5 | 248.0.0.0 | 128M | 8 A |
| FC.00.00.00 | /6 | 252.0.0.0 | 64M | 4 A |
| FE.00.00.00 | /7 | 254.0.0.0 | 32M | 2 A |
| FF.00.00.00 | /8 | 255.0.0.0 | 16M | 1 A |
| FF.80.00.00 | /9 | 255.128.0.0 | 8M | 128 B |
| FF.C0.00.00 | /10 | 255.192.0.0 | 4M | 64 B |
| FF.E0.00.00 | /11 | 255.224.0.0 | 2M | 32 B |
| FF.F0.00.00 | /12 | 255.240.0.0 | 1024K | 16 B |
| FF.F8.00.00 | /13 | 255.248.0.0 | 512K | 8 B |
| FF.FC.00.00 | /14 | 255.252.0.0 | 256K | 4 B |
| FF.FE.00.00 | /15 | 255.254.0.0 | 128K | 2 B |
| FF.FF.00.00 | /16 | 255.255.0.0 | 64K | 1 B |
| FF.FF.80.00 | /17 | 255.255.128.0 | 32 K | 128 C |
| FF.FF.C0.00 | /18 | 255.255.192.0 | 16K | 64 C |
| FF.FF.E0.00 | /19 | 255.255.224.0 | 8K | 32 C |
| FF.FF.F0.00 | /20 | 255.255.240.0 | 4K | 16 C |
| FF.FF.F8.00 | /21 | 255.255.248.0 | 2K | 8 C |
| FF.FF.FC.00 | /22 | 255.255.252.0 | 1K | 4 C |
| FF.FF.FE.00 | /23 | 255.255.254.0 | 512 | 2 C |
| FF.FF.FF.00 | /24 | 255.255.255.0 | 256 | 1 C |
| FF.FF.FF.80 | /25 | 255.255.255.128 | 128 | 1/2 C |
| FF.FF.FF.C0 | /26 | 255.255.255.192 | 64 | 1/4 C |
| FF.FF.FF.E0 | /27 | 255.255.255.224 | 32 | 1/8 C |
| FF.FF.FF.F0 | /28 | 255.255.255.240 | 16 | 1/16 C |
| FF.FF.FF.F8 | /29 | 255.255.255.248 | 8 | 1/32 C |
| FF.FF.FF.FC | /30 | 255.255.255.252 | 4 | 1/64 C |
| FF.FF.FF.FE | /31 | 255.255.255.254 | 2 | 1/128 C |
| FF.FF.FF.FF | /32 | 255.255.255.255 | 1 | Dette er en adresse |

Eksterne lenker
---------------

* 
* Utvikling av et VLSM-adresseskjema https://web.archive.org/web/20070816180314/http://www.kunnskapsnett.no/innhold/Utvikling%20av%20et%20VLSM\_adresseskjema%20med%20diagrammer2.pdf