Hvorfor din L2VPN ignorerer den RSVP-TE LSP, du lige har bygget
En pseudowire-etiket navngiver en tjeneste; transportetiketten flytter rammen. Sammenlign at fastgøre en tjeneste til en valgt LSP med at lade IGP'en vælge en.
To ingeniører kan forlade samme vedligeholdelsesvindue overbevist om, at den nye sti er i drift, og begge tage fejl af forskellige grunde. Den ene byggede LSP'en og antog, at tjenesten ville følge med. Den anden lod tjenesten være og antog, at intet var ændret. En pseudowire bruger altid kun den transport, som dens peer-adresse opløses til i det øjeblik, så det egentlige spørgsmål er, hvad den opløsning producerer lige nu, og de to designs svarer forskelligt på det.
Én etiket navngiver en tjeneste, den anden flytter en pakke
Pseudowire-etiketten, signaleret af målrettet LDP som beskrevet i RFC 4447, fortæller den modtagende udbyderkant, hvilket tilslutningskredsløb der skal modtage rammen. Den siger intet om, hvordan rammen kom dertil. Etiketten nedenunder tilhører transporten, og den stak bygges af det, der annoncerede nåbarhed for peer-loopbacken, hvad enten det er LDP, RSVP-TE eller en segmentrutet sti. Fordi forskellige protokoller signalerer de to lag, kan det ene være sundt, mens det andet er forældet. Den adskillelse er hele kilden til forvirringen.
Det er værd at sige rent ud: pseudowiren vælger ikke LSP'en. Den afleverer en ramme til transporten, og transporten beslutter ud fra den destinationsadresse, den har fået.
Det er også derfor, en ren ping gennem den nye LSP beviser så lidt. LSP'en kan være oppe, etiketteret og bære andre tjenester, mens din pseudowire stadig opløses gennem et andet næste hop. Indtil du læser bindingen, er de to fakta uforbundne.
Mulighed A: fastgør pseudowiren til en valgt transport
Fastgøring betyder at gøre tjenestens transportopløsning deterministisk. Afhængigt af platformen antager det form af en tunnelvalgspolitik, et eksplicit transportendepunkt på tjenesten eller en rutepolitik, der omskriver næste hop for peer-adressen. Alle tre gør det samme under overfladen: de tvinger opløsningen af én destination over på en bestemt LSP. Det er det, der gør resultatet reviderbart bagefter.
Prisen er omfanget. En politik, der matcher på en peer-adresse, påvirker hver tjeneste, der peger på den peer, ikke kun den pseudowire, du havde i tankerne.
Fallback fortjener en beslutning før ændringsvinduet, ikke under det. Hvis den fastgjorte LSP falder, lader du enten tjenesten køre på en anden godkendt sti eller lade den stoppe. En politik, der stille falder tilbage på en sti, der bryder en latens- eller disjunkthetsbetingelse, har forvandlet et rent afbrud til noget, der er meget sværere at forklare for nogen.
Mulighed B: lad IGP'en vælge og se, hvad der sker
At lade tjenesten være er et legitimt design og ofte det bedre. Pseudowiren følger samme opløsning som al anden trafik til peer-loopbacken, så den arver IGP-konvergens, præfikssuppression og den redundans, kernen allerede tilbyder. Færre politikker betyder færre steder, hvor et forældet match kan gemme sig. Handlen er, at du ikke længere styrer, hvilken sti tjenesten tager, kun at der findes en sti.
Equal-cost multipath skærper den handel mere, end det ser ud ved første øjekast. Hashing er pr. flow, så to samtaler i én pseudowire kan afgå på forskellige ydre etiketter.
Læs den installerede videresendelse, før du tror på nogen af dem
Start med peer-adressen i stedet for tjenesten. På Junos udskriver show route 203.0.113.1 detail det valgte næste hop og etiketoperationen, og show route table mpls.0 mapper den indgående etiket til den operation. På IOS XR giver show mpls l2transport vc 100 detail pseudowire-tilstanden sammen med den pålagte stak.
Bekræft den LSP, transporten faktisk bruger, ikke den dit designdokument nævner. traceroute mpls ipv4 203.0.113.1/32 på IOS XR gennemgår den etiketskiftede sti og lister etiketterne og de udgående grænseflader langs den, hvilket er det nærmeste, man kommer på selv at se stien. Gentag derefter øvelsen fra den fjerne udbyderkant, fordi returretningen opløses uafhængigt, og asymmetri er almindelig efter en delvis politik-udrulning. En sti, der er rigtig den ene vej og forkert den anden, er værre end en, der er forkert i begge retninger, fordi halvdelen af dine tests vil bestå.
Gem evidensen sammen med tjenesteposten: peer-adresse, næste hop, ydre etiket og datoen, du kontrollerede det. Rutepolitikker ældes dårligt, og ingen husker, hvilken der var gældende for to kvartaler siden.
Vælg efter fejlmåde, ikke efter præference
Fastgøring passer til tjenester med en betingelse, IGP'en ikke kan udtrykke, og til teams, der kan vedligeholde politikken gennem hver ændring. At overlade det til IGP'en passer til tjenester, der skal overleve enhver enkelt fejl uden et menneske i loopet.
Det afgørende spørgsmål er, hvad en forkert sti koster dig. Hvis en tjeneste på den forkerte LSP blot yder lidt dårligere, lad IGP'en beslutte, og brug indsatsen på overvågning. Hvis en forkert sti bryder en kontrakt, en revisionsbemærkning eller et disjunkthetskrav, så fastgør den og skriv fallbacken ned. Test derefter fallbacken, fordi en uafprøvet fallback er en antagelse, ikke en plan. Uanset hvad, genlæs den installerede binding efter enhver ændring i kernen, og behandl en pseudowire, der kom op, som bevis for intet andet end at signaleringen virker.