Функции протокола разрешения адресов arp

Функции протокола разрешения адресов arp

Определение физического адреса устройства (MAC-адреса) по его IP-адресу и наоборот, IP-адреса по MAC-адресу, решают входящие в IP-стек два протокола:

· ARP(Address Resolution Protocol – Протокол разрешения адресов)

· RARP(Reverse Address Resolution Protocol – Протокол обратного определения адреса) соответственно рис.4.44.

Протокол ARPподдерживает в каждом узле (сетевом адаптере или порту маршрутизатора) ARP-таблицу, содержащую (рис.4.45):

· тип записи (динамический, статический).

По этой таблице узел может определить физический адрес (МАС-адрес) узла назначения, находящегося в этой же сети, по известному IP-адресу и указать его в заголовке кадра канального уровня. Если в ARP-таблице отсутствует запись для некоторого IP-адреса, то узел формирует широковещательное сообщение – ARP-запрос, в котором запрашивает физический адрес узла назначения. Все узлы сети принимают этот запрос, однако лишь один узел, IP-адрес которого совпадает с указанным в ARP-запросе, отвечает на него, высылая ARP-ответ со своим физическим адресом непосредственно узлу, приславшему ARP-запрос. Последний записывает в ARP- таблицу найденное соответствие между IP-адресом и MAC-адресом и в дальнейшем не запрашивает его при повторных обращениях к этому узлу. Протокол ARP предполагает, что узлы знают свои IP-адреса. Формат ARP-запроса (ответа) представлен на рис.4.46.

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

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

Статические записи создаются вручную и существуют, пока соответствующий узел (компьютер или маршрутизатор) не будет выключен.

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

Динамические записи периодически обновляются. Если в течение определенного интервала времени (порядка нескольких минут) адрес не использовался, то он исключается из таблицы.

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

Протокол RARPиспользуется в случае, если узел – бездисковая рабочая станция, у которой только что включили питание и она не только ничего не знает о себе и окружающих, но и не может произвести дистанционную загрузку операционной системы, которая хранится на сетевом диске.

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

· динамически выделенный узлу IP-адрес;

· свой физический адрес;

Поскольку при таком механизме отказ RARP-сервера очень критичен в том смысле, что без его услуг не заработает целый ряд рабочих станций, то обычно сеть конфигурируется так, чтобы протокол RARP поддерживало несколько серверов в сети.

Система доменных имен DNS.

Доменное имя – символьное имя компьютера.

В стеке TCP/IP применяется система доменных имен с иерархической древовидной структурой (рис.4.47), допускающей использование в имени произвольного количества составных частей. Совокупность имен, у которых несколько старших составных частей совпадают, образуют домен (domain) имен.

Примерами доменных имён организаций являются:

· com – коммерческие организации;

· edu – образовательные организации;

· gov – правительственные организации;

· org – некоммерческие организации;

· net –организации поддержки сетей.

Соответствие между доменными именами и IP-адресами может устанавливаться как средствами локального узла, так и средствами централизованной службы, реализуемой системой доменных имён.

Система доменных имен (Domain Name System – DNS)– централизованная служба, основанная на распределенной базе отображений «доменное имя – IP-адрес» (рис.4.48).

Служба DNS использует в своей работе протокол типа «клиент-сервер», в котором определены такие понятия как DNS-сервер, поддерживающий распределенную базу отображений, и DNS-клиент, обращающийся к DNS-серверу с запросом. DNS-сервер использует текстовые файлы формата «IP-адрес – доменное имя».

Служба DNS является распределенной. Каждый DNS-сервер хранит имена следующего уровня иерархии и кроме таблицы отображений имен содержит ссылки на DNS-серверы своих поддоменов, что упрощает процедуру поиска.

Для ускорения поиска IP-адресов в DNS-серверах применяется процедура кэширования проходящих через них ответов на определенное время – от нескольких часов до нескольких дней.

