فریمهای جامبو باعث نمیشوند مسیر VPN بستههای 9000 بایتی را حمل کند
MTU بزرگ یک توافق پیوند محلی است. پیش از بالا بردن رابط داخلی، سرباری تونل را از کوچکترین پیوند روی مسیر کم کنید.
شما فریمهای 9000 بایتی را در LAN فعال کردید و انتظار داشتید VPN سریعتر شود. کندتر شد، یا انتقالهای بزرگ را کاملاً متوقف کرد. فریمهای جامبو یک توافق پیوند محلی هستند؛ آنها مسیری را که تونل طی میکند بزرگ نمیکنند.
بودجه قابل استفاده را کوچکترین مرز روی مسیر تعیین میکند، از جمله کپسولهسازیای که تونل اضافه میکند.
فریمهای جامبو در واقع چه چیزی را تغییر میدهند
MTU ویژگی یک رابط است. بالا بردن آن روی یک سرور و سوئیچ آن یعنی آن دو میتوانند فریمهای بزرگتر را بدون قطعهقطعه شدن مبادله کنند. این درباره روتر پس از سوئیچ، درباره ارائهدهنده سرویس، یا درباره طرف دیگر تونل چیزی نمیگوید. آن دستگاهها محدودیتهای خودشان را دارند، و بستهای که از یکی از آنها فراتر رود بر اساس قواعدی که شما تعیین نکردهاید دور انداخته یا قطعهقطعه میشود.
توافق محلی، پیامدهای جهانی. تمام سردرگمی همین است.
مالیات کپسولهسازی
تونل بسته شما را درون بسته دیگری میپیچد. WireGuard روی IPv4 UDP حدود 60 بایت سربار اضافه میکند؛ حالت UDP در OpenVPN در همان محدوده است، و IPsec بسته به حالت و الگوریتمها متفاوت است. آن بایتها از بودجه مسیر بیرونی میآیند، نه از هوا.
بنابراین یک پیوند بیرونی 1500 بایتی نمیتواند یک بسته داخلی 1500 بایتی را حمل کند وقتی سرآیند تونل اضافه میشود.
ارزش دارد این حساب را یک بار انجام دهید. روی مسیری با 1500 بایت، رابط WireGuard MTU حدود 1420 میخواهد تا بسته کپسولهشده جا شود. رابط داخلی را روی 9000 بگذارید و هر بسته بزرگ به قطعهقطعه شدنی نیاز پیدا میکند که تونل نمیتواند انجام دهد، یا دور انداخته میشود.
کوچکترین پیوند روی مسیر را پیدا کنید
مسیر را طی کنید و کمترین MTU را پیدا کنید. LAN معمولاً 1500 یا 9000 است، WAN معمولاً 1500، و یک پیوند موبایل یا PPP میتواند حتی کمتر باشد. سپس سربار تونل را کم کنید. اگر نتیجه کوچکتر از MTU رابط داخلی باشد، پاسخ خود را دارید. کشف MTU مسیر میتواند این را بهطور خودکار پیدا کند، اما تنها زمانی که پیامهای ICMP که به آنها وابسته است اجازه عبور داشته باشند.
ICMP فیلترشده دلیل کلاسیک معلق ماندن یک انتقال بزرگ است در حالی که درخواستهای کوچک خوب کار میکنند.
وابستگی به اندازه را بدون گسترش تغییر آزمایش کنید
از یک انتقال نماینده استفاده کنید و مقادیر اصلی را نگه دارید تا بتوانید برگردانید. ping -M do -s 1472 یک بسته 1500 بایتی را با بیت DF تنظیمشده آزمایش میکند؛ اندازه را کم کنید تا عبور کند. اگر فقط بستههای بزرگ شکست میخورند، مشکل اندازه دارید نه مسیریابی.
هنگام خواندن ضبطها مراقب بارگذاری سمت میزبان باشید. بارگذاری قطعهبندی میتواند فریمهایی بسیار بزرگتر از آنچه واقعاً از سیم گذشته نشان دهد، که باعث میشود مسیر سالم خراب و مسیر خراب سالم به نظر برسد.
چه زمانی MTU بزرگ طراحی درست است
یک شبکه خصوصی کنترلشده میتواند بهطور مشروع فریمهای بزرگتر را سرتاسر اجرا کند، به شرطی که هر دستگاه روی مسیر موافق باشد و سربار تونل در نظر گرفته شود. آن یک طراحی هماهنگ با مقدار مستند برای هر پیوند است، نه یک عدد بزرگ که در یک کلاینت تایپ شده باشد.
برای یک خروج عمومی معمولی، 1500 یا کمتر را فرض کنید و بگذارید تونل یک MTU داخلی امن انتخاب کند. RFC 8201 کشف MTU مسیر را برای حالت IPv6 پوشش میدهد و مرجع مفیدی است برای اینکه بازخورد چگونه باید کار کند.