Пример
Два узла в одной сети имеют адреса 152.217.69.70 и 152.217.125.80. Каково наибольшее возможное значение третьего слева байта маски?
Шаг 1. Дойти до первого различия
Первые байты равны, вторые тоже. В третьем 69 против 125.
| |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
| узел 69 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
| узел 125 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
Шаг 2. Найти старший различающийся бит
Слева направо: 0 и 0, затем 1 и 1, а на бите 32 стоят 0 и 1. Вот он.
Шаг 3. Понять, что нельзя захватывать
Узлы в одной сети — значит по всем битам, которые маска захватила, адреса совпадают. Бит 32 не совпадает, поэтому захватывать его нельзя.
Самая длинная допустимая маска обрывается прямо перед ним: в третьем байте 11000000, то есть 192. Единиц в маске 18.
Шаг 4. Перевернуть вопрос
Замени условие на «в разных сетях» — и маска обязана бит 32 захватить. Тогда самая короткая маска даёт 11100000, то есть 224, и единиц в ней 19.
Один и тот же бит, два противоположных ответа. Читай, какая формулировка в задаче.