Сетевые технологии · ЛекцияЭЛТЕКС
Главы 05 · 06

IP-АДРЕСА
И ПОДСЕТИ

считаем рукамиклассы · CIDR · VLSMс нуля
Ананко · КачурVK · TG
ПланКак пойдём

СНАЧАЛА СЧИТАТЬ,
ПОТОМ АДРЕСА

Без двоичной системы IP-адрес — это просто четыре непонятных числа. С ней — прозрачная арифметика.

  • 01Двоичная ↔ десятичная руками
  • 02Мини-игра на скорость
  • 03IP-адрес, октеты, маска
  • 04Классовая адресация + задачи
  • 05Бесклассовая: подсети, узлы, VLSM
Главы 05–06Ананко · Качур
НавигацияСодержание
Главы 05–06Ананко · Качур
Блок 00 · С нуляДоговоримся

ЕСЛИ ВЫ
ВИДИТЕ ЭТО
ПЕРВЫЙ РАЗ

Ничего знать заранее не нужно. Мы начнём с выключателя света и к концу спокойно распишем любой адрес до последнего бита.

Как читать эту деку
  • 01Не спешитькаждый слайд — один маленький шаг
  • 02Считать вместетам, где есть кнопки — нажимать
  • 03Проговариватьвслух получается быстрее, чем в голове
  • 04Не боятьсявся математика — сложение восьми чисел
Начинаем с нуляАнанко · Качур · VK · TG
Блок 00 · С нуляЛампочка

ВСЁ НАЧИНАЕТСЯ С ЛАМПОЧКИ

У лампочки два состояния: горит и не горит. Больше ничего. Компьютер устроен так же.

+Перевод на язык техники
«Горит» договорились называть единицей, «не горит» — нулём. Одна такая лампочка и есть бит. Слово страшное, смысл — выключатель.
Один бит
1горит
0темно

Два варианта — и всё. Ни «наполовину», ни «почти»: либо ток есть, либо нет.

Бит = одна лампочкаАнанко · Качур · VK · TG
Блок 00 · С нуляВосемь лампочек

ПОСТАВИМ ВОСЕМЬ ЛАМПОЧЕК В РЯД

1128
064
132
016
18
04
02
01

Договоримся, сколько «стоит» каждая лампочка: самая левая — 128, дальше 64, 32, 16, 8, 4, 2 и самая правая — 1. Чтобы прочитать ряд, складываем цены только тех лампочек, которые горят.

128 + 32 + 8 = 168

Восемь лампочек в ряд — это байт, он же октет. Ровно из четырёх таких рядов состоит IP-адрес.

8 лампочек = октетАнанко · Качур · VK · TG
Блок 00 · С нуляПочему так

ПОЧЕМУ НЕ ПРОСТО ЦИФРАМИ

В проводе нет «цифры 7». Есть только напряжение: есть или нет. Цифру приходится собирать из лампочек.

Три вопроса, которые тут возникают
  • ?Почему именно эти ценыкаждая следующая лампочка вдвое дороже: 1, 2, 4, 8, 16, 32, 64, 128
  • ?Почему максимум 255если горят все восемь: 128+64+32+16+8+4+2+1 = 255
  • ?Почему нельзя 300лампочек всего восемь, дороже 255 не соберётся
Каждая лампочка вдвое дорожеАнанко · Качур · VK · TG
Блок 01 · СчитаемЗачем двоичная

ДВА
СОСТОЯНИЯ

В проводе есть только «есть напряжение» и «нет». Значит, всё, что мы передаём, — это последовательность нулей и единиц.

+Почему не десять состояний
Различать два уровня надёжно даже при помехах. Десять уровней пришлось бы мерить точно — любой шум, и «7» превратится в «6». Поэтому техника считает двойками, а мы, люди, читаем результат десятками.
Договоримся о словах
  • БИТBitодин разряд: 0 или 1
  • БАЙТByte8 бит, они же «октет»
  • 2Основаниедвоичная система
  • 10Основаниедесятичная, привычная нам
Бит · байт · октетАнанко · Качур · VK · TG
Блок 01 · СчитаемВес разряда

КАЖДЫЙ РАЗРЯД ИМЕЕТ ВЕС

N = b7·27 + b6·26 + … + b1·21 + b0·20
1128 · 2⁷
164 · 2⁶
032 · 2⁵
016 · 2⁴
08 · 2³
04 · 2²
02 · 2¹
01 · 2⁰

Слева — старший разряд (вес 128), справа — младший (вес 1). Чтобы получить десятичное число, складываем веса тех разрядов, где стоит единица: 128 + 64 = 192.

Веса: 128 64 32 16 8 4 2 1Ананко · Качур · VK · TG
Блок 01 · СчитаемТаблица весов

ВЫУЧИТЬ ОДИН РАЗ

Разряд2⁷2⁶2⁵2⁴2⁰
Вес1286432168421
Сумма слева направо128192224240248252254255

Нижняя строка — это все возможные маски внутри одного октета. Она встретится нам ещё десять раз, так что запоминаем её сразу: 128 · 192 · 224 · 240 · 248 · 252 · 254 · 255.

128 192 224 240 248 252 254 255Ананко · Качур · VK · TG
Блок 01 · Интерактив2 → 10, живьём

ЩЁЛКАЙ БИТЫ

0
0десятичное
Клик по разряду переключает 0 ⇄ 1Ананко · Качур
Блок 01 · Пример решения2 → 10

ПРИМЕР · 11000000 → ?

01Подписываем веса под разрядами128 64 32 16 8 4 2 1
02Оставляем только те, где стоит 1128, 64
03Складываем128 + 64
Десятичное значение октета192

Так же считаются остальные октеты адреса 192.168.15.1: 10101000 = 128+32+8 = 168, 00001111 = 8+4+2+1 = 15, 00000001 = 1.

2 → 10: сложить веса единицАнанко · Качур · VK · TG
Блок 01 · Считаем10 → 2

ОБРАТНО: ВЫЧИТАЕМ ВЕСА

Идём по весам от 128 к 1. Влезает — ставим 1 и вычитаем. Не влезает — ставим 0.

+Школьный способ делением
Можно делить число на 2, записывая остатки, а потом прочитать их снизу вверх. Ответ тот же, но для восьми бит способ с вычитанием весов быстрее — и именно он нужен на экзамене, когда счёт идёт на секунды.
  • 01Взять вес 128
  • 02Влезает в остаток? → 1, вычесть
  • 03Не влезает? → 0, идём дальше
  • 04Повторить до веса 1
10 → 2: вычитание весовАнанко · Качур · VK · TG
Блок 01 · Пример решения168 → 2

ПРИМЕР · 168 → ?

128168 − 128 = 40 → влезло1
6440 < 64 → не влезло0
3240 − 32 = 8 → влезло1
168 < 16 → не влезло0
88 − 8 = 0 → влезло1
4 2 1остаток 0 → дальше только нули0 0 0
Двоичная запись октета10101000
168 = 10101000Ананко · Качур · VK · TG
Блок 01 · ИнтерактивПроверка 10 → 2
Введи число 0…255
Enter тоже работает. Показывается пошаговое вычитание весов — тот же ход, что и руками на доске.
Тренажёр 10 → 2Ананко · Качур
Блок 01 · СчитаемБыстрые трюки

ЧТОБЫ СЧИТАТЬ БЫСТРО

255Все восемь единиц

11111111 — максимум одного октета. Значений всего 256: от 0 до 255.

±1Соседи степеней

Если число на 1 меньше степени двойки (127, 63, 31) — это единицы подряд справа.

2ⁿОдна единица

128, 64, 32, 16, 8, 4, 2, 1 — ровно один разряд включён.

≥128Старший бит

Число 128 и больше — старший разряд точно 1. Меньше — точно 0.

чётМладший бит

Чётное число заканчивается на 0, нечётное — на 1.

8Всегда 8 разрядов

В октете дописываем нули слева: 1 → 00000001. Иначе адрес «съедет».

Трюки счётаАнанко · Качур · VK · TG
Блок 01 · Совсем медленноЧитаем ряд

ЧИТАЕМ 11001010 ВСЛУХ

1-яПервая лампочка горит. Её цена 128. Копим: 128128
2-яВторая горит. Цена 64. Копим: 128 + 64192
3-яТретья не горит. Цену 32 пропускаем192
4-яЧетвёртая не горит. Пропускаем 16192
5-яПятая горит. Прибавляем 8200
6-яШестая не горит. Пропускаем 4200
7-яСедьмая горит. Прибавляем 2202
8-яВосьмая не горит. Пропускаем 1202
Ответ11001010 = 202

Весь фокус — идти слева направо и просто копить сумму. Ошибиться можно только в одном: сбиться в цене лампочки. Поэтому цены сначала подписывают, а потом считают.

Слева направо, копим суммуАнанко · Качур · VK · TG
Блок 01 · Совсем медленноОбратно

ОБРАТНО: 202 В ЛАМПОЧКИ

