
Компьютерная Академия «Шаг» 2009
Страница 1
Урок 2. Маски IP адресов.
Изучение классового метода деления IP адреса началось с рассмотрения
недостатков самого первого метода деления IP адреса – т.н. доклассового метода (RFC
760). Недостаток заключался в нерациональном делении IP адреса на адрес сети и адрес
хоста. Вот как выглядел доклассовый метод.
Адрес сети
Адрес хоста
Адрес хоста
(продолжение)
Адрес хоста
(продолжение)
Таким образом на адресацию сетей отводилось 8 бит и их количество составляло
2
8
= 256
На адресацию хостов отводилось остальные 24 бита, и их количество составляло
2
24
–2 = 16 777 214
Введение классов IP адресов решало проблему нерационального деления за счет
использования идентификаторов IP адресов – Классов. При этом каждому классу
соответствовала оригинальная комбинация деления на номер сети и номер хоста. Вроде
бы проблема была решена, но так могло показаться лишь в начале - на первый взгляд. И
дело было вот в чем: в случае если необходимо было разделить адресное пространство
сети принадлежащей к одному из классов (A, B или C) хотя бы на две подсети – задача не
имела решения даже с использованием классов IP адресов.
В качестве примера возьмем сеть класса А 11.0.0.0. Предположим, что данная сеть
была выдана некоторой компании. Спустя время возникла необходимость разделения
сети на две подсети в связи с реорганизацией структуры компании. С одной стороны это
вполне реальная для выполнения задача, так как адресное пространство в 16 777 214
узлов, скорее всего , можно поделить между двумя подразделениями одной компании.
Например, возьмем 2-й байт в адресе сети и будем его использовать как идентификатор
номера подсети – тогда получается
11.1.0.0 – сеть первого подразделения
11.2.0.0 – сеть второго подразделения
Для адресации хостов в каждой из полученных подсетей остается 16 бит, что
удовлетворяет количеству хостов компании «с запасом». И задача вроде бы решена – но,
в случае если хосты и маршрутизаторы на которых построена сеть компании анализируют
IP адрес используя классовый метод – то предложенный вариант деления – работать не
будет – т.к. и первая 11.1.0.0 и вторая 11.2.0.0 подсети принадлежат к классу А –
следовательно номер сети 11, а 11.1.0.0 и 11.2.0.0 – в этом случае просто хосты.
Решение возникшей проблемы заключалось в способе выделения бит IP адреса
отвечающих за номер сети и бит IP адреса отвечающих за номер хоста. Наиболее просто
это можно было бы сделать путем введения дополнительно поля в заголовок IP пакета. В
этом поле можно было бы указывать число – обозначающее колиество бит IP адреса
слева на право отвечающих за номер сети. Например, 8 – восемь бит слева на право
указываю номер сети, 12 – двенадцать бит слева на право указывают номер сети и т.д. Но
формат заголовка IP пакета был уже принят и его изменение вызвало бы массу проблем,
в том числе и несовместимость с уже работающим оборудованием сетей (нарушение
принципа обратной совместимости). Поэтому идея выделения бит IP адреса указывающих
номер сети была воплощена в т.н. масках или масках IP подсети.
Маска подсети это 32-битное число, записываемое в точечно-десятичной форме,
как и IP адрес. Маска устроена следующим образом: сначала последовательность из n
единиц, затем – последовательность из [32 минус n] нулей.