Amazon Best VPN GoSearch

فاویکون OnWorks

ns - آنلاین در ابر

ns را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور ns است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


ns - شبیه ساز شبکه (نسخه 2)

خلاصه


ns [ پرونده [ ارگ ارگ ... ] ]

شرح


ns شبیه ساز شبکه رویداد محور است. یک موتور شبیه سازی توسعه پذیر پیاده سازی شده است
در C++ که از زبان دستوری ابزار شیء MIT، OTcl (نسخه شی گرا از
Tcl) به عنوان رابط فرمان و پیکربندی. نسخه قبلی شبیه ساز یعنی
ns نسخه 1 از زبان دستور ابزار، Tcl به عنوان زبان پیکربندی استفاده می کرد. در
نسخه فعلی همچنان از اسکریپت های شبیه سازی نوشته شده با Tcl که برای نسخه ns نوشته شده است پشتیبانی می کند
1 شبیه ساز

این صفحه دستی برخی از رابط های ns را مستند می کند. برای خیلی کامل تر
مستندات، لطفاً "NS Notes and Documentation" [13]، موجود در توزیع را ببینید
و در وب

شبیه ساز از طریق فراخوانی می شود ns مترجم، پسوند وانیل otclsh
پوسته فرمان یک شبیه سازی توسط یک اسکریپت OTcl تعریف می شود. اسکریپت ها از شبیه ساز استفاده می کنند
کلاس به عنوان رابط اصلی برای موتور شبیه سازی. با استفاده از روش های تعریف شده در
در این کلاس، یک توپولوژی شبکه تعریف می شود، منابع ترافیک و سینک ها پیکربندی می شوند
شبیه سازی فراخوانی می شود و آمار جمع آوری می شود. با ساخت بر روی یک به طور کامل
زبان تابعی، اقدامات دلخواه را می توان در پیکربندی برنامه ریزی کرد.

اولین قدم در شبیه سازی، بدست آوردن نمونه ای از کلاس Simulator است.
نمونه هایی از اشیاء در کلاس ها با استفاده از ns ساخته و از بین می روند جدید و حذف کردن
مواد و روش ها. به عنوان مثال، یک نمونه از شی Simulator توسط موارد زیر ایجاد می شود
فرمان:

به عنوان مثال مجموعه ns [شبیه ساز جدید]

یک توپولوژی شبکه با استفاده از سه بلوک ساختمانی اولیه تحقق می‌یابد: گره‌ها، پیوندها و
عوامل کلاس Simulator متدهایی برای ایجاد/پیکربندی هر یک از این ساختمان ها دارد
بلوک ها گره ها با ایجاد می شوند گره روش شبیه ساز که به طور خودکار یک
آدرس منحصر به فرد برای هر گره پیوندهایی بین گره ها ایجاد می شوند تا توپولوژی شبکه را تشکیل دهند
با سیمپلکس لینک و پیوند دوبلکس روش هایی که یک طرفه و دو طرفه را تنظیم می کنند
به ترتیب پیوندها Agent ها اشیایی هستند که به طور فعال شبیه سازی را هدایت می کنند. عوامل
را می توان به عنوان فرآیندها و/یا موجودیت های حمل و نقلی در نظر گرفت که روی آن اجرا می شوند گره ممکن است
هاست های پایانی یا روترها منابع و سینک های ترافیک، ماژول های مسیریابی پویا و موارد مختلف
ماژول های پروتکل همگی نمونه هایی از عوامل هستند. عامل ها با نمونه سازی اشیا ایجاد می شوند
در زیر کلاس کلاس Agent یعنی عامل/نوع جایی که type ماهیت آن را مشخص می کند
عامل. به عنوان مثال، یک عامل TCP با استفاده از دستور ایجاد می شود:

تنظیم tcp [نماینده جدید/TCP]

هنگامی که عوامل ایجاد می شوند، آنها به گره ها متصل می شوند عامل ضمیمه شبیه ساز
روش. به هر عامل به طور خودکار یک شماره پورت منحصر به فرد در بین تمام عوامل روی یک اختصاص داده می شود
گره داده شده (مشابه با پورت tcp یا udp). برخی از انواع عوامل ممکن است دارای منابع باشند
به آنها متصل می شود در حالی که دیگران ممکن است داده های خود را تولید کنند. به عنوان مثال، می توانید ضمیمه کنید
«ftp» و «telnet» به عوامل «tcp» می‌رسند اما عامل‌های «نرخ بیت ثابت» تولید می‌کنند.
داده های خودشان برنامه ها با استفاده از پیوست-برنامه روش.

هر شی دارای برخی از پارامترهای پیکربندی مرتبط با خود است که می توان آنها را تغییر داد.
پارامترهای پیکربندی، متغیرهای نمونه شی هستند. این پارامترها هستند
در هنگام راه‌اندازی به مقادیر پیش‌فرض که به سادگی می‌توانند از نمونه خوانده شوند، مقداردهی اولیه می‌شود
متغیرهای شی مثلا، $tcp تنظیم پنجره_ اندازه پنجره پیش فرض را برمی گرداند
برای شی tcp. مقادیر پیش‌فرض برای آن شی را می‌توان به‌صراحت توسط آن لغو کرد
تخصیص ساده یا قبل از شروع شبیه سازی، یا به صورت پویا، در حین شبیه سازی
در حال انجام است. به عنوان مثال، اندازه پنجره برای یک جلسه TCP خاص را می توان تغییر داد
به روش زیر

$tcp تنظیم window_ 25

مقادیر پیش‌فرض برای پارامترهای پیکربندی تمام اشیاء کلاس بعداً
ایجاد شده را نیز می توان با انتساب ساده تغییر داد. مثلاً می‌توان گفت

Agent/TCP set window_ 30

تا تمام ساخته های عامل tcp آینده به اندازه پنجره 30 پیش فرض قرار گیرند.

رویدادها با استفاده از ns برنامه ریزی می شوند at روش شبیه ساز که به روش های OTcl اجازه می دهد
در نقاط دلخواه در زمان شبیه سازی فراخوانی می شود. این تماس های OTcl انعطاف پذیری را ارائه می دهند
مکانیزم شبیه سازی - می توان از آنها برای شروع یا توقف منابع، آمار تخلیه،
نمونه‌برداری از خرابی‌های پیوند، پیکربندی مجدد توپولوژی شبکه و غیره. شبیه‌سازی است
از طریق اجرا روش و تا زمانی ادامه می یابد که هیچ رویداد دیگری برای پردازش وجود نداشته باشد.
در این زمان، فراخوان اصلی از اجرا دستور برمی گردد و اسکریپت Tcl می تواند
پس از پیکربندی مجدد احتمالی، از اجرای شبیه سازی دیگری خارج شوید یا فراخوانی کنید. متناوبا،
شبیه سازی را می توان با فراخوانی پیش از موعد متوقف کرد متوقف کردن دستور یا با خروج از اسکریپت
با استاندارد Tcl خروج فرمان

بسته‌ها در کوتاه‌ترین مسیر از مبدا به مقصد، جایی که در آن مسیر ارسال می‌شوند
متریک فاصله مجموع هزینه‌های پیوندهای پیموده شده از منبع به منبع است
مقصد هزینه یک لینک به طور پیش فرض 1 است. متریک فاصله به سادگی پرش است
در این مورد حساب کنید هزینه یک لینک را می توان با تغییر تغییر داد هزینه روش شبیه ساز آ
مدل توپولوژی ایستا به عنوان پیش فرض در ns استفاده می شود که در آن حالت گره ها/پیوندها انجام می شود
در طول شبیه سازی تغییر نمی کند. دینامیک شبکه را می توان با استفاده از آن مشخص کرد
روش هایی که در بخش روش های دینامیک شبکه توضیح داده شده است. همچنین مسیریابی unicast ایستا است
به طور پیش فرض که در آن مسیرها یک بار قبل از کل توپولوژی از قبل محاسبه می شوند
شروع شبیه سازی روش‌هایی برای فعال کردن و پیکربندی unicast و multicast پویا
مسیریابی در روش های مسیریابی UNICAST و روش های مسیریابی چندگانه توضیح داده شده است.
بخش ها به ترتیب

NS دستورات


این بخش دستورات اساسی برای ایجاد بلوک های ساختمان شبیه سازی را شرح می دهد
(یعنی اشیاء گره، پیوند و عامل) و شبیه سازی را اجرا کنید.

اولین گام در اجرای یک شبیه سازی همانطور که قبلا گفته شد، به دست آوردن یک نمونه از آن است
کلاس شبیه ساز که متدهایی برای پیکربندی و اجرای شبیه سازی دارد. در تمام این مدت
بخش نام متغیر شی $ns برای دلالت بر یک شی شبیه ساز استفاده می شود.

$ns گره
یک شی گره جدید ایجاد کنید و یک دسته را به آن برگردانید.

$ns لیست همه گره ها
لیستی از تمام اشیاء گره تعریف شده در شبیه سازی را برمی گرداند.

$ns سیمپلکس لینک گره 1 گره 2 bw تاخیر نوع
ایجاد یک پیوند یک طرفه جدید بین گره 1 و گره 2 با پهنای باند bw در بیت
در هر ثانیه و تاخیر انتشار پیوند تاخیر در چند ثانیه گره 1 و گره 2 باید
قبلا با ایجاد شده است گره روش. bw و تاخیر به طور پیش فرض 1.5 مگابیت بر ثانیه است
و به ترتیب 100 میلی ثانیه. پیش فرض ها را می توان با اصلاح موارد مربوطه تغییر داد
پارامترهای پیکربندی شی DelayLink (به بخش DELAYLINK OBJECTS مراجعه کنید).
گره 1 و گره 2 باید قبلا با ایجاد شده باشد گره روش. صف
نظم و انضباط پیوند توسط مشخص شده است نوع، که ممکن است DropTail، پرسش و پاسخ، SFQ، DRR،
قرمز، CBQ، or CBQ/WRR. پیوند DropTail یک صف ساده FIFO است که آخرین صف را رها می کند
بسته در صف زمانی که صف سرریز می شود. یک پیوند FQ برای صف عادلانه (برای
جزئیات را ببینید [؟]). پیوند SFQ برای صف عادلانه تصادفی است (برای جزئیات به [?] مراجعه کنید).
یک پیوند DRR برای زمان‌بندی دوره‌ای کسری است (برای جزئیات به [9] مراجعه کنید). یک لینک قرمز
یک صف سقوط تصادفی زودرس است (برای جزئیات به [2] مراجعه کنید). یک پیوند CBQ برای کلاس مبتنی است
صف بندی با استفاده از یک زمانبندی بسته به بسته دور روبین (برای جزئیات به [3] مراجعه کنید). آ
پیوند CBQ/WRR برای صف‌بندی کلاسی با یک زمان‌بندی دور رابین وزن‌دار است. اگر
از مسیریابی چندپخشی استفاده می شود، پیوندهایی با برچسب های رابط مورد نیاز است. چنین پیوندهایی هستند
ایجاد شده با تنظیم متغیر Simulator NumberInterfaces_ بر روی 1. همه موارد بعدی
پیوندهای ایجاد شده دارای برچسب های رابط خواهند بود. برای غیرفعال کردن ایجاد رابط ها به سادگی
NumberInterfaces_ را به 0 بازنشانی کنید (این پیش فرض است).

$ns پیوند دوبلکس گره 1 گره 2 bw تاخیر نوع
ایجاد یک پیوند دوطرفه جدید بین گره 1 و گره 2 با پهنای باند bw در بیت
در هر ثانیه و تاخیر انتشار پیوند تاخیر در چند ثانیه گره 1 و گره 2 باید
قبلا با ایجاد شده است گره روش. bw و تاخیر به طور پیش فرض 1.5 مگابیت بر ثانیه است
و به ترتیب 100 میلی ثانیه. پیش فرض ها را می توان با اصلاح موارد مربوطه تغییر داد
پارامترهای پیکربندی شی DelayLink (به بخش DELAYLINK OBJECTS مراجعه کنید).
رشته صف بندی لینک توسط مشخص شده است نوع، که ممکن است DropTail، FQ
SFQ، DRR، قرمز، CBQ، or CBQ/WRR. پیوند DropTail یک صف ساده FIFO است که کاهش می یابد
آخرین بسته در صف هنگام سرریز شدن صف. پیوند FQ برای Fair است
در صف (برای جزئیات به [؟] مراجعه کنید). یک پیوند SFQ برای صف عادلانه تصادفی (برای
جزئیات را ببینید [؟]). یک پیوند DRR برای برنامه‌ریزی دوره‌ای کسری است (برای جزئیات
[9] را ببینید). یک پیوند قرمز یک صف سقوط تصادفی زودهنگام است (برای جزئیات به [2] مراجعه کنید). یک CBQ
پیوند برای صف بندی مبتنی بر کلاس با استفاده از یک زمانبندی بسته به بسته دور روبین (برای
جزئیات را ببینید [3]). پیوند CBQ/WRR برای صف بندی کلاسی با دور وزنی است
رابین زمانبندی اگر از مسیریابی چندپخشی استفاده می شود، لینک هایی با برچسب های رابط استفاده می شود
ضروری. چنین پیوندهایی با تنظیم متغیر Simulator NumberInterfaces_ ایجاد می شوند
به 1. همه پیوندهای ایجاد شده بعدی دارای برچسب های رابط خواهند بود. برای غیر فعال کردن
ایجاد رابط ها به سادگی NumberInterfaces_ را به 0 بازنشانی کنید (این پیش فرض است).

$ns پیوند گره 1 گره 2
ارجاع به گره های پیوند دهنده پیوند را برمی گرداند گره 1 و گره 2. این مفید است
برای تنظیم پارامترهای پیکربندی پیوند و فراخوانی روش‌های ردیابی (به پیوند مراجعه کنید
بخش اشیاء).

$ns محدودیت صف گره 1 گره 2 محدودیت صف
حداکثر تعداد بسته هایی را که می توان روی پیوند در جهت قرار داد را تنظیم کنید
از جانب گره 1 به گره 2 به محدودیت صف پیوند بین node1 و node2 باید وجود داشته باشد
قبلا ایجاد شده است.

$ns تاخیر گره 1 گره 2 فاصله زمانی
تأخیر پیوند را در جهت از تنظیم کنید گره 1 به گره 2 به فاصله زمانی
ثانیه پیوند بین node1 و node2 باید قبلا ایجاد شده باشد.

