شنبه, ۲۹ دی, ۱۴۰۳ / 18 January, 2025
راه حل مربوط به time out در کرنل ۲ ۶ ۱۷ و بالاتر
به دلیل به وجود آمدن یک تغییر جدید در تنظیمات اندازهبندی پنجره TCP در کرنل ۲.۶.۱۷ و بالاتر لینوکس، این احتمال وجود دارد که در اتصال به وب سایتهای خاص با مشکلاتی مواجه شوید. در این مقاله کوتاه من راهبردی را برای مشکل time-out به شما ارائه خواهم داد اما ابتدا اجازه دهید اندکی در مورد این مشکل توضیح دهم.
یک پکت نوعی TCP دارای یک فیلد پنجره است که حداکثر اندازه پنجره برابر با ۶۴ کیلوبایت را امکانپذیر میسازد. این میزان هنگامی که اینترنت نوپا بود کفایت میکرد و اغلب سیستمها توان اداره چیز بزرگتری را نداشتند، اما این اندازه برای برنامههای خاص باند پهن امروزی کاملا کم است.
در نتیجه، یک راهکار به نام window scaling (اندازهبندی پنجره) در سال ۱۹۹۲ تدوین گردید؛ این یک گزینه TCP اضافی را فراهم میکند که حاوی یک فاکتور اندازه هشت بیتی میباشد. مقدار این فیلد مشخص میکند که اندازه پنجره باید چه میزان بزرگتر باشد، این کار با شیفت دادن مقدار اندازه پنجرهها به تعداد معینی از بیتها صورت میپذیرد. برای نمونه، اگر فاکتور اندازه ۵ باشد، اندازه پنجره به میزان ۵ بیت شیفت داده میشود یا در ۳۲ ضرب میشود.
مسئله این است که در ۲.۶.۱۶ و قبل از آن، فاکتور اندازه پیشفرض صفر بود، از این رو هیچ افزایشی در اندازه پنجره TCP وجود نداشت. در کرنل ۲.۶.۱۷، این به مقدار ۷ تغییر داده شد. در یک دنیای ایدهآل، این مشکلی محسوب نمیشود. در عمل، اما، برخی روترهای شکسته شده گزینه TCP اندازه پنجره را بازنویسی میکنند تبدیل فاکتور اندازه به صفر اما باقی گذاشتن گزینه فعال کننده واقعی.
اساسا، همه این حرفها بدان معنی است که وب سایتهایی وجود دارد که نمیتوان از یک سیستم با استفاده از کرنل ۲.۶.۱۷ و بالاتر به آنها متصل شد. عقیده توسعه دهندگان کرنل این است که روترهای مذکور شکسته شدهاند و باید جایگزین گردند. در دنیای واقعی، ممکن است این روترها قبل از اصلاح یا جایگزینی سالها کار کنند.
یک راهکار، reset کردن گزینه اندازهبندی پنجره کرنل لینوکس است. این کار باعث اصلاح روترهای شکسته شده نمیشود، اما این امکان را برای سیستم شما فراهم میسازد که اگر احساس کردید با مشکل اندازهبندی پنجره روبرو هستید به یک سایت دور متصل شود. اگر شما اطمینان دارید که این مشکلی است که با آن مواجه هستید، میتوانید آن را با اجرای این دستور تست نمایید:
echo ۰ > /proc/sys/net/ipv۴/tcp_default_win_scale
برای آن که این تنظیمات را دائمی کنید، /etc/sysctl.conf را ویرایش کرده و این را به آن بیافزایید:
net.ipv۴.tcp_default_win_scale = ۰
این اندازهبندی پنجره را کاملا غیر فعال خواهد کرد، که در نتیجه شما امکان دسترسی به برخی سایتها را خواهید یافت که قبلا قادر به دسترسی به آنها نبودید. درست یا اشتباه، توسعه دهندگان کرنل از برگرداندن تغییرات خودداری میکنند، بنابراین گزینههای موجود شامل غیر فعال کردن اندازهبندی پنجره و بازگشت به پیشفرضهای pre-۲.۶.۱۷، یا تماس با آن سایتهایی است که دسترسی به آنها امکانپذیر نیست و تلاش برای متقاعد کردن آنها برای یافتن و جایگزینی روترهای شکسته شده.
امین ایزدپناه
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست