Internet-kanavien todellinen summa - OpenMPTCPRuter

Internet-kanavien todellinen summa - OpenMPTCPRuter

Onko mahdollista yhdistää useita Internet-kanavia yhdeksi? Aiheeseen liittyy paljon väärinkäsityksiä ja myyttejä, vaikka kokeneet verkkoinsinöörit eivät usein tiedä, että tämä on mahdollista. Useimmissa tapauksissa linkkien yhdistämistä kutsutaan virheellisesti NAT-tasapainotukseksi tai vikasietoiseksi. Mutta todellinen summaus sallii käyttää yhtä TCP-yhteyttä samanaikaisesti kaikilla Internet-kanavilla, esimerkiksi videolähetys, jotta jos jokin Internet-kanavista keskeytyy, lähetys ei keskeydy.

Videolähetyksiä varten on kalliita kaupallisia ratkaisuja, mutta tällaiset laitteet maksavat paljon kilobuckeja. Artikkelissa kuvataan ilmaisen avoimen paketin OpenMPTCPRuter konfiguraatiota ja käsitellään suosittuja myyttejä kanavien summauksesta.

Myyttejä kanavien yhteenvedosta

Monet kotireitittimet tukevat Multi-WAN-toimintoa. Joskus valmistajat kutsuvat tätä kanavaa summaukseksi, mikä ei ole täysin totta. Monet verkottajat uskovat, että lisäksi LACP ja summaus L2-kerroksessa, muuta kanavaaggregaatiota ei ole olemassa. Olen usein kuullut, että tämä on yleensä mahdotonta tietoliikennealalla työskenteleviltä. Siksi yritetään ymmärtää suosittuja myyttejä.

Tasapainotus IP-yhteyksien tasolla

Tämä on edullisin ja suosituin tapa käyttää useita Internet-kanavia samanaikaisesti. Yksinkertaisuuden vuoksi kuvitellaan, että sinulla on kolme Internet-palveluntarjoajaa, joista jokainen antaa sinulle oikean IP-osoitteen verkosta. Kaikki nämä palveluntarjoajat on yhdistetty reitittimeen, joka tukee Multi-WAN-toimintoa. Tämä voi olla OpenWRT mwan3-paketin kanssa, mikrotik, ubiquiti tai mikä tahansa muu kotitalousreititin, koska nyt tämä vaihtoehto ei ole enää harvinaista.

Voit simuloida tilannetta kuvittelemalla, että palveluntarjoajat antoivat meille seuraavat osoitteet:

WAN1 — 11.11.11.11
WAN2 — 22.22.22.22
WAN2 — 33.33.33.33

Eli yhteyden muodostaminen etäpalvelimeen example.com kunkin palveluntarjoajan kautta etäpalvelin näkee asiakkaan kolme itsenäistä lähde-ip-osoitetta. Tasapainotuksen avulla voit jakaa kuorman kanavien kesken ja käyttää niitä kaikkia kolmea samanaikaisesti. Yksinkertaisuuden vuoksi kuvitellaan, että jaamme kuorman kaikkien kanavien kesken tasaisesti. Tämän seurauksena, kun asiakas avaa ehdollisesti sivuston, jossa on kolme kuvaa, hän lataa jokaisen kuvan erillisen palveluntarjoajan kautta. Sivuston puolella se näyttää yhteyksiltä kolmelta eri IP:ltä.

Internet-kanavien todellinen summa - OpenMPTCPRuter
Yhteystasolla tasapainotettaessa jokainen TCP-yhteys kulkee erillisen palveluntarjoajan kautta.

Tämä tasapainotustila aiheuttaa usein ongelmia käyttäjille. Esimerkiksi monet sivustot kiinnittävät evästeitä ja tunnuksia asiakkaan IP-osoitteeseen, ja jos se yhtäkkiä muuttuu, pyyntö hylätään tai asiakas kirjautuu ulos sivustolta. Tämä toistetaan usein asiakaspankkijärjestelmissä ja muilla sivustoilla, joilla on tiukat käyttäjäistuntosäännöt. Tässä on yksinkertainen havainnollistava esimerkki: VK.comin musiikkitiedostot ovat saatavilla vain kelvollisella istuntoavaimella, joka on sidottu IP-osoitteeseen, ja tällaista tasapainotusta käyttävät asiakkaat eivät usein toista ääntä, koska pyyntö ei mennyt sen palveluntarjoajan kautta, johon istunto on sidottu.