128Спрашиваем: «в 202 влезает 128?» Да → лампочку включаем. Остаток 202 − 1281 · остаток 74
64«В 74 влезает 64?» Да → включаем. Остаток 74 − 641 · остаток 10
32«В 10 влезает 32?» Нет → оставляем тёмной0 · остаток 10
16«В 10 влезает 16?» Нет0 · остаток 10
8«В 10 влезает 8?» Да. Остаток 10 − 81 · остаток 2
4«В 2 влезает 4?» Нет0 · остаток 2
2«В 2 влезает 2?» Да. Остаток 01 · остаток 0
1Остаток 0 — дальше только тёмные0
Ответ202 = 11001010

Проверка бесплатная: сложите цены включённых лампочек обратно. Получилось исходное число — значит, всё верно.

Влезает — включаем и вычитаемАнанко · Качур · VK · TG
Блок 01 · СтупорыГде все спотыкаются

ЧЕТЫРЕ ЛОВУШКИ

01Забыли нули слева

Число 1 в октете пишется 00000001, а не «1». Лампочек всегда восемь, даже если горит одна.

02Считают справа налево

Цены растут к левому краю. Самая левая лампочка — самая дорогая, 128.

03Путают 0 и «ничего»

Ноль — это полноценное значение. Октет из восьми нулей — это число 0, а не пустое место.

04Умножают вместо сложения

Мы только складываем цены горящих лампочек. Никаких умножений в уме не требуется.

Если запутались — вернитесь к слайду с кнопками и пощёлкайте лампочки: там сумма пересчитывается сама, и видно, откуда взялось число.

4 типичные ошибкиАнанко · Качур · VK · TG
Блок 01 · Итог блокаЧто запомнить

ИЗ БЛОКА 01 ЗАПОМНИТЬ

Три строчки. Если они в голове — дальше всё пойдёт легко.

  • 01Цены: 128 64 32 16 8 4 2 1
  • 02Из битов в число — сложить цены единиц
  • 03Из числа в биты — вычитать цены сверху вниз
Итог блока 01Ананко · Качур · VK · TG
Блок 02 · Мини-играСобери байт
Собери это число битами
Счёт0
Серия0
Секунды15
Правило: набрать единицами нужное число за 15 секунд. Совпало — очко и новое число.
Клик по разряду · счёт растёт при попаданииАнанко · Качур
Блок 02 · ЗадачникСистемы счисления

ЗАДАЧНИК · СЧЁТ

11111010 → 10
128+64+32+16+8+2 = 250
10000001 → 10
128+1 = 129
00011100 → 10
16+8+4 = 28
100 → 2
100−64=36, 36−32=4, 4−4=0 → 01100100
201 → 2
201−128=73, 73−64=9, 9−8=1, 1−1=0 → 11001001
255 → 2
11111111 — все разряды включены
Перевести адрес 10.1.130.7
00001010.00000001.10000010.00000111
Сколько всего значений даёт октет
2⁸ = 256 значений, от 0 до 255.
Сколько адресов даёт 32 бита
2³² ≈ 4 294 967 296 адресов. Их уже не хватает — отсюда и IPv6.
Клик по карточке — ответАнанко · Качур
Блок 03 · АдресЗачем адрес

КОМУ
ДОСТАВИТЬ

Чтобы данные дошли до нужного устройства, у каждого узла должен быть уникальный адрес. Иначе сеть не знает, кому отдать пакет.

+На пальцах: почта
MAC-адрес — это как серийный номер квартиры, приклеенный на двери: уникален, но по нему письмо через страну не отправишь. IP-адрес — это город, улица, дом: по нему письмо можно везти издалека.
Два адреса на одном устройстве
  • L2MAC-адрес48 бит, зашит производителем, работает внутри сегмента
  • L3IP-адрес32 бита, назначается администратором или DHCP, работает между сетями
MAC — внутри, IP — междуАнанко · Качур · VK · TG
Блок 03 · АдресMAC vs IP

MAC vs IP

MAC-адрес

  • 48 бит, шестнадцатеричная запись
  • Media Access Control — физический адрес
  • Присваивает производитель, обычно не меняется
  • Работает внутри одного сегмента сети
L2 / L3

IP-адрес

  • 32 бита (IPv4), десятичная запись через точки
  • Internet Protocol — логический адрес
  • Присваивает администратор или DHCP
  • Работает между сетями, по нему идёт маршрутизация

Оба адреса нужны одновременно: IP говорит «в какую сеть и какому узлу», MAC — «какой конкретной сетевой карте передать кадр на этом участке пути».

48 бит vs 32 битаАнанко · Качур · VK · TG
Блок 03 · Адрес32 бита

32 БИТА = 4 ОКТЕТА

октет 1 · 8 бит
октет 2 · 8 бит
октет 3 · 8 бит
октет 4 · 8 бит

Читать 32 нуля и единицы человеку неудобно, поэтому адрес делят на четыре группы по 8 бит — октеты — и каждую переводят в десятичное число. Разделяют точками. Такая запись называется точечно-десятичной.

11000000 10101000 00001111 00000001 192.168.15.1
Октет = 8 бит = 0…255Ананко · Качур · VK · TG
Блок 03 · Пример решенияРазбор адреса

ПРИМЕР · 192.168.15.1

Октет 1
192
11000000
Октет 2
168
10101000
Октет 3
15
00001111
Октет 4
1
00000001
111000000 = 128 + 64192
210101000 = 128 + 32 + 8168
300001111 = 8 + 4 + 2 + 115
400000001 = 11
Точечно-десятичная запись192.168.15.1
Пример: разбор адреса по октетамАнанко · Качур · VK · TG
Блок 03 · ИнтерактивКонвертер адреса

АДРЕС В ДВОИЧНОМ ВИДЕ

Каждый октет — 8 бит, ведущие нули обязательныАнанко · Качур
Блок 03 · АдресГраницы и ошибки

ПОЧЕМУ НЕ БОЛЬШЕ 255

2⁸ = 256 значений 0 … 255

Восемь бит физически не могут выразить число больше 255. Поэтому 300.1.1.1 — не адрес, а опечатка, и любое устройство откажется его принять.

Частые ошибки на экзамене
  • Октет > 255256, 300 — невозможно
  • Пять группадрес IPv4 всегда из четырёх
  • Потерян ведущий ноль1 → 00000001, не «1»
  • Путать 0 и 255это адрес сети и broadcast
0…255 в каждом октетеАнанко · Качур · VK · TG
Блок 03 · На пальцахТелефонный номер

АДРЕС КАК ТЕЛЕФОННЫЙ НОМЕР

В номере +7 383 2XX-XX-XX начало — это страна и город, конец — конкретный абонент.

IP-адрес устроен так же: начало говорит, в какую сеть везти, конец — какому узлу отдать. Разница только в том, что границу между «городом» и «абонентом» нам показывает маска.

Сравниваем
  • 383Код города= адрес сети, общий для всех абонентов города
  • XXXXНомер абонента= адрес узла, у каждого свой
  • /24Маска= правило, где кончается код города
Код города + абонентАнанко · Качур · VK · TG
Блок 03 · На пальцахЧитаем вслух

КАК ЧИТАТЬ 192.168.15.10/24 СЛОВАМИ

1«Сто девяносто два точка сто шестьдесят восемь точка пятнадцать точка десять»сам адрес
2«Слэш двадцать четыре» — значит первые 24 бита это адрес сети/24
324 бита — это ровно три октета: 192.168.15 — сетьтри первых
4Остался последний октет: 10 — это номер узлаузел .10
Читается такузел №10 в сети 192.168.15.0

Если префикс кратен восьми — /8, /16, /24 — граница проходит ровно по точке, и считать вообще нечего. Все «страшные» вычисления начинаются только там, где префикс не кратен восьми: /25, /26, /27…

/8 /16 /24 — граница по точкеАнанко · Качур · VK · TG
Блок 04 · МаскаДве части адреса

СЕТЬ
И УЗЕЛ

Любой IP-адрес делится на две части: адрес сети — куда доставить, и адрес узла — кому именно внутри этой сети.

+На пальцах: адрес на конверте
«Улица Кирова, дом 12» — это сеть: по ней письмо везут через полстраны. «Квартира 45» — это узел: её ищут уже на месте. Маска отвечает на один вопрос: где заканчивается улица и начинается квартира.
Кто что делает
  • СЕТЬОбщая для всеху всех узлов сегмента одинаковая
  • УЗЕЛУникальнаяу каждого своя внутри сети
  • МАСКАГраницаговорит, сколько бит слева — сеть
Адрес = сеть + узелАнанко · Качур · VK · TG
Блок 04 · МаскаКак устроена

МАСКА: ЕДИНИЦЫ, ПОТОМ НУЛИ

1сеть
1сеть
1сеть
1сеть
0узел
0узел
0узел
0узел

Правило жёсткое: сначала все единицы, потом все нули. Единица означает «этот бит относится к адресу сети», ноль — «этот бит относится к узлу». Смешивать нельзя: 11010000 маской быть не может.

255.255.255.0 = 11111111.11111111.11111111.00000000 = /24
Маска = непрерывный блок единицАнанко · Качур · VK · TG
Блок 04 · МаскаСколько адресов

СКОЛЬКО АДРЕСОВ В СЕТИ

Q = 2N

где N — количество нулей в маске, то есть число бит, отданных под узлы.

