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


Размер сети: сколько адресов и какая маска


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

Сколько адресов помещается в сеть

Второй тип вопросов в номере 13 — не про конкретный адрес, а про размер. Сколько всего адресов в сети, сколько из них достанется компьютерам, какую маску взять, чтобы всем хватило.


Размер задают нули

Количество адресов зависит только от нулей маски. Нулей n — адресов ровно 2n. Единицы на размер не влияют.

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

10101111011110100101000000??????26 единиц маски: заперто6 нулейСвободных разрядов 6, значит адресов 2⁶ = 64, а узлов на два меньше — 62

Узлов на два меньше, чем адресов: адрес сети и широковещательный компьютеру не назначают.

Отсюда обратный ход. Если нужно не меньше N узлов, то подбирай маску так, чтобы \(2^n-2\) было не меньше N. Чем длиннее маска, тем сеть меньше.


Пример

Для узла c IP-адресом 175.122.80.13 адрес подсети равен 175.122.80.0. Сколько существует различных возможных значений маски, если известно, что в этой сети не менее 60 узлов?

Шаг 1. Отобрать маски, которые вообще подходят под адрес сети

Третий байт совпал: 80 и там, и там. Значит маска обязана сохранить его единицы, а младшая из них 16 — поэтому единиц в маске не меньше 20.

Четвёртый байт 13 обнулился. Старшая его единица 8, маска обязана её погасить — поэтому единиц не больше 28.

Кандидатов девять: от /20 до /28.

Шаг 2. Померить каждую
маска нулей адресов узлов хватает?
/20 12 4096 4094 да
/21 11 2048 2046 да
/22 10 1024 1022 да
/23 9 512 510 да
/24 8 256 254 да
/25 7 128 126 да
/26 6 64 62 да
/27 5 32 30 нет
/28 4 16 14 нет
Шаг 3. Ответ

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


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

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



Что печатает программа
7

То же через ipaddress

Размер сети библиотека знает сама — это num_addresses, степень двойки считать не надо.



Что печатает программа
255.255.240.0
255.255.248.0
255.255.252.0
255.255.254.0
255.255.255.0
255.255.255.128
255.255.255.192
7

Проверь себя


В маске 26 единиц. Сколько всего адресов в такой сети?

Сколько нулей должно быть в маске, чтобы в сети было ровно 512 адресов?

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

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