
По сути, широковещательные рассылки ARP происходят внутри локальной сети, запрашивая MAC-адрес другого хоста для определенного IP-адреса.
Если хост находится в другой сети, как исходный компьютер узнает MAC-адрес другого хоста? Кроме того, если исходный компьютер хочет отправить пакет другому хосту, после широковещательной рассылки ARP, если он узнает, что для этого IP-адреса MAC-адрес не находится в его локальной сети, как он запросит MAC-адрес этого другого хоста?
решение1
Если A пытается найти MAC IP B через ARP и терпит неудачу, B не находится в своей подсети. Тогда необходим маршрутизатор, поскольку функция маршрутизатора заключается в пересылке трафика между подсетями.
Типичная ситуация в жилом или простом офисном помещении заключается в том, что A передаст трафик шлюзу по умолчанию, который будет IP маршрутизатора в этой подсети. Шлюз по умолчанию будет назначен A ранее DHCP.
Но, поскольку A знает, в какой подсети он находится (поскольку знает свой собственный IP-адрес и маску подсети), ему обычно не нужно выполнять поиск ARP, если только он не пытается связаться с другим хостом в той же подсети. И передача трафика маршрутизатору, если вы пытаетесь связаться с чем-то в подсети, в которой находитесь, не даст ничего хорошего. Поэтому, если поиск ARP исходного хоста не удается для целевого хоста в той же подсети, исходный хост предположит, что целевой хост не существует. И он даже не будет пытаться выполнять поиск ARP на хостах в других подсетях, он просто передаст их маршрутизатору.
Тем не менее, естьProxyARP.
решение2
... если хост находится в другой сети, как исходный компьютер узнает MAC-адрес другого хоста?
Кто сказал, что у другого хоста вообще есть MAC-адрес? MAC-адреса — этоEthernetвещи, а не интернет-вещи. Хозяин не должен знатьчто-либоо хостах в других сетях, за исключением их IP-адресов. Адресация конечного пакета Ethernet конечному устройству является обязанностью того устройства, которое помещает этот пакет Ethernet в провод, что, конечно же, не является этим хостом (поскольку он даже не находится в этой сети).
А также, если исходный компьютер хочет отправить пакет другому хосту, то после широковещательной рассылки ARP, если он узнает, что для этого IP-адреса MAC-адрес не находится в его локальной сети, как он запросит MAC-адрес другого хоста?
Это не имеет смысла. MAC-адрес явно находится в локальной сети, поскольку этот MAC-адрес только что ответил на его широковещательную рассылку ARP. Как он мог поместить пакет Ethernet в локальную сеть, если он неналокальная локальная сеть?
Запросы ARP и MAC-адреса являются строго локальным сетевым протоколом, используемым среди устройств, которые должны размещать локальные пакеты на проводе друг для друга. Типичный хост использует этот протокол, чтобы знать, как адресовать пакеты своему шлюзу по умолчанию и другим хостам в локальной сети, и это единственные устройства, для которых он должен размещать пакеты на проводе. Маршрутизатор, очевидно, должен знать, как размещать пакеты на проводе для других сетей.
решение3
Если хост находится в другой сети, источник не будет знать MAC хоста. Для связи источник отправит пакет на свой шлюз по умолчанию для передачи.
Это делается путем отправки пакета с MAC-адресом шлюза, который находится в его локальной сети, и IP-адресом хоста назначения. Шлюз решит, как маршрутизировать пакет, и перешлет его, сохранив IP-адрес, но изменив MAC-адрес на MAC следующего перехода по сети. Этот процесс повторяется до тех пор, пока пакет не прибудет в пункт назначения.