Последнее изменение этой страницы: 2016-08-06; Нарушение авторского права страницы

Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети — протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило не поддерживающий широковещательный доступ.

Читайте также:  Грибной мир форум подмосковье

В локальных сетях протокол ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.

Принцип работы:

Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно.

Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным.

В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес.

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

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

ARP-таблицы строятся согласно документу RFC-1213 и для каждого IP-адреса содержит четыре кода:

Ifindex — Физический порт (интерфейс), соответствующий данному адресу;

Физический адрес — MAC-адрес, например Ethernet-адрес;

IP-адрес — IP-адрес, соответствующий физическому адресу;

тип адресного соответствия — это поле может принимать 4 значения: 1 — вариант не стандартный и не подходит ни к одному из описанных ниже типов; 2 — данная запись уже не соответствует действительности; 3 — постоянная привязка; 4 — динамическая привязка;

Примет таблицы для технологии Ethernet:

Принято все байты 4-байтного IP-адреса записывать десятичными числами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый байт указывается в 16-ричной системе и отделяется двоеточием.

ARP-таблица необходима потому, что IP-адреса и Ethernet-адреса выбираются независимо, и нет какого-либо алгоритма для преобразования одного в другой.

IP-адрес выбирает менеджер сети. Ethernet-адрес выбирает производитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Когда у машины заменяется плата сетевого адаптера, то меняется и ее Ethernet-адрес.

Arp кэш.

Эффективность функционирования ARP во многом зависит от ARP кэша (ARP cache), который присутствует на каждом хосте.

В кэше содержатся Internet адреса и соответствующие им аппаратные адреса.

Стандартное время жизни каждой записи в кэше составляет 20 минут с момента создания записи.

Порядок преобразования адресов

В ходе обычной работы сетевая программа, такая как TELNET, отправляет прикладное сообщение, пользуясь транспортными услугами TCP. Модуль TCP посылает соответствующее транспортное сообщение через модуль IP. В результате составляется IP-пакет, который должен быть передан драйверу Ethernet. IP-адрес места назначения известен прикладной программе, модулю TCP и модулю IP. Необходимо на его основе найти Ethernet-адрес места назначения. Для определения искомого Ethernet-адреса используется ARP-таблица.

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

По сети передается широковещательный ARP-запрос.

Исходящий IP-пакет ставится в очередь.

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

IP-адрес отправителя Ethernet-адрес отправителя

Искомый IP-адрес Искомый Ethernet-адрес

Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: "Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес". Пакет с ARP-ответом выглядит примерно так:

IP-адрес отправителя Ethernet-адрес отправителя

Искомый IP-адрес Искомый Ethernet-адрес

Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу.

Обновленная таблица выглядит следующим образом:

223.1.2.1 223.1.2.2 223.1.2.3 223.1.2.4

08:00:39:00:2F:C3 08:00:28:00:38:A9 08:00:5A:21:A7:22 08:00:10:99:AC:54

ARP (англ. Address Resolution Protocol — протокол определения адреса) — протокол в компьютерных сетях, предназначенный для определения MAC-адреса по IP-адресу другого компьютера.

