Řekněte na návrhové revizi „spusť IPv6 L3VPN přes IPv6 BGP“ a v té jediné větě se skrývají tři oddělená rozhodnutí. Které prefixy patří zákaznické VPN, které adresy nesou směrovací relaci mezi hranami poskytovatele a které jádro přenáší označený paket, jsou nezávislé volby. Všechny mohou být IPv6, mohou být smíšené a míchání je záměrně povoleno. Právě rozpletení těch tří promění vágní požadavek v něco, co lze na platformě otestovat.

Oddělte tři úlohy

První úlohou je zákaznická trasa: prefixy IPv6, které patří jednomu směrovacímu kontextu VPN a musí zůstat mimo každý jiný kontext. Druhou je směrovací spojení mezi hraničními směrovači poskytovatele, které tyto prefixy vyměňují. Třetí je transport, který nese označený zákaznický paket přes jádro ke vzdálené hraně. Pojmenovat jen jednu z nich ještě není návrh.

JobThe question it answersWhat confusion looks like
Customer VPN routesWhich IPv6 prefixes belong to each VPN context, and how are they kept apart?Prefixes leak into the global table and between customers
PE-to-PE BGP sessionWhich addresses carry the routing connection between the two edges?A session-family mismatch gets chased as a core transport fault
Transport to the remote PEHow does the chosen core move the labelled packet to the far edge?A route is present and unforwardable in the same moment

Každá úloha má vlastní adresní rodinu, vlastní způsoby selhání a často vlastní tým. Tabulka je užitečná právě proto, že jedna věta v návrhovém dokumentu má sklon sloučit všechny tři řádky do jednoho.

Rodina trasy je VPN-IPv6, ne IPv6 unicast

RFC 4659 definuje rodinu BGP/MPLS IPv6 VPN a členství v ní je konkrétnější, než slovo IPv6 naznačuje. Trasa je tam rozlišovač trasy spojený s prefixem IPv6 a kódovaný pod AFI 2 a SAFI 128. Běžný IPv6 unicast je jiná rodina, takže inzerát, který v looking glass vypadá jako prefix, vůbec nemusí být stejný objekt. Špatné čtení rodiny je první způsob, jak tento návrh selže.

Rozdíl kousne na hraně, kde musí trasa nejdřív přistát ve správném kontextu VPN, než cokoli udělá. Přijetí prefixu dokazuje, že výměna proběhla, a nic neříká o instalaci. Tahle mezera produkuje klasickou zprávu, kdy je relace nahoře a zákazník je pořád bez spojení.

Relace může běžet v jiné rodině než VPN

Nic nenutí BGP spojení mezi dvěma hranami používat vlastní rodinu VPN. Specifikace povoluje relaci IPv4 nebo IPv6 a transport IPv6 VPN je sám definován nad oba typy jádra. Relace IPv6 tedy nic neříká o rodině toho, co nese, a nevybírá ani datovou rovinu. Tři nezávislé bity a návrh by měl nést všechny tři odděleně.

To osvobozuje a zároveň se to snadno přečte špatně. Zákaznické trasy IPv6 mohou jet po relaci s adresou IPv4 a trasy IPv4 po relaci IPv6, pokud platforma kombinaci podporuje a další hop se vyhodnotí. Co nastat nesmí je, aby relace naznačovala obsah, v návrhovém dokumentu ani v monitoringu, který službu později prokazuje.

Další hop na jádře IPv4 má vlastní kódování

Když je jádro pod VPN IPv4, trasa se neobjeví s dalším hopem, který by vstupní hrana mohla použít přímo. Přijde ve formě IPv6 mapované do IPv4, a tak specifikace vyjadřuje výstupní hranu, když je transport pod ní IPv4. Vstupní směrovač pak musí tu mapovanou adresu převést na něco, na co skutečně dosáhne přes jádro, a vyhodnocení je krok, který tiše selhává.

Čtěte to jako závislost předávání, ne jako řetězec ke kopírování mezi zařízeními. Potvrďte tři věci na platformě, kterou skutečně provozujete: inzerovaný další hop se vyhodnotí na použitelnou cestu, zásobník značek se přijme a cíl přistane v zamýšleném kontextu VPN. Kterékoli z toho selže a zůstane relace, která vypadá zdravě a nic nepředává, a proto kontrola patří do akceptačního běhu, ne do pozdějšího incidentu.

Napište požadavek ve čtyřech řádcích

Požadavek, který stojí za testování, jmenuje čtyři věci: rodinu VPN, transport relace, kódování dalšího hopu a uspořádání jádra. Pak jmenuje jeden zákaznický prefix, který se má sledovat od začátku do konce: přes výměnu, instalaci, vyhodnocení značek a zpětnou cestu. „Podporuje IPv6 BGP“ nepokrývá ani jedno ze čtyř a skrývá, kde nesoulad skutečně sídlí.

Zdravá relace bez výměny VPN-IPv6 je neúplná a přijatá trasa VPN bez funkčního předávání je stejně neúplná. Držet je jako oddělené akceptační řádky zkracuje příští rozhovor o řešení problémů, protože selhávající řádek už je napsaný.

Související články