arp rarp что такое

Семейка протокола ARP

Многие думают, что если протокол мелкий и незаметный, то про него не надо ничего знать. Нетрудно догадаться, что это не так, и именно детальное знание подобных низкоуровневых и “простых” технологий является тем, что отличает профессионала от гуглоиксперта или фанатика, верующего, что в его любимой ОС всё работает “само по себе и априори идеально”.

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

Семейка протоколов ARP

Как работает протокол ARP

Протокол Address Resolution Protocol (ARP) используется для простой задачи – выяснить по известному адресу сетевого уровня (IPv4) неизвестный адрес канального уровня (обычно это MAC-адрес 802.3, но возможны и другие варианты).

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

Например протокол RIPv2 занимается передачей маршрутной информации. Данные этого протокола вкладываются внутрь UDP, и по “глубине вложения” RIP будет “внутри транспортного уровня”. Только вот решать задачу он будет сетевого уровня – маршрутизацию. А допустим его коллега OSPF будет для передачи своих данных использовать не UDP или какой-либо другой протокол транспортного уровня, а напрямую вкладывать свои данные в IP-датаграммы, имея свой личный код вложения. Но при этом заниматься опять-таки будет задачей сетевого уровня – маршрутизации.

Так что будьте внимательны в терминологии – и “протокол выполняет задачи уровня N модели OSI” – это одно, а “протокол технически реализуется как вложение уровня N модели OSI” – другое.

Задачи, стоящие перед протоколом, достаточно прозрачны. Как он будет настраиваться?

Базовые настройки и операции с ARP на Windows-системах

Почистить локальный кэш ARP или удалить отдельную запись

Добавить статическую ARP-запись

Детально посмотреть кэш

Будут видны все типы записей – и static, и dynamic, и invalid. Сам вывод будет разбит по критерию привязки записей к интерфейсам – в начале каждого раздела будет выводиться primary IP интерфейса, а потом его внутренний идентификатор (Вы можете посмотреть табличку интерфейсов и их ID командой netsh int ipv4 sh int).

Есть и более современный вариант отображения кэша:netsh interface ipv4 show nei. В этой команде вывод также разбит по интерфейсам (правда, пишутся их человеческие названия, а не primary IP), статические и системные записи будут называться Permanent, обычные – Reachable (если доступны), Unreacheable (если нет) и Stale (если запись устарела).

Базовые операции с ARP на оборудовании Cisco

Как добавить статическую запись

(config)#arp ip-адрес или “vrf имя-vrf” mac-адрес тип-вложения тип-интерфейса

Из интересного тут разве что тип вложения – можно указать, какой именно вариант вложения (из реально возможных сейчас – ARPA или SNAP) будет у записи. Параметр “Тип интерфейса” можно не указывать.

Настроить включение-выключение ARP и его тип

(config-if)#arp arpa или frame-relay или snap

Как понятно, обычно тип ARP будет ARPA и в модификации нуждаться тоже особо не будет. Внимание – типы не являются взаимоисключающими – т.е. можно сделать и arp arpa и arp snap, и это лишь покажет, что на данном интерфейсе надо обрабатывать и тот и тот варианты.

Настроить время нахождения записи в ARP-кэше

(config-if)#arp timeout секунды

Настройка идёт на интерфейсе, т.к. данный тайм-аут будет только у записей в ARP-кэше, сделанных через этот интерфейс.

Очистить кэш ARP

#clear arp-cache

#clear arp-cache ip-адрес

Все записи, привязанные к конкретному интерфейсу:

#clear arp-cache интерфейс

Настроить работу с incomplete ARP records

Данные настройки будут нужны, чтобы задать поведение системы в случае “Я точно знаю, что есть сосед с таким IP-адресом, но у меня нет его MAC-адреса”.

Вы можете задать общее число таких адресов, находящихся “в процессе поиска”, а также количество попыток

(config)#ip arp incomplete enable

(config)#ip arp incomplete entries число

(config)#ip arp incomplete retry число

Базовый тюнинг ARP – тайм-ауты и кэш

ARP и QoS

ARP и NLB

