Статья Автор: Деникина Н.В., Деникин А.В.

13.1 Адресация — маска и адрес сети

Маска и граница «сеть — узел»

Маска — это тоже 32 бита. Но устроены они строго: сначала идут единицы, потом идут нули. Перемешать нельзя.

Единицы — часть сети. Нули — часть узла. Место, где единицы кончились и начались нули, называют границей. Вся задача №13 — про эту границу.

Число единиц пишут после дроби. Запись /26 читается так: в маске 26 единиц. Значит нулей 32 − 26 = 6.

И ещё правило, которое экономит время: байт маски не любой. Он либо целиком из единиц, либо целиком из нулей, либо «единицы, потом нули». Отсюда всего девять вариантов: 0, 128, 192, 224, 240, 248, 252, 254, 255.


Пример

Адрес сети получают одним действием: поразрядное И адреса и маски. Правило И короткое. Под единицей маски бит остаётся. Под нулём — обнуляется.

  IP    11000000 10101000 00000001 10000010   192.168.1.130
И маска 11111111 11111111 11111111 11000000   255.255.255.192
-----------------------------------------------
  сеть  11000000 10101000 00000001 10000000   192.168.1.128
                                   ^^
                          два старших бита выжили,
                          шесть младших обнулились

Ещё примеры

Пример 1. Маска /24 — граница ровно по байту. Первые три байта — сеть, последний — узел. Работать нужно только с последним байтом.

IP    10.0.5.130   маска 255.255.255.0
                         ^^^^^^^^^^^|^
                         сеть       |узел
сеть = 10.0.5.0   (последний байт обнулили)

Пример 2. Маска /25 — граница внутри байта. Последний байт маски 128, то есть 10000000: один бит сети, семь бит узла.

  130 = 10000010
И 128 = 10000000
    ------------
        10000000 = 128     ->  сеть 10.0.5.128

Пример 3. Тот же адрес, другая маска — другая сеть. Сдвинули границу — сменился ответ. Поэтому маску всегда читаем первой.

10.0.5.130 / 255.255.255.0    ->  сеть 10.0.5.0
10.0.5.130 / 255.255.255.128  ->  сеть 10.0.5.128
10.0.5.130 / 255.255.255.192  ->  сеть 10.0.5.128
10.0.5.130 / 255.255.255.224  ->  сеть 10.0.5.128
10.0.5.130 / 255.255.255.240  ->  сеть 10.0.5.128

▶ Попробуй самостоятельно: найди адрес сети для IP 10.0.5.130 и маски 255.255.255.248. Подсказка: 248 — это 11111000, работает только последний байт.
 


Проверь себя


Сколько единиц в маске 255.255.255.192?


Введите адрес сети для IP 172.16.20.130 и маски 255.255.255.192 (четыре числа через точку).


Какая из записей НЕ может быть маской подсети?


Дополните: маска /20 в десятичной записи.


Верно или неверно?

Печать