Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Posible ba nga mahiusa ang daghang mga channel sa Internet sa usa? Adunay daghang mga sayop nga pagsabut ug mga mito sa palibot niini nga hilisgutan, bisan ang mga eksperyensiyado nga mga inhenyero sa network kanunay nga wala mahibal-an nga kini posible. Sa kasagaran nga mga kaso, ang link aggregation sayop nga gitawag nga NAT balancing o failover. Apan gitugotan ang tinuod nga pagsumada pagdagan sa usa ka koneksyon sa TCP nga dungan sa tanan nga mga channel sa Internet, pananglitan, ang pag-broadcast sa video aron kung ang bisan unsang mga channel sa Internet mabalda, ang broadcast dili mabalda.

Adunay mga mahal nga komersyal nga solusyon alang sa pag-broadcast sa video, apan ang ingon nga mga aparato nagkantidad og daghang kilobucks. Gihubit sa artikulo ang pag-configure sa libre, bukas nga pakete nga OpenMPTCPRouter, ug naghisgot sa mga sikat nga mito bahin sa pagsumada sa channel.

Mga tumotumo bahin sa summing channels

Adunay daghang mga router sa balay nga nagsuporta sa Multi-WAN function. Usahay ang mga tiggama nagtawag niini nga channel summing, nga dili hingpit nga tinuod. Daghang networkers ang nagtuo nga dugang sa LACP ug summation sa L2 layer, walay laing channel aggregation ang anaa. Kanunay nakong nadungog nga kini sa kasagaran imposible gikan sa mga tawo nga nagtrabaho sa telecom. Busa, atong sulayan nga masabtan ang popular nga mga mito.

Pagbalanse sa lebel sa mga koneksyon sa IP

Kini ang labing barato ug popular nga paagi sa paggamit sa daghang mga channel sa Internet sa parehas nga oras. Alang sa kayano, atong hunahunaon nga ikaw adunay tulo ka mga ISP, ang matag usa naghatag kanimo ug tinuod nga IP address gikan sa ilang network. Ang tanan niini nga mga providers konektado sa usa ka router nga adunay suporta alang sa Multi-WAN function. Mahimo kini nga OpenWRT sa mwan3 nga pakete, mikrotik, ubiquiti, o bisan unsang uban pang router sa panimalay, tungod kay karon kini nga kapilian dili na kasagaran.

Aron masundog ang sitwasyon, hunahunaa nga ang mga provider naghatag kanamo sa mosunod nga mga adres:

WAN1 β€” 11.11.11.11
WAN2 β€” 22.22.22.22
WAN2 β€” 33.33.33.33

Kana mao, ang pagkonektar sa usa ka hilit nga server example.com pinaagi sa matag usa sa mga providers, ang hilit nga server makakita sa tulo ka independenteng tinubdan ip sa kliyente. Ang pagbalanse nagtugot kanimo sa pagbahin sa load sa mga kanal ug gamiton kining tulo sa samang higayon. Alang sa kayano, atong huna-hunaon nga parehas natong gibahin ang load tali sa tanang channel. Ingon usa ka sangputanan, kung ang usa ka kliyente magbukas sa usa ka site nga adunay tulo nga mga imahe nga adunay kondisyon, iyang gi-download ang matag imahe pinaagi sa usa ka lahi nga provider. Sa kilid sa site, morag mga koneksyon gikan sa tulo ka lainlaing mga IP.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter
Kung magbalanse sa lebel sa koneksyon, ang matag koneksyon sa TCP moagi sa usa ka lahi nga provider.

Kini nga mode sa pagbalanse kanunay nga hinungdan sa mga problema sa mga tiggamit. Pananglitan, daghang mga site nga hard-wire cookies ug mga token sa IP address sa kliyente, ug kung kini kalit nga mausab, ang hangyo gihulog o ang kliyente nag-log out sa site. Kanunay kini nga gihimo sa mga sistema sa kliyente-bangko ug uban pang mga site nga adunay estrikto nga mga lagda sa sesyon sa tiggamit. Ania ang usa ka yano nga ilustrasyon nga pananglitan: ang mga file sa musika sa VK.com magamit ra nga adunay usa ka balido nga yawe sa sesyon nga gigapos sa IP, ug ang mga kliyente nga naggamit sa ingon nga pagbalanse kasagaran dili magdula og audio, tungod kay ang hangyo wala moagi sa provider diin ang gigapos ang sesyon.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter
Kung nag-download sa mga sapa, ang pagbalanse sa lebel sa koneksyon nagsumada sa bandwidth sa tanan nga mga kanal

