logo
СиСПК (ВАСИН)-лекции

Протокол arp

В локальных сетях телекоммуникаций на основе дейтаграмм устройствам необходимы как МАС-адрес, так и IP-адрес, которые для каждого узла образуют соответствующую пару. На каждом конечном узле можно посмотреть его физический адрес и IP-адрес по команде ipconfig /all (рис.6.8). Из распечатки следует, что физическим МАС-адресом конечного узла является 00-19-D1-93-7E-BE, а логическим IP-адресом – 10.0.118.52.

Рис.6.8. Результат выполнения команды ipconfig /all

Протокол ARP может по IP-адресу автоматически определить МАС-адрес устройства. Каждое устройство в сети поддерживает таблицу ARP table, которая содержит соответствующие MAC и IP адреса других устройств той же локальной сети. Таблица ARP любого узла может быть просмотрена по команде arpa (рис.6.9). Записи таблицы хранятся в памяти RAM, где динамически поддерживаются. Если узлы долго не передают данные, то соответствующие записи из таблицы удаляются, что представлено на рис.6.9, где таблица содержит только одну пару IP и MAC адресов.

Рис.6.9. Таблица ARP

Таблица ARP пополняется динамически путем контроля трафика локального сегмента сети. Все станции локальной сети Ethernet анализируют трафик, чтобы определить, предназначены ли данные для них. При этом IP и MAC-адреса источников дейтаграмм записываются в таблице ARP. Например, после общения с узлом 10.0.118.65 в таблице ARP появляется вторая запись (рис.6.10).

Рис.6.10. Изменения в таблице ARP

Когда устройство передает пакет по IP-адресу назначения, оно проверяет, имеется ли в ARP-таблице соответствующий МАС-адрес назначения. Если соответствующая запись имеется, то она используется при инкапсуляции пакета в кадр данных. Данные передаются по сетевой среде, устройство назначения принимает их.

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

Когда данные передаются за пределы локальной сети задача усложняется, поскольку необходимы IP и MAC адреса как для устройства назначения, так и для промежуточных маршрутизирующих устройств. Задачу получения МАС-адреса по известному IP-адресу для промежуточного устройства в другом сегменте сети решает протокол Proxy ARP. Поскольку маршрутизаторы не транслируют широковещательные запросы в другие сегменты сети, то в этом случае маршрутизатор в ответ на запрос посылает ARP-ответ с MAC-адресом своего входного интерфейса, на который поступил запрос.

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

Таким образом, при передаче данных по сети (рис.6.6) Host X для нахождения МАС-адреса назначения посылает в сеть широковещательный ARP запрос, в котором задается IP-адрес устройства назначения, на который Router A в ответ посылает МАС-адрес своего входного интерфейса, и передаваемый пакет поступает в маршрутизатор.

Маршрутизатор А извлекает пакет из кадра, обрабатывает заголовок поступившего пакета, используя таблицу маршрутизации, чтобы определить сеть адресата, и затем продвигает пакет к выходному интерфейсу. Пакет вновь инкапсулируется в новый кадр данных и направляется интерфейсу следующего маршрутизатора B, при этом в заголовке кадра может указываться новый МАС-адрес входного интерфейса этого маршрутизатора. Этот процесс происходит каждый раз, когда пакет проходит через очередной маршрутизатор. В конечном маршрутизаторе (в данном примере – маршрутизатор C, рис.6.6), который связан с сетью узла назначения Сеть 2, пакет инкапсулируется в кадр локальной сети адресата с МАС-адресом устройства назначения и доставляется адресату Host Y.

Для продвижения пакета к узлу назначения маршрутизатор использует таблицу маршрутизации, основными параметрами которой являются номер (адрес) сети назначения и сетевой адрес входного интерфейса следующего маршрутизатора на пути к адресату назначения. Этот адрес интерфейса получил название следующего перехода (next hop).

Таким образом, в таблице задаются:

- адрес сети назначения;

- адрес следующего перехода;

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

Из дополнительных параметров в таблицы маршрутизации включается информация:

- о статической или динамической маршрутизации,

- типе используемых протоколов маршрутизации,

- о метрике, используемой при выборе возможного пути.

Принцип построения таблиц маршрутизации рассмотрен на примере сети, построенной на маршрутизаторах и коммутаторах (рис. 6.11). Последовательные (serial) интерфейсы, соединяющие между собой маршрутизаторы, обозначены молниевидной линией, а порты Ethernet – прямой линией. В приведенном примере условное обозначение адреса интерфейса, например, D-f1 означает – первый FastEthernet порт маршрутизатора D, В-s2 – второй последовательный порт маршрутизатора B.

Рис.6.11. Принцип маршрутизации в сети

Таблица маршрутизации, например, маршрутизатора B (табл. 6.1), будет содержать информацию о маршрутах ко всем сетям (рис.6.11). Маршрут к Cети 1 лежит через последовательный интерфейс A-s1 маршрутизатора А, к Cети 3 - через последовательный интерфейс С-s1 маршрутизатора С, а к сетям Сеть 6, Сеть 7 - через интерфейс D-е1 маршрутизатора D. Адреса входных интерфейсов маршрутизаторов на пути следования пакета к адресату назначения называются адресами следующего перехода (next hop).

Таблица 6.1

Основные параметры таблицы маршрутизации

Адрес сети назначения

Адрес следующего перехода

Сеть 1

A-s1

Сеть 3

C-s1

Сеть 6

D-f1

Сеть 7

D-f1

Вместо адреса следующего перехода часто указывают обозначение выходного интерфейса маршрутизатора, отправляющего пакет. Поскольку выходной интерфейс маршрутизатора, отправляющего пакет, и входной интерфейс следующего маршрутизатора на пути к адресату назначения соединены между собой, то противоречий при этом никаких нет. Кроме удаленных сетей назначения в таблице маршрутизации указываются непосредственно (прямо) присоединенные сети с указанием выходного интерфейса. Например, таблица маршрутизации В (табл. 6.2) будет содержать три прямо присоединенных сети.

Таблица 6.2

Прямо присоединенные сети таблицы маршрутизации

Адрес присоединенной сети

Выходной интерфейс

Сеть 2

s1

Сеть 4

S2

Сеть 5

f1

Таким образом, пакет, предназначенный одному из узлов сети, например Сети 7, попав в маршрутизатор В, будет направлен на входной интерфейс D-f1 маршрутизатора D (следующий переход). В свою очередь, в таблице маршрутизации D будет задан адрес входного интерфейса E-s1 следующего маршрутизатора E, для которого Cеть 7 является непосредственно присоединенной. Поэтому маршрутизатор Е направит пакет узлу назначения.