/24Маска 255.255.255.0, нулей 82⁸ = 256
/25Маска 255.255.255.128, нулей 72⁷ = 128
/26Маска 255.255.255.192, нулей 62⁶ = 64
/30Маска 255.255.255.252, нулей 22² = 4
Q = 2^N, N — нулей в маскеАнанко · Качур · VK · TG
Блок 04 · Пример решенияМаска /25

ПРИМЕР · МАСКА 255.255.255.128

Октет 1
255
11111111
Октет 2
255
11111111
Октет 3
255
11111111
Октет 4
128
10000000
01Считаем единицы: 8 + 8 + 8 + 125
02Значит префикс/25
03Нулей осталось 32 − 257
Всего адресов Q = 2⁷128
/25 = 255.255.255.128 = 128 адресовАнанко · Качур · VK · TG
Блок 04 · МаскаТаблица масок

ТАБЛИЦА МАСОК

ПрефиксМаскаДвоичный видВсего адресовУзлов (−2)
/8255.0.0.011111111.00000000.00000000.0000000016 777 21616 777 214
/16255.255.0.011111111.11111111.00000000.0000000065 53665 534
/24255.255.255.011111111.11111111.11111111.00000000256254
/25255.255.255.128…11111111.10000000128126
/26255.255.255.192…11111111.110000006462
/27255.255.255.224…11111111.111000003230
/28255.255.255.240…11111111.111100001614
/29255.255.255.248…11111111.1111100086
/30255.255.255.252…11111111.1111110042

/30 — рабочая лошадка для линков между маршрутизаторами: два адреса, ровно два интерфейса, ничего не тратится зря.

Таблица масок /8 … /30Ананко · Качур · VK · TG
Блок 04 · ИнтерактивДвигаем границу

ГРАНИЦА СЕТЬ / УЗЕЛ

сеть
узлы
Префикс/24 Маска255.255.255.0 Бит под сеть24 Бит под узлы8 Всего адресов 2^N256 Полезных узлов 2^N−2254

Тяни ползунок: чем больше единиц в маске, тем меньше узлов в сети — но тем больше самих сетей.

Ползунок /8 … /30Ананко · Качур
Блок 04 · МаскаОперация И

ЛОГИЧЕСКОЕ «И»

Чтобы узнать адрес сети, устройство накладывает маску на адрес поразрядной операцией AND.

Единица получается только там, где обе единицы. Значит, там, где в маске нули, результат гарантированно ноль — биты узла обнуляются.

ABA и B
000
010
100
111
AND: 1 и 1 = 1, иначе 0Ананко · Качур · VK · TG
Блок 04 · Пример решенияAND · узел 54

ПРИМЕР · 192.168.10.54 /24

IP192.168.10.5411000000.10101000.00001010.00110110
MASK255.255.255.011111111.11111111.11111111.00000000
ANDпоразрядно перемножаем11000000.10101000.00001010.00000000
Адрес сети192.168.10.0

Первые три октета переписались без изменений (там маска — единицы), а последний обнулился (там нули). Отсюда и правило быстрого счёта: где маска 255 — октет переписываем, где 0 — ставим 0.

192.168.10.54/24 → сеть 192.168.10.0Ананко · Качур · VK · TG
Блок 04 · Пример решенияAND · узел 250

ПРИМЕР · 192.168.10.250 /24

IP192.168.10.25011000000.10101000.00001010.11111010
MASK255.255.255.011111111.11111111.11111111.00000000
Адрес сети тот же192.168.10.0

Узлы 54 и 250 получили один и тот же адрес сети — значит, они в одной сети и общаются напрямую, без маршрутизатора.

Одна сеть → напрямуюАнанко · Качур · VK · TG
Блок 04 · Пример решенияAND · другая сеть

ПРИМЕР · 192.168.20.25 /24

IP192.168.20.2511000000.10101000.00010100.00011001
MASK255.255.255.011111111.11111111.11111111.00000000
Адрес сети192.168.20.0

Сети 192.168.10.0 и 192.168.20.0 — разные. Напрямую такие узлы не поговорят: нужен маршрутизатор, который перекинет пакет из одной сети в другую.

Разные сети → через маршрутизаторАнанко · Качур · VK · TG
Блок 05 · СпецадресаТри вида

ТРИ ВИДА АДРЕСОВ В СЕТИ

Два адреса из каждого диапазона нельзя отдать компьютеру: они служебные.

  • 01Адрес сети — все биты узла нули
  • 02Адрес узла — всё, что между ними
  • 03Broadcast — все биты узла единицы
Сеть · узел · широковещательныйАнанко · Качур · VK · TG
Блок 05 · СпецадресаАдрес сети

АДРЕС СЕТИ

192
192
11000000
168
168
10101000
10
10
00001010
узел
0
00000000

Все биты узловой части — нули. Это «имя» самой сети: так её записывают в таблицах маршрутизации и так о ней говорят. Ни одному компьютеру этот адрес не назначают.

192.168.10.0 /24 — адрес сети
Все нули в узловой частиАнанко · Качур · VK · TG
Блок 05 · СпецадресаBroadcast

ШИРОКОВЕЩАТЕЛЬНЫЙ АДРЕС

192
192
11000000
168
168
10101000
10
10
00001010
узел
255
11111111

Все биты узловой части — единицы. Пакет на такой адрес получают все узлы сети сразу. Так работают, например, запросы ARP и поиск DHCP-сервера, когда адрес ещё неизвестен.

192.168.10.255 /24 — broadcast
Все единицы в узловой частиАнанко · Качур · VK · TG
Блок 05 · ФормулаМинус два

СКОЛЬКО УЗЛОВ

Q = 2N − 2

Из всех адресов вычитаем два служебных: адрес сети и широковещательный. Остальное можно раздавать устройствам.

/24256 − 2254 узла
/25128 − 2126 узлов
/2664 − 262 узла
/2732 − 230 узлов
/304 − 22 узла
Узлов = 2^N − 2Ананко · Качур · VK · TG
Блок 05 · ИнтерактивКалькулятор сети
IP-адрес и префикс
Считает ровно то, что мы делаем руками: AND с маской, потом единицы в узловой части.
Проверяй свои решения здесьАнанко · Качур
Блок 05 · ЗадачникМаски и сети

ЗАДАЧНИК · МАСКА

Сеть для 192.168.10.77/24
192.168.10.0, broadcast 192.168.10.255, узлы .1 – .254
Сеть для 192.168.15.200/25
200 ≥ 128 → вторая половина. Сеть 192.168.15.128, broadcast 192.168.15.255, узлы .129 – .254
Маска /26 в десятичном виде
255.255.255.192 — в последнем октете два старших бита единицы: 128+64.
Сколько узлов в /28
Нулей 4 → 2⁴ = 16 адресов → 14 узлов.
255.255.240.0 — какой префикс
240 = 11110000 → 8+8+4 = /20. Узлов 2¹² − 2 = 4094.
В одной ли сети .10.5 и .11.5 при /24
Нет: сети 192.168.10.0 и 192.168.11.0. Нужен маршрутизатор.
В одной ли сети те же адреса при /16
Да: у обоих сеть 192.168.0.0 — третий октет попал в узловую часть.
Можно ли маску 255.255.255.100
Нет. 100 = 01100100 — единицы не подряд и не с начала. Маска обязана быть непрерывным блоком единиц слева.
Почему у /31 «нет узлов» по формуле
2¹ − 2 = 0. Такая сеть в обычной схеме бесполезна, поэтому для линков берут /30 с двумя узлами.
Клик по карточке — решениеАнанко · Качур
Блок 05 · РецептЧто делать руками

ДАЛИ АДРЕС И МАСКУ. ЧТО ДЕЛАТЬ

Шаг 1Найти «интересный» октет маски — тот, где не 255 и не 0например 192
Шаг 2Посчитать шаг: 256 минус этот октет256 − 192 = 64
Шаг 3Выписать границы через шаг: 0, 64, 128, 192это адреса подсетей
Шаг 4Найти, между какими границами лежит наш октет адресаменьшая граница = сеть
Шаг 5Broadcast — следующая граница минус одинnext − 1
Шаг 6Узлы — всё между сетью и broadcastсеть+1 … bc−1

Пример на этом рецепте: 192.168.15.100/26. Шаг 64, границы 0 · 64 · 128 · 192. Сотня лежит между 64 и 128 → сеть 192.168.15.64, broadcast .127, узлы .65–.126. Всё, задача закрыта в четыре движения.

Рецепт из 6 шаговАнанко · Качур · VK · TG
Блок 05 · СтупорыПочему .63 нельзя

САМЫЙ ЧАСТЫЙ ВОПРОС

«Почему нельзя назначить .63, если это обычное число?»

Потому что при маске /26 узловая часть — шесть последних бит. У числа 63 это 111111все единицы. А все единицы означают «всем сразу», то есть broadcast. Такой адрес занят службой, а не устройством.

.63узловая часть 111111 — все единицыbroadcast · занят
.64узловая часть 000000 — все нулиадрес сети · занят
.65узловая часть 000001первый свободный узел
Правило без исключенийвсе нули и все единицы — не узлам
Все нули и все единицы занятыАнанко · Качур · VK · TG
Блок 05 · На пальцахBroadcast