$ns هزینه گره 1 گره 2 هزینه- ارزش
هزینه را تعیین کنید هزینه- ارزش به پیوند بین گره ها گره 1 و گره 2. هزینه ها
اختصاص داده شده به پیوندها در محاسبات مسیر unicast استفاده می شود. همه لینک ها به صورت پیش فرض
هزینه 1.

$ns چند پیوندی لیست گره bw تاخیر نوع
گره های مشخص شده در را به هم متصل می کند لیست گره توسط شبکه ای از پیوندهای دوبلکس (برای شبیه سازی a
پخش LAN) با پهنای باند bw در بیت در ثانیه و تاخیر انتشار پیوند
تاخیر در چند ثانیه لیست گره لیستی از دسته های شی گره است که قبلاً داشته اند
با ایجاد شده است گره روش. bw و تاخیر به طور پیش فرض 1.5 مگابیت بر ثانیه و 100 است
ms به ترتیب. پیش فرض ها را می توان با اصلاح موارد مربوطه تغییر داد
پارامترهای پیکربندی شی DelayLink (به بخش DELAYLINK OBJECTS مراجعه کنید).
رشته صف بندی لینک توسط مشخص شده است نوع، که ممکن است DropTail، FQ
SFQ، DRR، قرمز، CBQ، or CBQ/WRR. پیوند DropTail یک صف ساده FIFO است که کاهش می یابد
آخرین بسته در صف هنگام سرریز شدن صف. پیوند FQ برای Fair است
در صف (برای جزئیات به [؟] مراجعه کنید). یک پیوند SFQ برای صف عادلانه تصادفی (برای
جزئیات را ببینید [؟]). یک پیوند DRR برای برنامه‌ریزی دوره‌ای کسری است (برای جزئیات
[9] را ببینید). یک پیوند قرمز یک صف سقوط تصادفی زودهنگام است (برای جزئیات به [2] مراجعه کنید). یک CBQ
پیوند برای صف بندی مبتنی بر کلاس با استفاده از یک زمانبندی بسته به بسته دور روبین (برای
جزئیات را ببینید [3]). پیوند CBQ/WRR برای صف بندی کلاسی با دور وزنی است
رابین زمانبندی

$ns چند لینک از رابط لیست گره bw تاخیر نوع
گره های مشخص شده در را به هم متصل می کند لیست گره توسط شبکه ای از پیوندهای دوبلکس با رابط ها
(برای شبیه سازی LAN پخش) با پهنای باند bw در بیت در ثانیه و پیوند
تاخیر انتشار تاخیر در چند ثانیه لیست گره لیستی از دسته های شی گره است
که قبلا با ایجاد شده اند گره روش. bw و تاخیر پیش فرض 1.5 است
مگابیت بر ثانیه و 100 میلی ثانیه به ترتیب. پیش فرض ها را می توان با تغییر دادن تغییر داد
پارامترهای پیکربندی مربوطه شی DelayLink (به اشیاء DELAYLINK مراجعه کنید
بخش). رشته صف بندی لینک توسط مشخص شده است نوع، که ممکن است
DropTail، FQ SFQ، DRR، قرمز، CBQ، or CBQ/WRR. پیوند DropTail یک FIFO ساده است
صف که در هنگام سرریز شدن صف، آخرین بسته در صف را رها می کند. یک لینک FQ
برای صف منصفانه است (برای جزئیات به [؟] مراجعه کنید). پیوند SFQ برای نمایشگاه Stochastic است
در صف (برای جزئیات به [؟] مراجعه کنید). یک پیوند DRR برای زمان‌بندی دوره‌ای کسری است
(برای جزئیات به [9] مراجعه کنید). یک پیوند قرمز یک صف رها کردن زودهنگام تصادفی است (برای جزئیات مراجعه کنید
[2]). یک پیوند CBQ برای صف‌بندی مبتنی بر کلاس با استفاده از یک بسته به بسته دور برگشتی است.
زمانبندی (برای جزئیات به [3] مراجعه کنید). یک پیوند CBQ/WRR برای صف بندی مبتنی بر کلاس با a است
زمانبندی دور رابین وزن دار

جدید عامل/نوع
یک عامل از نوع ایجاد کنید نوع که ممکن است:
نول - سینک ترافیک
LossMonitor - Traffic Sink که پارامترهای تلفات را نظارت می کند
TCP - BSD Tahoe TCP
TCP/FullTcp - Full Reno TCP با اتصالات دو طرفه [11]
TCP/Reno - BSD Reno TCP
TCP/Newreno - نسخه اصلاح شده BSD Reno TCP
TCP/Vegas - Vegas TCP (از U. Arizonia از طریق USC)
TCP/Sack1 - BSD Reno TCP با ACK های انتخابی
TCP/Fack - BSD Reno TCP با ACK های رو به جلو
TCPSink - سینک استاندارد TCP
TCPSink/DelAck - سینک TCP که ACKهای تاخیری تولید می کند
TCPSink/Sack1 - سینک TCP که ACK های انتخابی تولید می کند
TCPSink/Sack1/DelAck - سینک TCP با تأخیر با ACK های انتخابی
UDP - UDP Transport
RTP - عامل RTP
جلسه/RTP -
RTCP - عامل RTCP
IVS/منبع -
IVS / گیرنده -
SRM -
روش ها، پارامترهای پیکربندی و متغیرهای وضعیت مربوطه مرتبط
با این اشیاء در بخش های بعدی به تفصیل مورد بحث قرار می گیرد. توجه داشته باشید که برخی
عواملی مانند TCP یا SRM داده های خود را تولید نمی کنند. چنین عواملی به منابع نیاز دارند
برای تولید داده به آنها متصل شده است (به روش های پیوست-منبع و پیوست-ترافیک مراجعه کنید
بخش AGENT OBJECTS).

$ns عامل ضمیمه گره عامل
شی عامل را وصل کنید عامل به گره La عامل و گره اشیاء باید داشته باشند
قبلا ایجاد شده است.

$ns عامل جدا کردن گره عامل
شی عامل را جدا کنید عامل از جانب گره

$ns اتصال " dst
یک ارتباط دو طرفه بین عامل ایجاد کنید " و عامل dst. بازده
دسته به " عامل. یک روش کمکی برای تسهیل ایجاد تعریف شده است
و به هر یک از دو گره یک عامل متصل کرده و یک ارتباط دو طرفه برقرار می کند
بین آنها. (به بخش BUILTINS مراجعه کنید).

$ns استفاده-زمان بندی نوع
از نوع زمانبندی رویداد استفاده کنید نوع در شبیه سازی ها نوع یکی از لیست، هیپ،
تقویم، زمان واقعی. لیست زمانبندی پیش فرض است. یک زمانبندی Heap از a استفاده می کند
پشته برای صف رویداد. یک برنامه‌ریز تقویم از یک صف تقویم برای پیگیری استفاده می‌کند
از رویدادها زمانبندی RealTime در حالت شبیه سازی زمانی که شبیه ساز استفاده می شود
با یک عامل خارجی تعامل دارد.

$ns at زمان روش
ارزیابی روش در زمان شبیه سازی زمان. این روش می تواند جهانی باشد
تابع قابل دسترسی (proc) یا یک روش شی (instproc). این دستور می تواند باشد
برای شروع و متوقف کردن منابع، پیکربندی مجدد پویا شبیه ساز، تخلیه استفاده می شود
آمار در بازه های زمانی مشخص و غیره. شناسه رویداد را برمی گرداند.

$ns لغو عید
رویداد مشخص شده توسط شناسه رویداد را حذف کنید عید از صف رویداد

$ns اکنون
زمان شبیه سازی فعلی را برگردانید.

$ns gen-map
توپولوژی شبیه سازی را طی می کند و تمام اشیایی که بوده اند را فهرست می کند
ایجاد شده و نحوه اتصال آنها به یکدیگر. این برای اشکال زدایی مفید است
اسکریپت های شبیه سازی

نسخه ns
رشته ای را برگردانید که نسخه ns در حال اجرا را شناسایی می کند. این روش است
در زمینه جهانی توسط مفسر اجرا می شود.

ns-تصادفی [ دانه ]
If دانه وجود ندارد، یک عدد صحیح شبه تصادفی بین 0 و 2^31-1 برگردانید.
در غیر این صورت، مولد اعداد شبه تصادفی را با دانه و دانه را برگردانید
استفاده شده. اگر دانه 0 است، یک دانه اولیه را به صورت اکتشافی انتخاب کنید (که متفاوت است
فراخوان های متوالی). این روش در زمینه جهانی توسط the اجرا می شود
مترجم

Ns امکانات دیگری برای تولید اعداد تصادفی دارد. لطفا برای جزئیات بیشتر به مستندات مراجعه کنید
[13].

هدف - شی هیرارشی


شرح مختصری از سلسله مراتب شی در ns در این بخش ارائه شده است. این
شرح کامل نیست برای به تصویر کشیدن چگونگی ارائه شده است
روش ها و پارامترهای پیکربندی مرتبط با اشیاء مختلف به ارث می رسند.
برای اطلاعات کامل تر به "یادداشت ها و مستندات ns" و به صورت خودکار مراجعه کنید
اطلاعات کتابخانه کلاس را در صفحه وب ns تولید کرد.

اشیاء با پارامترهای پیکربندی مرتبط هستند که می توانند به صورت پویا تنظیم شوند و
پرس و جو شد و متغیرهای حالتی که می توان پرس و جو کرد (معمولاً فقط زمانی اصلاح می شوند که حالت است
متغیرها باید برای اجرای شبیه سازی دیگری بازنشانی شوند).

پارامترهای پیکربندی پارامترهای شبیه سازی را نشان می دهند که معمولاً در طول دوره ثابت می شوند
کل شبیه سازی (مانند پهنای باند پیوند)، اما در صورت تمایل می توان آن را به صورت پویا تغییر داد.
متغیرهای حالت، مقادیری را نشان می دهند که مختص یک شی معین و آن شی هستند
پیاده سازی.

نمودار زیر بخشی از سلسله مراتب شی را نشان می دهد:
شبیه ساز
چند سیم کارت
گره
ارتباط دادن
لینک ساده
CBQLink
DummyLink
DelayLink
صف
DropTtail
FQ
SFQ
DRR
RED
CBQ
CBQ/WRR
صف مانیتور
ED
فلومون
جریان
rtObject
RouteLogic
عامل
rtProto
ایستا
جلسه
DV
مستقیم
تهی
LossMonitor
TCP
FullTcp
رنو
نیورنو
ساک 1
فک کردن
TCPSink
دلاک
ساک 1
دلاک
UDP
RTP
RTCP
IVS
منبع
گیرنده
SRM
جلسه
RTP [این تفاوت با Agent/CBR/RTP چگونه است]
کاربرد
FTP
Telnet
ترافیک
نمایشگاه
پارتو
پسوند CB
پی گیری
مجتمع
نمونه ها

برای یک سلسله مراتب کامل، تولید شده به طور خودکار، به پیوند "سلسله مراتب کلاس" مراجعه کنید.
(که اشاره به http://www-sop.inria.fr/rodeo/personnel/Antoine.Clerget/ns/) روی ns
صفحات وب. (با تشکر از Antoine Clerget برای حفظ این موضوع!)

به عنوان مثال، هر روشی که توسط a پشتیبانی می شود TCP عامل نیز توسط a رنو یا یک
ساک 1 عامل. پارامترهای پیکربندی پیش فرض نیز به ارث برده می شوند. مثلا، $tcp تنظیم
پنجره_ 20 جایی که $tcp یک عامل TCP است، اندازه پنجره TCP پیش فرض را برای هر دو تعریف می کند TCP و
رنو اشیاء.

هدف - شی مواد و روش ها


بخش‌های زیر روش‌ها، پارامترهای پیکربندی و متغیرهای حالت را مستند می‌کنند
مرتبط با اشیاء مختلف و همچنین آنهایی که پویایی شبکه، Unicast را فعال می کنند
مسیریابی، مسیریابی Multicast و پشتیبانی از Trace and Monitoring. کلاس شی است
به طور ضمنی توسط نام متغیر شی در توضیحات مشخص شده است. مثلا، $tcp
شامل کلاس شی tcp و تمام کلاس های فرزند آن است.

نود اشیاء


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.]

$node id
شناسه گره را برمی گرداند.

$node همسایه ها
فهرستی از اشیاء گره همسایه را برمی گرداند.

$node ضمیمه کردن عامل
یک عامل از نوع ضمیمه کنید عامل به این گره

$node جدا کردن عامل
یک عامل از نوع را جدا کنید عامل از این گره

$node عامل بندر
یک دسته را به عامل متصل به پورت برگردانید بندر روی این گره خالی را برمی گرداند
اگر از پورت استفاده نمی شود رشته کنید.

$node تنظیم مجدد
همه عوامل متصل به این گره را بازنشانی کنید. این امر دولت را دوباره آغاز می کند
متغیرهای مرتبط با عوامل مختلف در این گره.

$node rtObject؟
اگر نمونه ای از شی در آن وجود داشته باشد، یک دسته را به rtObject برمی گرداند
گره فقط گره هایی که در یک پروتکل مسیریابی unicast پویا شرکت می کنند، این امکان را خواهند داشت
این شی (به بخش روش های مسیریابی UNICAST و RTOBJECT OBJECTS مراجعه کنید).

$node پیوستن به گروه عامل گروه
عامل مشخص شده توسط دسته شی را اضافه کنید عامل به گروه میزبان چندپخشی
با آدرس مشخص شد گروه. این باعث می شود که پروتکل عضویت در گروه
ترتیبی دهید که ترافیک چندپخشی مناسب به این عامل برسد. گروه چندپخشی
آدرس باید در محدوده 0x8000 - 0xFFFF باشد.

$node allocaddr
آدرس گروه چندپخشی را به ترتیب صعودی در هر فراخوانی که از شروع می شود، برمی گرداند
0x8000 و به 0xFFFF ختم می شود.

$node شکل دادن به شکل دادن به
شکل گره را روی " تنظیم کنیدشکل دادن بههنگامی که قبل از شروع شبیه ساز فراخوانی می شود
اجرا شود، شکل پیش فرض گره را در فایل nam trace تغییر می دهد. پیشفرض
شکل یک گره """دایره""" است

$node رنگ رنگ
رنگ گره را روی رنگ. می توان آن را در هر زمان برای تغییر جریان فراخوانی کرد
رنگ گره در فایل ردیابی nam، در صورت وجود.

