Тихий хост EVPN так і не розв'язується: простежте ARP до прив'язки
Хост, який рідко передає, може виглядати відсутнім навіть при активному підключенні. Послідовно простежте обмін розв'язання, маршрут MAC і прив'язку проксі.
Кінцева точка підключена, її порт активний, а хост моніторингу досі не може до неї дістатися. Хтось запускає ping з іншого боку, і все починає працювати, через що проблема здається періодичною, а fabric — безневинною. Цей шаблон — підпис тихого хоста: він рідко передає, тому поведінка fabric під час виявлення й оновлення важливіша за стан його підключення. Почніть з однієї цільової IP, MAC і bridge domain і простежте наступний обмін розв'язання.
Простежте наступний обмін ARP або ND
Для IPv4 спостерігайте за обміном ARP у хоста-запитувача; для IPv6 стежте за Neighbor Solicitation і Advertisement. Переконайтеся, що запит потрапляє в потрібний локальний сегмент і потрібний VNI, бо на запит, який так і не доходить до правильного bridge domain, не може відповісти жоден проксі.
Далі подивіться, що fabric знає про ціль. Маршрут лише за MAC може визначити адресата Layer 2, тоді як у проксі ще немає прив'язки IP-to-MAC для нього. Це окремі записи, і перевірка одного нічого не каже про інший.
Якщо існує чинна прив'язка, проксі може відповісти згідно зі своєю політикою, але MAC у цій прив'язці все ще потребує активного шляху пересилання. Якщо прив'язки немає, запит має дійти до підключення кінцевої точки шляхом flooding або реплікації, перш ніж щось зможе навчитися з відповіді.
Два записи, які мають збігатися
Маршрут MAC відповідає, де живе адреса Ethernet. Таблиця проксі відповідає, який IP відображається на який MAC. У хоста, який давно не говорив, може бути цілком добрий маршрут MAC і жодного придатного запису проксі, і це саме той стан, який дає збій розв'язання на здоровому підключенні.
На віддаленому підключенні перевірте, чи справді кінцева точка отримує обмін і відповідає на нього. Її відповідь оновлює локальне навчання та відповідне оголошення EVPN, тому ручний ping ніби все виправляє: ви створили трафік, якого чекала fabric. Це також пояснює, чому виправлення не тримається: щойно оновлений запис старіє, кінцева точка знову замовкає. Запланований ping лікує симптом і приховує прогалину в проєктуванні.
Після відповіді простежте вибраний маршрут і встановлений стан пересилання назад до запитувача. Успіх розв'язання й успіх пересилання — дві окремі події, і тікет, який їх змішує, надсилає вас не на той рівень.
Що стандарт насправді припускає
RFC 9161 описує динамічне навчання проксі та типове flooding невідомих запитів ARP і ND. Повне придушення цього flooding обмежене розгортаннями, чиї припущення щодо навчання або забезпечення роблять його безпечним, а це вужча умова, ніж припускає більшість посібників із налаштування.
Fabric, яка очікує щойно виявлені кінцеві точки, потребує робочого шляху для цих запитів. Якщо хтось вимкнув flooding невідомих запитів, щоб зменшити трафік BUM, тихі хости — це та частина населення, яка за це платить, і симптом приходить тижнями пізніше як скарга на періодичну доступність.
Читайте налаштування придушення як заяву про те, що fabric обіцяє знати. Якщо ніщо не забезпечує прив'язки, обіцянка не є правдивою для рідкісних відправників. Порівняйте налаштоване придушення із системою забезпечення, яка має його живити. Коли ці двоє не збігаються, fabric поводиться точно так, як налаштовано, і виправляти потрібно саме очікування.
Оновлення, старіння та статична альтернатива
Стандарт описує підтримувані проби оновлення до того, як динамічні записи постаріють. Відповіді оновлюють відповідний стан bridge і проксі; відсутність відповідей може законно призвести до видалення та відкликання маршруту. Це не помилка, яку слід придушувати розтягуванням кожного таймера.
Нескінченне подовження таймерів старіння замінює видимий збій на застарілий: fabric продовжує оголошувати розташування, яке хост залишив. Використовуйте задокументовані засоби керування реалізації та виберіть термін служби, що відповідає тому, як часто кінцеву точку розумно очікувати говорити.
Для відомих, керованих кінцевих точок статична або надана контролером прив'язка є законною другою моделлю. Їй потрібен власник, який займається заміною та переміщенням, бо наданий запис не оновлює себе, коли хост переходить на інший порт.
Що записати перед наступним тікетом
Тримайте джерело прив'язки, час останнього оновлення, поточне розташування та будь-яку подію відкликання поруч із маршрутом MAC. Цей запис відповідає на питання, яке тікет насправді ставить: застосунок чекає на виявлення, покладається на застарілий стан чи не може пересилати після успішного розв'язання?
Потім вирішіть, який із трьох ви готові експлуатувати. Виявлення з flooding, оновлення з реалістичним терміном служби або забезпечення з власником — усі є захищуваними. Fabric, налаштована для одного й така, від якої очікують поведінки як від іншого, — це місце, де тихі хости зникають.