BROADCAST — ЭТО КРИК В КОРИДОРЕ

«Чей телефон на подоконнике?» — слышит весь этаж, отвечает один.

Так узел ищет чужой MAC-адрес или DHCP-сервер: адресата он ещё не знает, поэтому спрашивает у всех. Пока узлов немного — нормально. Когда их пятьсот, коридор превращается в базар: все слушают, все отвлекаются.

Отсюда два вывода
  • 01Крик не выходит за этажbroadcast не проходит через маршрутизатор
  • 02Этажи лучше поменьшеэто и есть деление на подсети
Broadcast = крик всем сразуАнанко · Качур · VK · TG
Блок 06 · КлассыИдея

КЛАССОВАЯ
АДРЕСАЦИЯ

Исторически границу «сеть / узел» не выбирали свободно. Её задавал класс адреса, а класс читался по старшим битам первого октета.

+Зачем так делали
В начале 1980-х маршрутизаторы были слабые, и передавать маску вместе с адресом считалось роскошью. Класс позволял узнать границу из самого адреса: посмотрел на первый октет — уже знаешь маску.
Три «рабочих» класса
  • AОгромные сетимаска /8, узлов миллионы
  • BСредниемаска /16, узлов десятки тысяч
  • CМелкиемаска /24, узлов 254
Класс задаёт маску по умолчаниюАнанко · Качур · VK · TG
Блок 06 · КлассыСтаршие биты

КЛАСС ЧИТАЕТСЯ ПО ПЕРВЫМ БИТАМ

КлассСтаршие битыПервый октетМаска по умолчаниюПрефикс
A0…0 – 127255.0.0.0/8
B10…128 – 191255.255.0.0/16
C110…192 – 223255.255.255.0/24
D1110…224 – 239многоадресный
E1111…240 – 255экспериментальный

Границы легко проверить на битах: 01111111 = 127 — конец класса A, 10111111 = 191 — конец B, 11011111 = 223 — конец C. Ничего заучивать не нужно, если умеешь считать веса.

0 / 10 / 110 / 1110 / 1111Ананко · Качур · VK · TG
Блок 06 · КлассыЁмкость

СКОЛЬКО СЕТЕЙ И УЗЛОВ

КлассБит на сетьБит на узлыСетейУзлов в сети
A82412816 777 214
B161616 38465 534
C2482 097 152254
AГигант

Один класс A — это 16 миллионов адресов на одну организацию.

BКрупный ВУЗ

65 тысяч адресов: много, но уже реалистично.

CОфис

254 адреса — типовая локальная сеть.

A: 16 млн · B: 65 тыс · C: 254Ананко · Качур · VK · TG
Блок 06 · Пример решенияОпределить класс

ПРИМЕР · 130.45.20.7

01Смотрим первый октет130
02130 в двоичном виде: 128 + 210000010
03Старшие биты 10 → диапазон 128–191класс B
04Маска по умолчанию для класса B255.255.0.0 = /16
05Обнуляем узловую часть (два последних октета)130.45.0.0
06Все единицы в узловой части130.45.255.255
Узлов в сети: 2¹⁶ − 265 534
130.45.20.7 → класс B, /16Ананко · Качур · VK · TG
Блок 06 · Пример решенияТри адреса

ЕЩЁ ТРИ РАЗБОРА

АдресПервый октет в битахКлассМаскаАдрес сетиBroadcast
10.0.5.900001010A255.0.0.010.0.0.010.255.255.255
172.16.45.20010101100B255.255.0.0172.16.0.0172.16.255.255
192.168.15.111000000C255.255.255.0192.168.15.0192.168.15.255

Алгоритм всегда один: первый октет → биты → класс → маска → обнулить узловую часть. Broadcast — та же сеть, но узловая часть из единиц.

Алгоритм разбора по классуАнанко · Качур · VK · TG
Блок 06 · КлассыD и E

КЛАССЫ D И E

Эти адреса узлам не назначают: у них другая работа.

Особые классы
  • D224 – 239многоадресная рассылка: один отправитель, группа получателей
  • E240 – 255зарезервированы, экспериментальные
D — multicast, E — резервАнанко · Качур · VK · TG
Блок 06 · КлассыТри способа доставки

ОДНОМУ · ВСЕМ · ГРУППЕ

1:1Одноадресная

Unicast. Пакет идёт одному конкретному узлу — обычный случай.

1:всеШироковещательная

Broadcast. Получают все узлы сети: в узловой части адреса все единицы.

1:NМногоадресная

Multicast. Получают только подписчики группы, адрес из класса D (224–239).

Пример из жизни: видеотрансляция на 500 человек. Unicast — 500 копий потока, multicast — один поток, который сеть размножает сама.

Unicast · broadcast · multicastАнанко · Качур · VK · TG
Блок 06 · КлассыПочему отказались

ПОЧЕМУ КЛАССЫ НЕ ВЫЖИЛИ

Между классами B и C — пропасть: 65 534 и 254. А если нужно 400 узлов?

+Цена ошибки
Берёшь класс B на 400 машин — и 65 тысяч адресов простаивают. Берёшь класс C — не хватает. Умножьте это на тысячи организаций, и адреса IPv4 закончатся досрочно. Так и вышло.
  • 01Расточительность: адреса простаивают
  • 02Нет гибкости: три размера на все случаи
  • 03Раздутые таблицы маршрутизации
  • 04Решение — маску задавать вручную
Классы → бесклассовая адресацияАнанко · Качур · VK · TG
Блок 06 · ЗадачникКлассы

ЗАДАЧНИК · КЛАССЫ

Класс адреса 200.15.7.3
200 → 11001000, старшие биты 110 → класс C, маска 255.255.255.0, сеть 200.15.7.0.
Класс адреса 126.200.1.1
126 < 128 → класс A, маска 255.0.0.0, сеть 126.0.0.0, broadcast 126.255.255.255.
Класс адреса 191.255.3.4
191 попадает в 128–191 → класс B. Это последний адрес класса B.
Класс адреса 230.1.1.1
230 в диапазоне 224–239 → класс D, многоадресная рассылка. Узлу такой адрес не назначают.
Broadcast сети 172.20.0.0 /16
172.20.255.255. Узлы: 172.20.0.1 – 172.20.255.254.
Сколько узлов даёт класс A
Узловых бит 24 → 2²⁴ − 2 = 16 777 214.
Нужно 400 узлов. Хватит класса C?
Нет, там 254. Классовая логика заставила бы взять класс B (65 534) и потерять почти всё. Правильный ответ — бесклассовая маска /23 (510 узлов).
Первый октет 128 — какой класс
10000000 → старшие биты 10 → класс B, первая сеть класса B.
Почему 127.0.0.1 нельзя назначить узлу
Вся сеть 127.0.0.0/8 зарезервирована под loopback — проверку собственного стека TCP/IP.
Клик по карточке — решениеАнанко · Качур
Блок 07 · ДиапазоныПубличные и частные

ПУБЛИЧНЫЕ vs ЧАСТНЫЕ

Публичный адрес уникален во всём Интернете и выдаётся провайдером. Частный используется только внутри локальной сети.

+Почему 192.168.1.1 у всех
Частные диапазоны специально разрешено использовать всем одновременно: они не маршрутизируются в Интернете. Наружу трафик выходит через NAT на маршрутизаторе, подменяя частный адрес на публичный.
Три частных диапазона
  • A10.0.0.0/810.0.0.0 – 10.255.255.255
  • B172.16.0.0/12172.16.0.0 – 172.31.255.255
  • C192.168.0.0/16192.168.0.0 – 192.168.255.255
10/8 · 172.16/12 · 192.168/16Ананко · Качур · VK · TG
Блок 07 · ДиапазоныОсобые адреса

ОСОБЫЕ АДРЕСА

ДиапазонАдресаНазначение
127.0.0.0/8127.0.0.1 – 127.255.255.254Loopback: проверка собственного стека TCP/IP. Пакет не выходит из устройства.
169.254.0.0/16169.254.0.1 – 169.254.255.254APIPA: адрес, который узел назначает себе сам, когда DHCP-сервер не ответил.
192.0.2.0/24192.0.2.0 – 192.0.2.255TEST-NET: адреса для документации, примеров и обучения.

Практический вывод: увидели у себя адрес 169.254.х.х — это не «интернет сломался», а DHCP не ответил. Проверять надо кабель и сервер, а не браузер.

127/8 · 169.254/16 · 192.0.2/24Ананко · Качур · VK · TG
Блок 07 · НазначениеСтатика и DHCP

КАК АДРЕС ПОПАДАЕТ НА УЗЕЛ

Статический

  • Администратор вписывает вручную
  • Адрес не меняется — удобно для серверов, принтеров, оборудования
  • Нужно вести учёт, иначе конфликт адресов
vs

Динамический

  • Выдаёт DHCP-сервер на время (аренда)
  • Подходит для рабочих станций и телефонов
  • Меньше ручной работы и меньше ошибок

Посмотреть выданный адрес: ipconfig в Windows, ifconfig или ip a в Linux.

Статика vs DHCPАнанко · Качур · VK · TG
Блок 07 · ЗадачникДиапазоны

ЗАДАЧНИК · ДИАПАЗОНЫ

