Преобразование адресов Теперь
Необходим механизм, чтобы отобразить адреса IP на адреса основной сети. Используемый механизм Address Resolution Protocol
(ARP, протокол преобразования адресов). Фактически, ARP не ограничен сетями Ethernet или Token Ring, он используется и на других типах сетей, типа любительского радио протокола AX.25. Идея, лежащая в основе ARP, точно такая, какую большинство людей использует, когда они должны найти человека X в толпе из 150 людей: человек, который хочет его видеть, зовет достаточно громко, чтобы каждый в толпе мог его услышать, а тот, кого зовут, отвечает. Когда он отвечает, мы узнаем, который человек нам нужен.
Когда ARP хочет найти адрес Ethernet, соответствующий данному IP-адресу, он использует свойство Ethernet под названием
broadcasting, в котором пакеты адресуются всем машинам в сети одновременно. Пакет, который посылает ARP, содержит запрос IP-адреса. Каждый компьютер, получивший запрос, сравнивает его содержимое с собственным IP-адресом и, если он совпадает с указанным в запросе, возвращает ответ. Запрашивающий компьютер может теперь извлекать адрес Ethernet из ответа.
Возникает проблема: как обратиться к Internet-адресу, который может быть в другой сети в другом полушарии? Ответ на этот вопрос называется routing, а именно нахождение физического расположения компьютера в сети. Мы обсудим эту проблему в следующем разделе.
Давайте поговорим немного более подробно относительно ARP. Как только компьютер обнаружил адрес Ethernet, он сохраняет этот адрес в кэше ARP так, чтобы не делать запрос снова, когда в следующий раз потребуется послать пакет рассматриваемому компьютеру. Однако, неблагоразумно хранить эту информацию всегда; плата Ethernet удаленного компьютера может быть заменена из-за технических проблем, так что ARP-запись становится недопустимой. Следовательно, записи в кэше ARP будут сброшены через некоторое время, чтобы вызвать другой запрос для поиска IP-адреса.
Иногда необходимо найти адрес IP, связанный с данным адресом Ethernet. Это случается, когда машина без диска хочет загружаться с сервера по сети, что является частой ситуацией в локальных сетях. Клиент без диска, однако, не имеет фактически никакой информации относительно себя, кроме адреса Ethernet! Так что он передает сообщение, содержащее запрос к серверу начальной загрузки, чтобы обеспечить себя адресом IP. Имеется другой протокол для этой ситуации Reverse Address Resolution Protocol (RARP, протокол обратного преобразования адреса). Наряду с протоколом BOOTP он служит, чтобы определить процедуру начальной загрузки клиентов без диска по сети.