Чтобы ARP дружил с NLB, он должен обрабатывать ситуацию, когда придёт ARP-запрос с не-юникастового адреса. То есть, смотрите ситуацию. Допустим, есть NLB, который работает в мультикастовом режиме. Два хоста, соответственно, прикидываются одним IP-адресом, отвечая на ARP-запросы про этот адрес общим мультикастовым MAC’ом, и потом договариваясь друг меж другом, что делать с пришедшим трафиком. Вот чтобы эта схема работала, надо, чтобы когда этот “общий виртуальный узел”, который обладает виртуальным IP и мультикастовым MAC, решил узнать через ARP чей-то MAC, ему вообще ответили. Потому что есть тонкость – у мультикастового MAC есть характерный вид, по которому понятно, что он мультикастовый. А не-юникастовые source MAC в общем-то не являются нормальной ситуацией и нуждаются в особой обработке. Соответственно, для этого надо явно включить обработку ситуации “к нам пришёл ARP-запрос от товарища, у которого обратный MAC-адрес не-юникастовый”. Делается это путём установки параметра:

в единицу. Если она будет в нуле – в ряде ситуаций поимеете проблемы с NLB.

ARP и SNAP

По умолчанию, ARP вкладывается в 802.3 кадр простым, Ethernet II способом. Это можно поменять в случае, если необходима поддержка SNAP-механизма, который, как известно, нужен для мультиплексирования потоков данных на канальном уровне. Напомню, что по RFC 1042 данные IP и ARP всегда передаются поверх 802.x сетей используя связку LLC+SNAP, за исключением обычного Ethernet (802.3), где они вкладываются напрямую (см. RFC 894). Примечание: Если не известно, то надо задуматься об изучении базовых курсов по сетевым технологиям, потому что детальное рассмотрение “что такое SNAP, зачем, почему, когда, с кем” не входит в спектр задач по изучению ARP.

Для этой задачи есть ключ:

По умолчанию он в нуле, установив в единицу Вы получите ситуацию, что ARP-запросы будут вкладываться в SNAP (притом в LLC+SNAP, что увеличит суммарный размер кадра на 3+5=8 байт).

ARP и NUD

NUD – это Neighbor Unreachability Detection. По умолчанию включается на интерфейсах, которые смотрят в broadcast-среды, и выключается на других. Помогает узнать о том, что сосед (что обычный, что шлюз) перешёл в нефункциональное состояние до времени, пока его запись в ARP-кэше стала Stale. Механизм полезный, поэтому его рекомендуется включать в явном виде. Делается это командой:

netsh int ipv4 set int имя интерфейса nud=enabled

ARP и DAD

DAD – это Duplicate Address Detection. То самое, что не даёт взять себе адрес, который уже есть у кого-то. Проводится путём отправки Gratuious ARP, про который чуть ниже. Тюнингуется достаточно просто, двумя параметрами:

netsh int ipv4 set int имя интерфейса retransmittime=миллисекунды

netsh int ipv4 set int имя интерфейса dadtransmits=попытки По умолчанию retransmittime – т.е. время между попытками обнаружить соседа, который уже занял адрес – 1 секунда, количество попыток dadtransmits – 3. Можете сократить их, если уверены, что все соседи отвечают достаточно быстро, это уменьшит время инициализации интерфейса – система не будет ждать “вдруг кто проснётся и скажет, что адрес уже занят”.

ARP и WOL

Протокол RARP

Примечание: Если код вложения будет от RARP, а коды – 1 или 2 (т.е. как у обычного ARP), то RARP-сервер отдаст данный пакет на обработку ARP-стеку.

Вообще, RARP сейчас практически не используется, но если хотите почитать – есть RFC 903.

Примечание: А если хотите почитать, и чтобы накрыло – почитайте про Dynamic RARP, это RFC 1931.

Реализация RARP-сервера в Windows

Реализация RARP-сервера на оборудовании Cisco

Она есть. Конфигурируется в несколько этапов. По порядку:

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

(config)#arp ip-адрес mac-адрес-клиента arpa

Шаг второй: Разрешаем на интерфейсе, в качестве параметра – тот адрес на интерфейсе, от которого отправляем RARP-ответы.

(config-if)#ip rarp-server ip-адрес

Протокол InARP (Inverse ARP)

InARP – специальная модификация ARP для не-broadcast сетей (например, Frame Relay или ATM). Суть проста – в сетях, где нет широковещания, обычный ARP работать не сможет, а задачи, которые им решаются, никуда не пропадают. Соответственно, нужна схема работы. Она будет достаточно интересна и проста. Узел, который поддерживает InARP, будет самостоятельно с указанной периодичностью отправлять в субинтерфейсы, поддерживающие InARP (например, в FR’овские), InARP-сообщения, в которых будет указано что-то вида “привет, я от узла с сетевым адресом таким-то”. Соответственно, принимающая сторона, получая такое сообщение из-под субинтерфейса с DLCI=abc, будет записывать у себя в таблицу – “За DLCI abc живёт товарищ с IP xyz“. В общем-то и всё.