172.20.5.1 — частный или публичный
Частный: попадает в 172.16.0.0 – 172.31.255.255.
172.35.5.1 — частный или публичный
Публичный: 35 > 31, за границей частного диапазона.
Почему 172.16.0.0 имеет маску /12
Общими остаются 12 старших бит: 10101100.0001. Меняются последние 4 бита второго октета — отсюда диапазон 16…31.
Что означает адрес 169.254.10.20
APIPA: узел не получил ответ от DHCP и назначил адрес сам. Наружу такой узел не выйдет.
Куда уйдёт пакет на 127.0.0.1
Никуда: останется внутри устройства. Так проверяют, что стек TCP/IP работает.
Сколько адресов в 10.0.0.0/8
Узловых бит 24 → 2²⁴ = 16 777 216 адресов, из них 16 777 214 узлам.
Клик по карточке — решениеАнанко · Качур
Блок 08 · CIDRИдея

БЕСКЛАССОВАЯ
АДРЕСАЦИЯ

Границу «сеть / узел» ставим где хотим, а маску передаём вместе с адресом. Класс адреса больше ничего не решает.

+Что такое CIDR
CIDR — Classless Inter-Domain Routing, «бесклассовая маршрутизация». Отсюда и запись адрес/префикс: 192.168.15.0/26. Число после слэша — сколько бит слева отдано сети.
  • 01Маска — любая длины 1…30
  • 02Размер сети под задачу, а не под класс
  • 03Экономия адресов IPv4
  • 04Запись адрес/префикс
CIDR: адрес + маскаАнанко · Качур · VK · TG
Блок 08 · ПодсетиЗачем делить

ЗАЧЕМ ДЕЛИТЬ СЕТЬ НА ПОДСЕТИ

01Меньше широковещания

Broadcast не выходит за границу подсети. Меньше домен — меньше лишнего трафика у каждого узла.

02Безопасность

Между подсетями трафик идёт через маршрутизатор, где его можно фильтровать списками доступа.

03Порядок и учёт

Отдел, этаж, филиал — своя подсеть. Легче искать неисправность и планировать рост.

04Экономия адресов

Каждой группе — ровно столько адресов, сколько нужно, а не «класс целиком».

05Локализация аварий

Шторм или сбой в одной подсети не топит всю сеть организации.

06Управляемость

Правила, приоритеты и политики удобно вешать на подсеть целиком.

6 причин делить на подсетиАнанко · Качур · VK · TG
Блок 08 · ПодсетиШироковещательный домен

ПРОБЛЕМА БОЛЬШОГО ДОМЕНА

Широковещательные запросы получают все узлы сегмента. Чем больше узлов — тем больше служебного шума.

+Откуда берётся broadcast
Узел ищет MAC-адрес по IP — рассылает ARP-запрос всем. Узел ищет DHCP-сервер, не зная его адреса — тоже всем. В сети на 500 машин такие запросы идут непрерывно, и каждый кадр обрабатывает каждая машина.
Что происходит при росте
  • 01Растёт трафикслужебные рассылки множатся
  • 02Растёт нагрузка на узлыкаждый разбирает каждый broadcast
  • 03Падает скоростьполезным данным остаётся меньше канала
  • 04Труднее искать сбойвиновника не видно
Broadcast не выходит за границу подсетиАнанко · Качур · VK · TG
Блок 08 · ПодсетиМеханика

ЗАНИМАЕМ БИТЫ У УЗЛОВОЙ ЧАСТИ

сеть · 24 бита
под
узлы · 6 бит

Чтобы получить подсети, мы удлиняем маску: несколько старших бит узловой части переходят к сети. Эти биты и нумеруют подсети. Всё, что осталось справа, — по-прежнему узлы.

подсетей = 2n · узлов = 232−префикс − 2 · n — сколько бит заняли
Занял n бит → 2^n подсетейАнанко · Качур · VK · TG
Блок 09 · На пальцахОбщежитие

ПОДСЕТИ — ЭТО ЭТАЖИ

Было одно большое здание на 254 койки и один общий коридор. Стало четыре этажа по 62 койки, у каждого свой коридор.

+Что изменилось по сути
Кричать теперь слышно только на своём этаже. Между этажами ходят через вахтёра — это маршрутизатор: он и пропускает, и проверяет. Коек стало чуть меньше: на каждом этаже нужен номер самого этажа и «общий кричальщик».
Кто есть кто
  • ДомСеть /24256 адресов целиком
  • ЭтажПодсеть /2664 адреса, из них 62 койки
  • КойкаУзелкомпьютер, телефон, принтер
  • ВахтёрМаршрутизаторпропускает между этажами
Дом · этаж · койка · вахтёрАнанко · Качур · VK · TG
Блок 09 · На пальцахОткуда берутся подсети

ОТКУДА БЕРУТСЯ ЭТАЖИ

1Смотрим на узловую часть: в /24 это последний октет, 8 лампочек8 бит узла
2Забираем у неё две левые лампочки и объявляем их «номером этажа»2 бита подсети
3Двумя лампочками можно набрать четыре номера: 00, 01, 10, 114 этажа
4Остальные шесть лампочек — по-прежнему номер койки64 адреса на этаж
Маска подросла на 2 бита/24 → /26

Вот и весь секрет «разбиения на подсети»: мы не добываем новые адреса, а переобозначаем часть старых. Сколько лампочек забрали — столько раз удвоилось число этажей: 1 бит → 2, 2 бита → 4, 3 бита → 8.

Забрали 2 лампочки → 4 подсетиАнанко · Качур · VK · TG
Блок 09 · Пример решения/24 → две /25

ПРИМЕР · РЕЖЕМ 192.168.15.0/24 ПОПОЛАМ

01Было: маска 255.255.255.0, узлов 254/24
02Занимаем 1 бит у узловой части → маска 255.255.255.128/25
03Подсетей 2¹, в каждой 2⁷ = 128 адресов2 подсети
04Первая подсеть: бит подсети = 0192.168.15.0/25
05Её broadcast: узловая часть из единиц192.168.15.127
06Вторая подсеть: бит подсети = 1192.168.15.128/25
Её broadcast и узлы.255 · узлы .129–.254
/24 → /25 + /25Ананко · Качур · VK · TG
Блок 09 · ПодсетиКак выглядит

ДВЕ ПОДСЕТИ /25

192.168.15.0/25узлы .1 – .126broadcast .127 · 126 узлов
192.168.15.128/25узлы .129 – .254broadcast .255 · 126 узлов

Обратите внимание: адресов было 256 и осталось 256, но полезных узлов стало меньше — 126 + 126 = 252 вместо 254. Каждая новая подсеть съедает свои два служебных адреса. Это цена порядка.

Цена деления: −2 адреса на подсетьАнанко · Качур · VK · TG
Блок 09 · ИнтерактивДелим 192.168.15.0/24

СКОЛЬКО ПОДСЕТЕЙ НУЖНО?

Занятые биты подсети подсвеченыАнанко · Качур
Блок 09 · Пример решения4 подсети

ПРИМЕР · 4 ПОДСЕТИ ИЗ /24

01Нужно 4 подсети. Одного бита мало: 2¹ = 2берём 2 бита
022² = 4 → маска удлиняется на 2 бита/26 · 255.255.255.192
В каждой подсети 2⁶ = 64 адреса62 узла
Биты подсетиАдрес подсетиДиапазон узловBroadcast
100000000192.168.15.0/26192.168.15.1 – 192.168.15.62192.168.15.63
201000000192.168.15.64/26192.168.15.65 – 192.168.15.126192.168.15.127
310000000192.168.15.128/26192.168.15.129 – 192.168.15.190192.168.15.191
411000000192.168.15.192/26192.168.15.193 – 192.168.15.254192.168.15.255

Шаг между подсетями — 64: 0, 64, 128, 192. Это и есть размер подсети в адресах.

4 подсети /26, шаг 64Ананко · Качур · VK · TG
Блок 09 · Пример решения8 подсетей

ПРИМЕР · 8 ПОДСЕТЕЙ ИЗ /24

018 подсетей → 2³ = 8берём 3 бита
0224 + 3/27 · 255.255.255.224
В каждой 2⁵ = 32 адреса30 узлов
Биты подсетиАдрес подсетиДиапазон узловBroadcast
100000000192.168.15.0/27.1 – .30.31
200100000192.168.15.32/27.33 – .62.63
301000000192.168.15.64/27.65 – .94.95
401100000192.168.15.96/27.97 – .126.127
510000000192.168.15.128/27.129 – .158.159
610100000192.168.15.160/27.161 – .190.191
711000000192.168.15.192/27.193 – .222.223
811100000192.168.15.224/27.225 – .254.255

Биты подсети просто считают в двоичной системе: 000, 001, 010, 011… Шаг между подсетями — 32.

8 подсетей /27, шаг 32Ананко · Качур · VK · TG
Блок 09 · ЛайфхакШаг подсети

ШАГ СЧИТАЕТСЯ В ГОЛОВЕ

шаг = 256 − маскаокт

Берём «интересный» октет маски — тот, где она не 255 и не 0, — и вычитаем его из 256. Получаем размер подсети, он же шаг между их адресами.