Ang ingon nga pagbalanse nagtugot kanimo nga makuha ang sumada sa katulin sa channel sa Internet kung mogamit daghang mga koneksyon. Pananglitan, kung ang matag usa sa tulo nga mga provider adunay katulin nga 100 megabits, unya kung mag-download sa mga sapa makakuha kami og 300 megabits. Tungod kay ang torrent nagbukas sa daghang mga koneksyon nga giapod-apod sa tanan nga mga provider ug sa katapusan gigamit ang tibuuk nga channel.

Importante nga masabtan nga ang usa ka koneksyon sa TCP kanunay nga moagi sa usa lamang ka provider. Kana mao, kung mag-download kami og usa ka dako nga file pinaagi sa HTTP, nan kini nga koneksyon himuon pinaagi sa usa sa mga provider, ug kung ang koneksyon niini nga provider maguba, nan ang pag-download maguba usab.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter
Ang usa ka koneksyon kanunay nga mogamit lamang sa usa ka channel sa Internet

Tinuod usab kini alang sa mga sibya sa video. Kung nagsibya ka sa streaming nga video sa pipila ka kondisyon nga Twitch, nan ang pagbalanse sa lebel sa mga koneksyon sa IP dili maghatag bisan unsang partikular nga kaayohan, tungod kay ang video stream i-broadcast sa sulod sa usa ka koneksyon sa IP. Sa kini nga kaso, kung ang WAN 3 provider magsugod nga adunay mga problema sa komunikasyon, sama sa pagkawala sa packet o paghinay, nan dili ka dayon makabalhin sa lain nga provider. Ang sibya kinahanglan nga hunongon ug makonektar pag-usab.

Tinuod nga channel summing

Ang tinuod nga summasyon sa mga channel nagpaposible sa pagsugod sa usa ka koneksyon sa conditional Twitch pinaagi sa tanan nga mga providers sa makausa sa paagi nga kung adunay bisan kinsa sa mga providers nga maguba, ang koneksyon dili mabalda. Kini usa ka katingad-an nga lisud nga problema, nga wala gihapon usa ka kamalaumon nga solusyon. Daghan ang wala gani mahibalo nga kini posible!

Gikan sa nangaging mga ilustrasyon, nahinumduman namo nga ang conditional Twitch server makadawat og video stream gikan kanamo gikan sa usa lamang ka tinubdan nga IP address, nga nagpasabot nga kini kinahanglan kanunay nga kanunay uban kanamo, bisan unsa nga mga providers ang nahulog ug kung asa ang nagtrabaho. Aron makab-ot kini, kinahanglan namon ang usa ka summation server nga mohunong sa tanan namong mga koneksyon ug maghiusa kanila sa usa.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter
Ang summation server nag-aggregate sa tanang channel ngadto sa usa ka tunnel. Ang tanan nga koneksyon naggikan sa adres sa summation server

Gigamit sa kini nga laraw ang tanan nga mga taghatag, ug ang pag-disable sa bisan kinsa niini dili hinungdan sa pagkawala sa komunikasyon sa Twitch server. Sa tinuud, kini usa ka espesyal nga tunel sa VPN, sa ilawom sa tabon diin adunay daghang mga channel sa Internet sa usa ka higayon. Ang nag-unang tahas sa ingon nga laraw mao ang pagkuha sa labing taas nga kalidad nga channel sa komunikasyon. Kung ang mga problema magsugod sa usa sa mga provider, pagkawala sa packet, pagtaas sa mga paglangan, nan kini dili makaapekto sa kalidad sa komunikasyon sa bisan unsang paagi, tungod kay ang load awtomatik nga iapud-apod sa uban, mas maayo nga mga kanal nga anaa.

Komersyal nga mga Solusyon

Kini nga problema dugay na nga gikabalak-an sa mga nagsibya sa mga panghitabo nga live ug walay access sa taas nga kalidad nga Internet. Alang sa ingon nga mga buluhaton, adunay daghang mga solusyon sa komersyo, pananglitan, ang Teradek naghimo sa ingon nga makalilisang nga mga ruta diin ang mga pakete sa mga USB modem gisulud:

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter
Pag-broadcast sa video router nga adunay function summing channel