Internet-kanavien todellinen summa - OpenMPTCPRuter
Kun lataat torrentteja, yhteystasolla tasapainottaminen summaa kaikkien kanavien kaistanleveyden

Tällainen tasapainotus mahdollistaa Internet-kanavan nopeuden summauksen, kun käytetään useita yhteyksiä. Esimerkiksi, jos kunkin kolmen palveluntarjoajan nopeus on 100 megabittiä, torrentteja ladattaessa saamme 300 megabittiä. Koska torrent avaa paljon yhteyksiä, jotka jakautuvat kaikkien tarjoajien kesken ja käyttävät lopulta koko kanavaa.

On tärkeää ymmärtää, että yksi TCP-yhteys kulkee aina vain yhden palveluntarjoajan kautta. Eli jos lataamme yhden suuren tiedoston HTTP:n kautta, tämä yhteys muodostetaan yhden palveluntarjoajan kautta, ja jos yhteys tämän palveluntarjoajan kanssa katkeaa, myös lataus katkeaa.

Internet-kanavien todellinen summa - OpenMPTCPRuter
Yksi yhteys käyttää aina vain yhtä Internet-kanavaa

Tämä pätee myös videolähetyksiin. Jos lähetät suoratoistovideota jossain ehdollisessa Twitchissä, IP-yhteyksien tasolla tasapainottaminen ei tuota erityistä hyötyä, koska videovirta lähetetään yhden IP-yhteyden sisällä. Tässä tapauksessa, jos WAN 3 -palveluntarjoajalla alkaa olla viestintäongelmia, kuten pakettien katoaminen tai hidastuminen, et voi vaihtaa välittömästi toiseen palveluntarjoajaan. Lähetys on lopetettava ja yhdistettävä uudelleen.

Todellinen kanavan yhteenveto

Kanavien todellinen summaus mahdollistaa yhden yhteyden käynnistämisen ehdolliseen Twitchiin kaikkien palveluntarjoajien kautta kerralla siten, että jos jokin palveluntarjoajista katkeaa, yhteys ei katkea. Tämä on yllättävän vaikea ongelma, jolle ei vieläkään ole optimaalista ratkaisua. Monet eivät edes tiedä, että tämä on mahdollista!

Edellisistä kuvista muistamme, että ehdollinen Twitch-palvelin voi vastaanottaa meiltä videostriimiä vain yhdestä lähteen IP-osoitteesta, mikä tarkoittaa, että sen on oltava aina vakiona, riippumatta siitä, mitkä palveluntarjoajat ovat pudonneet ja mitkä toimivat. Tämän saavuttamiseksi tarvitsemme summauspalvelimen, joka katkaisee kaikki yhteydemme ja yhdistää ne yhdeksi.

Internet-kanavien todellinen summa - OpenMPTCPRuter
Summauspalvelin kokoaa kaikki kanavat yhteen tunneliin. Kaikki yhteydet ovat peräisin summauspalvelimen osoitteesta

Tämä järjestelmä käyttää kaikkia palveluntarjoajia, ja minkä tahansa niistä poistaminen käytöstä ei aiheuta yhteyden katkeamista Twitch-palvelimen kanssa. Itse asiassa tämä on erityinen VPN-tunneli, jonka konepellin alla on useita Internet-kanavia kerralla. Tällaisen järjestelmän päätehtävänä on saada korkealaatuisin viestintäkanava. Jos ongelmat alkavat jostain palveluntarjoajasta, pakettien katoaminen, viiveiden lisääntyminen, tämän ei pitäisi vaikuttaa viestinnän laatuun millään tavalla, koska kuorma jakautuu automaattisesti muille, paremmille kanaville, jotka ovat käytettävissä.

Kaupalliset ratkaisut

Tämä ongelma on jo pitkään ollut huolenaihe niille, jotka lähettävät tapahtumia suorana ja joilla ei ole pääsyä korkealaatuiseen Internetiin. Tällaisiin tehtäviin on olemassa useita kaupallisia ratkaisuja, esimerkiksi Teradek tekee sellaisia ​​hirviömäisiä reitittimiä, joihin laitetaan USB-modeemipaketit:

Internet-kanavien todellinen summa - OpenMPTCPRuter
Lähetysvideoreititin kanavien summaustoiminnolla