Другие отличия будут состоять в использовании других кодов операций – 8 для запроса InARP, 9 для ответа. Ну и в механизме вложения – понятное дело, в Q.922 вкладываться – это не в 802.3

Протокол UnARP

Предлагался в RFC 1868. Суть проста – сам формат пакета ARP не менялся, добавлялся лишь новый тип сообщения – сообщение вида “Я ушёл из сети”. Т.е. задачей дополнения UNARP являлось то, что узлы, которые отключаются, могут послать сообщение “Стирайте меня все из ARP-кэшей”, чтобы остальные не ждали время окончания кэширования записей. К сожалению, не поддерживается (основная причина – небезопасен, т.к. такое сообщение легко подделать).

Протокол SLARP (Serial Line ARP)

Специальный субпротокол, работающий внутри цисковского варианта HDLC (который обычно cHDLC). Используемый код вложения – 0x8035. Протокол простой, но интересный тем, что может делать две штуки – проверять состояние канала, периодически передавая кадры, и назначать IPv4-адреса в случае, если с одной стороны serial link адрес IPv4 есть, а с другой – нет. Адрес назначается по логике “Если у меня последний бит адреса 1, предложить такой же, но с нулём, и наоборот”. Маска предлагается такая же, как у себя.

Протокол DirectedARP

Протокол описан в RFC 1433. Сейчас как отдельный протокол не используется, хотя многие мысли, высказанные в этом RFC, достаточно дельные и повлияли, например, на формирование современного IPv6.

Безопасность ARP

ip arp entry learn количество

Есть, в общем-то, множество доп.механизмов безопасности ARP – тот же DAI или ARP ACL, про которые, возможно, я тоже допишу сюда.

Механизм Proxy ARP

Суть механизма Proxy ARP, детально обозначенного в RFC 1027, проста – дать возможность узлу, который в силу каких-то причин (например, у него не указан шлюз по умолчанию) не может понять, куда маршрутизировать трафик для других сетей, всё же сделать это. Притом сделать просто – используя то, что в сегменте с этим узлом присутствует добрый узел, на котором включен Proxy ARP, и который, увидев что узел пытается через ARP-запрос найти получателя трафика, “прикинется” этим получателем и ответит на запрос.

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

Данный механизм включен “по умолчанию” на большинстве систем и нуждается в отключении – т.е. описанная ситуация, в общем-то, по производственной необходимости возникает довольно-таки редко.

Пример: Например, у хоста A адрес 10.1.1.1/24, а у хоста B – 10.1.1.2/16. Технологически они в разных сетях, и между ними даже есть роутер – у него в сторону хоста A смотрит интерфейс 10.1.1.254/24, в сторону хоста B – 10.1.255.254/16. Но вот проблема в том, что хост A не понимает, что хост B – в другой сети, а думает, что B – его сосед. И пытается найти его, отправляя ARP-запрос. Вот в этом случае если роутер будет поддерживать Proxy ARP, то всё будет хорошо – связь между A и B будет.

Как включить Proxy ARP на оборудовании Cisco

Зайдите на нужный интерфейс и введите там команду:

(config-if)#ip proxy-arp

Выключить глобально – (config)#ip arp proxy disable.

Как включить Proxy ARP в Windows

В случае, когда у Вас используется RRaS, proxy ARP работает автоматически.

Что такое и как работает Gratuitous ARP

Это страшное слово переводится как “самопроизвольный” ARP. Суть события в следующем. Любой узел, который инициирует новый интерфейс, на котором есть поддержка ARP, должен при завершении процесса конфигурирования IP-адреса (статически ли, по DHCP, через APIPA’у – без разницы) уведомить соседей о том, что он появился. Делается это при помощи отправки одиночного ARP Reply, в котором указывается, что логично, связка “мой MAC – мой новый IP”. Т.е. выглядит этот ARP-ответ несколько странно с точки зрения классической схемы работы ARP – узел рассылает на броадкастовый MAC и свой IP информацию о своём настоящем MAC и своём же IP. Т.е. совпадают SRC IP и DST IP.

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

Но, в общем-то, мы и договорились, что это – исключительная и разовая ситуация. Казалось бы, в чём проблема-то?

