پیوند WAN دومی اضافه کنید و تونل‌ها بالا می‌آیند، اما کپی فایل هنوز وقتی یک مسیر می‌لرزد متوقف می‌شود. پیوندها سالم‌اند و فرایندهای VPN در حال اجرا هستند؛ آنچه کم است قراردادی میان اپراتور و تونل است. چند سوکت به‌طور خودکار مانند یک اتصال رفتار نمی‌کنند، و برنامه‌ی بالای آن‌ها تا زمانی که تحویل نشکند تفاوت را نمی‌بیند. هر بخش قرارداد به خرابی‌ای نگاشت می‌شود که می‌توانید آزمون کنید، و همین آن را سودمند می‌کند.

آن قرارداد را پیش از انتخاب محصول بنویسید. چهار بخش دارد: جریانی که VPN دریافت می‌کند، نحوه‌ی بازیابی داده‌های گمشده توسط اپراتور، این‌که کدام هویت نقطه پایانی از تغییر مسیر جان سالم به در می‌برد، و این‌که کل سامانه هنگام خرابی یک مسیر چگونه رفتار می‌کند.

نشانه: پیوندها برقرارند، نشست هنوز می‌شکند

نمودار پایشی که هر دو پیوند را برقرار نشان می‌دهد تنها ثابت می‌کند هر مسیر می‌تواند ترافیک را حمل کند. ثابت نمی‌کند که VPN یک جریان مرتب می‌بیند، بسته‌ای که روی یک مسیر گم شده روی مسیر دیگر بازیابی می‌شود، یا همتا هنوز می‌داند با کدام نشست صحبت می‌کند. بقیه‌ی قرارداد آنچه را نمودار نمی‌تواند نشان دهد پوشش می‌دهد.

وقتی انتقالی متوقف می‌شود، دریابید آیا اپراتور تحویل روی مسیر بازمانده را ادامه داده است. اگر نشست بمیرد در حالی که پیوند دوم بیکار است، اپراتور هرگز از آن استفاده نکرده است. اگر نشست زنده بماند اما داده‌ها بی‌ترتیب یا تکراری برسند، اپراتور بسته‌ها را بدون قرارداد در سطح اتصال جابه‌جا می‌کند. مُهرهای زمانی دو طرف معمولاً این را روشن می‌کنند.

این تفاوت تعیین می‌کند چه چیزی اصلاح شود. مشکل مسیریابی یا سیاست نیازمند تغییر انتخاب مسیر است؛ لایه‌ی مفقود ترتیب و بازیابی نیازمند ترابری دیگر است، نه بافر بزرگ‌تر.

تضمین یک: جریان بایت در سطح اتصال

اگر VPN به جریان مرتب مطمئن نیاز دارد، اپراتور باید بازه‌های بایت را بالاتر از مسیر منفرد شناسایی کند. هر اتصال TCP زیرین تنها بخش‌های خود را شماره‌گذاری می‌کند، بنابراین گیرنده نمی‌تواند فقط با آن شماره‌ها میان مسیرها بازآرایی کند.

Multipath TCP نمونه‌ی استاندارد است. یک جریان بایت مطمئن ارائه می‌دهد و هم‌زمان چند زیرجریان TCP را هماهنگ می‌کند، با نگاشت ترتیب و تأیید در سطح داده. برنامه جریان را می‌خواند، نه زیرجریانی را که تصادفاً تکه‌ای را اول تحویل داد.

در Linux، MPTCP برای هر سوکت از طریق IPPROTO_MPTCP اختیاری است. وقتی مذاکره نمی‌تواند رفتار چندمسیره را به کار ببرد، جایگزین مستند TCP معمولی است، یعنی برنامه ممکن است روی یک مسیر ادامه دهد بدون این‌که هرگز از دومی استفاده کند. بررسی کنید سوکت مستقر واقعاً چه رفتاری را مذاکره کرده است، به‌جای فرض این‌که تنظیم هسته اعمال شده است.

تضمین دو: ترتیب، تکرار و بازیابی

مسیرهایی با تأخیر و نرخ افت متفاوت اپراتور را به بافر کردن، بازآرایی و ارسال دوباره وادار می‌کنند. قرارداد باید میزان بافر مجاز، فشار معکوسی که برنامه می‌بیند و مسیری که ارسال دوباره را حمل می‌کند مشخص کند.

مسیری که متصل می‌ماند اما تحویل را متوقف می‌کند دشوارتر از بستن تمیز است. اپراتور باید آن را تشخیص دهد، داده‌های معلق را جابه‌جا کند و از انتظار بی‌پایان برای بخشی که هرگز نمی‌رسد بپرهیزد. بررسی ساده‌ی برقرار بودن هر دو پیوند این حالت را پوشش نمی‌دهد.

