A summa vera di i canali Internet - OpenMPTCPRuter

A summa vera di i canali Internet - OpenMPTCPRuter

Hè pussibule cunghjuntà parechji canali Internet in unu? Ci hè parechje misconceptions è miti intornu à questu tema, ancu i ingegneri di rete sperimentati spessu ùn sanu micca chì questu hè pussibule. In a maiò parte di i casi, l'agregazione di ligami hè erroneamente chjamata equilibriu NAT o failover. Ma a vera summa permette eseguite una sola cunnessione TCP simultaneamente nantu à tutti i canali Internet, per esempiu, a trasmissione di video in modu chì se qualcunu di i canali Internet hè interrotta, a trasmissione ùn serà micca interrotta.

Ci sò suluzioni cummirciali caru per a trasmissione video, ma tali dispusitivi costanu assai kilobucks. L'articulu descrive a cunfigurazione di u pacchettu liberu, apertu OpenMPTCPRuter, è tratta di miti populari nantu à a summazione di u canali.

Miti nantu à i canali summing

Ci sò parechji routers di casa chì supportanu a funzione Multi-WAN. Calchì volta i pruduttori chjamanu stu canali summing, chì ùn hè micca veramente veru. Parechji networkers crede chì in più di LACP è summation à a strata L2, ùn esiste micca altru aggregazione di canali. Spessu intesu chì questu hè generalmente impussibile da e persone chì travaglianu in telecomunicazioni. Dunque, pruvemu à capisce i miti populari.

Balancing à u livellu di cunnessione IP

Questu hè u modu più prezzu è pupulare per utilizà parechji canali Internet à u stessu tempu. Per simplicità, imaginemu chì avete trè ISP, ognunu vi dà un veru indirizzu IP da a so reta. Tutti questi fornituri sò cunnessi à un router cù supportu per a funzione Multi-WAN. Questu pò esse OpenWRT cù u pacchettu mwan3, mikrotik, ubiquiti, o qualsiasi altru router di casa, postu chì issa opzione ùn hè più rara.

Per simulà a situazione, imaginate chì i fornituri ci anu datu i seguenti indirizzi:

WAN1 — 11.11.11.11
WAN2 — 22.22.22.22
WAN2 — 33.33.33.33

Questu hè, cunnette à un servitore remoto example.com attraversu ognuna di i fornituri, u servitore remotu vede trè ip surghjenti indipendenti di u cliente. L'equilibriu permette di dividisce a carica trà i canali è l'utilizanu tutti i trè à u stessu tempu. Per simplicità, imaginemu chì dividemu a carica trà tutti i canali ugualmente. In u risultatu, quandu un cliente apre un situ cù trè imagine in cundizzioni, scaricate ogni maghjina attraversu un fornitore separatu. Da u latu di u situ, pare cum'è cunnessione da trè IP differenti.

A summa vera di i canali Internet - OpenMPTCPRuter
Quandu si equilibra à u livellu di cunnessione, ogni cunnessione TCP passa per un fornitore separatu.

Stu modu di equilibriu spessu causa prublemi per l'utilizatori. Per esempiu, parechji siti hard-wire cookies è tokens à l'indirizzu IP di u cliente, è s'ellu si cambia di colpu, a dumanda hè abbandunata o u cliente logs out in u situ. Questu hè spessu ripruduciutu in sistemi di clientella-banca è altri siti cù regule strette di sessione d'utilizatori. Eccu un esempiu illustratu simplice: i schedarii di musica in VK.com sò dispunibuli solu cù una chjave di sessione valida chì hè ligata à l'IP, è i clienti chì utilizanu tali equilibriu spessu ùn riproducenu micca l'audio, perchè a dumanda ùn hè micca passatu per u fornitore à quale u a sessione hè ligata.

A summa vera di i canali Internet - OpenMPTCPRuter
Quandu scaricate torrenti, u equilibriu à u livellu di cunnessione suma a larghezza di banda di tutti i canali

