Dvije internet linije mogu učiniti VPN dostupnijim, a nekim radnim opterećenjima i bržim, ali mehanizam odlučuje šta će se od toga dogoditi. Ruter s dvije podrazumijevane rute nije spojen, a tunel koji nosi hiljade unutrašnjih veza i dalje je jedan vanjski tok. Imenovati obećanje prvo razlika je između projekta i skupog razočaranja. Tabela ispod dijeli opcije prema tome šta svaka traži na udaljenom kraju i šta gubitak linka čini s prijenosom.

Tri obećanja, a samo jedno traži partnera

Prebacivanje na rezervni link održava put dostupnim kada preferirani link nestane. Balansiranje po hešu tokova raspoređuje nezavisne tokove na oba uzlazna kanala. Spajanje jednog toka omogućava jednom prijenosu da istovremeno koristi oba linka. To su različiti proizvodi s različitim zahtjevima, i samo posljednji traži saradnju nečega izvan vašeg rutera.

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šta u toj tabeli nije razlog za kupovinu druge linije. Ona radi nešto drugo: sprječava da se projekat prebacivanja ocjenjuje kao da je spajanje.

Zašto tunel za ruter izgleda kao jedan tok

Ruter koji balansira opterećenje hešira adrese izvora i odredišta zajedno s portovima, a zatim šalje cijeli tok tamo gdje heš pokazuje. VPN tunel je jedan takav tok iz perspektive rutera, šta god da radi unutar njega. Unutrašnje veze nikada ne stižu do odluke o hešu, jer je vanjsko zaglavlje već odredilo put. Zato drugi uzlazni kanal može udvostručiti ukupni kapacitet za mnoge korisnike i ne promijeniti ništa za veliki prijenos jednog korisnika.

Dva odvojena tunela mogu vam dati dva kandidata, ali im i dalje treba namjerna politika koja dodjeljuje saobraćaj i drži odgovore na putu kojim je zahtjev otišao. Asimetrično rutiranje uobičajen je rezultat preskakanja tog koraka. Minimum je politika koja imenuje tok, preferirani link i rezervni link.

Ethernet spajanje ne prelazi preko nepovezanih provajdera, jer udaljeni kraj mora učestvovati u protokolu agregacije. Spajanje preko dva ISP-a je istraživački projekat osim ako ne postoji krajnja tačka koja sarađuje.

Šta višeputni TCP traži na oba kraja

Linux dokumentacija za Multipath TCP opisuje više podtokova koji pripadaju jednoj vezi. Podrška kernela na jednom kraju sama po sebi ništa ne mijenja, jer i partner mora prihvatiti te podtokove. Proxy na udaljenoj strani je drugi uobičajen raspored, i on postaje komponenta s vlastitim kapacitetom i dostupnošću o kojima treba planirati. Ista logika isključuje jednostavan odgovor za WireGuard, čiji je transport UDP: MPTCP razvija TCP podtokove i ne može agregirati taj tunel bez nečeg drugog u projektu.

Provjerite je li funkcija kernela uključena prije nego što projektujete oko nje, jer mnoge distribucije je isporučuju isključenu. Ove tri komande odgovaraju na to za minutu.

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

Birajte prema radnom opterećenju, ne prema brošuri

Ako je radno opterećenje mnogo nezavisnih sesija, balansiranje po hešu može dodati kapacitet bez saradnje na udaljenom kraju. Ako je jedan veliki prijenos, pomoći će samo projekat agregacije, a tom projektu treba partner koji sarađuje. Ako je zahtjev da posao nastavi kada link umre, odgovor je prebacivanje na rezervu i propusnost jednog prijenosa je nevažna.

Napišite zahtjev u jednoj rečenici s glagolom: jedna rezerva završava dvostruko brže, ili ispalni link ne prekida sesiju. Nejasni ciljevi daju projekte koje niko ne može prihvatiti ni odbiti. Zatim odlučite šta udaljeni kraj smije biti, jer najjeftinija opcija često je ona koja tamo ne traži ništa novo. To ograničenje uklanja većinu tvrdnji iz brošure prije prvog sastanka.

Držite tri obećanja odvojeno u dokumentu zahtjeva. Projekat koji tvrdi sva tri obično isporuči jedno i tiho pretpostavi ostala. Sljedeći dio provjerava koje je zaista isporučeno.

Testirajte jedan prijenos i mnogo njih, pa izvucite link

Uporedite jedan trajni prijenos s nekoliko paralelnih prijenosa na isto odredište, i zabilježite gubitak, kašnjenje i iskorištenje po linku za svaki. Dobitak samo s paralelnim sesijama ukazuje na raspodjelu tokova, a ne na agregaciju jednog toka. Testirajte gubitak jednog uzlaznog kanala odvojeno, jer kapacitet dok oba linka rade ne govori ništa o prebacivanju za uspostavljenu sesiju. Zabilježite rutu, socket i brojače ponovnog prenosa prije i poslije svakog testa.

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

Kada jedan prijenos i dalje koristi jedan uzlazni kanal, projekat radi tačno ono što heš toka implicira. Kada se paralelni prijenosi rasporede na oba, balansiranje radi a agregacija ne. Zabilježite koje od tri obećanja projekat zaista drži, i sljedeći razgovor o kapacitetu počinje od dokaza, a ne od tvrdnje prodavača.

Povezani članci