Проблема в том, что когда такое происходит на сервере удалённого доступа, к которому подключено несколько клиентов (более 1, по сути), то этот сервер при подключении каждого своего клиента получает от него данный стартовый запрос ARP и ретранслирует запрос далее, выступая, по сути, прокси. В результате, допустим, порт коммутатора, в который включен этот сервер, впадает в тягостные размышления о здоровье сервера, который постоянно сообщает всей сети о том, что за его MAC-адресом интерфейса (того, который воткнут в коммутатор) очень много IP-адресов, и все они разные. И каждый раз, когда клиент будет подключаться (например, VPN-канал переподключит, или другим способом вызовет переход через NCP-фазу PPP), такой ARP-ответ будет создаваться и отправляться серверу, а тот будет отдавать его дальше – чтобы уведомить сеть, что трафик на такой-то IP-адрес надо отправлять на его, сервера, MAC, а дальше он уж сам разберется.

Соответственно, в ряде ситуаций (например, много клиентов, краткие сессии) такой механизм надо отключать. Зачастую проще привязать статически целую пачку ARP-соответствий (например, когда на сервере удалённого доступа выделен пул в 20 адресов, и абоненты подключаются, делают какую-то краткую операцию и отключаются), чем постоянно форвардить в сеть эти ARP Reply.

Примечание: На самом деле, делать это надо с умом, как и всё остальное. Есть ситуации, когда gratuitous ARP является штатным и нужным. Например, у Вас сделан HSRP-балансировщик. Активный узел упал – второй становится активным. И в этот момент он тоже “просто так, внезапно” отправит gratuitous ARP – чтобы сразу уведомить всю сеть, что теперь у виртуального IP новый MAC, а не ждать, пока у всех узлов кончится тайм-аут кэша.

Как настроить Gratuitous ARP на оборудовании Cisco

router(config)#ip gratuitous-arps

Если добавить в конце команды слово non-local, то будет обрабатываться вышеописанная ситуация с PPP.

Отключить приём всех gratuitous ARP’ов:

router(config)#ip arp gratuitous none

Включить приём только gratuitous ARP’ов, source которых из connected-сетей:

router(config)#ip arp gratuitous local

Как настроить Gratuitous ARP на Windows Server

Для указанного сценария с RRaS – никак. Ваш RRaS-сервер не будет передавать стартовый ARP-запрос, полученый от PPP-клиента, в другие сети, поэтому ситуация, описанная выше, просто не возникнет.

Управлять же Gratuitous ARP со стороны узла вполне можно. Для этого есть ключ реестра:

HKLM\System\CurrentControlSet\Services\TcpIp\Parameters

а в нём – параметр ArpRetryCount типа DWORD32. Если поставить этот параметр в нуль, то механизм будет выключен. По умолчанию Windows-хосты делают Gratuitous ARP три раза – сразу после инициализации адреса, потом через 1/2 секунды, потом через ещё 1/10 секунды. Можете поставить единицу, если уверены в качестве работы сети и её не-критичной загруженности на момент выхода ARP Reply – “сэкономите трафик”.

Примечание: Считаются фактически отправленные ARP, а не попытки. Т.е. если среда была недоступна, то все равно отправят три, просто чуть позже.

Примечание: Если поставить нуль, то вдобавок отвалится функция обнаружения конфликтов DHCP, но это будет в другой истории.

Cisco ARP Optimization Feature – что это?

Это достаточно полезное архитектурное изменение, появившееся в релизах IOS 12.0 – 12.2 и закрепившееся в более поздних. Идея проста. Устройство хранит информацию о связках IP-MAC-интерфейс в отдельной таблице. Эта таблица организована для быстрого поиска информации по известному IP-адресу. Соответственно, этот механизм эффективен, когда надо обработать единичный пакет. В ситуации же, когда интерфейс попеременно переходит из состояния включения в выключенное и наоборот (interface flapping), надо сразу же обработать в этой таблице все ARP-записи, относящиеся ко всем IP и MAC, находящимся за данным интерфейсом. Вот фича Cisco ARP Optimization как раз умеет делать эту операцию – например, очистить все записи за соответствующий интерфейс. Выигрыш – резко сниженная загрузка CPU, которому надо обработать событие “падение интерфейса”.

Как настроить Cisco ARP Optimization Feature

Никак – это просто другая структура хранения данных ARP в оперативной памяти, используемая в современных версиях IOS.

Заключение

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

