MPLS i UDP: entropi for underlaget, reglar for domenet
Ein UDP-konvolutt gjev eit IP-underlag noko å hashe utan å miste tenestelappen. RFC 7510 avgrensar det òg til samarbeidande, styrte domene.
To leverandørar skildrar den same tenestelappen, og berre éin av dei nemner ein UDP-header. Skilnaden er ikkje kosmetisk: å leggje MPLS inn i UDP endrar kva det ytre IP-nettet kan sjå, og dermed kva det kan hashe over parallelle lenkjer. Det endrar òg kven som har lov til å ta det i bruk.
Laga er korte nok til å hugse: ytre IP, deretter UDP, deretter MPLS-etikettstakken, deretter tenestelasta. Etikettstakken forsvinn ikkje; han avgjer framleis videresendinga ved endepunktet som tek opp att etikettsvitsjing.
Kva UDP-konvolutten legg til
RFC 7510 definerer denne innkapslinga med UDP-destinasjonsport 6635 og brukar kjeldeportfeltet til å bere flytentropi. Eininga som kapslar inn avgjer kva som blir rekna som ein flyt og korleis verdien blir utleidd; standarden pålegg med vilje ikkje éin bestemd hash. Det gjev rom for leverandøratferd, og det tyder at to implementasjonar kan produsere ulike fordelingar for same trafikkblanding. Les verdien som eit hint til underlaget, ikkje som eit rutingsvedtak teke av standarden.
Fordelen er indirekte. Eit transittnett som lastbalanserer over ein ytre femling har no noko å hashe, medan ein bar MPLS-pakke kanskje berre baud den øvste etiketten. Om det hjelper avheng av plattforma som gjer balanseringa, og av kva felt ho faktisk tek omsyn til.
Entropi er ikkje bandbreidd
Å fordele flytar jamnare over dei tilgjengelege lenkjene er ikkje det same som å slå dei saman til éin raskare veg. Ein einaste applikasjonsflyt reiser framleis éin veg, og per-flyt-balansering kan ikkje overstige kapasiteten til lenkja han landar på. Mekanismen garanterer heller ikkje jamn fordeling; han gjev berre ein hashfunksjon betre inndata.
Hald konvolutten stabil for ein gjeven flyt med mindre omorganisering er akseptabelt. Viss kjeldeporten endrar seg per pakke, vil underlaget gjerne spreie éin samtale over fleire vegar, og gjenmontering blir problemet til applikasjonen. Målet er konsistent entropi per flyt, ikkje stadig nyheit.
Utbreiingsgrensa er ein del av spesifikasjonen
RFC 7510 avgrensar utbreiing til nettverket til éin operatør eller til eit tilstøytande sett av samarbeidande operatørar, med trafikken styrt slik at overbelastning blir unngått. Det krev òg filtrering som hindrar innkapsla trafikk i å rømme frå det domenet. Dette er ikkje dekorative vilkår; dei følgjer av at innkapslinga ikkje legg til eigen tryggleik. Handsame dei som føresetnader for ein legitim utbreiing, ikkje som forslag i eit designnotat.
Ingenting i UDP-headeren autentiserer avsendararen, og ingenting i han gjev konfidensialitet eller integritet for lasta. Viss trafikken treng vern, kjem det frå ein separat mekanisme med eigen nøkkelstyring. Å velje MPLS-in-UDP oppgraderer ikkje tillitsmodellen.
Ver merksam på kva vern gjer med hashinga du ønskte
Legg til IPsec eller ei anna tryggingsinnkapsling, og den ytre headeren som transitseiningar hashar kan endre form fullstendig. Tunnelmodus kan skjule den indre UDP-kjeldeporten bak ein ny ytre header, noko som tyder at entropien du nøye skaffa til vegar, kanskje ikkje er synleg der balanseringa skjer. Å kryptere fyrst og deretter kapsle inn er eit anna design enn motsett rekkjefølgje, og skilnaden viser seg som ei lenkje som ber langt meir trafikk enn naboane.
Vurder heile pakken slik han framstår på leidningen, ikkje berre laget standarden skildrar. Dette er òg punktet for å vurdere MTU og endepunktkapasitet på nytt, fordi ein UDP-header pluss eventuell tryggingsoverskot reduserer lasta som får plass.
Avgjer med heile vegen i sikte
Samanlikn MPLS-in-UDP med alternativ som GRE etter kriteria som er viktige for nettverket ditt: kva felt underlaget balanserer på, kor mykje overskot du har råd til, kva tryggingskonvolutt som krevst, og om domenegrensa kan handhevast. Å tilskrive det ein uvilkårleg ytingsfordel over GRE er ein konklusjon standardane ikkje støttar.
Test deretter med ekte trafikkblandingar og kontroller lenkjeutnyttinga per medlem, fordi ein hash som ser bra ut i laboratoriet kan kollapse på éi lenkje når alle flytar deler same tuple. Den ærlege oppsummeringa er at innkapslinga avdekkjer informasjon som underlaget kan bruke, innanfor eit domene som har samtykt i å styre han.