230
лежит IP-адрес 192.31.65.5?». Этот пакет будет получен каждой
машиной сети Ethernet 192.31.65.0, а хост 2 ответит на вопрос
своим Ethernet-адресом E2. Таким образом, хост 1 узнает, что IP-
адрес 192.31.65.5 принадлежит хосту с Ethernet-адресом E2. Про-
токол, который задает подобный вопрос и получает ответ на него,
называется ARP (Address Resolution Protocol – протокол разре-
шения адресов). Он работает почти на каждой машине в
Интер-
нете.
Затем программное обеспечение протокола IP хоста 1 создает
Ethernet-кадр, адресованный Е2, помещает в его поле полезной
нагрузки IP-пакет, адресованный 192.31.65.5, и посылает его по
сети Ethernet. Сетевая карта Ethernet хоста 2 обнаруживает кадр,
замечает, что он адресован ей, считывает его и вызывает преры-
вание. Ethernet-драйвер извлекает IP-пакет из поля полезной на-
грузки и передает
его IP-программе, которая, видя, что пакет ад-
ресован правильно, обрабатывает его.
Для повышения эффективности протокола ARP существуют
различные методы оптимизации. Во-первых, машина, на которой
работает протокол ARP, запоминает результат преобразования
адреса, на случай, если ей придется снова связаться с той же ма-
шиной. В следующий раз она найдет нужный адрес в
своем кэше,
сэкономив, таким образом, на рассылке широковещательного па-
кета. В большинстве случаев хосту 2 понадобится отослать ответ
на пакет, что также потребует от него обращения к ARP, чтобы
определить адрес отправителя. Этого обращения можно избе-
жать, если отправитель включит в ARP-пакет свои IP- и Ethernet-
адреса. Когда широковещательный ARP-пакет прибудет на хост
2, пара (192.31.65.7,
Е1) будет сохранена хостом 2 в ARP-кэше
для будущего использования. Более того, эту пару адресов могут
сохранить все машины сети Ethernet. Кроме того, каждая машина
может рассылать свою пару адресов во время загрузки. Обычно
эта широковещательная рассылка производится в виде ARP-
пакета, запрашивающего свой собственный IP-адрес. Ответа на
этот запрос быть не должно, но
все машины могут запомнить эту
пару адресов. Если ответ все же придет, это будет означать, что
двум машинам назначен один и тот же IP-адрес. При этом вторая
машина должна проинформировать системного администратора и
прекратить загрузку.