$node دریافت ویژگی نام
ویژگی مشخص شده را دریافت کنید نام از گره در حال حاضر یک شی Node دارای دو است
ویژگی های: COLOR و شکل. توجه: این حروف باید بزرگ باشند.

$node علامت اضافه کردن نام رنگ شکل دادن به
یک علامت (در فایل ردیابی nam) با رنگ و شکل دادن به اطراف گره شکل می تواند
"""دایره"""، """شش ضلعی""" و """مربع""" (حساس به حروف کوچک و بزرگ) باشد. علامت اضافه شده
توسط شناسایی خواهد شد نام.

$node حذف علامت نام
حذف علامت با نام در گره داده شده

هیچ متغیر حالت یا پارامترهای پیکربندی خاص برای کلاس گره وجود ندارد.

ارتباط دادن اشیاء


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.]

$ لینک ردیابی دینامیک ns شناسه فایل
دینامیک این لینک را دنبال کنید و خروجی را در آن بنویسید شناسه فایل دسته پرونده ns is
نمونه ای از شی شبیه ساز یا MultiSim که برای فراخوانی ایجاد شده است
شبیه سازی (برای فرمت ردیابی خروجی به بخش ردیابی و روش های نظارت مراجعه کنید).

$ لینک ردیابی پاسخ به تماس ns CMD
ردیابی تمام بسته های موجود در پیوند با پاسخ تماس CMD. برای هر ردیابی Cmd فراخوانی می شود
رویداد (enqueue, dequeue, drop) با متنی که به عنوان پارامتر ثبت می شود.
(برای این اطلاعات به توضیحات فایل log مراجعه کنید.) نمایشی از ردیابی
callbacks در برنامه tcl/ex/callback_demo.tcl در توزیع است.

$ لینک رنگ رنگ
رنگ شی Link را تنظیم کنید. می توان آن را در هر زمان برای تغییر جریان فراخوانی کرد
رنگ پیوند در فایل ردیابی nam، در صورت وجود.

$ لینک دریافت ویژگی نام
ویژگی مشخص شده را دریافت کنید نام از لینک در حال حاضر یک شی پیوند دارای سه است
ویژگی های: COLOR, گرایشو QUEUE_POS.

در حال حاضر دو تابع زیر نباید مستقیماً فراخوانی شوند. استفاده کنید $ns پیوند دوبلکس-
op بجای. به بخش مربوطه در این صفحه مرد مراجعه کنید.

$ لینک مشرق زمین اوری
جهت پیوند را به اوری. هنگامی که قبل از شروع شبیه ساز فراخوانی می شود
را اجرا کنید، در صورت وجود، جهت گیری پیش فرض پیوند در فایل ردیابی nam را تغییر می دهد
یکی اگر جهت‌گیری برای هر پیوند(ها) مشخص نشده باشد، nam از طرح‌بندی خودکار استفاده می‌کند.
جهت گیری پیش فرض یک شی Link مشخص نشده است.

$ لینک queuePos پست
موقعیت صف پیوند را به پست. هنگامی که قبل از شروع شبیه ساز فراخوانی می شود
برای اجرا، قرارگیری صف پیش فرض پیوند سیمپلکس را در nam trace تغییر می دهد
فایل، در صورت وجود. پست زاویه بین خط افقی و خط را مشخص می کند
خطی که در امتداد آن بسته های صف نمایش داده می شود.

SIMPLELINK اشیاء


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.]

$ لینک هزینه هزینه- ارزش
ساخت هزینه- ارزش هزینه این لینک

$ لینک هزینه؟
هزینه این لینک را برگردانید.

آیا پارامترهای پیکربندی یا متغیرهای حالت وجود دارد؟

DELAYLINK اشیاء


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.]
اشیاء DelayLink مقدار زمان لازم برای عبور یک بسته از یک پیوند را تعیین می کنند.
این به صورت اندازه/bw + تاخیر تعریف می‌شود که در آن اندازه اندازه بسته است، bw پیوند است
پهنای باند و تاخیر تاخیر انتشار لینک است. هیچ روش یا حالتی وجود ندارد
متغیرهای مرتبط با این شی

پیکر بندی پارامترهای

پهنای باند_
پهنای باند پیوند به بیت در ثانیه

تاخیر_ تأخیر انتشار پیوند در چند ثانیه

هیچ متغیر حالت مرتبط با این شی وجود ندارد.

شبکه پویایی شناسی مواد و روش ها


این بخش روش هایی را برای بالا و پایین کردن پیوندها و گره ها در توپولوژی توضیح می دهد
با توجه به توزیع های مختلف به طور کلی باید از یک پروتکل مسیریابی پویا استفاده شود
هر زمان که قرار است شبیه سازی با دینامیک شبکه انجام شود. توجه داشته باشید که یک توپولوژی ایستا
مدل پیش فرض در ns است.

$ns rtmodel مدل مدل-پارام ها گره 1 [node2]
پیوند بین گره 1 و گره 2 تغییر بین حالت های بالا و پایین بر اساس
به مدل مدل. فقط در صورت گره 1 مشخص شده است تمام لینک های حادثه در
گره مطابق با مشخص شده بالا و پایین می آید مدل. مدل-پارام ها
شامل پارامترهای مورد نیاز برای مدل مربوطه است و باید به صورت a مشخص شود
لیست یعنی پارامترها باید در براکت های فرفری محصور شوند. مدل می تواند یکی از
قطعی، نمایی، کتابچه راهنمای، پی گیری. یک دسته را به یک شی مدل برمی گرداند
مطابق با مشخص شده مدل.

در مدل قطعی مدل-پارام ها is [زمان شروع] فاصله زمانی بالا بازه پایین
[زمان خاتمه]. شروع از زمان شروع لینک ساخته شده است فاصله زمانی بالا و
پایین برای بازه پایین به زمان خاتمه رسیده است. مقادیر پیش فرض برای شروع
زمان، فاصله بالا، بازه پایین به ترتیب 0.5 ثانیه، 2.0 ثانیه، 1.0 ثانیه است. زمان خاتمه
به طور پیش فرض در پایان شبیه سازی قرار می گیرد. زمان شروع به‌طور پیش‌فرض روی 0.5 ثانیه تنظیم می‌شود
اجازه دهید محاسبات پروتکل مسیریابی ساکن شود.

اگر از مدل نمایی استفاده شود مدل-پارام ها از فرم است فاصله زمانی بالا پایین-
فاصله که در آن زمان بالا رفتن پیوند یک توزیع نمایی حول میانگین است بالا-
فاصله و زمان خرابی پیوند یک توزیع نمایی حول میانگین است
بازه پایین مقادیر پیش فرض برای فاصله زمانی بالا و بازه پایین 10 و 1 هستند
بود.

اگر از توزیع دستی استفاده شود مدل-پارام ها is at op جایی که at را مشخص می کند
زمانی که عملیات op باید رخ دهد op یکی از بالا ، پایین. دستی
توزیع را می توان به طور متناوب با استفاده از rtmodel-at روش شرح داده شده است
بعد در بخش

اگر Trace به عنوان مشخص شده باشد مدل دینامیک پیوند/گره از یک Tracefile خوانده می شود.
La مدل-پارام ها آرگومان در این مورد، دسته فایل Tracefile است
که دارای اطلاعات دینامیک است. فرمت فایل ردیابی با ردیابی یکسان است
خروجی تولید شده توسط روش پیوند ردیابی دینامیک (به ردیابی و نظارت مراجعه کنید
بخش روش ها).

$ns rtmodel-delete مدل-دسته
نمونه مدل مسیر مشخص شده توسط را حذف کنید مدل-دسته.

$ns rtmodel-at at op گره 1 [node2]
برای تعیین زمان های بالا و پایین پیوند بین گره ها استفاده می شود گره 1 و گره 2.
اگر فقط گره 1 تمام پیوندهای حادثه در داده شده است گره 1 بالا و پایین آورده خواهد شد.
at زمانی است که عملیات انجام می شود op که می تواند هر دو باشد up or پایین قرار است بشود
در پیوند(های) مشخص شده انجام می شود.

باشه اشیاء


شیء صف یک کلاس کلی از شیء است که قادر به نگه داشتن و احتمالاً علامت گذاری یا است
دور انداختن بسته ها در حین حرکت در توپولوژی شبیه سازی شده.

پیکر بندی پارامترهای

محدود کردن_ اندازه صف در بسته ها

مسدود شده_
به صورت پیش‌فرض روی false تنظیم کنید، اگر صف مسدود شده باشد (نمی‌شود
یک بسته به همسایه پایین دست خود بفرستد).

unblock_on_resume_
به طور پیش فرض روی true تنظیم شده است، نشان می دهد که یک صف باید خود را در آن زمان رفع انسداد کند
آخرین بسته بسته ارسال شده ارسال شده است (اما نه لزوما
اخذ شده).

قطره-دم اشیاء


اشیاء Drop-tail یک زیر کلاس از اشیاء Queue هستند که صف ساده FIFO را پیاده سازی می کنند. آنجا
هیچ روشی وجود ندارد که مختص اشیاء drop-tail باشد. تنها پارامتر پیکربندی
is جلوی_، که وقتی روی true تنظیم می شود باعث می شود که صف به صورت افت از جلو رفتار کند
نظم صف این متغیر به طور پیش فرض روی false تنظیم شده است.

FQ اشیاء


اشیاء FQ یک زیر کلاس از اشیاء Queue هستند که صف بندی منصفانه را پیاده سازی می کنند. وجود ندارد
روش هایی که مختص اشیاء FQ هستند.

پیکر بندی پارامترهای

secsPerByte_

هیچ متغیر حالت مرتبط با این شی وجود ندارد.

SFQ اشیاء


اشیاء SFQ زیر کلاسی از اشیاء Queue هستند که صف بندی Stochastic Fair را پیاده سازی می کنند. آنجا
هیچ روشی نیست که مختص اشیاء SFQ باشد.

پیکر بندی پارامترهای

maxqueue_

سطل ها_

هیچ متغیر حالت مرتبط با این شی وجود ندارد.

DRR اشیاء


اشیاء DRR زیرمجموعه ای از اشیاء Queue هستند که زمانبندی کسری را پیاده سازی می کنند.
این اشیاء برنامه‌ریزی کسری را در میان جریان‌های مختلف اجرا می‌کنند (A
جریان خاص جریانی است که دارای بسته هایی با گره و بسته های شناسه پورت یا بسته های مشابه باشد
به تنهایی همان شناسه گره را داشته باشید). همچنین بر خلاف دیگر اشیاء چند صف، این شی صف
یک فضای بافر مشترک واحد را برای جریان های مختلف خود پیاده سازی می کند.

پیکر بندی پارامترهای

سطل ها_
تعداد کل سطل هایی که برای هش کردن هر یک از آنها استفاده می شود را نشان می دهد
جریان می یابد

محدود کردن_
اندازه بافر مشترک را بر حسب بایت نشان می دهد.

کوانتوم_
نشان می دهد (بر حسب بایت) هر جریان در طول نوبت خود چقدر می تواند ارسال کند.

ماسک_ mask_، وقتی روی 1 تنظیم شود، به این معنی است که یک جریان خاص از بسته ها تشکیل شده است
داشتن شناسه گره یکسان (و احتمالاً شناسه های پورت متفاوت)، در غیر این صورت یک جریان
شامل بسته هایی با شناسه گره و پورت یکسان است.

RED اشیاء


اشیاء RED زیرمجموعه ای از اشیاء Queue هستند که تشخیص زودهنگام تصادفی را اجرا می کنند
دروازه ها شی را می توان به گونه ای پیکربندی کرد که بسته ها را رها کند یا "علامت گذاری" کند. وجود ندارد
روش هایی که مخصوص اشیاء RED هستند.

پیکر بندی پارامترهای

بایت_ برای فعال کردن «حالت بایت» RED روی «درست» تنظیم کنید، جایی که اندازه ورود
بسته ها بر احتمال علامت گذاری (افتادن) بسته ها تأثیر می گذارند.

صف در بایت_
برای اندازه گیری میانگین اندازه صف در بایت به جای "درست" تنظیم کنید
بسته ها فعال کردن این گزینه نیز باعث می شود فرو رفتن_ و maxthresh_ به
به صورت خودکار توسط mean_pktsize_ (به زیر مراجعه کنید)

فرو رفتن_
حداقل آستانه برای اندازه متوسط ​​صف در بسته ها.

maxthresh_
حداکثر آستانه برای اندازه متوسط ​​صف در بسته ها.

mean_pktsize_
تخمین تقریبی از اندازه متوسط ​​بسته در بایت. مورد استفاده در به روز رسانی
محاسبه میانگین اندازه صف پس از یک دوره بیکاری.

q_وزن_
وزن صف، استفاده شده در میانگین متحرک وزنی نمایی برای
محاسبه متوسط ​​اندازه صف

صبر کنيد_ برای حفظ فاصله بین بسته های رها شده روی true تنظیم کنید.

خط خطی_
از آنجایی که میانگین اندازه صف بین "thresh_" و "maxthresh_" متفاوت است،
احتمال رها شدن بسته بین 0 و "1/linterm" متغیر است.

تنظیم بیت_
برای علامت‌گذاری بسته‌ها با تنظیم بیت نشان‌دهنده تراکم، روی «درست» تنظیم کنید
هدرهای بسته را به جای رها کردن بسته ها.

قطره دم_
برای استفاده از drop-tail به جای رها کردن تصادفی یا رها کردن از جلو، روی true تنظیم کنید
صف سرریز می شود یا اندازه متوسط ​​صف از "maxthresh_" بیشتر می شود. این هست
رفتار پیش فرض برای توضیح بیشتر این متغیرها ر.ک
[2].

رند رند_
برای استفاده از رها کردن تصادفی به جای رها کردن دم یا رها کردن از جلو، روی true تنظیم کنید
صف سرریز می شود یا اندازه متوسط ​​صف از "maxthresh_" بیشتر می شود.

جلوی_
برای استفاده از drop-from-front به جای drop-tail یا drop تصادفی، روی true تنظیم کنید
صف سرریز می شود یا اندازه متوسط ​​صف از "maxthresh_" بیشتر می شود.

ns1-compat_
برای جلوگیری از بازنشانی تعداد از آخرین افت بسته، پس از a، روی true تنظیم کنید
بسته اجباری حذف می شود. این باعث سازگاری با رفتار قبلی می شود
از قرمز. پیش فرض روی false تنظیم شده است.

