SKBPRIO(8) Linux SKBPRIO(8)

tc-skbprio - صف اولویت SKB

tc qdisc ... add skbprio [ limit packets ]

صف اولویت SKB یک انضباط صف‌بندی است که برای اولویت‌بخشیدن به مهم‌ترین بسته‌ها در طول یک حمله محروم‌سازی از سرویس ( DoS ) در نظر گرفته شده است. اولویت یک بسته توسط skb->priority مشخص می‌شود، جایی که مقدار بالاتر، بسته را به خروجی صف نزدیک‌تر می‌کند. هنگامی که صف پر است، بسته دارای کمترین اولویت در صف دور ریخته می‌شود تا فضا برای بسته ورودی باز شود، به شرطی که آن بسته اولویت بالاتری داشته باشد. اگر بسته‌ای که باید اضافه شود اولویتی کمتر از تمام بسته‌های موجود در صف داشته باشد، دور انداخته می‌شود.

بدون صف اولویت SKB، محدودیت طول صف باید بر روی تک‌تک زیرصف‌ها اعمال شود و هیچ راهکار مستقیمی برای اعمال محدودیت سرتاسری بر طول صف در میان تمام اولویت‌ها وجود ندارد. صف skbprio یک محدودیت سراسری بر طول صف اعمال می‌کند، در حالی که طول تک‌تک زیرصف‌ها را محدود نمی‌سازد.

اگرچه صف اولویت SKB نسبت به چگونگی تعیین skb->priority خنثی و مستقل عمل می‌کند، یک سناریوی کاربردی متداول آن نسخه‌برداری از فیلد ۶ بیتی DS در بسته‌های IPv4 و IPv6 با استفاده از tc-skbedit(8) است. چنانچه مقدار skb->priority بزرگ‌تر یا مساوی ۶۴ باشد، اولویت معادل ۶۳ فرض می‌شود. اولویت‌های کمتر از ۶۴ با همان مقدار اسمی خود پذیرفته می‌شوند.

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

دستور skbprio تعداد ۶۴ فهرست نگهداری می‌کند (اولویت‌ها از ۰ تا ۶۳ هستند). هنگامی که بسته‌ای وارد صف می‌شود، در انتهای ( tail ) فهرست اولویت مربوط به خود درج می‌گردد. هنگامی که باید بسته‌ای به شبکه ارسال شود، از ابتدای بالاترین فهرست دارای اولویت برداشته می‌شود. زمانی که صف پر باشد، بسته واقع در انتهای کم‌اولویت‌ترین فهرست دور انداخته می‌شود تا به بسته ورودی فضا داده شود – اگر بسته ورودی دارای اولویت بالاتری باشد؛ در غیر این صورت، بسته ورودی دور انداخته خواهد شد. این الگوریتم بیشترین پهنای باند ممکن را به بسته‌های دارای اولویت بالا اختصاص می‌دهد، در حالی که به بسته‌های کم‌اولویت تنها در صورت وجود پهنای باند کافی خدمات‌رسانی می‌شود.

حداکثر اندازه صف بر حسب بسته. مقدار پیش‌فرض آن ۶۴ است. محدوده مجاز برای این پارامتر [0, UINT32_MAX] می‌باشد.

tc-prio(8), tc-skbedit(8)

Nishanth Devarajan <devarajn@uci.edu>, Michel Machado <michel@digirati.com.br>

این صفحه راهنما توسط Bert Hubert <ahu@ds9a.nl> نگهداری می‌شود.

13 August 2018 iproute2