L3 IP-адресация и подсети
Адресация — это главный навык сетевого инженера. На собеседовании могут попросить «дай 200 хостов в каждой VLAN, оптимально нарежь /22» — и считать ты должен в голове или на бумаге за минуту. Этот урок учит так считать.
«Задача от руководителя. Открываем филиал: 120 рабочих мест, 40 IP-телефонов, 15 камер, 8 серверов, гостевой Wi-Fi и 6 межроутерных стыков. Головной офис выделил нам блок 10.42.0.0/22 — „нарежь адресный план и пришли таблицей до обеда“». Это не экзотика — это будни: адресные планы сетевик режет чаще, чем пьёт кофе. В /22 всего 1024 адреса, и если нарезать «всем по /24», они кончатся на втором VLAN. К концу урока ты нарежешь этот блок за 10 минут на бумажке — без калькулятора — и в конце урока мы это сделаем вместе, шаг за шагом.
- Разложить IPv4-адрес и маску побитно и объяснить, где кончается сеть и начинается хост
- За минуту посчитать в голове: network, broadcast, диапазон хостов и их число для любого /N
- Пользоваться методом «магического числа» (256 − октет маски = шаг подсетей)
- Нарезать блок по VLSM: большим сетям — большие куски, P2P-линкам — /30 и /31
- Опознать спецдиапазоны с ходу: RFC1918, loopback, link-local, multicast, CGNAT
- Прочитать IPv6-адрес, сократить его по правилам и объяснить, почему /64 — стандарт интерфейса
- Составить адресный план филиала (та самая заявка) и защитить его перед сеньором
Ты нарезал сеть на VLAN — изолированные broadcast-домены: офис, телефония, камеры, гости. Правило один-к-одному: каждый VLAN = одна IP-подсеть. VLAN 10 получит 10.42.0.0/25, VLAN 20 — свой кусок, и роутер (SVI из прошлого урока) свяжет их на L3. Сегодня учимся эти куски вычислять — так, чтобы адресов хватило всем и ни один не пропал зря.
1. IPv4 побитно
IPv4-адрес — это 32 бита, записанные четырьмя октетами (по 8 бит каждый) в десятичной форме через точку. Каждый октет — число от 0 до 255 (2⁸ = 256).
2. Маска подсети — главный концепт
Маска говорит: «сколько старших бит — это номер сети, а сколько остальных — номера хостов».
Маска /24 (или 255.255.255.0) значит: первые 24 бита фиксированы (сеть), последние 8 — переменные (хосты).
3. CIDR-нотация — современный стандарт
CIDR (Classless Inter-Domain Routing) — это запись префикса одной цифрой после /.
Скажем /24 = 24 единичных бита в маске = 255.255.255.0.
4. Метод «магического числа» — считаем подсети в голове
Главный трюк сетевика. Любую подсеть можно вычислить за 10 секунд, если знаешь степени 2 и базовый алгоритм.
5. VLSM — разная длина маски
VLSM (Variable Length Subnet Masking) — это когда внутри одной большой сети ты режешь подсети разной длины, чтобы не тратить адреса впустую.
Правило раздачи VLSM
- Раздавай от больших к меньшим (сначала /25 для 100 хостов, потом /26 для 50 и т.д.).
- Считай нужное число хостов с запасом ×1.3 на рост.
- Адреса для P2P — последние, /30 или /31. Это аксиома в энтерпрайз-проектах.
- Оставляй 10-20% резерва на новые подсети.
6. Спецадреса и зарезервированные диапазоны
| Диапазон | Назначение | RFC |
|---|---|---|
0.0.0.0/8 | «Эта сеть». Источник в DHCP-discover. Также 0.0.0.0/0 — default route. | RFC 1122 |
10.0.0.0/8 | Приватная сеть (большая). | RFC 1918 |
100.64.0.0/10 | Carrier-Grade NAT (CGN), не для LAN. | RFC 6598 |
127.0.0.0/8 | Loopback. Чаще всего 127.0.0.1 = localhost. | RFC 1122 |
169.254.0.0/16 | Link-local (APIPA, когда DHCP не ответил). | RFC 3927 |
172.16.0.0/12 | Приватная сеть (средняя). | RFC 1918 |
192.0.2.0/24 | TEST-NET-1 (для документации). | RFC 5737 |
192.168.0.0/16 | Приватная сеть (домашняя, малая). | RFC 1918 |
198.51.100.0/24 | TEST-NET-2. | RFC 5737 |
203.0.113.0/24 | TEST-NET-3. | RFC 5737 |
224.0.0.0/4 | Multicast. | RFC 5771 |
240.0.0.0/4 | Reserved (для experimental). | RFC 1112 |
255.255.255.255 | Limited broadcast (только в локальной сети). | RFC 919 |
7. IPv6 — база за 5 минут
IPv4-адреса закончились в 2011 году (формально). Долгосрочное решение — IPv6 с 128-битным адресом (3.4×10³⁸ адресов — больше, чем песчинок на всех пляжах Земли).
8. Команды для практики
Linux
Cisco
9. Частые ошибки в проектировании
10. Чеклист для проектирования адресации
- Из RFC1918: лучше всего
10.0.0.0/8— много места, удобно резать. - На каждый сайт/локацию выделяй
/16или/20. - Внутри — на каждый VLAN
/24или меньше по реальному числу хостов. - Для P2P — только
/30или/31. - Loopback'и для маршрутизаторов — каждому
/32из выделенного блока. - Никаких
/24на P2P, никаких/16на 50 хостов. - Документируй всё в IPAM (NetBox, phpIPAM, Excel) — иначе через год не вспомнишь.
11. Плейбук: режем 10.42.0.0/22 — закрываем заявку из начала урока
Помнишь задачу? 120 рабочих мест, 40 телефонов, 15 камер, 8 серверов, гостевой Wi-Fi, 6 P2P-стыков, блок 10.42.0.0/22 (1024 адреса). Режем по правилу VLSM: от большего к меньшему, каждый кусок — на границе своего размера:
12. Мини-лаба: адресация у тебя дома
ipconfig (Windows) / ip addr (Linux): найди свой
адрес и маску, например 192.168.1.42/24. Теперь на бумажке: network? broadcast? сколько
хостов помещается? Проверь себя: ipcalc 192.168.1.42/24 в Linux или любым
онлайн-калькулятором. Ошибся — вернись к разделу 4 и пересчитай.ipconfig /all: какой адрес у DNS-сервера? А tracert
8.8.8.8: первый хоп — твой роутер (RFC1918), а второй? Если видишь 100.64.x.x —
поздравляю, ты нашёл CGNAT-диапазон (RFC 6598): провайдер экономит белые адреса,
и настоящий публичный IP у тебя общий с соседями. Проверь: сравни адрес из
ipconfig роутера с тем, что показывает сайт «what is my ip».ipconfig / ip -6 addr: найди адрес fe80::… —
это link-local, он есть на каждом интерфейсе всегда, даже без роутера и DHCP. Если провайдер
выдаёт IPv6 — увидишь и глобальный 2xxx:…/64. Разложи его: первые 64 бита — префикс сети,
вторые — идентификатор интерфейса. Никаких масок переменной длины: в IPv6 за интерфейсом
всегда /64, и подсети считать не надо — их 18 квинтиллионов.13. Словарик урока
| Термин | По-английски | Смысл в одну строку |
|---|---|---|
| Октет | octet | 8 бит адреса; IPv4 = 4 октета через точку (192.168.1.1) |
| Маска подсети | subnet mask / prefix | сколько старших бит — сеть; 255.255.255.0 = /24 |
| CIDR | classless inter-domain routing | бесклассовая запись «адрес/длина префикса»; классы A/B/C — история |
| Адрес сети | network address | все хостовые биты = 0; идентификатор подсети, хосту не выдаётся |
| Широковещательный адрес | broadcast address | все хостовые биты = 1; «всем в этой подсети», хосту не выдаётся |
| Магическое число | magic number | 256 − значение октета маски = шаг, с которым идут подсети |
| VLSM | variable length subnet mask | резка блока кусками разной длины под реальные размеры сетей |
| Суммаризация | route summarization / supernet | объединение подсетей в один префикс покороче — меньше маршрутов |
| Приватные адреса | RFC 1918 | 10/8, 172.16/12, 192.168/16 — не маршрутизируются в интернете |
| CGNAT-диапазон | RFC 6598, 100.64/10 | служебный диапазон провайдеров для NAT на своей стороне |
| Локальный адрес канала | link-local, 169.254/16, fe80::/10 | работает только в своём сегменте; в IPv4 — признак «DHCP не ответил» |
| P2P-линк | point-to-point, /30 и /31 | стык двух роутеров: 2 адреса; /31 (RFC 3021) — вообще без network/broadcast |
| SLAAC | stateless address autoconfiguration | IPv6-хост сам собирает адрес из префикса RA — DHCP не обязателен |
| IPAM | IP address management | система учёта адресов (NetBox, phpIPAM); план без учёта деградирует за месяцы |
14. Задачи: посчитай, как на собеседовании
Задача 1. Хост 192.168.10.77/26: network, broadcast, диапазон хостов, сколько всего хостов?
/26 → маска 255.255.255.192, магическое число 256−192 = 64 → границы: .0, .64, .128, .192. 77 попадает в блок .64–.127. Network 192.168.10.64, broadcast 192.168.10.127, хосты .65–.126, всего 62 (2⁶−2).
Задача 2. Сколько подсетей /28 помещается в /24 и сколько хостов в каждой? Выпиши первые три.
/28 из /24: 2⁴ = 16 подсетей по 14 хостов (2⁴−2). Шаг = 16: 192.168.1.0/28 (.1–.14), 192.168.1.16/28 (.17–.30), 192.168.1.32/28 (.33–.46).
Задача 3. Сервер 10.8.4.10/22 и сервер 10.8.7.200/22 — в одной подсети? А 10.8.8.1/22?
/22 → шаг 4 в третьем октете → границы 10.8.0.0, 10.8.4.0, 10.8.8.0… Блок 10.8.4.0/22 = 10.8.4.0–10.8.7.255. 10.8.4.10 и 10.8.7.200 — одна подсеть (ходят друг к другу напрямую, без роутера), 10.8.8.1 — уже соседняя 10.8.8.0/22, к нему — через шлюз.
Задача 4. Два роутера соединены прямым линком. Коллега предлагает выделить на стык 192.168.100.0/24. Что предложишь ты и сколько адресов сэкономишь?
/30 (4 адреса: network, 2 хоста, broadcast) или ещё лучше /31 (RFC 3021: ровно 2 адреса, без network/broadcast — стандарт для P2P, поддержан всеми современными роутерами). Экономия против /24: 250–252 адреса. На сети из 60 стыков разница — целых 15 «лишних» /24.
Задача 5. ПК-1: 10.0.0.5/24, ПК-2: 10.0.0.130/25, оба в одном VLAN. ПК-1 пингует ПК-2 — работает. ПК-2 пингует ПК-1 — не работает. Объясни асимметрию.
Для ПК-1 (маска /24) адрес .130 — «своя подсеть» → шлёт напрямую через ARP, кадр доходит, ответ… а вот ответ ПК-2 строит по своей маске /25: для него .5 из блока 10.0.0.0–.127 — это другая подсеть → шлёт через шлюз. Если шлюз жив и знает обратный путь — пинг «работает странно», если нет — «в одну сторону». Разные маски в одном сегменте — классика трудноуловимых багов: проявляется не всегда и не для всех пар адресов.
Задача 6. Из блока 172.20.0.0/23 нужно: сеть на 200 хостов, сеть на 100 хостов, две по 50 и три P2P-стыка. Нарежь без пересечений.
/23 = 512 адресов (172.20.0.0–172.20.1.255). От большего к меньшему: 200 хостов → 172.20.0.0/24 (254); 100 → 172.20.1.0/25 (126); 50 → 172.20.1.128/26 (62); 50 → 172.20.1.192/27? — стоп, /27 даёт только 30! Берём… а свободного /26 уже нет. Правильный ответ: в этот блок всё не влезает — 200+100+50+50 = 400 хостов требуют 254+126+62+62 = 504 адресов, а с P2P — больше 512. Инженерное решение: вернуться к заказчику за второй /23 или пересмотреть требования (например, 200-хостовую сеть ужать до реальных цифр). Уметь сказать «не влезает, и вот расчёт» — тоже навык адресации. 😉
На собеседовании и в дежурстве подсети считают быстро и без калькулятора — это чистый навык, который ставится повторением. Открой тренажёр «IP и маски»: бесконечный поток задач с новыми числами (магическое число, адрес сети, broadcast, VLSM-подбор префикса, «одна ли подсеть», тип адреса) и разбором, почему именно твой выбор — ловушка. Движок сам чаще даёт темы, где ты промахиваешься, — пока каждая не станет автоматической.
- IPv4 = 32 бита = 4 октета. Знай степени 2: 128, 64, 32, 16, 8, 4, 2, 1.
- Маска говорит, сколько бит — сеть. CIDR — компактная запись.
- Хостов в /N = 2^(32-N) − 2 (минус network и broadcast).
- Метод «магического числа»: 256 − значение октета маски = шаг подсетей.
- VLSM — резка разной длины. Большим — большие, мелким — мелкие, не жадничай.
- Спецадреса: 10/8, 172.16/12, 192.168/16 (приватные), 127/8 (loopback), 169.254/16 (link-local), 224/4 (multicast).
- P2P-линки — всегда /30 или /31. Один /24 на P2P — стыдно.
- IPv6: 128 бит, 8 групп hex, :: вместо подряд нулей. /64 за интерфейсом — стандарт.
Адресный план готов: у каждого VLAN — своя подсеть, у каждого стыка — свой /30. Но подсети пока — острова. Кто и по каким правилам переправляет пакет из 10.42.0.0/24 в 10.42.1.160/27 и дальше, в интернет? Это работа маршрутизации: таблица маршрутов, longest prefix match, статика и динамика. Следующий модуль — как роутер принимает решение за микросекунды, и почему «маршрут есть, а не пингуется» — любимая загадка собеседований.