entle_ روی true تنظیم کنید تا نرخ افت بسته به آرامی از max_p به 1 افزایش یابد.
میانگین اندازه صف از maxthresh تا دو برابر maxthresh متغیر است. پیش فرض است
روی false تنظیم کنید و max_p به طور ناگهانی از max_p به 1 افزایش می یابد که میانگین باشد
اندازه صف از maxthresh بیشتر است.

دولت متغیر
هیچ یک از متغیرهای حالت اجرای RED قابل دسترسی نیستند.

CBQ اشیاء


اشیاء CBQ یک زیر کلاس از اشیاء Queue هستند که صف بندی مبتنی بر کلاس را پیاده سازی می کنند.

cbq $ درج کلاس $
درج کلاس ترافیک کلاس به ساختار اشتراک لینک مرتبط با پیوند
هدف cbq.

cbq $ اتصال $cbqclass $id1 [$id2]
باعث ایجاد بسته های حاوی شناسه جریان می شود $id1 (یا آنهایی که در محدوده هستند $id1 به $id2
شامل) برای ارتباط با کلاس ترافیک $cbqclass.

cbq $ الگوریتم $alg
الگوریتم داخلی CBQ را انتخاب کنید. $alg ممکن است روی یکی از موارد زیر تنظیم شود: "فقط اجداد"،
"سطح بالا" یا "رسمی".

CBQ/WRR اشیاء


اشیاء CBQ/WRR زیرمجموعه‌ای از اشیاء CBQ هستند که دور رابین وزنی را پیاده‌سازی می‌کنند.
برنامه ریزی در بین کلاس های همان سطح اولویت. در مقابل، اشیاء CBQ پیاده سازی می کنند
برنامه ریزی بسته به بسته در میان کلاس های هم سطح اولویت.

پیکر بندی پارامترهای

maxpkt_
حداکثر اندازه یک بسته در بایت. این فقط توسط اشیاء CBQ/WRR استفاده می شود
در محاسبه حداکثر تخصیص پهنای باند برای دور روبین وزن دار
زمانبند

CBQCLASS اشیاء


اشیاء CBQClass کلاس های ترافیک مرتبط با اشیاء CBQ را پیاده سازی می کنند.

$cbqclass setparams پدر یا مادر قرض بگیر اختصاص دادن ماکسیدل پریو سطح تاخیر اضافی
چندین پارامتر پیکربندی را برای کلاس ترافیک CBQ تنظیم می کند (به زیر مراجعه کنید).

$cbqclass پدر یا مادر [$cbqcl|هیچ]
والد این کلاس را در درخت اشتراک لینک مشخص کنید. ممکن است پدر و مادر باشد
به عنوان "هیچ" مشخص می شود تا نشان دهد این کلاس یک ریشه است.

$cbqclass newallot $a
تخصیص پیوند این کلاس را به مقدار مشخص شده تغییر دهید (در محدوده 0.0 تا
1.0). توجه داشته باشید که فقط کلاس مشخص شده تحت تأثیر قرار می گیرد.

$cbqclass صف نصب $q
یک شی Queue را در ساختار پیوند ترکیبی CBQ یا CBQ/WRR نصب کنید. وقتی یک CBQ
شی در ابتدا ایجاد می شود، هیچ صف داخلی ندارد (فقط یک بسته
طبقه بندی کننده و زمان بندی).

پیکر بندی پارامترهای

okborrow_
یک بولی است که نشان می دهد کلاس مجاز است پهنای باند را از خود قرض بگیرد
والدین.

اختصاص_ حداکثر کسری از پهنای باند پیوند اختصاص داده شده به کلاس بیان شده است
به عنوان یک عدد واقعی بین 0.0 و 1.0.

maxidle_
حداکثر مدت زمانی است که ممکن است یک کلاس برای داشتن بسته های خود مورد نیاز باشد
قبل از اینکه مجاز به ارسال شوند در صف قرار می گیرند

اولویت_
سطح اولویت کلاس نسبت به کلاس های دیگر است. این مقدار ممکن است
از 0 تا 10 متغیر است و ممکن است بیش از یک کلاس با اولویت یکسان وجود داشته باشد.
اولویت 0 بالاترین اولویت است.

مرحله_ سطح این کلاس در درخت اشتراک لینک است. گره های برگ در درخت
در سطح 1 در نظر گرفته می شوند. والدین آنها در سطح 2 و غیره هستند.

تاخیر اضافی_
تاخیر تجربه شده توسط یک کلاس تاخیری را به تعداد مشخص افزایش دهید
ثانیه صورت گرفت.

QUEUEMONITOR اشیاء


QueueMonitor Objects برای نظارت بر مجموعه ای از بسته ها و بایت های رسیدن، خروج و
قطره شمار همچنین شامل پشتیبانی از آمارهای کل مانند صف متوسط ​​است
اندازه و غیره [به روش‌های ردیابی و نظارت مراجعه کنید].

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

$queuemonitor مجموعه-تاخیر-نمونه ها تاخیر سمپ_
شی Samples را تنظیم کنید تاخیر سمپ_ برای ثبت آمار در مورد تاخیر در صف.
تاخیر سمپ_ یک دسته برای یک شی Samples است یعنی شی Samples باید داشته باشد
قبلا ایجاد شده است.

$queuemonitor get-bytes-integrator
یک شی انتگرال را برمی گرداند که می توان از آن برای یافتن انتگرال صف استفاده کرد
اندازه در بایت (به بخش Integrator Objects مراجعه کنید).

$queuemonitor get-pkts-integrator
یک شی انتگرال را برمی گرداند که می توان از آن برای یافتن انتگرال صف استفاده کرد
اندازه در بسته ها (به بخش Integrator Objects مراجعه کنید).

$queuemonitor دریافت-تاخیر-نمونه ها
یک شی Samples را برمی‌گرداند تاخیر سمپ_ برای ثبت آمار در مورد تاخیرهای صف (نگاه کنید به
بخش نمونه اشیاء).

هیچ پارامتر پیکربندی خاصی برای این شی وجود ندارد.

دولت متغیر

اندازه_ اندازه صف آنی بر حسب بایت.

pkts_ اندازه صف آنی در بسته ها.

والدین_
اجرای مجموع بسته هایی که وارد شده اند.

موانع_
اجرای مجموع بایت های موجود در بسته هایی که وارد شده اند.

خروجی ها_
در حال اجرا مجموع بسته هایی که خارج شده اند (افتاده نشده اند).

برفتن ها_
در حال اجرا مجموع بایت های موجود در بسته هایی که خارج شده اند (نه
کاهش یافته است).

pdrops_
تعداد کل بسته ها کاهش یافته است.

bdrops_
تعداد کل بایت ها کاهش یافته است.

bytesInt_
شی یکپارچه کننده که انتگرال اندازه صف را بر حسب بایت محاسبه می کند.
La مجموع_ متغیر این شی دارای مجموع در حال اجرا (انتگرال) صف است
اندازه در بایت

pktsInt_
شی یکپارچه کننده که انتگرال اندازه صف را در بسته ها محاسبه می کند.
La مجموع_ متغیر این شی دارای مجموع در حال اجرا (انتگرال) صف است
اندازه در بسته ها

QUEUEMONITOR/ED اشیاء


این شی مشتق شده قادر است افت های بسته معمولی را از هم متمایز کند در اوایل قطره
برخی از صف‌ها، قطره‌های معمولی (مثلاً افت‌های ناشی از تخلیه بافر) را از سایر صف‌ها متمایز می‌کنند
قطره (به عنوان مثال افت تصادفی در صف های قرمز). تحت برخی شرایط، مفید است
این دو نوع قطره را تشخیص دهید.

دولت متغیر

epdrops_
تعداد بسته هایی که "اوایل" حذف شده اند.

قطرات اب_
تعداد بایت‌هایی که شامل بسته‌هایی است که "اول" حذف شده‌اند.

توجه داشته باشید: از آنجا که این کلاس یک زیر کلاس از QueueMonitor است، اشیاء از این نوع نیز دارند
زمینه هایی مانند pdrops_ و bdrops_. این فیلدها را توصیف می کنند جمع تعداد حذف شده
بسته ها و بایت ها، شامل افت های اولیه و غیر اولیه.

QUEUEMONITOR/ED/FLOWMON اشیاء


در صورت تمایل می توان از این اشیاء در جای یک شیء QueueMonitor معمولی استفاده کرد
برای جمع آوری شمارش هر جریان و آمار علاوه بر تعداد کل و
آمار ارائه شده توسط QueueMonitor پایه.

$fmon طبقه بندی [$cl]
طبقه بندی کننده مشخص شده را در (از) شی مانیتور جریان وارد کنید (خواندن) کنید. این
برای ترسیم بسته های ورودی به جریان هایی که با آنها مرتبط است استفاده می شود.

$fmon موادی که موقتا برای استعمال انبار میشود
شمارشگرها و آمارهای جریان به ازای هر جریان را به کانال ورودی/خروجی مشخص شده در a بریزید
عملیات پیوست قبلی

$fmon جریان دارد
یک رشته کاراکتر حاوی نام تمام اشیاء جریان شناخته شده با این را برگردانید
مانیتور جریان هر یک از این اشیاء از نوع QueueMonitor/ED/Flow هستند.

$fmon ضمیمه کردن $chan
یک کانال ورودی/خروجی tcl را به نمایشگر جریان وصل کنید. آمار جریان به نوشته شده است
کانال زمانی که عملیات dump اجرا می شود.

پیکر بندی پارامترهای

enable_in_
به طور پیش‌فرض روی true تنظیم شده است، نشان می‌دهد که وضعیت رسیدن هر جریان باید حفظ شود
توسط نمایشگر جریان اگر روی false تنظیم شود، فقط ورود کل
اطلاعات نگهداری می شود.

enable_out_
به طور پیش فرض روی true تنظیم شده است، نشان می دهد که وضعیت خروج هر جریان باید باشد
توسط نمایشگر جریان نگهداری می شود. اگر روی false تنظیم شود، فقط خروج کل
اطلاعات نگهداری می شود.

enable_drop_
به طور پیش‌فرض روی true تنظیم شده است، نشان می‌دهد که وضعیت افت هر جریان باید توسط آن حفظ شود
نمایشگر جریان اگر روی false تنظیم شود، فقط اطلاعات ریزش کل است
نگهداری می شود

enable_edrop_
به طور پیش‌فرض روی true تنظیم شده است، نشان می‌دهد که وضعیت افت اولیه هر جریان باید باشد
توسط نمایشگر جریان نگهداری می شود. اگر روی false تنظیم شود، فقط جمع اولیه کاهش می یابد
اطلاعات نگهداری می شود.

QUEUEMONITOR/ED/FLOW اشیاء


این اشیاء شامل تعداد هر جریان و آماری هستند که توسط QUEUEMONITOR/ED/FLOWMON مدیریت می‌شوند
هدف - شی. آنها به طور کلی در یک روش OTcl برگشت به تماس ایجاد می شوند زمانی که یک مانیتور جریان است
با توجه به بسته ای که نمی تواند روی یک جریان شناخته شده نقشه برداری کند. توجه داشته باشید که طبقه بندی کننده جریان مانیتور
مسئول نگاشت بسته ها به جریان ها به روشی دلخواه است. بنابراین، بسته به
نوع طبقه‌بندی‌کننده مورد استفاده، همه متغیرهای حالت ممکن است مرتبط نباشند (مثلاً یکی ممکن است
بسته ها را فقط بر اساس شناسه جریان طبقه بندی کنید، در این صورت آدرس های مبدا و مقصد
ممکن است قابل توجه نباشد).

دولت متغیر

src_ آدرس منبع بسته های متعلق به این جریان.

dst_ آدرس مقصد بسته های متعلق به این جریان.

جریان_
شناسه جریان بسته های متعلق به این جریان.

UNICAST راه رفتن مواد و روش ها


یک پروتکل مسیریابی unicast پویا را می توان برای اجرا بر روی زیر مجموعه ای از گره ها مشخص کرد
توپولوژی توجه داشته باشید که یک پروتکل مسیریابی پویا باید به طور کلی هر زمان که a
شبیه سازی با دینامیک شبکه انجام می شود.

$ns rtproto proto- لیست گره
پروتکل مسیریابی unicast پویا را مشخص می کند proto- روی گره ها اجرا شود
مشخص شده توسط لیست گره در حال حاضر proto- می تواند یکی از Static، Session، DV باشد. استاتیک
مسیریابی پیش فرض است. Session به این معنی است که مسیرهای unicast در کل حرکت می کند
هر زمان که یک لینک بالا یا پایین می رود توپولوژی فوراً مجدداً محاسبه می شود. DV
به این معنی است که یک پروتکل مسیریابی بردار فاصله ساده شبیه سازی می شود. گره-
فهرست به طور پیش فرض برای تمام گره های توپولوژی است.

$ns محاسبه مسیرها
محاسبه مسیرهای بین تمام گره ها در توپولوژی. این می تواند در صورت استاتیک استفاده شود
مسیریابی انجام می شود و مسیرها باید دوباره مانند وضعیت یک پیوند محاسبه شوند
تغییر کرد. توجه داشته باشید که مسیریابی جلسه (نگاه کنید به rtproto روش بالا) دوباره محاسبه خواهد شد
هر زمان که وضعیت هر پیوندی در توپولوژی تغییر کند، به طور خودکار مسیر می کند.

$ns مسیریابی
یک دسته را به یک شی RouteLogic برمی‌گرداند که دارای روش‌هایی برای جستجوی جدول مسیر است
و غیره.

ROUTELOGIC اشیاء


$routelogic مراجعه srcid مقصود
شناسه گره را برمی‌گرداند که پرش بعدی از گره با id است srcid به
گره با شناسه مقصود

$routelogic موادی که موقتا برای استعمال انبار میشود گره
جداول مسیریابی تمام گره هایی که شناسه آنها کمتر از آن است را تخلیه کنید گره شناسه گره ها هستند
معمولاً به گره ها به صورت صعودی که از 0 شروع می شود به ترتیب آنها اختصاص داده می شود
ایجاد.

RTOBJECT اشیاء


هر گره ای که در یک پروتکل مسیریابی unicast پویا شرکت می کند یک نمونه از آن را خواهد داشت
rtObject (به بخش NODE OBJECTS مراجعه کنید تا روشی برای بدست آوردن دسته برای این شی در یک
گره خاص). توجه داشته باشید که گره ها در صورت Session نمونه ای از این شی را نخواهند داشت
مسیریابی انجام می شود زیرا یک پروتکل مسیریابی دقیق در این مورد شبیه سازی نشده است.

