Бесклассовая адресация — метод 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-адреса |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
Биты маски подсети |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
Октеты маски подсети |
255 |
255 |
255 |
224 |
В данном примере видно, что в маске подсети 27 бит слева выставлены в единицу (значащие биты). В таком случае говорят о длине префикса подсети в 27 бит и указывают через косую черту (знак /) после базового адреса.
Вот ещё один пример записи адреса с применением бесклассовой адресации: 172.16.0.1/12.
Октеты IP-адреса |
172 |
16 |
0 |
1 |
||||||||||||||||||||||||||||
Биты IP-адреса |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Биты маски подсети |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Октеты маски подсети |
255 |
240 |
0 |
0 |
Множество всех адресов соответствует нулевой маске подсети и обозначается /0, а конкретный адрес IPv4 — маске подсети с длиной префикса в 32 бита, обозначаемой /32.
Для упрощения таблиц маршрутизации можно объединять блоки адресов, указывая один большой блок вместо ряда мелких. Например, 4 смежные сети класса C (4 × 255 адресов, маска 255.255.255.0 или /24) могут быть объединены, с точки зрения далёких от них маршрутизаторов, в одну сеть /22. И напротив, сети можно разбивать на более мелкие подсети, и так далее.
Классовая адресация сетей — метод IP-адресации. Использование этого метода не позволяет экономно использовать ограниченный ресурс IP-адресов, поскольку невозможно применение различных масок подсетей к различным подсетям.
Основные понятия
Изначально адресация в сетях IP осуществлялась на основе классов: первые биты определяли класс сети, а по классу сети можно было сказать - сколько бит было отведено под номер сети и номер узла. Всего существовало 5 классов:
Класс A |
0 |
7-разрядный адрес сети |
24-разрядный адрес интерфейса |
Класс B |
10 |
14-разрядный адрес сети |
16-разрядный адрес интерфейса |
Класс C |
110 |
21-разрядный адрес сети |
8-разрядный адрес интерфейса |
Класс D |
1110 |
Адрес многоадресной рассылки |
Класс E |
11110 |
Зарезервировано |
Адресация IP.
Особенностью IP является гибкая система адресации. Плата за это - наличие централизованных служб типа DNS.
Адрес состоит из двух частей – номер сети и номер узла в сети. IP-адрес версии 4 имеет длину 4 байта, записывается в виде четырех десятичных чисел, разделенных точками.
Для определения, какие байты принадлежат номеру сети, а какие номеру узла существует несколько подходов.
Одним из подходов был классовый метод адресации.
Классы IP-адресов
Первые Число Число
Класс биты байт для байт для Число сетей Число узлов
№ сети № узла
A 0 1 3 128 (-2) 16 777 216 (-2)
B 10 2 2 16 384 65 536 (-2)
C 110 3 1 2 097 152 256 (-2)
D 1110 Групповой адрес 268 435 456
E 11110 Зарезервировано 134 217 728
Нумерация IP-сетей
Класс Первые Наименьший номер сети Наибольший номер сети
биты
А 0 1.0.0.0 126.0.0.0
В 10 128.0.0.0 191.255.0.0
С 110 192.0.0.0 223.255.255.0
D 1110 224.0.0.0 239.255.255.255
E 11110 240.0.0.0 247.255.255.255
Нетрудно посчитать, что всего в пространстве адресов IP - 128 сетей по 16 777 216 адресов класса A, 16384 сети по 65536 адресов класса B и 2 097 152 сети по 256 адресов класса C, а также 268 435 456 адресов многоадресной рассылки и 134 217 728 зарезервированных адресов. С ростом сети Интернет эта система оказалась неэффективной и была дополненаCIDR (бесклассовой адресацией).
Математическое обоснование
С точки зрения бесклассовой двоичной адресации пространство IP-адресов рассматривается как ультраметрическое. Разные блоки адресов являются в нём шара́ми, радиус которых убывает с увеличением n, и сами они формируют направленное двоичное дерево. То есть, от каждого блока (/n, для IPv4) можно «перейти» на один из двух блоков меньшего размера (/n+1), из которых он состоит.
[править]Возможные маски
IPv4 CIDR |
||||
IP/маска |
До последнего IP в подсети |
Маска |
Количество адресов |
Класс |
a.b.c.d/32 |
+0.0.0.0 |
255.255.255.255 |
1 |
1/256 C |
a.b.c.d/31 |
+0.0.0.1 |
255.255.255.254 |
2 |
1/128 C |
a.b.c.d/30 |
+0.0.0.3 |
255.255.255.252 |
4 |
1/64 C |
a.b.c.d/29 |
+0.0.0.7 |
255.255.255.248 |
8 |
1/32 C |
a.b.c.d/28 |
+0.0.0.15 |
255.255.255.240 |
16 |
1/16 C |
a.b.c.d/27 |
+0.0.0.31 |
255.255.255.224 |
32 |
1/8 C |
a.b.c.d/26 |
+0.0.0.63 |
255.255.255.192 |
64 |
1/4 C |
a.b.c.d/25 |
+0.0.0.127 |
255.255.255.128 |
128 |
1/2 C |
a.b.c.0/24 |
+0.0.0.255 |
255.255.255.000 |
256 |
1 C |
a.b.c.0/23 |
+0.0.1.255 |
255.255.254.000 |
512 |
2 C |
a.b.c.0/22 |
+0.0.3.255 |
255.255.252.000 |
1024 |
4 C |
a.b.c.0/21 |
+0.0.7.255 |
255.255.248.000 |
2048 |
8 C |
a.b.c.0/20 |
+0.0.15.255 |
255.255.240.000 |
4096 |
16 C |
a.b.c.0/19 |
+0.0.31.255 |
255.255.224.000 |
8192 |
32 C |
a.b.c.0/18 |
+0.0.63.255 |
255.255.192.000 |
16 384 |
64 C |
a.b.c.0/17 |
+0.0.127.255 |
255.255.128.000 |
32 768 |
128 C |
a.b.0.0/16 |
+0.0.255.255 |
255.255.000.000 |
65 536 |
256 C = 1 B |
a.b.0.0/15 |
+0.1.255.255 |
255.254.000.000 |
131 072 |
2 B |
a.b.0.0/14 |
+0.3.255.255 |
255.252.000.000 |
262 144 |
4 B |
a.b.0.0/13 |
+0.7.255.255 |
255.248.000.000 |
524 288 |
8 B |
a.b.0.0/12 |
+0.15.255.255 |
255.240.000.000 |
1 048 576 |
16 B |
a.b.0.0/11 |
+0.31.255.255 |
255.224.000.000 |
2 097 152 |
32 B |
a.b.0.0/10 |
+0.63.255.255 |
255.192.000.000 |
4 194 304 |
64 B |
a.b.0.0/9 |
+0.127.255.255 |
255.128.000.000 |
8 388 608 |
128 B |
a.0.0.0/8 |
+0.255.255.255 |
255.000.000.000 |
16 777 216 |
256 B = 1 A |
a.0.0.0/7 |
+1.255.255.255 |
254.000.000.000 |
33 554 432 |
2 A |
a.0.0.0/6 |
+3.255.255.255 |
252.000.000.000 |
67 108 864 |
4 A |
a.0.0.0/5 |
+7.255.255.255 |
248.000.000.000 |
134 217 728 |
8 A |
a.0.0.0/4 |
+15.255.255.255 |
240.000.000.000 |
268 435 456 |
16 A |
a.0.0.0/3 |
+31.255.255.255 |
224.000.000.000 |
536 870 912 |
32 A |
a.0.0.0/2 |
+63.255.255.255 |
192.000.000.000 |
1 073 741 824 |
64 A |
a.0.0.0/1 |
+127.255.255.255 |
128.000.000.000 |
2 147 483 648 |
128 A |
0.0.0.0/0 |
+255.255.255.255 |
000.000.000.000 |
4 294 967 296 |
256 A |
Количество адресов подсети не равно количеству возможных узлов. Нулевой адрес IP резервируется для идентификации подсети, последний — в качестве широковещательного адреса, таким образом в реально действующих сетях возможно количество узлов на два меньшее количества адресов.
В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Например, узел с IP-адресом 12.34.56.78 и маской подсети 255.255.255.0 находится в сети 12.34.56.0/24 с длиной префикса 24 бита. В случае адресации IPv6 адрес 2001:0DB8:1:0:6C1F:A78A:3CB5:1ADD с длиной префикса 32 бита (/32) находится в сети 2001:0DB8::/32.
Маски подсети являются основой метода бесклассовой маршрутизации (CIDR). При этом подходе маску подсети записывают вместе с IP-адресом в формате «IP-адрес/количество единичных бит в маске». Число после слэша означает количество единичных разрядов в маске подсети.
Рассмотрим пример записи
диапазона IP-адресов в виде 10.96.0.0/11. В этом случае маска подсети будет
иметь двоичный вид 11111111 11100000 00000000 00000000, или то же самое в
десятичном виде: 255.224.0.0. 11 разрядов IP-адреса отводятся под адрес сети, а остальные
32 — 11 = 21 разряд полного адреса (11111111 11100000 00000000
00000000) — под локальный адрес в этой сети. Итого, 10.96.0.0/11 означает диапазон
адресов от 10.96.0.0 до 10.127.255.255.