A r p: Протокол ARP и «с чем его едят» (дополнено) / Хабр
ARP Протокол Разрешения Адресов для чайников, как работает
Протокол ARP расшифровывается, как Address Resolution Protocol — протокол разрешения адресов. В сети обычно взаимодействуем с компьютерами с помощью IP-адресов, или с помощью доменных имен, которые службой DNS все равно преобразуются в IP-адреса.
Но в реальности данные передаются с помощью какой-нибудь технологии канального уровня, например Ethernet. Коммутаторы Ethernet ничего не знают об IP-адресах и для передачи данных используют MAC-адреса. Следовательно, необходимо средство, которое позволяет по IP-адресу компьютера определить его МАК-адрес.
Таблица соответствия ARP
Самое простое средство это таблица соответствия. Мы создаем таблицу, в которой пишем IP-адрес и соответствующий ему MAC-адрес.
Такое средство действительно используется на практике, например в Linux такая табличка хранится в файле /etc/ethers. Однако в крупной сети такой подход не работает.
ARP-запрос
Протокол ARP позволяет автоматически определить МАК-адрес компьютера по его IP-адресу. Протокол работает в режиме запрос-ответ.
Компьютер, который хочет узнать МАК-адрес по известному IP-адресу, направляет ARP запрос “У кого IP 192.168.10.43?” Запрос отправляется на широковещательный МАК-адрес (FF:FF:FF:FF:FF:FF).
И этот запрос получают все компьютеры в сети. Тот компьютер, который узнал в запросе свой IP-адрес подготавливает и отправляет ARP ответ. В ответ включается IP-адрес компьютера (IP:192.168.10.43) и его МАК-адрес (MAC: 54:BE:F7:88:15:47).
Отправитель ARP запроса получает ответ, извлекает из него МАК-адрес и использует его для передачи данных по технологии канального уровня.
Формат ARP-запроса
ARP разрабатывался, как протокол общего назначения с возможностью применять его не только в Ethernet и не только для IP-адресов. Поэтому в начале ARP пакета идет служебная информация, которая позволяет определить с каким типом сетевого оборудования и с каким протоколом сетевого уровня мы работаем.
- Первое поле “тип сети”, говорит о том, какое оборудование мы используем в сети, 1 — соответствует Ethernet.
- Второе поле “тип протокола” в нем указывается протокол сетевого уровня 2048 означает IP.
- Дальше идет “длина локального адреса”, в нашем случае МАК-адреса 6 байт, “длина глобального адреса в нашем случае IP-адреса” 4 байта.
- Следующее поле код операции, 1 — соответствует ARP запросу, а 2 — ARP ответу.
- Затем идет полезная информация о локальных (1С:75:08:D2:49:45) и глобальных адресах (192.168.10.15). Указывается МАК-адрес и IP-адрес отправителя, для того, чтобы получатель знал, кому отправлять ответ.
- Глобальный адрес получателя (192.168.10.43).
- Локальный адрес получателя неизвестен (00:00:00:00:00:00)
Формат ARP-ответа
Формат ARP ответа точно такой же, только в поле “операция” стоит значение 2 и адрес, который мы ищем находится в поле локальный адрес отправителя.
Место в модели OSI
В модели взаимодействия открытых систем OSI протокол ARP находится между канальным и сетевым уровнем. Пакеты ARP вкладываются напрямую в кадры Ethernet без IP.
Из-за того, что ARP находится ниже сетевого уровня, пакеты ARP не проходят через маршрутизаторы. Таким образом, с помощью ARP можно узнать только МАК-адреса компьютеров, которые находятся в одной подсети, а адреса компьютеров, которые находятся в другой подсети отделенные маршрутизатором узнать нельзя.
Почему так происходит? ARP запрос отправляется на широковещательный адрес который получают все компьютеры внутри сети, но широковещательный трафик не проходит через маршрутизаторы, поэтому компьютеры в другой подсети за маршрутизатором ARP запрос не получат и не смогут отправить на него ответ.
ARP-таблица
После того, как МАК-адрес получателя найден, он кэшируется на компьютеры отправителя в ARP-таблице для того, чтобы не запрашивать МАК-адрес каждый раз по протоколу ARP.
Таблица состоит из 3-х полей — IP-адрес, MAC-адрес и Тип записи в ARP таблице. Есть статическая запись, которая внесена в таблицу вручную и динамическая запись, которая появилась в результате работы протокола ARP. Динамические записи имеют срок жизни после которого они удаляются, это нужно для того, чтобы отслеживать изменения IP-адресов в компьютерах.
Посмотреть ARP таблицу на компьютере можно с помощью команды arp -a.
Оптимизация ARP
ARP запрос отправляется на широковещательный адрес и его получают все компьютеры в сети, кроме ip-адреса для которого необходимо получить мак-адрес в ARP запрос. Отправитель также включает свой ip-адрес и свой мак-адрес, эти данные могут быть записаны всеми компьютерами в сети в ARP-таблицу, чтобы использовать когда они понадобятся.
Добровольный ARP-запрос (Gratuitous ARP)
Это запрос по ARP собственного ip-адреса, он используется для двух целей. Первая цель, быстрое оповещение всех компьютеров в сети от том, что у компьютера появился новый ip-адрес.
Другая цель это проверка использования данного ip-адреса другим компьютером. Если на добровольный ARP запрос пришел ответ, это значит, что какой-то компьютер в сети уже использует этот ip-адрес и назначать его компьютеру отправителя нельзя.
Выводы по протоколу ARP
ARP — протокол разрешения адресов, который позволяет по IP-адресу определить MAC-адрес компьютера в сети. ARP работает в режиме запрос-ответ. Запрос отправляется на широковещательный адрес и его получают все компьютеры в сети, а отвечает только тот компьютер, который узнал свой ip-адрес и в ответ он вкладывает искомый мак-адрес. Результаты ARP запросов для повышения производительности записываются в ARP-таблицу.
Нюансы работы оборудования Cisco и интересные случаи. Часть 1 / Блог компании CBS / Хабр
Привет habr! Каждый будущий инженер в процессе изучения сетевых технологий знакомится с протоколом ARP (Address Resolution Protocol, далее ARP). Основная задача протокола – получить L2 адрес устройства при известном L3 адресе устройства. На заре профессиональной карьеры начинающий специалист, как мне кажется, редко сталкивается с ситуациями, когда нужно вспомнить про существование ARP. Создаётся впечатление, что ARP – это некоторый автономный сервис, не требующий никакого вмешательства в свою работу, и при появлении каких-либо проблем со связью многие по неопытности могут забыть проверить работу ARP.
Я помню свой порядок мыслей, когда я начинал работать сетевым инженером: «Так, интерфейс поднялся, ошибок по физике вроде как не видно. Маршрут, куда слать пакеты, я прописал. Списков доступа никаких нет. Так почему же не идёт трафик? Что маршрутизатору ещё не хватает?» Рано или поздно каждый сетевой инженер столкнётся с проблемой, причина которой будет лежать именно в особенностях работы/настройки ARP на сетевом оборудовании. Простейший пример: смена шлюза на границе сети (например, вместо сервера MS TMG устанавливаем маршрутизатор). При этом конфигурация маршрутизатора была проверена заранее в лабораторных условиях. А тут, при подключении к провайдеру никакая связь не работает. Возвращаем MS TMG — всё работает. Куда смотреть после проверки канального и физического уровня? Наиболее вероятный ответ – проверить работу ARP.
В данной заметке я не буду подробно описывать принципы работы ARP и протоколов этого семейства (RARP, InARP, UnARP и т.д.). На эту тему уже существует уйма статей в Интернете (например, здесь не плохо описаны разновидности ARP). Единственный теоретический момент, на котором я заострю чуть больше внимания, – механизм Gratuitous ARP (GARP).
Статья будет состоять из двух частей. В первой части будет немного теории и особенности работы ARP на маршрутизаторах Cisco, связанные с правилами NAT и с функцией Proxy ARP. Во второй части опишу отличия в работе ARP между маршрутизаторами Cisco и межсетевыми экранами Cisco ASA, а также поделюсь несколькими интересными случаями из практики, связанными с работой ARP.
Чуть-чуть теории
ARP-запрос/ARP-ответ
Ниже представлен пример обмена ARP-запросом/ARP-ответом в программе-сниффере Wireshark:
ARP-запрос отправляется на широковещательный MAC-адрес ff:ff:ff:ff:ff:ff. В теле ARP-запроса поле с неизвестным значением Target MAC Address заполняется нулями.
ARP-ответ отправляется на MAC-адрес получателя, отправившего ARP-запрос. В поле Sender MAC Address указывается запрашиваемый MAC-адрес устройства.
Поле opcode в заголовке ARP может принимает значение 1 для ARP-запроса и значение 2 для ARP-ответа.
Чтобы два устройства могли начать передавать трафика между собой, в их ARP-таблицах должна существовать соответствующая запись о соседнем устройстве. Логично предположить, чтобы ARP-запись появилась в таблицах, для каждого устройства должна отработать процедура ARP-запрос/ARP-ответ. То есть перед передачей трафика в сети должны пройти по два ARP-запроса и два ARP-ответа (ARP-запрос/ARP-ответ для первого компьютера и ARP-запрос/ARP-ответ для второго компьютера). Однако, данное предположение верно не для всех случаев. Сетевое оборудование Cisco добавляет новую запись в ARP-таблицу сразу по приходу ARP-запроса от удалённого устройства.
Рассмотрим пример. В широковещательный домен добавляется новое устройство с адресом 198.18.0.200. Запустим пинг с нового устройства и посмотрим debug arp на маршрутизаторе Cisco:
019383: Feb 4 10:38:55 UTC: IP ARP: rcvd req src 198.18.0.200 64e9.50c8.d6cd, dst 198.18.0.1 GigabitEthernet0/0/1.7
019384: Feb 4 10:38:55 UTC: IP ARP: creating entry for IP address: 198.18.0.200, hw: 64e9.50c8.d6cd
019385: Feb 4 10:38:55 UTC: IP ARP: sent rep src 198.18.0.1 d8b1.902e.e741,
dst 198.18.0.200 64e9.50c8.d6cd GigabitEthernet0/0/1.7
Как видно, сразу по пришествии ARP-запроса от неизвестного IP-адреса (rcvd req src 198.18.0.200), маршрутизатор создаёт соответствующую запись в своей ARP-таблице (creating entry for IP address: 198.18.0.200, hw: 64e9.50c8.d6cd).
Для текущей статьи я не проводил подробного исследования по вопросу, какое именно сетевое оборудование добавляет ARP-запись по пришествии ARP-запроса. Однако, предполагаю, описанное поведение присуще не только сетевому оборудованию Cisco, но и сетевому оборудованию других производителей, так как данный механизм позволяет существенно сократить ARP-трафик в сети.
ARP-запрос/ARP-ответ для конечного оборудованияОписанное поведение присуще сетевому оборудованию. Конечное оборудование в большинстве случаев, получает запись в ARP-таблицу только после полноценной процедуры ARP-запрос/ARP-ответ. Для примера, я проверил процедуру на компьютере с операционной системой Windows 7. Ниже представлен дамп ARP-пакетов. В данном примере был очищен arp-cache на маршрутизаторе Cisco и на Windows-компьютере. После этого был запущен пинг от маршрутизатора к компьютеру.
Из представленного дапма видно, что сперва маршрутизатор отправляет ARP-запрос и получает ARP-ответ. Но ARP-запрос от маршрутизатора не приводит к появлению требуемой записи в ARP-таблице Windows-компьютера, поэтому, в свою очередь, компьютер отправляет ARP-запрос и получает ARP-ответ от маршрутизатора.
Gratuitous ARP
Механизм Gratuitous ARP используется для оповещения устройств в рамках широковещательного домена о появлении новой привязки IP-адреса и MAC-адреса. Когда сетевой интерфейс устройства получает настройки IP (вручную или по DHCP), устройство отправляет Gratuitous ARP сообщение, чтобы уведомить соседей о своём присутствии. Gratuitous ARP сообщение представляет собой особый вид ARP-ответа. Поле opcode принимает значение 2 (ARP-ответ). MAC-адрес получается как в заголовке Ethernet, так и в теле ARP-ответа является широковещательным (ff:ff:ff:ff:ff:ff). Поле Target IP Address в теле ARP-ответа совпадает с полем Sender IP Address.
Механизм Gratuitous ARP используется для многих целей. Например, с помощью Gratuitous ARP можно уведомить о смене MAC-адреса или обнаружить конфликты IP-адресов. Другой пример — использование протоколов резервирования первого перехода (First Hop Redundancy Protocols), например, HSRP у Cisco. Напомню, HSRP позволяет иметь виртуальный IP-адрес, разделённый между двумя или более сетевыми устройствами. В нормальном режиме работы обслуживание виртуального IP-адреса (ответы на ARP-запросы и т.д.) обеспечивает основное устройство. При отказе основного устройства обслуживание виртуального IP-адреса переходит ко второму устройству. Чтобы уведомить о смене MAC-адреса ответственного устройства, как раз отправляется Gratuitous ARP-сообщения.
В примере ниже представлено Gratuitous ARP сообщение при включении сетевого интерфейса маршрутизатора с настроенным IP-адресов 198.18.0.1.
Если на маршрутизаторе настроен secondary IP-адрес, при переходе интерфейса в состояние UP будут отправлены Gratuitous ARP уведомления для каждого IP-адреса интерфейса. В примере ниже представлены Gratuitous ARP сообщения, отправляемые при включении интерфейса маршрутизатора с основным IP-адресом 198.18.0.1 и secondary IP-адресом 198.18.2.1.
Безусловно, маршрутизатор будет отвечать на ARP-запросы как для основного, так и для secondary IP-адреса.
Логично предположить, что как только устройство получает Gratuitous ARP, сразу добавляется новая запись в ARP-таблицу. Однако это не так. Если в таблице устройства отсутствовала ARP-запись, связанная с IP-адресом из Gratuitous ARP сообщения, новая запись добавлена не будет. При необходимости отправить трафик будет сформирован ARP-запрос и получен ARP-ответ. Только после этой процедуры новая запись добавится в ARP-таблицу.
Пример на маршрутизаторе Cisco. Включим debug arp и подключим в широковещательный домен новое устройство с адресом 198.18.0.200. До подключения нового устройства ARP-таблица маршрутизатора выглядит следующим образом:
cisco#sh arp | inc 198.18.0.200
<вывод пуст>
Включаем новое устройство с адресом 198.18.0.200. Получаем debug-сообщение о приходе Gratuitous ARP:
IP ARP: rcvd rep src 198.18.0.200 64e9.50c8.d6cd, dst 198.18.0.200 GigabitEthernet0/0/1
Проверяем ARP-таблицу:
cisco#sh arp | inc 198.18.0.200
<вывод пуст>
Новая запись не появилась. Делаем пинг до нового адреса:
cisco#ping 198.18.0.200
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 198.18.0.200, timeout is 2 seconds:
019275: Feb 4 10:23:06 UTC: IP ARP: creating incomplete entry for IP address: 198.18.0.200 interface GigabitEthernet0/0/1
019276: Feb 4 10:23:06 UTC: IP ARP: sent req src 198.18.0.1 d8b1.902e.e741,
dst 198.18.0.200 0000.0000.0000 GigabitEthernet0/0/1
019277: Feb 4 10:23:06 UTC: IP ARP: rcvd rep src 198.18.0.200 64e9.50c8.d6cd, dst 198.18.0.1 GigabitEthernet0/0/1
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 2/2/3 ms
Debug-сообщения показывают, что прошла процедура ARP-запрос/ARP-ответ. Проверяем ARP-таблицу:
cisoc#sh arp | i 198.18.0.200
Internet 198.18.0.200 6 64e9.50c8.d6cd ARPA GigabitEthernet0/0/1
Новая запись появилась.
ARP и NAT на маршрутизаторах Cisco
Теперь рассмотрим, как обстоят дела с ARP, если на маршрутизаторе используются правила трансляции сетевых адресов – NAT или PAT. В этом случае, мы можем транслировать адрес или адреса локальной сети либо в адрес интерфейса маршрутизатора, либо в какой-либо другой адрес, который будет называться в терминологии NAT внутренним глобальным адресом (inside global или inside mapped). Если трансляция происходит в адрес интерфейса, с ARP вопросов нет. В случае трансляции в адрес, отличный от адреса интерфейса, действуют следующие правила:
- Если внутренний глобальный адрес находится в той же IP-подсети, что и адрес интерфейса маршрутизатора, маршрутизатор будет отвечать на ARP-запросы к этому адресу. При этом в собственной arp-таблице маршрутизатора создаётся статическая запись для внутреннего глобального адреса.
- Если внутренний глобальный адрес находится в IP-подсети, отличной от адреса интерфейса маршрутизатора, маршрутизатор не будет отвечать на ARP-запросы к этому адресу. В собственной arp-таблице статическая запись не создаётся. Чтобы связь с таким IP-адресом заработала, требуется дополнительная настройка. Мы рассмотрим данный случай более подробно далее в статье.
Отдельно следует упомянуть поведение Gratuitous ARP. Рассматривать варианты генерации Gratuitous ARP для различных случаев (переход интерфейса в состояние UP, изменение основного IP-адреса интерфейса, изменение Secondary IP-адреса и т.д.) не буду, так как получится слишком много вариантов. Хочу указать только два момента. Первый момент: настройка нового правила NAT не приводит к генерации Gratuitous ARP уведомления. Второй момент: с помощью команды clear arp-cache можно не только очистить все динамические записи arp в таблице маршрутизатора, но и заставить маршрутизатор отправить Gratuitous ARP для всех IP-адресов, на которые маршрутизатор должен отвечать, включая внутренние глобальные адреса из правил NAT.
Рассмотрим примеры на основании следующей простейшей топологии:
Примечание: для тестов использовался маршрутизатор C4321 с программным обеспечением 15.4(3)S3 и межсетевой экран Cisco ASA5505 c программным обеспечением 9.1(6)6.
Компьютер Wireshark с адресов 198.18.0.250 в нашем случае будет обозначать подключение к внешней сети (например, к Интернет-провайдеру). С помощью сниффера Wireshark будем просматривать обмен сообщениями ARP между маршрутизатором и компьютером.
Настройки интерфейсов маршрутизатора:
interface GigabitEthernet0/0/0
description === inside ===
ip address 192.168.20.1 255.255.255.0
no ip proxy-arp
ip nat inside
!
interface GigabitEthernet0/0/1.7
description === outside ===
ip address 198.18.0.1 255.255.255.0
no ip proxy-arp
ip nat outside
Добавим правило динамического NAT, чтобы транслировать адрес компьютера из LAN (192.168.20.5) во внутренний глобальный адрес 198.18.0.5 при обращении к компьютеру во вне (Wireshark). Добавим правило статического PAT для публикации TCP порта 3389 (RDP) компьютера из LAN под глобальным адресом 198.18.0.2.
ip access-list standard acl-test-arp
permit 192.168.20.5
ip nat pool test-pool 198.18.0.5 198.18.0.5 netmask 255.255.255.252
ip nat inside source list acl-test-arp pool test-pool overload
ip nat inside source static tcp 192.168.20.5 3389 198.18.0.2 3389 extendable
Посмотрим ARP-таблицу на маршрутизаторе:
cisco#sh arp
Protocol Address Age (min) Hardware Addr Type Interface
. . .
Internet 198.18.0.1 - d8b1.902e.e741 ARPA GigabitEthernet0/0/1.7
Internet 198.18.0.2 - d8b1.902e.e741 ARPA GigabitEthernet0/0/1.7
Internet 198.18.0.5 - d8b1.902e.e741 ARPA GigabitEthernet0/0/1.7
. . .
Видим, что в ARP-таблице присутствуют статические записи как для внешнего интерфейса маршрутизатора (198.18.0.1), так и для внутренних глобальных адресов из правил динамического и статического NAT.
Сделаем clear arp-cache на маршрутизаторе и посмотрим в Wireshark, какие Gratuitous ARP уведомления будут отправлены с внешнего интерфейса:
Как видно, маршрутизатор уведомил о готовности обслуживать адрес интерфейса, адрес из правила динамического NAT и адрес из правила статического NAT.
А теперь представим ситуацию, когда провайдер расширяет пул публичных адресов, выданных клиенту, за счёт другой подсети. Предположим, дополнительно к IP-подсети 198.18.0.0/24 на внешнем интерфейсе маршрутизатора мы получаем от провайдера новый пул 198.18.99.0/24 и хотим публиковать наши внутренние сервисы под новыми IP-адресами. Для наглядности приведу схему с провайдером:
Добавим правило статического PAT для публикации TCP порта 3389 (RDP) компьютера из LAN под новым глобальным адресом 198.18.99.2:
ip nat inside source static tcp 192.168.20.5 3389 198.18.99.2 3389 extendable
Если снова посмотреть ARP-таблицу маршрутизатора командой show arp, увидим, что статическая запись для IP-адреса 198.18.99.2 не добавилась.
Чтобы иметь возможность отправлять ARP-запросы в новую сеть 198.18.99.0/24 с компьютера Wireshark, расширим маску его сетевых настроек до 255.255.0.0 (/16). Напомню, для нашего примера компьютер Wireshark выступает в роли маршрутизатора Интернет-провайдера.
После ввода clear arp-cache сниффер по-прежнему показывает Gratuitous ARP только для трёх IP-адресов: 198.18.0.1, 198.18.0.2, 198.18.0.5. Для нового адреса 198.18.99.2 Gratuitous ARP не срабатывает. Попробуем открыть tcp-порт 3389 адреса 198.18.99.2 и одновременно посмотреть сниффер:
Неуспех. Проверим ARP-таблицу:
ARP-запись для нового IP-адреса 198.18.99.2 не появилась. Причина – новый IP-адрес 198.18.99.2 находится в IP-подсети, отличной от адреса интерфейса маршрутизатора. Как же нам заставить работать новый пул выданных провайдером IP-адресов? Есть четыре варианта:
- Попросить провайдера прописать статические ARP-записи для каждого IP-адреса из нового диапазона. Это не очень удобно, если выдаётся широкий диапазон как в нашем примере.
- Попросить провайдера прописать статический маршрут. Часто, чтобы выдать дополнительный диапазон белых IP-адресов, провайдер прописывает на интерфейсе своего оборудования secondary IP-адрес. Вместо этого мы можем попросить провайдера прописать статический маршрут к новой IP-подсети через IP-адрес внешнего интерфейса маршрутизатора. В этом случае оборудование провайдера будет знать, что новая подсеть доступна через IP-адрес интерфейса маршрутизатора, а маршрутизатор, в свою очередь, будет отвечать на ARP-запросы, отправленные к собственному интерфейсу.
- Прописать secondary IP-адрес из нового диапазона на внешнем интерфейсе маршрутизатора. В этом случае любой IP-адрес нового диапазона будет принадлежать той же подсети, что и IP-адрес (пусть и secondary) интерфейса маршрутизатора. Маршрутизатор автоматически добавит статические записи в свою ARP-таблицу, будет слать Gratuitous ARP и отвечать на ARP-запросы.
- Использовать механизм Proxy Arp на маршрутизаторе. На этом варианте остановимся чуть более подробно.
Proxy ARP на маршрутизаторах Cisco
Функциональность Proxy ARP позволяет маршрутизатору отвечать на ARP-запросы при выполнении трёх следующих условий:
- Целевой IP-адрес ARP-запроса находится в IP-подсети, отличной от IP-подсети, в которой ARP-запрос получен;
- Маршрутизатор имеет один или несколько маршрутов к целевому IP-адресу ARP-запроса;
- Маршруты к целевому IP-адресу ARP-запроса указывают на исходящий интерфейс, отличный от интерфейса, на который ARP-запрос был получен.
По умолчанию Proxy ARP включен на всех интерфейсах маршрутизатора. Однако использование механизма Proxy ARP имеет несколько недостатков. В первую очередь Proxy ARP вносит потенциальную уязвимость к атакам типа Man-in-the-middle, когда злоумышленник получит возможность перехватывать сетевой трафик. Поэтому, рекомендуется отключать Proxy ARP как минимум на интерфейсах, к которым подключены внешние сети.
Настройка Proxy ARP на интерфейсе маршрутизатора:
interface GigabitEthernet0/0/1.7
ip proxy-arp
Отключить Proxy ARP на всех интерфейсах маршрутизатора можно глобально:
ip arp proxy disable
Данная настройка имеет приоритет над настройками Proxy ARP, применёнными на интерфейсах.
Помимо команды ip proxy arp в настройках интерфейса существует команда ip local-proxy-arp. Данная команда работает только когда ip proxy arp включён на интерфейсе и позволяет маршрутизатору отвечать на ARP-запросы, даже если целевой IP-адрес находится в той же IP-подсети, откуда ARP-запрос поступил. Пример настройки:
no ip arp proxy disable
interface GigabitEthernet0/0/1.7
ip proxy-arp
ip local-proxy-arp
Данная настройка может пригодится, если мы хотим, чтобы трафик в рамках одного широковещательного домена шёл через интерфейс нашего маршрутизатора. Данную задачу можно реализовать с использованием Protected port (PVLAN edge) настроек на L2-коммутаторе (switchport protected).
Включение Proxy ARP на внешнем интерфейсе маршрутизаторе позволит решить проблему с новым пулом адресов, выданных провайдером. Попробуем открыть tcp-порт 3389 адреса 198.18.99.2 после включения Proxy ARP на интерфейсе маршрутизатора и одновременно посмотреть сниффер:
Успех. Маршрутизатор отвечает на ARP-запрос и порт открывается. Таким образом, функциональность Proxy ARP также можно использовать при необходимости трансляции адресов в новый пул.
Итоги
Попробую тезисно обобщить основные моменты первой части статьи:
- Сетевое оборудование Cisco добавляет ARP-запись о новом удалённом устройстве в ARP-таблицу сразу по приходу ARP-запроса от удалённого устройства. Данное поведение позволяет сократить ARP-трафик в сети.
- Маршрутизатор Cisco будет отвечать на ARP-запросы к внутреннему глобальному IP-адресу правила NAT, если данный IP-адрес принадлежит той же IP-подсети, что и интерфейс маршрутизатора. Дополнительные настройки для работы ARP не требуются.
- Если внутренний глобальный IP-адрес правила NAT маршрутизатора не принадлежит IP-подсети интерфейса маршрутизатора, требуются дополнительные настройки. Существуют четыре варианта:
- Статические ARP-записи на внешнем оборудовании;
- Статический маршрут на внешнем оборудовании;
- Настройка secondary IP-адреса на интерфейсе маршрутизатора;
- Использование Proxy ARP.
Первый и второй вариант подразумевают изменение настроек на «чужом» сетевом оборудовании и не всегда может быть приемлем.
Третий вариант является наиболее предпочтительным.
Четвёртый вариант может быть использован, но открывает уязвимость с точки зрения сетевой безопасности.
- Функциональность Proxy ARP включена на интерфейсах маршрутизатора по умолчанию. Рекомендуется отключать Proxy ARP как минимум на интерфейсах, подключаемых к Интернет-провайдерам.
Протоколы ARP и RARP
Протокол ARP
Протокол ARP (Address Resolution Protocol, RFC-826, std-38, Протокол распознавания адреса) предназначен для преобразования IP-адресов в MAC-адреса, часто называемые также физическими адресами.
Важной особенностью интерфейса Ethernet является то, что каждая интерфейсная карта имеет свой уникальный адрес. Каждому производителю карт выделен свой пул адресов в рамках которого он может выпускать карты. Согласно протоколу Ethernet, каждый интерфейс имеет 6-ти байтовый адрес. Адрес записывается в виде шести групп шестнадцатеричных цифр по две в каждой (шестнадцатеричная записи байта). Первые три байта называются префиксом, и именно они закреплены за производителем. Каждый префикс определяет 224 различных комбинаций, что равно почти 17-ти млн. адресам.
В сетях нет однозначного соответствия между физическим адресом сетевого интерфейса (MAC адресом сетевой карты) и его IP-адресом. Поиск по IP-адресу соответствующего Ethernet-адреса производится протоколом ARP, функционирующим на уровне доступа к среде передачи. Протокол поддерживает в оперативной памяти динамическую arp-таблицу в целях кэширования полученной информации.
Порядок функционирования протокола следующий.
С межсетевого уровня поступает IP-дейтаграмма для передачи в физический канал (Ethernet), вместе с дейтаграммой передается, среди прочих параметров, IP-адрес узла назначения. Если в arp-таблице не содержится записи об Ethernet-адресе, соответствующем нужному IP-адресу, модуль arp ставит дейтаграмму в очередь и формирует широковещательный запрос. Запрос получают все узлы, подключенные к данной сети; узел, опознавший свой IP-адрес, отправляет arp-ответ (arp-response) со значением своего адреса Ethernet .
Полученные данные заносятся в таблицу, ждущая дейтаграмма извлекается из очереди и передается на инкапсуляцию в кадр Ethernet для последующей отправки по физическому каналу. Протокол ARP может поддерживать не только Ethernet, но и другие типы физических сред.
Упрощенно, ARP-таблица состоит из двух столбцов:
IP-адрес | Ethernet-адрес |
223.1.2.1 | 08:00:39:00:2F:C3 |
223.1.2.3 | 08:00:5A:21:A7:22 |
223.1.2.4 | 08:00:10:99:AC:54 |
В первом столбце содержится IP-адрес, а во втором Ethernet-адрес. Таблица соответствия необходима, так как адреса выбираются произвольно и нет какого-либо алгоритма для их вычисления. Если машина перемещается в другой сегмент сети, то ее ARP-таблица должна быть изменена.
ARP-таблицы строятся согласно документу RFC-1213 и для каждого IP-адреса содержит четыре кода:
ifindex | Физический порт (интерфейс), соответствующий данному адресу; |
Физический адрес | MAC-адрес, например Ethernet-адрес; |
IP-адрес | IP-адрес, соответствующий физическому адресу; |
тип адресного соответствия | это поле может принимать 4 значения: 1 — вариант не стандартный и не подходит ни к одному из описанных ниже типов; 2 — данная запись уже не соответствует действительности; 3 — постоянная привязка; 4 — динамическая привязка |
В Linux таблицу ARP можно посмотреть, используя команду arp:
user@ca:~$arp -a
RARP
Reverse ARP, обратный ARP протокол служит для того, чтобы по имеющемуся MAC адресу узнать IP адрес. Этот протокол используется в бездисковых машинах, загружающихся по сети. Первым делом такая машина должна узнать свой IP адрес, и параметры сети, чтобы она могла обратиться по сети, допустим к TFTP серверу, с которого она будет скачивать загрузочную запись. Единтсвенное, что знает о себе эта машина — её MAC адрес.
Она посылает в сеть широковещательный запрос с поиском RARP сервера и спрашивает у него, какой IP адрес будет ей соответствовать, если у неё вот такой MAC адрес. Это не тоже самое, что DHCP, хотя смысл похожий.
описание команды и примеры использования
- AJIekceu4
- 11.01.2020
- 840
- 0
- 09.07.2020
- 1
- 1
- 0
- Содержание статьи
Описание
ARP — Отображает и изменяет вводимые данные в кэше протокола определения адреса ARP (Address Resolution Protocol). Отображает и изменяет вводимые данные в кэше протокола определения адреса ARP (Address Resolution Protocol). Кэш ARP содержит одну или несколько таблиц, которые используются для хранения IP-адресов и их соответствующих физических Ethernet или Token Ring адресов. Для каждого сетевого адаптера Ethernet или Token Ring на вашем компьютере существует отдельная таблица. Если используется без параметров, команда arp отображает справочную информацию.
Данная команда применима к Windows Server (Semi-Annual Channel), Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Синтаксис
arp [/a [<Inetaddr>] [/n <ifaceaddr>]] [/g [<Inetaddr>] [-n <ifaceaddr>]] [/d <Inetaddr> [<ifaceaddr>]] [/s <Inetaddr> <Etheraddr> [<ifaceaddr>]]
Параметры
Параметр | Описание |
---|---|
/a [] [/n ] | Отображает текущие таблицы кэшей ARP для всех интерфейсов. Параметр /n чувствителен к регистру. Чтобы отобразить данные кэша ARP для определённого IP-адреса, arp/a следует использовать с параметром Inetaddr, где Inetaddr будет IP-адресом. Если параметр Inetaddr не будет указан, то будет использован первый применимый интерфейс. Чтобы отобразить данные кэша ARP для определённого интерфейса, вместе с параметром /a следует использовать параметр ifaceaddr, указывающий IP-адрес, назначенный такому интерфейсу. |
/g [] [/n ] | Идентично /a. |
/d [] | Удаляет введённые данные по определённому IP-адресу. При этом параметр Inetaddr указывает соответствующий IP-адрес. Чтобы удалить данные таблицы для определённого интерфейса, следует использовать параметр ifaceaddr, указывающий IP-адрес, назначенный такому интерфейсу. Чтобы удалить все данные, вместо параметра Inetaddr следует использовать подстановочный знак (*). |
/s [] | Добавляет статические данные в кэш ARP, которые привязывают параметр IP-адреса Inetaddr к физическому адресу Etheraddr. Чтобы добавить статические данные кэша ARP в таблицу по определённому интерфейсу, следует использовать параметр ifaceaddr, указывающий IP-адрес, назначенный такому интерфейсу. |
/? | Выводит справочную информацию в командной строке |
Примечания
• IP-адреса для Inetaddr и ifaceaddr являются десятичными представлениями с точками.
• Физический адрес для Etheraddr состоит из шести байтов, выраженных шестнадцатеричным представлением и разделённых дефисами (например, 00-AA-00-4F-2A-9C).
• Вводимые данные, добавляемые с параметром /s,являются статическими и не убираются из кэша ARP по тайм-ауту. Вводимые данные удаляются только в случае остановки или запуска протокола TCP/IP. Чтобы создать постоянные данные кэша ARP, следует поместить соответствующие команды arp в командный файл и воспользоваться запланированными заданиями (Scheduled Tasks), чтобы командный файл активировался при запуске системы.
Примеры использования
Чтобы отобразить список таблиц кэша ARP для всех интерфейсов, необходимо ввести:
arp /a
Чтобы отобразить список таблиц кэша ARP для всех интерфейсов, назначенных IP-адресу 10.0.0.99, необходимо ввести:
arp /a /n 10.0.0.99
Чтобы добавить статические данные в кэш ARP, которые привязывают IP-адрес 10.0.0.80 к физическому адресу 00-AA-00-4F-2A-9C, необходимо ввести:
arp /s 10.0.0.80 00-AA-00-4F-2A-9C
Семейка протокола ARP
Привет.
Многие думают, что если протокол мелкий и незаметный, то про него не надо ничего знать. Нетрудно догадаться, что это не так, и именно детальное знание подобных низкоуровневых и “простых” технологий является тем, что отличает профессионала от гуглоиксперта или фанатика, верующего, что в его любимой ОС всё работает “само по себе и априори идеально”.
Чуть-чуть поговорим о протоколах семейства ARP – обычно они не изучаются, и лишь поверхностно проводится обзор протокола ARP, на уровне рамочного понимания функционала – ну, а мы посмотрим, какие ещё варианты бывают.
Семейка протоколов ARP
- Протокол ARP
- Вкратце про сам протокол и формат заголовка
- Базовые настройки и тюнинг – тайм-ауты и кэш
- ARP и QoS
- ARP и NLB
- ARP и SNAP
- ARP и NUD
- ARP и DAD
- ARP и WOL
ARP и РПГ-7
- Протокол RARP
- Протокол InARP
- Протокол UNARP
- Протокол SLARP
- Протокол DirectedARP
- Безопасность ARP
- Механизм Proxy ARP
- Что такое и как работает Gratuitous ARP
- Cisco ARP Optimization Feature – что это?
Начнём.
Как работает протокол ARP
Протокол Address Resolution Protocol (ARP) используется для простой задачи – выяснить по известному адресу сетевого уровня (IPv4) неизвестный адрес канального уровня (обычно это MAC-адрес 802.3, но возможны и другие варианты).
Данные ARP вкладываются в протокол канального уровня (что напрямую, что через SNAP-заголовок) и являются, если рассуждать по логике “уровень протокола определяется по глубине вложения”, уже не протоколом канального уровня, а вот по функционалу ARP остаётся протоколом канального уровня, т.к. работает в пределах домена широковещания. Это я к тому, что модель OSI надо знать не хорошо, а очень хорошо, и различать два варианта определения “на каком уровне работает данный протокол”.
Например протокол RIPv2 занимается передачей маршрутной информации. Данные этого протокола вкладываются внутрь UDP, и по “глубине вложения” RIP будет “внутри транспортного уровня”. Только вот решать задачу он будет сетевого уровня – маршрутизацию. А допустим его коллега OSPF будет для передачи своих данных использовать не UDP или какой-либо другой протокол транспортного уровня, а напрямую вкладывать свои данные в IP-датаграммы, имея свой личный код вложения. Но при этом заниматься опять-таки будет задачей сетевого уровня – маршрутизации.
Так что будьте внимательны в терминологии – и “протокол выполняет задачи уровня N модели OSI” – это одно, а “протокол технически реализуется как вложение уровня N модели OSI” – другое.
Продолжим про ARP. Для идентификации ARP внутри кадра (в случае с 802.3 Ethernet надо учитывать, что они – кадры – бывают разные) будет использоваться код вложения 0x0806. В состав ARP-пакета будет входить следующие интересные поля:
- Тип оборудования (длина поля – 2 байта): Код, обозначающий тип среды, в которой идёт работа. Для Ethernet’ов это будет единица, готы могут ставить 5 (для протокола Chaos), эстеты – 149.
- Тип протокола сетевого уровня, про который идёт речь в ARP-пакете (длина поля – 2 байта): Стандартный код протокола, такой же, как в 802.3, например. То есть для IPv4 – это 0x0800.
- Длина адреса канального уровня (длина поля – 1 байт): Сколько байт в адресе канального уровня. Например, для 802.3 это будет 6.
- Длина адреса сетевого уровня (длина поля – 1 байт): Сколько байт в адресе сетевого уровня. Например, для IPv4 это будет 4.
- Код операции ARP (длина поля – 2 байта): У операции ARP Request это единица, у ARP Response – двойка. Да, такой вот обильный в плане функционала протокол. 🙂
- Адрес канального уровня отправителя (SRC MAC, говоря проще) – уникастовый MAC-адрес интерфейса, с которого отправляется запрос.
- Адрес сетевого уровня отправителя (SRC IP, говоря проще) – уникастовый IP-адрес интерфейса, с которого отправляется запрос. В случае нескольких IP-адресов на интерфейсе – основной адрес интерфейса (primary).
- Искомый адрес канального уровня – в случае ARP – широковещательный 802.3 адрес вида FF-FF-FF-FF-FF-FF. Ведь очевидно, что раз делается ARP-запрос вида “я знаю только искомый IP-адрес”, то искомый адрес канального уровня неизвестен, поэтому сюда пишется “заглушка” из броадкаста. На фактическое распространение она не влияет, т.к. в самом Ethernet-кадре, в котором вложен ARP-запрос, уже указан броадкаст как DST MAC.
- Искомый адрес сетевого уровня – в случае ARP – тот самый IP-адрес, для которого надо найти соответствующий MAC.
Задачи, стоящие перед протоколом, достаточно прозрачны. Как он будет настраиваться?
Базовые настройки и операции с ARP на Windows-системах
Почистить локальный кэш ARP или удалить отдельную запись
Кэш: arp -d
Запись: arp -d ip-адрес
Добавить статическую ARP-запись
arp -s ip-адрес mac-адрес
Детально посмотреть кэш
arp -a -v
Будут видны все типы записей – и 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 – тайм-ауты и кэш
В NT 6.0 сетевой стек был ощутимо изменен (приведён в соответствие с RFC 4861), поэтому то, что действовало для XP/2003, работать в большинстве своём не будет. Схема работы ARP-кэша теперь следующая:
- Есть кэш “соседей” – для IPv4 и IPv6
- Запись туда идёт после получения ARP-ответа, после чего у строки кэша появляется статус “Reachable”
- Статус теряется в случае отказа интерфейса или по тайм-ауту – если прошло более “ReachableTime” секунд, то статус меняется на “Stale”
- Если хочется отправить пакет узлу, строка кэша для которого находится в состоянии “Stale”, то предварительно надо отправить ARP-запрос
Как точнее считается время? Формула подсчёта такова:
ReachableTime = BaseReachableTime * (случайный коэффициент между MIN_RANDOM_FACTOR и MAX_RANDOM_FACTOR)
Параметры, от которых идёт вычисление, выглядят так: BaseReachableTime = 30 секунд, MIN_RANDOM_FACTOR = 0.5, а MAX_RANDOM_FACTOR – 1.5. Параметр BaseReachableTime изменяем командой:
netsh interface ipv4 set interface имя интерфейса basereachable=количество миллисекунд
Заметьте, для каждого интерфейса это устанавливается отдельно. Ранее действовавшее общесистемное значение по умолчанию в 120 секунд, таким образом, теперь не актуально. Я бы рекомендовал увеличить это значение до тех же 2х минут, что были раньше – количество трафика снизится, а минусов практически нет – узлы, которые сменят MAC за время устаревания кэша, сами об этом уведомят.
В случае работы с оборудованием Cisco, данный параметр – тайм-аут записи в ARP-кэше – задаётся на интерфейсе командой:
arp timeout время в секундах
и имеет базовое значение в 14400 (это 4 часа).
Суммарный же объём кэша IPv4-соседей можно установить так:
netsh interface ipv4 set global neighborcachelimit=количество
По умолчанию их 256. Как понятно, в случае, если соседей по среде передачи данных мало (например, есть единственный сетевой интерфейс в сеть с маской /28), этот кэш увеличивать не надо, а уменьшить вполне можно. Помните, это именно кэш ARP, т.е. явных адресов соседей по vlan плюс служебных мультикастов. Нет смысла его раздувать до огромных габаритов, если в сети банально мало узлов, нечего кэшировать особо будет.
Давайте теперь чуть углубимся.
ARP и QoS
В случае, когда сетевой интерфейс загружен трафиком, часть трафика может теряться. Увы, ни один из методов queuing не является от этого панацеей. Начиная с Cisco IOS 15.1 можно указать, что на данном интерфейсе необходимо всегда обрабатывать ARP-пакеты в первую очередь, что может значительно сократить процент потери ARP-данных. На общую загрузку это, как понятно, повлияет мало, а вот пользы может принести много. Ведь ARP-пакеты передаются без механизма подтверждения доставки и терять их не очень хорошо.
Данный механизм включается на L3-интерфейсах, командой:
arp packet-priority enable
Выключается, как понятно, no arp packet-priority enable
. В Windows аналогичной процедуры нет.
ARP и NLB
Чтобы ARP дружил с NLB, он должен обрабатывать ситуацию, когда придёт ARP-запрос с не-юникастового адреса. То есть, смотрите ситуацию. Допустим, есть NLB, который работает в мультикастовом режиме. Два хоста, соответственно, прикидываются одним IP-адресом, отвечая на ARP-запросы про этот адрес общим мультикастовым MAC’ом, и потом договариваясь друг меж другом, что делать с пришедшим трафиком. Вот чтобы эта схема работала, надо, чтобы когда этот “общий виртуальный узел”, который обладает виртуальным IP и мультикастовым MAC, решил узнать через ARP чей-то MAC, ему вообще ответили. Потому что есть тонкость – у мультикастового MAC есть характерный вид, по которому понятно, что он мультикастовый. А не-юникастовые source MAC в общем-то не являются нормальной ситуацией и нуждаются в особой обработке. Соответственно, для этого надо явно включить обработку ситуации “к нам пришёл ARP-запрос от товарища, у которого обратный MAC-адрес не-юникастовый”. Делается это путём установки параметра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableBcastArpReply
в единицу. Если она будет в нуле – в ряде ситуаций поимеете проблемы с NLB.
ARP и SNAP
По умолчанию, ARP вкладывается в 802.3 кадр простым, Ethernet II способом. Это можно поменять в случае, если необходима поддержка SNAP-механизма, который, как известно, нужен для мультиплексирования потоков данных на канальном уровне. Напомню, что по RFC 1042 данные IP и ARP всегда передаются поверх 802.x сетей используя связку LLC+SNAP, за исключением обычного Ethernet (802.3), где они вкладываются напрямую (см. RFC 894).
Для этой задачи есть ключ:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ArpUseEtherSNAP
По умолчанию он в нуле, установив в единицу Вы получите ситуацию, что 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
Функция Wake-On-Lan, думается, хорошо Вам известна. Она нужна, чтобы узел “проснулся” в определённый момент – когда увидит на сетевом интерфейсе соответствующие неким условиям данные. Обычно это данные, напрямую идущие на данный узел, притом содержащие некую последовательность – Magic Pattern. Так вот, можно заранее указать условие – будет ли данный Magic Pattern искаться вообще во всех сетевых данных, которые попадут на нужный узел, либо только не некоторых. В частности, так как статья про ARP, есть настройка, позволяющая установить для интерфейса условие – анализировать ли на предмет наличия Magic Pattern’а пакеты протоколов ARP (для IPv4) и ND (для IPv6). Включается следующим образом:
netsh int ipv4 set int имя интерфейса forcearpndwolpattern=enabled
Как выключается, надеюсь, понятно. Рекомендуется к выключению на узлах, у которых нет задачи просыпаться по WOL, т.к. ускоряет обработку путём раннего отбрасывания механизмом поиска Magic Pattern указанных пакетов.
Теперь про RARP.
Протокол RARP
RARP – это как ARP, только наоборот. Логично. По сути, RARP – это очень сильно простой сервис по динамическому конфигурированию узлов. Он ведь отрабатывает задачу, обратную ARP.
ARP: Я знаю искомый L3-адрес, дайте мне соответствующий ему L2-адрес.
RARP: Я знаю искомый L2-адрес, дайте мне соответствующий ему L3-адрес.
У RARP-сервера есть табличка соответствий MAC и IP-адресов, из которой он берёт указанную информацию и отправляет её. Различия на технологическом уровне будут следующими: RARP-пакеты будут иметь код вложения 0x8035
, плюс коды операций у них будут 3 для RARP-запроса и 4 для RARP-ответа.
Вообще, RARP сейчас практически не используется, но если хотите почитать – есть RFC 903.
Реализация RARP-сервера в Windows
Её нет. Если хочется стороннее решение, то можно скачать RARP windows server быстро бесплатно без sms.
Реализация 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, предложить такой же, но с нулём, и наоборот”. Маска предлагается такая же, как у себя.
Формат кадра будет такой:
- Адрес (один байт) – стандартный адрес вида b1111111 из xHDLC/PPP.
- Контроль (один байт) – то же самое, опять LLC3, т.е. b00000011.
- Код протокола вложения (два байта) – личный номер SLARP, 0x8035.
- Код операции (один байт) – вариант или Address request(0x00), или address reply (0x01), или Keep-alive (0x02).
- IPv4-адрес и маска (два раза по 4 байта) – предлагаемый партнёру по serial link адрес.
- Резерв (один байт) – вечно 0xFF.
- FCS в варианте CRC-16 (два байта)
- Флаг (один байт) – стандартный флаг xHDLC вида b0111110.
Протокол DirectedARP
Протокол описан в RFC 1433. Сейчас как отдельный протокол не используется, хотя многие мысли, высказанные в этом RFC, достаточно дельные и повлияли, например, на формирование современного IPv6.
Безопасность ARP
В общем-то, в ARP нет никаких встроенных средств безопасности. Это очень простой служебный протокол, поэтому о какой-то отдельной защите его говорить трудно. Можно высказать лишь общие мысли – например, что в случае малого количества хостов проще ввести все их IP-MAC соответствия как статические – в этом случае ARP они передавать перестанут (в кэше-то записи про соседей будут всё время), а если кто-то злонамеренный специально передаст поддельный ARP-ответ, то никакого влияния он не окажет – динамически полученный ARP-ответ не перезапишет собой статическую запись.
Есть ряд дополнительных механизмов (которых достаточно много), которые могут помочь в этом вопросе. Например, на оборудовании Cisco есть команда:
arp authorized
которая, в случае включения на интерфейсе, отключит динамические записи в кэш ARP. Т.е. интерфейс перестанет слушать ARP-ответы от неизвестных клиентов и дополнять ими кэш ARP.
Для ряда моделей оборудования (например, на старших линейках маршрутизаторов – это 7600) можно задать в режиме глобальной конфигурации максимальный размер ARP-кэша для устройства (по умолчанию он не ограничен и составляет 256.000 записей):
ip arp entry learn количество
Есть, в общем-то, множество доп.механизмов безопасности ARP – тот же DAI или ARP ACL, про которые, возможно, я тоже допишу сюда.
Механизм Proxy ARP
Суть механизма Proxy ARP, детально обозначенного в RFC 1027, проста – дать возможность узлу, который в силу каких-то причин (например, у него не указан шлюз по умолчанию) не может понять, куда маршрутизировать трафик для других сетей, всё же сделать это. Притом сделать просто – используя то, что в сегменте с этим узлом присутствует добрый узел, на котором включен Proxy ARP, и который, увидев что узел пытается через ARP-запрос найти получателя трафика, “прикинется” этим получателем и ответит на запрос.
Т.е. вот есть маршрутизатор, на котором включен Proxy ARP. Он получает ARP-запрос на разрешение адреса узла, который находится в другом сегменте относительно спрашивающего и помогает – просто отвечает ему от имени этого узла. Соответственно, этот роутер и будет передавать трафик между данными узлами, а отправитель будет думать, что отправляет трафик напрямую.
Данный механизм включен “по умолчанию” на большинстве систем и нуждается в отключении – т.е. описанная ситуация, в общем-то, по производственной необходимости возникает довольно-таки редко.
Как включить 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.
Заключение
Если я вспомню ещё что-то, или меня наведут на мысль, то обязательно напишу сюда в качестве дополнения к статье.
Дата последнего редактирования текста: 2013-10-05T07:07:02+08:00
Возможно, вам будет также интересно почитать эти статьи с нашей Knowledge Base
Командная строка — команда Arp
Предназначается для организации вывода, а также дальнейшего изменения информации в кэше. Протокол включает в себя таблицы в количестве одной ил нескольких штук. Их задачей является записывание IP адресов и непосредственных физических типов адресов. Предполагается создание специальной таблицы для каждого всех сетевых адаптеров Ethernet и Token Ring, которые использованы на устройстве. Если выполнить запуск без каких-либо параметров, будет выдана справочная нформация.
Синтаксис
arp [-a [интернет_адрес] [-N адрес_интерфейса]] [-g [интернет_адрес] [-N адрес_интерфейса]] [-d интернет_адрес [адрес_интерфейса]] [-интернет_адрес е_адрес [адрес_интерфейса]]
Используемые параметры
-a [интернет_адрес] [-N адрес_интерфейса]
Предполагается необходимость выдать таблицы используемого на данный момент протокола ARP для полного списка интерфейсов. Если требуется получить информацию о конкретном IP адресе, следует вписать arp –a и следующие параметры интернет_адрес (нужный IP адрес). Для осуществления вывода таблиц с информацией для установленного интерфейса, указывается [-N адрес_интерфейса. Следует сказать о том, что –N должен вводиться в заданном регистре.
-g [интернет_адрес] [-N адрес_интерфейса]
Особенности указанных значений и параметров полностью совпадают с вариантом -а.
-d интернет_адрес [адрес_интерфейса]
Позволяет удалить конкретную запись на основании указанного IP адреса. Если требуется осуществить одновременное удаление сразу всех записей, требуется только поставить символ звездочки (*) на место «интернет_адрес».
-интернет_адрес е_адрес [адрес_интерфейса]
Производит добавку статической записи. Её задачей считается сопоставление IP адреса (интернет_адрес) с используемым физическим адресом (е_адрес ).
/?
Позволяет получить справку через командную строку.
Заметки
- Для записи всех IP адресов требуется применять точечно-десятичный вариант.
- Для физического адреса (е_адрес ) предполагается использование специальной формы записи. Он должен занимать 6 байт, а его запись осуществляется 16-тиричном формате.
- Если запись обладает параметром S, то не предусматривается дальнейшего удаления из кэша компьютера. Подобные действия происходят в тех ситуациях, когда произошел запуск TCP/IP протоколов.
- Допускается использовать ARP команду при установке особых свойств сетевого адаптера. Предполагается в сетевых подключениях задавать протокол TCP/IP.
Примеры использования команды
Достаточно ввести в командную строку arp –a и результатом станет вывод таблиц кэша для полного списка интерфейсов. Следует рассмотреть варианты для конкретных запросов. Для IP адреса 12.0.0.22 следует осуществлять ввод arp -a -N 12.0.0.22. Если нужно выполнить сопоставление физического адреса 11-BB-11-5A-FF-8C и указанного ранее IP адреса, производится ввод arp — 12.0.0.22 11-BB-11-5A-FF-8C.
Протокол ARP, RARP | Netwild.ru
ARP
ARP (англ. Address Resolution Protocol — протокол определения адреса) — протокол канального уровня.
Протокол ARP (address resolution protocol, RFC-826, std-38) решает проблему преобразования IP-адреса в МАС-адрес.
Рассмотрим процедуру преобразования адресов при отправлении сообщения. Пусть одна ЭВМ отправляет сообщение другой. Прикладной программе IP-адрес места назначения обычно известен. Для определения Ethernet-адреса просматривается ARP-таблица. Если для требуемого IP-адреса в ней присутствует МАС-адрес, то формируется и посылается соответствующий пакет. Если же с помощью ARP-таблицы не удается преобразовать адрес, то выполняется следующее:
1. Всем машинам в сети посылается пакет с ARP-запросом (с широковещательным МАС-адресом).
2. Исходящий IP-пакет ставится в очередь.
Каждая машина, принявшая ARP-запрос, в своем ARP-модуле сравнивает собственный IP-адрес с IP-адресом в запросе. Если IP-адрес совпал, то прямо по МАС-адресу отправителя запроса посылается ответ, содержащий как IP-адрес ответившей машины, так и ее МАС-адрес. После получения ответа на свой ARP-запрос машина имеет требуемую информацию о соответствии IP и МАС-адресов, формирует соответствующий элемент ARP-таблицы и отправляет IP-пакет, ранее поставленный в очередь. Если же в сети нет машины с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблицу. Протокол IP будет уничтожать IP-пакеты, предназначенные для отправки по этому адресу.
Пример упрощенной ARP-таблицы:
| IP-адрес Ethernet-адрес | --------------------------------------------- | 172.1.2.1 08:00:39:00:2F:C6 | | 172.1.2.3 07:00:59:21:A7:22 | | 172.1.2.4 06:00:10:78:AА:54 | ---------------------------------------------
Протоколы верхнего уровня не могут отличить случай повреждения в среде ethernet от случая отсутствия машины с искомым IP-адресом. Во многих реализациях в случае, если IP-адрес не принадлежит локальной сети, внешний порт сети (gateway) или маршрутизатор откликается, выдавая свой физический адрес (режим прокси-ARP).
Функционально, ARP делится на две части. Одна — определяет физический адрес при посылке пакета, другая отвечает на запросы других машин. ARP-таблицы имеют динамический характер, каждая запись в ней «живет» определенное время после чего удаляется. Менеджер сети может осуществить запись в ARP-таблицу, которая там будет храниться «вечно». ARP-пакеты вкладываются непосредственно в ethernet-кадры.
Рис. 4.4.6.1. Формат пакета ARP
- HA-Len — длина аппаратного адреса;
- PA-Len — длина протокольного адреса (длина в байтах, например, для IP-адреса PA-Len=4).
Тип оборудования — это тип интерфейса, для которого отправитель ищет адрес; код содержит 1 для Ethernet.
Поле код операции определяет, является ли данный пакет ARP-запросом (код = 1), ARP-откликом (2), RARP-запросом (3), или RARP-откликом (4). Это поле необходимо, как поле тип кадра в Ethernet пакетах, они идентичны для ARP-запроса и отклика.
ARP-таблицы строятся согласно документу RFC-1213 и для каждого IP-адреса содержит четыре кода:ifindex Физический порт (интерфейс), соответствующий данному адресу; физический адрес MAC-адрес.
IP-адрес, соответствующий физическому адресу;
тип адресного соответствия это поле может принимать 4 значения: 1 — вариант не стандартный и не подходит ни к одному из описанных ниже типов; 2 — данная запись уже не соответствует действительности; 3 — постоянная привязка; 4 — динамическая привязка;
ARP запросы могут решать и другие задачи. Так при загрузке сетевого обеспечения ЭВМ такой запрос может выяснить, а не присвоен ли идентичный IP-адрес какому-то еще объекту в сети. При смене физического интерфейса такой запрос может инициировать смену записи в ARP-таблице.
В рамках протокола ARP возможны самообращенные запросы (gratuitous ARP). При таком запросе инициатор формирует пакет, где в качестве IP используется его собственный адрес. Это бывает нужно, когда осуществляется стартовая конфигурация сетевого интерфейса. В таком запросе IP-адреса отправителя и получателя совпадают.
Самообращенный запрос позволяет ЭВМ решить две проблемы. Во-первых, определить, нет ли в сети объекта, имеющего тот же IР-адрес. Если на такой запрос придет отклик, то ЭВМ выдаст на консоль сообщение Dublicate IP address sent from Ethernet address <…>. Во-вторых, в случае смены сетевой карты производится корректировка записи в АRP-таблицах ЭВМ, которые содержали старый МАС-адрес инициатора. Машина, получающая ARP-запрос c адресом, который содержится в ее таблице, должна обновить эту запись.
Вторая особенность такого запроса позволяет резервному файловому серверу заменить основной, послав самообращенный запрос со своим МАС-адресом, но с IP вышедшего из строя сервера. Этот запрос вынудит перенаправление кадров, адресованных основному серверу на резервный. Клиенты сервера при этом могут и не знать о выходе основного сервера из строя. При этом возможны и неудачи, если программные реализации в ЭВМ не в полной мере следуют регламентация протокола ARP.
RARP
Когда загружается система с локальным диском, она обычно получает свой IP адрес из конфигурационного файла, который считывается с диска. Однако для систем, не имеющих диска, таких как X терминалы или бездисковые рабочие станции, требуются другой способ определения собственного IP адреса.
Каждая система в сети имеет уникальный аппаратный адрес, который назначается производителем сетевого интерфейса (сетевой платы). Принцип работы RARP заключается в том, что бездисковая система может считать свой уникальный аппаратный адрес с интерфейсной платы и послать RARP запрос (широковещательный фрейм в сеть), где потребует кого-нибудь откликнуться и сообщить IP адрес (с помощью RARP отклика).
Несмотря на то что концепция довольно проста, ее реализация как правило значительно сложнее чем ARP, который был описан выше. Официальная спецификация RARP находится в RFC 903 [Finlayson et al. 1984].
Формат пакета RARP практически идентичен пакету ARP. Единственное отличие заключается в том, что поле тип фрейма (frame type) для запроса или отклика RARP установлено в 0x8035, а поле op имеет значение 3 для RARP запроса и значение 4 для RARP отклика.
RARP запрос является широковещательным, а RARP отклик обычно персональный.
ARP | Официальный веб-сайт
Acura, Alfa Romeo, AMC … AcuraAlfa RomeoAMCAudiAustin-HealeyBMCBMWBriggs & StrattonBuickCadillacCaterpillarChevrolet: 4 CylinderChevrolet: 6 CylinderChevrolet: Малый BlockChevrolet: Большой BlockChevrolet: DieselChevrolet: LSChevrolet: LTChrysler: 4 и 6 CylChrysler: Малый BlockChrysler: Большой BlockChrysler: GenericCummins DieselDatsunDodgeFord: 4, 5 & 6 CylinderFord: FlatheadFord: Малый Blk-WindsorFord: Малый Blk-Y-blockFord: Малый Blk-ClevelandFord: Большой blockFord: CoyoteFord: ModularFord: DieselHarley-DavidsonHoldenHondaHyundaiJeepLanciaLexusMazdaMGBMini CooperMitsubishiNASCARNissanOldsmobileOpelPeugeotPolarisPontiacPorscheRenaultRoverSaturnScionSea-DooSubaruSuzukiToyotaTriumphVauxhallVolkswagenVolvo
Болты, гайки, шайбы…Болты, SAE — Нержавеющая сталь ARP — Хромомолиболты 8740, метрические — Нержавеющая сталь ARP — Гайки Moly, хромированные 8740, SAE и метрические — 10 — 1/4 «- 5/16» — 11 / 32 дюйма — 3/8 дюйма — 7/16 дюйма — 1/2 дюйма — 9/16 дюйма — 5/8 дюйма — M6 — M7 — M8 — M9 — M10 — M12 , SAE и метрическая система — 1/4 «- 5/16» — 3/8 «- 7/16» — 1/2 «- 9/16» — 5/8 «- M6 — — М8 — М9 — М10 — М12
Rod болты, головные шпильки … Аксессуары StudsAir уборщик StudsAlternatorBalancer, HarmonicBalancer, SquareBellhousingBrake HatBreak одноразовая BlowerCamCam DriveCam SprocketCam TowerCarburetor StudsCarburetor Поплавок BowlCarrier FastenerCase Болты и StudsClutch CoverCoil BracketCrankcaseCylinder HeadDistributorDrive Pin, Sprint CarDrive PlateEngine AccessoryExhaust CollectorFastener Ассамблея LubeFastener Bulk BinsFlexplateFlywheelFront CoverFront MandrelFuel PumpFuel насос PushrodHarmonic BalancerHeadHeaderIntake ManifoldIntake Valley CoverLower PulleyMainsMain Cap Side BoltsMotor MountOil PanOil PumpOil насос DriveshaftOil насос PrimerPressure PlateRear Конец CoverRear Главная Печать PlateRing CompressorRing GearRing Площадь ToolsRocker Arm StudRocker Arm AdjustersRod BoltsRod Болты, ReplacementRod Болт ExtensionsSeal PlateSpark подключи IndexerStarterStretch GaugeThermostat HousingThread CleaningTiming CoverTorque ConverterTransmission CaseTransmission MountTransmission PanUltra-TorqueValve CoverWater PumpWater Шкив насоса Приварные заглушки Колесо
Посмотреть каталог
.
ARP | Официальный веб-сайт
Acura, Alfa Romeo, AMC … AcuraAlfa RomeoAMCAudiAustin-HealeyBMCBMWBriggs & StrattonBuickCadillacCaterpillarChevrolet: 4 CylinderChevrolet: 6 CylinderChevrolet: Малый BlockChevrolet: Большой BlockChevrolet: DieselChevrolet: LSChevrolet: LTChrysler: 4 и 6 CylChrysler: Малый BlockChrysler: Большой BlockChrysler: GenericCummins DieselDatsunDodgeFord: 4, 5 & 6 CylinderFord: FlatheadFord: Малый Blk-WindsorFord: Малый Blk-Y-blockFord: Малый Blk-ClevelandFord: Большой blockFord: CoyoteFord: ModularFord: DieselHarley-DavidsonHoldenHondaHyundaiJeepLanciaLexusMazdaMGBMini CooperMitsubishiNASCARNissanOldsmobileOpelPeugeotPolarisPontiacPorscheRenaultRoverSaturnScionSea-DooSubaruSuzukiToyotaTriumphVauxhallVolkswagenVolvo
Болты, гайки, шайбы…Болты, SAE — Нержавеющая сталь ARP — Хромомолиболты 8740, метрические — Нержавеющая сталь ARP — Гайки Moly, хромированные 8740, SAE и метрические — 10 — 1/4 «- 5/16» — 11 / 32 дюйма — 3/8 дюйма — 7/16 дюйма — 1/2 дюйма — 9/16 дюйма — 5/8 дюйма — M6 — M7 — M8 — M9 — M10 — M12 , SAE и метрическая система — 1/4 «- 5/16» — 3/8 «- 7/16» — 1/2 «- 9/16» — 5/8 «- M6 — — М8 — М9 — М10 — М12
Rod болты, головные шпильки … Аксессуары StudsAir уборщик StudsAlternatorBalancer, HarmonicBalancer, SquareBellhousingBrake HatBreak одноразовая BlowerCamCam DriveCam SprocketCam TowerCarburetor StudsCarburetor Поплавок BowlCarrier FastenerCase Болты и StudsClutch CoverCoil BracketCrankcaseCylinder HeadDistributorDrive Pin, Sprint CarDrive PlateEngine AccessoryExhaust CollectorFastener Ассамблея LubeFastener Bulk BinsFlexplateFlywheelFront CoverFront MandrelFuel PumpFuel насос PushrodHarmonic BalancerHeadHeaderIntake ManifoldIntake Valley CoverLower PulleyMainsMain Cap Side BoltsMotor MountOil PanOil PumpOil насос DriveshaftOil насос PrimerPressure PlateRear Конец CoverRear Главная Печать PlateRing CompressorRing GearRing Площадь ToolsRocker Arm StudRocker Arm AdjustersRod BoltsRod Болты, ReplacementRod Болт ExtensionsSeal PlateSpark подключи IndexerStarterStretch GaugeThermostat HousingThread CleaningTiming CoverTorque ConverterTransmission CaseTransmission MountTransmission PanUltra-TorqueValve CoverWater PumpWater Шкив насоса Приварные заглушки Колесо
Посмотреть каталог
.
Официальный веб-сайт ARP
Нужно ли мне повторно затягивать болты или шпильки головки?
Если вы следуете инструкциям по установке ARP, повторная затяжка не требуется. Тем не менее, это может быть необходимо при определенных обстоятельствах, если этого требуют инструкции производителя прокладки, особенно если было установлено огневое кольцо. ARP рекомендует не производить повторную затяжку на горячем двигателе.
Нужна ли смазка для болтов или шпилек?
Мы рекомендуем использовать смазку ARP Ultra-Torque для обеспечения равномерного и точного зажимного усилия и предотвращения заедания резьбы.Это особенно важно для крепежных изделий из нержавеющей стали. Смазочное масло следует использовать под головкой болта или опорную поверхность гайки и на резьбе, если не используется нить герметик.
Могу ли я использовать Loctite или любой резьбовой фиксатор вместо сборочной смазки ARP Ultra-Torque?
Да, можно. Некоторые производители двигателей используют синий Loctite на конце шпильки, которая входит в блок. НЕ используйте Loctite на гайках шпилек с головкой или основных шпилек.Перед нанесением смазки всегда проверяйте чистоту резьбы. При использовании Loctite убедитесь, что вы собрали детали до того, как Loctite застынет. Вы можете использовать Loctite вместо ARP Ultra-Torque, но не используйте их вместе.
Должен ли я использовать Ultra-Torque?
Мы потратили два года на разработку ARP Ultra-Torque и создали то, что, по нашему мнению, является идеальной смазкой для крепежных деталей. Все наши значения крутящего момента основаны на использовании Ultra-Torque.Мы не предоставляем значения крутящего момента для использования с любыми другими смазочными материалами для узлов крепежа (такими как моторное масло, молибденовая смазка и т. Д.). Используйте эти другие смазочные материалы на свой страх и риск, поскольку их использование может привести к поломке детали или двигателя, в отношении чего не несут ответственности.
Нужна ли смазка для резьбы болтов или шпилек, входящих в блок?
Да. На глухих отверстиях нанесите небольшое количество смазки ARP Ultra-Torque на резьбу. Кроме того, если шпильки выступают в водяной рубашке, вам необходимо очистить резьбу в блоке, чтобы удалить всю охлаждающую жидкость и остатки масла.Нанесите обильное количество герметика для резьбы ARP или высокотемпературного герметика для резьбы.
Можно ли повторно использовать болты и шпильки ARP?
Да. Если крепежные детали установлены и затянуты правильно и не имеют видимых признаков повреждения, их можно использовать повторно. Если на них появляются признаки истирания резьбы или коррозии, их следует заменить. В случае стержневых болтов, если какой-либо из них приобрел постоянный набор и растянулся на 0,001 дюйма или более, вы должны немедленно заменить их.См. Страницу 29 каталога для получения более подробной информации об этом важном измерении.
Должен ли я сначала установить шпильки в блок?
После пробной установки шпилек в блок, как правило, легче удалить шпильки, надеть прокладку головки и головку на блок и установить шпильки. Это уменьшит вероятность повреждения верхней резьбы шпильки и царапания монтажных отверстий цилиндра. Если в блоке нет установочных штифтов, вы можете использовать шпильку для совмещения прокладки и головки.
Фаска на внутреннем диаметре шайбы идет вверх или вниз?
Сторона шайбы с фаской поднимается вверх по направлению к головке болта. Фаска предназначена для создания зазора по радиусу между стержнем болта и головкой болта.
Шпильки с головкой входят только в руки или вручную?
Да, шпильки ГБЦ устанавливаются только вручную. За исключением использования шестигранного ключа на шестиграннике, протянутом в конце шпильки (для облегчения установки, а не для приложения крутящего момента), не используйте никаких инструментов для установки их в блок.Однако чрезвычайно важно убедиться, что штифты полностью вставлены в отверстие в блоке и не заедают за поврежденную или ржавую резьбу в блоке, что мешает шипу полностью сесть. На это часто указывают, когда резьба шпильки выходит за пределы поверхности деки.
Я слышал, что у некоторых людей были проблемы с утечкой воды из недавно установленных шпилек ГБЦ. Как убедиться, что у меня нет такой проблемы с моими новыми головками ARP?
Перед установкой новых шпилек с головкой очень важно, чтобы у вас была чистая резьба как на блоке, так и на шпильках.Во-первых, очистите все резьбы в блоке с помощью резака для чистки резьбы, а НЕ обычным метчиком. Нарезчики резьбы сконструированы так, что они не удаляют материал с резьбы, а просто удаляют мусор и коррозию. Убедитесь, что вы прошли до конца резьбы на дне отверстия. Затем очистите все отверстия в блоке с помощью очистителя тормозов или карбюратора, чтобы удалить весь мусор. Убедитесь, что резьба на новых шпильках чистая. Используйте обильное количество герметика для резьбы ARP, высокотемпературного силикона или Loctite, чтобы не было воздушных карманов, которые могут вызвать утечки.Затем следуйте инструкциям ARP по установке крепежа.
Совпадают ли рекомендации ARP по крутящему моменту со спецификациями производителя транспортного средства?
Иногда ARP рекомендует использовать характеристики крутящего момента, которые отличаются от характеристик производителя, но не всегда. Наши комплекты разработаны для конкретных применений с учетом необходимой зажимной нагрузки, которую мы пытаемся достичь, типа материала, материала блока или головки и т.д. завод кричит.
.