$rtobject مسیرهای تخلیه شناسه فایل
جدول مسیریابی را به کانال خروجی مشخص شده توسط شناسه فایل شناسه فایل باید یک
دسته فایل بازگردانده شده توسط Tcl باز کن فرمان و باید برای باز شده باشد
نوشته.

$rtobject rtProto؟ proto-
یک دسته را به عامل پروتکل مسیریابی مشخص شده توسط proto- اگر در آن وجود داشته باشد
آن گره در غیر این صورت یک رشته خالی را برمی گرداند.

$rtobject بعدی هاپ؟ مقصد ID
شناسه گرهی را که پرش بعدی است به مقصد مشخص شده برمی‌گرداند
شناسه گره، مقصد ID

$rtobject rtpref مقصد ID

$rtobject متریک؟ مقصد ID

MULTICAST راه رفتن مواد و روش ها


مسیریابی چندپخشی با تنظیم متغیر Simulator EnableMcast_ روی 1 در قسمت فعال می شود
شروع شبیه سازی توجه داشته باشید که این متغیر باید قبل از هر گره، پیوند یا تنظیم شود
اشیاء عامل در شبیه سازی ایجاد می شوند. همچنین پیوندها باید با ایجاد شده باشند
برچسب های رابط (به روش های پیوند سیمپلکس و پیوند دوطرفه در بخش NS COMMANDS مراجعه کنید).

$ns mrtproto proto- لیست گره
پروتکل مسیریابی چندپخشی را مشخص می کند proto- برای اجرا بر روی گره های مشخص شده توسط
لیست گره در حال حاضر proto- می تواند یکی از CtrMcast، DM، detailsDM، dynamicDM،
pimDM. لیست گره به طور پیش فرض برای تمام گره های توپولوژی. یک دسته را به
یک شی خاص پروتکل که دارای متدها، پارامترهای پیکربندی خاص است
آن پروتکل توجه داشته باشید که در حال حاضر شی CtrMcastComp اگر CtrMcast باشد برگردانده می شود
استفاده می شود اما اگر از DM، detailsDM، dynamicDM یا pimDM استفاده شود، یک رشته تهی برگردانده می شود.

اگر پروتو "CtrMcast" باشد، یک درخت مشترک ریشه دار از نقطه قرار ملاقات (RP) برای
گروه چندپخشی ارسال واقعی هرس، پیام های پیوستن و غیره برای راه اندازی وضعیت
در گره ها شبیه سازی نشده است. یک عامل محاسباتی متمرکز برای محاسبه استفاده می شود
درختان پیشروی و راه اندازی حالت ارسال چندپخشی، (*,G) در مربوطه
گره ها به عنوان گیرنده های جدید به یک گروه می پیوندند. بسته های داده از فرستنده به یک گروه هستند
unicast به RP. روش‌ها در شی CtrMcastComp ارائه شده‌اند (نگاه کنید به
بخش CTRMCASTCOMP OBJECTS) که توسط mrtproto برای تغییر به منبع بازگردانده می شود.
درختان خاص، برخی از گره ها را به عنوان RP های کاندید انتخاب کنید و غیره. هنگامی که یک گره/پیوند روی یک
درخت توزیع چندپخشی پایین می‌رود، درخت بلافاصله دوباره محاسبه می‌شود.

اگر پروتو "DM" باشد، حالت متراکم DVMRP مانند شبیه سازی می شود. از لیست های والدین-فرزند استفاده می شود
برای کاهش تعداد پیوندهایی که بسته های داده از طریق آنها پخش می شوند. هرس کنید
پیام ها توسط گره ها برای حذف شاخه ها از درخت ارسال چندپخشی ارسال می شوند
که منجر به هیچ عضوی از گروه نمی شود. مقدار زمان پایان هرس به طور پیش فرض 0.5 ثانیه است
(برای تغییر پیش فرض به بخش DM OBJECTS مراجعه کنید). این با شبکه سازگار نیست
تغییر می کند. همچنین در حال حاضر هیچ پشتیبانی برای عملکرد مناسب در توپولوژی ها وجود ندارد
با شبکه های LAN

اگر پروتکل "detailedDM" باشد، یک پروتکل حالت متراکم مبتنی بر پروتکل مستقل است
Multicast - حالت متراکم (PIM-DM) شبیه سازی شده است. این در حال حاضر کامل ترین است
نسخه پروتکل حالت متراکم در شبیه ساز و برای استفاده بیش از حد توصیه می شود
سایر پروتکل های حالت متراکم با پویایی و عملکرد شبکه سازگار است
به درستی در توپولوژی های با شبکه های محلی (که در آن شبکه های محلی با استفاده از چند پیوند ایجاد می شوند.
روش رابط - به دستورات NS مراجعه کنید). در صورت وجود پتانسیل های متعدد
برای یک LAN، گره با بالاترین شناسه به عنوان فورواردکننده انتخاب می شود (این
از طریق مکانیسم Assert انجام می شود). مقادیر پیش‌فرض برای زمان پایان هرس،
مهلت زمانی حذف رابط (مورد استفاده برای شبکه های LAN) و مهلت زمانی ارسال مجدد پیوند هستند
به ترتیب 0.5s، 0.1s و 0.05s. (به Prune/Iface/Timer، Deletion/Iface/Timer مراجعه کنید
و اشیاء GraftRtx/Timer به ترتیب برای تغییر مقادیر پیش فرض و موارد بیشتر
اطلاعات مربوط به تایمرها).

اگر پروتکل پروتکل حالت متراکم DVMRP مانند 'DynamicDM' باشد که با شبکه سازگار می شود
تغییرات شبیه سازی شده است. اطلاعات «معکوس سم» (یعنی اطلاعاتی که الف
گره همسایه خاص از این گره برای رسیدن به یک شبکه خاص استفاده می کند) خوانده می شود
از جداول مسیریابی گره های همسایه به منظور انطباق با پویایی شبکه
(DVMRP پروتکل مسیریابی unicast خود را اجرا می کند که این اطلاعات را مبادله می کند). در
پیاده سازی فعلی از عملکرد مناسب در توپولوژی ها با شبکه های محلی پشتیبانی نمی کند.
مقدار زمان پایان هرس به طور پیش‌فرض 0.5 ثانیه است (برای تغییر به بخش DM OBJECTS مراجعه کنید
پیش فرض)

اگر پروتکل "pimDM" پروتکل مستقل چندپخشی باشد - حالت متراکم شبیه سازی می شود. که در
در این مورد بسته های داده از طریق تمام لینک های خروجی به جز
لینک ورودی پیام‌های Prune توسط گره‌ها برای حذف شاخه‌های آن ارسال می‌شوند
درخت ارسال چندپخشی که به هیچ عضوی از گروه منتهی نمی شود. جاری
پیاده سازی با پویایی شبکه سازگار نیست و به درستی پشتیبانی نمی کند
عملکرد در توپولوژی ها با شبکه های محلی. مقدار زمان پایان هرس به طور پیش فرض 0.5 ثانیه است
(برای تغییر پیش فرض به بخش DM OBJECTS مراجعه کنید).

CTRMCASTCOMP اشیاء


هنگامی که پروتکل به صورت مشخص شده باشد، یک دسته به شی CtrMcastComp برگردانده می شود
'CtrMcast' در mrtproto.

$ctrmcastcomp تغییر درخت group-addr
از درخت مشترک ریشه‌دار Rendezvous Point به درخت‌های منبع خاص برای
گروه مشخص شده توسط group-addr. توجه داشته باشید که نمی توان از این روش برای سوئیچ استفاده کرد
از درخت های منبع خاص به یک درخت مشترک برای یک گروه چندپخشی باز می گردد.

$ctrmcastcomp set_c_rp لیست گره
تمام گره های مشخص شده در لیست گره به عنوان RP های نامزد و تغییر وضعیت
تمام گره های دیگر RP های کاندید نباشند. توجه داشته باشید که همه گره ها RP های کاندید هستند
به صورت پیش فرض. در حال حاضر گره با بالاترین شناسه گره به عنوان RP برای همه عمل می کند
گروه های چندپخشی این روش باید قبل از شروع ارسال هر منبعی فراخوانی شود
بسته ها به گروه یا هر گیرنده ای به گروه می پیوندد.

$ctrmcastcomp get_rp گره گروه
RP را برای گروه همانطور که توسط گره مشاهده می شود برمی گرداند گره برای گروه چندپخشی با
نشانی group-addr. توجه داشته باشید که گره های مختلف ممکن است RP های متفاوتی را برای گروه ببینند
اگر شبکه پارتیشن بندی شده باشد زیرا گره ها ممکن است در پارتیشن های مختلف باشند.

DM اشیاء


DM Objects چندپخشی متراکم سبک DVMRP را پیاده سازی می کند که در آن از لیست های والد-فرزند استفاده می شود.
تعداد پیوندهایی که بسته های داده اولیه از طریق آنها پخش می شوند را کاهش دهید. وجود ندارد
متدها یا متغیرهای حالت مخصوص این شی.

پیکر بندی پارامترهای

PruneTimeout

مقدار زمان برای حالت هرس در گره ها.

هرس / IFACE / تایمر اشیاء


اشیاء Prune/Iface/Timer برای پیاده سازی تایمر prune برای جزئیات DM استفاده می شود. آنجا
هیچ متد یا متغیر حالتی مخصوص این شی نیست.

پیکر بندی پارامترهای

فاصله

مقدار زمان برای حالت هرس در گره ها.

حذف / IFACE / تایمر اشیاء


اشیاء Deletion/Iface/Timer برای پیاده سازی تایمر حذف رابط استفاده می شود
برای عملکرد صحیح در گره هایی که بخشی از شبکه های محلی هستند مورد نیاز است. اگر یک گره دارای LAN باشد
به عنوان رابط ورودی آن برای بسته ها از یک منبع خاص و هیچ گونه ای ندارد
اعضای پایین دستی، پیامی را به شبکه محلی ارسال می کند. هر گره ای که دارای LAN باشد
به عنوان رابط ورودی آن برای همان منبع و دارای اعضای پایین دستی در شنیدن آن است
هرس پیام ارسال شده در LAN. یک پیام پیوستن به شبکه محلی ارسال می کند. زمانی که گره که
به عنوان فوروارد کننده LAN عمل می کند که پیام هرس را از LAN می شنود، اما این کار را نمی کند
بلافاصله شبکه LAN را به عنوان رابط خروجی آن قطع کنید. در عوض یک رابط راه اندازی می کند
تایمر حذف برای رابط خروجی. انتقال دهنده LAN را به عنوان خود حذف می کند
رابط خروجی فقط در صورتی که هیچ پیامی را از LAN دریافت نکند
تایمر حذف منقضی می شود هیچ متد یا متغیر حالت خاصی برای این شی وجود ندارد.

پیکر بندی پارامترهای

فاصله

مقدار زمان برای تایمر حذف رابط.

GRAFTRTX/TIMER اشیاء


اشیاء GraftRtx/Timer برای پیاده سازی تایمر انتقال مجدد پیوند در گره ها استفاده می شود.
این برای اطمینان از قابلیت اطمینان پیوندهایی است که توسط یک گره در بالادست ارسال می شوند.

پیکر بندی پارامترهای

فاصله

مقدار وقفه برای تایمر انتقال مجدد پیوند.

عامل اشیاء


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.]

عامل $ بندر
پورت سطح حمل و نقل نماینده را برگردانید. پورت ها برای شناسایی عوامل استفاده می شوند
درون یک گره

عامل $ dst-addr
آدرس گره مقصدی که این عامل به آن متصل است را برگردانید.

عامل $ dst-port
پورت را در گره مقصدی که این عامل به آن متصل است برگردانید.

عامل $ منبع ضمیمه نوع
یک منبع داده از نوع نصب کنید نوع در این نماینده نوع یکی از FTP یا
ترکیده[???]. برای اطلاعات در مورد پیکربندی به روش های شی مربوطه مراجعه کنید
مولفه های. یک دسته را به شی منبع باز می گرداند.

عامل $ پیوست-ترافیک ترافیک - شی
ضمیمه کردن ترافیک - شی به این نماینده ترافیک - شی نمونه ای از Traffic/Expoo است،
ترافیک/پارتو یا ترافیک/ردیابی. Traffic/Expoo بر اساس یک ترافیک ایجاد می کند
توزیع روشن/خاموش نمایی. ترافیک/پارتو ترافیک بر اساس الف ایجاد می کند
توزیع روشن/خاموش پارتو. Traffic/Trace ترافیک را از یک فایل ردیابی ایجاد می کند.
پارامترهای پیکربندی مربوطه برای هر یک از اشیاء فوق را می توان در آن یافت
بخش روش های ترافیک

عامل $ اتصال افزونه بندر
این عامل را به عاملی که با آدرس مشخص شده است وصل کنید افزونه و بندر بندر. این
باعث می شود بسته های ارسال شده از این عامل حاوی آدرس و پورت باشند
نشان داده شده است، به طوری که چنین بسته هایی به عامل مورد نظر هدایت می شوند. دو عامل
باید سازگار باشد (به عنوان مثال، یک جفت tcp-source/tcp-sink در مقابل یک جفت cbr/tcp-sink
جفت). در غیر این صورت، نتایج شبیه سازی غیرقابل پیش بینی است.

پیکر بندی پارامترهای

dst_ آدرس مقصدی که نماینده به آن متصل است. در حال حاضر 32 بیت
با 24 بیت بالاتر شناسه گره مقصد و 8 بیت پایین تر
شماره پورت

هیچ متغیر حالتی خاص برای کلاس عامل عمومی وجود ندارد.

NULL اشیاء


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.] تهی
اشیاء زیرمجموعه ای از اشیاء عامل هستند که یک سینک ترافیک را پیاده سازی می کنند. آنها همه را به ارث می برند
از عملکرد شی عامل عمومی. هیچ روش، پارامترهای پیکربندی وجود ندارد
یا متغیرهای مخصوص این شی را بیان کنید.

LOSSMONITOR اشیاء


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.] LossMonitor
اشیاء زیرمجموعه ای از اشیاء عامل هستند که یک سینک ترافیک را پیاده سازی می کنند که آن را نیز حفظ می کند
برخی از آمار در مورد داده های دریافتی به عنوان مثال، تعداد بایت های دریافتی، تعداد بسته ها
گم شده و غیره. آنها تمام عملکرد شی عامل عمومی را به ارث می برند.

