Leres Internet Channel Summation - OpenMPTCPRouter

Leres Internet Channel Summation - OpenMPTCPRouter

Naha mungkin pikeun ngagabungkeun sababaraha saluran Internét janten hiji? Aya seueur misconceptions sareng mitos ngeunaan topik ieu; bahkan insinyur jaringan anu berpengalaman sering henteu terang yén ieu mungkin. Dina kalolobaan kasus, link aggregation salah disebut balancing dina tingkat NAT atanapi failover. Tapi summation nyata ngamungkinkeun ngajalankeun hiji sambungan TCP tunggal sakaligus dina sakabéh saluran Internet, contona, siaran pidéo supados upami aya saluran Internét anu kaganggu, siaran éta moal kaganggu.

Aya solusi komérsial anu mahal pikeun siaran pidéo, tapi alat sapertos kitu hargana seueur kilobucks. Tulisan éta ngajelaskeun kumaha carana ngonpigurasikeun pakét OpenMPTCPRouter gratis, open-source sareng alamat mitos populér ngeunaan penjumlahan saluran.

Mitos ngeunaan saluran summing

Aya seueur router bumi anu ngadukung fungsi Multi-WAN. Kadang-kadang produsén nelepon saluran ieu summing, nu teu sagemblengna bener. Loba networkers yakin yén salian ti LACP jeung penjumlahan dina tingkat L2, euweuh aggregation channel séjén aya. Kuring geus mindeng ngadéngé yén ieu téh umumna teu mungkin ti jalma anu gawe dina telecoms. Ku alatan éta, hayu urang coba ngartos mitos populér.

Balancing dina tingkat sambungan IP

Ieu mangrupikeun cara anu paling murah sareng populér pikeun ngagunakeun sababaraha saluran Internét dina waktos anu sami. Pikeun kesederhanaan, hayu urang bayangkeun yén anjeun gaduh tilu panyadia Internét, masing-masing masihan anjeun alamat IP nyata tina jaringanna. Sadaya panyadia ieu disambungkeun ka router anu ngarojong fungsi Multi-WAN. Ieu tiasa OpenWRT sareng pakét mwan3, mikrotik, ubiquiti, atanapi router rumah tangga anu sanés, sabab pilihan sapertos kitu henteu jarang.

Pikeun simulasi kaayaan, hayu urang bayangkeun yén panyadia masihan kami alamat ieu:

WAN1 — 11.11.11.11
WAN2 — 22.22.22.22
WAN2 — 33.33.33.33

Nyaéta, nyambungkeun ka server jauh example.com Ngaliwatan unggal panyadia, pangladén jauh bakal ningali tilu klien IP sumber mandiri. Balancing ngamungkinkeun anjeun ngabagi beban kana saluran sareng nganggo tilu aranjeunna sakaligus. Pikeun kesederhanaan, hayu urang ngabayangkeun yén urang ngabagi beban anu sami antara sadaya saluran. Hasilna, nalika klien muka situs kalayan tilu gambar, anjeunna ngundeur unggal gambar ngaliwatan panyadia misah. Di sisi situs sigana sambungan tina tilu IP anu béda.

Leres Internet Channel Summation - OpenMPTCPRouter
Nalika balancing dina tingkat sambungan, unggal sambungan TCP ngaliwatan panyadia misah.

Mode kasaimbangan ieu sering nyababkeun masalah pikeun pangguna. Salaku conto, seueur situs sacara ketat ngabeungkeut cookies sareng token ka alamat IP klien, sareng upami ujug-ujug robih, pamundut ditolak atanapi klien kaluar tina situs. Ieu sering dihasilkeun dina sistem klien-bank jeung situs séjén kalawan aturan sési pamaké ketat. Ieu conto illustrative basajan: file musik dina VK.com ngan sadia kalawan konci sési valid, nu dihijikeun ka IP, sarta klien nu ngagunakeun balancing misalna mindeng teu maén audio sabab pamundut teu ngaliwatan panyadia nu. sési dihijikeun.

Leres Internet Channel Summation - OpenMPTCPRouter
Nalika ngundeur torrents, balancing tingkat sambungan nyimpulkeun rubakpita sadaya saluran