/25256 − 128шаг 128: 0, 128
/26256 − 192шаг 64: 0, 64, 128, 192
/27256 − 224шаг 32: 0, 32, 64 …
/28256 − 240шаг 16: 0, 16, 32 …
Broadcast подсетиследующая − 1
шаг = 256 − октет маскиАнанко · Качур · VK · TG
Блок 09 · Пример решения/16 на 50 подсетей

ПРИМЕР · 50 ПОДСЕТЕЙ ИЗ 192.168.0.0/16

01Нужно 50. Перебираем степени двойки: 2⁵ = 32 — маломало
022⁶ = 64 ≥ 50 → занимаем 6 битхватит
0316 + 6/22 · 255.255.252.0
В каждой подсети 2¹⁰ = 1024 адреса1022 узла
ВариантПрефиксПодсетейУзлов в каждой
1 бит/17232 766
2 бита/18416 382
3 бита/1988 190
4 бита/20164 094
5 бит/21322 046
6 бит/22641 022
№ подсетиАдресДиапазон узловBroadcast
1192.168.0.0/22192.168.0.1 – 192.168.3.254192.168.3.255
2192.168.4.0/22192.168.4.1 – 192.168.7.254192.168.7.255
3192.168.8.0/22192.168.8.1 – 192.168.11.254192.168.11.255
50192.168.196.0/22192.168.196.1 – 192.168.199.254192.168.199.255
64192.168.252.0/22192.168.252.1 – 192.168.255.254192.168.255.255

64 подсети создали, 50 задействовали — 14 в запасе на рост. Шаг здесь считается в третьем октете: 256 − 252 = 4.

50 подсетей → /22, шаг 4 в 3-м октетеАнанко · Качур · VK · TG
Блок 10 · УзлыДругая постановка

ЗАДАНО ЧИСЛО УЗЛОВ

Второй тип задач: известно, сколько устройств в подсети. Найти маску.

2h − 2 ≥ нужно узлов
  • 01Подобрать h — бит под узлы
  • 02Префикс = 32 − h
  • 03Проверить запас на рост
  • 04Записать диапазоны подсетей
2^h − 2 ≥ N узловАнанко · Качур · VK · TG
Блок 10 · Пример решения60 узлов

ПРИМЕР · НУЖНО 60 УЗЛОВ

01Пробуем h = 5: 2⁵ − 2 = 30мало
02Пробуем h = 6: 2⁶ − 2 = 62 ≥ 60подходит
03Префикс 32 − 6/26 · 255.255.255.192
Запас на рост62 − 60 = 2 адреса

Запас всего два адреса — впритык. Если отдел точно будет расти, честнее взять /25 (126 узлов) и не переделывать схему через полгода.

60 узлов → /26Ананко · Качур · VK · TG
Блок 10 · Пример решения300 узлов

ПРИМЕР · НУЖНО 300 УЗЛОВ

01h = 8: 2⁸ − 2 = 254мало
02h = 9: 2⁹ − 2 = 510 ≥ 300подходит
03Префикс 32 − 9/23 · 255.255.254.0
Пример подсети172.16.0.0/23 · узлы 172.16.0.1 – 172.16.1.254

Здесь узловая часть перешагнула через октет: узлы занимают весь четвёртый октет и один бит третьего. Broadcast — 172.16.1.255.

300 узлов → /23Ананко · Качур · VK · TG
Блок 10 · ИнтерактивПодбор маски
Сколько узлов нужно
Считает 2^h − 2 ≥ N, показывает подобранный префикс и потери адресов.
От числа узлов — к маскеАнанко · Качур
Блок 10 · ЗадачникПодсети и узлы

ЗАДАЧНИК · ПОДСЕТИ

Разбить 192.168.5.0/24 на 2 подсети
Маска /25. Подсети 192.168.5.0/25 (узлы .1–.126, bc .127) и 192.168.5.128/25 (узлы .129–.254, bc .255).
Разбить 10.10.10.0/24 на 4 подсети
Маска /26, шаг 64: 10.10.10.0 · .64 · .128 · .192, по 62 узла.
Нужно 16 подсетей из /24
2⁴ = 16 → /28, маска 255.255.255.240, шаг 16, по 14 узлов.
Нужно 6 подсетей из /24
2² = 4 мало, 2³ = 8 ≥ 6 → /27. Используем 6 подсетей, 2 остаются в резерве.
Нужно 30 узлов в подсети
2⁵ − 2 = 30 — ровно → /27. Запаса нет, роста не будет.
Нужно 500 узлов
2⁹ − 2 = 510 ≥ 500 → /23.
К какой подсети относится 192.168.15.100 при /26
Шаг 64: границы 0, 64, 128, 192. 100 попадает между 64 и 127 → подсеть 192.168.15.64/26, bc .127.
Broadcast подсети 10.0.32.0/20
Шаг в третьем октете 256−240 = 16 → границы 0, 16, 32, 48. Значит bc 10.0.47.255.
Сколько /26 получится из одной /24
Разница 2 бита → 2² = 4 подсети.
Клик по карточке — решениеАнанко · Качур
Блок 11 · VLSMИдея

МАСКИ
ПЕРЕМЕННОЙ
ДЛИНЫ

VLSM — Variable Length Subnet Mask. Подсети получают разные маски: каждой ровно столько адресов, сколько ей нужно.

+Что не так с одинаковой маской
Если резать всё одной маской, размер диктует самый большой отдел. Линку между маршрутизаторами, где нужно два адреса, достанется столько же, сколько отделу на 300 машин. Так теряются сотни адресов на каждом стыке.
Правила VLSM
  • 01Сортируй по убываниюсначала самая большая группа
  • 02Выделяй с начала блокаподряд, без дыр
  • 03Линкам — /30ровно два адреса
  • 04Не перекрыватьдиапазоны не должны пересекаться
VLSM: каждой сети — своя маскаАнанко · Качур · VK · TG
Блок 11 · VLSMПостановка задачи

ЗАДАЧА · ОФИС И ДВА ФИЛИАЛА

Выдан блок 172.16.0.0/16. Нужно распределить адреса так, чтобы хватило всем и осталось на рост.

Не забываем про каналы между маршрутизаторами: это отдельные сети, по два адреса в каждой.

Что дано
  • HQГлавный офис300 узлов
  • Ф2Филиал 270 узлов
  • Ф1Филиал 120 узлов
  • L1Линк Ф1 — HQ2 адреса
  • L2Линк Ф2 — HQ2 адреса
300 · 70 · 20 · два линкаАнанко · Качур · VK · TG
Блок 11 · Пример решенияШаг 1: маски

ПОДБИРАЕМ МАСКУ КАЖДОЙ СЕТИ

СетьНужно узловРасчётАдресовПрефикс
HQ3002⁹ − 2 = 510 ≥ 300512/23
Филиал 2702⁷ − 2 = 126 ≥ 70128/25
Филиал 1202⁵ − 2 = 30 ≥ 2032/27
Линк Ф1–HQ22² − 2 = 24/30
Линк Ф2–HQ22² − 2 = 24/30

Порядок выделения — от самой большой сети к самой маленькой. Иначе крупный блок не встанет на ровную границу и придётся всё переделывать.

/23 · /25 · /27 · /30 · /30Ананко · Качур · VK · TG
Блок 11 · Пример решенияШаг 2: раздаём

ИТОГОВЫЙ ПЛАН АДРЕСАЦИИ

СетьАдрес/маскаДиапазон узловBroadcast
1HQ, 300 узлов172.16.0.0/23172.16.0.1 – 172.16.1.254172.16.1.255
2Филиал 2, 70 узлов172.16.2.0/25172.16.2.1 – 172.16.2.126172.16.2.127
3Филиал 1, 20 узлов172.16.2.128/27172.16.2.129 – 172.16.2.158172.16.2.159
4Линк Ф1 – HQ172.16.2.160/30172.16.2.161 – 172.16.2.162172.16.2.163
5Линк Ф2 – HQ172.16.2.164/30172.16.2.165 – 172.16.2.166172.16.2.167
01HQ занял 512 адресов: с 172.16.0.0 по 172.16.1.255/23
02Следующий свободный адрес172.16.2.0
03Филиал 2 забрал 128 адресов → следующий свободный172.16.2.128
04Филиал 1 забрал 32 адреса → следующий свободный172.16.2.160
Линки по 4 адреса, и весь остаток 172.16.2.168 … 172.16.255.255в резерве
План адресации VLSMАнанко · Качур · VK · TG
Блок 11 · VLSMСколько сэкономили

VLSM vs ОДНА МАСКА НА ВСЕХ

Одна маска /23

  • Пять сетей по 512 адресов = 2560
  • Линку из 2 узлов достаётся 510 адресов
  • Потери — больше тысячи адресов
VLSM

Переменные маски

  • 512 + 128 + 32 + 4 + 4 = 680 адресов
  • Каждой сети — по потребности
  • Остальное в резерв на новые филиалы

Одна и та же задача: 2560 адресов против 680. Именно поэтому VLSM — стандарт для реального проектирования, а «одна маска на всех» осталась в учебных примерах.

680 вместо 2560 адресовАнанко · Качур · VK · TG
Блок 11 · ИнтерактивПланировщик VLSM

