мне интересно, есть ли у меня компьютер в подсети а с IP-адресом 192.168.123.1
, и компьютер с IP-адресом 192.168.124.1
в другой подсети.
обе сети подключены к маршрутизатору. Если я хочу сейчас отправить пакет с компьютера a на компьютер B, мне придется использовать ARP, чтобы получить их MAC-адрес для отправки кадра (предположим, что кэш ARP пуст).
мой вопрос теперь: как будет выглядеть этот запрос ARP, у меня есть два возможных метода, которые я могу подумать of:
-
компьютер A, видит, что IP-адрес компьютера B находится вне его собственной подсети. Это решает передать пакет к его шлюзу по умолчанию (маршрутизатор) и передает запрос ARP с IP-адресом маршрутизатора. Далее: маршрутизатор отвечает с его mac-адресом, и кадр передается маршрутизатору, который будет заботиться о кадре.
-
компьютер A, является "глупым" и отправляет запрос ARP с IP-адресом B. маршрутизатор достаточно умен и видит что IP-адрес в это routeingtable. И отвечает своим MAC-адресом. Затем компьютер a отправляет кадр на маршрутизатор, думая, что это компьютер B. маршрутизатор отправляет пакет на компьютер B.
недостаток, который я вижу со вторым подходом, заключается в том, что при серфинге в google он будет делать запрос arp с IP-адресом Google. Маршрутизатор ответит своим, так как он знает, как добраться до Google. В следующий раз, когда вы перейдете на другой веб-сайт, вы нужно сделать то же самое снова и отправить запрос arp с IP этого сайта. Это приведет к много ARP запросов (по одному на каждый сайт). И кэш arp станет очень большим.
Я действительно не знаю ответа. Я нашел два видео на YouTube -этот и этот - каждый говорит мне разные вещи:
Я надеюсь, что кто-то может помочь мне.