.TH NETSHAPER 8 "19 May 2026" "iproute2" "Linux" .SH "نام (NAME)" netshaper \- نمایش و مدیریت پیکربندی شکلدهی سختافزاری دستگاه شبکه .SH "خلاصه دستور (SYNOPSIS)" .ad l .in +8 .ti -8 .B netshaper .RI "[ " OPTIONS " ] { " COMMAND " | " .BR help " }" .sp .ti -8 .IR OPTIONS " := { " \fB\-V\fR[\fIersion\fR] | \fB\-c\fR[\fIolor\fR] | \fB\-help\fR } .ti -8 .B "netshaper set" .B dev .I DEV .B handle scope .I HANDLE_SCOPE .RB "[ " id .IR HANDLE_ID " ]" .RB "[ " bw-min .IR BW_MIN " ]" .RB "[ " bw-max .IR BW_MAX " ]" .RB "[ " weight .IR WEIGHT " ]" .ti -8 .B "netshaper" " { " show " | " delete " }" .B dev .I DEV .B handle scope .I HANDLE_SCOPE .RB "[ " id .IR HANDLE_ID " ]" .ti -8 .B "netshaper group" .B dev .I DEV .B handle scope .RB "{ " node " | " netdev " }" .RB "[ " id .IR HANDLE_ID " ]" .RB "[ " "parent scope" " { " "netdev" " [ " id .IR PARENT_ID " ] | " .BR node " " id .IR PARENT_ID " } ]" .RB "[ " bw-min .IR BW_MIN " ]" .RB "[ " bw-max .IR BW_MAX " ]" .RB "[ " weight .IR WEIGHT " ]" .B leaves .IR LEAF_SPEC " [ " LEAF_SPEC " ... ]" .sp .in +4 .IR LEAF_SPEC " := " .B "scope queue id" .I ID .RB "[ " weight .IR WEIGHT " ]" .RB "[ " priority .IR PRIO " ]" .in -4 .SH "توضیحات (DESCRIPTION)" دستور .B netshaper امکان پیکربندی و مدیریت قابلیت‌های محدودسازی نرخ ترافیک سخت‌افزاری (شکل‌دهی) موجود بر روی دستگاه‌های شبکه را فراهم می‌کند. این رابط برنامه‌نویسی (API) امکان کنترل شکل‌دهنده‌ها را در سطوح گوناگون از جمله دستگاه‌های شبکه، صف‌ها و گره‌های زمان‌بندی مهیا ساخته و دستکاری درخت زمان‌بندی دستگاه را ممکن می‌سازد. .PP هر شکل‌دهنده در یک دستگاه به‌طور یکتا با یک .IR handle (دستگیره) مشخص می‌شود که شامل یک .I scope (دامنه) و یک .IR id (شناسه) اختیاری است. بسته به مقدار دامنه، شکل‌دهنده‌ها به اشیاء سخت‌افزاری خاصی متصل می‌شوند: .TP .B netdev شکل‌دهنده‌های متصل به کل دستگاه شبکه. پارامتر .I id برای این دامنه اختیاری است (در صورت عدم تعیین، مقدار پیش‌فرض آن 0 خواهد بود). .TP .B queue شکل‌دهنده‌های متصل به صف‌های مشخص دستگاه. پارامتر .I id الزامی بوده و شماره صف را مشخص می‌کند. .TP .B node گره‌های زمان‌بندی میانی که می‌توانند در مکان‌های دلخواه از درخت زمان‌بندی قرار گیرند. پارامتر .I id برای دستورات .BR set "، " show " و " delete الزامی است. برای دستور .B group این پارامتر اختیاری است؛ در صورت حذف، هسته به‌طور خودکار یک شناسه اختصاص می‌دهد. .SH "دستورات (COMMANDS)" .SS .B netshaper set \- ایجاد یا به‌روزرسانی پیکربندی شکل‌دهنده یک شکل‌دهنده را با پارامترهای مشخص‌شده ایجاد کرده یا به‌روزرسانی می‌کند. حداقل باید یکی از پارامترهای .BR bw-min "، " bw-max " یا " weight مشخص شود. پارامتر .I id برای دامنه‌های queue و node الزامی بوده و برای دامنه netdev اختیاری است. .SS .B netshaper show \- نمایش اطلاعات شکل‌دهنده پیکربندی فعلی شکل‌دهنده مشخص‌شده را شامل محدودیت‌های پهنای باند، وزن و اطلاعات والد نمایش می‌دهد. .SS .B netshaper delete \- حذف پیکربندی شکل‌دهنده پیکربندی شکل‌دهنده مشخص‌شده را از دستگاه حذف می‌کند. .SS .B netshaper group \- ایجاد سلسله‌مراتب زمان‌بندی با پیوند دادن یک یا چند شکل‌دهنده برگ صف به یک دستگیره netdev یا node در قالب یک عملیات منفرد، یک گروه زمان‌بندی ایجاد می‌کند. این دستور دستگیره هدف، والد آن، پارامترهای اختیاری پهنای باند و وزن، و مجموعه‌ای از برگ‌های صف را برای اتصال مشخص می‌کند. .SH "پارامترها (PARAMETERS)" .TP .BI dev " DEV" نام دستگاه شبکه‌ای را مشخص می‌کند که عملیات روی آن انجام می‌شود. .TP .B handle دستگیره شکل‌دهنده را تعریف می‌کند که متشکل از موارد زیر است: .RS .TP .BI scope " HANDLE_SCOPE" دامنه شکل‌دهنده که می‌تواند یکی از موارد زیر باشد: .BR netdev " (شکل‌دهنده در سطح دستگاه)، " .BR queue " (شکل‌دهنده در سطح صف)، " یا .BR node " (شکل‌دهنده گره زمان‌بندی)." .TP .BI id " HANDLE_ID" شناسه عددی برای شکل‌دهنده. برای دامنه‌های .B queue و .B node الزامی است. برای دامنه .B netdev اختیاری است (پیش‌فرض 0). برای دستور .BR group ، شناسه .I id گره می‌تواند حذف شود تا هسته به‌طور خودکار شناسه‌ای اختصاص دهد. .RE .TP .BI bw-min " BW_MIN" حداقل پهنای باند تضمین‌شده برای شکل‌دهنده. مقادیر با پسوندهای زیر را می‌پذیرد: .BR kbit "، " mbit "، " gbit به‌ترتیب برای کیلوبیت، مگابیت و گیگابیت بر ثانیه. .TP .BI bw-max " BW_MAX" حداکثر سقف پهنای باند برای شکل‌دهنده. همان پسوندهای .B bw-min را می‌پذیرد. .TP .BI weight " WEIGHT" وزن زمان‌بندی برای شکل‌دهنده که برای تسهیم عادلانه وزن‌دار بین گره‌های همتا زیر همان گره والد به کار می‌رود. مقدار آن یک عدد صحیح بدون علامت است. .TP .B parent والد را برای دستور .B group تعریف می‌کند. دامنه والد باید .B node یا .B netdev باشد؛ .B queue به‌عنوان دامنه والد معتبر نیست. برای دامنه والد .BR node ، پارامتر .I id الزامی است. برای دامنه والد .BR netdev ، پارامتر .I id اختیاری است. در صورت حذف، والد از والد فعلی برگ‌ها به ارث برده می‌شود که این امر مستلزم آن است که همه برگ‌ها دارای یک والد مشترک باشند. .TP .B leaves یک یا چند شکل‌دهنده برگ را برای اتصال به گروه مشخص می‌کند. هر برگ باید از دامنه .B queue استفاده کند؛ هیچ دامنه دیگری برای برگ‌ها پذیرفته نمی‌شود. هر برگ به‌صورت .BI "scope queue id " ID\fR مشخص می‌شود، به همراه پارامترهای اختیاری .B weight و .B priority برای زمان‌بندی به ازای هر صف در داخل گروه. چندین برگ را می‌توان به‌صورت پشت‌سرهم مشخص کرد. .SH "گزینه‌ها (OPTIONS)" .TP .BR \-V ", " \-Version چاپ نسخه ابزار .B netshaper و خروج. .TP .BR \-c [ color "] = {" always " | " auto " | " never } پیکربندی خروجی رنگی. اگر پارامتر حذف شود یا برابر با .BR always باشد، خروجی رنگی صرف‌نظر از وضعیت stdout فعال می‌شود. اگر پارامتر برابر با .BR auto باشد، وضعیت ترمینال بودن stdout پیش از فعال‌سازی خروجی رنگی بررسی می‌شود. اگر پارامتر برابر با .BR never باشد، خروجی رنگی غیرفعال می‌گردد. در صورت مشخص شدن چندباره، آخرین مورد اولویت خواهد داشت. .TP .B \-help نمایش اطلاعات نحوه استفاده و خروج. .SH "مثال‌ها (EXAMPLES)" .TP .B "مثال ۱: ایجاد یک شکل‌دهنده در سطح دستگاه" .nf # netshaper set dev foo handle scope netdev bw-max 10gbit .fi .RS یک شکل‌دهنده در دامنه netdev با حداکثر پهنای باند 10 گیگابیت بر ثانیه ایجاد می‌کند. .RE .TP .B "مثال ۲: تنظیم پهنای باند و وزن روی شکل‌دهنده صف" .nf # netshaper set dev foo handle scope queue id 0 \e bw-min 1gbit bw-max 5gbit weight 10 .fi .RS یک شکل‌دهنده در دامنه queue روی صف 0 همراه با محدودیت‌های حداقل و حداکثر پهنای باند و وزن زمان‌بندی ایجاد می‌کند. .RE .TP .B "مثال ۳: نمایش پیکربندی شکل‌دهنده" .nf # netshaper show dev foo handle scope netdev .fi .RS پیکربندی فعلی شکل‌دهنده را برای دستگاه و دستگیره مشخص‌شده نمایش می‌دهد. .RE .TP .B "مثال ۴: ایجاد سلسله‌مراتب زمان‌بندی با group" .nf # netshaper group dev foo handle scope node \e parent scope netdev bw-max 10gbit \e leaves scope queue id 0 weight 3 \e scope queue id 1 weight 2 .fi .RS یک شکل‌دهنده node تحت والد netdev ایجاد کرده و صف‌های 0 و 1 را به‌عنوان برگ گروه‌بندی می‌کند. محدودیت 10 گیگابیت بر ثانیه بر خود گره اعمال می‌شود. .RE .TP .B "مثال ۵: حذف پیکربندی شکل‌دهنده" .nf # netshaper delete dev foo handle scope netdev .fi .RS پیکربندی شکل‌دهنده مشخص‌شده را حذف می‌کند. .RE .SH "نکات (NOTES)" .IP \(bu برای دامنه .BR netdev ، پارامتر .I id اختیاری است و در صورت عدم تعیین، به‌طور پیش‌فرض 0 خواهد بود. .IP \(bu برای دامنه‌های .B queue و .BR node ، پارامتر .I id الزامی است. برای دستور .BR group ، شناسه .I id گره می‌تواند حذف شود تا هسته به‌طور خودکار شناسه‌ای اختصاص دهد. .IP \(bu مقادیر پهنای باند از پسوندهای استاندارد پشتیبانی می‌کنند: .BR kbit " (کیلوبیت بر ثانیه)، " .BR mbit " (مگابیت بر ثانیه)، " .BR gbit " (گیگابیت بر ثانیه)." .IP \(bu دستور .B group برگ‌های صف را در یک عملیات اتمیک (تجزیه‌ناپذیر) منفرد به دستگیره netdev یا node متصل می‌کند. .SH "همچنین ببینید (SEE ALSO)" .BR ip (8), .BR ip-link (8), .BR tc (8) .SH "نویسنده (AUTHOR)" Erni Sri Satya Vennela .br Mohsin Bashir