Balancing ieu ngamungkinkeun anjeun pikeun nyimpulkeun laju saluran Internét nalika nganggo sababaraha sambungan. Contona, upami tiap tina tilu panyadia boga speed 100 Megabits, lajeng nalika ngundeur torrents urang bakal meunang 300 Megabits. Kusabab torrent muka seueur sambungan, anu disebarkeun ka sadaya panyayogikeun sareng pamustunganana ngagunakeun sadayana saluran.

Kadé ngartos yen hiji sambungan TCP tunggal bakal salawasna ngaliwatan ngan hiji panyadia. Nyaéta, upami urang ngaunduh hiji file ageung ngalangkungan HTTP, maka sambungan ieu bakal dilakukeun ngaliwatan salah sahiji panyadia, sareng upami sambungan sareng panyadia ieu rusak, undeuran ogé bakal rusak.

Leres Internet Channel Summation - OpenMPTCPRouter
Hiji sambungan bakal salawasna make ngan hiji saluran Internet

Ieu ogé bener keur siaran video. Upami anjeun nyiarkeun streaming pidéo kana sababaraha jinis Twitch kondisional, teras kasaimbangan dina tingkat sambungan IP moal masihan kauntungan khusus, sabab aliran pidéo bakal disiarkeun dina hiji sambungan IP. Dina hal ieu, upami panyadia WAN 3 mimiti ngalaman masalah sareng komunikasi, sapertos pakét leungitna atanapi ngirangan laju, maka anjeun moal tiasa langsung ngalih ka panyadia anu sanés. Siaranna kedah dieureunkeun sareng sambungkeun deui.

Nyimpulkeun saluran leres

Summing saluran nyata ngamungkinkeun pikeun ngajalankeun hiji sambungan ka Twitch kondisional ngaliwatan sagala panyadia sakaligus dina cara sapertos nu lamun salah sahiji panyadia ngarecah, sambungan nu moal interrupted. Ieu mangrupikeun masalah anu hese anu masih teu gaduh solusi anu optimal. Seueur jalma henteu terang yén ieu mungkin!

Tina ilustrasi sateuacana, urang émut yén server Twitch kondisional tiasa nampi aliran pidéo ti kami tina ngan ukur hiji alamat IP sumber, anu hartosna éta kedah tetep konstan pikeun urang, henteu paduli panyadia mana anu murag sareng anu mana anu damel. Pikeun ngahontal ieu, urang peryogi server summing anu bakal ngeureunkeun sadaya sambungan urang sareng ngagabungkeun kana hiji.

Leres Internet Channel Summation - OpenMPTCPRouter
The summing server aggregates sadaya saluran kana hiji torowongan. Sadaya sambungan asalna tina alamat server summing

Dina skéma ieu, sadaya panyadia dianggo, sareng nganonaktipkeun salah sahijina moal nyababkeun leungitna komunikasi sareng server Twitch. Intina, ieu mangrupikeun torowongan VPN khusus, di handapeun tiungna aya sababaraha saluran Internét sakaligus. Tugas utama skéma ieu nyaéta pikeun ménta saluran komunikasi kualitas pangluhurna. Upami salah sahiji panyadia mimiti ngalaman masalah, kaleungitan pakét, ningkat telat, maka ieu henteu kedah mangaruhan kualitas komunikasi ku cara naon waé, sabab beban bakal otomatis disebarkeun kana saluran anu sanés anu langkung saé.

Solusi komérsial

Masalah ieu parantos lami ngaganggu jalma anu nyiarkeun acara langsung sareng henteu ngagaduhan aksés kana Internét anu kualitas luhur. Pikeun tugas sapertos kitu, aya sababaraha solusi komérsial, contona, perusahaan Teradek ngadamel router anu monstrous sapertos dimana bungkus modem USB diselapkeun:

Leres Internet Channel Summation - OpenMPTCPRouter
Router pikeun siaran pidéo sareng fungsi summing saluran