$lossmonitor واضح
شماره دنباله مورد انتظار را به -1 بازنشانی می کند.

پیکر بندی پارامترهای

هیچ پارامتر پیکربندی خاصی برای این شی وجود ندارد.

دولت متغیر

گمشده_ تعداد بسته های گم شده

npkts_ تعداد بسته های دریافتی

بایت_ تعداد بایت های دریافتی

lastPktTime_
زمانی که آخرین بسته در آن دریافت شد.

انتظار می رود_
شماره توالی مورد انتظار بسته بعدی.

TCP اشیاء


اشیاء TCP زیر کلاسی از اشیاء عامل هستند که انتقال BSD Tahoe TCP را پیاده سازی می کنند
پروتکل همانطور که در [7] توضیح داده شد. آنها تمام عملکرد عامل عمومی را به ارث می برند.

برای ردیابی پارامترهای TCP، هر پارامتر را با "$tcp trace window_" علامت گذاری کنید و سپس آن را ارسال کنید.
خروجی به فایل ردیابی با «$tcp attach [open trace.tr w]».

بخش های Tcp را می توان با دستورات advance و advanaceby ارسال کرد. وقتی همه داده ها ارسال شد،
متد done فراخوانی می شود (که می تواند در OTcl لغو شود).

$tcp پیشرفت n
ارسال تا بسته های n.

$tcp پیشروی n
n بسته بیشتر ارسال کنید.

$tcp انجام شده
زمانی که همه بسته ها (مشخص شده توسط advance/advanceby/maxpkts_) دارای
فرستاده شد. می توان بر اساس هر شیء نادیده گرفت.

پیکر بندی پارامترهای

پنجره_
کران بالای پنجره تبلیغ شده برای اتصال TCP (در
بسته ها).

maxcwnd_
کران بالای پنجره تراکم برای اتصال TCP. تنظیم کنید
صفر برای نادیده گرفتن (این پیش فرض است.) در بسته ها اندازه گیری می شود.

windowInit_
اندازه اولیه پنجره تراکم در شروع آهسته. (در بسته ها).

wnd_init_option_
الگوریتم مورد استفاده برای تعیین اندازه اولیه تراکم
پنجره برای الگوریتم ایستا با استفاده از مقدار in روی 1 تنظیم کنید windowInit_.
برای یک الگوریتم پویا با استفاده از تابعی از 2 تنظیم کنید packetSize_.

پسر_ برای مدل سازی مبادله SYN/ACK اولیه در TCP یک طرفه، روی true تنظیم کنید. تنظیم کنید
false به عنوان پیش فرض

تاخیر_رشد_
برای به تاخیر انداختن پنجره تراکم اولیه تا بعد از یک بسته، روی true تنظیم کنید
ارسال و تایید شده است. false را به عنوان پیش فرض تنظیم کنید.

گزینه window_
الگوریتم مورد استفاده برای مدیریت پنجره تراکم در فاز خطی.
الگوریتم استاندارد 1 است (پیش فرض). سایر الگوریتم های تجربی
در کد منبع مستند شده اند.

پنجره Thresh_
فیلتر میانگین گیری ثابت به نمایی که برای محاسبه استفاده می شود awnd (نگاه کنید به
زیر). برای بررسی الگوریتم های مختلف افزایش پنجره.

در بالای سر_
محدوده (بر حسب ثانیه) یک متغیر تصادفی یکنواخت که برای به تاخیر انداختن هر یک استفاده می شود
بسته خروجی ایده این است که تاخیرهای تصادفی را در منبع به ترتیب درج کنید
برای جلوگیری از اثرات فاز، در صورت تمایل [4]. این فقط اجرا شده است
برای نسخه تاهو ("tcp") tcp، نه برای tcp-reno. این نیست
در نظر گرفته شده است که یک مدل واقعی از سربار پردازش CPU باشد.

ecn_ برای استفاده از اعلان تراکم صریح علاوه بر بسته، روی true تنظیم کنید
کاهش می یابد تا ازدحام سیگنال را نشان دهد. این امکان ارسال مجدد سریع پس از quench() را فراهم می کند.
به دلیل یک بیت ECN (اعلان ازدحام صریح).

packetSize_
اندازه در بایت برای استفاده برای همه بسته های این منبع.

tcpip_base_hdr_size_
اندازه هدر TCP/IP پایه بر حسب بایت.

tcpTick_
دانه بندی ساعت TCP برای اندازه گیری زمان های رفت و برگشت. توجه داشته باشید که هست
به طور پیش فرض روی مقدار غیر استاندارد 100 میلی ثانیه تنظیم کنید. در ثانیه اندازه گیری شد.

رفع نقص_
هنگامی که چندین بار ارسال مجدد سریع مجاز است، برای حذف یک اشکال، روی true تنظیم کنید
بسته هایی که در یک پنجره داده رها می شوند.

حداکثر انفجار_
برای نادیده گرفتن، روی صفر تنظیم کنید. در غیر این صورت، حداکثر تعداد بسته هایی که
منبع می تواند در پاسخ به یک ACK ورودی ارسال کند.

slow_start_restart_
بولی؛ پس از بیکار شدن اتصال، روی 1 تنظیم کنید تا آهسته شروع شود. توسط
به طور پیش فرض

srtt_init_
مقدار اولیه برای تخمین زمان رفت و برگشت هموار. پیش فرض 0 است
ثانیه صورت گرفت.

t_rttvar_
مقدار اولیه برای واریانس در زمان رفت و برگشت. پیش فرض 3 ثانیه است.

rtxcur_init_
مقدار اولیه برای مقدار ارسال مجدد. پیش فرض 6 ثانیه است.

T_SRTT_BITS
نماگر وزن برای به روز رسانی زمان رفت و برگشت هموار t_srtt_.
پیش فرض 3 است، برای وزن 1/2^T_SRTT_BITS یا 1/8.

T_RTTVAR_BITS
نماگر وزن برای به روز رسانی واریانس در زمان رفت و برگشت، t_rttvar_.
پیش فرض 2 است، برای وزن 1/2^T_RTTVAR_BITS یا 1/4.

rttvar_exp_
نماي مضرب انحراف ميانگين در محاسبه جريان
مقدار t_rtxcur_ را دوباره ارسال کنید. پیش فرض 2 است، برای مضربی از 2^rttvar_exp_
یا 4.

تعریف شده است ثابت

انجام شد حداکثر اندازه پنجره در بسته ها برای اتصال TCP. MWS تعیین می کند
اندازه یک آرایه در tcp-sink.cc. پیش فرض برای MWS 1024 بسته است. برای
Tahoe TCP، پارامتر "پنجره"، نشان دهنده آگهی های گیرنده است
پنجره، باید کمتر از MWS-1 باشد. برای Reno TCP، پارامتر "window".
باید کمتر از (MWS-1)/2 باشد.

دولت متغیر

دو بسته_
تعداد اک‌های تکراری که از زمان تایید هرگونه داده جدید مشاهده شده است.

seqno_ بالاترین عدد دنباله برای داده از منبع داده تا TCP.

t_seqno_
شماره توالی انتقال فعلی

ACK_ بالاترین تصدیق مشاهده شده از گیرنده.

cwnd_ مقدار فعلی پنجره ازدحام (در بسته).

awnd_ مقدار فعلی یک نسخه فیلتر شده پایین گذر از پنجره تراکم. برای
بررسی الگوریتم های مختلف افزایش پنجره

ssthresh_
مقدار فعلی آستانه شروع آهسته (در بسته ها).

rtt_ تخمین زمان رفت و برگشت در ثانیه (بیان شده در مضرب tcpTick_).

srtt_ برآورد زمان رفت و برگشت هموار. در ثانیه (در مضرب tcpTick_/8).

rttvar_
برآورد میانگین انحراف زمان رفت و برگشت.

t_rtxcur_
مقدار انتقال مجدد فعلی در چند ثانیه

بکش کنار_
ثابت برگشت نمایی زمان رفت و برگشت.

TCP/RENO اشیاء


اشیاء TCP/Reno زیر کلاسی از اشیاء TCP هستند که انتقال TCP Reno را پیاده سازی می کنند
پروتکل همانطور که در [7] توضیح داده شد. هیچ روش، پارامتر پیکربندی یا حالتی وجود ندارد
متغیرهای مخصوص این شی

TCP/NEWRENO اشیاء


اشیاء TCP/Newreno زیر کلاسی از اشیاء TCP هستند که نسخه اصلاح شده ای از
پروتکل انتقال BSD Reno TCP.

هیچ متد یا متغیر حالت خاصی برای این شی وجود ندارد.

پیکر بندی پارامترهای

newreno_changes_
برای NewReno پیش فرض که در [7] توضیح داده شده است، روی صفر تنظیم کنید. برای 1 تنظیم کنید
الگوریتم های اضافی NewReno همانطور که در [10] پیشنهاد شده است. این شامل
تخمین پارامتر ssthresh در حین شروع آهسته

TCP/VEGAS اشیاء


این بخش از صفحه مرد هنوز نوشته نشده است.

TCP/SACK1 اشیاء


اشیاء TCP/Sack1 یک زیر کلاس از اشیاء TCP هستند که انتقال BSD Reno TCP را پیاده سازی می کنند.
پروتکل با پسوندهای تصدیق انتخابی همانطور که در [7] توضیح داده شد.

آنها تمام عملکرد شی TCP را به ارث می برند. هیچ روشی وجود ندارد، پیکربندی
پارامترها یا متغیرهای حالت مخصوص این شی.

TCP/FACK اشیاء


اشیاء TCP/Fack زیر کلاسی از اشیاء TCP هستند که انتقال BSD Reno TCP را پیاده سازی می کنند.
پروتکل با کنترل تراکم تصدیق پیشرو.

آنها تمام عملکرد شی TCP را به ارث می برند. هیچ متد یا متغیر حالتی وجود ندارد
مخصوص این شی

پیکر بندی پارامترهای

ss-div4
الگوریتم میرایی بیش از حد اگر تراکم باشد، ssthresh را بر 4 (به جای 2) تقسیم می کند
در 1/2 RTT شروع آهسته شناسایی شد. (1=فعال، 0=غیرفعال)

سطح شیب دار پایین
الگوریتم هموارسازی داده Rampdown. به آرامی پنجره تراکم را کاهش می دهد
از نصف کردن فوری آن (1=فعال، 0=غیرفعال)

TCP/FULLTCP اشیاء


این بخش هنوز به صفحه مرد اضافه نشده است. اجرا و
پارامترهای پیکربندی در [11] توضیح داده شده است.

TCPSINK اشیاء


اشیاء TCPSink یک زیر کلاس از اشیاء عامل هستند که یک گیرنده برای بسته های TCP پیاده سازی می کنند.
شبیه ساز فقط اتصالات TCP "یک طرفه" را پیاده سازی می کند، جایی که منبع TCP داده ها را ارسال می کند
بسته ها و سینک TCP بسته های ACK را ارسال می کند. اشیاء TCPSink تمام موارد عمومی را به ارث می برند
عملکرد عامل هیچ روش یا متغیر حالت خاصی برای TCPSink وجود ندارد
هدف - شی.

پیکر بندی پارامترهای

packetSize_
اندازه در بایت برای استفاده برای همه بسته های تایید.

maxSackBlocks_
حداکثر تعداد بلوک های داده ای که می توان در یک SACK تأیید کرد
گزینه. برای گیرنده‌ای که از گزینه تمبر زمان [RFC 1323] نیز استفاده می‌کند،
گزینه SACK مشخص شده در RFC 2018 فضایی برای شامل سه بلوک SACK دارد.
این فقط توسط زیر کلاس TCPSink/Sack1 استفاده می شود. این مقدار ممکن است نباشد
در هر شی TCPSink خاص پس از آن شیء افزایش یافته است
اختصاص داده شده است. (زمانی که یک شی TCPSink تخصیص داده شد، مقدار این مقدار است
پارامتر ممکن است کاهش یابد اما افزایش نمی یابد).

TCPSINK/DELACK اشیاء


اشیاء DelAck یک زیر کلاس از TCPSink هستند که یک گیرنده تاخیری ACK را برای TCP پیاده سازی می کنند.
بسته ها آنها تمام عملکرد شی TCPSink را به ارث می برند. هیچ روشی وجود ندارد یا
حالت متغیرهای خاص برای شی DelAck.

پیکر بندی پارامترهای

فاصله_
مقدار زمانی که برای تأخیر قبل از ایجاد تأییدیه برای یک تک
بسته اگر بسته دیگری قبل از انقضای این زمان رسید، یک عدد ایجاد کنید
تصدیق فوری

TCPSINK/SACK1 اشیاء


اشیاء TCPSink/Sack1 یک زیر کلاس از TCPSink هستند که یک گیرنده SACK را برای TCP پیاده سازی می کنند.
بسته ها آنها تمام عملکرد شی TCPSink را به ارث می برند. هیچ روشی وجود ندارد،
پارامترهای پیکربندی یا متغیرهای حالت مخصوص این شی.

TCPSINK/SACK1/DELACK اشیاء


اشیاء TCPSink/Sack1/DelAck زیر کلاسی از TCPSink/Sack1 هستند که Sack-Sack تاخیری را پیاده سازی می کنند.
گیرنده برای بسته های TCP آنها تمام عملکرد شی TCPSink/Sack1 را به ارث می برند.
هیچ متد یا متغیر حالت خاصی برای این شی وجود ندارد.

پیکر بندی پارامترهای

فاصله_
مقدار زمانی که برای تأخیر قبل از ایجاد تأییدیه برای یک تک
بسته اگر بسته دیگری قبل از انقضای این زمان رسید، یک عدد ایجاد کنید
تصدیق فوری

SRM اشیاء


اشیاء SRM زیر مجموعه ای از اشیاء عامل هستند که چندپخشی قابل اعتماد SRM را پیاده سازی می کنند
پروتکل حمل و نقل آنها تمام عملکردهای عامل عمومی را به ارث می برند.

$srm منبع ترافیک منبع
یک منبع ترافیک، به عنوان مثال، Application/Traffic/CBR، را به عامل SRM متصل کنید.

$srm شروع
به گروه چندپخشی بپیوندید، عامل SRM و منبع ترافیک پیوست شده آن را راه اندازی کنید.