СВОЙ ПЛАН ЗА ОДИН КЛИК

Слева — базовый блок с префиксом, справа — потребности в узлах через запятую. Порядок значения не имеет: планировщик сам отсортирует по убыванию, как это делается на бумаге.

Проверка домашних заданий по VLSMАнанко · Качур
Блок 11 · ЗадачникVLSM

ЗАДАЧНИК · VLSM

192.168.1.0/24: 100, 50, 20, 2 узла
100 → /25: 192.168.1.0/25. 50 → /26: 192.168.1.128/26. 20 → /27: 192.168.1.192/27. Линк → /30: 192.168.1.224/30.
Почему начинают с самой большой сети
Крупный блок обязан начинаться на границе, кратной своему размеру. Если сначала отдать мелкие куски, такая граница окажется занятой и блок не влезет.
Какая маска для канала между роутерами
/30 — 4 адреса, 2 узла. Ровно два интерфейса, ничего не теряется.
10.0.0.0/22: 500, 200, 100, 2, 2
500 → /23: 10.0.0.0/23. 200 → /24: 10.0.2.0/24. 100 → /25: 10.0.3.0/25. Линки /30: 10.0.3.128/30 и 10.0.3.132/30.
Что будет при перекрытии диапазонов
Два узла из разных сетей получат адреса из одного диапазона: маршрутизация ломается, часть трафика уходит «не туда». Ошибка ищется долго и болезненно.
Оставлять ли запас
Да. Берите ближайшую степень двойки с запасом хотя бы 20–30 % и оставляйте свободные блоки в конце: расширить сеть потом дешевле, чем переадресовать всю организацию.
Клик по карточке — решениеАнанко · Качур
Блок 11 · На пальцахОбувь по размеру

VLSM — ЭТО ОБУВЬ ПО РАЗМЕРУ

Одна маска на всех — это выдать всей группе 45-й размер. Кому-то подойдёт, остальные будут шлёпать.

VLSM: большому отделу — большой блок, маленькому — маленький, каналу между двумя маршрутизаторами — крошечный /30 на два адреса. Ничего не болтается, ничего не жмёт.

Порядок примерки
  • 01Сначала самый большойему нужна ровная граница
  • 02Потом по убываниюкаждый следующий встаёт вплотную
  • 03Линки — в конецпо /30, они самые мелкие
  • 04Остаток — в запасна новые отделы и филиалы
Каждому — свой размерАнанко · Качур · VK · TG
Разбор задачи · 1Полное решение

ЗАДАЧА 1 · РАСПИСЫВАЕМ ЦЕЛИКОМ

Дано: адрес узла 192.168.20.137, маска 255.255.255.192. Найти: префикс, адрес сети, broadcast, диапазон узлов, сколько узлов всего и в какой по счёту подсети мы находимся.

Шаг 1Переводим маску в префикс. 192 = 128 + 64 = 11000000, значит две единицы. Всего 8+8+8+2/26
Шаг 2Бит под узлы: 32 − 266 бит
Шаг 3Адресов в подсети: 2⁶64
Шаг 4Шаг подсети: 256 − 19264
Шаг 5Границы подсетей: 0, 64, 128, 192четыре подсети
Шаг 6Наш октет 137. Он между 128 и 192 → берём меньшую границусеть 192.168.20.128
Шаг 7Broadcast: следующая граница 192, минус один192.168.20.191
Шаг 8Узлы: между сетью и broadcast.129 – .190
Шаг 9Сколько узлов: 64 − 262
ОтветУзел .137 — это третья подсеть /26192.168.20.128/26 · bc .191 · 62 узла

Проверка на битах: 137 = 10001001. Первые два бита (10) — номер подсети «два» в двоичном счёте, то есть третья по порядку: 00, 01, 10, 11. Остальные шесть бит 001001 = 9 — это девятый узел внутри подсети. Сходится.

Задача 1 · разобрана по шагамАнанко · Качур · VK · TG
Разбор задачи · 2Полное решение

ЗАДАЧА 2 · РАЗДАТЬ ПОД ОТДЕЛЫ

Дано: блок 192.168.30.0/24. Отделы: бухгалтерия 50 машин, склад 25, охрана 10, канал до второго офиса 2 адреса. Найти: адресацию без перекрытий.

Шаг 1Сортируем по убыванию: 50, 25, 10, 2порядок выдачи
Шаг 2Бухгалтерия: 2⁵−2 = 30 мало, 2⁶−2 = 62 ≥ 50/26 · 64 адреса
Шаг 3Выдаём с самого начала блока192.168.30.0/26 · узлы .1–.62 · bc .63
Шаг 4Склад: 2⁵−2 = 30 ≥ 25 → /27, следующий свободный адрес .64192.168.30.64/27 · узлы .65–.94 · bc .95
Шаг 5Охрана: 2⁴−2 = 14 ≥ 10 → /28, следующий свободный .96192.168.30.96/28 · узлы .97–.110 · bc .111
Шаг 6Канал: 2²−2 = 2 → /30, следующий свободный .112192.168.30.112/30 · узлы .113–.114 · bc .115
ОтветЗанято 116 адресов, свободно .116 – .255140 адресов в запасе

Почему именно так: каждый блок начинается на адресе, кратном своему размеру (0 кратно 64, 64 кратно 32, 96 кратно 16, 112 кратно 4). Если начать не с той границы, маска «разрежет» блок пополам и адресация сломается.

Задача 2 · VLSM по шагамАнанко · Качур · VK · TG
Разбор задачи · 3Полное решение

ЗАДАЧА 3 · В ОДНОЙ ЛИ СЕТИ

Дано: два компьютера — 10.20.35.40/21 и 10.20.40.5/21. Вопрос: смогут ли они обменяться данными напрямую, без маршрутизатора?

Шаг 1Переводим /21 в маску: 8+8+5 → третий октет 11111000255.255.248.0
Шаг 2Интересный октет — третий. Шаг: 256 − 2488
Шаг 3Границы в третьем октете: 0, 8, 16, 24, 32, 40, 48…кратно 8
Шаг 4Первый узел: третий октет 35 → между 32 и 40сеть 10.20.32.0/21
Шаг 5Второй узел: третий октет 40 → ровно границасеть 10.20.40.0/21
ОтветАдреса сетей разные → напрямую нет, только через маршрутизатор32 ≠ 40

Коварство задачи: адреса выглядят похоже, первые два октета совпадают, и кажется, что сеть одна. Но /21 нарезает третий октет кусками по 8, и 35 с 40 попадают в разные куски. Broadcast первой сети — 10.20.39.255, а второй узел начинается уже за ним.

Задача 3 · проверка «своей» сетиАнанко · Качур · VK · TG
ЭкзаменМаршрут решения

ЛЮБАЯ ЗАДАЧА — ОДИН МАРШРУТ

01Что спрашивают

Сеть и broadcast? Число узлов? Число подсетей? От этого зависит, какую формулу брать.

02Маска в префикс

Переводим маску в /N или наоборот. Считаем единицы, остальное — нули.

03Шаг и границы

256 − интересный октет. Выписываем границы через шаг — это скелет ответа.

04Ответ и проверка

Сеть, broadcast, узлы. Проверяем: узлов 2ʰ−2, и наш адрес попал внутрь диапазона.

Если застряли — переведите «интересный» октет в лампочки. Восемь цен 128 64 32 16 8 4 2 1 отвечают на любой вопрос этой темы, потому что вся тема состоит только из них.

4 шага на любую задачуАнанко · Качур · VK · TG
Блок 12 · IPv6Зачем

IPv6:
128 БИТ

Адресов IPv4 всего 2³² — около 4,3 млрд, и они закончились. IPv6 даёт 2¹²⁸ адресов и делает адресацию проще для маршрутизаторов.

+Почему не «просто добавить бит»
Формат заголовка пакета менять на ходу нельзя: его читают все устройства мира. Поэтому сделали новый протокол, а переход идёт постепенно — IPv4 и IPv6 годами работают рядом.
Формат записи
  • 8Группx:x:x:x:x:x:x:x
  • 16Бит в группечетыре шестнадцатеричные цифры
  • :Разделительдвоеточие вместо точки
  • 128Всего битвместо 32 у IPv4
IPv6 = 8 групп по 16 битАнанко · Качур · VK · TG
Блок 12 · Пример решенияСокращение записи

ДВА ПРАВИЛА СОКРАЩЕНИЯ

Правило 1Убираем ведущие нули в каждой группе0B45 → B45 · 00C7 → C7 · 0E00 → E00
ДаноПолная запись адресаfe80:0000:0000:0000:0a00:0027:fea8:3ebd
Шаг 1Применили правило 1fe80:0:0:0:a00:27:fea8:3ebd
Правило 2Подряд идущие нулевые группы заменяем на :: — один раз в адресе0:0:0 → ::
Короткая записьfe80::a00:27:fea8:3ebd

Двойное двоеточие можно использовать только один раз: иначе непонятно, сколько нулевых групп восстанавливать в каждом месте.

Ведущие нули · :: один разАнанко · Качур · VK · TG
Блок 12 · IPv6Подсети

ПОДСЕТИ В IPv6

