Бесклассовая адресация (англ. Classless Inter-Domain Routing, англ. CIDR) — метод IP-адресации, позволяющий гибко управлять пространством IP-адресов, не используя жёсткие рамки классовой адресации. Использование этого метода позволяет экономно использовать ограниченный ресурс IP-адресов, поскольку возможно применение различных масок подсетей к различным подсетям.
Диапазоны адресов
IP-адрес является массивом битов. Принцип IP-адресации — выделение множества (диапазона, блока, подсети) IP-адресов, в котором некоторые битовые разряды имеют фиксированные значения, а остальные разряды пробегают все возможные значения. Блок адресов задаётся указанием начального адреса и маски подсети. Бесклассовая адресация основывается на переменной длине маски подсети (англ. variable length subnet mask, VLSM), в то время, как в классовой (традиционной) адресации длина маски строго фиксирована 0, 1, 2 или 3 установленными октетами.
Вот пример записи IP-адреса в бесклассовой нотации: 192.0.2.32/27.
октеты IP-адреса |
192
|
0
|
2
|
32
|
биты IP-адреса |
|
|
|
|
биты маски подсети |
|
|
|
|
октеты маски подсети |
255
|
255
|
255
|
224
|
В данном примере видно, что в маске подсети 27 бит слева выставлены в единицу (значащие биты). В таком случае говорят о длине префикса подсети в 27 бит и указывают через косую черту (знак /) после базового адреса.
Для упрощения таблиц маршрутизации можно объединять блоки адресов, указывая один большой блок вместо ряда мелких. Например, 4 смежные сети класса C (4 × 255 адресов, маска 255.255.255.0 или /24) могут быть объединены, с точки зрения далёких от них маршрутизаторов, в одну сеть /22. И напротив, сети можно разбивать на более мелкие подсети, и так далее.
Математическое обоснование
С точки зрения бесклассовой двоичной адресации пространство IP-адресов рассматривается как ультраметрическое. Разные блоки адресов являются в нём шара́ми, радиус которых убывает с увеличением n, и сами они формируют направленное двоичное дерево. То есть, от каждого блока (/n, для IPv4) можно «перейти» на один из двух блоков меньшего размера (/n+1), из которых он состоит.
Возможные маски
адресов |
битов |
префикс |
класс |
маска |
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 кибибайт |
10 |
/22 |
4C |
255.255.252.0 |
2 кибибайт |
11 |
/21 |
8C |
255.255.248.0 |
4 кибибайт |
12 |
/20 |
16C |
255.255.240.0 |
8 кибибайт |
13 |
/19 |
32C |
255.255.224.0 |
16 кибибайт |
14 |
/18 |
64C |
255.255.192.0 |
32 кибибайт |
15 |
/17 |
128C |
255.255.128.0 |
64 кибибайт |
16 |
/16 |
1B |
255.255.0.0 |
128 кибибайт |
17 |
/15 |
2B |
255.254.0.0 |
256 кибибайт |
18 |
/14
|
4B |
255.252.0.0 |
512 кибибайт |
19 |
/13 |
8B |
255.248.0.0 |
1 мебибайт |
20 |
/12 |
16B |
255.240.0.0 |
2 мебибайт |
21 |
/11 |
32B |
255.224.0.0 |
4 мебибайт |
22 |
/10
|
64B |
255.192.0.0 |
8 мебибайт |
23 |
/9 |
128B |
255.128.0.0 |
16 мебибайт
|
24 |
/8 |
1A |
255.0.0.0 |
32 мебибайт |
25 |
/7 |
2A |
254.0.0.0 |
64 мебибайт |
26 |
/6 |
4A |
252.0.0.0 |
128 мебибайт |
27 |
/5 |
8A |
248.0.0.0 |
256 мебибайт |
28 |
/4 |
16A |
240.0.0.0 |
512 мебибайт |
29 |
/3 |
32A |
224.0.0.0 |
1 гибибайт |
30 |
/2 |
64A |
192.0.0.0 |
2 гибибайт |
31 |
/1 |
128A |
128.0.0.0 |
4 гибибайт |
32 |
/0 |
256A |
0.0.0.0 |
|