$srm حذف کردن
عامل SRM را متوقف کنید، تمام وضعیت آن را حذف کنید و منبع ترافیک را جدا کنید.

$srm رد فایل ردیابی
ردیابی های تولید شده توسط عامل SRM را در آن بنویسید فایل ردیابی. آثار شامل
تنظیمات تایمر، درخواست و تعمیر ارسال و رسید و ... دو فایل مرتبط
که در ns تعبیه نشده اند tcl/mcast/srm-debug.tcl که اجازه می دهد جزئیات بیشتر
ردیابی توابع محاسبه تاخیر، و tcl/mcast/srm-nam.tcl که
به طور جداگانه پیام های کنترل srm را از داده ها علامت گذاری می کند. دومی برای تقویت مفید است
تجسم نام

$srm ورود به سیستم ورود به سیستم فایل
آمار بازیابی را در طول هر درخواست یا تعمیر بنویسید ورود به سیستم فایل.
آمار شامل زمان شروع، مدت زمان، شناسه پیام، تعداد کل موارد تکراری است
درخواست ها و تعمیرات

$srm فاصله؟ گره
تخمین فاصله را به گره در این عامل SRM.

$srm فاصله ها؟ گره
فهرستی از چند تا از فواصل به همه گروه
اعضایی که این گره از آنها آگاه است. عضو گروه به عنوان آدرس مشخص می شود
از عامل راه دور اولین تاپل، توکن این عامل است. لیست می تواند باشد
مستقیماً در یک آرایه Tcl بارگذاری می شود.

پیکر بندی پارامترهای

packetSize_
اندازه بسته داده بر حسب بایت که برای پیام های تعمیر استفاده می شود. را
مقدار پیش فرض 1024 است.

درخواست تابع_
الگوریتم مورد استفاده برای تولید درخواست ارسال مجدد، به عنوان مثال، تنظیمات
درخواست تایمر مقدار پیش فرض SRM/درخواست است. درخواست احتمالی دیگر
توابع SRM/درخواست/تطبیقی ​​هستند که توسط کد SRM تطبیقی ​​استفاده می‌شوند.

تعمیر تابع_
الگوریتم مورد استفاده برای تولید تعمیر، به عنوان مثال، محاسبه تایمرهای تعمیر. در
مقدار پیش فرض SRM/Repair است. دیگر توابع درخواست ممکن است
SRM/Repair/Adaptive، که توسط کد SRM تطبیقی ​​استفاده می شود.

sessionFunction_
الگوریتمی که برای تولید پیام های جلسه استفاده می شود. پیش فرض SRM/session است

تاخیر در جلسه_
فاصله اولیه پیام های جلسه. تغییرات تصادفی جزئی به آن اضافه شده است
این فاصله برای جلوگیری از همگام سازی سراسری پیام های جلسه. کاربر ممکن است
می خواهند این متغیر را با توجه به شبیه سازی خاص خود تنظیم کنند.
اندازه گیری در ثانیه؛ مقدار پیش فرض 1.0 ثانیه است.

C1_، C2_
پارامترهایی که تایمر درخواست را کنترل می کنند. برای جزئیات به [8] مراجعه کنید. را
مقدار پیش فرض است C1_ = C2_ = 2.0.

D1_، D2_
پارامترهایی که تایمر تعمیر را کنترل می کنند. برای جزئیات به [8] مراجعه کنید. در
مقدار پیش فرض است D1_ = D2_ = 1.0.

requestBackoffLimit_
حداکثر تعداد عقب نشینی های نمایی. مقدار پیش فرض 5 است.

دولت متغیر

آمار_ آرایه ای حاوی آمارهای متعدد مورد نیاز عامل SRM تطبیقی.
از جمله: درخواست های تکراری و تعمیرات در دوره درخواست/تعمیر فعلی،
میانگین تعداد درخواست های تکراری و تعمیرات، درخواست و تاخیر تعمیر
در دوره درخواست/تعمیر فعلی، متوسط ​​درخواست و تاخیر تعمیر.

SRM/تطبیقی اشیاء


اشیاء SRM/Adaptive زیر کلاسی از اشیاء SRM هستند که SRM تطبیقی ​​را پیاده سازی می کنند.
پروتکل حمل و نقل چندپخشی قابل اعتماد آنها تمام عملکردهای شی SRM را به ارث می برند.

دولت متغیر برای جزئیات بیشتر به مقاله SRM توسط سالی و همکاران ([11]) مراجعه کنید.

فاصله_
این متغیر برای عبور تخمین فاصله ارائه شده توسط ریموت استفاده می شود
نماینده در یک درخواست یا پیام تعمیر.

D1_، D2_
همان چیزی که در عوامل SRM وجود دارد، با این تفاوت که آنها به مقدار دهی اولیه می شوند
log10 (اندازه گروه) هنگام ایجاد اولین تعمیر.

MinC1_، MaxC1_، MinC2_، MaxC2_
حداقل/حداکثر مقادیر C1_ و C2_. مقادیر اولیه پیش فرض هستند
در [8] تعریف شده است. این مقادیر محدوده دینامیکی را تعریف می کنند C1_ و C2_.

MinD1_, MaxD1_، MinD2_, MaxD2_
حداقل/حداکثر مقادیر D1_ و D2_. مقادیر اولیه پیش فرض هستند
در [8] تعریف شده است. این مقادیر محدوده دینامیکی را تعریف می کنند D1_ و D2_.

AveDups
کران بالاتر برای میانگین های تکراری.

AveDelay
کران بالاتر برای تاخیر متوسط.

اپس AveDups - فریب می دهد کران پایینی تعداد تکرارها را تعیین می کند
ما باید پارامترها را برای کاهش تاخیر تنظیم کنیم.

کاربرد اشیاء


اشیاء برنامه داده هایی را برای ارسال عوامل حمل و نقل تولید می کنند.

FTP کاربرد اشیاء


اشیاء برنامه/FTP داده های انبوهی را برای ارسال یک شی TCP تولید می کنند.

$ftp شروع
باعث می شود FTP بسته ها را به طور نامحدود تولید کند.

$ftp تولید کردن n
باعث تولید شی FTP می شود n بسته های آنی

$ftp متوقف کردن
باعث می شود شی TCP پیوست شده ارسال داده را متوقف کند.

$ftp ضمیمه کردن عامل
یک شیء Application/FTP را به آن پیوست می کند عامل.

$ftp تولید بیشتر تعداد دفعات مشاهده
باعث تولید شی Application/FTP می شود تعداد دفعات مشاهده بسته های بیشتر

پیکر بندی پارامترهای

maxpkts
حداکثر تعداد بسته های تولید شده

TELNET کاربرد اشیاء


اشیاء برنامه/Telnet بسته های منفرد را با زمان های بین ورود به شرح زیر تولید می کنند.
If فاصله_ غیر صفر است، سپس زمان های بین رسیدن از یک نمایی انتخاب می شوند
توزیع با میانگین فاصله_. اگر فاصله_ صفر است، سپس زمان بین ورود است
با استفاده از توزیع تلنت "tcplib" انتخاب شده است.

$تلنت شروع
باعث می شود که شی Application/Telnet شروع به تولید بسته ها کند.

$تلنت متوقف کردن
باعث می شود که شی Application/Telnet تولید بسته ها را متوقف کند.

$تلنت ضمیمه کردن عامل
یک شیء Application/Telnet را به آن پیوست می کند عامل.

پیکر بندی پارامترهای

فاصله_
میانگین زمان بین ورود به ثانیه برای بسته های تولید شده توسط
شیء برنامه/تلنت.

ترافیک اشیاء


اشیاء ترافیک داده هایی را برای ارسال یک پروتکل حمل و نقل ایجاد می کنند. یک شی Traffic ایجاد می شود
با نمونه سازی یک شی از کلاس Application/Traffic/نوع جایی که نوع یکی از
نمایی، پارتو، CBR، ردیابی.

نمایی ترافیک اشیاء


برنامه / ترافیک / اشیاء نمایی ترافیک روشن / خاموش ایجاد می کنند. در دوره های "روشن"،
بسته ها با نرخ انفجار ثابت تولید می شوند. در دوره های "خاموش"، هیچ ترافیکی وجود ندارد
تولید شده است. زمان های انفجاری و زمان های بیکاری از توزیع های نمایی گرفته می شوند.

پیکر بندی پارامترهای

اندازه_ بسته_
اندازه بسته به بایت

burst_time_
مدت زمان انفجار بر حسب ثانیه

idle_time_
زمان بیکاری بر حسب ثانیه

نرخ_ حداکثر نرخ بر حسب بیت در ثانیه

پارتو ترافیک اشیاء


برنامه/ترافیک/اشیاء پارتو ترافیک روشن/خاموش را با زمان های انفجاری و زمان های بیکاری تولید می کنند
برگرفته از توزیع های پارتو

پیکر بندی پارامترهای

اندازه_ بسته_
اندازه بسته به بایت

burst_time_
میانگین زمان بر حسب ثانیه

idle_time_
میانگین زمان خاموشی بر حسب ثانیه

نرخ_ حداکثر نرخ بر حسب بیت در ثانیه

شکل دادن به_ پارامتر شکل پارتو

پسوند CB (مقدار ثابت BIT نرخ) ترافیک اشیاء


اشیاء برنامه / ترافیک / CBR بسته ها را با یک نرخ ثابت تولید می کنند. Dither را می توان اضافه کرد
با فعال کردن پرچم "تصادفی" به زمان های بین ورود.

پیکر بندی پارامترهای

نرخ_ حداکثر نرخ بر حسب بیت در ثانیه

اندازه_ بسته_
اندازه بسته به بایت

تصادفی_
پرچمی که دیترینگ را روشن و خاموش می‌کند (پیش‌فرض خاموش است).

maxpkts_
حداکثر تعداد بسته برای ارسال

TRACE ترافیک اشیاء


اشیاء Application/Traffic/Trace برای ایجاد ترافیک از یک فایل ردیابی استفاده می شود.

$ trace ضمیمه-tracefile tfile
شی Tracefile را ضمیمه کنید tfile به این رد شی Tracefile مشخص می کند
فایل ردیابی که قرار است داده های ترافیک از آن خوانده شود (به اشیاء ردیابی مراجعه کنید
بخش). چندین برنامه / ترافیک / اشیاء ردیابی را می توان به یکسان وصل کرد
شی Tracefile برای هر کدام یک مکان شروع تصادفی در Tracefile انتخاب می شود
برنامه / ترافیک / شی ردیابی.

هیچ پارامتر پیکربندی برای این شی وجود ندارد.

ردیابی اشیاء


اشیاء Tracefile برای تعیین فایل ردیابی که قرار است برای تولید استفاده شود استفاده می شود
ترافیک (به بخش TRAFFIC/TRACE Objects مراجعه کنید). $tracefile یک نمونه از Tracefile است
هدف - شی.

$tracefile نام فایل ردیابی ورودی
نام فایلی را تنظیم کنید که داده های ردیابی ترافیک از آن خوانده شود ردیابی ورودی

هیچ پارامتر پیکربندی برای این شی وجود ندارد. یک فایل ردیابی از هر کدام تشکیل شده است
تعداد رکوردهای طول ثابت هر رکورد از 2 فیلد 32 بیتی تشکیل شده است. اولین
فاصله زمانی تا تولید بسته بعدی را در میکروثانیه نشان می دهد. دومین
طول بسته بعدی را بر حسب بایت نشان می دهد.

TRACE و نظارت بر مواد و روش ها


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.] Trace
اشیاء برای تولید گزارش‌های ضبط سطح رویداد معمولاً در یک فایل خروجی استفاده می‌شوند.
در سرتاسر این بخش $ns به یک شی شبیه ساز و $agent به یک Agent اشاره دارد
هدف - شی.

$ns ایجاد-ردیابی نوع شناسه فایل گره 1 گره 2 [گزینه]
یک شی Trace از نوع ایجاد کنید نوع و دسته فایل را پیوست کنید شناسه فایل به آن به
صف های بین گره ها را نظارت کنید گره 1 و گره 2. نوع می تواند یکی از Enque، Deque،
رها کردن Enque بر رسیدن بسته ها در یک صف نظارت می کند. Deque خروج بسته را کنترل می کند
در یک صف Drop ریزش بسته ها را در یک صف نظارت می کند. شناسه فایل باید دسته فایل باشد
توسط Tcl برگردانده شده است باز کن فرمان و باید برای نوشتن باز شده باشد. اگر
انتخاب مشخص نشده است، دستور به شی ردیابی ایجاد شده دستور می دهد
ایجاد ns Traces اگر انتخاب """nam""" است که شی جدید ردپای نام تولید می کند.
دسته ای را به شی ردیابی برمی گرداند.

$ns ردیابی گره 1 گره 2 رد
شیء ردیابی متصل به پیوند بین گره ها را حذف کنید گره 1 و گره 2 با رد
به عنوان دسته شی

$ns صف ردیابی گره 1 گره 2 شناسه فایل
Enque، Deque و Drop tracing را در پیوند بین فعال کنید گره 1 و گره 2.

$ns namtrace-queue گره 1 گره 2 شناسه فایل
عملکرد مشابه $ns صف ردیابی، با این تفاوت که ردپای نام تولید می کند.

$ns ردیابی همه شناسه فایل
Enque, Deque, Drop Tracing را در تمام پیوندهای توپولوژی ایجاد شده پس از آن فعال کنید
این روش فراخوانی می شود. همچنین ردیابی پویایی شبکه را فعال می کند. شناسه فایل باید
یک دسته فایل باشد که توسط Tcl بازگردانده می شود باز کن فرمان و باید برای باز شده باشد
نوشته.

$ns namtrace-all شناسه فایل
عملکرد مشابه $ns ردیابی همه، با این تفاوت که تمام آثار معادل را در nam ایجاد می کند
قالب علاوه بر این، فراخوانی این دستور قبل از شبیه ساز شروع به اجرای اراده می کند
پیکربندی های رنگی (در صورت وجود) و اطلاعات توپولوژی مورد نیاز nam را ایجاد کنید
(گره ها، لینک ها، صف ها). یک مثال را می توان در ns-2/tcl/ex/nam-example.tcl یافت.

