Чи працює безкоштовний ARP, як звичайний запит ARP?
Чому безоплатно ARP використовується для HSRP?
Чи працює безкоштовний ARP, як звичайний запит ARP?
Чому безоплатно ARP використовується для HSRP?
Відповіді:
Безкоштовний ARP - це свого роду "попереднє повідомлення", він оновлює кеш-пам'ять ARP інших систем, перш ніж вони просять про це (без запиту ARP) або для оновлення застарілої інформації.
Коли ми говоримо про безоплатний ARP, пакети насправді є спеціальними пакетами запитів ARP, а не пакетами відповідей ARP, як можна було б очікувати. Деякі причини цього пояснюються в RFC 5227 .
Безкоштовний пакет ARP має такі характеристики:
ff:ff:ff:ff:ff:ff
)
Безкоштовний ARP використовується з деяких причин:
Що стосується другої частини вашого запитання, HSRP , VRRP тощо використовуйте безоплатно ARP для оновлення таблиць MAC-адрес на пристроях L2 (комутаторів). Також є можливість використовувати записану MAC-адресу для HSRP замість "віртуальної". У такому випадку безоплатно ARP також оновлює таблиці ARP на пристроях / хостах L3.
Безоплатне ARP є ARP відповідь , який не був викликаний запит ARP. Безкоштовний ARP надсилається як кадр широкомовної передачі, як спосіб вузлу оголосити або оновити своє відображення IP на MAC для всієї мережі.
Пакет ARP містить поле " Код ", яке вказує, чи є пакет запитом чи відповіддю. У безплатній ARP встановлено поле Opcode 2
, яке вказує на відповідь:
Існує багато випадків використання для безплатних ARP , і всі, як правило, пов'язані з якоюсь потребою оновити таблиці адрес ARP Mapping або Switchport MAC.
HSRP (та багато інших протоколів надмірності) часто користуються Gratuitous ARP. Ця анімація проілюструє, як:
Помітьте, що RouterA та RouterB діляться IP-адресою 10.0.0.1
та MAC-адресою 0053.ffff.1111
. Хости налаштовані за допомогою шлюзу за замовчуванням 10.0.0.1
, і кожен з них має відображення ARP, що вказує 10.0.0.1
IP-адресу на 0053.ffff.1111
MAC-адресу. Оскільки MAC-адреса та IP-адреса поділяються між двома маршрутизаторами, ця карта ARP ніколи не доведеться оновлювати.
Однак , коли RouterA є активним маршрутизатором HSRP, MAC-адреса подається пристроєм, підключеним до комутатора 1. Якщо RouterA виходить з ладу, RouterB надсилає безоплатний ARP для оновлення таблиці MAC-комутатора комутатора, яку 0053.ffff.1111
тепер обслуговує MAC-адреса пристрій, підключений до комутатора 2.
Процес повторюється, якщо RouterB не працює, і RouterA повинен перейти на обслуговування IP / MAC 10.0.0.1
/0053.ffff.1111
Захоплення пакетів HSRP-переходів та GARP-пакетів у анімації вище можна завантажити та вивчити у Wireshark .
Хоча це не зовсім те, про що ви питали, враховуючи коментарі в цьому запитанні, я вважав, що розумно згадати щось про виявлення дублікатів адреси:
Існує часто плутаний момент щодо виявлення дублікатів адреси та безоплатного ARP. Коли комп'ютер намагається побачити, чи використовує інший хост у мережі певну IP-адресу, він не надсилає безоплатний ARP .
Причиною цього є, за визначенням, безплатний ARP призначений для оновлення відображень ARP інших пристроїв у мережі. Якщо IP-адреса не є унікальною, ми б не хотіли, щоб "тест на унікальність" спричинив оновлення неправильного запису ARP.
Насправді специфічний набір повідомлень ARP використовується для виявлення дублікатів адреси: зонд ARP та оголошення ARP .
Найважливішою відмінністю цих двох пакетів від фактичного безоплатного ARP є те, що зонд ARP не має повного відображення IP / MAC, тому неможливо, щоб зонд ARP випадково помилково оновив кеш ARP.
Загальний процес полягає в тому, що зонд ARP декілька разів надсилається, що спонукає власника відповідного IP-адреси надіслати безплатний ARP, якщо IP вже використовується. Якщо відповіді не отримано, то відправник надсилає ARP-повідомлення, щоб офіційно вимагати IP-адресу в мережі.
Оголошення ARP ще більше нагадує безкоштовний ARP, але технічно це (також) технічно не є тим, що в Анонсі ARP є опкод1
, що вказує на запит (де в якості безоплатного ARP буде встановлений опкод2
).
Якщо ви хочете трохи відео, тут є чудове пояснення.