Неки L2VPN путеви нестају након додавања рефлектора путања
Сесије остају активне, али неколико L2VPN путева никада не стигне. Поново коришћени ID-јеви кластера, клијентски односи и граф рефлексије објашњавају тај селективни губитак.
Сесије остају активне, IGP је стабилан, а ипак се неколико L2VPN путева никада не појави на два од четири ивице провајдера. Тај образац припада проблему рефлексије, а не транспорта, јер покварена сесија отказује у целости, док поново коришћена граница рефлексије отказује селективно. Физички прстен нема с тим ништа; логички граф дистрибуције је место где су се ти путеви зауставили. Проналажење те тачке не захтева поновну изградњу контролне равни.
Губитак је селективан, што сужава претрагу
Четири ивице провајдера на физичком прстену захтевају шест логичких сесија за пуну мрежу, јер се сваки рутер упарује са остала три. Те сесије иду преко рутираног транспорта, па каблирање не говори ништа о томе колико суседстава постоји или које од њих рефлектује. Када две ивице пропусте одређени скуп префикса, док се све остало конвергира, кабл није осумњичени.
Селективни губитак указује на спречавање петљи, политику или смер односа, где неки путеви прелазе границу, а други се одбацују на путу. Потпуни губитак указује на сесију или на фамилију адреса. Одлучити који од та два гледате је први корисни корак, и он захтева једну команду.
Шта рефлексија заправо мења
Рефлексија путева ублажава правило да iBGP говорник не сме поново да оглашава путању научену од другог iBGP говорника. RFC 4456 изражава изузетак кроз однос између говорника и извора путање, а смер тог односа је важнији него што већина сажетака сугерише. Путања научена од клијента може се рефлектовати другим клијентима и не-клијентима, док се путања научена од не-клијента може рефлектовати само клијентима. Прочитајте асиметрију двапут, јер објашњава како додавање клијентског односа може сакрити грешку у дизајну: отвара пут који топологија никада није намеравала.
Атрибут CLUSTER_LIST бележи историју рефлексије, а рефлектор који пронађе сопствени ID кластера на том списку мора да игнорише оглас. То је спречавање петљи, и то је такође механизам који брише путање када се идентификатори случајно поново употребе. ORIGINATOR_ID игра сродну улогу именујући рутер који је први огласио путању.
Поново коришћени ID-јеви кластера су начин на који путање нестају
Мала мрежа позива на пречицу: дајте сваком рутеру ID кластера једнак његовом loopback-у, касније додајте још један рефлектор и поново искористите постојећи loopback јер је при руци. Ако се тај идентификатор сада појави на два независна ступња рефлексије, други ступањ види сопствени ID у CLUSTER_LIST и одбацује путању. Ништа не бележи грешку, јер је одбацивање исправан одговор на петљу.
Резервни рефлектори који опслужују један кластер су легални изузетак: они намерно деле ID како би било који од њих могао да опслужује исте клијенте. Идентификатор мора да одговара дизајну рефлексије, а не да разликује имена кућишта.
Нацртајте предвиђени граф пре него што дотакнете било коју конфигурацију: ко ствара префикс, који клијентски однос дозвољава прву рефлексију, који рефлектор је носи до следећег ступња и где седи последњи клијент. Сваки скок у том графу је место где поново коришћен идентификатор, однос који недостаје или филтер политике може да заустави путању. Када је граф нацртан, путања која недостаје има локацију уместо загонетке.
Одуприте се искушењу да сваки сусед постане клијент
Брза поправка за путању која недостаје је да сваки сусед постане клијент сваког рефлектора. Ширење се враћа, а дизајн престаје да вам било шта говори: умножава путање које сваки говорник носи и истовремено скрива који је однос требало да обави посао.
Мала мрежа обично захтева један од два облика. Пуна iBGP мрежа је шест сесија за четири рутера потпуно без рефлексије, а одређени пар рефлектора који опслужује преостале ивице је други. Оба је лакше промишљати него делимичну мрежу у којој сваки рутер мало рефлектује. Изаберите облик према обиму и понашању при отказу, а не према шеми каблова.
Проверите фамилију адреса пре него што оптужите рефлексију
TCP сесија на порту 179 доказује да два говорника могу да разговарају, и ништа о томе да ли је фамилија адреса VPN разменила и једну путању. Утврдите стање сесије, затим фамилију, затим појединачни префикс.
vtysh -c "show bgp summary"
vtysh -c "show bgp l2vpn evpn summary"
vtysh -c "show bgp l2vpn evpn"
Та три излаза раздвајају проблем суседства од проблема размене и од проблема префикса који недостаје. Ако фамилија уопште не приказује префиксе, проверите стање активирања и политику извоза суседа пре него што погледате рефлексију. Ако се префикси појављују на једној ивици, али не на другој, упоредите листу кластера и извор на страни која прима, а затим прођите граф из претходног одељка.
Држите доступност следећег скока и стање прослеђивања ван те провере. Рефлектована путања са недоступним следећим скоком је присутна и неупотребљива, што изгледа као отказ рефлексије док не погледате колону следећег скока. Решите следећи скок, потврдите унос прослеђивања и тек онда одлучите да ли је графу дистрибуције потребан још један рефлектор.