IP адрес является числом, состоящим из 32-х двоичных разрядов, т.е. 4 байта. Каждый байт адресной последовательности принято записывать в виде десятичного числа. Каждое из этих чисел содержит определенную адресную информацию, а именно номер сети (адрес сети) и номер хоста в этой сети. Существует 5 классов IP адресов, которые описываются количеством разрядов в номере сети и номере хоста. Класс адреса определяется значением его первого байта.
Сети класса А предназначены для использования в больших сетях содержащих более, чем 216 хостов. Адреса класса B – сети среднего размера, содержащие от 255 до 65534 хостов. Класс C – сравнительно небольшие локальные сети. Класс D предназначен для обращения к группам хостов, а адреса класса E являются зарезервированными. Согласно принятому правилу хосту не присваивается номер 0 и адрес 255, который соответствует широковещательной передаче. Кроме того IP адрес первый байт которого равен 127 используются для взаимодействия процессов в рамках одного хоста, поэтому эти адреса также не могут быть присвоены хосту. Существует также ряд адресов, которые используются для организации так называемых частных сетей, т.е. локальных сетей осуществляющих обмен данными с использованием протокола TCPIP. Применение таких адресов позволяет легко подключить подобную локальную сеть к сети интернет при помощи только одного реального IP адреса, выделенного маршрутизатору этой сети. Все пакеты хостов такой локальной сети, проходящие через маршрутизатор, получают в качестве адреса отправителя его IP адрес и поэтому могут быть корректно обработаны другими маршрутизаторами. При этом маршрутизатор, осуществляющий преобразование адресов ведет специальную таблицу, в которой записывается ряд сведений об отправленном пакете, в том числе с какого адреса внутренней сети на какой внешний адрес был отправлен запрос. При получении ответа маршрутизатор сверяется с этой таблицей и в случае, если находит адрес, запросивший пакет, перенаправляет его получателю. В противном случае пакет уничтожается, а его отправителю направляется специальное ICMP сообщение. Стандартом для частных сетей зарезервированы диапазоны:
· 10.0.0.0 – 10.255.255.255;
· 172.16.0.0 – 172.31.255.255;
· 192.168.0.0. – 192.168.255.255;
В международной организации, занимающейся распределением адресного пространства, отказались от использования классовой модели, т.к. слишком много адресного пространства по ее использовании расходуется понапрасну.
Пусть необходимо подключить к сети Интернет сеть из 2000-х тысяч компьютеров. Для получения адресного пространства требуется одна сеть класса B или восемь сетей класса C. Использование сети класса B нерационально из-за существенного перерасхода адресного пространства. Если же для описания адресного пространства используется восемь сетей класса C, то для описания каждой из этих сетей требуется отдельная запись в таблице маршрутов на маршрутизаторе, т.к. с точки зрения маршрутизатора разные сети никак не связаны между собой, хотя они и находятся в одной локальной сети и маршруты к ним одинаковые. Соответственно, за счет экономии адресного пространства многократно увеличивается служебный трафик и затраты на поддержку и обработку маршрутных таблиц. В тоже время, если провести границу между номером сети и номером хоста не по границе байта, а выбрать длину номера хоста равной 11-ти битам, то получится адресное пространство, содержащее 2046 адресов, что максимально точно соответствует условию задачи.
В результате получится одна сеть, определяемая своим уникальным номером, длиной 11 бит, для обслуживания которой в таблице маршрутов потребуется только одна запись. Такая модель адресации называется бесклассовой CIDR – Classless Internet Direct Routing.
Маска подсети получается следующим образом, на позиции соответствующие номеру сети ставятся единицы, а на позиции соответствующие номеру хоста – нули. Маска подсети записывается в такой же форме как и IP адрес.