IP-адрес — 32 бита. Маска делит их на две части: адрес сети и
номер узла в ней.
Всё задание решается модулем ipaddress — одной строкой создаём сеть,
дальше спрашиваем у неё что нужно.
Базовый уровень, один балл. Ответ — одно целое число.
Маска сети показывает, какая часть IP-адреса узла относится к адресу сети, а какая — к адресу узла. Адрес сети — результат поразрядной конъюнкции адреса узла и маски.
Даны адрес узла 192.168.159.86 и маска 255.255.252.0. Найдите адрес сети. В ответе — сумма октетов найденного адреса.
Демоверсия 2027, своими словами.
Адрес узла и маска — по четыре числа через точку. Октет — одно из этих чисел, один байт.
В том, какой адрес спрошен: адрес сети, широковещательный, наибольший для компьютера — это три разных адреса. И в форме ответа: сумма октетов или адрес без точек.
| Адрес сети · широковещательный | найти адрес, в ответ — сумма его октетов |
|---|---|
| Наибольший для компьютера | предпоследний адрес сети, в ответ — цифры без точек |
| Сколько адресов | у которых число единиц кратно (не кратно) k — или единиц слева не больше нулей справа |
| Какая маска | по адресу сети узла · по двум узлам в разных сетях · по числу адресов с k единицами |
| Два узла в одной сети | наименьшее число адресов с k единицами |
Замер по 13 задачам экзаменов 2024–2027: счёт адресов по единицам — 4, два узла в разных сетях — 2, остальные формы — по одной. Девять форм — девять задач практикума.
| десятичная | двоичная, по байтам | |
|---|---|---|
| IP-адрес узла | 192.168.159.86 | |
| маска | 255.255.252.0 | |
| адрес сети = И | 192.168.156.0 |
В маске сначала единицы, потом нули. Здесь единиц 22 — маску
пишут и так: . Под единицами — адрес сети, под нулями —
номер узла: 10 бит, 210 = 1024 адреса.
Поразрядное И: 1 только там, где обе цифры 1. Поэтому под нулями маски в адресе сети всегда нули: 159 И 252 = 156.
| адрес сети | номер узла из одних нулей | 192.168.156.0 |
|---|---|---|
| наименьший для компьютера | следующий за адресом сети | 192.168.156.1 |
| наибольший для компьютера | перед широковещательным | 192.168.159.254 |
| широковещательный | номер узла из одних единиц | 192.168.159.255 |
Адрес сети и широковещательный — служебные: компьютерам их не назначают. Поэтому узлов в сети на два меньше, чем адресов.
Второй аргумент разрешает дать адрес
любого узла сети — без него Python потребует адрес самой сети и
выдаст ошибку. Маску можно писать и числом единиц:
.
— четыре числа адреса
строками;
делает их числами.
«Сумма октетов» — одно число. «Без разделителей» — цифры подряд, точки убрать.
Сеть задана адресом 172.16.160.0 и маской 255.255.240.0. Сколько в ней IP-адресов, у которых количество единиц в двоичной записи кратно 2?
— адрес двоичной записью, ровно 32 цифры. Считаются
все адреса сети, включая адрес сети и широковещательный, — если их
не исключили словами.
Срез — первые 16 цифр,
— остальные.
Каждое слово условия — отдельная проверка в
, через
.
Для узла 192.75.64.98 адрес сети равен 192.75.64.0. Каково наименьшее количество единиц в маске?
| m | адрес сети | совпал? |
|---|---|---|
| 17 | 192.75.0.0 | нет |
| 18 ✓ | 192.75.64.0 | да |
| … | 192.75.64.0 | да |
| 25 | 192.75.64.0 | да |
| 26 | 192.75.64.64 | нет |
Наименьшее — первое подходящее и ; наибольшее —
и печать после цикла (здесь вышло бы 25).
Наименьшее m, при котором сети разные:
Наибольшее — и узел не может быть служебным адресом:
У адреса 118.187.59.255 хвост из десяти единиц: при маске больше 21 он становится широковещательным. Ответ — 21.
Узел 143.131.211.37; в его сети 15 адресов с ровно 10 единицами. Единиц в маске?
Чем меньше m, тем больше сеть. Идём от маленьких сетей и останавливаемся на ответе — до /0 (четыре миллиарда адресов) не дойдём.
Тот же цикл: первая сеть, где , — наименьшая
общая; в ней и считаем.
Страница практикума узнаёт эти ошибки по ответу и показывает на разборе красным, где именно сломалось.
Девять задач — по одной на каждую форму вопроса, все на экране сразу, порядок свой. Ошибся — появится разбор рисунком и программа, которая решает именно эту задачу, а кнопка «Новые числа» даст такую же с другими числами.
| Найти адрес | адрес сети · широковещательный · наибольший для компьютера |
|---|---|
| Посчитать адреса | кратность единиц · левые и правые байты |
| Найти маску | по адресу сети · два узла в разных сетях · по числу адресов |
| Два узла в одной сети | наименьшее число адресов с k единицами |
Исправленное не в зачёт: задача, решённая после разбора, закрыта, но в отметку идёт новая — по кнопке «Новые числа». Добрать можно хоть до пятёрки: 9 — «5», 8 — «4», 7 — «3».
Те же девять форм вопроса, по одной задаче на каждую. Тип закрывается чистым верным ответом; ошибся — придёт такая же задача с другими числами.
От семи закрытых типов появится код работы вида
и кнопка «Сдать работу».
Вторая кнопка открывает письмо: к коду прикладываются снимки своих программ и того, что они напечатали.
Число можно получить и не написав программу. Снимок кода показывает, что приём ваш, — поэтому он и просится вместе с ответом.
В начале следующей пары — проверочная из пяти задач.