Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OIS Exam.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
618 Кб
Скачать
☆

16. Протокол arp. Отправка ip пакета удаленному хосту.

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

Преобразование адресов выполняется путем поиска в таблице. Эта таб-

лица, называемая ARP-таблицей, хранится в памяти и содержит строки для

каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса.

Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись

с соответствующим IP-адресом. Ниже приведен пример упрощенной ARP-

таблицы.

---------------------------------------------

| IP-адрес Ethernet-адрес |

---------------------------------------------

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

| 223.1.2.3 08:00:5A:21:A7:22 |

| 223.1.2.4 08:00:10:99:AC:54 |

---------------------------------------------

Табл.1. Пример ARP-таблицы

Принято все байты 4-байтного IP-адреса записывать десятичными чис-

лами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый

байт указывается в 16-ричной системе и отделяется двоеточием.

ARP-таблица необходима потому, что IP-адреса и Ethernet-адреса выби-

раются независимо, и нет какого-либо алгоритма для преобразования одного

в другой. IP-адрес выбирает менеджер сети с учетом положения машины в

сети internet. Если машину перемещают в другую часть сети internet, то

ее IP-адрес должен быть изменен. Ethernet-адрес выбирает производитель

сетевого интерфейсного оборудования из выделенного для него по лицензии

адресного пространства. Когда у машины заменяется плата сетевого адап-

тера, то меняется и ее Ethernet-адрес.

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

Как же заполняется 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-таблица после обработки ответа

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

Новая запись в 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-таблицу для

каждого своего сетевого интерфейса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]