Как же заполняется ARP-таблица? Она заполняется автоматически модулем ARP, по мере необходимости. Когда с помощью существующей ARP-таблицы не удается преобразовать IP-адрес, то происходит следующее:

1) По сети передается широковещательный ARP-запрос.

2) Исходящий IP-пакет ставится в очередь.

Каждый сетевой адаптер принимает широковещательные передачи. Все драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают ARP-пакеты модулю ARP. ARP-запрос можно интерпретировать так: "Если ваш IP-адрес совпадает с указанным, то сообщите мне ваш Ethernet-адрес". Пакет ARP-запроса выглядит примерно так:

  ---------------------------------------------------
 | IP-адрес отправителя            223.1.2.1         |
 | Ethernet-адрес отправителя      08:00:39:00:2F:C3 |
  ---------------------------------------------------
 | Искомый IP-адрес                223.1.2.2         |
 | Искомый Ethernet-адрес          <пусто>           |
  ---------------------------------------------------

Табл.2. Пример ARP-запроса

Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: "Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес". Пакет с ARP-ответом выглядит примерно так:

  ---------------------------------------------------
 | IP-адрес отправителя            223.1.2.2         |
 | Ethernet-адрес отправителя      08:00:28:00:38:A9 |
  ---------------------------------------------------
 | Искомый IP-адрес                223.1.2.1         |
 | Искомый Ethernet-адрес          08:00:39:00:2F:C3 |
  ---------------------------------------------------

Табл.3. Пример ARP-ответа

Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу.

Обновленная таблица выглядит следующим образом:

  -----------------------------------
 | IP-адрес         Ethernet-адрес   |
  -----------------------------------
 | 223.1.2.1       08:00:39:00:2F:C3 |
 | 223.1.2.2       08:00:28:00:38:A9 |
 | 223.1.2.3       08:00:5A:21:A7:22 |
 | 223.1.2.4       08:00:10:99:AC:54 |
  -----------------------------------

Табл.4. ARP-таблица после обработки ответа


Previous Contents Next