Dve izhodni povezavi, a en sam tunel: preklop, razporejanje ali združevanje
Preklop ob okvari, razporejanje po toku in združevanje enega toka so tri različne obljube. Dve privzeti poti vam dasta prvo, ne pa drugih dveh.
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.
| 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 |
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.