Jump to content

Как часто операционки шлют ARP запросы? Какой алгоритм принятия решения для посылки ARP запроса у различнх ОС?


Recommended Posts

Posted

Каждый раз, когда ОС не знает мака dest-ip, она шлет арп заррос и получает мак шлюза. Этот мак ОС указывает в отправляемом фрейме как dest-mac. Полученный мак сохраняется в кеше на определеное время. Если по нему больше не было обращений в течение этого времени, он удаляетя из кеша.

Posted (edited)

Чтоб было понятней, поставьте Wireshark, там наглядно всё увидите. Ну или Cisco Packet tracer, виртуальные лабы собрать можно, там можно включить фичу, которая покажет, как проходят пакеты в сети.

Edited by ilili
Posted

tcpdump - это все ясно.

меня интересует примерный алгоритм и конкретные таймеры после которых наступают события приводящие к генерации АРП запросов.

Posted (edited)

tcpdump - это все ясно.

меня интересует примерный алгоритм и конкретные таймеры после которых наступают события приводящие к генерации АРП запросов.

У каждой ОСи свои параметры таймаута. Гуголь подскажет где искать. Например: http://support.microsoft.com/kb/949589

Алгоритм простой - не знаем МАКА для IP и IP в той-же подсети что и мы, проверяем кеш, если в кеше нет, шлем ARP запрос, ответ кешируем.

Если IP в другой подсети - по таблице роутинга определяем шлюз. Далее ищем IP шлюза в кеше, если в кеше нет, шлем ARP запрос, ответ кешируем.

 

ЗЫ: под триста сообщений на форуме и такой вопрос?

Edited by ShyLion
Posted

На самом деле это сложный вопрос

Cisco например просто держит запись в кеше 4 часа (по дефолту) и сбрасывает счетчик времени жизни по приходу arp-запросов с этого хоста, или сама генерит запрос когда время жизни подходит к пределу

 

в Windows все иначе

Динамические записи кэша ARP

 

Эти записи добавляются и удаляются автоматически во время сеансов связи по TCP/IP с удаленными компьютерами. Если в течение двух минут после помещения в кэш динамическая запись не будет использована повторно, она удаляется из кэша. Если же в течение этих двух минут динамическая запись будет повторно использована, она может оставаться в кэше и дольше, и достичь при определенных условиях максимального времени нахождения в кэше, равного 10 минутам, после чего она будет удалена или обновлена с помощью широковещательного запроса.

 

Про линукс давно читал, не помню как он себя ведет и что-то не нагуглилось быстро

Posted

tcpdump - это все ясно.

меня интересует примерный алгоритм и конкретные таймеры после которых наступают события приводящие к генерации АРП запросов.

У каждой ОСи свои параметры таймаута. Гуголь подскажет где искать. Например: http://support.microsoft.com/kb/949589

Алгоритм простой - не знаем МАКА для IP и IP в той-же подсети что и мы, проверяем кеш, если в кеше нет, шлем ARP запрос, ответ кешируем.

Если IP в другой подсети - по таблице роутинга определяем шлюз. Далее ищем IP шлюза в кеше, если в кеше нет, шлем ARP запрос, ответ кешируем.

 

ЗЫ: под триста сообщений на форуме и такой вопрос?

 

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

 

http://ask.wireshark.org/questions/15792/arp-replies-appear-with-delay-in-wireshark-output

http://www.atraining.ru/arp-inarp-rarp-proxy-gratuitous-dai-sticky-and-more/

 

за ссылку спасибо

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.