Интернет через Ethernet

         

Протокол преобразования адресов ARP (RARP)



Протокол преобразования адресов ARP (RARP)

Как уже было сказано выше, маршрутизаторы упаковывают дейтаграммы IP в кадры локальных сетей (обычно Ethernet). Для установления соответствия MAC по IP адресу они используют специальный протокол разрешения адреса (Address Resolution Protocol, ARP). Соответственно, для решения обратной задачи (установления IP по известному MAC-адресу) используется реверсивный протокол разрешения адреса (Reverse Address Resolution Protocol, RARP). Классический случай применения RARP - старт рабочей станции, у которой IP-адрес не установлен в явном виде.

Алгоритм работы протокола следующий:

  • Маршрутизатор, которому необходимо доставить дейтаграмму IP-адреса узлу в локальной сети, формирует ARP-запрос, и вкладывает его в кадр широковещательной рассылки.
  • Все узлы локальной сети получают кадр с ARP-запросом, и сравнивают указанный там IP-адрес с собственным.
  • При совпадении адресов, узел формирует ARP-ответ (совпадающий по формату с ARP-запросом), в котором указывает свой IP-адрес и МАС-адрес, и отправляет его маршрутизатору.
  • После получения кадра маршрутизатор отправляет по MAC-адресу IP-дейтаграмму адресату.
  • Работа протокола занимает вполне определенное, и часто не малое время, за которое дейтаграмма может быть потеряна (превысит время хранения в кэше сетевого адаптера). Поэтому, маршрутизаторы и рабочие станции с сети хранят таблицу соответствия (ARP-таблицу), по которой отправка производится без посылки ARP-запроса.

    Кроме IP и МАС-адреса, в таблице хранится возраст записи, что позволяет ее обновлять по определенным условиям. Далее, нужно особо отметить, что во многих операционных системах таблица может быть сформирована вручную администратором сети. Такая возможность часто используется для установления жесткого соответствия MAC и IP адреса узла для ограничения несанкционированного доступа к различным ресурсам.

    Таб. 9.6. Формат пакета протокола ARP/RARP в Ethernet



    Тип оборудования (для Ethernet - 1) Тип протокола (для IP-0800)
    Длина МАС-адреса Длина IP-адреса Операция. 1-ARP (запрос), 2-ARP (ответ), 3-RARP (запрос), 4-RARP (ответ)
    Аппаратный адрес (для Ethernet МАС) отправителя (байты 9-14)
    IP-адрес отправителя (байты 15-18)
    Аппаратный адрес (для Ethernet МАС) получателя (байты 19-24)
    IP-адрес получателя (байты 25-28)

    В общем случае, форматы локальных адресов различны для разных видов протоколов. Поэтому красивую таблицу с определенными заранее полями составить сложно. Так как длина МАС-адреса в Ethernet составляет 6 байт, а IP - 4 байта, получается, что запрос занимает 28 байт.



    Содержание раздела