Ang ingon nga mga himan kasagaran adunay katakus sa pagkuha sa video pinaagi sa HDMI o SDI. Kauban sa router, gibaligya ang usa ka suskrisyon sa serbisyo sa summation sa channel, ingon man ang pagproseso sa stream sa video, pag-transcode niini ug pag-retransmit niini sa dugang. Ang presyo sa ingon nga mga aparato nagsugod gikan sa $ 2k nga adunay usa ka set sa mga modem, dugang usa ka bulag nga suskrisyon sa serbisyo.

Usahay kini daw makahadlok kaayo:

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Pag-set up sa OpenMPTCPROuter

Protokol MP-TCP (MultiPath TCP) giimbento alang sa abilidad sa pagkonektar sa daghang mga channel sa usa ka higayon. Pananglitan, ang iyang nagsuporta sa iOS ug dungan nga makakonektar sa usa ka hilit nga server pinaagi sa WiFi ug pinaagi sa usa ka cellular network. Importante nga masabtan nga kini dili duha ka bulag nga koneksyon sa TCP, apan usa ka koneksyon nga gitukod sa duha ka channel sa usa ka higayon. Aron kini molihok, ang hilit nga server kinahanglan usab nga mosuporta sa MPTCP.

OpenMPTCPROuter mao ang usa ka open source software router nga proyekto nga nagtugot kaninyo sa tinuod nga gidaghanon sa mga channels. Ang mga tagsulat nag-ingon nga ang proyekto anaa sa alpha version status, apan kini magamit na. Naglangkob kini sa duha ka bahin - usa ka summing server, nga nahimutang sa Internet ug usa ka router, diin daghang mga provider sa Internet ug mga aparato sa kliyente ang konektado mismo: mga kompyuter, mga telepono. Ang usa ka custom nga router mahimong usa ka Raspberry Pi, pipila ka mga WiFi router, o usa ka regular nga kompyuter. Adunay mga andam nga gihimo nga mga asembliya alang sa lainlaing mga plataporma, nga dali kaayo.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter
Giunsa pagtrabaho ang OpenMPTCPRouter

Pag-setup sa server sa summarization

Ang summing server nahimutang sa Internet ug nagtapos sa mga koneksyon gikan sa tanang channel sa client router ngadto sa usa. Ang IP address niini nga server mao ang eksternal nga adres kung mag-access sa Internet pinaagi sa OpenMPTCPRouter.

Alang sa kini nga buluhaton, mogamit kami usa ka server sa VPS sa Debian 10.

Mga kinahanglanon sa summation server:

  • Ang MPTCP wala magtrabaho sa OpenVZ virtualization
  • Mahimong posible nga i-install ang imong kaugalingon nga Linux kernel

Ang server gipakatap pinaagi sa pagpatuman sa usa ka sugo. I-install sa script ang kernel nga gipagana sa mptcp ug tanan nga gikinahanglan nga mga pakete. Ang mga script sa pag-install magamit alang sa Ubuntu ug Debian.

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

Ang resulta sa usa ka malampuson nga pag-instalar sa server.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Gitipigan namon ang mga password, kinahanglan namon kini aron ma-configure ang router sa kliyente, ug i-reboot. Importante nga hinumdoman nga human sa pag-instalar, ang SSH mahimong magamit sa port 65222. Human sa pag-reboot, kinahanglan natong sigurohon nga kita mag-boot gamit ang bag-ong kernel

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

Nakita namon ang inskripsiyon nga mptcp sunod sa numero sa bersyon, nga nagpasabut nga ang kernel na-install sa husto.

Pag-set up sa usa ka router sa kliyente

sa website sa proyekto Ang mga andam nga paghimo magamit alang sa pipila nga mga plataporma, sama sa Raspberry Pi, Banana Pi, Lynksys nga mga router, ug mga virtual machine.
Kini nga bahin sa openmptcprouter gibase sa OpenWRT, gamit ang LuCI isip interface, pamilyar sa bisan kinsa nga nakasugat sa OpenWRT. Ang distribution kit motimbang ug mga 50Mb!

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Isip usa ka test bench, akong gamiton ang Raspberry Pi ug daghang USB modem nga adunay lain-laing mga operator: MTS ug Megafon. Giunsa pagsulat ang usa ka imahe sa usa ka SD card, sa akong hunahuna, dili kinahanglan isulti.

