4.4.Отображение физических адресов на ip-адреса: протокол arp
Для отображения IP-адресов в Ethernet адреса используется протокол ARP (Address Resolution Protocol - адресный протокол). Отображение выполняется только для отправляемых IP-пакетов, так как только в момент отправки создаются заголовки IP и Ethernet.
4.4.1. ARP-таблица для преобразования адресов
Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим IP-адресом. Ниже приведен пример упрощенной ARP-таблицы.
Таблица 4.1. Пример 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 |
ARP-таблица необходима, потому что IP-адреса и Ethernet-адреса выбираются независимо, и нет какого-либо алгоритма для преобразования одного в другой. IP-адрес выбирает менеджер сети с учетом положения машины в сети internet. Если машину перемещают в другую часть сети internet, то ее IP-адрес должен быть изменен. Ethernet-адрес выбирает производитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Когда у машины заменяется плата сетевого адаптера, то меняется и ее Ethernet-адрес.
В ходе обычной работы сетевая программа, такая как TELNET, отправляет прикладное сообщение, пользуясь транспортными услугами TCP. Модуль TCP посылает соответствующее транспортное сообщение через модуль IP. В результате составляется IP-пакет, который должен быть передан драйверу Ethernet. IP-адрес места назначения известен прикладной программе, модулю TCP и модулю IP. Необходимо на его основе найти Ethernet-адрес места назначения. Для определения искомого Ethernet-адреса используется ARP-таблица.
ARP-таблица заполняется автоматически модулем ARP, по мере необходимости. Когда с помощью существующей ARP-таблицы не удается преобразовать IP-адрес, то происходит следующее:
По сети передается широковещательный ARP-запрос.
Исходящий IP-пакет ставится в очередь.
Возвращается ARP-ответ, содержащий информацию о соответствии IP- и Ethernet-адресов. Эта информация заносится в ARP-таблицу.
Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, поставленного в очередь, используется ARP-таблица.
Ethernet-кадр передается по сети Ethernet.
Каждый сетевой адаптер принимает широковещательные передачи. Все драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают ARP-пакеты модулю ARP. ARP-запрос можно интерпретировать так: "Если ваш IP-адрес совпадает с указанным, то сообщите мне ваш Ethernet-адрес". Пакет ARP-запроса выглядит примерно так:
Таблица 4.2. Пример ARP-запроса
IP-адрес отправителя Ethernet-адрес отправителя | 223.1.2.1 08:00:39:00:2F:C3 |
Искомый IP-адрес Искомый Ethernet-адрес | 223.1.2.2 <пусто> |
Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: "Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес".
Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу.
Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Ранее на шаге 2 исходящий IP-пакет был поставлен в очередь. Теперь с использованием обновленной ARP-таблицы выполняется преобразование IPадреса в Ethernet-адрес, после чего Ethernet-кадр передается по сети. Полностью порядок преобразования адресов выглядит так:
Следовательно, если с помощью ARP-таблицы не удается сразу осуществить преобразование адресов, то IP-пакет ставится в очередь, а необходимая для преобразования информация получается с помощью запросов и ответов протокола ARP, после чего IP-пакет передается по назначению.
Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблице. Протокол IP будет уничтожать IP-пакеты, направляемые по этому адресу. Протоколы верхнего уровня не могут отличить случай повреждения сети Ethernet от случая отсутствия машины с искомым IP-адресом.
Каждая машина имеет отдельную ARP-таблицу для каждого своего сетевого интерфейса.
- 4. Программное обеспечение сетей
- 4.1. Структура стека tcp/ip. Краткая характеристика протоколов
- 4.2. Адресация в ip-сетях
- 4.2. Три основных класса ip-адресов
- Структура адресов сетей классов a – e
- Диапазон адресов сетей и хостов классов a и c
- 4.3. Использование масок в ip-адресации
- 4.4.Отображение физических адресов на ip-адреса: протокол arp
- 4.5. Автоматизация процесса назначения ip-адресов узлам сети - протокол dhcp
- 4.6. Протокол ip
- 4.6.1.Формат пакета ip
- 4.7. Маршрутизация. Виды и алгоритмы маршрутизации.
- 4.7.1. Алгоритм поиска маршрута в таблице маршрутизации
- 4.7.2. Протокол динамической маршрутизации rip
- 4.8. Протокол управляющих сообщений icmp
- 4.8.1. Формат сообщений протокола icmp
- 4.8.3.Сообщения о недостижимости узла назначения
- 4.8.4.Перенаправление маршрута
- 4.9. Протокол udp
- 4.9.1. Порты
- 4.9.2. Формат udp-пакета
- 4.10. Протокол tcp
- 4.10.1. Алгоритм установления tcp-соединения
- 4.10.3. Формат сообщений tcp
- 4.11. Протокол dns
- 4.11.1. Принцип работы dns
- 4.11.2. Алгоритм взаимодействия узлов в распределенной сети
- 4.12. Протокол управления сетью snmp
- 4.12.1. Основы технологии
- 4.12.2. Различия в представлении информации
- 4.12.3. Базы данных управления
- 4.12.4. Операции
- 4.13. Протоколы дистанционного управления. Протокол telnet
- 4.14. Протоколы файлового обмена
- 4.14.1. Тривиальный протокол передачи файлов (tftp)
- 4.14.2. Простой протокол передачи файлов (sftp)
- 4.14.3. Протокол передачи файлов ftp
- 4.14.4. Команды ftp
- 4.15. Электронная почта
- 4.15.1. Протокол smtp
- 4.15.2. Протокол pop3 (Post Office Protocol)
- 4.15.3. Протокол imap
- 4.16.1. Универсальный указатель ресурса url.
- 4.16.2. Протокол http
- 4.16.3. Методы протокола http
- 4.16.4. Статус-Код и пояснение к нему
- 4.16.5. Языки и средства создания Web-приложений.