Alat sapertos kitu biasana gaduh kamampuan pikeun nangkep sinyal pidéo via HDMI atanapi SDI. Marengan router, langganan kana layanan summing channel dijual, kitu ogé ngolah aliran video, transcoding eta sarta relaying salajengna. Harga alat sapertos mimitian ti $2k sareng sakumpulan modem, ditambah langganan anu misah pikeun jasa éta.

Kadang-kadang katingalina rada pikasieuneun:

Leres Internet Channel Summation - OpenMPTCPRouter

Nyetél OpenMPTCPROuter

Protokol MP-TCP (MultiPath TCP) diciptakeun pikeun nyambungkeun sababaraha saluran sakaligus. Contona, nya ngarojong ios sarta sakaligus bisa nyambung ka server jauh via WiFi jeung via jaringan sélulér. Kadé ngartos yen ieu teu dua sambungan TCP misah, tapi rada hiji sambungan ngadegkeun leuwih dua saluran sakaligus. Jang ngalampahkeun ieu, pangladén jauh ogé kedah ngadukung MPTCP.

BukaMPTCPROuter mangrupa proyék router software open source anu ngamungkinkeun pikeun summarization channel leres. Panulis nyatakeun yén proyék éta dina status versi alfa, tapi éta parantos tiasa dianggo. Éta diwangun ku dua bagian - server summing, anu aya dina Internét sareng router, anu nyambungkeun sababaraha panyadia Internét sareng alat klien sorangan: komputer, telepon. Router khusus tiasa janten Raspberry Pi, sababaraha router WiFi, atanapi komputer biasa. Aya rakitan siap-dijieun pikeun sagala rupa platform, anu pohara merenah.

Leres Internet Channel Summation - OpenMPTCPRouter
Kumaha OpenMPTCPRouter jalan

Nyetel hiji server summarizing

Server summing aya dina Internét sareng ngeureunkeun sambungan tina sadaya saluran router klien janten hiji. Alamat IP pangladén ieu bakal janten alamat éksternal nalika ngaksés Internét ngalangkungan OpenMPTCPRouter.

Pikeun tugas ieu kami bakal nganggo server VPS dina Debian 10.

Syarat pikeun server summing:

  • MPTCP henteu tiasa dianggo dina virtualisasi OpenVZ
  • Sakuduna tiasa masang kernel Linux anjeun nyalira

Server disebarkeun ku ngalaksanakeun hiji paréntah. Skrip bakal masang kernel kalayan dukungan mptcp sareng sadaya bungkusan anu diperyogikeun. Skrip instalasi sayogi pikeun Ubuntu sareng Debian.

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

Hasil tina instalasi server suksés.

Leres Internet Channel Summation - OpenMPTCPRouter

Urang nyimpen kecap akses, urang bakal butuh aranjeunna pikeun ngonpigurasikeun router klien, sarta reboot. Kadé tetep dina pikiran yén sanggeus instalasi, SSH bakal sadia dina port 65222. Saatos rebooting, urang kudu mastikeun yén urang booted kalawan kernel anyar.

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

Kami ningali prasasti mptcp gigireun nomer versi, anu hartosna kernel dipasang leres.

Nyetel hiji router klien

on ramatloka proyék siap-dijieun ngawangun sadia pikeun sababaraha platform, kayaning buah prambus Pi, Pisang Pi, routers Lynksys jeung mesin virtual.
Ieu bagian tina openmptcprouter dumasar kana OpenWRT, ngagunakeun LuCI salaku panganteur, akrab jeung saha anu geus kungsi encountered OpenWRT. Sebaran beuratna sakitar 50MB!

Leres Internet Channel Summation - OpenMPTCPRouter

Salaku bangku tés, kuring bakal nganggo Raspberry Pi sareng sababaraha modem USB sareng operator anu béda: MTS sareng Megafon. Ku teu sangka kuring kudu ngabejaan ka maneh kumaha nulis gambar ka kartu SD.

Mimitina, port Ethernet dina Raspberry Pi dikonpigurasi salaku lan sareng alamat IP statik 192.168.100.1. Pikeun ngahindarkeun kabel dina méja, kuring nyambungkeun Raspberry Pi ka titik aksés WiFi sareng nyetél adaptor WiFi komputer ka alamat statik. 192.168.100.2. Pangladén DHCP henteu diaktipkeun sacara standar, janten anjeun kedah nganggo alamat statik.

