**Bezklases starpdomēnu maršrutēšana** (*Classless Inter-Domain Routing*, *CIDR*) ir IP adrešu un apakštīklu sadales metode. Tā atļauj elastīgāku adrešu sadali nekā IPv4 sākotnējais klašu (*clasful*) dalījums.

CIDR izmanto mainīga garuma apakštīklu masku (*Variable Length Subnet Masks*, *VLSM*) tehnoloģiju. VLSM atļauj elastīgu un līdz ar to ekonomisku dalīšana apakštīklos (*subnetting*), kā arī prefiksu apkopošanu (*prefix aggregation*).

IPv6 protokols ir veidots bezklašu maršrutēšanai un izmanto CIDR tehnoloģiju.

CIDR aprakstīts RFC 1518 un RFC 1519.

VLSM
----

Klasiskajā IPv4 tīkla masku (prefiksa garumu) noteica adreses klase, līdz ar to bija iespējami tīkli ar prefiksu garumiem /8, /16 un /24.

VLSM atļauj pēc vajadzības izmantot brīvi izraudzītu prefiksa garumu 0 — 32 bitus (0 — 128 bitus IPv6 gadījumā). Prefiksa garums VLSM ir visām apakštīkla adresēm kopīgo vecāko bitu skaits.

Dalīšana apakštīklos
--------------------

Tā kā VLSM dod iespēju izmantot jebkādu prefiksa garumu, IP adrešu apgabalus iespējas sadalīt apakštīklos, kuru lielums ir iespējami tuvs nepieciešamajam adrešu skaitam tīklā. Piemēram, /24 adrešu apgabalu var sadalīt četros /26 apakštīklos ar 64 IP adresēm katrā.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 192.168.16.0/24 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|  |
| 192.168.16.0/26 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 192.168.16.64/26 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 192.168.16.128/26 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 192.168.16.192/26 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |

VLSM pieļauj arī apakštīklu tālāku sadalīšanu (*sub-subnetting*). Ja nepieciešami trīs apakštīkli pa 64 adresēm katrs, viens 32 adrešu apakštīkls un divi 16 adrešu tīkli, vienu no iepriekšējā piemērā minētajiem /26 apakštīkliem var sadalīt divos /27 apakštīklos un vienu no tiem — divos /28 apakštīklos. Viens no iespējamiem šādiem sadalījumiem ir sekojošs: 192.168.16.0/26; 192.168.16.64/27; 192.168.16.96/28; 192.168.16.112/28; 192.168.16.128/26; 192.168.16.192/26.

Dalīšana apakštīklos ar VLSM dod iespēju efektīvāk izmantot adrešu apgabalus tādējādi taupot IP adreses.

Prefiksu apkopošana
-------------------

Cita CIDR iespēja ir, pretēji apakštīklu dalījumam, apkopot prefiksus. To sauc arī par maršrutu apkopošanu (*route summarization* vai *supernetting*). Piemēram, četrus blakusesošus /24 prefiksus ar kopīgiem 22 vecākajiem bitiem adresē var apvienot un izmantot interneta maršrutēšanai kā vienu /22 prefiksu.

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 192.168.16.0/24 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 192.168.17.0/24 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 192.168.18.0/24 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 192.168.19.0/24 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|  |
| 192.168.16.0/22 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

Šīs tehnoloģijas izmantošana ļauj ievērojami samazināt interneta maršrutēšanas tabulas.

Iespējamās maskas
-----------------

| adrese | biti | prefikss | klase | maska
  |
| --- | --- | --- | --- | --- |
| 1
  | 0
  | /32
  |  | 255.255.255.255
  |
| 2
  | 1
  | /31
  |  | 255.255.255.254
  |
| 4
  | 2
  | /30
  |  | 255.255.255.252
  |
| 8
  | 3
  | /29
  |  | 255.255.255.248
  |
| 16
  | 4
  | /28
  |  | 255.255.255.240
  |
| 32
  | 5
  | /27
  |  | 255.255.255.224
  |
| 64
  | 6
  | /26
  |  | 255.255.255.192
  |
| 128
  | 7
  | /25
  |  | 255.255.255.128
  |
| 256
  | 8
  | /24
  | 1C
  | 255.255.255.0
  |
| 512
  | 9
  | /23
  | 2C
  | 255.255.254.0
  |
| 1 kilobaits | 10
  | /22
  | 4C
  | 255.255.252.0
  |
| 2 kilobaiti
  | 11
  | /21
  | 8C
  | 255.255.248.0
  |
| 4 kilobaiti
  | 12
  | /20
  | 16C
  | 255.255.240.0
  |
| 8 kilobaiti
  | 13
  | /19
  | 32C
  | 255.255.224.0
  |
| 16 kilobaiti
  | 14
  | /18
  | 64C
  | 255.255.192.0
  |
| 32 kilobaiti
  | 15
  | /17
  | 128C
  | 255.255.128.0
  |
| 64 kilobaiti
  | 16
  | /16
  | 1B
  | 255.255.0.0
  |
| 128 kilobaiti
  | 17
  | /15
  | 2B
  | 255.254.0.0
  |
| 256 kilobaiti
  | 18
  | /14
  | 4B
  | 255.252.0.0
  |
| 512 kilobaiti
  | 19
  | /13
  | 8B
  | 255.248.0.0
  |
| 1 Megabaits | 20
  | /12
  | 16B
  | 255.240.0.0
  |
| 2 Megabaiti
  | 21
  | /11
  | 32B
  | 255.224.0.0
  |
| 4 Megabaiti
  | 22
  | /10
  | 64B
  | 255.192.0.0
  |
| 8 Megabaiti
  | 23
  | /9
  | 128B
  | 255.128.0.0
  |
| 16 Megabaiti
  | 24
  | /8
  | 1A
  | 255.0.0.0
  |
| 32 Megabaiti
  | 25
  | /7
  | 2A
  | 254.0.0.0
  |
| 64 Megabaiti
  | 26
  | /6
  | 4A
  | 252.0.0.0
  |
| 128 Megabaiti
  | 27
  | /5
  | 8A
  | 248.0.0.0
  |
| 256 Megabaiti
  | 28
  | /4
  | 16A
  | 240.0.0.0
  |
| 512 Megabaiti
  | 29
  | /3
  | 32A
  | 224.0.0.0
  |
| 1 Gigabaits | 30
  | /2
  | 64A
  | 192.0.0.0
  |
| 2 Gigabaiti
  | 31
  | /1
  | 128A
  | 128.0.0.0
  |
| 4 Gigabaiti
  | 32
  | /0
  | 256A
  | 0.0.0.0
  |

CIDR un maršrutēšanas protokoli
-------------------------------

Lai realizētu CIDR maršrutēšanas protokolā jābūt iespējai kopā ar prefiksu norādīt arī prefiksa garumu.

Vecākiem maršrutēšanas protokoliem (RIP, IGRP) šādas iespējas nav. Šos protokolus sauc par *classful* maršrutēšanas protokoliem.

Jaunākie maršrutēšanas protokoli (RIPv2, EIGRP, IS-IS, OSPF, BGP-4) atbalsta VLSM un tos sauc par *classless* maršrutēšanas protokoliem.

Ārējās saites
-------------

* RFC 1518 - An Architecture for IP Address Allocation with CIDR
* RFC 1519 - Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy
* RFC 4291 - IP Version 6 Addressing Architecture