Posible al da Interneteko hainbat kanal bakar batean konbinatzea? Gai honen inguruan uste oker eta mito asko daude; sareko ingeniariek ere askotan ez dakite hori posible denik. Kasu gehienetan, esteken agregazioari oker deritzo orekatzea NAT mailan edo hutsegitea. Baina benetako batuketak ahalbidetzen du TCP konexio bakarra abiarazi aldi berean Interneteko kanal guztietan, adibidez, bideo-emisioa, Interneteko kateren bat eteten bada, emisioa eten ez dadin.
Bideo-emisioetarako irtenbide komertzial garestiak daude, baina horrelako gailuek kilobuck asko kostatzen dute. Artikuluak OpenMPTCPRuter pakete doako eta irekia nola konfiguratu deskribatzen du eta kanalen batuketaren inguruko mito ezagunak jorratzen ditu.
Kanalen batuketari buruzko mitoak
Multi-WAN funtzioa onartzen duten etxeko bideratzaile asko daude. Batzuetan, fabrikatzaileek kanal horri batuketa deitzen diote, eta hori ez da guztiz egia. Saregile askok uste dute hori gainera
IP konexio mailan orekatzea
Hau da Interneteko hainbat kanal aldi berean erabiltzeko modurik merkeena eta ezagunena. Sinpletasunerako, pentsa dezagun hiru Internet hornitzaile dituzula, bakoitzak bere sareko benetako IP helbide bat ematen dizula. Hornitzaile hauek guztiak Multi-WAN funtzioa onartzen duen bideratzaile batera konektatuta daude. Hau OpenWRT izan daiteke mwan3 paketearekin, mikrotik, ubiquiti edo etxeko beste edozein bideratzailerekin, aukera hori ez baita ohikoa.
Egoera simulatzeko, pentsa dezagun hornitzaileek helbide hauek eman dizkigutela:
WAN1 β 11.11.11.11
WAN2 β 22.22.22.22
WAN2 β 33.33.33.33
Hau da, urruneko zerbitzari batera konektatzea example.com Hornitzaile bakoitzaren bitartez, urruneko zerbitzariak hiru iturri IP bezero independente ikusiko ditu. Balantzeak karga kanaletan banatu eta hirurak aldi berean erabiltzeko aukera ematen du. Sinpletasunerako, pentsa dezagun karga berdin banatzen dugula kanal guztien artean. Ondorioz, bezero batek hiru irudi dituen gune bat irekitzen duenean, irudi bakoitza hornitzaile ezberdin baten bidez deskargatzen du. Gunearen aldean hiru IP ezberdinetako konexioak dirudite.
Konexio mailan orekatzean, TCP konexio bakoitza hornitzaile ezberdin batetik pasatzen da.
Orekatze modu honek askotan arazoak sortzen dizkie erabiltzaileei. Adibidez, gune askok zorrozki lotzen dituzte cookieak eta tokenak bezeroaren IP helbidearekin, eta bat-batean aldatzen bada, eskaera baztertzen da edo bezeroa gunetik amaitzen da. Hau maiz erreproduzitzen da bezero-banku sistemetan eta erabiltzaileen saio-arau zorrotzak dituzten beste gune batzuetan. Hona hemen adibide argigarri sinple bat: VK.com-eko musika-fitxategiak baliozko saio-gako batekin soilik daude erabilgarri, IP bati lotuta dagoena, eta oreka hori erabiltzen duten bezeroek sarritan ez dute audioa erreproduzitzen, eskaera hornitzailetik pasatu ez delako. saioa lotuta dago.
Torrent-ak deskargatzean, konexio-mailaren orekatzeak kanal guztien banda-zabalera biltzen du
Orekatze honek Interneteko kanalaren abiaduraren batuketa lortzeko aukera ematen du hainbat konexio erabiltzean. Adibidez, hiru hornitzaileetako bakoitzak 100 Megabit-eko abiadura badu, torrenteak deskargatzean 300 Megabit lortuko ditugu. Torrent batek konexio asko irekitzen dituelako, hornitzaile guztien artean banatzen direnak eta azken finean kanal osoa erabiltzen dutenak.
Garrantzitsua da ulertzea TCP konexio bakarra hornitzaile bakarretik igaroko dela beti. Hau da, HTTP bidez fitxategi handi bat deskargatzen badugu, hornitzaileetako baten bidez egingo da konexio hori, eta hornitzaile honekin konexioa hautsita, deskarga ere hautsi egingo da.
Konexio batek Interneteko kanal bakarra erabiliko du beti
Bideo-emisioetarako ere egia da. Baldintzapeko Twitch mota batera emititzen ari bazara bideoak, IP konexioen mailan orekatzeak ez du onura berezirik emango, bideo-korrontea IP konexio bakarrean emitituko baita. Kasu honetan, WAN 3 hornitzailea komunikazioarekin arazoak izaten hasten bada, hala nola paketeak galtzea edo abiadura murriztua, ezin izango zara berehala beste hornitzaile batera aldatu. Emisioa gelditu eta berriro konektatu beharko da.
Benetako kanalen batuketa
Benetako kanalen batuketak aukera ematen du baldintzapeko Twitch baterako konexio bat hornitzaile guztien bidez aldi berean exekutatzeko, horrela hornitzaileren bat apurtzen bada, konexioa eten ez den. Harrigarriki zaila den arazoa da, oraindik irtenbide optimorik ez duena. Jende askok ez daki hori posible denik!
Aurreko ilustrazioetatik, gogoan dugu baldintzapeko Twitch zerbitzariak guregandik bideo-korronte bat jaso dezakeela iturriko IP helbide bakar batetik, eta horrek esan nahi du beti etengabea izan behar duela guretzat, edozein hornitzaile erori diren eta zeintzuk lanean ari diren kontuan hartu gabe. Hori lortzeko, gure konexio guztiak amaitu eta bakar batean konbinatuko dituen batuketa zerbitzari bat behar dugu.
Batuketa zerbitzariak kanal guztiak tunel batean biltzen ditu. Konexio guztiak batuketa zerbitzariaren helbidetik sortzen dira
Eskema honetan, hornitzaile guztiak erabiltzen dira, eta horietako edozein desgaitzeak ez du Twitch zerbitzariarekiko komunikazioa galtzea eragingo. Funtsean, VPN tunel berezi bat da, zeinaren azpian Interneteko hainbat kanal daude aldi berean. Eskema horren zeregin nagusia kalitate goreneko komunikazio kanala lortzea da. Hornitzaileetako bat arazoak izaten hasten badira, paketeak galtzen, atzerapenak areagotzen badira, horrek ez luke inola ere eragin behar komunikazioaren kalitatean, karga automatikoki banatuko baita eskuragarri dauden beste kanal hobeetan.
Irtenbide komertzialak
Arazo hau aspalditik kezkatzen ari da zuzeneko ekitaldiak emititzen dituztenak eta kalitate handiko Interneterako sarbidea ez dutenak. Horrelako zereginetarako, hainbat irtenbide komertzial daude, adibidez, Teradek enpresak horrelako bideratzaile izugarriak egiten ditu, zeinetan USB modem paketeak sartzen diren:
Bideo-emisioetarako bideratzailea kanalen batuketa funtzioarekin
Horrelako gailuek normalean bideo-seinaleak HDMI edo SDI bidez harrapatzeko gaitasuna dute. Bideratzailearekin batera, kanalen batuketa zerbitzurako harpidetza bat saltzen da, baita bideo korrontea prozesatzea, transkodetzea eta gehiago transmititzea ere. Gailu horien prezioa $ 2k hasten da modem multzo batekin, gehi zerbitzurako harpidetza bereizia.
Batzuetan nahiko beldurgarria dirudi:
OpenMPTCPRouter konfiguratzen
protokoloa
Nola funtzionatzen duen OpenMPTCPRouter
Laburpen zerbitzaria konfiguratzea
Summing zerbitzaria Interneten dago eta bezeroaren bideratzailearen kanal guztietako konexioak bakarrean amaitzen ditu. Zerbitzari honen IP helbidea kanpoko helbidea izango da Internetera OpenMPTCPRuter bidez sartzean.
Zeregin honetarako VPS zerbitzari bat erabiliko dugu Debian 10-n.
Batuketa zerbitzariaren baldintzak:
- MPTCP ez du funtzionatzen OpenVZ birtualizazioan
- Zure Linux nukleoa instalatzea posible izan beharko litzateke
Zerbitzaria komando bat exekutatuz zabaltzen da. Scriptak kernel bat instalatuko du mptcp euskarria eta beharrezko pakete guztiak. Instalazio-scriptak Ubuntu eta Debian-entzat eskuragarri daude.
wget -O - http://www.openmptcprouter.com/server/debian10-x86_64.sh | sh
Zerbitzariaren instalazio arrakastatsu baten emaitza.
Pasahitzak gordetzen ditugu, bezeroaren bideratzailea konfiguratzeko beharko ditugu, eta berrabiarazi. Kontuan izan behar da instalatu ondoren SSH erabilgarri egongo dela 65222 atakan. Berrabiarazi ondoren, nukleo berriarekin abiarazi dugula ziurtatu behar dugu.
uname -a
Linux test-server.local 4.19.67-mptcp
Mptcp inskripzioa ikusten dugu bertsio-zenbakiaren ondoan, eta horrek esan nahi du nukleoa behar bezala instalatu dela.
Bezero-bideratzaile bat konfiguratzea
On
Openmptcprouter-en zati hau OpenWRT-n oinarritzen da, LuCI interfaze gisa erabiliz, OpenWRT ezagutu duen edonorentzat ezaguna. Banaketak 50 MB inguruko pisua du!
Proba-banku gisa, Raspberry Pi bat eta hainbat USB modem erabiliko ditut operadore ezberdinekin: MTS eta Megafon. Ez dut uste SD txartelean irudi bat nola idatzi behar duzun esan beharrik.
Hasieran, Raspberry Pi-ko Ethernet ataka lan gisa konfiguratuta dago IP helbide estatiko batekin 192.168.100.1. Mahaian hariak ez nahastea saihesteko, Raspberry Pi WiFi sarbide-puntu batera konektatu nuen eta ordenagailuaren WiFi egokitzailea helbide estatiko batean ezarri nuen. 192.168.100.2. DHCP zerbitzaria ez dago lehenespenez gaituta, beraz, helbide estatikoak erabili behar dituzu.
Orain web interfazean saioa hasi dezakezu
Lehen aldiz saioa hasten duzunean, sistemak root pasahitza ezartzeko eskatuko dizu; SSH pasahitz berarekin egongo da erabilgarri.
LAN ezarpenetan, nahi duzun azpisarea ezar dezakezu eta DHCP zerbitzaria gaitu.
USB Ethernet interfaze gisa definitzen diren modemak erabiltzen ditut DHCP zerbitzari bereizi batekin, beraz, beharrezkoa da instalazioa
Ondoren, WAN interfazeak konfiguratu behar dituzu. Hasieran, sistemak bi interfaze birtual sortu zituen WAN1 eta WAN2. Gailu fisiko bat esleitu behar zaie, nire kasuan USB modem interfazeen izenak dira.
Interfazearen izenekin nahasketa saihesteko, SSH bidez konektatzen zaren bitartean dmesg mezuak ikustea gomendatzen dut.
Nire modemek beraiek bideratzaile gisa jarduten dutenez, eta beraiek DHCP zerbitzari bat dutenez, haien barne sare barrutietako ezarpenak aldatu eta DHCP zerbitzaria desgaitu behar izan nuen, hasiera batean bi modemek helbideak sare beretik ematen baitituzte, eta horrek gatazka sortzen du.
OpenMPTCPRouter-ek WAN interfazearen helbideak estatikoak izatea eskatzen du, beraz, modemetarako azpisareak sortzen ditugu eta sisteman β openmptcprouter β interfazearen ezarpenak menuan konfiguratzen ditugu. Hemen batuketa zerbitzariaren instalazioan lortutako IP helbidea eta zerbitzariaren gakoa zehaztu behar dituzu.
Konfigurazioa arrakastatsua bada, antzeko irudi bat agertu beharko litzateke egoera orrian. Ikusten da bideratzailea batuketa zerbitzarira iristeko gai izan dela eta bi kanalak normaltasunez funtzionatzen ari direla.
Modu lehenetsia shadowsocks + mptcp da. Konexio guztiak bere baitan biltzen dituen proxy bat da. Hasieran TCP soilik prozesatzeko konfiguratuta dago, baina UDP ere gaitu daiteke.
Egoera-orrian akatsik ez badago, konfigurazioa amaitutzat jo daiteke.
Hornitzaile batzuekin, egoera bat sor daiteke mptcp bandera trafiko-bidean mozten denean, orduan errore hau agertuko da:
Kasu honetan, beste modu operatibo bat erabil dezakezu, MPTCP erabili gabe, honi buruz gehiago
Ondorioa
OpenMPTCPRouter proiektua oso interesgarria eta garrantzitsua da, agian kanalen batuketaren arazorako irtenbide integral ireki bakarra baita. Beste guztia oso itxia eta jabeduna da, edo pertsona arrunt batek ulertu ezin dituen modulu bereiziak, besterik gabe. Gaur egungo garapen-fasean, proiektua nahiko gordina da oraindik, dokumentazioa oso eskasa da, gauza asko ez dira deskribatzen. Baina, aldi berean, oraindik ere funtzionatzen du. Espero dut garatzen jarraitzea, eta kanalak behar bezala konbinatzeko gai izango diren etxeko bideratzaileak aterako ditugu.
Jarraitu gure garatzailea Instagramen
Iturria: www.habr.com