IP-адрес - это 32-разрядное двоичное число, разделенное на группы по 8 бит, называемых октетами, например:
00010001 11101111 00101111 01011110
Обычно IP-адреса записываются в виде четырех десятичных октетов и разделяются точками:
17.239.47.94
Структура IP-адреса
Максимальное значение октета равно 111111112=25510
IP-адреса, в которых хотя бы один октет превышает это число, являются недействительными.
Пример:
172.16.123.1 – действительный адрес
172.16.123.256 – несуществующий адрес
Структура IP-адреса
IP-адрес состоит из двух логических частей:
номер подсети (ID подсети)
номер узла (ID хоста) в этой подсети
При передаче пакета из одной подсети в другую используется ID подсети.
Когда пакет попал в подсеть назначения,
ID хоста указывает на конкретный узел в рамках этой подсети.
Структура IP-адреса
Чтобы записать ID подсети в поле номера узла в IP-адресе ставят нули.
Чтобы записать ID хоста в поле номера подсети ставят нули.
Например, если в IP-адресе 172.16.123.1 первые два байта – номер подсети, остальные два байта – номер узла, то
ID подсети: 172.16.0.0
ID хоста: 0.0.123.1
Структура IP-адреса
Правило определения общего количества узлов (или подсетей): если N – число разрядов для представления номера узла, то общее количество узлов равно 2N – 2.
Два узла вычитаются вследствие того, что адреса со всеми разрядами равными нулям или единицам являются особыми и используются в специальных целях.
Например, если под номер узла в некоторой подсети отводится два байта (16 бит), то общее количество узлов в такой подсети равно 216 – 2 = 65534 узла.
Классы IP-адресов
Два основных решения проблемы дефицита IP-адресов:
более эффективная схема деления на подсети с использованием масок
(RFC 950)
применение протокола IP версии 6 (IPv6)
Использование масок
Маска подсети (subnet mask) – это число, которое используется в паре с IP-адресом; двоичная запись маски содержит единицы в тех разрядах, которые должны в IP-адресе интерпретироваться как номер сети (RFC 950).
Для стандартных классов сетей маски имеют следующие значения:
класс А – 11111111. 00000000. 00000000. 00000000
(255.0.0.0)
класс В – 11111111. 11111111. 00000000. 00000000 (255.255.0.0)
класс С – 11111111. 11111111. 11111111. 00000000 (255.255.255.0)
Использование масок
Для масок существует важное правило: разрывы в последовательности единиц или нулей недопустимы.
Например, не существует маски подсети имеющей следующий вид: