Některé trasy L2VPN mizí po přidání reflektorů tras
Relace zůstávají navázané, ale několik tras L2VPN nikdy nedorazí. Znovu použité identifikátory clusteru, klientské vztahy a graf reflexe vysvětlují tento selektivní výpadek.
Relace zůstávají navázané, IGP je stabilní, a přesto se hrstka tras L2VPN nikdy neobjeví na dvou ze čtyř okrajů poskytovatele. Tento vzorec patří k problému reflexe, nikoli k dopravnímu problému, protože porušená relace selže jako celek, zatímco znovu použitá hranice reflexe selhává selektivně. Fyzický okruh s tím nemá nic společného; logický distribuční graf je místem, kde se tyto trasy zastavily. Nalezení tohoto bodu nevyžaduje přestavbu řídicí roviny.
Výpadek je selektivní, což zužuje hledání
Čtyři okraje poskytovatele na fyzickém okruhu potřebují šest logických relací pro plnou síť, protože každý router se páruje se zbývajícími třemi. Tyto relace jedou po směrovaném transportu, takže kabeláž nic neříká o tom, kolik sousedství existuje nebo které z nich reflektuje. Když dva okraje vynechají určitou sadu prefixů, zatímco všechno ostatní konverguje, kabel není podezřelý.
Selektivní výpadek ukazuje na prevenci smyček, politiku nebo směr vztahu, kdy některé trasy překročí hranici a jiné jsou cestou zahozeny. Úplný výpadek ukazuje na relaci nebo adresní rodinu. Rozhodnout, které z těch dvou vidíte, je první užitečný krok a stojí jeden příkaz.
Co reflexe ve skutečnosti mění
Reflexe tras uvolňuje pravidlo, že iBGP mluvčí nesmí znovu inzerovat trasu naučenou od jiného iBGP mluvčího. RFC 4456 vyjadřuje výjimku prostřednictvím vztahu mezi mluvčím a zdrojem trasy a směr tohoto vztahu je důležitější, než většina shrnutí naznačuje. Trasa naučená od klienta může být reflektována dalším klientům a neklientům, zatímco trasa naučená od neklienta může být reflektována pouze klientům. Přečtěte si asymetrii dvakrát, protože vysvětluje, jak přidání klientského vztahu může skrýt chybu návrhu: otevírá cestu, kterou topologie nikdy nezamýšlela.
Atribut CLUSTER_LIST zaznamenává historii reflexe a reflektor, který ve svém seznamu najde vlastní identifikátor clusteru, musí inzerát ignorovat. To je prevence smyček a zároveň mechanismus, který maže trasy, když se identifikátory omylem znovu použijí. ORIGINATOR_ID hraje příbuznou roli tím, že pojmenovává router, který trasu inzeroval jako první.
Znovu použité identifikátory clusteru jsou způsob, jakým trasy mizí
Malá síť láká ke zkratce: dejte každému routeru identifikátor clusteru rovný jeho loopbacku, později přidejte další reflektor a znovu použijte existující loopback, protože je po ruce. Pokud se tento identifikátor nyní objeví ve dvou nezávislých stupních reflexe, druhý stupeň uvidí své vlastní ID v CLUSTER_LIST a trasu zahodí. Nic nezapíše chybu, protože zahození je správná reakce na smyčku.
Redundantní reflektory obsluhující jeden cluster jsou legitimní výjimkou: sdílejí ID záměrně, aby kterýkoli z nich mohl obsluhovat stejné klienty. Identifikátor musí odpovídat návrhu reflexe, ne odlišovat názvy šasi.
Nakreslete zamýšlený graf, než se dotknete jakékoli konfigurace: kdo prefix vytváří, který klientský vztah umožňuje první reflexi, který reflektor ho nese do dalšího stupně a kde sedí poslední klient. Každý skok v tomto grafu je místem, kde znovu použitý identifikátor, chybějící klientský vztah nebo filtr politiky může trasu zastavit. S nakresleným grafem má chybějící trasa umístění místo záhady.
Odolejte tomu udělat z každého souseda klienta
Rychlá oprava chybějící trasy je udělat z každého souseda klienta každého reflektoru. Šíření se vrátí a návrh vám přestane cokoli říkat: znásobí trasy, které každý mluvčí nese, a zároveň skryje, který vztah měl práci vykonat.
Malá síť obvykle potřebuje jeden ze dvou tvarů. Plná iBGP síť je šest relací pro čtyři routery zcela bez reflexe a určená dvojice reflektorů obsluhující zbývající okraje je ten druhý. Oba se snáze promýšlejí než částečná síť, v níž každý router trochu reflektuje. Vyberte tvar podle rozsahu a chování při poruše, ne podle schématu kabeláže.
Zkontrolujte adresní rodinu, než obviníte reflexi
TCP relace na portu 179 dokazuje, že spolu dva mluvčí mohou mluvit, a nic o tom, zda adresní rodina VPN vyměnila jedinou trasu. Zjistěte stav relace, pak rodinu, pak jednotlivý prefix.
vtysh -c "show bgp summary"
vtysh -c "show bgp l2vpn evpn summary"
vtysh -c "show bgp l2vpn evpn"
Tyto tři výstupy oddělují problém sousedství od problému výměny a od problému chybějícího prefixu. Pokud rodina neukazuje vůbec žádné prefixy, prozkoumejte stav aktivace a exportní politiku souseda, než se podíváte na reflexi. Pokud se prefixy objeví na jednom okraji, ale ne na druhém, porovnejte seznam clusterů a původce na přijímající straně a pak projděte graf z předchozí části.
Dostupnost dalšího skoku a stav předávání držte mimo tuto kontrolu. Reflektovaná trasa s nedostupným dalším skokem je přítomná a nepoužitelná, což vypadá jako selhání reflexe, dokud se nepodíváte na sloupec dalšího skoku. Vyřešte další skok, potvrďte záznam předávání a teprve potom rozhodněte, zda distribuční graf potřebuje další reflektor.