Источник

Русские Блоги

Подробный 04-канальный уровень TCP / IP: ARP и RARP

Подробный 04-канальный уровень TCP / IP: ARP и RARP

1. ARP

Помните протокол Ethernet канального уровня, каждый пакет имеет заголовок MAC-адреса? Мы знаем, что у каждой карты Ethernet есть MAC-адрес, этот адрес уникален, так как IP-пакеты знают этот MAC-адрес? Это работа протокола ARP.

Каналы передачи данных, такие как сети Ethernet или Token Ring, определяют интерфейс назначения на основе 48-битного адреса Ethernet. 32-битный IP-адрес используется на сетевом уровне. ARP обеспечивает динамическое отображение между IP-адресом и соответствующим аппаратным адресом.

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

1.1 Формат пакета ARP

При разрешении IP-адресов в Ethernet формат пакетов запросов и ответов ARP показан на следующем рисунке (ARP может использоваться в других типах сетей и может разрешать адреса, отличные от IP-адресов.)
arp rarp что такое. Смотреть фото arp rarp что такое. Смотреть картинку arp rarp что такое. Картинка про arp rarp что такое. Фото arp rarp что такое

1.2 ARP кеш

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

Вы можете проверить ARP-кеш с помощью команды arp (8):

1.3 Специальные функции

ARP прокси

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

Бесплатный ARP

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

Бесплатный ARP может иметь два эффекта:

2. RARP

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

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

2.1 Формат пакета RARP

Формат пакетов RARP в основном такой же, как пакеты ARP. Основное различие между ними состоит в том, что код типа кадра запроса или ответа RARP равен 0x8035, а код операции запроса RARP равен 3, а код операции ответа равен 4. Соответствует ARP,Запросы RARP передаются широковещательно, в то время как ответы RARP обычно передаются одноадресным.

2.2 Проектирование сервера RARP

Хотя R A R P концептуально прост, конструкция сервера R A R P зависит от системы и является сложной. Всегда задавайте следующие вопросы:

RARP-сервер как пользовательский процесс

Сервер RARP обеспечивает сопоставление аппаратных адресов с IP-адресами, которое включено в файл диска. Ядро вообще не читает файлы на диске, поэтомуСервер RARP реализуется пользовательским процессом и не может быть реализован как TCP / IP ядра.

Запрос RARP передается как специальный тип фрейма данных Ethernet (значение поля типа фрейма равно 0x8035). Это означает, что сервер RARP должен иметь возможность отправлять и получать фрейм данных Ethernet этого типа. Поскольку отправка и получение этих кадров данных зависит от системы,Реализация RARP-сервера связана с системой.

Каждая сеть имеет несколько серверов RARP

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

Источник

Протоколы ARP, RARP, ICMP: принцип работы, назначение

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

arp rarp что такое. Смотреть фото arp rarp что такое. Смотреть картинку arp rarp что такое. Картинка про arp rarp что такое. Фото arp rarp что такое

Это значит, что в каждом случае, когда машина A намерена передать пакеты данных устройству B, она вынуждена отправить ARP-пакет для разрешения MAC-адреса B. Следовательно, это слишком сильно увеличивает нагрузку на трафик, поэтому для снижения стоимости связи, компьютеры, которые используют протоколы ARP, сохраняют кеш недавно приобретенных привязок адресов IP_to_MAC, т. е. они не должны повторно использовать этот протокол.

Современный вид

Сегодня используются несколько усовершенствований протокола ARP и его назначения. Так, когда машина A хочет отправить пакеты устройству B, возможно, что B отправит данные для A в скором времени. По этой причине, чтобы избежать ARP для машины B, A должна выполнить привязку адреса IP_to_MAC при запросе MAC-адреса B в специальном пакете.

Поскольку A направляет свой изначальный запрос для MAC-адреса B, каждый компьютер в сети должен извлекать и хранить в своем кеше привязку адреса IP_to_MAC A. Когда в сети появляется новый компьютер (например, при перезагрузке операционной системы), он может транслировать эту привязку, чтобы все остальные машины могли хранить его в своих кешах. Это позволит устранить множество ARP-пакетов всеми другими машинами, когда они хотят общаться с добавленным устройством.

arp rarp что такое. Смотреть фото arp rarp что такое. Смотреть картинку arp rarp что такое. Картинка про arp rarp что такое. Фото arp rarp что такое

Вариации ARP-протокола

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

