Введение
Для сетевого инженера, системного администратора или даже продвинутого пользователя умение быстро оперировать 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).
- Определяем магическое число:
256 - 224 = 32. Это значит, что подсети будут идти с шагом 32. - Находим сетевой адрес: Сетевой адрес — это ближайшее число, кратное магическому числу, которое меньше или равно IP-адресу. В нашем случае,
100. Ближайшее кратное 32, которое меньше или равно 100, это96(32 * 3).- Сетевой адрес:
192.168.1.96
- Сетевой адрес:
- Находим широковещательный адрес: Широковещательный адрес — это следующее кратное магическому числу минус 1. Следующее кратное 32 после 96 — это
128.128 - 1 = 127.- Широковещательный адрес:
192.168.1.127
- Широковещательный адрес:
- Диапазон хостов: От сетевого адреса + 1 до широковещательного адреса — 1.
- Диапазон хостов:
192.168.1.97—192.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-адреса в уме — это признак настоящего профессионала в области сетей.