
Ăske li posib pou konbine plizyè chanèl entènèt nan yon sèl? Gen yon anpil nan move konsepsyon ak mit alantou sijè sa a menm enjenyè rezo ki gen eksperyans souvan pa konnen ke sa a se posib. Nan pifò ka yo, agrĂŠgation lyen yo rele erè balans nan nivo NAT oswa failover. Men, reyèl somasyon pèmèt lanse yon sèl koneksyon TCP ansanm sou tout chanèl entènèt, pou egzanp, emisyon videyo pou ke si nenpòt nan chanèl entènèt yo entèwonp, emisyon an pa pral entèwonp.
Gen solisyon komèsyal chè pou emisyon videyo, men aparèy sa yo koute anpil kilobucks. Atik la dekri kijan pou konfigirasyon pakè OpenMPTCPRouter gratis ak sous louvri epi adrese mit popilè sou chanèl summing.
Mit sou chanèl rezime
Gen anpil routeurs lakay ki sipòte fonksyon Multi-WAN. Pafwa manifaktirè yo rele chanèl sa a rezime, ki pa totalman vre. Anpil networkers kwè ke anplis ak somasyon nan nivo L2, pa gen okenn lòt chanèl agrÊgation ki egziste. Mwen te souvan tande ke sa a se jeneralman enposib nan men moun ki travay nan telecoms. Se poutèt sa, ann eseye konprann mit popilè.
Balanse nan nivo koneksyon IP
Sa a se fason ki pi abòdab ak popilè yo itilize plizyè chanèl entènèt an menm tan. Pou senplisite, an nou imajine ke ou gen twa founisè entènèt, chak ba ou yon adrès IP reyèl nan rezo yo. Tout founisè sa yo konekte ak yon routeur ki sipòte fonksyon Multi-WAN. Sa a ta ka OpenWRT ak pake mwan3, mikrotik, ubiquiti, oswa nenpòt lòt routeur nan kay la, paske yon opsyon sa a pa estraòdinè ankò.
Pou simule sitiyasyon an, an nou imajine ke founisè yo te ban nou adrès sa yo:
WAN1 â 11.11.11.11
WAN2 â 22.22.22.22
WAN2 â 33.33.33.33
Sa vle di, konekte ak yon sèvè aleka example.com Atravè chak nan founisè yo, sèvè a aleka pral wè twa kliyan IP sous endepandan. Balanse pèmèt ou divize chaj la atravè chanèl epi sèvi ak tout twa nan yo ansanm. Pou senplisite, an n imajine ke nou divize chay la egalman ant tout chanèl yo. Kòm yon rezilta, lè yon kliyan ouvè yon sit ki gen twa imaj, li telechaje chak imaj atravè yon founisè separe. Sou bò sit la li sanble koneksyon ki soti nan twa IP diferan.

Lè balanse nan nivo koneksyon an, chak koneksyon TCP ale nan yon founisè separe.
Mòd balanse sa a souvan lakòz pwoblèm pou itilizatè yo. Pou egzanp, anpil sit estrikteman mare bonbon ak marqueur nan adrès IP kliyan an, epi si li toudenkou chanje, demann lan rejte oswa kliyan an dekonekte sou sit la. Sa a se souvan repwodui nan sistèm kliyan-bank ak lòt sit ki gen règ sesyon itilizatè strik. Isit la se yon egzanp senp ilistrasyon: dosye mizik sou VK.com yo disponib sèlman ak yon kle sesyon ki valab, ki se mare nan yon IP, ak kliyan ki itilize balans sa yo souvan pa jwe odyo paske demann lan pa t 'ale nan founisè a ki bay. sesyon an mare.

Lè w ap telechaje torrent, balans nivo koneksyon an rezime Pleasant tout chanèl yo
Balanse sa a pèmèt ou jwenn somasyon vitès chanèl entènèt la lè w ap itilize plizyè koneksyon. Pou egzanp, si chak nan twa founisè yo gen yon vitès 100 Megabit, Lè sa a, lè telechaje torrent nou pral jwenn 300 Megabit. Paske yon torrent ouvè anpil koneksyon, ki distribye pami tout founisè epi finalman itilize tout kanal la.
Li enpòtan pou w konprann ke yon sèl koneksyon TCP ap toujou pase nan yon sèl founisè. Sa vle di, si nou telechaje yon gwo fichye atravè HTTP, Lè sa a, koneksyon sa a pral fèt atravè youn nan founisè yo, epi si koneksyon an ak founisè sa a kase, download la pral kraze tou.

