Для взаимодействия устройств необходимо, чтобы у устройства-передатчика была IP-и MAC-адрес получателя. Когда одно из устройств пытается установить связь с другим, имеющим известную IP-адрес, ему следует определить MAC-адрес
получателя (если получатель находится не в локальном сетевом сегменте, существует потребность в определении физических адресов промежуточных устройств в пункт назначения). Это нужно для того, чтобы инкапсулированные во фреймы пакеты могли достичь своего адресата.
Набор протоколов TCP / IP в своем составе специальный протокол, который называется ARP (Address Resolution Protocol - протокол преобразования адресов), который позволяет автоматически получить MAC-адрес [1, 4]. На рис. 1.4 проиллюстрировано процесс, позволяющий определить MAC-адрес, связанный с известной IP-адресу.
Некоторые устройства сохраняют специальные ARP-таблицы, в которых содержится информация о MAC и IP-адреса других устройств, подключенных к той же локальной сети. ARP-таблицы позволяют установить однозначное соответствие между IP-и MAC-адресам. Такие таблицы хранятся в определен-ных областях оперативной памяти и обслуживаются автоматически на каждом-ном из сетевых устройств (табл. 1.5 и 1.6).
ARP-запрос позволяет узлу определить MAC-адрес получателя. Узел создает фрейм ARP-запроса и рассылает его всем сетевым устройствам. Фрейм ARP-запроса состоит из двух частей:
• заголовке фрейма;
• сообщение ARP-запроса.
Для того, чтобы все устройства могли получить ARP-запрос, используется широковещательный MAC-адрес (такой адрес содержит во всех битах единичные значения: FF-FF-FF-FF-FF-FF). Поскольку фреймы ARP-запроса передаются в широковещательном режиме, все сетевые устройства, подключенные к ЛКМ могут получать такие фреймы и передавать инкапсулированных в них информацию протоколам высших уровней для последующей обработки. Если IP-адрес устройства совпадает с IP-адресом получателя, в широковещательном ARP-запросе, то это устройство отвечает отправителю, сообщая свою МАС-адрес. Такое сообщение называется ARP-ответом.
После получения ARP-ответы устройство-отправитель широковещательного ARP-запроса изымает МАС-адрес из поля аппаратного адреса отправителя и обновляет свою ARP-таблицу. Теперь это устройство может должным образом относятся пакеты, используя как МАС-, так и IP-адрес. Полученная информация используется для инкапсуляции данных на втором и третьем уровнях перед их отправлением сетью. Когда данные достигают пункта назначения, на канальном уровне проводится проверка на соответствие адреса, отвергается канальный заголовок, содержащий MAC-адреса и данные передаются на сетевой уровень. На сетевом уровне проверяется соответствие собственной IP-адреса и IP-адреса получателя, содержащегося в заголовке третьего уровня. На сетевом уровне отвергается IP-заголовок, и инкапсулированные данные передаются на следующий уровень модели OSI - транспортный (уровень 4). Подобный процесс повторяется до тех пор, пока данные, по-остались частично распакованы, не достигнут приложения (уровень 7), в котором будет прочитана часть данных.
Следует знать, что существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальным адресом. Он называется реверсивным RARP (Reverse Address Resolution Protocol, RARP) и используется, например, при Старт бездисковых станций, не знающих в начальный момент своего IP-адреса, но знают адрес своего сетевого адаптера [1, 4, 7].