TC(8) Linux TC(8)

tc-choke - زمان‌بند صف‌بندی انتخاب و نگه‌داری (choose and keep scheduler)

tc qdisc ... choke limit packets min packets max packets avpkt bytes burst packets [ ecn ] [ bandwidth rate ] probability chance

الگوریتم CHOKe (سرنام CHOose and Keep برای جریان‌های پاسخگو، و CHOose and Kill برای جریان‌های ناپاسخگو) یک qdisc بدون کلاس (classless) است که برای شناسایی و جریمه کردن جریان‌هایی طراحی شده است که صف را به انحصار خود درمی‌آورند. CHOKe گونه‌ای از الگوریتم RED است و پیکربندی آن مشابه RED می‌باشد.

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

اگر طول صف از max بیشتر شود، بسته جدید همواره نشانه‌گذاری (یا دور انداخته) می‌شود. اگر طول صف از limit تجاوز کند، بسته جدید همواره دور انداخته می‌شود.

محاسبه احتمال نشانه‌گذاری همانند روش مورد استفاده در RED qdisc است.

پارامترها مشابه پارامترهای RED هستند، با این تفاوت که RED از بایت استفاده می‌کند در حالی که choke بسته‌ها را می‌شمارد. برای توضیحات بیشتر به tc-red(8) مراجعه کنید.

R. Pan, B. Prabhakar, and K. Psounis, "CHOKe, A Stateless Active Queue Management Scheme for Approximating Fair Bandwidth Allocation", IEEE INFOCOM, 2000.
A. Tang, J. Wang, S. Low, "Understanding CHOKe: Throughput and Spatial Characteristics", IEEE/ACM Transactions on Networking, 2004

tc(8), tc-red(8)

ماژول sched_choke توسط Stephen Hemminger ارائه شده است.

August 2011 iproute2