Un tali equilibriu permette di ottene a summa di a vitezza di u canali Internet quandu utilizate parechje cunnessione. Per esempiu, se ognuna di i trè fornituri hà una vitezza di 100 megabits, allora quandu scaricate i torrenti riceveremu 300 megabits. Perchè u torrent apre una mansa di cunnessione chì sò distribuite trà tutti i fornituri è eventualmente utilizate u canali sanu.

Hè impurtante di capisce chì una sola cunnessione TCP passerà sempre per un solu fornitore. Vale à dì, se scarichemu un grande schedariu via HTTP, allora sta cunnessione serà fatta per mezu di unu di i fornituri, è se a cunnessione cù questu fornitore si rompe, allora u scaricamentu si romperà ancu.

A summa vera di i canali Internet - OpenMPTCPRuter
Una cunnessione sempre aduprà solu un canale Internet

Questu hè ancu veru per e trasmissioni video. Se trasmettete video streaming in qualchì Twitch cundizionale, allora l'equilibriu à u livellu di e cunnessione IP ùn darà alcun benefiziu particulare, postu chì u flussu di video serà trasmessu in una cunnessione IP. In questu casu, se u fornitore WAN 3 cumencia à avè prublemi di cumunicazione, cum'è a perdita di pacchettu o rallentamentu, allora ùn puderete micca passà immediatamente à un altru fornitore. A trasmissione duverà esse fermata è ricollegata.

True summing di u canali

A vera sommazione di i canali permette di inizià una cunnessione à u Twitch cundizionale attraversu tutti i fornituri in una volta in modu chì se qualcunu di i fornituri si rompe, a cunnessione ùn serà micca interrotta. Questu hè un prublema sorprendentemente difficiule, chì ùn hà micca sempre una suluzione ottima. Parechje ùn sanu mancu chì questu hè pussibule!

Da l'illustrazioni precedenti, ricurdemu chì u servitore Twitch cundizionale pò riceve un flussu di video da noi da un solu indirizzu IP di fonte, chì significa chì deve esse sempre custanti cun noi, indipendentemente da quale fornitori sò caduti è quali travaglianu. Per ottene questu, avemu bisognu di un servitore di sommazione chì finisce tutte e nostre cunnessione è unisce in una sola.

A summa vera di i canali Internet - OpenMPTCPRuter
U servitore di sommazione aggrega tutti i canali in un tunnel. Tutte e cunnessione sò originate da l'indirizzu di u servitore di summa

Stu schema usa tutti i fornituri, è disattivà qualcunu di elli ùn pruvucarà micca una perdita di cumunicazione cù u servitore Twitch. In fatti, questu hè un tunnel VPN speciale, sottu u cappucciu di quale ci sò parechji canali Internet à una volta. U compitu principale di un tali schema hè di ottene u canali di cumunicazione di più alta qualità. Se i prublemi cumincianu à unu di i fornituri, a perdita di pacchetti, l'aumentu di i ritardi, allora questu ùn deve micca affettà a qualità di a cumunicazione in ogni modu, postu chì a carica serà automaticamente distribuita nantu à altri canali megliu dispunibili.

Soluzioni cummirciali

Stu prublema hè stata longa una preoccupazione per quelli chì trasmettenu avvenimenti in diretta è ùn anu micca accessu à Internet d'alta qualità. Per tali compiti, ci sò parechje suluzioni cummirciali, per esempiu, Teradek face tali routers mostruosi in quale sò inseriti pacchetti di modem USB:

A summa vera di i canali Internet - OpenMPTCPRuter
Router video broadcast cù funzione di somma di canali

Tali dispusitivi sò generalmente a capacità di catturà video via HDMI o SDI. Inseme cù u router, un abbonamentu à u serviziu di somma di u canali hè vindutu, è ancu di trasfurmà u flussu di video, trascodificà è ritrasmettenu più. U prezzu di tali dispusitivi principia da $ 2k cù un set di modem, più un abbonamentu separatu à u serviziu.

Calchì volta pare abbastanza intimidante:

A summa vera di i canali Internet - OpenMPTCPRuter

Configurazione di OpenMPTCPRuter

Prutucollu MP-TCP (MultiPath TCP) hè statu inventatu per a capacità di cunnette in parechji canali à una volta. Per esempiu, u so supporta iOS è ponu cunnette simultaneamente à un servitore remoto via WiFi è via una rete cellulare. Hè impurtante capisce chì ùn sò micca duie cunnessione TCP separati, ma una cunnessione stabilita nantu à dui canali à una volta. Per fà questu, u servitore remoto deve ancu sustene MPTCP.

OpenMPTCPRouter hè un prughjettu di router di software open source chì vi permette di somma veramente canali. L'autori dichjaranu chì u prughjettu hè in u statutu di versione alfa, ma pò esse digià utilizatu. Hè custituitu di dui parti - un servitore summing, chì si trova nantu à Internet è un router, à quale sò cunnessi parechji fornituri d'Internet è i dispositi di u cliente stessu: computer, telefoni. Un router persunalizatu pò esse un Raspberry Pi, alcuni routers WiFi, o un urdinatore normale. Ci sò assemblei pronti per diverse piattaforme, chì hè assai còmuda.

A summa vera di i canali Internet - OpenMPTCPRuter
Cumu funziona OpenMPTCPRuter

Configurazione di u servitore di riassuntu

U servitore summing hè situatu in Internet è finisce e cunnessione da tutti i canali di u client router in unu. L'indirizzu IP di stu servitore serà l'indirizzu esternu quandu accede à Internet attraversu OpenMPTCPRuter.

Per questu compitu, useremu un servitore VPS in Debian 10.

Requisiti di u servitore di sommazione:

  • MPTCP ùn funziona micca nantu à a virtualizazione OpenVZ
  • Hè pussibule installà u vostru propiu kernel Linux

U servitore hè implementatu eseguendu un cumandamentu. U script installerà u kernel mptcp-enabled è tutti i pacchetti richiesti. I script d'installazione sò dispunibuli per Ubuntu è Debian.

wget -O - http://www.openmptcprouter.com/server/debian10-x86_64.sh | sh

U risultatu di una stallazione di u servitore successu.

A summa vera di i canali Internet - OpenMPTCPRuter

Salvemu e password, avemu bisognu di cunfigurà u client router, è reboot. Hè impurtante di mantene in mente chì dopu a stallazione, SSH serà dispunibule nantu à u portu 65222. Dopu à u rebooting, avemu bisognu di assicurà chì avemu boot cù u novu kernel.

uname -a 
Linux test-server.local 4.19.67-mptcp

Videmu l'inscription mptcp accantu à u numeru di versione, chì significa chì u kernel hè stallatu currettamente.

Configurazione di un router client

nantu situ web di u prugettu E custruzzioni pronti sò dispunibili per alcune piattaforme, cum'è Raspberry Pi, Banana Pi, routers Lynksys è macchine virtuali.
Questa parte di openmptcprouter hè basatu annantu à OpenWRT, utilizendu LuCI cum'è interfaccia, familiar à tutti quelli chì anu mai scontru OpenWRT. U kit di distribuzione pesa circa 50 Mb!

A summa vera di i canali Internet - OpenMPTCPRuter

Cum'è un bancu di teste, aduprà Raspberry Pi è parechji modem USB cù diversi operatori: MTS è Megafon. Cumu scrive una maghjina à una carta SD, pensu, ùn hè micca bisognu di dì.

Inizialmente, u portu Ethernet in u Raspberry Pi hè cunfiguratu cum'è lan cun un indirizzu IP staticu. 192.168.100.1. Per ùn scherzà cù i fili nantu à a tavula, aghju cunnessu u Raspberry Pi à un puntu d'accessu WiFi è stabilisce un indirizzu staticu nantu à l'adattatore WiFi di l'urdinatore. 192.168.100.2. U servitore DHCP ùn hè micca attivatu per difettu, cusì l'indirizzi statici deve esse usatu.

Avà pudete andà à l'interfaccia web 192.168.100.1

Quandu avete prima login, u sistema vi dumandarà di stabilisce a password di root, SSH serà dispunibule cù a stessa password.

A summa vera di i canali Internet - OpenMPTCPRuter
In i paràmetri LAN, pudete stabilisce a subnet desiderata è attivà u servitore DHCP.

Aghju utilizatu modem chì sò definiti cum'è interfacce ethernet USB cù un servitore DHCP separatu, cusì sta stallazione necessaria. pacchetti supplementari. A prucedura hè identica à a cunfigurazione di i modems in OpenWRT regulare, cusì ùn l'aghju micca copre quì.

Dopu, avete bisognu di cunfigurà l'interfaccia WAN. Inizialmente, duie interfacce virtuali WAN1 è WAN2 sò state create in u sistema. Hanu bisognu di assignà un dispositivu fisicu, in u mo casu, questi sò i nomi di l'interfaccia di modem USB.

Per ùn avè micca cunfunditu in i nomi di l'interfaccia, vi cunsigliu di fighjà i missaghji dmesg mentre cunnessi via SSH.

Siccomu i mo modem agiscenu cum'è routers stessi è anu un servitore DHCP stessu, aghju avutu à cambià i paràmetri di i so intervalli di rete interna è disattivà u servitore DHCP, perchè inizialmente i dui modems emettenu indirizzi da a listessa reta, è questu causa un cunflittu.

OpenMPTCPRuter richiede l'indirizzi di l'interfaccia WAN per esse statici, per quessa, venemu cun subnets per i modem è cunfigurateli in u sistema → openmptcprouter → menu di paràmetri di l'interfaccia. Quì avete ancu bisognu di specificà l'indirizzu IP è a chjave di u servitore ottenuta durante a stallazione di u servitore di summation.

A summa vera di i canali Internet - OpenMPTCPRuter

In casu di cunfigurazione riescita, una stampa simile duverà apparisce in a pagina di statutu. Pò esse vistu chì u router hà sappiutu ghjunghje à u servitore summing è i dui canali funzionanu bè.

A summa vera di i canali Internet - OpenMPTCPRuter

U modu predeterminatu hè shadowsocks + mptcp. Questu hè un tali proxy chì avvolge tutte e cunnessione in sè stessu. Inizialmente, hè cunfiguratu per trattà solu TCP, ma pudete attivà ancu UDP.

A summa vera di i canali Internet - OpenMPTCPRuter

Se ùn ci sò micca errori in a pagina di statutu, a cunfigurazione pò esse cunsiderata cumpleta.
Cù certi fornituri, una situazione pò esse quandu a bandiera mptcp hè truncata longu a strada di u trafficu, allora ci sarà un tali errore:

A summa vera di i canali Internet - OpenMPTCPRuter

In questu casu, pudete aduprà un altru modu di funziunamentu, senza aduprà MPTCP, più nantu à questu ccà.

cunchiusioni

U prughjettu OpenMPTCPRuter hè assai interessante è impurtante, postu chì hè forse l'unica soluzione cumplessa aperta à u prublema di summing di u canali. Tuttu u restu hè sia chjusu è propiu, o solu moduli separati chì una persona ordinaria ùn pò micca trattà. À a fase attuale di u sviluppu, u prugettu hè sempre abbastanza crudu, documentazione estremamente povera, assai cose ùn sò micca descritte. Ma à u listessu tempu, travaglia sempre. Spergu chì cuntinueghja à sviluppà, è averemu i routers domestici chì puderanu cumminà i canali normalment fora di a scatula.

A summa vera di i canali Internet - OpenMPTCPRuter

Segui u nostru sviluppatore in Instagram

A summa vera di i canali Internet - OpenMPTCPRuter

Source: www.habr.com

Add a comment