префикс провайдера · 48 бит
подсеть · 16 бит
идентификатор интерфейса · 64 бита

Обычно организация получает блок /48. Под номер подсети отводят 16 бит — это 2¹⁶ = 65 536 подсетей, и в каждой 2⁶⁴ адресов. Для сравнения: весь IPv4 — это 2³² адресов.

ДаноБлок организации2001:ABCD:BCDA::/48
1Первая подсеть2001:ABCD:BCDA:0000::/64
2Вторая2001:ABCD:BCDA:0001::/64
3Третья2001:ABCD:BCDA:0002::/64
Нумерация идёт просто по порядкудо :FFFF::/64
/48 → 65 536 подсетей /64Ананко · Качур · VK · TG
Блок 12 · IPv6Глубже /64

МОЖНО ЛИ ДЕЛИТЬ ДАЛЬШЕ

Технически да: удлиняем префикс, как в IPv4. Практически — редко: /64 считается стандартным размером сегмента.

В IPv6 не экономят адреса — экономят усилия администратора. Поэтому подсети берут заведомо большими.

1Из /64 делаем четыре /68…:0000:0000/68
2Второй блок…:0000:1000/68
3Третий…:0000:2000/68
4Четвёртый…:0000:3000/68
/64 — стандартный сегментАнанко · Качур · VK · TG
Блок 13 · ЗадачникВсё вместе

БОЛЬШОЙ ЗАДАЧНИК

Дано 192.168.100.37/27. Найти всё
Шаг 32 → границы 0, 32, 64. Сеть 192.168.100.32/27, узлы .33–.62, bc .63, узлов 30.
Дано 10.5.200.15/21. Найти сеть
Шаг в 3-м октете 256−248 = 8 → границы 192, 200, 208. Сеть 10.5.200.0/21, bc 10.5.207.255, узлов 2046.
Перевести 255.255.255.240 в префикс
240 = 11110000 → 8+8+8+4 = /28, узлов 14.
Школа: 3 кабинета по 25 машин из 192.168.7.0/24
25 узлов → /27 (30 узлов). Подсети 192.168.7.0/27, .32/27, .64/27. Остаток .96–.255 в резерв.
Можно ли назначить узлу 192.168.15.63 при /26
Нет: это broadcast подсети 192.168.15.0/26. Первый адрес узла следующей подсети — .65.
Два узла: 172.16.5.10/22 и 172.16.7.200/22 — одна сеть?
Шаг 4 в 3-м октете → границы 4, 8. Оба попадают в 172.16.4.0/22 — да, одна сеть, поговорят напрямую.
Сколько /30 линков влезет в /24
Разница 6 бит → 2⁶ = 64 линка.
Организация: 4 отдела по 120 машин
120 → /25 (126 узлов). Четыре /25 требуют 4·128 = 512 адресов, то есть блок /23. Например 10.1.0.0/25, .128/25, 10.1.1.0/25, 10.1.1.128/25.
Сеть /26. Сколько узлов останется, если поделить её на две
Было 62. Станет два /27 по 30 → 60. Два адреса ушли на служебные новой подсети.
Определить класс и маску по умолчанию для 205.90.31.7
205 → 11001101, старшие 110 → класс C, маска 255.255.255.0, сеть 205.90.31.0.
Сократить fe80:0000:0000:0000:0000:0000:0000:0001
fe80::1
Восстановить полную запись 2001:db8::5
2001:0db8:0000:0000:0000:0000:0000:0005 — восемь групп, :: развернули нулями.
12 задач · клик по карточке — решениеАнанко · Качур
Совсем короткоДесять фраз

ДЕСЯТЬ ФРАЗ, И ВЫ ЗНАЕТЕ ТЕМУ

01 · Бит — это лампочка
Горит — единица, не горит — ноль. Больше состояний не бывает.
02 · Восемь лампочек — октет
Цены 128 64 32 16 8 4 2 1. Максимум 255, минимум 0.
03 · IP-адрес — четыре октета
32 лампочки, разбитые на четыре ряда по восемь и записанные через точку.
04 · Адрес = сеть + узел
Слева «куда везти», справа «кому отдать».
05 · Маска ставит границу
Единицы маски — сеть, нули — узел. /24 значит 24 бита сети.
06 · Все нули и все единицы заняты
Все нули — адрес сети, все единицы — broadcast. Узлам их не дают, отсюда «минус два».
07 · Узлов 2ʰ − 2
h — сколько нулей в маске. /26 → 2⁶ − 2 = 62 узла.
08 · Подсетей 2ⁿ
n — сколько бит забрали у узловой части. Забрали 3 — получили 8 подсетей.
09 · Шаг = 256 − октет маски
Он же размер подсети. Границы идут через шаг, broadcast — следующая граница минус один.
10 · VLSM — каждому по размеру
Сортируем сети по убыванию, каждой подбираем 2ʰ − 2 ≥ нужного, линкам /30.
Шпаргалка на одну страницуАнанко · Качур · VK · TG
Блок 14 · ИтогОбозначения

ОБОЗНАЧЕНИЯ И ТЕРМИНЫ

ТерминЧто это
MAC-адресФизический адрес, 48 бит, присваивается производителем, работает внутри сегмента.
IPv4-адресЛогический адрес, 32 бита, четыре октета через точку, работает между сетями.
ОктетГруппа из 8 бит, значения 0…255.
Маска подсети32-битное число: единицы — часть сети, нули — часть узла.
Префикс /NКороткая запись маски: сколько бит слева отдано сети.
Адрес сетиВсе биты узловой части — нули. Узлу не назначается.
BroadcastВсе биты узловой части — единицы. Пакет получают все узлы сети.
Q = 2ᴺВсего адресов в сети, N — число нулей маски.
Q = 2ᴺ − 2Число адресов, которые можно отдать узлам.
Частный адрес10/8, 172.16/12, 192.168/16 — только внутри организации, наружу через NAT.
Публичный адресУникален в Интернете, выдаётся провайдером.
Loopback127.0.0.0/8 — проверка собственного стека TCP/IP.
APIPA169.254.0.0/16 — адрес, назначенный узлом самому себе, когда DHCP молчит.
DHCPСлужба автоматической выдачи адресов в аренду.
CIDRБесклассовая адресация: маска задаётся вручную и передаётся с адресом.
VLSMМаски переменной длины: каждой подсети своя маска по потребности.
Шаг подсети256 минус «интересный» октет маски. Он же размер подсети в адресах.
Словарь главыАнанко · Качур · VK · TG
Блок 14 · ИтогАлгоритмы на память

ЧЕТЫРЕ АЛГОРИТМА

01Найти сеть

AND адреса с маской. Где 255 — октет переписываем, где 0 — ставим 0, где «интересный» — считаем по шагу.

02Сколько узлов

h = 32 − префикс, узлов 2ʰ − 2.

03Сколько подсетей

Заняли n бит у узловой части — получили 2ⁿ подсетей, шаг = 256 − октет маски.

04VLSM

Сортируй по убыванию, подбирай 2ʰ − 2 ≥ N, выделяй подряд, линкам — /30.

Всё остальное в этих главах — следствие этих четырёх действий и умения складывать веса 128 64 32 16 8 4 2 1.

4 алгоритма на экзаменАнанко · Качур · VK · TG
Проверь себяВопросики

ВОПРОСИКИ

Зачем нужны и MAC, и IP
IP отвечает «в какую сеть и какому узлу», MAC — «какой сетевой карте отдать кадр на этом участке». Один без другого не работает.
Что делает маска
Показывает, сколько старших бит адреса относится к сети. Всё остальное — узел.
Почему октет не бывает больше 255
Восемь бит дают 2⁸ = 256 значений: от 0 до 255.
Как узел понимает, что адресат «свой»
Накладывает свою маску на оба адреса операцией AND. Совпали адреса сети — свой, не совпали — отправляет на шлюз.
Почему минус два
Адрес сети и broadcast заняты служебно, узлам их не выдают.
Чем классовая хуже бесклассовой
Три фиксированных размера — либо мало, либо тысячи адресов простаивают. CIDR даёт маску под задачу.
Зачем делить сеть на подсети
Уменьшить широковещательный домен, разграничить доступ, упорядочить учёт и не тратить адреса зря.
Что даёт VLSM
Разные маски для разных подсетей: линку — /30, отделу — /25. Экономия в разы.
Увидел у себя 169.254.1.20 — что случилось
DHCP-сервер не ответил, узел назначил адрес сам (APIPA). Проверять кабель, коммутатор и сервер.
Почему 192.168.1.1 встречается у всех
Это частный диапазон: он не маршрутизируется в Интернете, поэтому его могут использовать все одновременно.
Что означает /30 на линке
4 адреса, из них 2 узлам — ровно два интерфейса маршрутизаторов.
Зачем IPv6, если есть NAT
NAT — заплатка: усложняет соединения и ломает часть сценариев. IPv6 снимает нехватку адресов принципиально.
Глава 05–06 · ИтогАнанко · Качур
КонецСпасибо

СЧИТАТЬ
НАУЧИЛИСЬ

Дальше — практика: берём любой адрес и раскладываем его до последнего бита.

VKontakteTelegramАнанко · Качур
Главы 05–06 · IP-адреса и подсетиVK · TG