arp rarp что такое. Смотреть фото arp rarp что такое. Смотреть картинку arp rarp что такое. Картинка про arp rarp что такое. Фото arp rarp что такое

Взаимосвязь с другими протоколами

Как только вы поймете, для чего нужен протокол ARP, следует рассмотреть его взаимодействие с другими элементами сети.

Механизм в деталях

И машина, выдающая запрос, и сервер, на него отвечающий, использует физические сетевые адреса в процессе их короткой связи. Обычно запрашивающий компьютер не знает его. Таким образом, запрос передается всем машинам в сети. Теперь запросчик должен идентифицировать себя уникально для сервера. Для этого можно использовать либо серийный номер процессора, либо физический сетевой адрес устройства. При этом использование второго в качестве уникального идентификатора обладает двумя преимуществами:

Как и сообщение протокола ARP, запрос RARP отправляется с одного компьютера на другой, инкапсулированный в части данных сетевого кадра. Рамка Ethernet, содержащая его, имеет обычную преамбулу, Ethernet-источник и адреса назначения, а также поля типа пакета перед кадром. Кадр кодирует значение 8035, чтобы идентифицировать его содержимое как сообщение RARP. Часть данных кадра включает в себя 28-октетное сообщение.

arp rarp что такое. Смотреть фото arp rarp что такое. Смотреть картинку arp rarp что такое. Картинка про arp rarp что такое. Фото arp rarp что такое

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

Они отвечают на запрос, заполняя поле адреса целевого протокола, изменяя тип сообщения от запроса до ответа и отправляя ответ прямо на машину, отправляющую запрос.

Синхронизация транзакций RARP

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

arp rarp что такое. Смотреть фото arp rarp что такое. Смотреть картинку arp rarp что такое. Картинка про arp rarp что такое. Фото arp rarp что такое

Преимущества Mulitple RARP Servers: большая надежность.

Недостаток: перегрузка может возникнуть, когда все серверы ответят.

Таким образом, чтобы избежать недостатков, можно использовать первичный и вторичный серверы. Каждому компьютеру, который запрашивает запрос RARP, назначается первичный сервер. Обычно он отвечает на все позывы, но если он терпит неудачу, тогда запросчик может взять тайм-аут и выполнить ретрансляцию запроса. Если второй сервер получает вторую копию запроса в течение короткого времени первого, он отвечает. Но все же может возникнуть проблема, при которой по умолчанию реагируют все вторичные серверы, тем самым перегружая сеть. Таким образом, проблема состоит в том, чтобы избежать одновременной передачи ответов с обоих серверов. Каждый вторичный сервер, который принимает запрос, вычисляет случайную задержку и затем отправляет ответ.

arp rarp что такое. Смотреть фото arp rarp что такое. Смотреть картинку arp rarp что такое. Картинка про arp rarp что такое. Фото arp rarp что такое

Недостатки RARP

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

ICMP-протокол

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

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

Связующее звено

Протокол управления интернет-протоколом позволяет шлюзам отправлять сообщения об ошибках или управлять сообщениями на другие шлюзы или хосты. ICMP предоставляет связь между программным обеспечением протокола Интернета между компьютерами. Это механизм сообщений так называемого специального назначения, добавленный разработчиками к протоколам TCP/IP. Это позволяет шлюзам в Интернете информировать об ошибках либо направлять информацию о непредвиденных обстоятельствах.

Сам протокол IP не содержит ничего, чтобы помочь подключиться к тестированию отправителя или узнать о сбоях. Отчеты об ошибках и их исправлении сообщаются посредством ICMP только в отношении исходного источника. Он должен связывать ошибки с отдельными прикладными программами и предпринимать действия для устранения проблем. Таким образом, он предоставляет возможность для шлюза сообщать об ошибке. При этом он не полностью определяет действие, которое необходимо предпринять для исправления неполадок.

arp rarp что такое. Смотреть фото arp rarp что такое. Смотреть картинку arp rarp что такое. Картинка про arp rarp что такое. Фото arp rarp что такое

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

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

Формат сообщения ICMP

Оно насчитывает в себе три поля:

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

Запросы и ответы

Протоколы TCP/IP предоставляют средства, помогающие сетевым менеджерам или пользователям идентифицировать сетевые проблемы. Один из чаще всего используемых инструментов отладки делает вызовы эхо-запроса ICMP и сообщения эхо-ответа. Хост или шлюз отправляет сообщение к определенному пункту назначения.

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

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

Как это работает?

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *