S

1531.9

Классовая / Бесклассовая адресация

Классовая адресация

 

Классовая адресация IP сетей — архитектура сетевой адресации, которая использовалась в Интернете в период с 1981 по 1993 годы, до введения бесклассовой междоменной маршрутизации (CIDR, англ. Classless Inter-Domain Routing).

Этот метод адресации делит адресное пространство протокола Интернета версии 4 (IPv4) на пять классов адресов: A, B, C, D и E. Принадлежность адреса к конкретному классу задаётся первыми битами адреса. Каждый класс определяет либо соответствующий размер сети, то есть количество возможных адресов хостов внутри данной сети (классы А, В, С), либо сеть многоадресной передачи (класс D). Диапазон адресов пятого класса (E) был зарезервирован для будущих или экспериментальных целей.

Использование адресации на базе классов адресов в IP-сетях, в основном, прекращено: остатки классовых сетевых концепций на практике остаются лишь в ограниченном объеме в параметрах конфигурации по умолчанию некоторых сетевых программных и аппаратных компонентов (например, маска подсети по умолчанию). Применение этого метода адресации не позволяет экономно использовать ограниченный ресурс адресов IPv4, поскольку невозможно применение произвольных масок подсетей к различным подсетям.

 

Основные понятия

Изначально адресация в сетях IP осуществлялась на основе классов: первые биты определяли класс сети, а по классу сети можно было сказать — сколько бит было отведено под номер сети и номер узла. Всего существовало 5 классов:

класс A 0 адрес сети (7 бит) адрес хоста (24 бита)
класс B 10 адрес сети (14 бит) адрес хоста (16 бит)
класс C 110 адрес сети (21 бит) адрес хоста (8 бит)
класс D 1110 адрес многоадресной рассылки
класс E 1111[1] зарезервировано

Адреса класса А

Поддерживают свыше 16 миллионов хостов в каждой сети. Такой класс может применяться только для очень больших сетей (как правило, сетей провайдеров Internet верхнего уровня). Количество действительных сетей класса А равно 126, и все эти адреса давным-давно распределены. Открытые IP-адреса должны быть зарегистрированы в организации IANA (Internet Assigned Numbers Authority — Агентство по выделению имен и уникальных параметров протоколов Internet), которая контролирует использование достижимых через Internet или открытых IP-адресов.

В адресах класса А старший бит первого октета всегда имеет значение 0. Это означает, что наименьший номер сети при использовании адреса такого класса равен 00000000 (0), а наибольший равен 01111111 (127). Но в этом случае необходимо учитывать некоторые ограничения. Во-первых, адрес сети класса А, равный 0, является зарезервированным. Он используется для обозначения так называемой "данной сети", или сети к которой фактически подключен передающий хост. Во-вторых, адрес сети класса А, равный 127, применяется для создания петли обратной связи. С помощью такой петли программное обеспечение набора протоколов TCP/IP просто выполняет самопроверку. Передавая пакеты по адресу получателя, обозначенному как петля обратной связи, это программное обеспечение фактически не передает пакеты в сеть, а просто возвращает их по петле самому себе для проверки того, что стек TCP/IP не искажает данные. (Отправка пакетов эхо тестирования по адресу петли обратной связи является обычным этапом поиска неисправностей.) Поэтому при передаче любого пакета с адресом сети, состоящим из одних битов 0, фактически происходит его передача на локальные хосты. А при отправке любой информации в сеть с номером 127 фактически применяется петля обратной связи. В связи с наличием зарезервированной сети 0 и петли обратной связи практически применимые адреса класса А сводятся к тем, которые содержат в первом октете число от 1 до 126.

В адресах класса А используется маска подсети 255.0.0.0, известная также как восьмибитовая маска подсети, поскольку она состоит из восьми расположенных подряд единиц, а затем из одних нулей (11111111.00000000.00000000.00000000). Это означает, что в обычной сети класса А первый октет адреса предназначен для обозначения адреса сети, а последние три октета — адреса хоста. Теперь мы снова переходим к рассмотрению операции "И". Например, если взять адрес 10.1.1.1 класса А со стандартной маской подсети 255.0.0.0 и применить к ним операцию "И", то в конечном итоге в качестве значения адреса сети будет получено число 10.0.0.0. Остальная часть адреса относится к хосту.

Адреса класса В

Поддерживают 65 534 хостов в каждой сети. Адреса этого класса предназначены для меньших (но все еще достаточно крупных) сетей. Существует чуть больше 16 000 сетей класса В и все они уже зарегистрированы.

Адреса класса В всегда начинаются с двоичных цифр 10 (как в примере 10101100.00010000.00000001.00000001 или 172.16.1.1). Это означает, что первый октет должен находиться в пределах от 128 (10000000) до 191 (10111111). Таких сетей класса В, которые не могли бы использоваться обычным образом (подобных двум сетям класса А — 0 и 127), не существует. Сети класса В имеют 16-битовую маску, применяемую по умолчанию (255.255.0.0). Это означает, что первые 16 битов соответствуют адресу сети, а последние 16 битов — адресу хоста.

Адреса класса С

Должны начинаться с двоичных цифр 110 (как в примере 11000000.10101000.00000001.00000001, или 192.168.1.1). Сетей класса С, которые не могли бы применяться на практике, не существует.

Сети класса С имеют по умолчанию 24-битовую маску. Это означает, что 24 бита используются для обозначения части сети и 8 битов — для обозначения части хоста.

Сети класса С, таким образом, могут поддерживать только 254 хоста в каждой сети. Адреса этого класса предназначены для небольших сетей. Существует свыше двух миллионов сетей класса С, причем большинство из них уже зарегистрировано.

В каждой сети отсутствует часть IP-адресов (а именно два). Например, IP-адреса класса С допускают применение в каждой сети только 254 хостов, тогда как их должно быть 256 (если руководствоваться формулой 2 8 {\displaystyle 2^{8}} 2^{8}). В каждой сети зарезервировано два адреса хоста, а именно: наибольший адрес (состоящий из одних единиц) и наименьший адрес (состоящий из одних нулей). Адрес хоста, состоящий из одних единиц, обозначает широковещательную рассылку, адрес, состоящий из одних нулей, обозначает "данную сеть". Два указанных адреса не могут использоваться в качестве адресов хостов. Это — еще одно ограничение TCP/IP.

Адрес, состоящий из одних нулей

После применения операции "И" к паре чисел, состоящей из IP-адреса и маски подсети, часть с обозначением хоста будет содержать одни нули. Например, после применения операции "И" к IP-адресу 192.168.1.1 с применяемой по умолчанию маской подсети, равной 255.255.255.0, будет получен адpec сети 192.168.1.0. Итак, адрес 192.168.1.0 представляет собой адрес сети и не может использоваться в качестве адреса хоста.

Адрес, состоящий из одних единиц

Зарезервирован для широковещательной рассылки уровня 3. Например, в IP-адресе 10.255.255.255 адрес хоста состоит из одних единиц (00001010.11111111.11111111.11111111). Он обозначает все хосты в данной сети, т.е. служит для широковещательной рассылки.

Следует отметить, что адрес хоста считается недействительным, только если нулю или единице равны все биты в части этого адреса, соответствующей хосту или сети. Таковыми должны быть все эти части, а не просто некоторые биты отдельной части. Например, IP-адрес 172.16.0.255 является действительным (10101100.00010000.00000000.11111111), поскольку вся часть адреса с обозначением хоста не состоит полностью из одних единиц или нулей. Но адрес 192.168.1.255 является недействительным, поскольку вся часть с обозначением хоста состоит из одних единиц (11000000.10101000.00000001.11111111).

По этой причине для расчета допустимого количества хостов в сети применяется выражение 2 10 − 2 {\displaystyle 2^{10}-2} {\displaystyle 2^{10}-2}, а не просто 2 10 {\displaystyle 2^{10}} 2^{10}. Например, если известно, что для обозначения хоста применяются десять битов, необходимо вычислить значение 2 10 ( 2 10 = 1024 ) {\displaystyle 2^{10}(2^{10}=1024)} {\displaystyle 2^{10}(2^{10}=1024)}, а затем вычесть 2 {\displaystyle 2} 2 из полученного результата ( 1024 − 2 = 1022 ) {\displaystyle (1024-2=1022)} {\displaystyle (1024-2=1022)}.

Адресация IP

Особенностью IP является гибкая система адресации. Плата за это — наличие централизованных служб типа DNS

Адрес состоит из двух частей — номер сети и номер узла в сети. IP-адрес версии 4 имеет длину 4 байта, записывается в виде четырех целых десятичных чисел (0–255), разделенных точками.

Для определения, какие байты принадлежат номеру сети, а какие — номеру узла, существует несколько подходов.

Одним из подходов был классовый метод адресации.

класс первые биты распределение байт (С — сеть, Х — хост) число возможных сетей число возможных хостов маска подсети начальный адрес конечный адрес
A 0 С.Х.Х.Х 126 16 777 214 255.0.0.0 1.0.0.0 126.255.255.255
B 10 С.С.Х.Х 16 384 65 534 255.255.0.0 128.0.0.0 191.255.255.255
C 110 С.С.С.Х 2 097 152 254 255.255.255.0 192.0.0.0 223.255.255.255
D 1110 групповой адрес 224.0.0.0 239.255.255.255
E 1111 зарезервировано 240.0.0.0 255.255.255.255