Sa sinugdan, ang Ethernet port sa Raspberry Pi gi-configure ingon lan nga adunay static nga IP address. 192.168.100.1. Aron dili masamok ang mga wire sa lamesa, gikonektar nako ang Raspberry Pi sa usa ka access point sa WiFi ug nagbutang usa ka static nga adres sa adapter sa WiFi sa computer. 192.168.100.2. Ang DHCP server dili mahimo pinaagi sa default, mao nga ang mga static nga adres kinahanglan gamiton.

Karon makaadto ka sa web interface 192.168.100.1

Sa una ka nga pag-log in, ang sistema maghangyo kanimo nga itakda ang root password, ang SSH magamit sa parehas nga password.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter
Sa mga setting sa LAN, mahimo nimong itakda ang gusto nga subnet ug mahimo ang DHCP server.

Gigamit nako ang mga modem nga gihubit nga mga interface sa USB ethernet nga adunay lahi nga DHCP server, mao nga kinahanglan kini nga pag-install dugang nga mga pakete. Ang pamaagi parehas sa pag-configure sa mga modem sa regular nga OpenWRT, busa dili nako kini tabonan dinhi.

Sunod, kinahanglan nimo nga i-configure ang mga interface sa WAN. Sa sinugdan, duha ka virtual interface nga WAN1 ug WAN2 ang gihimo sa sistema. Kinahanglan nila nga mag-assign sa usa ka pisikal nga aparato, sa akong kaso, kini ang mga ngalan sa mga interface sa USB modem.

Aron dili malibog sa mga ngalan sa interface, gitambagan ko ikaw nga tan-awon ang mga mensahe sa dmesg samtang konektado pinaagi sa SSH.

Tungod kay ang akong mga modem naglihok ingon nga mga router mismo ug adunay usa ka DHCP server sa ilang kaugalingon, kinahanglan nako nga usbon ang mga setting sa ilang mga internal nga network range ug i-disable ang DHCP server, tungod kay sa sinugdanan ang duha nga mga modem nag-isyu sa mga adres gikan sa parehas nga network, ug kini nagpahinabog panagbangi.

Ang OpenMPTCPRouter nanginahanglan nga ang mga adres sa interface sa WAN mahimong static, mao nga nag-imbento kami mga subnet para sa mga modem ug gi-configure kini sa sistema β†’ openmptcprouter β†’ menu sa mga setting sa interface. Dinhi kinahanglan nimo nga ipiho ang IP address ug ang yawe sa server nga nakuha sa panahon sa pag-install sa summation server.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Sa kaso sa malampuson nga setup, ang usa ka susama nga hulagway kinahanglan nga makita sa status page. Makita nga ang router nakahimo sa pagkab-ot sa summing server ug ang duha ka mga channel nagtrabaho sa husto.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Ang default mode mao ang shadowsocks + mptcp. Kini usa ka proxy nga nagputos sa tanan nga koneksyon sa iyang kaugalingon. Sa sinugdan, kini gi-configure aron pagdumala lamang sa TCP, apan mahimo usab nimo nga mahimo ang UDP.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Kung wala’y mga sayup sa panid sa status, ang pag-setup mahimong makonsiderar nga kompleto.
Uban sa pipila ka mga providers, ang usa ka sitwasyon mahimong motumaw sa diha nga ang mptcp nga bandila naputol subay sa agianan sa trapiko, unya adunay ingon nga usa ka sayup:

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Sa kini nga kaso, mahimo nimong gamiton ang lain nga paagi sa operasyon, nga wala gigamit ang MPTCP, labi pa bahin niini dinhi.

konklusyon

Ang OpenMPTCPRouter nga proyekto mao ang kaayo makapaikag ug importante, tungod kay kini mao ang tingali ang bugtong bukas nga komplikado nga solusyon sa channel summing problema. Ang tanan nga uban pa kay hugot nga sirado ug proprietary, o bulag nga modules nga dili masagubang sa ordinaryong tawo. Sa kasamtangan nga yugto sa pag-uswag, ang proyekto medyo hilaw pa, hilabihan ka kabus nga dokumentasyon, daghang mga butang ang wala gihulagway. Apan sa samang higayon, kini nagtrabaho gihapon. Nanghinaut ko nga kini magpadayon sa pag-uswag, ug makakuha kami mga router sa panimalay nga makahimo sa paghiusa sa mga kanal nga kasagaran sa gawas sa kahon.

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Sunda ang among developer sa Instagram

Tinuud nga kadaghanon sa mga kanal sa Internet - OpenMPTCPRouter

Source: www.habr.com

Idugang sa usa ka comment