Бир нече интернет каналдарын бириктирсе болобу? Бул теманын тегерегинде көптөгөн жаңылыштыктар жана уламыштар бар, ал тургай тажрыйбалуу тармак инженерлери да бул мүмкүн экенин билишпейт. Көпчүлүк учурларда, шилтемени бириктирүү жаңылыш NAT деңгээлинде баланстоо же жаңылыштык деп аталат. Бирок чыныгы жыйынтыктоо мүмкүнчүлүк берет бардык интернет каналдары боюнча бир эле учурда бир TCP байланышын ишке киргизүү, мисалы, интернет каналдарынын кайсынысы болбосун үзгүлтүккө учураса, берүү үзгүлтүккө учурабашы үчүн видео берүү.
Видео берүүлөр үчүн кымбат коммерциялык чечимдер бар, бирок мындай аппараттардын баасы көп килобактарды түзөт. Макалада эркин, ачык булактуу OpenMPTCPRouter пакетин кантип конфигурациялоо керектиги сүрөттөлөт жана каналды жыйынтыктоо жөнүндөгү популярдуу уламыштарга кайрылат.
Каналды жыйынтыктоо жөнүндө уламыштар
Multi-WAN функциясын колдогон көптөгөн үй роутерлери бар. Кээде өндүрүүчүлөр бул каналды жыйынтыктоо деп аташат, бул таптакыр туура эмес. Көптөгөн networkers кошумча деп эсептешет
IP байланыш деңгээлинде баланстоо
Бул бир эле учурда бир нече интернет каналдарын колдонуунун эң арзан жана популярдуу жолу. Жөнөкөйлүк үчүн, ар бири сизге өз тармагынан чыныгы IP дарегин берген үч Интернет провайдериңиз бар деп элестетип көрөлү. Бардык бул провайдерлер Multi-WAN функциясын колдогон роутерге туташкан. Бул mwan3 пакети, mikrotik, ubiquiti же башка үй роутери менен OpenWRT болушу мүмкүн, анткени мындай опция сейрек эмес.
Кырдаалды имитациялоо үчүн, провайдерлер бизге төмөнкү даректерди берди деп элестетип көрөлү:
WAN1 — 11.11.11.11
WAN2 — 22.22.22.22
WAN2 — 33.33.33.33
Башкача айтканда, алыскы серверге туташуу example.com Провайдерлердин ар бири аркылуу алыскы сервер үч көз карандысыз булак IP кардарларын көрөт. Баланстоо жүктү каналдар боюнча бөлүштүрүүгө жана үчөөнү тең бир убакта колдонууга мүмкүндүк берет. Жөнөкөйлүк үчүн, жүктү бардык каналдардын ортосунда бирдей бөлүштүрөбүз деп элестетип көрөлү. Натыйжада, кардар үч сүрөтү бар сайтты ачканда, ар бир сүрөттү өзүнчө провайдер аркылуу жүктөп алат. Сайт тарабында үч түрдүү IP байланыштары окшойт.
Туташуу деңгээлинде баланстоодо ар бир TCP байланышы өзүнчө провайдер аркылуу өтөт.
Бул тең салмактуулук режими көбүнчө колдонуучулар үчүн көйгөйлөрдү жаратат. Мисалы, көптөгөн сайттар кукилерди жана токендерди кардардын IP дарегине катуу байланыштырат жана ал күтүлбөгөн жерден өзгөрүп кетсе, өтүнүч четке кагылат же кардар сайттан чыгып кетет. Бул көбүнчө кардар-банк системаларында жана катуу колдонуучу сессиясынын эрежелери бар башка сайттарда кайталанат. Жөнөкөй иллюстративдик мисал: VK.com сайтындагы музыка файлдары IP'ге байланган жарактуу сеанс ачкычы менен гана жеткиликтүү жана мындай балансташтырууну колдонгон кардарлар көбүнчө аудиону ойношпойт, анткени сурам провайдер аркылуу өткөн эмес. сессиясы тец.
Торренттерди жүктөөдө, байланыш деңгээлин теңдөө бардык каналдардын өткөрүү жөндөмдүүлүгүн жыйынтыктайт
Бул балансташтыруу бир нече байланыштарды колдонууда Интернет каналынын ылдамдыгынын жыйындысын алууга мүмкүндүк берет. Мисалы, үч провайдердин ар биринин ылдамдыгы 100 Мегабит болсо, анда торренттерди жүктөөдө биз 300 Мегабит алабыз. Анткени торрент көптөгөн байланыштарды ачат, алар бардык провайдерлердин арасында бөлүштүрүлөт жана акырында бүт каналды колдонушат.
Бир TCP байланышы ар дайым бир гана провайдер аркылуу өтөөрүн түшүнүү маанилүү. Башкача айтканда, бир чоң файлды HTTP аркылуу жүктөсөк, анда бул байланыш провайдерлердин бири аркылуу ишке ашат, ал эми бул провайдер менен байланыш үзүлүп калса, жүктөө да үзүлөт.
Бир байланыш ар дайым бир гана интернет каналын колдонот
Бул видео берүүлөргө да тиешелүү. Эгер сиз агымдык видеону кандайдыр бир шарттуу Twitchге таратып жатсаңыз, анда IP туташуулар деңгээлинде тең салмактуулук эч кандай өзгөчө пайда бербейт, анткени видео агым бир IP туташуусу ичинде таратылат. Бул учурда, эгерде WAN 3 провайдери пакеттин жоголушу же ылдамдыгынын төмөндөшү сыяктуу байланышта көйгөйлөргө туш боло баштаса, анда сиз дароо башка провайдерге өтө албай каласыз. Берүүнү токтотуп, кайра туташтыруу керек болот.
Чыныгы каналдын жыйынтыгы
Чыныгы каналды жыйынтыктоо шарттуу Twitch менен бир туташууну бир эле учурда бардык провайдерлер аркылуу ишке ашырууга мүмкүндүк берет, ошентип, провайдерлердин бири үзүлсө, байланыш үзгүлтүккө учурабайт. Бул дагы эле оптималдуу чечими жок таң калыштуу татаал маселе. Көптөр бул мүмкүн экенин билишпейт!
Мурунку иллюстрациялардан биз шарттуу Twitch сервери бизден видео агымды бир гана IP даректен ала аларын эстейбиз, демек, кайсы провайдерлер иштебей калганына жана кайсынысы иштеп жатканына карабастан, ал биз үчүн дайыма туруктуу болушу керек. Буга жетүү үчүн бизге бардык байланыштарыбызды токтотуп, аларды бир жерге бириктире турган жыйынтыктоочу сервер керек.
Жыйынтыктоочу сервер бардык каналдарды бир туннелге бириктирет. Бардык туташуулар жыйынтыктоочу сервердин дарегинен келип чыгат
Бул схемада бардык провайдерлер колдонулат жана алардын бирин өчүрүү Twitch сервери менен байланышты жоготпойт. Негизи, бул атайын VPN туннели, анын астында бир эле учурда бир нече интернет каналдары бар. Мындай схеманын негизги милдети жогорку сапаттагы байланыш каналын алуу болуп саналат. Эгерде провайдерлердин биринде көйгөйлөр, пакеттердин жоголушу, кечигүүлөр көбөйө баштаса, анда бул байланыштын сапатына эч кандай таасирин тийгизбеши керек, анткени жүк автоматтык түрдө башка, жакшыраак каналдар боюнча бөлүштүрүлөт.
Коммерциялык чечимдер
Түз эфирде иш-чараларды алып барып, сапаттуу интернетке кире албагандарды бул көйгөй көптөн бери түйшөлтүп келет. Мындай тапшырмалар үчүн, бир нече коммерциялык чечимдер бар, мисалы, Teradek компаниясы USB модемдердин пакеттери салынган ушундай коркунучтуу роутерлерди жасайт:
Каналды жыйынтыктоо функциясы бар видео берүүлөр үчүн роутер
Мындай түзүлүштөр, адатта, HDMI же SDI аркылуу видео сигналдарды тартуу үчүн орнотулган жөндөмгө ээ. Маршрутизатор менен бирге каналды жыйынтыктоо кызматына жазылуу сатылат, ошондой эле видео агымды иштеп чыгуу, аны транскоддоо жана андан ары өткөрүү. Мындай түзүлүштөрдүн баасы модемдердин топтому, ошондой эле кызматка өзүнчө жазылуу менен 2 миң доллардан башталат.
Кээде абдан коркунучтуу көрүнөт:
OpenMPTCPRouter орнотулууда
протокол
OpenMPTCPRouter кантип иштейт
Жыйынтыктоочу серверди орнотуу
Сумминг сервери Интернетте жайгашкан жана кардар роутеринин бардык каналдарынан байланыштарды бир каналга токтотот. Бул сервердин IP дареги OpenMPTCPRouter аркылуу Интернетке кирүүдө тышкы дарек болот.
Бул тапшырма үчүн биз Debian 10до VPS серверин колдонобуз.
Жыйынтыктоочу серверге талаптар:
- MPTCP OpenVZ виртуалдаштырууда иштебейт
- Өзүңүздүн Linux ядроңузду орнотуу мүмкүн болушу керек
Сервер бир буйрукту аткаруу менен жайгаштырылат. Скрипт mptcp колдоосу менен ядрону жана бардык керектүү пакеттерди орнотот. Орнотуу скрипттери Ubuntu жана Debian үчүн жеткиликтүү.
wget -O - http://www.openmptcprouter.com/server/debian10-x86_64.sh | sh
Серверди ийгиликтүү орнотуунун натыйжасы.
Биз сырсөздөрдү сактайбыз, алар кардар роутерин конфигурациялоо жана кайра жүктөө үчүн керек болот. Орнотуудан кийин SSH 65222 портунда жеткиликтүү болорун эстен чыгарбоо керек. Кайра жүктөөдөн кийин биз жаңы ядро менен жүктөгөнүбүзгө ынанышыбыз керек.
uname -a
Linux test-server.local 4.19.67-mptcp
Версия номеринин жанында mptcp жазуусун көрөбүз, бул ядро туура орнотулганын билдирет.
Кардар роутерин орнотуу
боюнча
Openmptcprouterдин бул бөлүгү OpenWRTге негизделген, LuCI интерфейси катары колдонуп, OpenWRTти кезиктиргендердин баарына тааныш. Бөлүштүрүү болжол менен 50 МБ салмакка ээ!
Сыноочу стенд катары мен Raspberry Pi жана ар кандай операторлор менен бир нече USB модемдерди колдоном: MTS жана Megafon. Мен SD картага сүрөттү кантип жазуу керектигин айтып кереги жок деп ойлойм.
Башында, Raspberry Piдеги Ethernet порту статикалык IP дареги менен LAN катары конфигурацияланган. 192.168.100.1. Үстөлүмдүн үстүндө зымдар менен убара болбош үчүн, мен Raspberry Pi'ни WiFi кирүү чекитине туташтырдым жана компьютердин WiFi адаптерин статикалык дарекке койдум. 192.168.100.2. DHCP сервери демейки боюнча иштетилген эмес, андыктан статикалык даректерди колдонушуңуз керек.
Эми сиз веб-интерфейске кире аласыз
Сиз биринчи жолу киргенде, система сизден тамыр сырсөзүн коюуну суранат; SSH ошол эле сырсөз менен жеткиликтүү болот.
LAN орнотууларында сиз каалаган ички тармакты коюп, DHCP серверин иштете аласыз.
Мен өзүнчө DHCP сервери менен USB Ethernet интерфейси катары аныкталган модемдерди колдоном, андыктан бул орнотууну талап кылды
Андан кийин сиз WAN интерфейстерин конфигурациялашыңыз керек. Башында система эки виртуалдык интерфейсти жараткан WAN1 жана WAN2. Аларга физикалык түзүлүш ыйгарылышы керек, менин учурда бул USB модем интерфейстеринин аттары.
Интерфейс аталыштары менен чаташтырбоо үчүн, SSH аркылуу туташып жатканда dmesg билдирүүлөрүн көрүүнү сунуштайм.
Менин модемдерим өздөрү роутер катары иштегендиктен жана өздөрүнүн DHCP сервери болгондуктан, мен алардын ички тармак диапазондорунун жөндөөлөрүн өзгөртүп, DHCP серверин өчүрүшүм керек болчу, анткени алгач эки модем бир тармактан даректерди чыгарат жана бул чыр-чатакты жаратат.
OpenMPTCPRouter WAN интерфейсинин даректеринин статикалык болушун талап кылат, ошондуктан биз модемдер үчүн субторлорду ойлоп табабыз жана аларды система → openmptcprouter → интерфейс орнотуулары менюсунда конфигурациялайбыз. Бул жерде сиз жыйынтыктоочу серверди орнотуу учурунда алынган IP даректи жана сервер ачкычын көрсөтүшүңүз керек.
Орнотуу ийгиликтүү болсо, статус барагында окшош сүрөт пайда болушу керек. Роутер жыйынтыктоочу серверге жете алганын жана эки канал тең нормалдуу иштеп жатканын көрүүгө болот.
Демейки режим - shadowsocks + mptcp. Бул бардык байланыштарды өзүнө камтыган прокси. Ал башында TCP гана иштетүү үчүн конфигурацияланган, бирок UDP да иштетилиши мүмкүн.
Статус барагында каталар жок болсо, орнотуу аяктады деп эсептесе болот.
Кээ бир провайдерлер менен, mptcp желеги трафик жолунда кесилгенде, төмөнкү ката пайда болот:
Бул учурда, сиз MPTCP колдонбостон, башка иштөө режимин колдоно аласыз, бул тууралуу көбүрөөк
жыйынтыктоо
OpenMPTCPRouter долбоору абдан кызыктуу жана маанилүү, анткени бул, балким, каналды жыйынтыктоо көйгөйүнүн жалгыз ачык комплекстүү чечими. Калганынын баары же жабык жана жеке менчик, же жөнөкөй адам түшүнө албаган өзүнчө модулдар. Өнүктүрүүнүн азыркы этабында долбоор дагы эле чийки, документтер өтө начар, көп нерселер жөн эле сүрөттөлбөйт. Бирок ошол эле учурда дагы эле иштейт. Ал мындан ары да өнүгүп, каналдарды туура айкалыштыра алган тиричилик роутерлерин кутудан чыгарабыз деп ишенем.
Инстаграмда биздин иштеп чыгуучубузга жазылыңыз
Source: www.habr.com