Чтение онлайн

ЖАНРЫ

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

Фейт Сидни М.

Шрифт:

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

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

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

5.24.1 Содержимое сообщения ARP

Запросы 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

Количество октетов Поле Описание
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 октетов физического адреса (шестнадцатеричные числа, разделенные двоеточием).

> arp -a

nomad-eth0.jvnc.net (128.121.50.50) at 0:0:с:2:85:11

r2d2.jvnc.net (128.121.50.2) at 8:0:20:а:2с:3f

jim-mac.jvnc.net (128.121.50.162) at 8:0:7:6f:а6:65

tom-mac.jvnc.net (128.121.50.163) at 8:0:7:ff:96:9е

chip.jvnc.net (128.121.50.148) at 0:0:3b:86:6:4c

nisc.jvnc.net (128.121.50.7) at 8:0:20:11:d2:b7

nicol.jvnc.net (128.121.50.10) at 0:0:3b:30:32:34

minnie.jvnc.net (128.121.50.141) at 8:0:20:7:b5:da

>

> telnet mickey.3vnc.net

Trying 128.121.50.143 …

Connected to mickey.jvnc.net.

Escape character is '^]'

SunOS UNIX (mickey.jvnc.net)

login:

. . .

logout

> arp -a

nomad-eth0.jvnc.net (128.121.50.50) at 0:0:c:2:85:11

r2d2.jvnc.net (128.121.50.2) at 8:0:20:a:2c:3f

jim-mac.jvnc.net (128.121.50.162) at 8:0:7:6f:a6:65

tom-mac.jvnc.net (128.121.50.163) at 8:0:7:ff:96:9e

chip.jvnc.net (128.121.50.148). at 0:0:3b:86:6:4c

nisc.jvnc.net (128.121.50.7) at 8:0:20:11:d2:b7

nicol.jvnc.net (128.121.50.10) at 0:0:3b:80:32:34

minnie.jvnc.net (128.121.50.141) at 8:0:20:7:b5:da

mickey.jvnc.net (128.121.50.143) at 8:0:20:7:53:8f

>

5.24.3 Обратные запросы ARP

Один из вариантов ARP называется обратным запросом (reverse ARP — RARP) и служит для определения узлом собственного IP-адреса. Такие запросы предназначены для бездисковых рабочих станций и других устройств, которые получают конфигурационную информацию от сетевого сервера.

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

Обратные запросы ARP были вытеснены протоколом BOOTP и его улучшенной версией, названной протоколом динамического конфигурирования хоста (Dynamic Host Configuration Protocol — DHCP). Этот протокол гораздо мощнее и предоставляет больший набор конфигурационных параметров для систем TCP/IP (BOOTP и DHCP будут рассмотрены в главе 11).

Поделиться с друзьями: