.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "PERFDHCP" "8" "Jul 09, 2026" "3.2.0" "Kea" .SH "نام (NAME)" perfdhcp \- ابزار سنجش کارایی و بارگذاری DHCP .SH "خلاصه دستور (SYNOPSIS)" .sp \fBperfdhcp\fP [\fB\-1\fP] [\fB\-4\fP | \fB\-6\fP] [\fB\-A\fP encapsulation\-level] [\fB\-b\fP base] [\fB\-B\fP] [\fB\-c\fP] [\fB\-C\fP separator] [\fB\-d\fP drop\-time] [\fB\-D\fP max\-drop] [\-e lease\-type] [\fB\-E\fP time\-offset] [\fB\-f\fP renew\-rate] [\fB\-F\fP release\-rate] [\fB\-g\fP thread\-mode] [\fB\-h\fP] [\fB\-i\fP] [\fB\-I\fP ip\-offset] [\fB\-J\fP remote\-address\-list\-file] [\fB\-l\fP local\-address|interface] [\fB\-L\fP local\-port] [\fB\-M\fP mac\-list\-file] [\fB\-n\fP num\-request] [\fB\-N\fP remote\-port] [\fB\-O\fP random\-offset] [\fB\-o\fP code,hexstring] [\fB\-\-or\fP encapsulation\-level:code,hexstring] [\fB\-p\fP test\-period] [\fB\-P\fP preload] [\fB\-r\fP rate] [\fB\-R\fP num\-clients] [\fB\-s\fP seed] [\fB\-S\fP srvid\-offset] [\fB\-\-scenario\fP name] [\fB\-t\fP report] [\fB\-T\fP template\-file] [\fB\-u\fP] [\fB\-v\fP] [\fB\-W\fP exit\-wait\-time] [\fB\-w\fP script_name] [\fB\-x\fP diagnostic\-selector] [\fB\-X\fP xid\-offset] [server] .SH "توضیحات (DESCRIPTION)" .sp دستور \fBperfdhcp\fP یک ابزار سنجش کارایی و بارگذاری (benchmarking) برای DHCP است. این ابزار با تولید حجم بالایی از ترافیک از چندین کلاینت شبیه‌سازی‌شده، امکان اندازه‌گیری کارایی کارگزارهای DHCP را فراهم می‌کند. این ابزار قادر است هر دو کارگزار IPv4 و IPv6 را آزمایش کند و آماری در مورد زمان‌های پاسخ و تعداد درخواست‌های ناموفق یا رهاشده (dropped) ارائه دهد. .sp این ابزار از دو سناریوی مختلف پشتیبانی می‌کند که امکان آزمایش رفتارهای مشخصی را فراهم می‌سازند. به‌طور پیش‌فرض (سناریوی پایه یا basic)، آزمایش‌ها با استفاده از توالی کامل تبادل چهار بسته‌ای (DORA برای DHCPv4 و SARR برای DHCPv6) اجرا می‌شوند. گزینه‌ای نیز برای اجرای آزمایش‌ها تنها با تبادل اولیه دو بسته‌ای (DO و SA) در نظر گرفته شده است. همچنین می‌توان \fBperfdhcp\fP را طوری پیکربندی کرد که پیام‌های RENEW و RELEASE پروتکل DHCPv6 را با نرخی مشخص، به صورت موازی با تبادلات چهارمرحله‌ای DHCPv6 ارسال کند. به‌طور پیش‌فرض، اگر طی یک ثانیه پاسخی دریافت نشود، پاسخ از دست‌رفته تلقی می‌شود و \fBperfdhcp\fP به دیگر تراکنش‌ها ادامه می‌دهد. .sp سناریوی دوم به نام بهمن (avalanche) از طریق \fB\-\-scenario avalanche\fP انتخاب می‌شود. این سناریو ابتدا تعداد پیام‌های Discovery یا Solicit مشخص‌شده با گزینه \fB\-R\fP را ارسال می‌کند؛ سپس بازسانی یا ارسال مجدد (با سازوکار عقب‌نشینی نمایی یا exponential back\-off) برای هر کلاینت شبیه‌سازی‌شده انجام می‌شود تا زمانی که به همه درخواست‌ها پاسخ داده شود. هنگامی که همه کلاینت‌ها نشانی‌های خود را دریافت کنند، یا زمانی که برنامه به‌صورت دستی متوقف شود، گزارشی تولید می‌شود. این سناریو تلاش می‌کند حالتی را بازسازی کند که در آن کارگزار نمی‌تواند ترافیک را به اندازه کافی سریع مدیریت کند. کلاینت‌های واقعی فرض می‌کنند بسته یا پاسخ گم شده است و مجدداً ارسال می‌کنند که این کار ترافیک DHCP را بیشتر افزایش می‌دهد. این پدیده گاهی اثر بهمنی (avalanche effect) نامیده می‌شود که نام سناریو نیز از آن گرفته شده است. گزینه \fB\-p\fP در سناریوی avalanche نادیده گرفته می‌شود. .sp هنگام اجرای آزمایش کارایی، \fBperfdhcp\fP بسته‌ها را با حداکثر سرعت ممکن با کارگزارِ تحت آزمایش تبادل می‌کند، مگر اینکه از پارامتر \fB\-r\fP برای محدود کردن نرخ درخواست‌ها استفاده شود. مدت زمان آزمایش را می‌توان با تعیین آستانه بر روی هر یک یا همه موارد زیر محدود کرد: تعداد درخواست‌های ارسالی توسط \fBperfdhcp\fP، زمان سپری‌شده، یا تعداد درخواست‌های رهاشده توسط کارگزار. .SH "الگوها (TEMPLATES)" .sp برای امکان سفارشی‌سازی محتوای بسته‌های ارسالی به کارگزار، \fBperfdhcp\fP اجازه تعیین فایل‌های الگو (template files) را می‌دهد که محتوای بسته‌ها را مشخص می‌کنند. برای نمونه، بسته سفارشی ممکن است حاوی ORO در DHCPv6 برای درخواست مجموعه‌ای از گزینه‌ها از کارگزار باشد، یا ممکن است حاوی گزینه Client FQDN باشد تا از کارگزار بخواهد به‌روزرسانی‌های DNS را انجام دهد. از این قابلیت می‌توان برای کشف گلوگاه‌های کارایی در پیکربندی‌های گوناگون کارگزار (مانند فعال یا غیرفعال بودن DDNS) استفاده کرد. .sp حداکثر دو فایل الگو را می‌توان در خط فرمان مشخص کرد که هر فایل بیانگر محتوای نوع خاصی از بسته است و نوع آن با توجه به آزمایشی که انجام می‌شود تعیین می‌گردد. برای نمونه، در آزمایش DHCPv6: .INDENT 0.0 .IP \(bu 2 اگر هیچ فایل الگویی در خط فرمان مشخص نشود، \fBperfdhcp\fP هر دو بسته Solicit و Request را تولید می‌کند. .IP \(bu 2 با تعیین یک فایل الگو، آن فایل به عنوان الگوی بسته‌های Solicit استفاده می‌شود و \fBperfdhcp\fP بسته‌های Request را تولید می‌کند. .IP \(bu 2 با تعیین دو فایل الگو در خط فرمان، اولی به عنوان الگوی بسته‌های Solicit و دومی به عنوان الگوی بسته‌های Request به کار می‌رود. .UNINDENT .sp (تعیین مشابهی برای بسته‌های DHCPDISCOVER و DHCPREQUEST در DHCPv4 نیز صدق می‌کند.) .sp فایل الگو حاوی بسته DHCP به صورت جریانی از ارقام هگزادسیمال ASCII است و هدرهای پشته IP/UDP را شامل نمی‌شود. فایل الگو نباید هیچ نویسه‌ای جز ارقام هگزادسیمال و فاصله‌ها داشته باشد. هنگام پردازش فایل الگو، فاصله‌ها نادیده گرفته می‌شوند؛ در این فایل، \fB12B4\fP با \fB12 B4\fP و همچنین با \fB1 2 B 4\fP یکسان است. .sp فایل‌های الگو باید همراه با پارامترهای خط فرمان که آفست فیلدهای داده تغییریافته در بسته‌های خروجی را مشخص می‌کنند، استفاده شوند. برای نمونه، سوییچ \fB\-E time\-offset\fP آفست گزینه DHCPv6 Elapsed Time را در الگوی بسته مشخص می‌کند. اگر آفست تعیین شده باشد، \fBperfdhcp\fP مقدار زمان سپری‌شده جاری را پیش از ارسال بسته به کارگزار در این فیلد تزریق می‌کند. .sp در بسیاری از سناریوها، \fBperfdhcp\fP نیاز به شبیه‌سازی کلاینت‌های متعددی دارد که هر کدام شناسه کلاینت یکتایی دارند. از آنجا که بسته‌ها برای هر کلاینت از همان فایل الگو تولید می‌شوند، تصادفی‌سازی شناسه کلاینت (یا نشانی سخت‌افزاری HW در DHCPv4) در بسته ایجادشده از آن ضروری است. گزینه \fB\-O random\-offset\fP امکان تعیین آفست در الگو را می‌دهد که در آن تصادفی‌سازی باید انجام شود. توجه به این نکته مهم است که این آفست به انتهای (نه ابتدای) شناسه کلاینت (یا فیلد نشانی سخت‌افزاری) اشاره می‌کند. تعداد بایت‌های تصادفی‌شده به تعداد کلاینت‌های شبیه‌سازی‌شده بستگی دارد. اگر تعداد کلاینت‌های شبیه‌سازی‌شده بین ۱ تا ۲۵۵ باشد، تنها یک بایت (که آفست تصادفی‌سازی به آن اشاره دارد) تصادفی می‌شود. اگر تعداد کلاینت‌های شبیه‌سازی‌شده بین ۲۵۶ تا ۶۵۵۳۵ باشد، دو بایت تصادفی می‌شوند. توجه داشته باشید که در این حالت دو بایت پایانی شناسه کلاینت تصادفی می‌شوند: بایتی که پارامتر آفست تصادفی‌سازی به آن اشاره می‌کند و بایت قبل از آن (random\-offset \- 1). اگر تعداد کلاینت‌های شبیه‌سازی‌شده از ۶۵۵۳۵ فراتر رود، سه بایت تصادفی می‌شوند و به همین ترتیب. .sp برنامه \fBperfdhcp\fP می‌تواند با فعال کردن گزینه \fB\-J\fP و ارسال مسیر فایلی شامل نشانی‌های v4 یا v6 که به عنوان رله (relay) در پیام‌های تولیدی به کار می‌روند، ترافیک چندین زیرشبکه را شبیه‌سازی کند. این کار امکان آزمایش شمار زیادی از شبکه‌های مشترک (shared networks) در Kea را فراهم می‌سازد. هنگام آزمایش DHCPv4، کارگزار Kea باید با متغیر محیطی \fBKEA_TEST_SEND_RESPONSES_TO_SOURCE\fP راه‌اندازی شود تا Kea مجبور شود پیام‌های تولیدی را به نشانی مبدأ بسته ورودی ارسال کند. .sp در حال حاضر الگوها را می‌توان برای تولید بسته‌های ارسالی به کارگزار در تبادلات چهارمرحله‌ای به کار برد؛ یعنی Solicit و Request (در DHCPv6) و DHCPDISCOVER و DHCPREQUEST (در DHCPv4). از الگوها نمی‌توان هنگام ارسال بسته‌های Renew یا DHCPRELEASE استفاده کرد. .SH "گزینه‌ها (OPTIONS)" .INDENT 0.0 .TP .B \fB\-1\fP گزینه \fBserver\-id\fP را از نخستین پیام دریافت‌شده برمی‌دارد. .TP .B \fB\-4\fP عملکرد DHCPv4 را برقرار می‌سازد؛ این حالت پیش‌فرض است. با گزینه \fB\-6\fP ناسازگار است. .TP .B \fB\-6\fP عملکرد DHCPv6 را برقرار می‌سازد. با گزینه \fB\-4\fP ناسازگار است. .TP .B \fB\-b basetype=value\fP نوع پایه MAC یا DUID مورد استفاده برای شبیه‌سازی کلاینت‌های مختلف را مشخص می‌کند. مقدار basetype می‌تواند \(dqmac\(dq یا \(dqduid\(dq باشد. (همچنین کلمه کلیدی \(dqether\(dq می‌تواند به عنوان جایگزینی برای MAC استفاده شود.) گزینه \fB\-b\fP را می‌توان چندین بار مشخص کرد. نشانی MAC باید شامل شش اکتت باشد که با دو نقطه تکی (:) یا دوگانه (::) از هم جدا شده‌اند؛ برای نمونه: mac=00:0c:01:02:03:04. مقدار DUID یک رشته هگزادسیمال است؛ این مقدار باید حداقل شش اکتت طول داشته باشد و از ۶۴ بایت بیشتر نباشد، و طول آن باید کمتر از ۱۲۸ رقم هگزادسیمال باشد. برای نمونه: duid=0101010101010101010110111F14. .TP .B \fB\-d drop\-time\fP زمانی را مشخص می‌کند که پس از آن، یک درخواست رهاشده و از دست‌رفته تلقی می‌شود. این مقدار بر حسب ثانیه داده می‌شود و می‌تواند شامل بخش اعشاری باشد. مقدار پیش‌فرض ۱ است. .TP .B \fB\-e lease\-type\fP نوع اجاره (lease) درخواستی از کارگزار را مشخص می‌کند. این مقدار می‌تواند یکی از موارد زیر باشد: .INDENT 7.0 .TP .B \fBaddress\-only\fP تنها نشانی‌های معمولی (v4 یا v6) درخواست می‌شوند. .TP .B \fBprefix\-only\fP تنها پیشوندهای IPv6 درخواست می‌شوند. .TP .B \fBaddress\-and\-prefix\fP هم نشانی‌ها و هم پیشوندهای IPv6 درخواست می‌شوند. .UNINDENT .sp حالت‌های \fB\-e prefix\-only\fP و \fB\-e address\-and\-prefix\fP را نمی‌توان با گزینه \fB\-4\fP به کار برد. .TP .B \fB\-F release\-rate\fP نرخی را مشخص می‌کند که با آن درخواست‌های DHCPRELEASE در DHCPv4 یا Release در DHCPv6 به کارگزار ارسال می‌شوند. این مقدار تنها زمانی معتبر است که همراه با نرخ تبادل (تعیین‌شده توسط \fB\-r rate\fP) استفاده شود. علاوه بر این، مجموع این مقدار و نرخ تمدید (تعیین‌شده توسط \fB\-f rate\fP) باید برابر یا کمتر از مقدار نرخ تبادل باشد. .TP .B \fB\-f renew\-rate\fP نرخی را مشخص می‌کند که با آن درخواست‌های DHCPREQUEST در DHCPv4 یا Renew در DHCPv6 به کارگزار ارسال می‌شوند. این مقدار تنها زمانی معتبر است که همراه با نرخ تبادل (تعیین‌شده توسط \fB\-r rate\fP) به کار رود. افزون بر این، مجموع این مقدار و نرخ آزادسازی (تعیین‌شده توسط \fB\-F rate\fP) باید برابر یا کمتر از نرخ تبادل باشد. .TP .B \fB\-g thread\-mode\fP امکان انتخاب حالت ریسه‌ها (thread\-mode) را فراهم می‌کند که می‌تواند \fBsingle\fP یا \fBmulti\fP باشد. در حالت چندریسه‌ای، بسته‌ها در یک ریسه جداگانه دریافت می‌شوند که استفاده بهتری از پردازنده‌ها را ممکن می‌سازد. در سامانه‌های تک‌پردازنده‌ای بهتر است در یک ریسه اجرا شود تا از مسدود شدن ریسه‌ها توسط یکدیگر جلوگیری به عمل آید. اگر بیش از یک پردازنده در سامانه موجود باشد، حالت چندریسه‌ای پیش‌فرض است؛ در غیر این صورت تک‌ریسه‌ای پیش‌فرض خواهد بود. .TP .B \fB\-h\fP راهنما را نمایش داده و خارج می‌شود. .TP .B \fB\-i\fP تنها بخش ابتدایی تبادل را انجام می‌دهد: اگر \fB\-4\fP انتخاب شده باشد DISCOVER\-OFFER، و اگر \fB\-6\fP برگزیده شده باشد Solicit\-Advertise. .sp گزینه \fB\-i\fP با گزینه‌های زیر ناسازگار است: \fB\-1\fP، \fB\-d\fP، \fB\-D\fP، \fB\-E\fP، \fB\-S\fP، \fB\-I\fP و \fB\-F\fP\&. علاوه بر این، نمی‌توان آن را با نمونه‌های متعدد از \fB\-O\fP، \fB\-T\fP و \fB\-X\fP به کار برد. .TP .B \fB\-J remote\-address\-list\-file\fP یک فایل متنی شامل چندین نشانی را مشخص می‌کند و برای آزمایش شبکه‌های اشتراکی طراحی شده است. در صورت ارائه، \fBperfdhcp\fP برای هر تبادل به‌صورت تصادفی یکی از نشانی‌ها را انتخاب می‌کند تا ترافیک را از چندین زیرشبکه تولید کند. هنگام آزمایش DHCPv4، باید با متغیر محیطی \fBKEA_TEST_SEND_RESPONSES_TO_SOURCE=ENABLE\fP راه‌اندازی شود؛ در غیر این صورت، \fBperfdhcp\fP قادر به دریافت پاسخ‌ها نخواهد بود. .TP .B \fB\-l local\-addr|interface\fP برای عملکرد DHCPv4، نام میزبان/نشانی محلی را برای برقراری ارتباط با کارگزار مشخص می‌کند. به‌طور پیش‌فرض، نشانی رابطی که ترافیک به‌طور معمول از طریق آن به کارگزار هدایت می‌شود، استفاده می‌گردد. برای عملکرد DHCPv6، نام رابط شبکه‌ای را مشخص می‌کند که تبادلات از طریق آن آغاز می‌شوند. .TP .B \fB\-L local\-port\fP پورت محلی مورد استفاده را مشخص می‌کند. این مقدار باید صفر یا یک عدد صحیح مثبت تا ۶۵۵۳۵ باشد. مقدار ۰ (پیش‌فرض) به \fBperfdhcp\fP اجازه می‌دهد پورت خود را انتخاب کند. .TP .B \fB\-M mac\-list\-file\fP فایل متنی حاوی فهرستی از نشانی‌های MAC (هر خط یک نشانی) را مشخص می‌کند. در صورت ارائه، برای هر تبادل جدید یک نشانی MAC به‌طور تصادفی از این فهرست انتخاب می‌شود. در DHCPv6، نشانی‌های MAC برای تولید DUID\-LL به کار می‌روند. این پارامتر نباید همراه با پارامتر \fB\-b\fP استفاده شود. .TP .B \fB\-N remote\-port\fP پورت راه دور مورد استفاده را مشخص می‌کند. این مقدار باید صفر یا یک عدد صحیح مثبت تا ۶۵۵۳۵ باشد. مقدار ۰ (پیش‌فرض) به \fBperfdhcp\fP اجازه می‌دهد از پورت استاندارد سرویس استفاده کند. .TP .B \fB\-o code,hexstring\fP برنامه \fBperfdhcp\fP را مجبور می‌کند گزینه اضافی مشخص‌شده (یا در صورت استفاده مکرر، چندین گزینه) را در بسته‌های ارسالی بگنجاند. بخش code کد گزینه را مشخص می‌کند و hexstring یک رشته هگزادسیمال است که محتوای گزینه را تعیین می‌نماید. باید احتیاط کرد، زیرا \fBperfdhcp\fP هیچ‌گونه منطقی را پشت گزینه‌ها ارائه نمی‌دهد؛ آن‌ها صرفاً در بسته‌ها درج شده و همان‌گونه ارسال می‌شوند. مراقب باشید گزینه‌هایی را که از پیش درج شده‌اند تکرار نکنید. برای نمونه، جهت درج شناسه کلاس کلاینت (کد گزینه ۶۰) با رشته \(dqdocsis\(dq، از \fB\-o 60,646f63736973\fP استفاده کنید. از \fB\-o\fP می‌توان چندین بار استفاده کرد. خانواده پروتکل (\fB\-4\fP یا \fB\-6\fP) باید پیش از استفاده از \fB\-o\fP مشخص شود. .TP .B \fB\-P preload\fP تبادلات پیش‌بارگذاری (preload) را پشت‌سرهم در زمان راه‌اندازی آغاز می‌کند. باید ۰ (پیش‌فرض) یا یک عدد صحیح مثبت باشد. .TP .B \fB\-r rate\fP نرخ تبادلات DORA/SARR (یا اگر \fB\-i\fP داده شده باشد، DO/SA) در هر ثانیه را آغاز می‌کند. گزارشی دوره‌ای تولید می‌شود که تعداد تبادلات تکمیل‌نشده و همچنین میانگین تاخیر پاسخ را نشان می‌دهد. برنامه تا زمان توقف ادامه می‌یابد و در آن نقطه گزارش نهایی تولید می‌شود. .TP .B \fB\-R num\-clients\fP تعداد کلاینت‌های مختلف مورد استفاده را مشخص می‌کند. با مقدار ۱ (پیش‌فرض)، همه درخواست‌ها به نظر می‌رسد از یک کلاینت یکسان ارسال می‌شوند. این مقدار باید یک عدد مثبت باشد. .TP .B \fB\-s seed\fP دانه (seed) تصادفی‌سازی را مشخص می‌کند و اجرای \fBperfdhcp\fP را تکرارپذیر می‌سازد. این مقدار باید ۰ یا یک عدد صحیح مثبت باشد. مقدار ۰ به این معنی است که از دانه استفاده نمی‌شود؛ این مقدار پیش‌فرض است. .TP .B \fB\-\-scenario name\fP نوع سناریو را مشخص می‌کند و می‌تواند \fBbasic\fP (پیش‌فرض) یا \fBavalanche\fP باشد. .TP .B \fB\-T template\-file\fP فایل حاوی الگوی مورد استفاده را به عنوان جریانی از ارقام هگزادسیمال مشخص می‌کند. این گزینه را می‌توان تا دو بار مشخص کرد و محتوای بسته‌های ارسالی را کنترل می‌کند (بخش \(dqالگوها\(dq در بالا را ببینید). .TP .B \fB\-u\fP بررسی یکتایی نشانی را فعال می‌کند. طول مدت اعتبار اجاره نباید کوتاه‌تر از مدت زمان آزمایش باشد، و کلاینت‌ها نباید یک نشانی را بیش از یک بار بدون آزادسازی آن درخواست کنند. .TP .B \fB\-v\fP نسخه Kea را نمایش می‌دهد. .TP .B \fB\-V\fP نسخه گسترش‌یافته Kea را نمایش می‌دهد. .TP .B \fB\-W exit\-wait\-time\fP پارامتر زمان انتظار خروج را مشخص می‌کند که باعث می‌شود \fBperfdhcp\fP پس از برآورده شدن شرایط خروج، برای مدت زمان معینی صبر کند تا تمام بسته‌ها را بدون ارسال بسته جدیدی دریافت کند. این مقدار بر حسب میکروثانیه بیان می‌شود. در صورت عدم تعیین، مقدار ۰ استفاده می‌شود (یعنی بلافاصله پس از تحقق شرایط خروج، برنامه پایان می‌یابد). .TP .B \fB\-w script_name\fP نام اسکریپتی را که باید پیش/پس از \fBperfdhcp\fP اجرا شود مشخص می‌کند. هنگام فراخوانی، یک پارامتر منفرد به اسکریپت ارسال می‌شود که مقدار آن \(dqstart\(dq یا \(dqstop\(dq است و نشان می‌دهد که اسکریپت قبل یا بعد از \fBperfdhcp\fP فراخوانی شده است. .TP .B \fB\-x diagnostic\-selector\fP عیب‌یابی تکمیلی را در خروجی می‌گنجاند. این گزینه رشته‌ای از کلیدواژه‌های تکی است که عملیات مورد نیاز برای خروجی پرجزئیات را مشخص می‌کند. حروف کلیدی انتخاب‌گر عبارتند از: .INDENT 7.0 .TP .B \fBa\fP آرگومان‌های رمزگشایی‌شده خط فرمان را چاپ می‌کند. .TP .B \fBe\fP علت خروج را چاپ می‌کند. .TP .B \fBi\fP جزئیات پردازش نرخ را چاپ می‌کند. .TP .B \fBl\fP اجاره‌های دریافت‌شده را چاپ می‌کند. .TP .B \fBs\fP شناسه نخستین کارگزار (server ID) را چاپ می‌کند. .TP .B \fBt\fP پس از پایان، زمان‌سنج‌های همه تبادلات موفق را چاپ می‌کند. .TP .B \fBT\fP پس از پایان، الگوها را چاپ می‌کند. .UNINDENT .TP .B \fB\-Y seconds\fP مدت زمان بر حسب ثانیه که پس از آن \fBperfdhcp\fP شبیه‌سازی انتظار طولانی‌تر کلاینت برای پاسخ‌های کارگزار را آغاز می‌کند. این کار مقدار فیلد \fBsecs\fP را در DHCPv4 افزایش می‌دهد و مقادیر فزاینده‌ای را در گزینه \fBElapsed Time\fP در DHCPv6 ارسال می‌کند. باید همراه با \fB\-y\fP به کار رود. .TP .B \fB\-y seconds\fP مدت زمان بر حسب ثانیه که در طی آن \fBperfdhcp\fP شبیه‌سازی انتظار طولانی‌تر کلاینت برای پاسخ‌های کارگزار را انجام می‌دهد. این کار مقدار فیلد \fBsecs\fP را در DHCPv4 افزایش می‌دهد و مقادیر فزاینده‌ای را در گزینه \fBElapsed Time\fP در DHCPv6 ارسال می‌کند. باید همراه با \fB\-Y\fP استفاده شود. .UNINDENT .SH "گزینه‌های ویژه DHCPV4 (DHCPV4-ONLY OPTIONS)" .sp گزینه‌های زیر تنها برای DHCPv4 اعمال می‌شوند (یعنی زمانی که \fB\-4\fP مشخص شده باشد). .INDENT 0.0 .TP .B \fB\-B\fP مدیریت پخشی (broadcast) را اجباری می‌کند. .UNINDENT .SH "گزینه‌های ویژه DHCPV6 (DHCPV6-ONLY OPTIONS)" .sp گزینه‌های زیر تنها برای DHCPv6 اعمال می‌شوند (یعنی هنگامی که \fB\-6\fP مشخص شده باشد). .INDENT 0.0 .TP .B \fB\-c\fP گزینه ثبت سریع (rapid\-commit) را اضافه می‌کند (تبادلات به صورت Solicit\-Advertise انجام می‌شوند). .TP .B \fB\-A encapsulation\-level\fP مشخص می‌کند که ترافیک رله‌شده باید تولید شود. آرگومان سطح کپسوله‌سازی را تعیین می‌کند؛ یعنی چند عامل رله (relay agent) شبیه‌سازی می‌شوند. در حال حاضر تنها مقدار سطح کپسوله‌سازی پشتیبانی‌شده عدد ۱ است، به این معنی که ترافیک تولیدی معادل میزان ترافیک عبوری از یک عامل رله منفرد است. .TP .B \fB\-\-or encapsulation\-level:code,hexstring\fP برنامه \fBperfdhcp\fP را مجبور می‌کند گزینه اضافی مشخص‌شده (یا در صورت استفاده مکرر، چند گزینه) را در پیام رله‌شده DHCPv6 در سطح کپسوله‌سازی مشخص وارد کند؛ در حال حاضر، تنها مقدار پشتیبانی‌شده برای سطح کپسوله‌سازی عدد ۱ است. این گزینه بسیار شبیه به \fB\-o\fP است: code کد گزینه را مشخص می‌کند و hexstring رشته‌ای هگزادسیمال است که محتوای گزینه را تعیین می‌نماید. باید احتیاط کرد، زیرا \fBperfdhcp\fP هیچ‌گونه منطقی را پشت گزینه‌ها ارائه نمی‌دهد؛ آن‌ها صرفاً در بسته‌ها درج شده و به همان شکل ارسال می‌شوند. بخش \fBencapsulation\-level:\fP اختیاری است؛ در صورت حذف آن، مقدار پیش‌فرض سطح کپسوله‌سازی ۱ استفاده می‌شود. برای نمونه، جهت درج شناسه مشترک (کد گزینه ۳۸) با مقدار ۱۲۳۴ در نخستین سطح کپسوله‌سازی، از \fB\-\-or 38,31323334\fP یا \fB\-\-or 1:38,31323334\fP استفاده کنید. از \fB\-\-or\fP می‌توان چندین بار استفاده کرد، و باید همراه با \fB\-A\fP به کار رود. .UNINDENT .SH "گزینه‌های مرتبط با الگو (TEMPLATE-RELATED OPTIONS)" .sp گزینه‌های زیر فقط می‌توانند همراه با \fB\-T\fP استفاده شوند و نحوه اصلاح الگو توسط \fBperfdhcp\fP را کنترل می‌کنند. این گزینه‌ها را می‌توان چندین بار در خط فرمان تعیین کرد؛ هر بار استفاده روی فایل الگوی متناظر اثر می‌گذارد (بخش \(dqالگوها\(dq در بالا را ببینید). .INDENT 0.0 .TP .B \fB\-E time\-offset\fP آفست فیلد \fBsecs\fP (در DHCPv4) یا گزینه \fBElapsed Time\fP (در DHCPv6) را در الگوی دوم (یعنی Request) مشخص می‌کند؛ باید ۰ یا یک عدد صحیح مثبت باشد. مقدار ۰ این قابلیت را غیرفعال می‌کند. .TP .B \fB\-I ip\-offset\fP آفست نشانی IP (در DHCPv4) در گزینه \fBrequested\-ip\fP یا گزینه \fBIA_NA\fP (در DHCPv6) را در الگوی دوم (Request) مشخص می‌کند. .TP .B \fB\-O random\-offset\fP آفست آخرین اکتت برای تصادفی‌سازی در الگو را مشخص می‌کند. این مقدار باید یک عدد صحیح بزرگتر از ۳ باشد. برای استفاده از این گزینه، سوییچ \fB\-T\fP باید ارائه شود. .TP .B \fB\-S srvid\-offset\fP آفست گزینه \fBserver\-id\fP را در الگوی دوم (Request) مشخص می‌کند. این مقدار باید یک عدد صحیح مثبت باشد، و این سوییچ تنها زمانی قابل استفاده است که گزینه الگو (\fB\-T\fP) نیز داده شده باشد. .TP .B \fB\-X xid\-offset\fP آفست شناسه تراکنش (xid) را در الگو مشخص می‌کند. این مقدار باید یک عدد صحیح مثبت باشد، و این سوییچ تنها زمانی قابل استفاده است که گزینه الگو (\fB\-T\fP) نیز ارائه شده باشد. .UNINDENT .SH "گزینه‌های کنترل آزمایش (OPTIONS CONTROLLING A TEST)" .INDENT 0.0 .TP .B \fB\-D max\-drop\fP در صورتی که تعداد درخواست‌های رهاشده به \(dqmax\-drop\(dq برسد، آزمایش بلافاصله متوقف می‌شود. از \fB\-D 1\fP برای توقف آزمایش حتی در صورت رها شدن یک درخواست منفرد استفاده کنید. مقدار \(dqmax\-drop\(dq باید یک عدد صحیح مثبت باشد. اگر \(dqmax\-drop\(dq شامل پسوند \fB%\fP باشد، حداکثر درصد درخواست‌های رهاشده مجاز پیش از توقف آزمایش را مشخص می‌کند. در این حالت، بررسی آستانه پس از انتظار برای دریافت ۱۰ درخواست آغاز می‌شود. .TP .B \fB\-n num\-requests\fP تعداد \(dqnum\-request\(dq تراکنش را آغاز می‌کند. تا زمانی که همه تراکنش‌ها آغاز نشده یا منتظر پاسخ نمانده باشند، هیچ گزارشی تولید نمی‌شود؛ پس از آن گزارشی تولید شده و برنامه پایان می‌یابد. .TP .B \fB\-p test\-period\fP درخواست‌ها را برای مدت زمان \(dqtest\-period\(dq ارسال می‌کند که به همان شیوه \fB\-d\fP مشخص می‌شود. این گزینه می‌تواند به عنوان جایگزینی برای \fB\-n\fP استفاده شود، یا هر دو گزینه را می‌توان ارائه داد که در این صورت، آزمایش پس از رسیدن به هر یک از محدودیت‌ها پایان می‌یابد. .TP .B \fB\-t interval\fP تاخیر (بر حسب ثانیه) میان دو گزارش متوالی را تنظیم می‌کند. .TP .B \fB\-C separator\fP خروجی مقدماتی را حذف کرده و باعث می‌شود داده‌های میانی تنها شامل مقادیری باشند که با \fBseparator\fP از هم جدا شده‌اند. این گزینه همراه با \fB\-t\fP برای تولید گزارش‌هایی که در فواصل زمانی \fB\-t\fP به‌سادگی قابل تجزیه و تحلیل هستند به کار می‌رود. .UNINDENT .SH "آرگومان‌ها (ARGUMENTS)" .INDENT 0.0 .TP .B \fBserver\fP کارگزار مورد آزمایش را مشخص می‌کند که به صورت یک نشانی IP داده می‌شود. در حالت DHCPv6، نام ویژه \fBall\fP می‌تواند برای ارجاع به \fBAll_DHCP_Relay_Agents_and_Servers\fP (نشانی چندپخشی FF02::1:2)، یا نام ویژه \fBservers\fP برای ارجاع به \fBAll_DHCP_Servers\fP (نشانی چندپخشی FF05::1:3) استفاده شود. تعیین کارگزار اجباری است مگر در مواردی که گزینه \fB\-l\fP برای تعیین یک رابط شبکه مشخص شده باشد، که در این حالت مقدار پیش‌فرض آن \fBall\fP خواهد بود. .UNINDENT .SH "خطاها (ERRORS)" .sp برنامه \fBperfdhcp\fP می‌تواند خطاهای زیر را در تبادل بسته‌ها گزارش دهد: .INDENT 0.0 .TP .B tooshort پیامی دریافت شده که بسیار کوتاه است. .TP .B orphans پیامی دریافت شده که با هیچ‌کدام از پیام‌های ارسالی به کارگزار مطابقت ندارد (یعنی پیامی تکراری است، پیامی است که پس از تاخیری بیش از حد رسیده، یا پیامی است که ناشناخته است). .TP .B locallimit هنگام ارسال پیام، به محدودیت‌های سامانه محلی برخورد شده است. .UNINDENT .SH "وضعیت خروج (EXIT STATUS)" .sp برنامه \fBperfdhcp\fP با یکی از کدهای وضعیت زیر خارج می‌شود: .INDENT 0.0 .TP .B 0 موفقیت‌آمیز. .TP .B 1 خطای عمومی. .TP .B 2 خطا در آرگومان‌های خط فرمان. .TP .B 3 بدون خطای عمومی در عملکرد، اما یک یا چند تبادل ناموفق بوده‌اند. .UNINDENT .SH "مثال‌های کاربردی (USAGE EXAMPLES)" .sp در اینجا مثالی آورده شده است که ترافیک عادی DHCPv4 مربوط به ۱۰۰ دستگاه DHCPv4 (\-R 100) را با نرخ ۱۰ بسته در ثانیه (\-r 10) شبیه‌سازی می‌کند، جزئیات نرخ پرس‌وجو/پاسخ را نمایش می‌دهد (\-xi)، هر ۲ ثانیه یک گزارش نشان می‌دهد (\-t 2)، و بسته‌ها را به نشانی IP 192.0.2.1 ارسال می‌کند: .INDENT 0.0 .INDENT 3.5 .sp .EX sudo perfdhcp \-xi \-t 2 \-r 10 \-R 100 192.0.2.1 .EE .UNINDENT .UNINDENT .sp در اینجا حالتی مشابه اما برای DHCPv6 آورده شده است. توجه داشته باشید که پروتکل DHCPv6 از نشانی‌های محلی پیوند (link\-local) استفاده می‌کند، بنابراین رابط شبکه‌ای (در این مثال eth0) که ترافیک باید روی آن ارسال شود، باید مشخص گردد. مقدار \fBall\fP یک نام مستعار مناسب برای \fBAll_DHCP_Relay_Agents_and_Servers\fP (نشانی چندپخشی FF02::1:2) است. همچنین می‌توان از نام مستعار \fBservers\fP برای ارجاع به \fBAll_DHCP_Servers\fP (نشانی چندپخشی FF05::1:3) استفاده کرد. مقدار پیش‌فرض \fBall\fP است. .INDENT 0.0 .INDENT 3.5 .sp .EX sudo perfdhcp \-6 \-xi \-t 1 \-r 1 \-R 10 \-l eth0 all .EE .UNINDENT .UNINDENT .sp مثال‌های زیر ترافیک معمول DHCPv4 و DHCPv6 را شبیه‌سازی می‌کنند که پس از ۳ ثانیه، وانمود می‌کند هیچ پاسخی از کارگزار به مدت ۱۰ ثانیه دریافت نکرده است. پروتکل DHCPv4 این موضوع را با یک فیلد \fBsecs\fP افزایش‌یافته اعلام می‌کند، در حالی که DHCPv6 از گزینه \fBElapsed Time\fP استفاده می‌نماید. در شبکه‌های واقعی، این نشان می‌دهد که کلاینت‌ها پاسخ‌ها را به موقع دریافت نمی‌کنند. از این روش می‌توان برای شبیه‌سازی برخی سناریوهای دسترسی‌پذیری بالا (HA) استفاده کرد، زیرا Kea از فیلد \fBsecs\fP و مقدار گزینه \fBElapsed Time\fP به عنوان یکی از شاخص‌های پاسخ ندادن شریک HA استفاده می‌کند. در صورت فعال شدن با \fB\-y\fP و \fB\-Y\fP، مقادیر \fBsecs\fP و \fBElapsed Time\fP به‌طور پیوسته افزایش می‌یابند. .INDENT 0.0 .INDENT 3.5 .sp .EX sudo perfdhcp \-xi \-t 1 \-r 1 \-y 10 \-Y 3 192.0.2.1 sudo perfdhcp \-6 \-xi \-t 1 \-r 1 \-y 10 \-Y 3 2001:db8::1 .EE .UNINDENT .UNINDENT .SH "مستندات (DOCUMENTATION)" .sp نرم‌افزار Kea همراه با یک راهنمای مرجع جامع مدیران Kea عرضه می‌شود که تمام جنبه‌های اجرای نرم‌افزار Kea شامل کامپایل، نصب، پیکربندی، مثال‌های پیکربندی و موارد دیگر را پوشش می‌دهد. همچنین Kea دارای راهنمای پیام‌های Kea است که فهرستی از تمامی پیام‌های قابل چاپ توسط Kea را به همراه توضیح کوتاهی برای هر یک ارائه می‌دهد. هر دو سند در قالب‌های گوناگون (.txt, .html, .pdf) همراه با توزیع Kea در دسترس هستند. مستندات Kea در نشانی \%\& موجود است. .sp کد منبع Kea در راهنمای توسعه‌دهندگان Kea مستند شده است که در نشانی \%\& در دسترس قرار دارد. .sp وب‌سایت پروژه Kea در نشانی \%\& در دسترس است. .SH "فهرست‌های پستی و پشتیبانی (MAILING LISTS AND SUPPORT)" .sp دو فهرست پستی عمومی برای پروژه Kea در دسترس است. فهرست \fBkea\-users\fP (نشانی kea\-users در lists.isc.org) برای کاربران Kea در نظر گرفته شده است، در حالی که \fBkea\-dev\fP (نشانی kea\-dev در lists.isc.org) برای توسعه‌دهندگان Kea، مشارکت‌کنندگان بالقوه و سایر کاربران پیشرفته است. هر دو فهرست در نشانی \%\& در دسترس هستند. جامعه کاربری در هر دوی این فهرست‌ها پشتیبانی در حد توان ارائه می‌دهد. .sp سازمان ISC پشتیبانی حرفه‌ای برای خدمات Kea ارائه می‌دهد. برای جزئیات به \% مراجعه کنید. .SH "تاریخچه (HISTORY)" .sp ابزار \fBperfdhcp\fP در ابتدا در اکتبر ۲۰۱۱ توسط John DuBois، Francis Dupont و Marcin Siodelski از ISC کدنویسی شد. نگارش Kea 1.0.0 که شامل \fBperfdhcp\fP بود، در دسامبر ۲۰۱۵ منتشر گردید. .SH "همچنین ببینید (SEE ALSO)" .sp \fBkea\-dhcp4(8)\fP, \fBkea\-dhcp6(8)\fP, \fBkea\-dhcp\-ddns(8)\fP, \fBkea\-admin(8)\fP, \fBkea\-netconf(8)\fP, \fBkeactrl(8)\fP, \fBkea\-lfc(8)\fP, راهنمای مرجع مدیران Kea. .SH "نویسنده (AUTHOR)" Internet Systems Consortium .SH "حق نشر (COPYRIGHT)" 2019-2026, Internet Systems Consortium .\" End of generated man page.