Ayeuna anjeun tiasa log in kana antarmuka wéb 192.168.100.1

Nalika anjeun pertama kali asup, sistem bakal naroskeun anjeun nyetél kecap akses root; SSH bakal sayogi sareng kecap konci anu sami.

Leres Internet Channel Summation - OpenMPTCPRouter
Dina setélan LAN, anjeun tiasa nyetél subnet anu dipikahoyong sareng ngaktipkeun pangladén DHCP.

Kuring make modem nu diartikeun interfaces USB Ethernet jeung server DHCP misah, jadi ieu diperlukeun instalasi bungkusan tambahan. Prosedurna sami sareng nyetél modem dina OpenWRT biasa, janten kuring moal nutupan di dieu.

Satuluyna anjeun perlu ngonpigurasikeun interfaces WAN. Mimitina, sistem nyiptakeun dua antarmuka virtual WAN1 sareng WAN2. Aranjeunna kedah ditugaskeun alat fisik, bisi kuring ieu mangrupikeun nami antarmuka modem USB.

Pikeun ngahindarkeun kabingungan sareng nami antarmuka, kuring nyarankeun ningali pesen dmesg nalika nyambungkeun via SSH.

Kusabab modem kuring sorangan meta salaku routers, sarta sorangan boga server DHCP, Kuring kungsi ngarobah setelan rentang jaringan internal maranéhanana sarta nganonaktipkeun server DHCP, sabab mimitina duanana modem ngaluarkeun alamat ti jaringan anu sarua, sarta ieu ngabalukarkeun konflik a.

OpenMPTCPRouter merlukeun alamat panganteur Wan statik, jadi urang datang nepi ka subnets pikeun modem jeung ngonpigurasikeun aranjeunna dina sistem → openmptcprouter → menu setélan panganteur. Di dieu anjeun kedah netepkeun alamat IP sareng konci server anu dicandak nalika pamasangan server summing.

Leres Internet Channel Summation - OpenMPTCPRouter

Upami setelan suksés, gambar anu sami kedah muncul dina halaman status. Ieu bisa ditempo yén router éta bisa ngahontal server summing sarta duanana saluran jalan normal.

Leres Internet Channel Summation - OpenMPTCPRouter

Modeu standar nyaéta shadowsocks + mptcp. Ieu mangrupikeun proxy anu ngabungkus sadaya sambungan dina dirina. Mimitina dikonpigurasi pikeun ngolah TCP wungkul, tapi UDP ogé tiasa diaktipkeun.

Leres Internet Channel Summation - OpenMPTCPRouter

Upami teu aya kasalahan dina halaman status, setelan tiasa dianggap lengkep.
Kalayan sababaraha panyadia, kaayaan tiasa timbul nalika bandéra mptcp dipotong sapanjang jalur lalu lintas, teras kasalahan ieu bakal muncul:

Leres Internet Channel Summation - OpenMPTCPRouter

Dina hal ieu, anjeun tiasa nganggo mode operasi anu béda, tanpa nganggo MPTCP, langkung seueur ngeunaan ieu di dieu.

kacindekan

Proyék OpenMPTCPRouter pisan metot jeung penting, sabab sugan hijina solusi komprehensif kabuka pikeun masalah summing channel. Sagalana sejenna boh ditutup pageuh tur proprietary, atawa ngan saukur misahkeun modul nu hiji jalma biasa teu bisa ngarti. Dina tahap pangwangunan ayeuna, proyékna masih rada atah, dokuméntasina parah pisan, seueur hal anu henteu dijelaskeun. Tapi dina waktos anu sareng masih jalan. Kuring miharep éta bakal neruskeun ngamekarkeun, sarta kami bakal meunang routers somah anu bakal tiasa leres ngagabungkeun saluran out of the box.

Leres Internet Channel Summation - OpenMPTCPRouter

Turutan pamekar kami dina Instagram

Leres Internet Channel Summation - OpenMPTCPRouter

sumber: www.habr.com

Tambahkeun komentar