TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
Рис. 5.14. Поиск физического адреса системы
Целевой хост узнает свой IP-адрес и читает запрос. После этого он изменяет собственную таблицу трансляции адресов, включая в нее IP-адрес и физический адрес отправителя широковещательной рассылки, и, наконец, посылает ответ, содержащий аппаратный адрес своего интерфейса.
Когда система-источник получает такой ответ, она обновляет свою таблицу ARP и становится готовой к пересылке данных по локальной сети.
5.24.1 Содержимое сообщения ARP
Запросы ARP первоначально использовались в локальных сетях Ethernet, но структура таких запросов имеет более общую природу, поэтому их можно применять и в Token-Ring,
Сообщение 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
Количество октетов | Поле | Описание |
---|---|---|
2 | 00 01 | Ethernet |
2 | 08 00 | IP |
1 | 06 | Длина физического адреса в 6 октетов для Ethernet |
1 | 04 | Длина физического адреса IP |
2 | 00 01 | Запрос |
6 | 02 07 01 00 53 23 | Аппаратный адрес источника |
4 | 80 24 04 12 | Адрес высокого уровня источника |
6 | 00 00 00 00 00 00 | Аппаратный адрес назначения |
4 | 80 24 04 0B | Адрес высокого уровня назначения |
При ответе меняются роли источника и приемника. Например, адресом высокого уровня источника в ответе на запрос станет X'80-24-04-0B.
Применение ARP не ограничивается только TCP/IP: во втором поле также можно указать протокол, использующий ARP.
Первичный запрос ARP распространяется в широковещательной рассылке, поэтому любая система
локальной сети может использовать сведения из такого запроса для обновления собственной таблицы данными о запрашивающей системе. Однако обычно система обновляет свою таблицу, только когда сама служит целевой системой запроса ARP.5.24.2 Таблица ARP
Большинство систем обеспечивает для администратора следующие команды:
■ Просмотр локальной таблицы ARP
■ Ручное удаление или добавление элементов таблицы
■ Загрузку в таблицу информации из конфигурационного файла
Диалог пользователя в процессе выполнения команды arp -a показывает как изменяется содержимое таблицы ARP системы tigger при соединении по telnet с хостом mickey, сведений о котором ранее не было в таблице. Отметим, что в выводе из команды указываются имена каждой системы, их IP-адреса и 6 октетов физического адреса (шестнадцатеричные числа, разделенные двоеточием).
5.24.3 Обратные запросы ARP
Один из вариантов ARP называется обратным запросом (reverse ARP — RARP) и служит для определения узлом собственного IP-адреса. Такие запросы предназначены для бездисковых рабочих станций и других устройств, которые получают конфигурационную информацию от сетевого сервера.
В обратном запросе ARP станция указывает собственный физический адрес и по широковещательной рассылке отправляет его, желая получить для себя IP-адрес. Для ответа на такие запросы сетевой сервер должен быть сконфигурирован с таблицей физических адресов и соответствующих им IP-адресов.
Обратные запросы ARP были вытеснены протоколом BOOTP и его улучшенной версией, названной протоколом динамического конфигурирования хоста (Dynamic Host Configuration Protocol — DHCP). Этот протокол гораздо мощнее и предоставляет больший набор конфигурационных параметров для систем TCP/IP (BOOTP и DHCP будут рассмотрены в главе 11).