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

13.2 Восстановление маски — по двум узлам

Наибольшая маска по двум узлам

Два узла лежат в одной сети. Значит слева, до первого различающегося бита, у них одинаковые биты — там и стоят единицы маски. Это верхняя граница.

А теперь ловушка, ради которой этот тип и придуман. При самой длинной маске один из адресов может оказаться адресом сети или широковещательным. Это не компьютеры. Значит маска не годится — отступаем на один бит назад.

Порядок действий такой. Нашёл первое расхождение — получил кандидата. Проверил оба адреса — подтвердил или отступил.


Worked example

Узлы 192.168.190.12 и 192.168.184.0. Различие в третьем байте: 190 и 184.

A  1 0 1 1 1 1 1 0   (190)
B  1 0 1 1 1 0 0 0   (184)
   \_______/ ^
   совпало 5 бит  первое расхождение
   -> на вид префикс 21

Проверяем /21. Сеть получается 192.168.184.0 — а это ровно наш адрес B. Узлу так нельзя. Отступаем на бит.

/21: сеть = 192.168.184.0 = адрес B   -> нельзя
/20: сеть = 192.168.176.0
     A = .190.12  обычный узел   ок
     B = .184.0   обычный узел   ок      -> годится

Ответ: 20, а не 21.


Ещё примеры

Пример 1. Ловушки нет — ответ равен кандидату. Узлы .66 и .70 отличаются в 6-м бите, кандидат /29. Проверяем: сеть .64, broadcast .71, оба узла внутри и не служебные.

66 = 01000010
70 = 01000110
     \____/ ^ расхождение -> кандидат /29
/29: .64 сеть | .65 .66 .67 .68 .69 .70 узлы | .71 broadcast
     оба узла обычные  -> ответ 29

Пример 2. Ловушка сработала снизу. Узлы .8 и .12: кандидат /29 даёт сеть .8 — это адрес A.

/29: сеть = .8 = адрес A   -> нельзя
/28: сеть = .0, broadcast = .15
     A = .8, B = .12 — обычные узлы  -> ответ 28

Пример 3. Как быстро увидеть опасность. Если у адреса много нулей справа, он «похож» на адрес сети — проверяй его первым.

.184.0  много нулей справа -> частый кандидат в адрес сети
.190.12 нулей мало       -> скорее обычный узел

▶ Try it: узлы 10.0.5.8 и 10.0.5.12 — какой ответ? Сверься с примером 2.


Узлы 192.168.190.12 и 192.168.184.0 в одной сети. Наибольшее число единиц в маске?


Узлы 172.16.10.66 и 172.16.10.70 в одной сети. Введите наибольшее возможное число единиц в маске.


Почему ответ иногда на 1 меньше, чем позиция первого различающегося бита?


Что нужно проверить при выборе самой длинной маски? Выберите все.


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

Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать