Kaks ühendusliini, üks tunnel: ümberlülitus, koormuse jagamine või liitmine
Tõrkeaegne ümberlülitus, voopõhine koormuse jagamine ja ühe voo liitmine on kolm erinevat lubadust. Kaks vaikimisi marsruuti annavad teile esimese, kuid mitte kahte ülejäänut.
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.
| Mechanism | Far-end requirement | Effect on one transfer | What breaks under a link loss |
|---|---|---|---|
| Packet-spraying overlay | A cooperating endpoint that reassembles the stream | Packets can spread across both links | Reordering and buffering on the surviving path; its own recovery logic decides what continues |
| MPTCP subflows | A peer or proxy that accepts subflows | Subflows can share one connection | Surviving subflows continue if the peer keeps them alive |
| Flow-hash balancing | Nothing new; the existing tunnel endpoint is enough | One outer flow still follows one link | Flows hashed onto the dead link move; established sessions break |
| Link failover | Nothing new | One path at a time; the second link sits idle | The 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.