2013-08-14 4 views
0

Предположим, что хост хочет отправить пакет в 10.3.3.3, 10.3.3.3 является хостом B в той же подсети с A. Но A думает, что B находится в другой сети, попытается ли использовать arp, чтобы получить MAC-адрес B?Если хост не знает, в какую сеть находится пункт назначения, как будет отправлен пакет

Будет ли установлен MAC на MAC-адрес маршрута и отправить пакет непосредственно на маршрутизатор? Что сделает маршрутизатор, если он получит пакет, он отправит его в B напрямую?

Напротив, если A думает, что B находится в той же сети, и на самом деле, B нет, найдет ли B окончательно? A может отправить arp, но никто не ответил бы. Будет ли попытка отправить пакет на маршрутизатор?

+1

Почему A думаю, что B находится в другой подсети, когда это не так? – EJP

ответ

2

Маршрутизация целиком основана на целевом адресе и таблице маршрутизации (которая будет зависеть от конфигурации вашей подсети).

Давайте предположим, что

Хост А 10.3.4.4 и выполнен с NETMASK 255.255.255.0 и маршрутизатором 10.3.4.1

Узел B является 10.3.3.3 и сконфигурирован с маской сети 255.255. 255,0.

В этом случае таблица маршрутизации для хоста A будет выглядеть примерно так,

Dest  Gateway Mask 
0.0.0.0 10.3.4.1 0.0.0.0 
10.3.4.0 0.0.0.0 255.255.255.0 

Начиная снизу, хост А будет пытаться найти какой маршрут использовать. Если хост A пытается связаться с 10.3.4.x, он будет соответствовать первому маршруту, и вместо использования шлюза он отправит запрос ARP «у кого есть 10.3.4.x?». на широковещательном адресе подсети (10.3.4.255).

Если хост A пытается связаться с хостом B, он не будет соответствовать первому правилу маршрутизации и по умолчанию отправит пакет на шлюз (10.3.4.1 в этом примере).

Так что нет, A не будет пытаться использовать ARP для получения MAC-адреса хоста B, если он не настроен на то, что хост B находится в той же подсети. Если маршрутизатор настроен с правилами маршрутизации для маршрутизации между подсетями, он будет доставлять пакет, иначе он просто будет удален.

Наоборот, если A думает, что B находится в той же сети, и на самом деле, B нет, найдет B окончательно? A может отправить arp, но никто не ответил бы. Будет ли попытка отправить пакет на маршрутизатор?

No. Запрос ARP будет отправлен на широковещательный адрес подсети. Если B не находится в этой подсети и игнорирует запрос ARP, A не будет отправлять пакет на маршрутизатор, поскольку там, где он отправляет пакет, только на основе IP-адреса назначения, не происходит изменения того, где он маршрутизируется на основе if пакет был доставлен.

+0

Очень хороший ответ, спасибо за ответ. – dspjm