С ростом сети Интернет эта система оказалась неэффективной и была дополнена бесклассовой адресацией (CIDR).

 

Бесклассовая адресация

 

Бесклассовая адресация (англ. Classless Inter-Domain Routing, англ. CIDR) — метод IP-адресации, позволяющий гибко управлять пространством IP-адресов, не используя жёсткие рамки классовой адресации. Использование этого метода позволяет экономно использовать ограниченный ресурс IP-адресов, поскольку возможно применение различных масок подсетей к различным подсетям.

 

Диапазоны адресов

IP-адрес является массивом бит. Маска подсети задает какие биты в IP-адресе являются адресом сети. Блок адресов задаётся указанием начального адреса и маски подсети. Бесклассовая адресация основывается на переменной длине маски подсети (англ. variable length subnet mask, VLSM), в то время, как в классовой адресации длина маски подсети имела всего лишь 3 фиксированных значения.

Пример подсети 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 бит и указывают через косую черту (знак /) после базового адреса.

Пример записи IP-адреса 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-адресов будут смежными. Однако, также широко распространены обратные маски (invers mask, wildcard mask), которые не обязаны содержать подряд идущие единицы или нули. Обратная маска используется для формирования правил ACL.

Возможные маски

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 2[1] 1/128 C
a.b.c.d/30 +0.0.0.3 255.255.255.252 4 2 1/64 C
a.b.c.d/29 +0.0.0.7 255.255.255.248 8 6 1/32 C
a.b.c.d/28 +0.0.0.15 255.255.255.240 16 14 1/16 C
a.b.c.d/27 +0.0.0.31 255.255.255.224 32 30 1/8 C
a.b.c.d/26 +0.0.0.63 255.255.255.192 64 62 1/4 C
a.b.c.d/25 +0.0.0.127 255.255.255.128 128 126 1/2 C
a.b.c.0/24 +0.0.0.255 255.255.255.000 256 254 1 C
a.b.c.0/23 +0.0.1.255 255.255.254.000 512 510 2 C
a.b.c.0/22 +0.0.3.255 255.255.252.000 1024 1022 4 C
a.b.c.0/21 +0.0.7.255 255.255.248.000 2048 2046 8 C
a.b.c.0/20 +0.0.15.255 255.255.240.000 4096 4094 16 C
a.b.c.0/19 +0.0.31.255 255.255.224.000 8192 8190 32 C
a.b.c.0/18 +0.0.63.255 255.255.192.000 16 384 16 382 64 C
a.b.c.0/17 +0.0.127.255 255.255.128.000 32 768 32 766 128 C
a.b.0.0/16 +0.0.255.255 255.255.000.000 65 536 65 534 256 C = 1 B
a.b.0.0/15 +0.1.255.255 255.254.000.000 131 072 131 070 2 B
a.b.0.0/14 +0.3.255.255 255.252.000.000 262 144 262 142 4 B
a.b.0.0/13 +0.7.255.255 255.248.000.000 524 288 524 286 8 B
a.b.0.0/12 +0.15.255.255 255.240.000.000 1 048 576 1 048 574 16 B
a.b.0.0/11 +0.31.255.255 255.224.000.000 2 097 152 2 097 150 32 B
a.b.0.0/10 +0.63.255.255 255.192.000.000 4 194 304 4 194 302 64 B
a.b.0.0/9 +0.127.255.255 255.128.000.000 8 388 608 8 388 606 128 B
a.0.0.0/8 +0.255.255.255 255.000.000.000 16 777 216 16 777 214 256 B = 1 A
a.0.0.0/7 +1.255.255.255 254.000.000.000 33 554 432 33 554 430 2 A
a.0.0.0/6 +3.255.255.255 252.000.000.000 67 108 864 67 108 862 4 A
a.0.0.0/5 +7.255.255.255 248.000.000.000 134 217 728 134 217 726 8 A
a.0.0.0/4 +15.255.255.255 240.000.000.000 268 435 456 268 435 454 16 A
a.0.0.0/3 +31.255.255.255 224.000.000.000 536 870 912 536 870 910 32 A
a.0.0.0/2 +63.255.255.255 192.000.000.000 1 073 741 824 1 073 741 822 64 A
a.0.0.0/1 +127.255.255.255 128.000.000.000 2 147 483 648 2 147 483 646 128 A
0.0.0.0/0 +255.255.255.255 000.000.000.000 4 294 967 296 4 294 967 294 256 A

Количество адресов в подсети не равно количеству возможных узлов. Нулевой адрес IP резервируется для идентификации подсети, последний — в качестве широковещательного адреса, таким образом в реально действующих сетях возможное количество узлов на два меньшее количества адресов.

 

 
S14 января 2020
9
 0.00