Модуль: Вопрос 10 (2027). Компьютерные сети: IP-адрес и маска


Границы сети и широковещательный адрес


Войдите на сайт, чтобы ответы сохранялись и баллы за тетрадь засчитывались.

Сеть — это отрезок

Сетевая часть у всех адресов сети одинаковая, а хвост пробегает все значения от сплошных нулей до сплошных единиц.

Нижний конец отрезка — адрес сети, верхний — широковещательный. Оба заняты, компьютеру их не назначают.

адреса компьютеров218.194.82.128218.194.82.191адрес сетишироковещательныйОба крайних адреса заняты — компьютеру их не назначают.

Как достать концы

Хвост из нулей даёт адрес сети, хвост из единиц — широковещательный.

Свободные биты байта — это 255 минус байт маски. Прибавь их к байту адреса сети и получишь байт широковещательного.

Наибольший адрес для компьютера — широковещательный минус единица. Наименьший — адрес сети плюс единица.


Пример

Сеть задана адресом одного из узлов 11.92.135.56 и маской 255.224.0.0. Найти наибольший адрес, который может быть назначен компьютеру.

Шаг 1. Адрес сети

Первый байт под 255 — 11 остаётся. Третий и четвёртый под нулём — гаснут. Ломается второй байт, только его и считаем: 92 под маской 224 даёт 64.

Адрес узла 11.92.135.56 и маска 255.224.0.0 в двоичном виде. Первые 11 бит маски — единицы, они сохраняют биты узла, остальные 21 обнуляют. Адрес сети 11.64.0.0. 11 бит — номер сети 21 бит — номер узла 0 0 0 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 узел 11 92 135 56 маска 255 224 0 0 сеть 11 64 0 0 Слева от черты биты узла сохраняются, справа обнуляются 11.64.0.0 — адрес сети; единиц в маске 11, поэтому /11

Адрес сети 11.64.0.0. Обрати внимание: граница прошла посередине второго байта, после третьего бита.

Шаг 2. Широковещательный адрес

Теперь наоборот: номер сети не трогаем, а все свободные биты ставим в единицы. Во втором байте свободны младшие пять, это 31, поэтому 64 + 31 = 95. Третий и четвёртый байты становятся 255.

Адрес сети 11.64.0.0 и широковещательный адрес 11.95.255.255. Слева от границы биты совпадают, справа все нули заменены единицами. 11 бит — номер сети 21 бит — номер узла 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 сеть 11 64 0 0 широковещ. 11 95 255 255 Номер сети не трогаем, все биты узла ставим в единицы 11.95.255.255 — широковещательный адрес, компьютеру не выдаётся

Широковещательный адрес 11.95.255.255. Левая половина обеих строк совпадает бит в бит — это одна и та же сеть.

Шаг 3. Отступить на единицу

Широковещательный адрес компьютеру не дают, поэтому берём предыдущий. В двоичном виде это значит погасить самый последний бит.

Широковещательный адрес 11.95.255.255 и предыдущий за ним 11.95.255.254. Отличается один последний бит. 11 бит — номер сети 21 бит — номер узла 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 широковещ. 11 95 255 255 наибольший 11 95 255 254 Отличается только самый младший бит: 1 меняем на 0 11.95.255.254 — наибольший адрес для компьютера

Наибольший адрес узла 11.95.255.254.

Шаг 4. Записать в бланк

Просят без разделителей — выписываем байты подряд.

Адрес 11.95.255.254 записывается в бланк без точек, одной строкой из десяти цифр: 1195255254. 11 . 95 . 255 . 254 1195255254 Точки — только разделители для человека, в бланк они не идут Порядок байтов сохраняется, нули впереди не дописываются

Ответ 1195255254. Точки в бланке обнуляют работу.


Та же задача программой

Оба конца считаются в одном цикле: адрес сети — поразрядным И, широковещательный — прибавлением свободных бит.



Что печатает программа
[11, 64, 0, 0]
[11, 95, 255, 254]

То же через ipaddress

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



Что печатает программа
11.64.0.0
11.95.255.255
11.95.255.254
11.64.0.1
2097152

Проверь себя


Адрес сети оканчивается на 128, маска сети 255.255.255.192. Чему равен последний байт наибольшего адреса, который можно назначить компьютеру?

Где теряют балл

  • Забыли вычесть единицу и записали широковещательный адрес.
  • Поставили в ответе точки, хотя просили без разделителей.
  • Прибавили свободные биты только к последнему байту.