Kaks internetiliini võivad muuta VPN-i kättesaadavamaks ja mõne töökoormuse jaoks ka kiiremaks, kuid mehhanism otsustab, kumb neist juhtub. Kahe vaikimisi marsruudiga ruuter ei ole liidetud ning tuhandeid sisemisi ühendusi kandev tunnel on ikka üks väline voog. Lubaduse esimesena nimetamine on vahe projekti ja kalli pettumuse vahel. Allolev tabel eraldab valikud selle järgi, mida igaüks kaugemas otsas vajab ja mida lingi kadu ülekandega teeb.

Kolm lubadust ja ainult üks vajab partnerit

Tõrkeaegne ümberlülitus hoiab tee kättesaadavana, kui eelistatud link kaob. Voo räsi järgi koormuse jagamine jaotab sõltumatud vood mõlemale ühendusliinile. Ühe voo liitmine lubab ühel ülekandel kasutada mõlemat linki korraga. Need on erinevad tooted erinevate nõuetega ning ainult viimane vajab koostööd millegagi väljaspool teie ruuterit.

MechanismFar-end requirementEffect on one transferWhat breaks under a link loss
Packet-spraying overlayA cooperating endpoint that reassembles the streamPackets can spread across both linksReordering and buffering on the surviving path; its own recovery logic decides what continues
MPTCP subflowsA peer or proxy that accepts subflowsSubflows can share one connectionSurviving subflows continue if the peer keeps them alive
Flow-hash balancingNothing new; the existing tunnel endpoint is enoughOne outer flow still follows one linkFlows hashed onto the dead link move; established sessions break
Link failoverNothing newOne path at a time; the second link sits idleThe session stalls or restarts on the other link

Miski selles tabelis ei ole põhjus osta teine liin. See teeb midagi muud: takistab ümberlülitusprojekti hindamist nii, nagu oleks see liitmine.

Miks tunnel paistab ruuterile ühe voona

Koormust tasakaalustav ruuter räsib allika- ja sihtkoha aadressid koos portidega ning saadab seejärel kogu voo sinna, kuhu räsi osutab. VPN-tunnel on ruuteri vaatepunktist üks selline voog, ükskõik mis selle sees jookseb. Sisemised ühendused ei jõua kunagi räsi otsuseni, sest väline päis on tee juba määranud. Seetõttu võib teine ühendusliin paljude kasutajate kogumahtu kahekordistada ja ühe kasutaja suure ülekande juures mitte midagi muuta.

Kaks eraldi tunnelit võivad anda kaks kandidaati, kuid need vajavad endiselt teadlikku poliitikat, mis määrab liikluse ja hoiab vastused sellel teel, mis päringu kohale viis. Asümmeetriline marsruutimine on selle sammu vahelejätmise tavaline tulemus. Miinimum on poliitika, mis nimetab voo, eelistatud lingi ja varulingi.

Etherneti liitmine ei ületa omavahel mitteseotud teenusepakkujaid, sest kaugem ots peab liitmisprotokollis osalema. Liitmine kahe internetiteenuse pakkuja vahel on uurimisprojekt, kui just ei ole olemas koostööd tegevat lõpp-punkti.

Mida mitmetee-TCP mõlemas otsas vajab

Linuxi Multipath TCP dokumentatsioon kirjeldab mitut ühele ühendusele kuuluvat alamvoogu. Kerneli tugi ühes otsas ei muuda iseenesest midagi, sest ka partner peab need alamvood vastu võtma. Puhverserver kaugemas otsas on teine tavaline lahendus ja sellest saab komponent, mille mahtuvust ja käideldavust tuleb planeerida. Sama loogika välistab lihtsa vastuse WireGuardi jaoks, mille transport on UDP: MPTCP kasvatab TCP alamvooge ega suuda seda tunnelit ilma millegi muuga projektis liita.

Kontrollige, kas kerneli funktsioon on lubatud, enne kui selle ümber projekteerite, sest paljud distributsioonid tarnivad selle väljalülitatuna. Need kolm käsku vastavad sellele minutiga.

sysctl net.mptcp.enabled
ss -M | head
ip mptcp limits show

Valige töökoormuse, mitte brošüüri järgi

Kui töökoormus on palju sõltumatuid sessioone, saab voo räsi järgi koormuse jagamine mahtu lisada ilma koostööta kaugemas otsas. Kui see on üks suur ülekanne, aitab ainult liitmislahendus ja see lahendus vajab koostööd tegevat partnerit. Kui nõue on, et töö jätkuks lingi surres, on vastuseks ümberlülitus ja ühe ülekande läbilaskevõime on ebaoluline.

Kirjutage nõue ühe lausega, milles on tegusõna: üks varukoopia lõpeb kaks korda kiiremini või langenud link ei lõpeta sessiooni. Ebamäärased eesmärgid annavad lahendusi, mida keegi ei saa vastu võtta ega tagasi lükata. Seejärel otsustage, milleks kaugem ots tohib olla, sest odavaim valik on sageli see, mis ei nõua seal midagi uut. See piirang kõrvaldab enamiku brošüüri väidetest enne esimest kohtumist.

Hoidke kolm lubadust nõudedokumendis eraldi. Lahendus, mis väidab kõiki kolme, pakub tavaliselt ühe ja eeldab vaikselt teisi. Järgmine osa kontrollib, milline neist tegelikult pakutakse.

Testige ühte ülekannet ja paljusid, seejärel tõmmake link välja

Võrrelge ühte pidevat ülekannet mitme paralleelse ülekandega samasse sihtkohta ja registreerige igaühe jaoks kadu, viivitus ja lingipõhine kasutus. Kasu ainult paralleelsete sessioonidega osutab voogude jaotamisele, mitte ühe voo liitmisele. Testige ühe ühendusliini kadu eraldi, sest maht mõlema lingi töötamise ajal ei ütle ühtegi sõna ümberlülituse kohta olemasoleva sessiooni jaoks. Jäädvustage marsruut, pesa ja kordussaadete loendurid enne ja pärast iga testi.

ip route show default
ip route get 10.80.0.5
mtr -n -c 20 -r 10.80.0.5

Kui üksikülekanne kasutab endiselt ühte ühendusliini, teeb lahendus täpselt seda, mida voo räsi eeldab. Kui paralleelsed ülekanded jaotuvad mõlemale, töötab koormuse jagamine ja liitmine ei tööta. Registreerige, millist kolmest lubadusest lahendus tegelikult hoiab, ja järgmine mahuvestlus algab tõenditest, mitte tarnija väitest.

Seotud artiklid