تکرار قاعده‌ی خود را می‌خواهد. فرستادن همان بار روی هر دو مسیر می‌تواند تأخیر را بهتر کند، اما گیرنده باید نسخه را پیش از رسیدن به VPN سرکوب کند. ضدرپلی IPsec برای هر انجمن امنیتی اختیاری است و شماره‌های ترتیب را بررسی می‌کند؛ لایه‌ی تکرار که بسته‌ها را بازآرایی یا بازپخش می‌کند می‌تواند آن را فعال کند یا مشکل را تا افتادن تونل پنهان کند.

تضمین سه: هویت نقطه پایانی و پیوستن مسیر

همتا به روشی پایدار برای شناخت نشست هنگام ظهور مسیر جدید نیاز دارد. اگر هر مسیر به‌عنوان تونلی جدا احراز هویت شود، VPN ممکن است دو نشست ببیند نه یکی. اگر اپراتور مسیرها را زیر یک نشست یکی کند، باید تعریف کند مسیر جدید چگونه احراز هویت می‌شود و با قدیمی چه می‌شود.

ثبت کنید کدام نشانی‌ها و شناسه‌ها پایدار می‌مانند: نقطه پایانی تونل، شناسه‌ی نشست اپراتور و هر واسطه‌ای در میان. واسطه مرز دسترس‌پذیری و اعتماد دیگری می‌افزاید حتی وقتی هرگز بار محافظت‌شده را نمی‌بیند.

سیاست هم اینجا زندگی می‌کند. مسیری که از شبکه‌ای غیرمنتظره می‌پیوندد می‌تواند از نظر فنی معتبر باشد و همچنان مدل اعتماد مقصود را نقض کند. تصمیم بگیرید مسیرهای جدید به‌طور خودکار پذیرفته می‌شوند، احراز هویت می‌خواهند یا رد می‌شوند.

تضمین چهار: رفتار محدود در خرابی

خرابی کامل مسیر را بیازمایید، نه فقط مسیر کند. مسیر بازمانده باید نشست را بدون رشد نامحدود حافظه حمل کند و بازیابی نباید به زمان‌سنجی طولانی‌تر از تحمل برنامه وابسته باشد. وقتی مسیر خراب برمی‌گردد، اپراتور باید تصمیم بگیرد دوباره توازن دهد یا جریان را همان‌جا رها کند.

برای بافر، ارسال دوباره و شمار مسیرها حد بگذارید، سپس آن‌ها را زیر افت، بازآرایی، تکرار و عدم‌توازن تأخیر بررسی کنید. پهنای باند کل کم‌جذاب‌ترین عدد اینجاست؛ پیوستگی تحویل و مرزهای حافظه همان قراردادند.

وضعیت بازیابی اپراتور را از وضعیت رمزنگاری VPN جدا نگه دارید. لایه‌ی قابلیت اعتماد سفارشی که احراز هویت یا رمزنگاری تثبیت‌شده را جایگزین می‌کند میان‌بر نیست، و استفاده‌ی دوباره از شماره‌های ترتیب میان لایه‌ها محافظت در برابر بازپخش و عیب‌یابی را غیرقابل‌اعتماد می‌کند.

اپراتور را با برنامه‌ی آزمون بپذیرید

چهار تضمین را به‌صورت بررسی‌های قبول یا رد بنویسید: یک جریان مرتب، بازیابی تعریف‌شده، هویت نشست پایدار، رفتار خرابی محدود. هر بررسی را با یک مسیر تضعیف‌شده و سپس با یک مسیر حذف‌شده اجرا کنید.

یک انتقال موفق فایل در گذر از تغییر مسیر، عملکرد پیوسته را ثابت نمی‌کند. انتقال را هنگام جابه‌جایی مسیر ترجیحی تکرار کنید و هم دید اپراتور و هم شمارنده‌های خود VPN را بررسی کنید. اگر آن دو درباره‌ی این‌که کدام مسیر داده را حمل کرده هم‌نظر نباشند، قرارداد هنوز قابل مشاهده نیست.

ماتریس تأییدشده را همراه استقرار نگه دارید. به مهندس بعدی می‌گوید چه رفتاری وعده داده شده، کدام ترکیب مسیرها آزموده شده و کدام حالت خرابی هنوز پشتیبانی نمی‌شود، بدون دور دیگری از حدس بر پایه‌ی چراغ‌های وضعیت پیوند.

مقالات مرتبط