Назад | Перейти на главную страницу

Достаточно ли определить сегмент для двух IP-адресов с разными сетевыми масками с помощью побитового И?

Я читал о правилах того, как хосты общаются друг с другом. Допустим, hostA и hostB. hostA получает свой собственный сетевой идентификатор поразрядно - и свой IP-адрес и свою маску, затем получает идентификатор сети hostB побитовым способом - и ip-адрес hostB и маску hostA. Если результаты совпадают, значит, они находятся в одном сегменте сети.

Предположим, что hostA не знает MAC-адрес hostB: если они находятся в одном сегменте, hostA отправляет ARP-запрос на переключение и, наконец, получает MAC-адрес hostB; если они не находятся в одном сегменте, hostA использует MAC-адрес шлюза в качестве MAC-адреса назначения и ip-адрес hostB в качестве IP-адреса назначения и отправляет кадр на шлюз. Вот как это работает.

Я могу понять, когда IP-адреса двух хостов имеют вид 192.168.1.1/24 и 192.168.1.2/24. Но что случилось, когда они были такими:

Если hostA - 192.168.0.1/16, а hostB - 192.168.1.1/24, hostA получает свой собственный сетевой идентификатор:

192.168.0.1 & 255.255.0.0 -> 192.168.0.0

тогда hostA получает сетевой идентификатор hostB:

192.168.1.1 & 255.255.0.0 -> 192.168.0.0

Итак, hostA считает, что они находятся в одном сегменте. Но для hostB hostB получает собственный сетевой идентификатор:

192.168.1.1 & 255.255.255.0 -> 192.168.1.0

тогда hostB получает сетевой идентификатор hostA:

192.168.0.1 & 255.255.255.0 -> 192.168.0.0

Итак, hostB думает, что hostA находится в другом сегменте.

Как они общаются в этом случае? Например, они не знают MAC-адреса друг друга, hostA использует один способ поиска hostB, а hostB другой способ найти hostA?

Спасибо,

он работает именно так, как вы описали. HostA будет считать, что HostB находится в том же сегменте сети, что и ARP для MAC-адреса HostB. маршрутизатор вообще не будет задействован.

Когда HostB инициирует диалог, он может увидеть, что HostA находится в другом сегменте сети, и отправить свой трафик на маршрутизатор, и маршрутизатор может передать его, но это не имеет значения, потому что, когда HostA пытается ответить, он снова поверит что HostB находится в том же сегменте сети и ARP для его MAC-адреса.

Короче говоря, схема IP-адресации не будет работать, и необходимо изменить один из сегментов. Изменение сетевого идентификатора сегмента HostA на 192.168.0.0/24 подойдет.