Tällaisilla laitteilla on yleensä mahdollisuus kaapata videota HDMI:n tai SDI:n kautta. Yhdessä reitittimen kanssa myydään kanavan summauspalvelun tilaus sekä videovirran käsittely, transkoodaus ja edelleenlähetys. Tällaisten laitteiden hinta alkaa 2 XNUMX dollarista modeemisarjalla sekä erillisellä palvelun tilauksella.

Joskus se näyttää melko pelottavalta:

Internet-kanavien todellinen summa - OpenMPTCPRuter

OpenMPTCPRuterin asetukset

protokolla MP-TCP (MultiPath TCP) keksittiin mahdollisuutta muodostaa yhteys useilla kanavilla kerralla. Esimerkiksi hänen tukee iOS:ää ja voi samanaikaisesti muodostaa yhteyden etäpalvelimeen WiFin ja matkapuhelinverkon kautta. On tärkeää ymmärtää, että kyseessä ei ole kaksi erillistä TCP-yhteyttä, vaan yksi yhteys, joka on muodostettu kahdelle kanavalle kerralla. Jotta tämä toimisi, myös etäpalvelimen on tuettava MPTCP:tä.

Avaa MPTCPRuter on avoimen lähdekoodin ohjelmistoreititinprojekti, jonka avulla voit todella summata kanavia. Tekijät toteavat, että projekti on alfaversiossa, mutta sitä voidaan jo käyttää. Se koostuu kahdesta osasta - Internetissä sijaitsevasta summauspalvelimesta ja reitittimestä, johon on kytketty useita Internet-palveluntarjoajia ja itse asiakaslaitteita: tietokoneita, puhelimia. Mukautettu reititin voi olla Raspberry Pi, jotkin WiFi-reitittimet tai tavallinen tietokone. Eri alustoille on valmiita kokoonpanoja, mikä on erittäin kätevää.

Internet-kanavien todellinen summa - OpenMPTCPRuter
Kuinka OpenMPTCPRuter toimii

Yhteenvetopalvelimen asetukset

Summauspalvelin sijaitsee Internetissä ja katkaisee yhteydet kaikista asiakasreitittimen kanavista yhdeksi. Tämän palvelimen IP-osoite on ulkoinen osoite käytettäessä Internetiä OpenMPTCPRuterin kautta.

Käytämme tähän tehtävään VPS-palvelinta Debian 10:ssä.

Summauspalvelinvaatimukset:

  • MPTCP ei toimi OpenVZ-virtualisoinnissa
  • Oma Linux-ytimen pitäisi olla mahdollista asentaa

Palvelin otetaan käyttöön suorittamalla yksi komento. Komentosarja asentaa mptcp-yhteensopivan ytimen ja kaikki tarvittavat paketit. Asennuskomentosarjat ovat saatavilla Ubuntulle ja Debianille.

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

Onnistuneen palvelimen asennuksen tulos.

Internet-kanavien todellinen summa - OpenMPTCPRuter

Tallennamme salasanat, tarvitsemme niitä asiakasreitittimen määrittämiseen ja uudelleenkäynnistykseen. On tärkeää muistaa, että asennuksen jälkeen SSH on käytettävissä portissa 65222. Uudelleenkäynnistyksen jälkeen meidän on varmistettava, että käynnistämme uuden ytimen

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

Näemme versionumeron vieressä merkinnän mptcp, mikä tarkoittaa, että ydin on asennettu oikein.

Asiakasreitittimen määrittäminen

Päälle projektisivusto Joillekin alustoille, kuten Raspberry Pi, Banana Pi, Lynksys-reitittimet ja virtuaalikoneet, on saatavilla valmiita koontiversioita.
Tämä openmptcprouterin osa perustuu OpenWRT:hen, joka käyttää käyttöliittymänä LuCI:ta, joka on tuttu kaikille OpenWRT:tä koskaan kohdanneille. Jakelusarja painaa noin 50 Mb!

Internet-kanavien todellinen summa - OpenMPTCPRuter

Testipenkinä käytän Raspberry Pi:tä ja useita USB-modeemeja eri operaattoreilla: MTS ja Megafon. Kuinka kirjoittaa kuva SD-kortille, ei kai tarvitse kertoa.

