.TH "Policing action in tc" 8 "20 Jan 2015" "iproute2" "Linux" .SH "نام (NAME)" tc-police \- کنش اعمال مقررات و نظارت بر نرخ ترافیک در tc .SH "خلاصه دستور (SYNOPSIS)" .in +8 .ti -8 .BR tc " ... " "action police [" .BI rate " RATE " burst .IR BYTES [\fB/ BYTES "] ] [" .BI pkts_rate " RATE " pkts_burst .IR PACKETS "] [" .B mtu .IR BYTES [\fB/ BYTES "] ] [" .BI peakrate " RATE" ] [ .BI overhead " BYTES" ] [ .BI linklayer " TYPE" ] [ .IR CONTROL " ]" .ti -8 .BR tc " ... " filter " ... [ " estimator .IR "SAMPLE AVERAGE " ] .BR "action police avrate" .IR RATE " [ " CONTROL " ]" .ti -8 .IR CONTROL " :=" .BI conform-exceed " EXCEEDACT\fR[\fB/\fINOTEXCEEDACT" .ti -8 .IR EXCEEDACT/NOTEXCEEDACT " := { " .BR pipe " | " ok " | " reclassify " | " drop " | " continue " | " goto " " chain " " CHAIN_INDEX " }" .SH "توضیحات (DESCRIPTION)" کنش .B police امکان محدودسازی نرخ بایت یا نرخ بستهٔ ترافیک منطبق بر فیلتری که به آن متصل شده است را فراهم می‌کند. .P دو الگوریتم مختلف برای اندازه‌گیری نرخ بایت در دسترس است: نخستین الگوریتم از یک سطل ژتون دوگانهٔ داخلی (dual token bucket) استفاده می‌کند و با پارامترهای .BR rate "، " burst "، " mtu "، " peakrate "، " overhead و .B linklayer پیکربندی می‌شود. الگوریتم دوم از یک سازوکار نمونه‌برداری درون هسته استفاده می‌کند که می‌تواند با استفاده از پارامتر فیلتر .B estimator به‌دقت تنظیم شود. .P یک الگوریتم برای اندازه‌گیری نرخ بسته در دسترس است که مشابه الگوریتم نخست شرح‌داده‌شده برای نرخ بایت عمل می‌کند. این الگوریتم با پارامترهای .BR pkt_rate و .B pkt_burst پیکربندی می‌شود. .P حداقل یکی از پارامترهای .B rate یا .B pkt_rate باید پیکربندی شود. .SH "گزینه‌ها (OPTIONS)" .TP .BI rate " RATE" حداکثر نرخ بایت بسته‌های عبوری از این کنش. با بسته‌هایی که از این حد فراتر بروند، طبق تعریف گزینهٔ .B conform-exceed رفتار خواهد شد. .TP .BI burst " BYTES\fR[\fB/\fIBYTES\fR]" تنظیم حداکثر جهش (burst) مجاز بر حسب بایت، که می‌تواند به‌صورت اختیاری با یک علامت ممیز ('/') و اندازهٔ سلول (که باید توانی از ۲ باشد) دنبال شود. .TP .BI pkt_rate " RATE" حداکثر نرخ بسته برای بسته‌های عبوری از این کنش. با بسته‌هایی که از این حد فراتر بروند، طبق تعریف گزینهٔ .B conform-exceed رفتار خواهد شد. .TP .BI pkt_burst " PACKETS" تنظیم حداکثر جهش (burst) مجاز بر حسب تعداد بسته‌ها. .TP .BI mtu " BYTES\fR[\fB/\fIBYTES\fR]" این پارامتر حداکثر اندازهٔ بسته‌ای است که توسط پلیسر پردازش می‌شود (با بسته‌های بزرگ‌تر طوری رفتار می‌شود که گویی از نرخ پیکربندی‌شده فراتر رفته‌اند). تنظیم درست این مقدار، دقت زمان‌بند را بهبود می‌بخشد. قالب‌بندی مقدار آن مشابه گزینهٔ .B burst در بالا است. مقدار پیش‌فرض نامحدود است. .TP .BI peakrate " RATE" حداکثر نرخ تخلیهٔ سطل (bucket depletion rate) را تعیین می‌کند که بالاتر از .B rate است. .TP .BI avrate " RATE" استفاده از تخمین‌گر درون هسته برای نرخ پهنای‌باند و تطبیق دادن .I RATE مشخص‌شده با آن. .TP .BI overhead " BYTES" سربار پروتکل دستگاه‌های خروجی کپسوله‌ساز را هنگام محاسبهٔ .B rate و .B peakrate لحاظ می‌کند. .TP .BI linklayer " TYPE" نوع لایهٔ پیوند (link layer) را مشخص می‌کند. .I TYPE می‌تواند یکی از موارد .B ethernet (پیش‌فرض)، .B atm یا .B adsl (که مترادف یکدیگرند) باشد. این گزینه برای تراز کردن جدول‌های از پیش محاسبه‌شدهٔ نرخ با اندازه‌های سلول ATM به کار می‌رود؛ برای .B ethernet هیچ اقدامی صورت نمی‌گیرد. .TP .BI estimator " SAMPLE AVERAGE" تنظیم دقیق تخمین‌گر نرخ بسته درون هسته. .I SAMPLE و .I AVERAGE مقادیر زمانی هستند و بسامد نمونه‌برداری و بازهٔ زمانی محاسبهٔ میانگین را کنترل می‌کنند. .TP .BI conform-exceed " EXCEEDACT\fR[\fB/\fINOTEXCEEDACT\fR]" نحوهٔ مدیریت بسته‌هایی را مشخص می‌کند که از حد پهنای‌باند پیکربندی‌شده فراتر می‌روند یا منطبق بر آن هستند. مقادیر ممکن عبارتند از: .RS .IP continue هیچ کاری انجام نده، فقط با کنش بعدی در صف ادامه بده. .IP drop بسته را فوراً دور بینداز (drop). .IP shot این مقدار مترادفی برای .B drop است. .IP ok بسته را بپذیر. این حالت پیش‌فرض برای بسته‌های منطبق (conforming) است. .IP pass این مقدار مترادفی برای .B ok است. .IP reclassify با بسته به عنوان بسته‌ای رفتار کن که با فیلتر متصل به این کنش تطابق ندارد، و با فیلتر بعدی در صف (در صورت وجود) ادامه بده. این حالت پیش‌فرض برای بسته‌های فراتر از حد (exceeding) است. .IP pipe بسته را به کنش بعدی در صف تحویل بده. .RE .SH "مثال‌ها (EXAMPLES)" یک کاربرد متداول کنش police، اعمال محدودیت بر نرخ ترافیک ورودی (ingress) از طریق دور انداختن بسته‌های فراتر از حد مجاز است. اگرچه بهتر است این کار در سمت فرستنده انجام شود، اما به‌ویژه در سناریوهایی با عدم امکان کنترل طرف مقابل (مثلاً ارائه‌دهندگان dial-up)، این روش اغلب بهترین کاری است که می‌توان برای پایین نگه داشتن تاخیر (latency) تحت بار ترافیکی بالا انجام داد. دستورهای زیر با استفاده از qdisc با نام .B ingress و فیلتر .B u32 نظارت بر پهنای‌باند ورودی را روی 1mbit/s تنظیم می‌کنند: .RS .EX # tc qdisc add dev eth0 handle ffff: ingress # tc filter add dev eth0 parent ffff: u32 \\ match u32 0 0 \\ police rate 1mbit burst 100k .EE .RE از آنجا که یک کنش نمی‌تواند به تنهایی وجود داشته باشد، همیشه باید فیلتری به عنوان پیوند میان qdisc و کنش در میان باشد. مثال بالا برای این منظور از .B u32 استفاده می‌کند که طوری پیکربندی شده است تا تمام بسته‌ها را مطابقت دهد (و در نتیجه آن‌ها را به کنش .B police تحویل دهد). .SH "همچنین ببینید (SEE ALSO)" .BR tc (8)