Jump to content
Калькуляторы

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

Лучше ссылки. Если не в лом расскажите.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Edited by ilili

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

 

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

Edited by ShyLion

Share this post


Link to post
Share on other sites

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

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

 

в Windows все иначе

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

 

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

 

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

Share this post


Link to post
Share on other sites

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/

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this