Dve internetni povezavi lahko naredita VPN bolj dosegljiv in za nekatere delovne obremenitve hitrejši, a mehanizem odloči, katera od tega se zgodi. Usmerjevalnik z dvema privzetima potema ni združen, tunel, ki prenaša tisoče notranjih povezav, pa je še vedno en sam zunanji tok. Če obljubo poimenujemo najprej, je to razlika med zasnovo in dragim razočaranjem. Spodnja tabela ločuje možnosti po tem, kaj vsaka potrebuje na oddaljenem koncu in kaj izguba povezave naredi s prenosom.

Tri obljube in samo ena potrebuje partnerja

Preklop ob okvari ohranja pot dosegljivo, ko prednostna povezava izgine. Razporejanje po zgoščeni vrednosti tokov razdeli neodvisne tokove na obe izhodni povezavi. Združevanje enega toka omogoči enemu prenosu, da hkrati uporabi obe povezavi. To so različni izdelki z različnimi zahtevami in samo zadnji potrebuje sodelovanje nečesa zunaj vašega usmerjevalnika.

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

Nič v tej tabeli ni razlog za nakup druge povezave. Naredi nekaj drugega: prepreči, da bi zasnovo preklopa ocenjevali, kot da je združevanje.

Zakaj je tunel za usmerjevalnik videti kot en sam tok

Usmerjevalnik, ki uravnava obremenitev, zgošča naslova izvora in cilja skupaj z vrati, nato pošlje celoten tok tja, kamor kaže zgoščena vrednost. Tunel VPN je z vidika usmerjevalnika en tak tok, karkoli že teče v njem. Notranje povezave nikoli ne dosežejo odločitve o zgoščeni vrednosti, ker je zunanja glava že določila pot. Zato lahko druga izhodna povezava podvoji skupno zmogljivost za veliko uporabnikov in v velikem prenosu enega uporabnika ne spremeni ničesar.

Dva ločena tunela vam lahko data dva kandidata, a še vedno potrebujeta namerno politiko, ki dodeljuje promet in ohranja odgovore na poti, po kateri je šla zahteva. Asimetrično usmerjanje je običajen izid preskoka tega koraka. Najmanj je politika, ki poimenuje tok, prednostno povezavo in rezervno povezavo.

Združevanje Ethernet ne prečka nepovezanih ponudnikov, ker mora oddaljeni konec sodelovati v protokolu združevanja. Združevanje čez dva ponudnika interneta je raziskovalni projekt, razen če obstaja sodelujoča končna točka.

Kaj večpotni TCP potrebuje na obeh koncih

Dokumentacija Linuxa o Multipath TCP opisuje več podtokov, ki pripadajo eni povezavi. Podpora jedra na enem koncu sama po sebi ničesar ne spremeni, saj mora tudi partner sprejeti te podtoke. Posredniški strežnik na oddaljeni strani je druga običajna ureditev in postane komponenta z lastno zmogljivostjo in razpoložljivostjo, ki ju je treba načrtovati. Ista logika izključuje preprost odgovor za WireGuard, katerega prenos je UDP: MPTCP raste v podtokih TCP in tega tunela brez nečesa drugega v zasnovi ne more združiti.

Preverite, ali je funkcija jedra omogočena, preden načrtujete okoli nje, ker jo mnoge distribucije dobavljajo izklopljeno. Ti trije ukazi odgovorijo v minuti.

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

Izberite po delovni obremenitvi, ne po brošuri

Če je delovna obremenitev veliko neodvisnih sej, lahko razporejanje po zgoščeni vrednosti doda zmogljivost brez sodelovanja na oddaljenem koncu. Če gre za en velik prenos, bo pomagala le zasnova združevanja in ta zasnova potrebuje sodelujočega partnerja. Če je zahteva, da se delo nadaljuje, ko povezava umre, je odgovor preklop in prepustnost enega prenosa ni pomembna.

Zahtevo zapišite v enem stavku z glagolom: ena varnostna kopija se konča dvakrat hitreje, ali padla povezava ne konča seje. Nejasni cilji ustvarjajo zasnove, ki jih nihče ne more sprejeti ali zavrniti. Nato odločite, kaj je lahko oddaljeni konec, ker je najcenejša možnost pogosto tista, ki tam ne zahteva nič novega. Ta omejitev odstrani večino trditev iz brošure še pred prvim sestankom.

Tri obljube imejte v dokumentu zahtev ločene. Zasnova, ki trdi vse tri, običajno dobavi eno in tiho predpostavi druge. Naslednji razdelek preizkusi, katera je res dobavljena.

Preizkusite en prenos in veliko, nato izvlecite povezavo

Primerjajte en neprekinjen prenos z več vzporednimi prenosi na isti cilj in zabeležite izgubo, zakasnitev in izkoriščenost vsake povezave. Dobiček samo pri vzporednih sejah kaže na razporeditev tokov, ne na združevanje enega toka. Izgubo ene izhodne povezave preizkusite ločeno, ker zmogljivost med delovanjem obeh povezav ne pove ničesar o preklopu za vzpostavljeno sejo. Pred vsakim preizkusom in po njem zabeležite pot, vtičnico in števce ponovnih prenosov.

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

Ko en sam prenos še vedno uporablja eno izhodno povezavo, zasnova počne točno to, kar implicira zgoščena vrednost toka. Ko se vzporedni prenosi razporedijo na obe, razporejanje deluje, združevanje pa ne. Zabeležite, katero od treh obljub zasnova resnično drži, in naslednji pogovor o zmogljivosti se začne z dokazi, ne s trditvijo dobavitelja.

Sorodni članki