IP-адресация и маски подсети: разбор задания 13 ЕГЭ
Коротко о главном
IP-адрес — это 32-битное число, которое делится на номер сети и номер узла (хоста). Маска подсети показывает, где заканчивается номер сети и начинается номер узла: единицы маски соответствуют биту сети, нули — биту узла. Номер сети получают операцией поразрядной конъюнкции (AND) IP-адреса и маски. Задача №13 ЕГЭ обычно требует найти неизвестную часть адреса, маску или диапазон адресов узлов сети по остальным данным.
Определения и формулы/правила
| Понятие | Пояснение |
|---|---|
| IP-адрес | 4 байта (октета), записывается как , каждый октет |
| Маска подсети | 4 байта, слева единицы (сеть), справа нули (узел), например |
| Номер сети | (поразрядно, побитово) |
| Номер узла | (инверсия маски) |
| Короткая запись маски | , где — число единичных битов маски |
| Число адресов в сети | , из них узлов обычно (минус адрес сети и широковещательный) |
| Правило AND | ; ; |
| Признак одной сети | Два узла в одной сети, если номера сетей совпадают: |
Перевод октета в двоичный вид: каждый октет — 8 бит, диапазон . Например, , , .
Правило совпадения бит: если в маске стоит 1, соответствующий бит IP-адреса должен совпадать у всех узлов одной сети; если 0 — бит может быть любым (это часть адреса узла).
Как применять (примеры)
Пример 1. Найти номер сети. IP-адрес: , маска: . Последний октет маски: . Последний октет IP: . AND: . Остальные октеты совпадают с маской (255), значит остаются без изменений. Номер сети: .
Пример 2. Определить, в одной ли сети два узла. Узел А: , узел Б: , маска: . Третий октет маски: . Третьи октеты адресов: , . AND с маской: ; . Результаты не совпадают () — узлы в разных сетях.
Пример 3. Найти диапазон адресов узлов сети. Сеть: (маска ). Первый адрес сети: (адрес сети, не используется как адрес узла). Последний адрес: (широковещательный, не используется как адрес узла). Адреса узлов: от до .
Типичные ошибки
- Путают операцию AND с обычным сложением или сравнением октетов «по числам» без перевода в двоичный вид — при неполных октетах маски (не 0 и не 255) это даёт неверный результат.
- Забывают перевести число в двоичную систему при неоднородных октетах маски (когда октет маски не равен 0 или 255, например ).
- Путают номер сети и номер узла: номер сети — результат AND с маской, номер узла — оставшиеся биты (там, где в маске нули).
- Включают адрес сети и широковещательный адрес в диапазон «адресов узлов» — их нужно исключать.
- Ошибаются в переводе десятичного числа в двоичное представление байта (забывают дополнять нулями до 8 бит).
- Неверно определяют границу сети при маске вида , где не кратно 8 (например, , ) — нужно точно считать биты внутри октета.
Где встречается на экзамене
Это классическое задание №13 ЕГЭ по информатике. Формулировки:
- дан IP-адрес и маска — найти адрес сети или диапазон адресов узлов;
- дана маска и часть IP-адреса с неизвестными числами — восстановить пропущенные значения, зная что адрес принадлежит определённой сети;
- даны два IP-адреса одной сети — найти маску, удовлетворяющую условию (обычно ищут маску с наибольшим числом единиц, при которой оба узла остаются в одной сети);
- определить, сколько узлов может быть в сети с заданной маской.
Для успешного решения важно уверенно переводить числа между двоичной и десятичной системами и чётко выполнять поразрядную конъюнкцию.
Частые вопросы
Как быстро перевести десятичное число в двоичный октет?
Раскладывайте число по степеням двойки от 128 до 1: . Например, . Всегда дополняйте до 8 знаков нулями слева.
Как понять, сколько адресов доступно для узлов в сети?
Число всех адресов равно , где — количество нулевых бит маски (бит узла). Для узлов вычитают 2 адреса (сети и широковещательный): .
Что делать, если маска не оканчивается на 0 или 255 в октете?
Такой октет нужно перевести в двоичный вид и применить поразрядную конъюнкцию именно к битам этого октета, а не воспринимать его как целое число.
Как найти маску, если известны два IP-адреса одной сети и требуется максимум единиц?
Сравните биты обоих адресов слева. Все совпадающие старшие биты — это единицы маски, до первого несовпадающего бита. С этого места и далее в маске нули.
В чём разница между номером сети и адресом узла?
Номер сети — результат AND IP-адреса с маской (биты, где в маске 1). Номер узла — оставшиеся биты (где в маске 0), они определяют конкретный компьютер в сети.
Почему первый и последний адрес сети не используют для узлов?
Первый адрес (все нули в поле узла) обозначает саму сеть, последний (все единицы в поле узла) — широковещательный адрес для рассылки всем узлам сети. Их резервируют, поэтому они не назначаются конкретным устройствам.
Потренироваться: задание 13