Вопрос по arp

1
0

Добрый день. Иду в ногу с ОГ.  Лаба на static routing сподвигла на эксперименты с arp. Заметил вот какую особенность. Если на L3 устройстве в arp-cache уже есть запись соседа, то при «clear arp» L3 девайс (из лабы на UNL) автоматом шлет arp запрос(ы)  к хостам, которые присутствовали в arp таблице. Это происходит каждый раз пока не опустить и не поднять  ip интерфейс — тогда таблица вновь пуста. Я как-то раньше предполагал, что при очистке arp-cache он остается пустым пока не потребуется снова переслать пакет либо не получит G-ARP либо не прописан static route+ip cef. Баг/фича ?

2
0

Я полагаю, что дело в CEF. Если маршрут есть в таблице маршутизации, для его установки в FIB и создания записи в adjacency table роутеру необходимо знать L2-адрес nexthop. После того, как вы  очистили кэш, роутер самостоятельно делает ARP-запрос на все nexthop.

Попробуйте ради эксперимента выключить CEF:

no ip cef

и сделать

debug arp

clear ip arp

  • kyakushev
    да, это мне тоже сразу пришло в голову, но no ip cef не помогло, да и маршрутов статических нет — просто два адреса на соседних устройствах лабы из одной подсети. Если поднять лупбеки и создать статические машруты к ним, то ip cef отрабатывает именно так без обмана, автоматически обновляя adjacency table.
  • Dmitry Figol
    Евгений прав, дело в CEF. CEF не даёт записям в Adjacency table исчезнуть. Просто «no ip cef» не полностью выключает CEF.
  • kyakushev
    Спасибо, Дмитрий, за ответ, а не поделитесь ссылкой где вы прочитали, что no ip cef не полностью отключает cef и продолжает поддерживать adj table в актуальном состоянии, не смотря на отсутствие статических маршрутов в rib и на то, что сосед в arp и adj table изначально отсутствует пока не будет отправлен первый пакет в сторону соседа с отработкой arp-request ? p.s. Только что проверил в лабе работу no ip cef и ваши слова не могу пока подтвердить: R2(config)#no ip cef R2(config)#ip route 1.1.1.1 255.255.255.255 ethernet 0/1.999 R2#sh arp Protocol Address Age (min) Hardware Addr Type Interface Internet 99.99.99.1 16 aabb.cc80.0b00 ARPA Ethernet0/1.999 Internet 99.99.99.2 — aabb.cc00.0210 ARPA Ethernet0/1.999 // т.е. с откл. CEF не пытается искать мак адрес соседа, не смотря на статический маршрут через int R2(config)#ip cef // И как только мы включаем CEF — тот час ищет (в этом плане все как описано в курсе CEF): *May 1 10:13:26.460: ARP DB: ARP entry of key 1.1.1.1 not found *May 1 10:13:26.460: ARP DB: ARP entry of key 1.1.1.1 not found *May 1 10:13:26.460: ARP DB: ARP entry of key 1.1.1.1 not found *May 1 10:13:26.460: ARP DB: ARP entry of key 1.1.1.1 not found *May 1 10:13:26.460: ARP DB: ARP entry of key 1.1.1.1 inserted *May 1 10:13:26.460: IP ARP: creating incomplete entry for IP address: 1.1.1.1 interface Ethernet0/1.999 *May 1 10:13:26.460: ARP DB: ARP entry of key 99.99.99.2 found *May 1 10:13:26.460: IP ARP: sent req src 99.99.99.2 aabb.cc00.0210, dst 1.1.1.1 0000.0000.0000 Ethernet0/1.999 *May 1 10:13:26.463: IP ARP: rcvd rep src 1.1.1.1 aabb.cc80.0b00, dst 99.99.99.2 Ethernet0/1.999 *May 1 10:13:26.463: ARP DB: ARP entry of key 1.1.1.1 found *May 1 10:13:26.463: ARP DB: ARP entry of key 0000.0000.0000 deleted *May 1 10:13:26.463: ARP DB: ARP entry of key 99.99.99.2 found *May 1 10:13:26.463: ARP DB: ARP entry of key 1.1.1.1 found R2#sh arp Protocol Address Age (min) Hardware Addr Type Interface Internet 1.1.1.1 0 aabb.cc80.0b00 ARPA Ethernet0/1.999 Internet 99.99.99.1 16 aabb.cc80.0b00 ARPA Ethernet0/1.999 Internet 99.99.99.2 — aabb.cc00.0210 ARPA Ethernet0/1.999 Для меня вопрос пока открыт. p.s. как здесь перенести строку ? =)
  • kyakushev
    Дмитрий, посмотрел ваш вебинар — в целом ваш ответ по этой теме меня устраивает. Спасибо за вебинар.
0
0

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

  • kyakushev
    Спасибо за поправку, тема g-arp как раз рассматривалась в конце той недели и вы, похоже, ее хорошо усвоили :) (https://habrahabr.ru/company/cbs/blog/276863/), но хотелось бы все таки услышать ответ на вопрос.
0
0

Господа, есть еще варианты почему так происходит ?

Показано 3 результата
Ваш ответ

для ответа.