Ikki yuqori kanal, lekin bitta tunnel: almashtirish, muvozanatlash yoki birlashtirish
Nosozlikda almashtirish, har bir oqim bo‘yicha muvozanatlash va bitta oqimni birlashtirish uch xil va’dadir. Ikkita standart marshrut sizga birinchisini beradi, qolgan ikkitasini emas.
Ikkita internet liniyasi VPN ni yanada qulay qilishi va ba’zi ish yuklamalari uchun tezroq qilishi mumkin, ammo bu ikkisidan qaysi biri sodir bo‘lishini mexanizm hal qiladi. Ikkita standart marshrutli router birlashtirilgan emas, minglab ichki ulanishlarni tashuvchi tunnel ham hanuz bitta tashqi oqimdir. Va’dani birinchi bo‘lib nomlash dizayn bilan qimmat umidsizlik o‘rtasidagi farqdir. Quyidagi jadval variantlarni har biri uzoq tomonda nimani talab qilishiga va liniya yo‘qolganda uzatishga nima bo‘lishiga qarab ajratadi.
Uchta va’da, va faqat bittasiga sherik kerak
Nosozlikda almashtirish afzal liniya yo‘qolganda ham yo‘lni ochiq tutadi. Oqim xeshi bo‘yicha muvozanatlash mustaqil oqimlarni ikkala yuqori kanalga tarqatadi. Bitta oqimni birlashtirish bitta uzatishga ikkala liniyani bir vaqtda ishlatish imkonini beradi. Bular talablari turlicha bo‘lgan turli mahsulotlar, va faqat oxirgisi routeringizdan tashqaridagi biror narsaning hamkorligiga muhtoj.
| Mechanism | Far-end requirement | Effect on one transfer | What breaks under a link loss |
|---|---|---|---|
| Packet-spraying overlay | A cooperating endpoint that reassembles the stream | Packets can spread across both links | Reordering and buffering on the surviving path; its own recovery logic decides what continues |
| MPTCP subflows | A peer or proxy that accepts subflows | Subflows can share one connection | Surviving subflows continue if the peer keeps them alive |
| Flow-hash balancing | Nothing new; the existing tunnel endpoint is enough | One outer flow still follows one link | Flows hashed onto the dead link move; established sessions break |
| Link failover | Nothing new | One path at a time; the second link sits idle | The session stalls or restarts on the other link |
O‘sha jadvalda ikkinchi liniya sotib olishga sabab bo‘ladigan hech narsa yo‘q. U bir narsa qiladi: almashtirish dizaynini birlashtirish deb baholashdan saqlaydi.
Nega tunnel router uchun bitta oqim bo‘lib ko‘rinadi
Yukni muvozanatlovchi router manba va manzil adreslarini portlar bilan birga xeshlaydi, so‘ng butun oqimni xesh ko‘rsatgan joyga yuboradi. VPN tunnel router nuqtai nazaridan ana shunday bitta oqim, ichida nima ishlashidan qat’i nazar. Ichki ulanishlar hech qachon xesh qaroriga yetib bormaydi, chunki tashqi sarlavha yo‘lni allaqachon belgilagan. Shuning uchun ikkinchi yuqori kanal ko‘p foydalanuvchilar uchun umumiy sig‘imni ikki barobar oshirishi va bitta foydalanuvchining katta uzatishida hech narsani o‘zgartirmasligi mumkin.
Ikkita alohida tunnel sizga ikkita nomzod berishi mumkin, ammo ularga hanuz trafikni taqsimlaydigan va javoblarni so‘rov ketgan yo‘lda ushlab turadigan qasddan siyosat kerak. Asimmetrik marshrutlash o‘sha qadamni tashlab ketishning odatiy natijasidir. Eng kami — oqim, afzal liniya va zaxira liniyani nomlaydigan siyosat.
Ethernet birlashtirish aloqasiz provayderlar orasidan o‘tmaydi, chunki uzoq tomon birlashtirish protokolida qatnashishi kerak. Ikki internet provayderi orasidagi birlashtirish hamkorlik qiluvchi oxirgi nuqta bo‘lmasa, tadqiqot loyihasidir.
Ko‘p yo‘lli TCP ikkala tomonda nimani talab qiladi
Linux ning Multipath TCP hujjatlari bitta ulanishga tegishli bir nechta kichik oqimlarni tasvirlaydi. Bir tomonda yadro qo‘llovi o‘z-o‘zidan hech narsani o‘zgartirmaydi, chunki sherik ham o‘sha kichik oqimlarni qabul qilishi kerak. Uzoq tomondagi proksi boshqa odatiy yechim bo‘lib, o‘z sig‘imi va mavjudligi bilan rejalashtirilishi kerak bo‘lgan komponentga aylanadi. Xuddi shu mantiq WireGuard uchun oson javobni istisno qiladi, uning transporti UDP: MPTCP TCP kichik oqimlarini o‘stiradi va dizaynda boshqa narsasiz o‘sha tunnelni birlashtira olmaydi.
Yadro funksiyasi yoqilganini uning atrofida dizayn qilishdan oldin tekshiring, chunki ko‘p distributivlar uni o‘chirilgan holda yetkazadi. Bu uchta buyruq bir daqiqada javob beradi.
sysctl net.mptcp.enabled
ss -M | head
ip mptcp limits show
Broshyuradan emas, ish yuklamasidan tanlang
Agar ish yuklamasi ko‘p mustaqil seanslar bo‘lsa, oqim xeshi bo‘yicha muvozanatlash uzoq tomon hamkorligisiz sig‘im qo‘shishi mumkin. Agar bitta katta uzatish bo‘lsa, faqat birlashtirish dizayni yordam beradi, va o‘sha dizaynga hamkorlik qiluvchi sherik kerak. Agar talab liniya o‘lganda ham ish davom etishi bo‘lsa, javob almashtirish, va bitta uzatishning o‘tkazuvchanligi ahamiyatsiz.
Talabni fe’l qatnashgan bitta gapda yozing: bitta zaxira nusxa ikki barobar tez tugaydi, yoki yiqilgan liniya seansni tugatmaydi. Noaniq maqsadlar hech kim qabul ham, rad ham qila olmaydigan dizaynlarni keltiradi. So‘ng uzoq tomon nima bo‘lishi mumkinligini hal qiling, chunki eng arzon variant ko‘pincha u yerda yangi hech narsa talab qilmaydigan variantdir. Bu cheklov birinchi uchrashuvdan oldin broshyuradagi da’volarning ko‘pini olib tashlaydi.
Talablar hujjatida uchta va’dani alohida saqlang. Uchalasini da’vo qiluvchi dizayn odatda bittasini beradi va qolganlarini jimgina taxmin qiladi. Keyingi bo‘lim qaysi biri haqiqatda berilishini sinaydi.
Bitta uzatishni va ko‘pini sinang, so‘ng liniyani uzing
Bitta uzluksiz uzatishni xuddi shu manzilga bir nechta parallel uzatish bilan solishtiring, va har biri uchun yo‘qotish, kechikish va har bir liniya ishlatilishini yozib oling. Faqat parallel seanslarda foyda bo‘lsa, bu oqimlarning taqsimlanishini ko‘rsatadi, bitta oqimni birlashtirishni emas. Bitta yuqori kanalning yo‘qotilishini alohida sinang, chunki ikkala liniya ishlayotgandagi sig‘im o‘rnatilgan seans uchun almashtirish haqida hech narsa demaydi. Har bir sinovdan oldin va keyin yo‘l, soket va qayta yuborish hisoblagichlarini yozib oling.
ip route show default
ip route get 10.80.0.5
mtr -n -c 20 -r 10.80.0.5
Bitta uzatish hanuz bitta yuqori kanaldan foydalansa, dizayn oqim xeshi nazarda tutgan narsani aynan qilmoqda. Parallel uzatishlar ikkalasiga tarqalsa, muvozanatlash ishlaydi, birlashtirish ishlamaydi. Dizayn uchta va’dadan qaysinisini haqiqatan saqlashini yozib oling, va keyingi sig‘im suhbati sotuvchi da’vosidan emas, dalillardan boshlanadi.