کانجست (Congest) یکی از مشکلات رایج در شبکه های اینترنتی و سیستم های ارتباطی است که می تواند باعث کاهش سرعت و کارایی شود. این پدیده زمانی رخ می دهد که حجم داده های ارسال شده بیشتر از ظرفیت پردازشی یا انتقالی شبکه باشد. در این مقاله به بررسی کامل مفهوم کانجست، علل ایجاد آن، تأثیرات و راهکارهای مقابله با آن خواهیم پرداخت. همچنین، انواع الگوریتم های کنترل کانجست در TCP و نحوه انتخاب بهترین گزینه را بررسی خواهیم کرد.
کانجست چیست؟
کانجست به معنای ازدحام یا ترافیک بیش از حد در یک سیستم است که منجر به کاهش کارایی و افزایش زمان تأخیر می شود. در شبکه های کامپیوتری، کانجست زمانی رخ می دهد که تعداد زیادی از بسته های داده در یک مسیر مشخص از شبکه جمع شوند و منابع پردازشی یا پهنای باند موجود قادر به پردازش همه ی آن ها نباشد.
علل ایجاد کانجست
1. افزایش ترافیک ناگهانی
اگر تعداد زیادی از کاربران به صورت همزمان اقدام به ارسال داده کنند، ظرفیت شبکه به حداکثر خود می رسد و کانجست رخ می دهد.
2. ظرفیت ناکافی شبکه
شبکه هایی که پهنای باند کمی دارند یا از تجهیزات قدیمی استفاده می کنند، مستعد کانجست هستند. در چنین شرایطی، ارسال بیش از حد داده ها می تواند منجر به ازدحام و کاهش کیفیت سرویس شود.
3. مدیریت نادرست منابع شبکه
در صورتی که توزیع پهنای باند و تخصیص منابع شبکه به درستی مدیریت نشود، امکان بروز کانجست افزایش می یابد.
4. حملات DDoS
در حملات DDoS، مهاجمان تلاش می کنند با ارسال تعداد زیادی درخواست، منابع یک سرور را اشباع کرده و باعث بروز کانجست شوند.
5. نقص های سخت افزاری یا نرم افزاری
بعضی از مشکلات سخت افزاری مانند خرابی روترها یا سوییچ ها می تواند منجر به کاهش ظرفیت پردازش داده ها و ایجاد کانجست شود.
تأثیرات کانجست
1. کاهش سرعت اینترنت
یکی از مهم ترین مشکلاتی که کانجست ایجاد می کند، کاهش سرعت اینترنت و افزایش زمان بارگذاری صفحات وب است.
2. افزایش تأخیر (Latency)
هنگامی که ازدحام در شبکه رخ می دهد، مدت زمان لازم برای ارسال و دریافت داده ها افزایش می یابد.
3. از دست رفتن بسته های داده (Packet Loss)
در شرایط ازدحام، برخی از بسته های داده ممکن است از بین بروند یا به مقصد نرسند که این موضوع منجر به کاهش کیفیت ارتباط می شود.
4. افت کیفیت تماس های VoIP و پخش ویدئو
کانجست می تواند باعث قطع شدن تماس های اینترنتی و کاهش کیفیت استریم ویدئویی شود.

انواع الگوریتم های کنترل کانجست در TCP و روش فعال سازی در اوبونتو
برای مدیریت و کاهش ازدحام در شبکه، پروتکل TCP از الگوریتم های مختلفی استفاده می کند. در ادامه برخی از مهم ترین الگوریتم های کنترل کانجست آورده شده و روش فعال سازی آن ها در اوبونتو توضیح داده شده است:
1. Tahoe
یکی از اولین الگوریتم های کنترل ازدحام در TCP است که شامل مکانیزم های Slow Start، Congestion Avoidance و Fast Retransmit می شود.
فعال سازی در اوبونتو:
sudo sysctl -w net.ipv4.tcp_congestion_control=tahoe
2. Reno
نسخه بهبود یافته ی Tahoe که ویژگی Fast Recovery را اضافه کرده است تا در صورت از دست رفتن بسته، کارایی بهتری داشته باشد.
فعال سازی در اوبونتو:
sudo sysctl -w net.ipv4.tcp_congestion_control=reno
3. New Reno
این الگوریتم بهبود یافته ی Reno است که رفتار بهتری در برابر از دست رفتن چندین بسته در یک پنجره دارد.
فعال سازی در اوبونتو:
sudo sysctl -w net.ipv4.tcp_congestion_control=westwood
4. Vegas
برخلاف سایر الگوریتم ها که بر اساس ازدحام واکنش نشان می دهند، Vegas پیش از وقوع ازدحام آن را تشخیص داده و اقدام به تنظیم میزان ارسال داده می کند.
فعال سازی در اوبونتو:
sudo sysctl -w net.ipv4.tcp_congestion_control=vegas
5. Cubic
یکی از الگوریتم های پرکاربرد که در سیستم های مدرن استفاده می شود. Cubic نسبت به افزایش و کاهش نرخ ارسال داده حساس تر بوده و عملکرد بهتری در شرایط شبکه های پرسرعت دارد.
فعال سازی در اوبونتو:
sudo sysctl -w net.ipv4.tcp_congestion_control=cubic
6. BBR (Bottleneck Bandwidth and RTT)
یکی از جدیدترین الگوریتم های کنترل کانجست که توسط گوگل توسعه یافته است و به جای استفاده از روش های سنتی مبتنی بر ازدحام، از تأخیر و پهنای باند برای تنظیم سرعت انتقال داده ها بهره می برد.
فعال سازی در اوبونتو:
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
انتخاب بهترین الگوریتم کنترل کانجست
انتخاب بهترین الگوریتم کنترل کانجست بستگی به نوع کاربرد و شرایط شبکه دارد:
- اگر شبکه شما پر از ترافیک های متغیر است: Vegas می تواند گزینه ی بهتری باشد.
- برای شبکه هایی با پهنای باند بالا: Cubic عملکرد بهتری دارد.
- در محیط های تأخیر بالا: BBR می تواند باعث بهبود عملکرد شود.
- در شرایطی که از دست رفتن بسته زیاد است: New Reno گزینه ی مناسبی محسوب می شود.
- خرید سرور مجازی شاتل
نتیجه گیری
کانجست یک مشکل رایج در شبکه های ارتباطی است که می تواند منجر به کاهش کیفیت سرویس شود. با شناخت علل ایجاد آن و به کارگیری راهکارهای مناسب مانند افزایش پهنای باند، مدیریت ترافیک و استفاده از تکنولوژی های مدرن، می توان این مشکل را به حداقل رساند. علاوه بر این، استفاده از الگوریتم های مناسب کنترل کانجست در TCP می تواند تأثیر بسزایی در بهبود عملکرد شبکه داشته باشد. انتخاب بهترین الگوریتم باید بر اساس شرایط شبکه و نیازهای ارتباطی صورت گیرد.