Yon koneksyon ap toujou sèvi ak yon sèl chanèl entènèt
Sa a se vre tou pou emisyon videyo. Si w ap difize videyo difizyon nan yon kalite Twitch kondisyonèl, Lè sa a, balanse nan nivo koneksyon IP pa pral bay okenn benefis patikilye, paske kouran videyo a pral emisyon nan yon sèl koneksyon IP. Nan ka sa a, si founisè WAN 3 la kòmanse gen pwoblèm ak kominikasyon, tankou pèt pake oswa vitès redwi, Lè sa a, ou p ap kapab imedyatman chanje nan yon lòt founisè. Emisyon an pral oblije sispann epi rekonekte.
Vrè rezime chanèl
Rezime chanèl reyèl fè li posib pou fè yon sèl koneksyon ak yon Twitch kondisyonèl atravè tout founisè yo an menm tan yon fason ke si nenpòt nan founisè yo kraze, koneksyon an pa pral entèwonp. Sa a se yon pwoblèm etonan difisil ki toujou pa gen yon solisyon optimal. Anpil moun pa menm konnen ke sa a se posib!
Soti nan ilistrasyon anvan yo, nou sonje ke sèvè a Twitch kondisyonèl ka resevwa yon kouran videyo nan men nou nan yon sèl sous adrès IP, ki vle di li dwe toujou konstan pou nou, kèlkeswa ki founisè ki te tonbe ak kiyès k ap travay. Pou reyalize sa, nou bezwen yon sèvè summing ki pral mete fen nan tout koneksyon nou yo ak konbine yo nan yon sèl.

Sèvè a totalize tout chanèl nan yon tinèl. Tout koneksyon soti nan adrès sèvè sòm
Nan konplo sa a, tout founisè yo itilize, epi enfim nenpòt nan yo pa pral lakòz yon pèt kominikasyon ak sèvè Twitch la. Esansyèlman, sa a se yon tinèl VPN espesyal, anba kapo a ki gen plizyè chanèl entènèt nan yon fwa. Travay prensipal la nan yon konplo konsa se jwenn chanèl kominikasyon ki pi bon kalite. Si youn nan founisè yo kòmanse gen pwoblèm, pèt pake, ogmante reta, Lè sa a, sa a pa ta dwe afekte kalite kominikasyon an nan okenn fason, paske chaj la pral otomatikman distribye sou lòt, pi bon chanèl ki disponib.
Solisyon Komèsyal
Pwoblèm sa a te boulvèse depi lontan moun ki difize evènman an dirèk epi ki pa gen aksè a bon jan kalite Entènèt. Pou travay sa yo, gen plizyè solisyon komèsyal, pou egzanp, konpayi an Teradek fè routeurs sa yo kolosal nan ki pake modèm USB yo mete:

Routeur pou emisyon videyo ak fonksyon rezime chanèl
Aparèy sa yo anjeneral gen yon kapasite entegre pou pran siyal videyo atravè HDMI oswa SDI. Ansanm ak routeur la, yo vann yon abònman nan sèvis rezime chanèl la, osi byen ke trete kouran videyo a, transkode li ak transmèt li pi lwen. Pri a nan aparèy sa yo kòmanse soti nan $ 2k ak yon seri modèm, plis yon abònman separe nan sèvis la.
Pafwa li sanble byen pè:

Mete kanpe OpenMPTCPRuter
Pwotokòl (MultiPath TCP) te envante pou kapab konekte atravè plizyè chanèl nan yon fwa. Pou egzanp, li epi yo ka konekte ansanm ak yon sèvè aleka atravè fil ak atravè yon rezo selilè. Li enpòtan pou w konprann ke sa yo se pa de koneksyon TCP separe, men pito yon sèl koneksyon etabli sou de chanèl nan yon fwa. Pou sa a travay, sèvè a aleka dwe sipòte MPTCP tou.
se yon pwojè routeur lojisyèl sous louvri ki pèmèt rezime chanèl vre. Otè yo deklare ke pwojè a se nan estati vèsyon alpha, men li ka deja itilize. Li konsiste de de pati - yon sèvè rezime, ki sitiye sou entènèt la ak yon routeur, ki konekte plizyè founisè entènèt ak aparèy kliyan tèt yo: òdinatè, telefòn. Routeur koutim lan kapab yon Franbwaz Pi, kèk routeurs WiFi, oswa yon òdinatè regilye. Gen asanble pare pou plizyè platfòm, ki trè pratik.

Ki jan OpenMPTCPRouter travay
Mete kanpe yon sèvè rezime
Sèvè a summing sitiye sou entènèt la epi mete fen nan koneksyon ki soti nan tout chanèl nan routeur kliyan an nan yon sèl. Adrès IP sèvè sa a pral adrès ekstèn lè w ap jwenn aksè nan Entènèt atravè OpenMPTCPRuter.
Pou travay sa a, nou pral itilize yon sèvè VPS sou Debian 10.
Kondisyon pou sèvè a sòm:
- MPTCP pa travay sou Virtualization OpenVZ
- Li ta dwe posib pou enstale pwòp kernel ou a Linux
Sèvè a deplwaye lè w egzekite yon sèl kòmand. Script la pral enstale yon nwayo ak sipò mptcp ak tout pakè nesesè yo. Script enstalasyon yo disponib pou Ubuntu и Debian.
wget -O - http://www.openmptcprouter.com/server/debian10-x86_64.sh | sh
Rezilta a nan yon enstalasyon sèvè siksè.

Nou sove modpas yo, nou pral bezwen yo konfigirasyon routeur kliyan an, ak rdemare. Li enpòtan sonje ke apre enstalasyon, SSH ap disponib sou pò 65222. Apre rdemare, nou bezwen asire w ke nou demare ak nouvo nwayo a.
uname -a
Linux test-server.local 4.19.67-mptcp
Nou wè inscription mptcp akote nimewo vèsyon an, ki vle di ke nwayo a te enstale kòrèkteman.
Mete kanpe yon routeur kliyan
Sou konstriksyon pare yo disponib pou kèk platfòm, tankou Franbwaz Pi, Banana Pi, Lynksys routeurs ak machin vityèl.
Pati sa a nan openmptcprouter baze sou OpenWRT, lè l sèvi avèk LuCI kòm yon koòdone, abitye ak nenpòt moun ki te janm rankontre OpenWRT. Distribisyon an peze apeprè 50MB!

Kòm yon ban tès, mwen pral sèvi ak yon Franbwaz Pi ak plizyè modèm USB ak operatè diferan: MTS ak Megafon. Mwen pa panse mwen bezwen di ou ki jan yo ekri yon imaj sou yon kat SD.
Okòmansman, pò Ethernet nan Franbwaz Pi a se configurÊ kòm lan ak yon adrès IP estatik 192.168.100.1. Pou evite jwe ak fil sou biwo a, mwen konekte Raspberry Pi a nan yon pwen aksè WiFi epi mete adaptè WiFi òdinatè a nan yon adrès estatik. 192.168.100.2. Sèvè DHCP a pa aktive pa default, kidonk ou dwe itilize adrès estatik.
Koulye a, ou ka konekte nan koòdone entènèt la
Lè w konekte pou premye fwa, sistèm lan ap mande w pou w mete yon modpas rasin SSH ap disponib ak menm modpas la.

Nan paramèt LAN yo, ou ka mete sous-rezo vle a epi pèmèt sèvè DHCP la.
Mwen sèvi ak modèm ki defini antanke USB Ethernet interfaces ak yon sèvè DHCP separe, kidonk sa a mande enstalasyon . Pwosedi a se ki idantik ak mete kanpe modèm nan OpenWRT regilye, kidonk mwen pa pral kouvri li isit la.
Apre sa ou bezwen configure interfaces WAN yo. Okòmansman, sistèm lan te kreye de entèfas vityèl WAN1 ak WAN2. Yo bezwen yo dwe asiyen yon aparèy fizik, nan ka mwen an sa yo se non yo nan interfaces modèm USB yo.
Pou evite konfizyon ak non koòdone, mwen rekòmande gade mesaj dmesg pandan y ap konekte via SSH.
Depi modèm mwen yo tèt yo aji kòm routeurs, epi tèt yo gen yon sèvè DHCP, mwen te oblije chanje anviwònman yo nan chenn rezo entèn yo ak enfim sèvè a DHCP, paske okòmansman tou de modèm bay adrès ki soti nan menm rezo a, e sa lakòz yon konfli.
OpenMPTCPRouter mande pou adrès koòdone WAN yo estatik, kidonk nou vini ak sous-rezo pou modèm yo epi konfigirasyon yo nan sistèm â openmptcprouter â meni paramèt koòdone yo. Isit la ou bezwen presize adrès IP la ak kle sèvè yo jwenn pandan enstalasyon an nan sèvè a summing.

Si konfigirasyon an reyisi, yon foto ki sanble ta dwe parèt sou paj estati a. Li ka wè ke routeur la te kapab rive nan sèvè a sòm ak tou de chanèl yo ap travay nòmalman.

Mòd default la se shadowsocks + mptcp. Sa a se yon prokurasyon ki vlope tout koneksyon nan tèt li. Li se okòmansman configurÊ pou trete sèlman TCP, men UDP kapab tou aktive.

Si pa gen okenn erè nan paj estati a, konfigirasyon an ka konsidere kòm konplè.
Avèk kèk founisè, yon sitiyasyon ka rive lè drapo mptcp koupe sou chemen trafik la, Lè sa a, erè sa a ap parèt:

Nan ka sa a, ou ka itilize yon mòd opere diferan, san yo pa itilize MPTCP, plis sou sa .
Konklizyon
Pwojè OpenMPTCPRouter a trè enteresan e enpòtan, paske li se petèt sèlman solisyon konplè ouvè a pwoblèm nan rezime chanèl. Tout lòt bagay se swa byen fèmen ak propriÊtaires, oswa tou senpleman modil separe ke yon moun òdinè pa ka konprann. Nan etap aktyèl la nan devlopman, pwojè a se toujou byen brit, dokiman an trè pòv, anpil bagay yo tou senpleman pa dekri. Men, an menm tan li toujou ap travay. Mwen espere ke li pral kontinye devlope, epi nou pral jwenn routeurs nan kay la ki pral kapab byen konbine chanèl soti nan bwat la.
Swiv pwomotè nou an sou Instagram
Sous: www.habr.com
