Введение

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

Основы: Бинарное представление и степени двойки

Вся магия IP-адресации строится на бинарной системе и степенях двойки. IP-адрес IPv4 состоит из 32 бит, разделенных на 4 октета по 8 бит. Каждый октет может принимать значение от 0 до 255.

Помните веса битов в октете:

128 | 64 | 32 | 16 | 8 | 4 | 2 | 1

Сумма всех весов = 255.

Маска подсети и CIDR

Маска подсети определяет, сколько бит отведено под сетевую часть, а сколько под хостовую. Записывается она либо в десятичном виде (например, 255.255.255.0), либо в виде префикса CIDR (например, /24). Префикс CIDR указывает количество единиц в маске.

Ключевая таблица для запоминания:

CIDR Десятичная маска Количество хостов (2^n-2) Бит для хостов (n)
/24 255.255.255.0 254 8
/25 255.255.255.128 126 7
/26 255.255.255.192 62 6
/27 255.255.255.224 30 5
/28 255.255.255.240 14 4
/29 255.255.255.248 6 3
/30 255.255.255.252 2 2

Лайфхак: Запомните, что /24 — это 255.255.255.0. Каждое увеличение CIDR на 1 уменьшает количество доступных хостов вдвое и добавляет 128, 64, 32 и т.д. к последнему октету маски.

Быстрый расчет сетевого и широковещательного адреса

Для быстрого расчета нам нужно определить «магическое число» (magic number) или размер блока.

Магическое число = 256 — последний октет маски.

Это число показывает размер каждой подсети (количество адресов в ней, включая сетевой и широковещательный).

Пример: IP-адрес 192.168.1.100 с маской /27 (255.255.255.224).

  1. Определяем магическое число: 256 - 224 = 32. Это значит, что подсети будут идти с шагом 32.
  2. Находим сетевой адрес: Сетевой адрес — это ближайшее число, кратное магическому числу, которое меньше или равно IP-адресу. В нашем случае, 100. Ближайшее кратное 32, которое меньше или равно 100, это 96 (32 * 3).
    • Сетевой адрес: 192.168.1.96
  3. Находим широковещательный адрес: Широковещательный адрес — это следующее кратное магическому числу минус 1. Следующее кратное 32 после 96 — это 128. 128 - 1 = 127.
    • Широковещательный адрес: 192.168.1.127
  4. Диапазон хостов: От сетевого адреса + 1 до широковещательного адреса — 1.
    • Диапазон хостов: 192.168.1.97192.168.1.126

Таблица магических чисел и диапазонов

CIDR Маска подсети Магическое число (размер блока) Количество хостов
/24 255.255.255.0 256 254
/25 255.255.255.128 128 126
/26 255.255.255.192 64 62
/27 255.255.255.224 32 30
/28 255.255.255.240 16 14
/29 255.255.255.248 8 6
/30 255.255.255.252 4 2

Практические советы и лайфхаки

  • Визуализация: Представляйте октеты как 8 битов. Когда вы видите /26, вы знаете, что это 26 единиц, значит, в последнем октете 2 единицы и 6 нулей (11000000). 128 + 64 = 192. Это и есть 255.255.255.192.
  • Обратный отсчет: Если вам нужно 14 хостов, вы знаете, что это 2^4 - 2. Значит, 4 бита для хостов. 32 - 4 = 28. Маска /28.
  • Быстрый поиск сетевого адреса: Если у вас IP 192.168.1.70/27:
    • Маска /27 -> магическое число 32.
    • Делим 70 на 32: 70 / 32 = 2 с остатком 6. Берем целую часть 2.
    • Умножаем целую часть на магическое число: 2 * 32 = 64. Это сетевой адрес.
    • Сетевой адрес: 192.168.1.64.
    • Широковещательный: 192.168.1.64 + 32 - 1 = 95. (192.168.1.95)

Заключение

С практикой эти расчеты станут для вас интуитивными. Начните с запоминания ключевой таблицы CIDR и магических чисел. Затем тренируйтесь, решая задачи в уме или на бумаге, пока не почувствуете уверенность. Это не только сэкономит ваше время, но и значительно повысит ваше понимание сетевых процессов. В конечном итоге, умение быстро считать IP-адреса в уме — это признак настоящего профессионала в области сетей.