Рассмотрим суть функционирования ARP на простом примере. Компьютер А (IP-адрес 10.0.0.1) и компьютер Б (IP-адрес 10.22.22.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP-адрес компьютера Б ему известен. Однако сеть Ethernet, которой они соединены, не работает с IP-адресами. Поэтому компьютеру А для осуществления передачи через Ethernet требуется узнать адрес компьютера Б в сети Ethernet (MAC-адрес в терминах Ethernet). Для этой задачи и используется протокол ARP. По этому протоколу компьютер А отправляет широковещательный запрос, адресованный всем компьютерам в одном с ним широковещательном домене. Суть запроса: «компьютер с IP-адресом 10.22.22.2, сообщите свой MAC-адрес компьютеру с МАС-адресом (напр. a0:ea:d1:11:f1:01)». Сеть Ethernet доставляет этот запрос всем устройствам в том же сегменте Ethernet, в том числе и компьютеру Б. Компьютер Б отвечает компьютеру А на запрос и сообщает свой MAC-адрес (напр. 00:ea:d1:11:f1:11) Теперь, получив MAC-адрес компьютера Б, компьютер А может передавать ему любые данные через сеть Ethernet.

Наибольшее распространение ARP получил благодаря повсеместности сетей IP, построенных поверх Ethernet, поскольку практически в 100 % случаев при таком сочетании используется ARP. В семействе протоколов IPv6 ARP не существует, его функции возложены на ICMPv6.

Содержание

Описание [ править | править код ]

Описание протокола было опубликовано в ноябре 1982 года в RFC 826. ARP был спроектирован для случая передачи IP-пакетов через кадры Ethernet. При этом общий принцип, предложенный для ARP, может, и был использован и для сетей других типов.

Читайте также:  Ноутбук hp pavilion g6 1263sr

Существуют следующие типы сообщений ARP: запрос ARP (ARP request) и ответ ARP (ARP reply). Система-отправитель при помощи запроса ARP запрашивает физический адрес системы-получателя. Ответ (физический адрес узла-получателя) приходит в виде ответа ARP.

Перед тем как передать пакет сетевого уровня через сегмент Ethernet, сетевой стек проверяет кэш ARP, чтобы выяснить, не зарегистрирована ли в нём уже нужная информация об узле-получателе. Если такой записи в кэше ARP нет, то выполняется широковещательный запрос ARP. Этот запрос для устройств в сети имеет следующий смысл: «Кто-нибудь знает физический адрес устройства, обладающего следующим IP-адресом?» Когда получатель с этим IP-адресом примет этот пакет, то должен будет ответить: «Да, это мой IP-адрес. Мой физический адрес следующий: …» После этого отправитель обновит свой кэш ARP и будет способен передать информацию получателю. Ниже приведён пример запроса и ответа ARP.

Записи в кэше ARP могут быть статическими и динамическими. Пример, данный выше, описывает динамическую запись кэша. Можно также создавать статические записи в таблице ARP. Это можно сделать при помощи команды:

В системах семейства Windows до NT 6.0 записи в таблице ARP, созданные динамически, остаются в кэше в течение 2 минут. Если в течение этих двух минут произошла повторная передача данных по этому адресу, то время хранения записи в кэше продлевается ещё на 2 минуты. Эта процедура может повторяться до тех пор, пока запись в кэше просуществует до 10 минут. После этого запись будет удалена из кэша, и будет отправлен повторный запрос ARP [1] . Сейчас же время хранения записей в ARP-таблице и метод хранения выбираются программно и при желании их можно изменить.

Вариации ARP-протокола [ править | править код ]

ARP изначально был разработан не только для IP-протокола, но в настоящее время в основном используется для сопоставления IP- и MAC-адресов.

ARP также можно использовать для разрешения MAC-адресов для различных адресов протоколов 3-го уровня (Layer 3 protocols addresses). ARP был адаптирован также для разрешения других видов адресов 2-го уровня (Layer 2 addresses); например, ATMARP используется для разрешения ATM NSAP адресов в Classical IP over ATM протоколе.

Inverse ARP [ править | править код ]

Inverse Address Resolution Protocol, Inverse ARP или InARP — протокол для получения адресов сетевого уровня (например IP адресов) других рабочих станций по их адресам канального уровня (например, DLCI в Frame Relay сетях). В основном используется во Frame Relay и ATM сетях.

Сравнение ARP и InARP [ править | править код ]

ARP переводит адреса сетевого уровня в адреса канального уровня, в то же время InARP можно рассматривать как его инверсию. InARP реализовано как расширение ARP. Форматы пакетов этих протоколов одни и те же, различаются лишь коды операций и заполняемые поля.

Reverse ARP (RARP), как и InARP, переводит адреса канального уровня в адреса сетевого уровня. Но RARP используется для получения логических адресов самих станций отправителей, в то время как в InARP-протоколе отправитель знает свои адреса и запрашивает логический адрес другой станции. От RARP отказались в пользу BOOTP, который был в свою очередь заменён DHCP.

Принцип работы [ править | править код ]

  1. Узел, которому нужно выполнить отображение IP-адреса на локальный адрес [2] , формирует ARP-запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно.
  2. Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным.
  3. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP-запросе отправитель указывает свой локальный адрес.

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

Структура пакета [ править | править код ]

Ниже проиллюстрирована структура пакета, используемого в запросах и ответах ARP. В сетях Ethernet в этих пакетах используется EtherType 0x0806, и запросы рассылаются на широковещательный MAC-адрес — FF:FF:FF:FF:FF:FF. Отметим, что в структуре пакета, показанной ниже, в качестве SHA, SPA, THA и TPA условно используются 32-битные слова — реальная длина определяется физическим устройством и протоколом.

+ Bits 0 — 7 8 — 15 16 — 31
Hardware type (HTYPE) Protocol type (PTYPE)
32 Hardware length (HLEN) Protocol length (PLEN) Operation (OPER)
64 Sender hardware address (SHA)
? Sender protocol address (SPA)
? Target hardware address (THA)
? Target protocol address (TPA)

Hardware type (HTYPE) Каждый канальный протокол передачи данных имеет свой номер, который хранится в этом поле. Например, Ethernet имеет номер 0x0001. Protocol type (PTYPE) Код сетевого протокола. Например, для IPv4 будет записано 0x0800. Hardware length (HLEN) Длина физического адреса в байтах. Адреса Ethernet имеют длину 6 байт (0x06). Protocol length (PLEN) Длина логического адреса в байтах. IPv4 адреса имеют длину 4 байта (0x04). Operation Код операции отправителя: 0x0001 в случае запроса и 0x0002 в случае ответа. Sender hardware address (SHA) Физический адрес отправителя. Sender protocol address (SPA) Логический адрес отправителя. Target hardware address (THA) Физический адрес получателя. Поле пусто при запросе. Target protocol address (TPA) Логический адрес получателя.

Читайте также:  Смартфон huawei p smart black обзор

Пример запроса [ править | править код ]

Если хост с IPv4 адресом 10.10.10.123 и MAC адресом 00:0D:9D:86:59:E5 хочет послать пакет другому хосту с адресом 10.10.10.140, но не знает его MAC адрес, то он должен послать ARP запрос для разрешения адреса.

Пакет, изображённый ниже, изображает широковещательный запрос. Если хост с IP 10.10.10.140 присутствует в сети и доступен, то он получает этот запрос ARP и возвращает ответ.

Bits 0 — 7 8 — 15 16 — 31
Hardware type = 0x0001 Protocol type = 0x0800
32 Hardware length = 0x06 Protocol length = 0x04 Operation = 0x0001
64 SHA (first 32 bits) = 0x000D9D86
96 SHA (last 16 bits) = 0x59E2 SPA (first 16 bits) = 0x0A0A
128 SPA (last 16 bits) = 0x0A7B THA (first 16 bits) = 0x0000
160 THA (last 32 bits) = 0x00000000
192 TPA = 0x0A0A0A8C

Пример ответа [ править | править код ]

В ситуации, описанной выше, если узел с адресом 10.10.10.140 имеет MAC-адрес 00:09:58:D8:33:AA, то он отправит в ответ пакет, проиллюстрированный ниже. Заметим, что блоки адресов отправителя и получателя теперь поменяли значения (отправитель ответа теперь получатель запроса; получатель ответа — отправитель запроса). Кроме того, в ответе есть MAC-адрес узла 10.10.10.140 в поле физического адреса отправителя (SHA), а поле THA не пустое (одноадресный ответ).

Любой узел в той же сети, что и отправитель с получателем, тоже получит запрос (так как он широковещательный) и таким образом добавит в свой кэш информацию об отправителе. Ответ ARP направлен только источнику запроса ARP, поэтому ответ ARP не доступен другим узлам в сети.

+ Bits 0 — 7 8 — 15 16 — 31
Hardware type = 0x0001 Protocol type = 0x0800
32 Hardware length = 0x06 Protocol length = 0x04 Operation = 0x0002
64 SHA (first 32 bits) = 0x000958D8
96 SHA (last 16 bits) = 0x33AA SPA (first 16 bits) = 0x0A0A
128 SPA (last 16 bits) = 0x0A8C THA (first 16 bits) = 0x000D
160 THA (last 32 bits) = 0x9D8659E2
192 TPA = 0x0A0A0A7B
  • Замечание. Длина полей SHA, SPA, THA, TPA зависит от параметров Hardware length и Protocol length соответственно.

Кэш ARP [ править | править код ]

Эффективность функционирования ARP во многом зависит от кэша ARP (ARP cache), который присутствует на каждом хосте. В кэше содержатся IP-адреса и соответствующие им аппаратные адреса.

Время жизни записи в кэше оставлено на усмотрение разработчика. По умолчанию может составлять от десятков секунд (например, 20 секунд) до четырёх часов (Cisco IOS). [3]

Обнаружение конфликтов адресов (Address Conflict Detection) [ править | править код ]

ARP может использоваться для обнаружения конфликтов IP-адресов в локальной сети. RFC 5227 определяет формат запроса ‘ARP Probe’ с полем SPA, состоящим из всех нулей (ip-адрес 0.0.0.0). Перед использованием IP-адреса хост может проверить, что данный IP-адрес не используется другим хостом сегмента локальной сети.

ARP-оповещение [ править | править код ]

ARP-оповещение (ARP Announcement) — это пакет (обычно ARP-запрос [4] ), содержащий корректную SHA и SPA хоста-отправителя, с TPA, равной SPA. Это не разрешающий запрос, а запрос на обновление ARP-кэша других хостов, получающих пакет.

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

ARP-оповещения также используются для ‘защиты’ IP-адресов в RFC 3927 (Zeroconf) протоколе.

ARP-запросы могут решать и другие задачи. Так, при загрузке сетевого обеспечения ЭВМ такой запрос может выяснить, не присвоен ли идентичный IP-адрес какому-то еще объекту в сети.

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

Самообращённый запрос позволяет ЭВМ решить две проблемы. Во-первых, определить, нет ли в сети объекта, имеющего тот же IР-адрес. Если на такой запрос придёт отклик, то ЭВМ выдаст на консоль сообщение Duplicate IP address sent from Ethernet address . Во-вторых, в случае смены сетевой карты производится корректировка записи в АRP-таблицах ЭВМ, которые содержали старый МАС-адрес инициатора. Машина, получающая ARP-запрос c адресом, который содержится в её таблице, должна обновить эту запись.

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

Ссылка на основную публикацию
Формула частота в excel
При анализе данных периодически возникает задача подсчитать количество значений, попадающих в заданные интервалы "от и до" (в статистике их называют...
Уравнение плоскости по двум пересекающимся прямым
УСЛОВИЕ: Составить уравнение плоскости, проходящей через две параллельные прямые x-2/3=y+1/2=z-3/-2 x-1/3=y-2/2=z+3/-2 Добавил yelymcheav , просмотры: ☺ 1976 ⌚ 2019-05-14 15:35:56....
Уравнение баланса мощностей формула
При решений электротехнических задач, часто нужно проверить правильность найденных значений. Для этого в науке ТОЭ, существует так называемый баланс мощностей....
Формула тейлора с остатком в форме пеано
Формулировка: Если существует , то представима в следующем виде: Это выражение называется формулой Тейлора с остаточным членом в форме Пеано...
Adblock detector