Aluksi Raspberry Pi:n Ethernet-portti on määritetty laniksi, jossa on staattinen IP-osoite. 192.168.100.1. Jotta en sotkeutuisi pöydällä olevien johtojen kanssa, liitin Raspberry Pi:n WiFi-tukiasemaan ja asetin staattisen osoitteen tietokoneen WiFi-sovittimeen. 192.168.100.2. DHCP-palvelin ei ole oletusarvoisesti käytössä, joten staattisia osoitteita on käytettävä.

Nyt voit siirtyä verkkokäyttöliittymään 192.168.100.1

Kun kirjaudut sisään ensimmäisen kerran, järjestelmä pyytää sinua asettamaan root-salasanan, SSH on käytettävissä samalla salasanalla.

Internet-kanavien todellinen summa - OpenMPTCPRuter
LAN-asetuksissa voit määrittää haluamasi aliverkon ja ottaa käyttöön DHCP-palvelimen.

Käytän modeemeja, jotka on määritelty USB-ethernet-liitännöiksi erillisellä DHCP-palvelimella, joten tämä vaati asennusta lisäpaketteja. Toimenpide on identtinen modeemien määrittämiseen tavallisessa OpenWRT:ssä, joten en käsittele sitä tässä.

Seuraavaksi sinun on määritettävä WAN-liitännät. Aluksi järjestelmään luotiin kaksi virtuaalista rajapintaa WAN1 ja WAN2. Heidän on määritettävä fyysinen laite, minun tapauksessani nämä ovat USB-modeemiliitäntöjen nimiä.

Jotta käyttöliittymän nimet eivät hämmenny, suosittelen katsomaan dmesg-viestejä ollessasi yhteydessä SSH:n kautta.

Koska modeemit toimivat itse reitittiminä ja niillä on itse DHCP-palvelin, jouduin muuttamaan niiden sisäisten verkkoalueiden asetuksia ja poistamaan DHCP-palvelimen käytöstä, koska aluksi molemmat modeemit antavat osoitteita samasta verkosta, mikä aiheuttaa ristiriidan.

OpenMPTCPRuter vaatii WAN-liitäntäosoitteiden olevan staattisia, joten keksimme modeemeille aliverkot ja konfiguroimme ne järjestelmässä → openmptcprouter → käyttöliittymän asetukset. Täällä sinun on myös määritettävä summauspalvelimen asennuksen aikana saatu IP-osoite ja palvelinavain.

Internet-kanavien todellinen summa - OpenMPTCPRuter

Jos asennus onnistuu, tilasivulla pitäisi näkyä samanlainen kuva. Voidaan nähdä, että reititin onnistui tavoittamaan summauspalvelimen ja molemmat kanavat toimivat oikein.

Internet-kanavien todellinen summa - OpenMPTCPRuter

Oletustila on shadowsocks + mptcp. Tämä on sellainen välityspalvelin, joka käärii kaikki yhteydet itsessään. Aluksi se on määritetty käsittelemään vain TCP:tä, mutta voit ottaa myös UDP:n käyttöön.

Internet-kanavien todellinen summa - OpenMPTCPRuter

Jos tilasivulla ei ole virheitä, asennuksen voidaan katsoa olevan valmis.
Joidenkin palveluntarjoajien kanssa voi syntyä tilanne, kun mptcp-lippu katkaistaan ​​liikennereitillä, niin tapahtuu tällainen virhe:

Internet-kanavien todellinen summa - OpenMPTCPRuter

Tässä tapauksessa voit käyttää toista toimintatilaa ilman MPTCP:tä, lisää tästä täällä.

Johtopäätös

OpenMPTCPRuter-projekti on erittäin mielenkiintoinen ja tärkeä, koska se on ehkä ainoa avoin monimutkainen ratkaisu kanavien summausongelmaan. Kaikki muu on joko tiukasti suljettua ja omaa tai vain erillisiä moduuleja, joita tavallinen ihminen ei voi käsitellä. Nykyisessä kehitysvaiheessa projekti on vielä melko raaka, erittäin huono dokumentaatio, monia asioita ei yksinkertaisesti ole kuvattu. Mutta samalla se toimii edelleen. Toivon sen kehittyvän edelleen ja saamme kotitalousreitittimiä, jotka pystyvät yhdistämään kanavia normaalisti pakkauksesta.

Internet-kanavien todellinen summa - OpenMPTCPRuter

Seuraa kehittäjäämme Instagramissa

Internet-kanavien todellinen summa - OpenMPTCPRuter

Lähde: will.com

Lisää kommentti