$ns namtrace-config شناسه فایل
یک فایل را برای ذخیره اطلاعات پیکربندی نام، به عنوان مثال، node/link/agents و
برخی از ردیابی های مرتبط با شبیه ساز مانند حاشیه نویسی. وقتی نمیخوای ردیابی کنی
هر شی این تابع را فراخوانی کرده و سپس استفاده کنید $ns namtrace-queue, rtModel رد,
و غیره، برای درج آثار به صورت جداگانه. توجه داشته باشید که باید از همان فایل استفاده کنید
ردیابی های فردی و پیکربندی نام. یک مثال برای این در دسترس است
ns-2/tcl/ex/nam-separate-trace.tcl.

$ns مانیتور-صف گره 1 گره 2
ترتیب طول صف پیوند بین گره ها گره 1 و گره 2 پیگیری شود.
شی QueueMonitor را برمی‌گرداند که می‌توان برای یادگیری اندازه متوسط ​​صف و غیره از آن درخواست کرد.
[به بخش QueueMonitor Objects مراجعه کنید]

$ns فلاش ردیابی
کانال های خروجی متصل به تمام اشیاء ردیابی را بشویید.

$ لینک ردیابی دینامیک ns شناسه فایل [گزینه]
دینامیک این لینک را دنبال کنید و خروجی را در آن بنویسید شناسه فایل دسته پرونده ns is
نمونه ای از شی شبیه ساز یا MultiSim که برای فراخوانی ایجاد شده است
شبیه سازی.

$ns رنگ id نام
یک نمایه رنگ ایجاد کنید که عدد را پیوند می دهد id به نام رنگ نام. همه رنگ ها
ایجاد شده قبل از شبیه ساز شروع به اجرا می کند در فایل ردیابی nam نوشته می شود، اگر
وجود دارد

$ns ردیابی - حاشیه نویسی رشته
در صورت وجود، یک حاشیه نویسی برای فایل ردیابی ns و nam می نویسد. رشته باید
برای تبدیل آن به یک آرگومان واحد، در دو نقل قول قرار داده شود.

trace_annotate رشته
نسخه دیگری از $ns ردیابی - حاشیه نویسی، که یک تابع جهانی است و ندارد
از تماس گیرنده باید ns را بداند.

$ns duplex-link-op $node1 $node2 $ op $args
عملیات داده شده را انجام دهید $ op در پیوند دوبلکس داده شده ($node1, $node2).
ممکن است از دو عملیات زیر استفاده شود:
orient - جهت نام پیوند دوبلکس را مشخص کنید. ارزش ها می تواند باشد
چپ، راست، بالا، پایین، مخلوط آنها با '-' ترکیب شده است (به عنوان مثال،
چپ به پایین)، و عددی که زاویه بین
پیوند و خط افقی
queuePos - یک صف از پیوند سیمپلکس بسازید ($node1,
$node2) در nam، و زاویه بین را مشخص کنید
خط افقی و خطی که در امتداد آن بسته ها در صف قرار می گیرند
نمایش داده خواهد شد.

$ns افزودن عامل ردیابی عامل نام [شناسه فایل]
یک خط ردیابی nam بنویسید که یک عامل ردیابی برای ایجاد می کند عامل هنگام تفسیر
با نام نام عامل ردیابی خواهد بود نام. این عامل ردیابی nam برای نشان دادن استفاده می شود
طرز قرار گیری بدن عامل و می توان برای نوشتن ردپای نام متغیرهای مرتبط استفاده کرد
با نماینده به‌طور پیش‌فرض، ردیابی‌ها در فایل اختصاص‌داده‌شده توسط نوشته می‌شوند
namtrace-all. شناسه فایل می توان از آن برای نوشتن ردیابی به فایل دیگری استفاده کرد.

عامل $ tracevar نام
متغیر OTcl را برچسب بزنید نام of عامل $ ردیابی شود. سپس هر زمان که متغیر نام
مقدار تغییر می کند، در صورت وجود، یک خط ردیابی nam در فایل ردیابی nam نوشته می شود.
توجه داشته باشید که نام باید با نام واقعی OTcl متغیر یکسان باشد.

$ns delete-agent-trace عامل
یک خط ردیابی nam بنویسید که ردیابی نام مرتبط با آن را حذف می کند عامل چه زمانی
تعبیر به نام.

عامل $ add-var-trace نام ارزش [نوع]
یک خط ردیابی nam بنویسید که یک رد متغیر با نام ایجاد می کند نام و ارزش
ارزش، وقتی با نام تفسیر شود. نوع نوع متغیر را نشان می دهد، به عنوان مثال، is
این یک لیست، آرایه یا یک متغیر ساده است. در حال حاضر فقط متغیر ساده پشتیبانی می شود،
برای کدام نوع = 'v'.

2 تابع زیر باید فراخوانی شوند بعد از شبیه ساز شروع به کار می کند. این میتواند باشد
با استفاده از $ns at.

عامل $ delete-var-trace نام
یک خط ردیابی nam بنویسید که رد متغیر را حذف می کند نام وقتی توسط
نام

عامل $ update-var-trace نام ارزش [نوع]
یک خط ردیابی nam بنویسید که مقدار متغیر traced را تغییر می‌دهد نام چه زمانی
تعبیر به نام. بر خلاف عامل $ tracevar، 3 عملکرد بالا "دستی" را ارائه می دهند
متغیر ردیابی که در آن ردیابی متغیر با قرار دادن انجام می شود عامل $ به روز رسانی-var-
رد در کد OTcl، در حالی که tracevar زمانی که
متغیر ردیابی شده مقدار را تغییر می دهد.

فرمت tracefile با فایل های خروجی در نسخه ns 1 سازگار است
شبیه ساز به طوری که اسکریپت های پس از پردازش ns-1 همچنان می توانند استفاده شوند. سوابق ردیابی از
ترافیک برای اشیاء پیوند با Enque، Deque یا Drop Tracing به شکل زیر است:



جایی که

:= [hd+-r] h=hop d=drop +=enque -=deque r=receive
:= زمان شبیه سازی بر حسب ثانیه
:= آدرس گره اول پیوند hop/queuing
:= آدرس گره دوم پیوند hop/queuing
:=
:= tcp|تلنت|cbr|ack و غیره
:= اندازه بسته به بایت
:= [CP] C=تراکم، P= اولویت
:= فیلد شناسه جریان همانطور که برای IPv6 تعریف شده است
:= آدرس حمل و نقل (src=node,sport=agent)
:= آدرس حمل و نقل (dst=node,dport=agent)
:= شماره توالی بسته
:= شناسه منحصر به فرد برای هر بسته جدید

فقط آن دسته از عواملی که علاقه مند به ارائه توالی هستند، شماره های دنباله را تولید می کنند
و از این رو این فیلد ممکن است برای بسته های تولید شده توسط برخی از عوامل مفید نباشد.

برای پیوندهایی که از دروازه های RED استفاده می کنند، رکوردهای ردیابی اضافی به شرح زیر وجود دارد:



جایی که

:= [Qap] Q=queue size, a=average queue size,
p=احتمال حذف بسته
:= زمان شبیه سازی بر حسب ثانیه
:= ارزش

رکوردهای ردیابی برای پویایی پیوند به شکل زیر است:



جایی که

:= [v]
:= زمان شبیه سازی بر حسب ثانیه
:= [پیوند به بالا | ارتباط قطع شد]
:= آدرس گره اول پیوند
:= آدرس گره دوم پیوند

ادغام کننده اشیاء


اشیاء انتگرالگر از محاسبات تقریبی انتگرال های پیوسته با استفاده از پشتیبانی می کنند
مبالغ گسسته مجموع در حال اجرا (انتگرال) به صورت زیر محاسبه می شود: sum_ += [lasty_ * (x - lastx_)]
که در آن (x, y) آخرین عنصر وارد شده و (lastx_, lasty_) عنصر قبلی است
که به جمع اضافه شد lastx_ و lasty_ با اضافه شدن عناصر جدید به روز می شوند. را
اولین نقطه نمونه به طور پیش فرض روی (0,0) است که با تغییر مقادیر می توان آن را تغییر داد
(lastx_,lasty_).

$integrator نقطه جدید x y
نقطه (x,y) را به جمع اضافه کنید. توجه داشته باشید که کمتر بودن x منطقی نیست
از lastx_.

هیچ پارامتر پیکربندی خاصی برای این شی وجود ندارد.

دولت متغیر

lastx_ مختصات x آخرین نقطه نمونه.

ماندگار_ مختصات y آخرین نقطه نمونه.

مجموع_ مجموع در حال اجرا (یعنی انتگرال) از نقاط نمونه.

نمونه اشیاء


نمونه اشیاء از محاسبه میانگین و آمار واریانس برای یک داده پشتیبانی می کنند
نمونه.

$ نمونه متوسط
میانگین نمونه را برمی گرداند.

$ نمونه واریانس
واریانس نمونه را برمی‌گرداند.

$ نمونه CNT
تعدادی از نقاط نمونه در نظر گرفته شده را برمی گرداند.

$ نمونه تنظیم مجدد
برای نظارت بر مجموعه جدیدی از نمونه ها، شی Samples را بازنشانی کنید.

هیچ پارامتر پیکربندی یا متغیر حالت خاصی برای این شی وجود ندارد.

ساخته شده است


[توجه: این بخش برای به روز بودن نسخه تایید نشده است.] زیرا
OTcl یک زبان برنامه نویسی تمام عیار است، ساخت شبیه سازی سطح بالا آسان است
ساختارهای اولیه ns. چندین روال کتابخانه به این ترتیب ساخته شده است،
و به عنوان متدهای کلاس Simulator در مفسر ns تعبیه شده اند. در سراسر
این بخش $ns یک شی شبیه ساز را نشان می دهد.

$ns ایجاد-اتصال srcType srcNode dstType dstNode کلاس
یک عامل منبع از نوع ایجاد کنید srcType در گره srcNode و آن را به a متصل کنید
عامل مقصد از نوع dstType در گره dstNode. همچنین مقصد را وصل کنید
عامل به عامل منبع. کلاس ترافیک هر دو عامل تنظیم شده است کلاس. این
متد عامل منبع را برمی گرداند.

مثال


مجموعه ns [شبیه ساز جدید]

#
# دو گره ایجاد کنید
#
مجموعه n0 [$ns گره]
مجموعه n1 [$ns گره]

#
# یک ردیابی ایجاد کنید و همه رویدادهای ردیابی را ترتیب دهید
# پیوندی که متعاقبا ایجاد شد تا به "out.tr" ریخته شود
#
تنظیم f [open out.tr w]
$ns trace-all $f

#
# دو گره را با یک پیوند 1.5 مگابایتی با یک انتقال وصل کنید
# تاخیر 10 میلی‌ثانیه با استفاده از صف‌بندی FIFO drop-tail
#
$ns پیوند دوطرفه $n0 $n1 1.5 مگابایت 10 میلی‌ثانیه DropTail

#
# اتصالات BSD Tahoe TCP را در جهت مخالف تنظیم کنید.
#
تنظیم tcp_src1 [نماینده جدید/TCP]
تنظیم tcp_snk1 [نماینده جدید/TCPSink]
تنظیم tcp_src2 [نماینده جدید/TCP]
تنظیم tcp_snk2 [نماینده جدید/TCPSink]
$ns attach-agent $n0 $tcp_src1
$ns attach-agent $n1 $tcp_snk1
$ns attach-agent $n1 $tcp_src2
$ns attach-agent $n0 $tcp_snk2
$ns به $tcp_src1 $tcp_snk1 متصل می شود
$ns به $tcp_src2 $tcp_snk2 متصل می شود

#
# منابع ftp را در هر گره ایجاد کنید
#
تنظیم ftp1 [$tcp_src1 attach-source FTP]
تنظیم ftp2 [$tcp_src2 attach-source FTP]

#
# اولین ftp را در زمان 0 راه اندازی کنید و
# ftp دوم 1 ثانیه بعد تلو تلو خورد
#

$ns در 0.0 "$ftp1 start"
$ns در 1.0 "$ftp2 start"

#
# شبیه سازی را به مدت 10 ثانیه شبیه سازی شده اجرا کنید
#
$ns در 10.0 "خروج 0"
$ns اجرا شود

اشکال زدایی


برای فعال کردن اشکال زدایی هنگام ساختن ns از منبع:
% ./configure --enable-debug
% می سازند

برای جزئیات بیشتر در مورد اشکال زدایی ns لطفا ببینیدhttp://www-mash.cs.berkeley.edu/ns/ns-
اشکال زدایی.html>.

تفاوت از NS-1


به طور کلی، اشیاء پیچیده تر در ns-1 به اجزای ساده تری برای آن تقسیم شده اند
انعطاف پذیری و ترکیب پذیری بیشتر جزئیات تفاوت بین ns-1 و ns-2 می تواند
پیدا شود درhttp://www-mash.cs.berkeley.edu/ns/ns.html>.

تاریخچه


کار بر روی شبیه ساز شبکه LBL در می 1990 با تغییراتی در S. Keshav آغاز شد.
([ایمیل محافظت شده]) شبیه ساز شبکه REAL، که او برای دکتری خود توسعه داده است. کار در
یو سی برکلی در تابستان 1991، زبان توصیف شبیه سازی اصلاح شد، و
بعداً، مدل موضوعات NEST با یک چارچوب رویداد محور و یک کارآمد جایگزین شد
زمانبندی در میان مشارکت های دیگر، Sugih Jamin ([ایمیل محافظت شده]) کمک کرد
کد زمانبندی مبتنی بر صف تقویم به این نسخه از برنامه که به نام معروف بود
tcpsim. در دسامبر 1994، McCanne tcpsim را به C++ پورت کرد و جایگزین yacc-based کرد.
زبان توصیف شبیه سازی با رابط Tcl و چندپخش اولیه اضافه شده است
حمایت کردن. همچنین در این زمان، نام تغییر کرد tcpsim به عمومی تر NS.
در طول این مدت، فلوید تغییراتی در کد TCP ایجاد کرده و منبع اضافی اضافه کرده است
مدل‌هایی برای تحقیقات او در مورد دروازه‌های RED، مدیریت منابع، صف‌بندی مبتنی بر کلاس،
اطلاع رسانی صریح تراکم، و اثرات فاز ترافیک. بسیاری از اوراق
بحث در مورد این مسائل از طریق URL در دسترس است http://www-nrg.ee.lbl.gov/.

با استفاده از خدمات onworks.net از ns به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad




×
تبلیغات
❤️اینجا خرید کنید، رزرو کنید یا بخرید - رایگان است، به رایگان ماندن خدمات کمک می‌کند.