دو پیوند بالاسو اما یک تونل: جابهجایی، توازن یا پیونددهی
جابهجایی در هنگام خرابی، توازن به ازای هر جریان و تجمیع یک جریان سه وعده متفاوتاند. دو مسیر پیشفرض اولی را به شما میدهد، نه دو مورد دیگر.
دو خط اینترنت میتوانند یک VPN را در دسترستر کنند و برای برخی بارهای کاری سریعتر، اما این سازوکار است که تعیین میکند کدام یک رخ میدهد. مسیریابی که دو مسیر پیشفرض دارد پیونددهی نشده است، و تونلی که هزاران اتصال درونی را حمل میکند همچنان یک جریان بیرونی است. نامگذاری وعده در ابتدا تفاوت میان یک طراحی و یک ناامیدی گران است. جدول زیر گزینهها را بر اساس آنچه هر یک در انتهای دور نیاز دارد و آنچه از دست رفتن پیوند با یک انتقال میکند جدا میکند.
سه وعده، و تنها یکی شریک میخواهد
جابهجایی در هنگام خرابی وقتی پیوند ترجیحی ناپدید میشود مسیری را در دسترس نگه میدارد. توازن بر پایه هش جریان، جریانهای مستقل را روی دو پیوند بالاسو پخش میکند. تجمیع یک جریان به یک انتقال اجازه میدهد همزمان از هر دو پیوند استفاده کند. اینها محصولات متفاوتی با نیازهای متفاوتاند و تنها آخری به همکاری چیزی بیرون از مسیریاب شما نیاز دارد.
| 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 |
هیچ چیز در آن جدول دلیلی برای خریدن خط دوم نیست. کاری که میکند این است که نگذارد طراحی جابهجایی طوری ارزیابی شود که گویی پیونددهی است.
چرا تونل از دید مسیریاب یک جریان واحد به نظر میرسد
مسیریابی که بار را متوازن میکند نشانیهای مبدأ و مقصد را همراه با درگاهها هش میکند و سپس کل جریان را به جایی میفرستد که هش نشان میدهد. تونل VPN از دید مسیریاب یکی از همان جریانهاست، هر چه درونش اجرا شود. اتصالهای درونی هرگز به تصمیم هش نمیرسند، چون سرآیند بیرونی پیشتر مسیر را تعیین کرده است. به همین دلیل یک پیوند بالاسوی دوم میتواند ظرفیت کل را برای بسیاری از کاربران دو برابر کند و در انتقال بزرگ یک کاربر هیچ چیز را تغییر ندهد.
دو تونل جدا میتوانند دو نامزد به شما بدهند، اما همچنان به یک سیاست عامدانه نیاز دارند که ترافیک را تخصیص دهد و پاسخها را روی مسیری نگه دارد که درخواست را برده است. مسیریابی نامتقارن نتیجه معمول نادیده گرفتن آن گام است. کمینه، سیاستی است که جریان، پیوند ترجیحی و پیوند پشتیبان را نام میبرد.
پیونددهی Ethernet از میان ارائهدهندگان بیارتباط عبور نمیکند، چون انتهای دور باید در پروتکل تجمیع مشارکت کند. پیونددهی میان دو ارائهدهنده اینترنت یک پروژه پژوهشی است مگر آنکه یک نقطه پایانی همکار وجود داشته باشد.
TCP چندمسیره در دو انتها چه میخواهد
مستندات Linux درباره Multipath TCP چند زیرجریان را توصیف میکند که به یک اتصال تعلق دارند. پشتیبانی هسته در یک انتها بهتنهایی چیزی را تغییر نمیدهد، چون همتا نیز باید آن زیرجریانها را بپذیرد. پروکسی در سمت دور چیدمان رایج دیگر است و به مؤلفهای با ظرفیت و دسترسپذیری خودش تبدیل میشود که باید برایش برنامه ریخت. همان منطق پاسخ آسان برای WireGuard را کنار میگذارد، که ترابریاش UDP است: MPTCP زیرجریانهای TCP را میرویاند و بدون چیز دیگری در طراحی نمیتواند آن تونل را تجمیع کند.
پیش از طراحی بر پایه ویژگی هسته بررسی کنید که فعال است، چون بسیاری از توزیعها آن را خاموش عرضه میکنند. این سه فرمان در یک دقیقه پاسخ میدهند.
sysctl net.mptcp.enabled
ss -M | head
ip mptcp limits show
از بار کاری انتخاب کنید، نه از بروشور
اگر بار کاری بسیاری نشست مستقل است، توازن بر پایه هش جریان میتواند بدون همکاری انتهای دور ظرفیت بیفزاید. اگر یک انتقال بزرگ است، تنها طراحی تجمیع کمک میکند و آن طراحی به همتای همکار نیاز دارد. اگر نیاز این است که کار با مرگ یک پیوند ادامه یابد، پاسخ جابهجایی است و توان عملیاتی یک انتقال بیاهمیت است.
نیاز را در یک جمله با یک فعل بنویسید: یک نسخه پشتیبان دو برابر سریعتر تمام میشود، یا پیوندی که میافتد نشستی را پایان نمیدهد. هدفهای مبهم طراحیهایی میسازند که هیچکس نمیتواند بپذیرد یا رد کند. سپس تصمیم بگیرید انتهای دور چه میتواند باشد، چون ارزانترین گزینه اغلب آن است که چیزی تازه در آنجا نمیخواهد. این محدودیت بیشتر ادعاهای بروشور را پیش از نخستین جلسه حذف میکند.
سه وعده را در سند نیازمندیها جدا نگه دارید. طراحی که هر سه را ادعا میکند معمولاً یکی را میدهد و بقیه را بیصدا فرض میکند. بخش بعدی میآزماید که واقعاً کدام یک داده میشود.
یک انتقال و بسیاری را بیازمایید، سپس یک پیوند را بکشید
یک انتقال پیوسته را با چند انتقال موازی به همان مقصد مقایسه کنید و برای هر یک افت، تأخیر و بهرهبرداری هر پیوند را ثبت کنید. سودی که فقط با نشستهای موازی به دست میآید به توزیع جریان اشاره دارد، نه به تجمیع یک جریان. از دست رفتن یک پیوند بالاسو را جداگانه بیازمایید، چون ظرفیت در حالی که هر دو پیوند کار میکنند درباره جابهجایی برای یک نشست برقرار چیزی نمیگوید. مسیر، سوکت و شمارندههای ارسال دوباره را پیش و پس از هر آزمون ثبت کنید.
ip route show default
ip route get 10.80.0.5
mtr -n -c 20 -r 10.80.0.5
وقتی انتقال واحد هنوز از یک پیوند بالاسو استفاده میکند، طراحی دقیقاً همان کاری را میکند که یک هش جریان ایجاب میکند. وقتی انتقالهای موازی روی هر دو پخش میشوند، توازن کار میکند و تجمیع نه. ثبت کنید طراحی واقعاً کدام یک از سه وعده را نگه میدارد، و گفتوگوی بعدی درباره ظرفیت از شواهد آغاز میشود نه از ادعای فروشنده.