Протокол ARP

В этом разделе мы рассмотрим то, как при посылке IP-пакета определяется Ethernet-адрес назначения. Для отображения IP-адресов в Ethernet адреса используется протокол ARP (Address Resolution Protocol - адресный протокол). Отображение выполняется только для отправляемых IP-пакетов, так как только в момент отправки создаются заголовки IP и Ethernet.

ARP-таблица для преобразования адресов 

Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим IP-адресом. Ниже приведен пример упрощенной ARP-таблицы.

IP-адрес 

Ethernet-адрес 

223.1.2.1
223.1.2.3
223.1.2.4

08:00:39:00:2F:C3
08:00:5A:21:A7:22
08:00:10:99:AC:54

Табл.1. Пример ARP-таблицы
Принято все байты 4-байтного IP-адреса записывать десятичными числами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый байт указывается в 16-ричной системе и отделяется двоеточием.

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

Порядок преобразования адресов 

В ходе обычной работы сетевая программа,такая как TELNET, отправляет прикладное сообщение, пользуясь транспортными услугамиTCP. Модуль TCP посылает соответствующее транспортное сообщение через модульIP. В результате составляется IP-пакет, который должен быть передан драйверуEthernet. IP-адрес места назначения известен прикладной программе, модулю TCP и модулю IP. Необходимо на его основе найти Ethernet-адрес места назначения. Для определения искомого Ethernet-адреса используется ARP-таблица. 

Запросы и ответы протокола ARP

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

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

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

IP-адрес отправителя
Ethernet-адрес отправителя 

223.1.2.1
08:00:39:00:2F:C3

Искомый IP-адрес
Искомый Ethernet-адрес

223.1.2.2
<пусто>

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

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

IP-адрес отправителя
Ethernet-адрес отправителя

223.1.2.2
08:00:28:00:38:A9

Искомый IP-адрес
Искомый Ethernet-адрес

223.1.2.1
08:00:39:00:2F:C3

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

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

IP-адрес 

Ethernet-адрес 

223.1.2.1
223.1.2.2
223.1.2.3
223.1.2.3

08:00:39:00:2F:C3
08:00:28:00:38:A9
08:00:5A:21:A7:22
08:00:10:99:AC:54

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

Продолжение преобразования адресов 

Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Как вы помните, ранее на шаге 2 исходящий IP-пакет был поставлен в очередь. Теперь с использованием обновленной ARP-таблицы выполняется преобразование IPадреса в Ethernet-адрес, после чего Ethernet-кадр передается по сети. Полностью порядок преобразования адресов выглядит так:

  1. По сети передается широковещательный ARP-запрос.
  2. Исходящий IP-пакет ставится в очередь.
  3. Возвращается ARP-ответ, содержащий информацию о соответствии IP- и Ethernet-адресов. Эта информация заносится в ARP-таблицу.
  4. Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, постав ленного в очередь, используется ARP-таблица.
  5. Ethernet-кадр передается по сети Ethernet.

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

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

Некоторые реализации IP и ARP не ставят в очередь IP-пакеты на то время, пока они ждут ARP-ответов. Вместо этого IP-пакет просто уничтожается, а его восстановление возлагается на модуль TCP или прикладной процесс, работающий через UDP. Такое восстановление выполняется с помощью таймаутов и повторных передач. Повторная передача сообщения проходит успешно, так как первая попытка уже вызвала заполнение ARP-таблицы.

Следует отметить, что каждая машина имеет отдельную ARP-таблицу для каждого своего сетевого интерфейса.



Источник: не установлен.


Обсудить на форуме

Комментарии

Добавить комментарий
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

    Как узнать MAC адрес ноутбука или обычного компьютера

      MAC адрес – это уникальный физический адрес сетевого оборудования, в ноутбуке и компьютере он может быть у обычной Ethernet сетевой карты или беспроводного Wifi адаптера.

    IC697CMM742 Конфигурация и подключение GE Fanuc PLC Training 90-70 Интерфейсный модуль Ethernet

      Данное руководство по устранению неполадок является тестом на Ethernet-интерфейс GE Fanuc  IC697CMM742 . То, что вы собираетесь делать здесь, это то, что вы в основном собираетесь это рассказать.

    IC693CMM321 Интерфейс Ethernet GE Fanuc Программирование ПЛК Proficy Machine Edition Обучение

      Это руководство по устранению неполадок - это простой тест модуля Ethernet 90-30, номер детали IC693CMM321 . На этом рисунке показан процессор IC693CPU374 и блок питания большой мощности: IC693PWR330.

    Прибор адресации и диагностики AS-interface

      Для организации связи всем ведомым устройствам AS-Interface должны быть присвоены свои индивидуальные сетевые адреса. Установка сетевых адресов может выполняться локально с помощью специального прибора или интерактивно с помощью ведущего сетевого

    Реализация MODBUS RTU сервера с помощью интерфейсного модуля Fastwel и программного обеспечения CoDeSys

      В данной статье рассмотрена интеграция программируемого логического контроллера CPM713 компании Fastwel, работающего на базе протокола MODBUS TCP, с панелью оператора Weintek, поддерживающей последовательный вариант протокола MODBUS RTU/ASCII, с

    Протокол UDP

    Документ содержит русский перевод спецификации протокола UDP(User Datagram Protocol) - одного из основных транспортных протоколов стека IP,применяемого в международной компьютерной сетиInternet.