Протокол определения адреса (ARP)
Для передачи данных в конечный пункт сети необходима взаимосвязь между сетевым уровнем и протоколами нижнего уровня. Необходимо четко понимать принцип создания такой взаимосвязи с помощью протокола определения адреса (Address Resolution Protocol; ARP) и предотвращения генерирования ненужного дополнительного широковещательного трафика в сети.

•После инкапсуляции
данных IP-протокол на сетевом уровне указывает целевой IP-адрес, которому, в конечном итоге, предназначены
эти данные, а также интерфейс,
через который
передаются
данные, однако перед передачей
источнику необходимо
сообщить о целевом
(MAC-) адресе
Ethernet,
на который должны передаваться данные. Протокол определения адреса (ARP),
входящий в стек протоколов TCP/IP,
выполняет
обнаружение MAC-адреса пересылки,
обеспечивая достижимость IP-узла. Следующий узел Ethernet должен быть обнаружен до завершения инкапсуляции данных.

•Пакет ARP генерируется в процессе обнаружения физических целевых адресов. Первоначально в
сообщении обнаружения будет содержаться частичная информация, поскольку
необходимо выяснить адрес оборудования
назначения
или MAC-адрес. Поле
«Тип
оборудования»
содержит
значение Ethernet,
а поле «Тип
протокола» —
IP, что
указывает на технологии
определения адреса, выполняемого протоколом ARP. В
полях «Длина
оборудования» и «Длина протокола» содержатся
длина
физического адреса и
длина логического адреса соответственно, значение указывается в байтах.
•В
поле «Код
операции» указывается одно из двух состояний
— ARP discovery
устанавливается в значение REQUEST,
и
это означает, что при получении пунктом назначения
ARP transmission должен быть сгенерирован
ответ – REPLY, в
отношении которого хосту,
принимающему этот пакет, не
требуется выполнять дальнейшие операции и после которого пакет ARP будет отброшен. Физический
адрес источника
— это MAC-адрес отправителя на физическом сегменте, которому генерируется сообщение
ARP. Логический
адрес источника
—
это IP-адрес отправителя.
•Адрес оборудования назначения — это
физический
адрес
(Ethernet), на который
пересылаются
данные по протоколу Ethernet, однако эта информация отсутствует
в запросе
ARP, вместо нее
указывается значение
0. Адрес протокола назначения определяет планируемый
IP-адрес
получателя, достижимый
по каналам Ethernet.

•Сетевой
уровень
представляет собой логический путь между источником и пунктом назначения. Достижение целевого IP-адреса
назначения
зависит,
во-первых,
от возможности
установления физического пути к пункту
назначения, и для этого необходимо создать взаимосвязь
между планируемым
IP-адресом получателя
и физическим интерфейсом следующего транзитного
узла, на который может быть переадресован трафик.
•Для пункта назначения
хост определяет
IP-адрес, на который
необходимо
переслать данные, однако перед началом
инкапсуляции данных хост должен определить, известен ли физический путь передачи. Если
такой путь передачи
известен,
выполняется
инкапсуляция, однако часто пункт назначения не известен, поэтому до выполнения инкапсуляции данных
необходим процесс определения адреса с помощью ARP.
•Кэш ARP представляет собой таблицу,
в которой IP-адреса хостов
ассоциированы с физическими (MAC) адресами. Любой хост, связывающийся
с локальным
или удаленным
пунктами назначения, сначала должен узнать MAC-адрес
получателя, через который будет
установлена
связь.
•Изученные
адреса заполнят
таблицу
кэша ARP
и останутся активными
в течение
фиксированного периода времени, отведенного
для обнаружения запланированного пункта назначения
без необходимости добавления процессов обнаружения ARP. После окончания
фиксированного периода таблица кэша ARP удалит записи ARP для сохранения целостности таблицы кэша ARP, так как любое изменение в физическом местоположении хоста назначения может привести к тому, что отправляющий хост непреднамеренно направит данные в пункт назначения, где узел назначения
больше не расположен.
•Поиск кэша ARP —
это первая операция,
выполняемая
конечной
системой,
прежде чем определить,
необходима ли генерация запроса ARP. Для пунктов назначения,
находящихся за пределами собственных сетей хостов, выполняется поиск кэша ARP, во
время которого определяется физический адрес назначения шлюза, через который можно
достичь запланированной
сети назначения.

•Если запись кэша ARP невозможно
определить, выполняется процесс запроса ARP. Данный процесс включает генерирование пакета запроса ARP, а также заполнение
полей пакета
значениями адресов отправителя
и получателя, а также значением
физического адреса
отправителя. Физический
адрес
получателя неизвестен,
поэтому в поле указывается значение, равное
0. Запрос ARP инкапсулируется в заголовок и
хвостовую часть кадра Ethernet
в
процессе передачи. Исходный
MAC-адрес заголовка кадра устанавливается в качестве исходного адреса
хоста-отправителя.
•Хост в настоящее
время не знает о местоположении пункта назначения и поэтому должен отправить запрос ARP широковещательной передачей всем
пунктам назначения в пределах
одной локальной
сети. Это означает,
что в качестве
MAC-адреса назначения
используется
широковещательный адрес. Кадр с
заполненными полями направляется на физический уровень, где он передается
по физической
среде, к которой подключен хост. Широковещательный пакет ARP будет передаваться
по всей сети во все пункты назначения,
включая
любой шлюз, однако такой
шлюз не
допустит пересылку такого пакета в любую сеть за пределами
текущей
сети.

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

•Пункт назначения
определит,
что полученный
пакет ARP является
запросом
ARP, и сгенерирует ответ ARP, который будет возвращен источнику на основе информации, содержащейся в заголовке ARP. Для ответа генерируется отдельный пакет ARP, для которого заполняются поля логических
адресов отправителя
и получателя. Однако, логический
адрес получателя,
содержащийся в ARP-запросе, будет
теперь логическим адресом отправителя
в ARP-ответе, и
наоборот логический адрес отправителя,
содержащийся в ARP-запросе, будет
теперь логическим адресом получателя
в ARP-ответе.
•В
поле физического
адреса получателя указывается MAC-адрес источника, определенный
при получении запроса ARP. А требуемый физический
адрес получателя запроса ARP включается
как физический
адрес отправителя ответа ARP, и
в поле кода операции устанавливается значение
ответа, которое
информирует получателя о цели полученного пакета ARP, после чего пункт назначения может отбросить пакет ARP без каких-либо
дополнительных сообщений. Ответ ARP инкапсулируется в заголовок и
хвостовую часть кадра Ethernet,
при
этом в качестве MAC-адреса назначения кадра
Ethernet
будет использована запись из таблицы кэша ARP, что позволит переслать
кадр как кадр одноадресной
передачи на хост, инициирующий запрос ARP.
•Получив
ответ ARP,
исходный
хост подтвердит,
что запланированный
пункт назначения
корректен,
по заголовку кадра, а по
значению поля «тип» определит, что заголовком пакета является ARP,
после чего отбросит заголовки кадра. Затем ответ ARP будет обработан, при этом физический
адрес отправителя
ответа ARP будет
внесен в таблицу кэша ARP исходного хоста (Хост A).
•После обработки
ответа ARP пакет будет
отброшен, и MAC-адрес
получателя будет использован в процессе инкапсуляции исходного приложения или протокола, который первоначально запрашивал обнаружение пункта назначения на канальном
уровне.

•Протокол
ARP также применяется,
например для реализации шлюзов прозрачных подсетей,
которые необходимо для передачи по физическим сетям, где хосты считаются частью одной и той же подсети. Это называется Proxy ARP, так как шлюз работает
в качестве
прокси для двух физических
сетей. Запрос ARP, сгенерированный для пункта назначения, который входит
в состав той же подсети,
в конечном
итоге будет получен
шлюзом. Шлюз может определить,
что запланированный
пункт назначения находится
за пределами
физической
сети, на которой
был сгенерирован запрос ARP.
•Поскольку
запросы
ARP нельзя
перенаправить за пределы широковещательного домена, шлюз продолжит генерировать свой запрос ARP для определения достижимости запланированного
пункта назначения, используя свои
логический и физический адреса в качестве адресов отправителя
для генерируемого запроса ARP. Если запланированный
пункт назначения
существует,
ответ ARP будет
получен
шлюзом, в
таблицу кэша ARP которого будет
внесен физический адрес отправителя.
•Шлюз при подтверждении достижимости запланированного
пункта назначения генерирует ответ ARP на исходный источник (Хост A), используя физический
адрес интерфейса,
с
которого был передан ответ ARP. Для
передачи на канальном уровне шлюз будет функционировать в качестве агента между двумя физическими сетями, при этом оба хоста будут
пересылать трафик, предназначенный пунктам
назначения,
расположенных в различных физических сетях, на соответствующий физический адрес шлюза "Proxy".

•В случае
ввода в сеть нового оборудования, необходимо, чтобы хост мог определить, является ли выделенный
ему логический адрес
уникальным
в сети —
это предотвратит конфликты,
связанные с дублированием адресов. Для
этого генерируется запрос ARP, где в
качестве адреса получателя запроса ARP выступает
IP-адрес самого
хоста.
•Запрос ARP рассылается
по всей сети по
всем пунктам назначения на канальном уровне.
Для этого MAC-адрес получателя
устанавливается
как широковещательный, таким
образом, все конечные
станции
и шлюзы получат рассылаемый
кадр. Все пункты
назначения будут обрабатывать данный
кадр, и если один
из них обнаружит,
что IP-адрес получателя
в запросе ARP совпадает с адресом принимающей конечной станции или шлюза, будет сгенерирован ответ ARP и возвращен
на хост, который
сгенерировал запрос ARP.
•С помощью этого метода исходный хост может распознать
дубликат IP-адреса в сети и пометить этот конфликт
флагом
с целью запроса на выделение уникального
адреса. Данный
метод генерации
запроса
на основе IP-адреса хоста лежит
в основе механизма самообращенных
запросов - gratuitous ARP.
Этот тест был открыт Пятница, 10 Июнь 2022, 16:24
Тестирование будет окончено в Суббота, 10 Ноябрь 2035, 16:24
Метод оценивания: Высшая оценка