Читаем TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) полностью

<p>5.24 Протокол ARP</p>

Перед тем как датаграмма будет передана с одной системы локальной сети на другую, она будет обрамлена заголовком и завершающей частью кадра. Кадр доставляется на сетевой адаптер, физический адрес которого совпадает с физическим адресом назначения из заголовка кадра.

Таким образом, для доставки датаграммы в локальной сети нужно определить физический адрес узла назначения.

Хорошо, что существует процедура автоматического определения физических адресов. Протокол разрешения адресов (Address Resolution Protocol — ARP) обеспечивает метод динамической трансляции между IP-адресом и соответствующим физическим адресом на основе широковещательных рассылок.

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

Рис. 5.14. Поиск физического адреса системы

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

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

<p>5.24.1 Содержимое сообщения ARP</p>

Запросы ARP первоначально использовались в локальных сетях Ethernet, но структура таких запросов имеет более общую природу, поэтому их можно применять и в Token-Ring, локальных сетях Fiber Distributed Data Interface (FDDI) или в глобальных сетях Switched Multimegabit Data Service (SMDS). Один из вариантов ARP был разработан для региональных сетей с виртуальными цепями (подобных Frame Relay).

Сообщение ARP помещается в поле данных кадра вслед за заголовком (заголовками) нижних уровней. Например, для Ethernet с кадрами DIX сообщение ARP следует за MAC-заголовком, а для сетей типа 802.3 или 802.5 — за MAC-заголовком, заголовком Logic Link Control (LLC) и подзаголовком Sub-Network Access Protocol (SNAP). Тип протокола для таких кадров (ARP через Ethernet) определяется кодом X'0806. В таблице 5.5 показаны поля сообщения ARP.

Таблица 5.5 Формат сообщения ARP

Количество октетовПоле
2Тип аппаратного адреса
2Протокол адресации высокого уровня
1Длина аппаратного адреса
1Длина адреса высокого уровня
2Тип сообщения: 00 01 = запрос, 00 02 = ответ
*Аппаратный адрес источника
*Адрес высокого уровня (IP) источника
*Аппаратный адрес приемника
*Адрес высокого уровня (IP) приемника

Длина последних четырех полей зависит от используемой технологии и применяемого протокола. Аппаратный адрес локальной сети 802.X содержит 6 октетов, а IP-адрес — 4 октета. В таблице 5.6 показаны примеры форматов сообщений, запрашивающих трансляцию IP-адресов в адреса Ethernet.

Таблица 5.6 Примеры сообщений для запросов ARP

Количество октетовПолеОписание
200 01Ethernet
208 00IP
106Длина физического адреса в 6 октетов для Ethernet
104Длина физического адреса IP
200 01Запрос
602 07 01 00 53 23Аппаратный адрес источника
480 24 04 12Адрес высокого уровня источника
600 00 00 00 00 00Аппаратный адрес назначения
480 24 04 0BАдрес высокого уровня назначения

При ответе меняются роли источника и приемника. Например, адресом высокого уровня источника в ответе на запрос станет X'80-24-04-0B.

Применение ARP не ограничивается только TCP/IP: во втором поле также можно указать протокол, использующий ARP.

Первичный запрос ARP распространяется в широковещательной рассылке, поэтому любая система локальной сети может использовать сведения из такого запроса для обновления собственной таблицы данными о запрашивающей системе. Однако обычно система обновляет свою таблицу, только когда сама служит целевой системой запроса ARP.

<p>5.24.2 Таблица ARP</p>
Перейти на страницу:

Похожие книги