هذا هو الأمر ns الذي يمكن تشغيله في موفر الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المتعددة المجانية عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
ns - محاكي الشبكة (الإصدار 2)
موجز
ns [ ملف [ الأرجنتين الأرجنتين ]]
الوصف
ns هو مُحاكي شبكة مُحرك بالأحداث. تم تنفيذ محرك محاكاة قابل للتوسيع
في C++ الذي يستخدم لغة أوامر أداة الكائن التابعة لمعهد ماساتشوستس للتكنولوجيا، OTcl (إصدار موجه للكائنات من
Tcl) كواجهة أوامر وتكوين. إصدار سابق من المُحاكي، أي
استخدم إصدار ns 1 لغة أوامر الأدوات، Tcl، كلغة تكوين.
لا يزال الإصدار الحالي يدعم نصوص المحاكاة المكتوبة بلغة Tcl المخصصة لإصدار ns
1 جهاز محاكاة.
توثّق صفحة الدليل هذه بعض واجهات ns. لمزيد من المعلومات، يُرجى زيارة:
التوثيق، يرجى الاطلاع على "ملاحظات ووثائق ns" [13]، المتوفرة في التوزيع
وعلى شبكة الإنترنت.
يتم استدعاء المحاكي عبر ns المترجم، امتداد للفانيليا otclsh
غلاف الأوامر. تُعرَّف المحاكاة بواسطة نص برمجي OTcl. تستخدم النصوص البرمجية المُحاكي
الفئة كواجهة رئيسية لمحرك المحاكاة. باستخدام الطرق المحددة في
في هذه الفئة، يتم تعريف طوبولوجيا الشبكة، ويتم تكوين مصادر حركة المرور والمصارف،
يتم استدعاء المحاكاة، ويتم جمع الإحصائيات. من خلال البناء على نموذج كامل
اللغة الوظيفية، يمكن برمجة إجراءات تعسفية في التكوين.
الخطوة الأولى في المحاكاة هي الحصول على مثيل لفئة Simulator.
يتم إنشاء مثيلات الكائنات في الفئات وتدميرها في ns باستخدام جديد و حذف
الأساليب. على سبيل المثال، يتم إنشاء مثيل لكائن المحاكاة من خلال ما يلي
أمر:
على سبيل المثال مجموعة ns [محاكي جديد]
يتم إنشاء طوبولوجيا الشبكة باستخدام ثلاث كتل بناء بدائية: العقد والروابط و
الوكلاء. تحتوي فئة المحاكاة على طرق لإنشاء/تكوين كل من هذه المباني
الكتل. يتم إنشاء العقد باستخدام العقدة طريقة المحاكاة التي تقوم بتعيين تلقائي
عنوان فريد لكل عقدة. تُنشأ روابط بين العقد لتشكيل طوبولوجيا الشبكة.
مع الالجائزة رابط بسيط و رابط مزدوج الأساليب التي تنشئ اتجاهًا أحاديًا وثنائي الاتجاه
الروابط على التوالي. الوكلاء هم الكائنات التي تقود المحاكاة بشكل نشط. وسيط عقاري
يمكن اعتبارها بمثابة العمليات و/أو كيانات النقل التي تعمل على العقد قد يكون ذلك
المضيفات الطرفية أو أجهزة التوجيه. مصادر ومصارف حركة المرور، ووحدات التوجيه الديناميكية، ومختلف
وحدات البروتوكول هي أمثلة على الوكلاء. يتم إنشاء الوكلاء عن طريق إنشاء مثيلات للكائنات.
في الفئة الفرعية من فئة Agent أي، الوكيل/النوع حيث يحدد النوع طبيعة
وكيل. على سبيل المثال، يتم إنشاء وكيل TCP باستخدام الأمر:
تعيين tcp [وكيل/TCP جديد]
بمجرد إنشاء الوكلاء، يتم ربطهم بالعقد باستخدام عامل التثبيت محاكاة
الطريقة. يتم تعيين رقم منفذ فريد لكل وكيل تلقائيًا عبر جميع الوكلاء على
العقدة المحددة (على غرار منفذ TCP أو UDP). قد تحتوي بعض أنواع الوكلاء على مصادر
مُرفقة بها، بينما قد يُنشئ آخرون بياناتهم الخاصة. على سبيل المثال، يمكنك إرفاق
مصادر "ftp" و"telnet" لوكلاء "tcp"، ولكن وكلاء "معدل البت الثابت" يولّدون
بياناتهم الخاصة. يتم ربط التطبيقات بالوكلاء باستخدام إرفاق التطبيق الأسلوب.
يحتوي كل كائن على بعض معلمات التكوين المرتبطة به والتي يمكن تعديلها.
معلمات التكوين هي متغيرات مثيل للكائن. هذه المعلمات هي
تم تهيئتها أثناء بدء التشغيل إلى القيم الافتراضية التي يمكن قراءتها ببساطة من المثيل
متغيرات الكائن. على سبيل المثال، $tcp طقم نافذة_ إرجاع حجم النافذة الافتراضي
لكائن TCP. يمكن تجاوز القيم الافتراضية لهذا الكائن صراحةً بواسطة
مهمة بسيطة إما قبل بدء المحاكاة، أو بشكل ديناميكي، أثناء المحاكاة
قيد التنفيذ. على سبيل المثال، يمكن تغيير حجم النافذة لجلسة TCP معينة
على النحو التالي.
$tcp set window_ 25
القيم الافتراضية لمعلمات التكوين لجميع كائنات الفئة لاحقًا
يمكن أيضًا تغيير ما تم إنشاؤه بتعيين بسيط. على سبيل المثال، يمكننا القول
نافذة مجموعة الوكيل/TCP_30
لجعل جميع عمليات إنشاء وكيل TCP المستقبلية افتراضيًا بحجم نافذة 30.
يتم جدولة الأحداث في ns باستخدام at طريقة المحاكاة التي تسمح بإجراءات OTcl
يتم استدعاؤها في نقاط عشوائية خلال وقت المحاكاة. توفر عمليات استدعاء OTcl هذه مرونة
آلية المحاكاة - يمكن استخدامها لبدء أو إيقاف المصادر، وتفريغ الإحصائيات،
إنشاء حالات فشل الارتباط، وإعادة تكوين طوبولوجيا الشبكة وما إلى ذلك. المحاكاة هي
بدأت عبر يجري وتستمر الطريقة حتى لا يكون هناك المزيد من الأحداث التي يجب معالجتها.
في هذا الوقت، الاستدعاء الأصلي لـ يجري يعود الأمر ويمكن لنص Tcl
الخروج أو استدعاء تشغيل محاكاة آخر بعد إعادة التكوين الممكنة. بدلاً من ذلك،
يمكن إيقاف المحاكاة قبل الأوان عن طريق استدعاء توقف الأمر أو عن طريق الخروج من البرنامج النصي
مع معيار Tcl خروج أمر.
يتم توجيه الحزم على طول أقصر مسار من المصدر إلى الوجهة، حيث
مقياس المسافة هو مجموع تكاليف الروابط التي تم اجتيازها من المصدر إلى
الوجهة. تكلفة الرابط هي 1 افتراضيًا؛ مقياس المسافة هو ببساطة القفزة
في هذه الحالة، يمكن تغيير تكلفة الرابط باستخدام التكلفة طريقة المحاكاة. أ
يتم استخدام نموذج الطوبولوجيا الثابت كنموذج افتراضي في ns حيث يتم تحديد حالات العقد/الروابط
لا تتغير أثناء عملية المحاكاة. يمكن تحديد ديناميكيات الشبكة باستخدام
الطرق الموضحة في قسم "طرق ديناميكيات الشبكة". كما يُعد التوجيه أحادي البث الثابت
افتراضيًا، يتم حساب المسارات مسبقًا عبر الطوبولوجيا بأكملها مرة واحدة قبل
بدء المحاكاة. طرق تفعيل وتكوين البث الأحادي والمتعدد الديناميكي
يتم وصف التوجيه في طرق التوجيه أحادية البث وطرق التوجيه متعددة البث
الأقسام على التوالي.
NS أوامر
يصف هذا القسم الأوامر الأساسية لإنشاء اللبنات الأساسية للمحاكاة
(أي العقدة والرابط وكائنات الوكيل) وتشغيل المحاكاة.
الخطوة الأولى في تشغيل المحاكاة كما ذكرنا سابقًا هي الحصول على مثيل من
فئة محاكاة تحتوي على طرق لتكوين المحاكاة وتشغيلها.
يتم استخدام اسم متغير الكائن $ns للإشارة إلى كائن Simulator.
$ns العقدة
إنشاء كائن عقدة جديد وإرجاع مقبض إليه.
$ns قائمة جميع العقد
يقوم بإرجاع قائمة بجميع كائنات العقدة المحددة في المحاكاة.
$ns رابط بسيط node1 node2 bw تأخير نوع
إنشاء رابط أحادي الاتجاه جديد بين node1 و node2 مع النطاق الترددي bw في بتات
في الثانية وتأخير انتشار الرابط تأخير في ثوان. node1 و node2 يجب أن يكون
تم إنشاؤها بالفعل باستخدام العقدة الأسلوب. bw و تأخير الافتراضي هو 1.5 ميجابت/ثانية
و100 مللي ثانية على التوالي. يمكن تغيير الإعدادات الافتراضية عن طريق تعديل الإعدادات ذات الصلة
معلمات تكوين كائن DelayLink (راجع قسم كائنات DELAYLINK).
node1 و node2 يجب أن يكون قد تم إنشاؤه بالفعل باستخدام العقدة الطريقة. قائمة الانتظار
يتم تحديد انضباط الرابط بواسطة اكتب، والتي قد تكون إسقاط الذيل، ف ق، SFQ، الحد من مخاطر الكوارث،
أحمر، سي بي كيو، or CBQ/WRR. رابط DropTail هو عبارة عن قائمة انتظار FIFO بسيطة والتي تقوم بإسقاط آخر
حزمة في قائمة الانتظار عند تجاوزها الحد. رابط FQ مخصص لقائمة الانتظار العادلة (لـ
رابط SFQ مخصص لطابور العرض العادل العشوائي (للحصول على التفاصيل، انظر [?]).
رابط DRR مخصص لجدولة الدوريات ذات العجز (للتفاصيل انظر [9]). رابط RED
هي قائمة انتظار عشوائية مبكرة (للتفاصيل انظر [2]). رابط CBQ مخصص للصفوف القائمة على
الصفوف باستخدام جدولة دورية حزمة تلو الأخرى (للحصول على التفاصيل، راجع [3]). أ
رابط CBQ/WRR مُخصص للصفوف القائمة على الفئات باستخدام مُجدول دوري مُوزَّع. إذا
يُستخدم التوجيه المتعدد البث، وتتطلب الروابط ذات تسميات الواجهة. هذه الروابط
تم إنشاؤه عن طريق تعيين متغير Simulator NumberInterfaces_ إلى 1. كل ما يلي
ستحمل الروابط المُنشأة تسميات واجهة. لتعطيل إنشاء الواجهات، ما عليك سوى
إعادة تعيين NumberInterfaces_ إلى 0 (هذا هو الافتراضي).
$ns رابط مزدوج node1 node2 bw تأخير نوع
إنشاء رابط ثنائي الاتجاه جديد بين node1 و node2 مع النطاق الترددي bw في بتات
في الثانية وتأخير انتشار الرابط تأخير في ثوان. node1 و node2 يجب أن يكون
تم إنشاؤها بالفعل باستخدام العقدة الأسلوب. bw و تأخير الافتراضي هو 1.5 ميجابت/ثانية
و100 مللي ثانية على التوالي. يمكن تغيير الإعدادات الافتراضية عن طريق تعديل الإعدادات ذات الصلة
معلمات تكوين كائن DelayLink (راجع قسم كائنات DELAYLINK).
يتم تحديد انضباط الانتظار للرابط بواسطة اكتب، والتي قد تكون إسقاط الذيل، FQ
SFQ، الحد من مخاطر الكوارث، أحمر، سي بي كيو، or CBQ/WRR. رابط DropTail هو عبارة عن قائمة انتظار FIFO بسيطة والتي تقوم بإسقاط
آخر حزمة في قائمة الانتظار عند تجاوزها الحد المسموح به. رابط FQ مخصص لـ "عادل"
الانتظار (للتفاصيل، انظر [?]). رابط SFQ مخصص للاصطفاف العادل العشوائي (لـ
التفاصيل انظر [?]). رابط DRR مخصص لجدولة الدوريات ذات العجز (للحصول على التفاصيل
انظر [9]). رابط RED هو قائمة انتظار عشوائية مبكرة (للحصول على التفاصيل انظر [2]). رابط CBQ
الرابط مخصص للصفوف القائمة على الفئة باستخدام جدولة دائرية حزمة تلو الأخرى (لـ
التفاصيل انظر [3]). رابط CBQ/WRR مخصص للصف القائم على الفئة مع جولة مرجحة
مُجدول روبن. في حال استخدام توجيه البث المتعدد، تكون الروابط ذات تسميات الواجهة
مطلوب. يتم إنشاء هذه الروابط عن طريق ضبط متغير Simulator NumberInterfaces_
إلى ١. جميع الروابط التي سيتم إنشاؤها لاحقًا ستحمل تسميات واجهة. لتعطيل
إن إنشاء الواجهات يؤدي ببساطة إلى إعادة تعيين NumberInterfaces_ إلى 0 (هذا هو الإعداد الافتراضي).
$ns الصفحة node1 node2
إرجاع مرجع إلى الرابط الذي يربط العقد node1 و العقدة 2. وهذا مفيد
لتعيين معلمات تكوين الرابط واستدعاء طرق التتبع (انظر الرابط
قسم الكائنات).
$ns حد قائمة الانتظار node1 node2 حد قائمة الانتظار
تعيين الحد الأقصى لعدد الحزم التي يمكن وضعها في قائمة الانتظار على الرابط في الاتجاه
تبدأ من node1 إلى node2 إلى حد قائمة الانتظار. يجب أن يكون الرابط بين العقدة 1 والعقدة 2
تم إنشاؤها بالفعل.
$ns تأخير node1 node2 الفاصل الزمني
ضبط زمن انتقال الرابط في الاتجاه من node1 إلى node2 إلى الفاصل الزمني
ثواني. يجب أن يكون الارتباط بين العقدة 1 والعقدة 2 قد تم إنشاؤه بالفعل.
$ns التكلفة node1 node2 قيمة التكلفة
تعيين التكلفة قيمة التكلفة إلى الرابط بين العقد node1 و العقدة 2. التكاليف
تُستخدم البيانات المخصصة للروابط في حسابات مسار البث الأحادي. جميع الروابط افتراضيًا
بتكلفة 1.
$ns متعدد الروابط قائمة العقد bw تأخير نوع
يربط العقد المحددة في قائمة العقد من خلال شبكة من الروابط المزدوجة (لمحاكاة
شبكة LAN البثية) مع النطاق الترددي bw بالبت في الثانية وتأخير انتشار الرابط
تأخير في ثوان. قائمة العقد هي قائمة بمقابض كائنات العقدة التي تم استخدامها بالفعل
تم إنشاؤها باستخدام العقدة الأسلوب. bw و تأخير افتراضيًا 1.5 ميجابت/ثانية و100
مللي ثانية على التوالي. يمكن تغيير الإعدادات الافتراضية عن طريق تعديل
معلمات تكوين كائن DelayLink (راجع قسم كائنات DELAYLINK).
يتم تحديد انضباط الانتظار للرابط بواسطة اكتب، والتي قد تكون إسقاط الذيل، FQ
SFQ، الحد من مخاطر الكوارث، أحمر، سي بي كيو، or CBQ/WRR. رابط DropTail هو عبارة عن قائمة انتظار FIFO بسيطة والتي تقوم بإسقاط
آخر حزمة في قائمة الانتظار عند تجاوزها الحد المسموح به. رابط FQ مخصص لـ "عادل"
الانتظار (للتفاصيل، انظر [?]). رابط SFQ مخصص للاصطفاف العادل العشوائي (لـ
التفاصيل انظر [?]). رابط DRR مخصص لجدولة الدوريات ذات العجز (للحصول على التفاصيل
انظر [9]). رابط RED هو قائمة انتظار عشوائية مبكرة (للحصول على التفاصيل انظر [2]). رابط CBQ
الرابط مخصص للصفوف القائمة على الفئة باستخدام جدولة دائرية حزمة تلو الأخرى (لـ
التفاصيل انظر [3]). رابط CBQ/WRR مخصص للصف القائم على الفئة مع جولة مرجحة
جدول روبن.
$ns وصلات متعددة للواجهات قائمة العقد bw تأخير نوع
يربط العقد المحددة في قائمة العقد من خلال شبكة من الروابط الثنائية مع الواجهات
(لمحاكاة شبكة LAN للبث) مع النطاق الترددي bw بالبت في الثانية والرابط
تأخير الانتشار تأخير في ثوان. قائمة العقد هي قائمة بمقابض كائنات العقدة
التي تم إنشاؤها بالفعل باستخدام العقدة الأسلوب. bw و تأخير الافتراضي إلى 1.5
ميجابت/ثانية و100 مللي ثانية على التوالي. يمكن تغيير الإعدادات الافتراضية بتعديل
معلمات التكوين ذات الصلة بكائن DelayLink (انظر كائنات DELAYLINK
يتم تحديد نظام الانتظار للرابط بواسطة اكتب، والتي قد تكون
إسقاط الذيل، FQ SFQ، الحد من مخاطر الكوارث، أحمر، سي بي كيو، or CBQ/WRR. رابط DropTail هو رابط FIFO بسيط
قائمة انتظار تُسقط آخر حزمة فيها عند تجاوزها الحد المسموح به. رابط FQ
مخصص لطابور العرض (للتفاصيل، انظر [?]). رابط SFQ مخصص لطابور العرض العشوائي.
الانتظار (للتفاصيل، انظر [?]). رابط DRR مخصص لجدولة دورية العجز.
(للحصول على التفاصيل، راجع [9]). الرابط الأحمر هو قائمة انتظار عشوائية مبكرة (للحصول على التفاصيل، راجع
[2]). رابط CBQ مخصص للصفوف القائمة على الفئة باستخدام نظام التناوب بالحزمة تلو الأخرى
المجدول (للحصول على التفاصيل، راجع [3]). رابط CBQ/WRR مخصص للصفوف القائمة على الفئة مع
جدولة الدوري الموزونة.
جديد عامل/نوع
إنشاء وكيل من النوع نوع والتي قد تكون:
لا شيء - مصرف حركة المرور
LossMonitor - Traffic Sink الذي يراقب معلمات الخسارة
TCP - BSD Tahoe TCP
TCP/FullTcp - TCP Reno كامل مع اتصالات ثنائية الاتجاه [11]
TCP/Reno - BSD Reno TCP
TCP/Newreno - نسخة معدلة من BSD Reno TCP
TCP/Vegas - Vegas TCP (من جامعة أريزونا عبر جامعة جنوب كاليفورنيا)
TCP/Sack1 - BSD Reno TCP مع ACKs انتقائية
TCP/Fack - BSD Reno TCP مع ACKs الأمامية
TCPSink - مغسلة TCP القياسية
TCPSink/DelAck - مغسلة TCP التي تولد ACKs متأخرة
TCPSink/Sack1 - مغسلة TCP التي تولد ACKs انتقائية
TCPSink/Sack1/DelAck - مستودع TCP للتأكيد المتأخر مع ACKs انتقائية
UDP - نقل UDP
RTP - وكيل RTP
جلسة/RTP -
RTCP - وكيل RTCP
IVS/المصدر -
IVS/المستقبل -
إدارة المخاطر المستدامة -
الأساليب ومعلمات التكوين ومتغيرات الحالة ذات الصلة المرتبطة
سيتم مناقشة هذه الكائنات بالتفصيل في الأقسام اللاحقة. لاحظ أن بعض
لا تُولّد وكلاء مثل TCP أو SRM بياناتهم الخاصة. تحتاج هذه الوكلاء إلى مصادر
مُلحقة بها لتوليد البيانات (انظر طرق إرفاق المصدر وإرفاق حركة المرور في
قسم كائنات الوكيل).
$ns عامل التثبيت العقدة وكيل
إرفاق كائن الوكيل وكيل إلى العقدة. إنّ كافة أنواع عهود الـ وكيل و العقدة يجب أن يكون للأشياء
تم إنشاؤها بالفعل.
$ns عامل الفصل العقدة وكيل
فصل كائن الوكيل وكيل تبدأ من العقدة.
$ns طريقة التنفيذ SRC التوقيت الصيفي
إنشاء اتصال ثنائي الاتجاه بين الوكيل SRC والوكيل التوقيت الصيفي الإسترجاع :
المقبض إلى SRC وكيل. تم تعريف طريقة مساعدة لتسهيل إنشاء
وربط وكيل بكل من العقدتين وإنشاء اتصال ثنائي الاتجاه
بينهم. (انظر قسم BUILTINS).
$ns جدول الاستخدام نوع
استخدم مجدول الأحداث من النوع نوع في المحاكاة. نوع هي واحدة من القائمة، الكومة،
التقويم، الوقت الفعلي. مُجدول القائمة هو الافتراضي. يستخدم مُجدول الكومة
كومة لترتيب الأحداث. يستخدم مُجدول التقويم قائمة انتظار تقويم لتتبع الأحداث.
من الأحداث. يتم استخدام مُجدول الوقت الفعلي في وضع المحاكاة عندما يكون المُحاكي
يتفاعل مع عامل خارجي.
$ns at الوقت الإجراءات
تقييم الإجراءات في وقت المحاكاة مرة. يمكن أن يكون الإجراء عالميًا
دالة قابلة للوصول (proc) أو طريقة كائن (instproc). يمكن استخدام هذا الأمر
تُستخدم لبدء وإيقاف المصادر، وإعادة تكوين المُحاكي ديناميكيًا، والتفريغ
إحصائيات على فترات زمنية محددة، وما إلى ذلك. إرجاع معرف الحدث.
$ns إلغاء العيد
إزالة الحدث المحدد بواسطة معرف الحدث العيد من قائمة الأحداث.
$ns زيوت ناو
إرجاع وقت المحاكاة الحالي.
$ns خريطة الجينات
يتجول عبر طوبولوجيا المحاكاة ويسرد جميع الكائنات التي تم
تم إنشاؤها وكيفية اتصالها ببعضها البعض. هذا مفيد لتصحيح الأخطاء
نصوص المحاكاة.
إصدار ns
أرجع سلسلة نصية تُحدد إصدار ns الذي يعمل حاليًا. هذه الطريقة هي
تم تنفيذه في السياق العالمي بواسطة المترجم.
ns-عشوائي [ بذرة ]
If بذرة إذا لم يكن موجودًا، قم بإرجاع عدد صحيح عشوائي بين 0 و2^31-1.
بخلاف ذلك، قم بتزويد مولد الأرقام العشوائية الزائفة بـ بذرة وأرجع البذرة
مستخدم. لو بذرة هو 0، اختر بذرة أولية بطريقة استدلالية (والتي تختلف حسب
يتم تنفيذ هذه الطريقة في السياق العالمي بواسطة
مترجم.
يحتوي برنامج Ns على مرافق أخرى لتوليد أرقام عشوائية؛ يُرجى الاطلاع على الوثائق للحصول على التفاصيل
[13].
موضوع التسلسل الهرمي
وصف موجز لتسلسل الكائنات في ns يتم تقديمه في هذا القسم. هذا
الوصف ليس كاملاً، بل هو مُقدّم لتوضيح كيفية
يتم توريث الأساليب ومعلمات التكوين المرتبطة بالكائنات المختلفة.
لمزيد من المعلومات الكاملة، راجع "ملاحظات ووثائق ns" والملفات التلقائية
تم إنشاء معلومات مكتبة الفئة على صفحة الويب ns.
ترتبط الكائنات بمعلمات التكوين التي يمكن تعيينها ديناميكيًا و
الاستعلام، ومتغيرات الحالة التي يمكن الاستعلام عنها (عادةً ما يتم تعديلها فقط عندما تكون الحالة
(يجب إعادة تعيين المتغيرات لتشغيل محاكاة أخرى).
تمثل معلمات التكوين معلمات المحاكاة التي يتم إصلاحها عادةً أثناء
المحاكاة بأكملها (مثل نطاق ترددي للرابط)، ولكن يمكن تغييرها ديناميكيًا إذا رغبت في ذلك.
تمثل متغيرات الحالة القيم الخاصة بكائن معين وخصائص هذا الكائن
التنفيذ.
يوضح الرسم التخطيطي التالي جزءًا من التسلسل الهرمي للكائنات:
محاكاة
متعدد الشرائح
العقدة
الرابط
سيمبل لينك
سي بي كيو لينك
دمي لينك
ديلاي لينك
طابور
إسقاط الذيل
FQ
SFQ
الحد من مخاطر الكوارث
أحمر
البنك التجاري القطري
سي بي كيو/دبليو آر آر
مراقب قائمة الانتظار
ED
فلومون
التدفق
كائن rt
روت لوجيك
الوكيل
rtProto
ساكن
جلسة
DV
مباشرة
فارغة
مراقب الخسائر
TCP
بروتوكول التحكم الكامل في الإرسال
الرنة
نيورينو
كيس 1
Fack
TCPSink
ديلآك
كيس 1
ديلآك
UDP
RTP
RTCP
الحبس الاحتياطي
مصدر
المتلقي
SRM
جلسة
RTP [ما الفرق بين هذا وبين Agent/CBR/RTP]
التطبيق
FTP
التلنت
مرور
معرض
باريتو
CBR
أثر
مدمج
عينات
للحصول على التسلسل الهرمي الكامل للكائنات الذي تم إنشاؤه تلقائيًا، راجع الرابط "التسلسل الهرمي للفئة"
(الذي يشير إلى http://www-sop.inria.fr/rodeo/personnel/Antoine.Clerget/ns/) على ns
صفحات الويب. (شكرًا لأنطوان كليرجيت على صيانتها!)
على سبيل المثال، أي طريقة مدعومة بواسطة TCP يتم دعم الوكيل أيضًا بواسطة الرنة أو
كيس 1 الوكيل. معلمات التكوين الافتراضية موروثة أيضًا. على سبيل المثال، $tcp طقم
نافذة_ 20 حيث أن $tcp هو وكيل TCP يحدد حجم نافذة TCP الافتراضي لكلا TCP و
الرنة شاء.
موضوع طرق
توثق الأقسام التالية الأساليب ومعلمات التكوين ومتغيرات الحالة
المرتبطة بالكائنات المختلفة وكذلك تلك التي تمكن ديناميكيات الشبكة، وأحادي البث
التوجيه، وتوجيه البث المتعدد، ودعم التتبع والمراقبة. فئة الكائن هي
مُحدَّد ضمنيًا باسم متغير الكائن في الوصف. على سبيل المثال، $tcp
يشير إلى فئة كائن tcp وجميع فئاتها الفرعية.
NODE الأجسام
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.]
عقدة id
إرجاع معرف العقدة.
عقدة الجيران
إرجاع قائمة من كائنات العقدة المجاورة.
عقدة يرفق وكيل
إرفاق وكيل من النوع وكيل إلى هذه العقدة.
عقدة فصل وكيل
فصل وكيل من النوع وكيل من هذه العقدة.
عقدة وكيل ميناء
إرجاع مقبض إلى الوكيل المرفق بالمنفذ ميناء على هذه العقدة. تُرجع قيمة فارغة
سلسلة إذا لم يكن المنفذ قيد الاستخدام.
عقدة إعادة تعيين
إعادة تعيين جميع الوكلاء المرتبطين بهذه العقدة. سيؤدي هذا إلى إعادة تهيئة الحالة.
المتغيرات المرتبطة بالوكلاء المختلفين في هذه العقدة.
عقدة rtObject؟
يعيد مقبضًا إلى rtObject إذا كان هناك مثيل للكائن في ذلك الوقت
العقدة. فقط العقد التي تشارك في بروتوكول التوجيه أحادي البث الديناميكي سيكون لها
هذا الكائن (راجع قسم طرق توجيه UNICAST وكائنات RTOBJECT).
عقدة الانضمام إلى المجموعة وكيل رأس التجميع
أضف العميل المحدد بواسطة مقبض الكائن وكيل إلى مجموعة المضيف متعددة البث
تم تحديده من خلال العنوان المجموعة. يؤدي هذا إلى تفعيل بروتوكول عضوية المجموعة
ترتيب وصول حركة المرور المتعددة المناسبة إلى هذا العميل. مجموعة البث المتعدد
يجب أن يكون العنوان في النطاق 0x8000 - 0xFFFF.
عقدة ألوكاد
إرجاع عنوان مجموعة البث المتعدد بترتيب تصاعدي في كل استدعاء بدءًا من
0x8000 وينتهي عند 0xFFFF.
عقدة شكل شكل
اضبط شكل العقدة على "شكل". عند استدعائه قبل بدء تشغيل جهاز المحاكاة
عند التشغيل، يُغيّر الشكل الافتراضي للعقدة في ملف تتبع الاسم.
شكل العقدة هو """دائرة"""
عقدة اللون اللون
تعيين لون العقدة إلى اللونيمكن استدعاؤه في أي وقت لتغيير الوضع الحالي
لون العقدة في ملف تتبع nam، إذا كان هناك واحد.
عقدة الحصول على السمة الاسم
الحصول على السمة المحددة الاسم للعقدة. حاليًا، يحتوي كائن العقدة على اثنين
الصفات: الألوان و SHAPEملحوظة: يجب أن تكون هذه الأحرف كبيرة.
عقدة إضافة علامة الاسم اللون شكل
أضف علامة (في ملف تتبع الاسم) مع اللون و شكل حول العقدة. يمكن للشكل
"دائرة"، "سداسي"، و"مربع" (حساس لحالة الأحرف). العلامة المضافة
سيتم التعرف عليه من خلال الاسم.
عقدة علامة حذف الاسم
احذف العلامة مع الاسم في العقدة المحددة.
لا توجد متغيرات حالة أو معلمات تكوين خاصة بفئة العقدة.
LINK الأجسام
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.]
$ لينك ديناميكيات التتبع ns معرف الملف
تتبع ديناميكيات هذا الرابط واكتب الناتج إلى معرف الملف مقبض الملف. ns is
مثيل لكائن Simulator أو MultiSim الذي تم إنشاؤه لاستدعاء
المحاكاة (راجع قسم طرق التتبع والمراقبة لتنسيق تتبع الإخراج).
$ لينك تتبع الاتصال العكسي ns كمد
تتبع جميع الحزم على الرابط باستخدام معاودة الاتصال كمد. يتم استدعاء Cmd لكل أثر
الحدث (الإدراج في قائمة الانتظار، الخروج منها، الإسقاط) مع النص الذي سيتم تسجيله كمعلمات.
(راجع وصف ملف السجل للحصول على هذه المعلومات.) عرض توضيحي للتتبع
توجد callbacks في البرنامج tcl/ex/callback_demo.tcl في التوزيع.
$ لينك اللون اللون
اضبط لون كائن الرابط. يمكن استدعاؤه في أي وقت لتغيير اللون الحالي.
لون الرابط في ملف تتبع nam، إذا كان هناك واحد.
$ لينك الحصول على السمة الاسم
الحصول على السمة المحددة الاسم من الرابط. حاليًا، يحتوي كائن الرابط على ثلاثة
الصفات: الألوان, توجيهاتو قائمة انتظار نقاط البيع.
حاليًا، لا ينبغي استدعاء الدالتين التاليتين مباشرةً. استخدم $ns رابط مزدوج
op بدلاً من ذلك، راجع القسم المقابل في صفحة الدليل هذه.
$ لينك المشرق أوري
تعيين اتجاه الرابط إلى أوري. عند استدعائه قبل بدء تشغيل جهاز المحاكاة
عند التشغيل، فإنه يغير الاتجاه الافتراضي للرابط في ملف تتبع nam، إذا كان هناك
واحد. إذا لم يتم تحديد الاتجاه لأي رابط، فسيستخدم nam التخطيط التلقائي.
الاتجاه الافتراضي لكائن الارتباط غير محدد.
$ لينك موقف الطابور بعد
تعيين موضع قائمة الانتظار للرابط إلى بعد. عند استدعائه قبل بدء تشغيل جهاز المحاكاة
لتشغيله، فإنه يغير وضع قائمة الانتظار الافتراضي للرابط البسيط في تتبع nam
الملف، إذا كان هناك واحد. بعد يحدد الزاوية بين الخط الأفقي و
الخط الذي سيتم عرض الحزم المدرجة على طوله.
سيمبل لينك الأجسام
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.]
$ لينك التكلفة قيمة التكلفة
المصنع قيمة التكلفة تكلفة هذا الرابط.
$ لينك كلفة؟
إرجاع تكلفة هذا الرابط.
أية معلمات تكوين أو متغيرات حالة؟
ديلاي لينك الأجسام
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.]
تحدد كائنات DelayLink مقدار الوقت المطلوب لحزمة ما لعبور رابط.
يتم تعريف ذلك على أنه الحجم/عرض النطاق الترددي + التأخير حيث يكون الحجم هو حجم الحزمة، وعرض النطاق الترددي هو الرابط
عرض النطاق الترددي والتأخير هما تأخير انتشار الرابط. لا توجد طرق أو حالات
المتغيرات المرتبطة بهذا الكائن.
الاعداد المعاملات
عرض النطاق الترددي_
عرض النطاق الترددي للرابط بالبت في الثانية.
تأخير_ تأخير انتشار الرابط بالثواني.
لا توجد متغيرات حالة مرتبطة بهذا الكائن.
NETWORK ديناميكيات طرق
يصف هذا القسم طرقًا لجعل الروابط والعقد في الطوبولوجيا تتحرك لأعلى ولأسفل
وفقًا لتوزيعات مختلفة. ينبغي عمومًا استخدام بروتوكول التوجيه الديناميكي
كلما كان من المقرر إجراء محاكاة باستخدام ديناميكيات الشبكة. لاحظ أن الطوبولوجيا الثابتة
النموذج هو الافتراضي في ns.
$ns com.rtmodel نموذج معلمات النموذج node1 [العقدة 2]
اصنع الرابط بين node1 و node2 التغيير بين الحالات العليا والسفلى وفقًا لـ
إلى النموذج نموذج. في حالة فقط node1 يتم تحديد جميع الروابط الواقعة على
سيتم رفع وخفض العقدة وفقًا لما هو محدد نموذج. معلمات النموذج
يحتوي على المعلمات المطلوبة للنموذج ذي الصلة ويجب تحديده كـ
القائمة أي أن المعلمات يجب أن تكون محاطة بأقواس متعرجة. نموذج يمكن أن تكون واحدة من
حتمي، متسارع، كتيب، أثر. إرجاع مقبض إلى كائن النموذج
المقابلة للمحدد نموذج.
في النموذج الحتمي معلمات النموذج is [وقت البدء] فترة تصاعدية فترة هبوطية
[وقت الانتهاء]. تبدأ من وقت البدء تم إنشاء الرابط من أجل فترة تصاعدية و
إلى أسفل ل فترة هبوطية إلى وقت الانتهاء تم الوصول إلى القيم الافتراضية لبدء التشغيل
الوقت، والفاصل الزمني للصعود، والفاصل الزمني للانخفاض هي 0.5 ثانية، و2.0 ثانية، و1.0 ثانية على التوالي. وقت الانتهاء
يتم تعيينه افتراضيًا إلى نهاية المحاكاة. يتم تعيين وقت البدء افتراضيًا إلى 0.5 ثانية من أجل
دع حساب بروتوكول التوجيه يتوقف.
إذا تم استخدام النموذج الأسي معلمات النموذج هو من النموذج فترة تصاعدية أسفل-
الفاصلة حيث يكون وقت الارتباط هو توزيع أسي حول المتوسط فوق-
الفاصلة ووقت تعطل الرابط هو توزيع أسي حول المتوسط
فاصل تنازلي. القيم الافتراضية لـ فترة تصاعدية و فترة هبوطية هل هما 10 و 1؟
على التوالي.
إذا تم استخدام التوزيع اليدوي معلمات النموذج is at op أين at يحدد
الوقت الذي تتم فيه العملية op يجب أن يحدث. op هي واحدة من فوق، إلى أسفل. الدليل
يمكن تحديد التوزيع بالتناوب باستخدام rtmodel-at الطريقة الموصوفة
لاحقًا في القسم.
إذا تم تحديد التتبع على أنه نموذج يتم قراءة ديناميكيات الارتباط/العقدة من Tracefile.
إنّ كافة أنواع عهود الـ معلمات النموذج ستكون الحجة في هذه الحالة هي مقبض الملف الخاص بـ Tracefile
يحتوي على معلومات الديناميكيات. تنسيق ملف التتبع مطابق لتنسيق ملف التتبع.
الناتج الناتج عن طريقة ارتباط ديناميكيات التتبع (انظر التتبع والمراقبة)
قسم الطرق).
$ns حذف نموذج rtmodel مقبض النموذج
حذف مثيل نموذج المسار المحدد بواسطة مقبض النموذج.
$ns rtmodel-at at op node1 [العقدة 2]
يستخدم لتحديد أوقات التشغيل والإيقاف للرابط بين العقد node1 و العقدة 2.
فقط لو node1 يتم إعطاء جميع الروابط الحادثة على node1 سيتم رفعها وخفضها.
at هو الوقت الذي تتم فيه العملية op وهذا يمكن أن يكون إما up or إلى أسفل هو أن يكون
تم إجراؤها على الرابط(الروابط) المحدد(ة).
كيو الأجسام
كائن قائمة الانتظار هو فئة عامة من الكائنات القادرة على الاحتفاظ بها وربما وضع علامة عليها أو
التخلص من الحزم أثناء انتقالها عبر الطوبولوجيا المحاكاة.
الاعداد المعاملات
قصر_ حجم قائمة الانتظار بالحزم.
سدت_
تم ضبطه على "خطأ" بشكل افتراضي، وهذا صحيح إذا تم حظر قائمة الانتظار (غير قادر على
إرسال حزمة إلى جارتها في اتجاه مجرى النهر).
إلغاء الحظر على السيرة الذاتية_
تم ضبطه على "صحيح" بشكل افتراضي، مما يشير إلى أنه يجب على قائمة الانتظار إلغاء حظر نفسها في ذلك الوقت
تم إرسال الحزمة الأخيرة المرسلة (ولكن ليس بالضرورة
تلقى).
ذيل منسدل الأجسام
كائنات Drop-tail هي فئة فرعية من كائنات Queue التي تنفذ قائمة انتظار FIFO البسيطة. هناك
لا توجد طرق خاصة بكائنات الذيل المنسدل. معلمة التكوين الوحيدة
is إسقاط الجبهة_، والذي عندما يتم تعيينه على true يتسبب في أن يتصرف الطابور كإسقاط من الأمام
انضباط الطابور. هذا المتغير مُعيَّن إلى خطأ افتراضيًا.
FQ الأجسام
كائنات FQ هي فئة فرعية من كائنات قائمة الانتظار التي تنفذ قائمة انتظار عادلة. لا يوجد
الأساليب الخاصة بأشياء FQ.
الاعداد المعاملات
ثانية لكل بايت_
لا توجد متغيرات حالة مرتبطة بهذا الكائن.
SFQ الأجسام
كائنات SFQ هي فئة فرعية من كائنات قائمة الانتظار التي تنفذ قائمة انتظار عادلة عشوائية. هناك
لا توجد طرق خاصة بكائنات SFQ.
الاعداد المعاملات
ماكس كويو_
دلاء_
لا توجد متغيرات حالة مرتبطة بهذا الكائن.
الحد من مخاطر الكوارث الأجسام
تعتبر كائنات DRR فئة فرعية من كائنات قائمة الانتظار التي تنفذ جدولة الدوريات العجزية.
تنفذ هذه الكائنات جدولة العجز الدوري بين التدفقات المختلفة (أ
التدفق المحدد هو الذي يحتوي على حزم لها نفس معرف العقدة والمنفذ أو الحزم التي
يكون لها نفس معرف العقدة فقط). أيضًا على عكس كائنات قائمة الانتظار المتعددة الأخرى، فإن كائن قائمة الانتظار هذا
تنفيذ مساحة تخزين مؤقتة مشتركة واحدة لتدفقاتها المختلفة.
الاعداد المعاملات
دلاء_
يشير إلى العدد الإجمالي للدلاء التي سيتم استخدامها لتجزئة كل منها
يطفو.
حد أقصى_
يشير إلى حجم المخزن المؤقت المشترك بالبايت.
كمية_
يشير (بالبايت) إلى مقدار ما يمكن لكل تدفق إرساله أثناء دورته.
قناع_ mask_، عندما يتم ضبطه على 1، يعني أن تدفقًا معينًا يتكون من حزم
وجود نفس معرف العقدة (وربما معرفات منافذ مختلفة)، وإلا فإن التدفق
يتكون من الحزم التي لها نفس معرفات العقدة والمنفذ.
أحمر الأجسام
كائنات RED هي فئة فرعية من كائنات قائمة الانتظار التي تنفذ الكشف المبكر العشوائي
بوابات. يمكن تكوين الكائن لإسقاط الحزم أو "تمييزها". لا توجد
الأساليب الخاصة بأشياء RED.
الاعداد المعاملات
بايت_ تم ضبطه على "true" لتمكين "وضع البايت" باللون الأحمر، حيث يتم تحديد حجم البيانات الواردة
تؤثر الحزم على احتمالية وضع علامة (إسقاط) على الحزم.
قائمة الانتظار بالبايتات_
تم ضبطه على "صحيح" لقياس متوسط حجم قائمة الانتظار بالبايتات بدلاً من
الحزم. يؤدي تمكين هذا الخيار أيضًا إلى درس الحنطة_ و ماكس ثريش_ أن تكون
يتم القياس تلقائيًا بواسطة متوسط حجم العبوة_ (انظر أدناه).
درس الحنطة_
الحد الأدنى لحجم قائمة الانتظار المتوسط بالحزم.
ماكس ثريش_
الحد الأقصى لحجم قائمة الانتظار المتوسطة بالحزم.
متوسط حجم العبوة_
تقدير تقريبي لمتوسط حجم الحزمة بالبايتات. يُستخدم في تحديث
تم حساب متوسط حجم قائمة الانتظار بعد فترة الخمول.
وزن_q_
وزن قائمة الانتظار، المستخدم في المتوسط المتحرك المرجح الأسي لـ
حساب متوسط حجم قائمة الانتظار.
انتظر_ تم ضبطه على true للحفاظ على الفاصل الزمني بين الحزم المسقطة.
لينتيرم_
نظرًا لأن متوسط حجم قائمة الانتظار يختلف بين "thresh_" و"maxthresh_"،
يتراوح احتمال إسقاط الحزمة بين 0 و"1/linterm".
مجموعة بت_
اضبط على "صحيح" لتمييز الحزم عن طريق ضبط بت مؤشر الازدحام في
رؤوس الحزم بدلاً من الحزم المسقطة.
ذيل منسدل_
اضبط على "صحيح" لاستخدام الإسقاط الذيلي بدلاً من الإسقاط العشوائي أو الإسقاط من الأمام عندما
تجاوزت قائمة الانتظار الحد الأقصى أو تجاوز متوسط حجم قائمة الانتظار "maxthresh_". هذا هو
السلوك الافتراضي. لمزيد من التوضيح لهذه المتغيرات، راجع
[2].
دروب راند_
اضبط على "صحيح" لاستخدام الإسقاط العشوائي بدلاً من الإسقاط الذيلي أو الإسقاط من الأمام عندما
تجاوزت قائمة الانتظار الحد الأقصى أو تجاوز متوسط حجم قائمة الانتظار "maxthresh_".
إسقاط الجبهة_
اضبط على "صحيح" لاستخدام الإسقاط من الأمام بدلاً من الإسقاط الذيلي أو الإسقاط العشوائي عندما
تجاوزت قائمة الانتظار الحد الأقصى أو تجاوز متوسط حجم قائمة الانتظار "maxthresh_".
متوافق مع ns1_
تم ضبطه على "صحيح" لتجنب إعادة تعيين العدد منذ إسقاط الحزمة الأخير، بعد
تم إسقاط الحزمة القسرية. هذا يضمن التوافق مع السلوك السابق.
من اللون الأحمر. الإعداد الافتراضي هو خطأ.
entle_ اضبط على true لزيادة معدل إسقاط الحزمة ببطء من max_p إلى 1
يتراوح متوسط حجم قائمة الانتظار من الحد الأقصى إلى ضعف الحد الأقصى. الافتراضي هو
تم ضبطه على false، ويزداد max_p فجأة من max_p إلى 1 عندما يكون المتوسط
حجم قائمة الانتظار يتجاوز الحد الأقصى.
الولايه او المحافظه المتغيرات
لا يمكن الوصول إلى أي من متغيرات الحالة الخاصة بتنفيذ RED.
البنك التجاري القطري الأجسام
تعتبر كائنات CBQ فئة فرعية من كائنات قائمة الانتظار التي تنفذ قائمة الانتظار المستندة إلى الفئة.
سي بي كيو أدخل فئة
إدراج فئة المرور فئة في بنية مشاركة الارتباط المرتبطة بالرابط
موضوع سي بي كيو.
سي بي كيو ربط فئة cbq معرف 1 [$id2]
تسبب في حزم تحتوي على معرف التدفق معرف 1 (أو تلك الموجودة في النطاق معرف 1 إلى معرف 2
(شاملة) ليتم ربطها بفئة المرور $cbqclass.
سي بي كيو خوارزمية خوارزمية
حدد خوارزمية CBQ الداخلية. خوارزمية يمكن ضبطها على أحد الخيارات التالية: "الأسلاف فقط"،
"المستوى الأعلى"، أو "رسمي".
سي بي كيو/دبليو آر آر الأجسام
كائنات CBQ/WRR هي فئة فرعية من كائنات CBQ التي تنفذ دورة روبن مرجحة
الجدولة بين الفئات من نفس مستوى الأولوية. في المقابل، تُنفّذ كائنات CBQ
جدولة دورية للحزمة تلو الأخرى بين فئات من نفس مستوى الأولوية.
الاعداد المعاملات
ماكسبكت_
الحد الأقصى لحجم الحزمة بالبايتات. يُستخدم هذا فقط بواسطة كائنات CBQ/WRR.
في حساب تخصيصات النطاق الترددي الأقصى للدورة المرجحة
المجدول.
فئة CBQ الأجسام
تنفذ كائنات CBQClass فئات المرور المرتبطة بكائنات CBQ.
فئة cbq تعيين المعلمات أصل أوكبورو خص الحد الأقصى PRIO مستوى تأخير إضافي
يقوم بتعيين العديد من معلمات التكوين لفئة حركة المرور CBQ (انظر أدناه).
فئة cbq أصل [$cbqcl|لا شيء]
حدد الأصل لهذه الفئة في شجرة مشاركة الارتباطات. قد يكون الأصل
تم تحديده كـ "لا شيء" للإشارة إلى أن هذه الفئة هي جذر.
فئة cbq نيولوت $a
تغيير تخصيص الارتباط لهذه الفئة إلى المقدار المحدد (في النطاق من 0.0 إلى
1.0). لاحظ أن الفئة المحددة فقط هي المتأثرة.
فئة cbq قائمة انتظار التثبيت $q
ثبّت كائن قائمة انتظار في بنية ارتباط CBQ أو CBQ/WRR المركبة. عند استخدام CBQ
عندما يتم إنشاء الكائن في البداية، فإنه لا يتضمن أي قائمة انتظار داخلية (حزمة فقط)
(المصنف والمجدول).
الاعداد المعاملات
أوكبورو_
هو قيمة منطقية تشير إلى أن الفصل مسموح له باستعارة النطاق الترددي من
الأبوين.
تخصيص_ هو الحد الأقصى لكسر عرض النطاق الترددي للرابط المخصص للفئة المعبر عنها
كعدد حقيقي بين 0.0 و 1.0.
ماكسيدل_
هو الحد الأقصى للمدة التي قد يتطلبها الفصل للحصول على حزمه
تم وضعهم في قائمة الانتظار قبل السماح لهم بالتوجه
أولوية_
هو مستوى أولوية الفصل بالنسبة للفصول الأخرى. قد تكون هذه القيمة
يتراوح النطاق من 0 إلى 10، وقد توجد أكثر من فئة بنفس الأولوية.
الأولوية 0 هي الأولوية الأعلى.
مستوى_ هو مستوى هذه الفئة في شجرة مشاركة الروابط. العقد الورقية في الشجرة
يُعتبرون في المستوى 1؛ ووالديهم في المستوى 2، وهكذا.
تأخير إضافي_
زيادة التأخير الذي تواجهه الفئة المتأخرة بالعدد المحدد من
ثواني.
مراقب قائمة الانتظار الأجسام
يتم استخدام كائنات QueueMonitor لمراقبة مجموعة من الحزم والبايتات الواردة والمغادرة
عدادات الإسقاط. كما يتضمن دعمًا لإحصائيات التجميع مثل متوسط قائمة الانتظار
الحجم، وما إلى ذلك [انظر أساليب التتبع والمراقبة].
مراقب قائمة الانتظار إعادة تعيين
إعادة ضبط جميع العدادات التراكمية الموضحة أدناه (الوصول والمغادرة والإنزال)
إلى الصفر. كما يجب إعادة ضبط المُدمِجات وعينة التأخير، إذا تم تعريفها.
مراقب قائمة الانتظار عينات تأخير الضبط تأخير سامب_
إعداد كائن العينات تأخير سامب_ لتسجيل الإحصائيات حول تأخيرات قائمة الانتظار.
تأخير سامب_ هو مقبض لكائن العينات، أي يجب أن يحتوي كائن العينات على
تم إنشاؤها بالفعل.
مراقب قائمة الانتظار مُدمج البايتات
إرجاع كائن Integrator الذي يمكن استخدامه للعثور على تكامل قائمة الانتظار
الحجم بالبايتات. (انظر قسم كائنات المُدمِج).
مراقب قائمة الانتظار الحصول على مُدمج الحزم
إرجاع كائن Integrator الذي يمكن استخدامه للعثور على تكامل قائمة الانتظار
الحجم بالحزم. (انظر قسم كائنات المُتكامل).
مراقب قائمة الانتظار الحصول على عينات التأخير
إرجاع كائن العينات تأخير سامب_ لتسجيل الإحصائيات حول تأخيرات قائمة الانتظار (انظر
قسم عينات الكائنات).
لا توجد معلمات تكوين خاصة بهذا الكائن.
الولايه او المحافظه المتغيرات
المقاس_ حجم قائمة الانتظار اللحظية بالبايت.
حزم_ حجم قائمة الانتظار اللحظية بالحزم.
أقارب_
إجمالي الحزم التي وصلت.
باريفالز_
إجمالي عدد البايتات الموجودة في الحزم التي وصلت.
المغادرة_
إجمالي عدد الحزم التي غادرت (لم يتم إسقاطها).
المغادرة_
إجمالي عدد البايتات الموجودة في الحزم التي غادرت (ليس
(أسقطت).
قطرات_
إجمالي عدد الحزم المسقطة.
قطرات بي دي_
إجمالي عدد البايتات المسقطة.
بايت إنت_
كائن تكامل يحسب تكامل حجم قائمة الانتظار بالبايتات.
إنّ كافة أنواع عهود الـ مجموع_ متغير هذا الكائن له المجموع التشغيلي (التكاملي) لقائمة الانتظار
الحجم بالبايت.
حزمة Int_
كائن مُتكامل يحسب تكامل حجم قائمة الانتظار بالحزم.
إنّ كافة أنواع عهود الـ مجموع_ متغير هذا الكائن له المجموع التشغيلي (التكاملي) لقائمة الانتظار
الحجم بالحزم.
مراقب قائمة الانتظار/ED الأجسام
هذا الكائن المشتق قادر على التمييز بين إسقاطات الحزم المنتظمة من في وقت مبكر قطرات.
تميز بعض الطوابير بين الانخفاضات العادية (على سبيل المثال الانخفاضات بسبب استنفاد المخزن المؤقت) من الانخفاضات الأخرى
عمليات إسقاط (على سبيل المثال عمليات إسقاط عشوائية في طوابير RED). في بعض الظروف، من المفيد
التمييز بين هذين النوعين من القطرات.
الولايه او المحافظه المتغيرات
قطرات العين_
عدد الحزم التي تم إسقاطها "مبكرًا".
قطرات الماء_
عدد البايتات التي تتكون منها الحزم التي تم إسقاطها "مبكرًا"
ملحوظة: نظرًا لأن هذه الفئة هي فئة فرعية من QueueMonitor، فإن الكائنات من هذا النوع لها أيضًا
حقول مثل pdrops_ وbdrops_. تصف هذه الحقول مجموع عدد المتساقطين
الحزم والبايتات، بما في ذلك عمليات الإسقاط المبكرة وغير المبكرة.
مراقب قائمة الانتظار/ED/FLOWMON الأجسام
يمكن استخدام هذه الكائنات بدلاً من كائن QueueMonitor التقليدي عند الرغبة في ذلك
لجمع أعداد وإحصائيات لكل تدفق بالإضافة إلى الأعداد الإجمالية و
الإحصائيات المقدمة بواسطة QueueMonitor الأساسي.
$fmon صنف [$cl]
أدخل (اقرأ) المصنف المحدد في (من) كائن مراقبة التدفق. هذا
يتم استخدامه لربط الحزم الواردة بالتدفقات المرتبطة بها.
$fmon تفريغ
قم بإفراغ عدادات وإحصائيات التدفق الحالية إلى قناة الإدخال/الإخراج المحددة في
عملية الإرفاق السابقة.
$fmon تدفقات
إرجاع سلسلة أحرف تحتوي على أسماء جميع كائنات التدفق المعروفة بهذا
مراقب التدفق. كل هذه الكائنات من نوع QueueMonitor/ED/Flow.
$fmon يرفق تشان
قم بتوصيل قناة إدخال/إخراج tcl بجهاز مراقبة التدفق. تُكتب إحصائيات التدفق إلى
القناة عند تنفيذ عملية التفريغ.
الاعداد المعاملات
تمكين_في_
تم ضبطه على "صحيح" بشكل افتراضي، يشير إلى أنه يجب الاحتفاظ بحالة الوصول لكل تدفق
بواسطة مراقب التدفق. إذا تم ضبطه على "خطأ"، فسيتم فقط الوصول الكلي
يتم الاحتفاظ بالمعلومات.
تمكين_الخروج_
تم ضبطه على "صحيح" بشكل افتراضي، يشير إلى أنه يجب أن تكون حالة المغادرة لكل تدفق
يتم الاحتفاظ بها بواسطة مراقب التدفق. إذا تم ضبطها على "خطأ"، فسيتم فقط تسجيل المغادرة الإجمالية
يتم الاحتفاظ بالمعلومات.
تمكين_الإسقاط_
تم ضبطه على "صحيح" بشكل افتراضي، يشير إلى أنه يجب الاحتفاظ بحالة الإسقاط لكل تدفق بواسطة
مراقب التدفق. إذا تم ضبطه على "خطأ"، فسيتم عرض معلومات الانخفاض الإجمالية فقط.
أبقى.
تمكين_الإسقاط_
تم تعيينه على true بشكل افتراضي، يشير إلى أنه يجب أن تكون حالة الإسقاط المبكر لكل تدفق
يُحفظ بواسطة مراقب التدفق. إذا تم ضبطه على "خطأ"، فسيتم فقط عرض الانخفاض المبكر الكلي
يتم الاحتفاظ بالمعلومات.
مراقبة قائمة الانتظار/ED/التدفق الأجسام
تحتوي هذه الكائنات على عدد التدفقات والإحصائيات التي تتم إدارتها بواسطة QUEUEMONITOR/ED/FLOWMON
الكائن. يتم إنشاؤها عمومًا في إجراء استدعاء OTcl عند مراقبة التدفق
عند إعطاء حزمة، لا يمكن ربطها بتدفق معروف. لاحظ أن مُصنِّف مُراقب التدفق
مسؤول عن ربط الحزم بالتدفقات بطريقة عشوائية. وبالتالي، بناءً على
نوع المصنف المستخدم، قد لا تكون جميع متغيرات الحالة ذات صلة (على سبيل المثال، قد يكون هناك واحد
تصنيف الحزم بناءً على معرف التدفق فقط، وفي هذه الحالة يتم تحديد عناوين المصدر والوجهة
قد لا تكون ذات أهمية).
الولايه او المحافظه المتغيرات
المصدر_ عنوان المصدر للحزم التي تنتمي إلى هذا التدفق.
dst_ عنوان الوجهة للحزم التي تنتمي إلى هذا التدفق.
معرف التدفق_
معرف تدفق الحزم التي تنتمي إلى هذا التدفق.
البث الأحادي ROUTING طرق
يمكن تحديد بروتوكول توجيه أحادي البث الديناميكي ليتم تشغيله على مجموعة فرعية من العقد في
الطوبولوجيا. لاحظ أنه يجب استخدام بروتوكول التوجيه الديناميكي بشكل عام كلما
يتم إجراء المحاكاة باستخدام ديناميكيات الشبكة.
$ns rtproto بروتو قائمة العقد
يحدد بروتوكول التوجيه أحادي البث الديناميكي بروتو ليتم تشغيلها على العقد
المحدد من قبل قائمة العقد. حاليا بروتو يمكن أن يكون واحدًا من Static أو Session أو DV. ثابت
التوجيه هو الإعداد الافتراضي. تعني الجلسة أن مسارات البث الأحادي عبر الشبكة بأكملها
يتم إعادة حساب الطوبولوجيا بشكل فوري عند ارتفاع أو انخفاض الرابط. DV
وهذا يعني أنه سيتم محاكاة بروتوكول توجيه متجه المسافة البسيط. العقدة-
الإدارية افتراضيًا لجميع العقد في الطوبولوجيا.
$ns مسارات الحوسبة
احسب المسارات بين جميع العقد في الطوبولوجيا. يمكن استخدام هذا إذا كانت الشبكة ثابتة.
تم إجراء التوجيه ويجب إعادة حساب المسارات وفقًا لحالة الرابط
تم تغييره. لاحظ أن توجيه الجلسة (انظر rtproto (الطريقة أعلاه) سوف تعيد الحساب
يتم توجيه المسارات تلقائيًا عندما تتغير حالة أي رابط في الطوبولوجيا.
$ns الحصول على مسار المنطق
إرجاع مقبض إلى كائن RouteLogic الذي يحتوي على طرق للبحث في جدول التوجيه
وما إلى ذلك.
روتيلوجيك الأجسام
$routelogic بحث com.srcid ديستيد
إرجاع معرف العقدة التي تمثل القفزة التالية من العقدة ذات المعرف com.srcid إلى
عقدة ذات معرف ديستيد.
$routelogic تفريغ عقدة
قم بإفراغ جداول التوجيه لجميع العقد التي يكون معرفها أقل من معرف العقدة. معرفات العقدة هي
يتم تعيينها عادة إلى العقد بطريقة تصاعدية بدءًا من 0 حسب ترتيبها
خلق.
RTOBJECT الأجسام
ستحتوي كل عقدة تشارك في بروتوكول التوجيه أحادي البث الديناميكي على مثيل من
rtObject (راجع قسم كائنات العقدة لمعرفة الطريقة للحصول على مقبض لهذا الكائن في
عقدة معينة). لاحظ أن العقد لن يكون لها مثيل لهذا الكائن إذا كانت الجلسة
يتم إجراء التوجيه كبروتوكول توجيه مفصل لا يتم محاكاته في هذه الحالة.
كائن rt طرق الإغراق معرف الملف
إرسال جدول التوجيه إلى قناة الإخراج المحددة بواسطة معرف الملف. معرف الملف يجب أن يكون
مقبض الملف الذي تم إرجاعه بواسطة Tcl جاكيت الأمر ويجب أن يكون مفتوحًا لـ
جاري الكتابة.
كائن rt rtProto؟ بروتو
يعيد مقبضًا إلى وكيل بروتوكول التوجيه المحدد بواسطة بروتو إذا كان موجودا في
هذه العقدة. وإلا فسيتم إرجاع سلسلة فارغة.
كائن rt التاليهوب؟ معرف الوجهة
إرجاع معرف العقدة التي تمثل القفزة التالية إلى الوجهة المحددة بواسطة
معرف العقدة، معرف الوجهة.
كائن rt rtpref؟ معرف الوجهة
كائن rt متري؟ معرف الوجهة
متعدد ROUTING طرق
يتم تمكين توجيه البث المتعدد عن طريق ضبط متغير Simulator EnableMcast_ إلى 1 في
بداية المحاكاة. لاحظ أنه يجب ضبط هذا المتغير قبل أي عقدة أو رابط أو
يتم إنشاء كائنات العميل في المحاكاة. كما يجب إنشاء روابط باستخدام
تسميات الواجهة (انظر طرق الارتباط البسيط والارتباط المزدوج في قسم أوامر NS).
$ns mrtproto بروتو قائمة العقد
يحدد بروتوكول توجيه البث المتعدد بروتو ليتم تشغيله على العقد المحددة بواسطة
قائمة العقد. حاليا بروتو يمكن أن يكون أحد CtrMcast، DM، detailDM، dynamicDM،
pimDM. قائمة العقد افتراضيًا، جميع العقد في الطوبولوجيا. يُرجع مقبضًا إلى
كائن خاص بالبروتوكول يحتوي على طرق ومعلمات تكوين خاصة به
هذا البروتوكول. لاحظ أنه يتم حاليًا إرجاع كائن CtrMcastComp إذا كان CtrMcast
يتم استخدامه ولكن يتم إرجاع سلسلة فارغة إذا تم استخدام DM أو detailDM أو dynamicDM أو pimDM.
إذا كان البروتوكول هو 'CtrMcast'، فسيتم إنشاء شجرة مشتركة ذات جذر نقطة الالتقاء (RP) لـ
مجموعة البث المتعدد. الإرسال الفعلي لرسائل التقليم والانضمام، وما إلى ذلك، لإعداد الحالة
لا تتم محاكاة العقد. يتم استخدام وكيل حساب مركزي لحساب
أشجار التوجيه وإعداد حالة توجيه البث المتعدد، (*،G) في المكان ذي الصلة
العقد عند انضمام مستقبلين جدد إلى مجموعة. حزم البيانات من المرسلين إلى المجموعة
أحادي البث إلى RP. تتوفر الطرق في كائن CtrMcastComp (انظر
قسم (CTRMCASTCOMP OBJECTS) الذي يتم إرجاعه بواسطة mrtproto للتبديل إلى المصدر-
أشجار محددة، اختر بعض العقد كمرشحات لـ RPs وما إلى ذلك. عندما تكون العقدة/الرابط على
يتم تعطل شجرة توزيع البث المتعدد، ويتم إعادة حساب الشجرة على الفور.
إذا كان البروتوكول "DM"، فسيتم محاكاة الوضع الكثيف المماثل لـ DVMRP. تُستخدم قوائم الوالدين والأبناء.
لتقليل عدد الروابط التي يتم بث حزم البيانات عبرها. قم بالتقليم
يتم إرسال الرسائل بواسطة العقد لإزالة الفروع من شجرة إعادة توجيه البث المتعدد
لا تؤدي إلى أي أعضاء في المجموعة. مهلة التقليم الافتراضية هي 0.5 ثانية.
(راجع قسم "كائنات DM" لتغيير الإعداد الافتراضي). هذا لا يتوافق مع الشبكة.
التغييرات. لا يوجد حاليًا أي دعم للعمل السليم في الطوبولوجيات
مع شبكات LAN.
إذا كان البروتوكول هو 'detailedDM'، فإن بروتوكول الوضع الكثيف يعتمد على بروتوكول مستقل
تم محاكاة الوضع الكثيف المتعدد البث (PIM-DM). هذا هو الوضع الأكثر اكتمالاً حاليًا.
إصدار بروتوكول الوضع الكثيف في جهاز المحاكاة ويوصى باستخدامه على
بروتوكولات الوضع الكثيف الأخرى. تتكيف مع ديناميكيات الشبكة ووظائفها.
بشكل صحيح في الطوبولوجيات مع شبكات LAN (حيث يتم إنشاء شبكات LAN باستخدام الارتباط المتعدد لـ
طريقة الواجهة - راجع أوامر NS). في حالة وجود احتمالات متعددة
بالنسبة للموجهين لشبكة LAN، يتم اختيار العقدة ذات أعلى معرف كموجه (هذا
يتم ذلك من خلال آلية التأكيد). القيم الافتراضية لمهلة التقليم،
مهلة حذف الواجهة (تستخدم لشبكات LAN) ومهلة إعادة إرسال الطعم هي
0.5 ثانية، 0.1 ثانية و0.05 ثانية على التوالي. (انظر Prune/Iface/Timer، Deletion/Iface/Timer
وكائنات GraftRtx/Timer على التوالي لتغيير القيم الافتراضية وللمزيد من المعلومات
معلومات عن المؤقتات).
إذا كان البروتوكول هو 'dynamicDM'، فهو بروتوكول وضع كثيف يشبه DVMRP يتكيف مع الشبكة
تتم محاكاة التغييرات. معلومات "عكس السم" (أي المعلومات التي
تستخدم العقدة المجاورة المحددة هذه العقدة للوصول إلى شبكة معينة) تتم قراءتها
من جداول التوجيه الخاصة بالعقد المجاورة من أجل التكيف مع ديناميكيات الشبكة
(يدير DVMRP بروتوكول التوجيه أحادي البث الخاص به والذي يتبادل هذه المعلومات).
لا يدعم التنفيذ الحالي الأداء السليم في الطوبولوجيات ذات الشبكات المحلية.
قيمة مهلة التقليم هي 0.5 ثانية بشكل افتراضي (راجع قسم كائنات DM لتغيير
إفتراضي).
إذا كان البروتوكول هو 'pimDM'، فسيتم محاكاة الوضع الكثيف المتعدد البث المستقل عن البروتوكول. في
في هذه الحالة يتم بث حزم البيانات عبر جميع الروابط الصادرة باستثناء
الرابط الوارد. تُرسل العقد رسائل التقليم لإزالة فروع
شجرة إعادة توجيه متعددة البث لا تؤدي إلى أي أعضاء في المجموعة.
لا يتكيف التنفيذ مع ديناميكيات الشبكة ولا يدعم التشغيل السليم
يعمل في طوبولوجيات الشبكات المحلية. مهلة التقليم الافتراضية هي ٠.٥ ثانية.
(راجع قسم DM OBJECTS لتغيير الإعداد الافتراضي).
CTRMCASTCOMP الأجسام
يتم إرجاع مقبض لكائن CtrMcastComp عندما يتم تحديد البروتوكول على أنه
'CtrMcast' في mrtproto.
$ctrmcastcomp نوع شجرة التبديل عنوان المجموعة
التبديل من شجرة مشتركة ذات جذور في نقطة اللقاء إلى أشجار خاصة بالمصدر
المجموعة المحددة بواسطة عنوان المجموعة لاحظ أنه لا يمكن استخدام هذه الطريقة للتبديل
من الأشجار الخاصة بالمصدر إلى شجرة مشتركة لمجموعة متعددة البث.
$ctrmcastcomp مجموعة_c_rp قائمة العقد
جعل جميع العقد المحددة في قائمة العقد كمرشحين RPs وتغيير حالة
جميع العقد الأخرى ليست مرشحة لـ RPs. لاحظ أن جميع العقد مرشحة لـ RPs.
افتراضيًا. حاليًا، تعمل العقدة ذات أعلى مُعرِّف عقدة كنقطة وصول لجميع
مجموعات البث المتعدد. يجب استدعاء هذه الطريقة قبل أن يبدأ أي مصدر في الإرسال
الحزم إلى المجموعة أو ينضم أي متلقي إلى المجموعة.
$ctrmcastcomp الحصول على rp العقدة رأس التجميع
إرجاع RP للمجموعة كما تراها العقدة العقدة لمجموعة البث المتعدد مع
العنوان عنوان المجموعة لاحظ أن العقد المختلفة قد ترى نقاط RP مختلفة للمجموعة
إذا تم تقسيم الشبكة، فقد تكون العقد موجودة في أقسام مختلفة.
DM الأجسام
تنفذ كائنات DM نمط DVMRP متعدد البث الكثيف حيث يتم استخدام قوائم الوالدين والطفل
تقليل عدد الروابط التي يتم بث حزم البيانات الأولية عبرها. لا توجد
الأساليب أو متغيرات الحالة الخاصة بهذا الكائن.
الاعداد المعلمات
مهلة التقليم
قيمة المهلة لحالة التقليم في العقد.
تقليم/واجهة/مؤقت الأجسام
تُستخدم كائنات Prune/Iface/Timer لتنفيذ مؤقت prune لإدارة البيانات التفصيلية. هناك
لا توجد طرق أو متغيرات حالة خاصة بهذا الكائن.
الاعداد المعلمات
مهلة
قيمة المهلة لحالة التقليم في العقد.
الحذف/واجهة المستخدم/المؤقت الأجسام
يتم استخدام كائنات الحذف/الواجهة/المؤقت لتنفيذ مؤقت حذف الواجهة الذي
مطلوبة لضمان الأداء السليم للعقد التي تُعدّ جزءًا من شبكات LAN. إذا كانت العقدة تحتوي على شبكة LAN
كواجهة واردة للحزم من مصدر معين وليس لها أي
الأعضاء المتجهين نحو المصب يرسلون رسالة تقليم إلى الشبكة المحلية. أي عقدة لديها الشبكة المحلية
كواجهة واردة لنفس المصدر ولديها أعضاء في اتجاه مجرى النهر عند الاستماع
سيتم إرسال رسالة ربط إلى الشبكة المحلية. عندما تكون العقدة التي
يعمل كمعيد توجيه لشبكة LAN ويسمع رسالة التقليم من شبكة LAN، ولا يفعل ذلك
قم بإزالة الشبكة المحلية فورًا كواجهة خارجية لها. بدلاً من ذلك، قم بتشغيل واجهة
مؤقت حذف للواجهة الصادرة. سيقوم المُرسِل بإزالة الشبكة المحلية (LAN)
الواجهة الصادرة فقط إذا لم تستقبل أي رسائل انضمام من الشبكة المحلية قبل
انتهى وقت الحذف. لا توجد طرق أو متغيرات حالة خاصة بهذا الكائن.
الاعداد المعلمات
مهلة
قيمة المهلة الزمنية لمؤقت حذف الواجهة.
GRAFTRTX/المؤقت الأجسام
يتم استخدام كائنات GraftRtx/Timer لتنفيذ مؤقت إعادة إرسال الطعم في العقد.
يتم ذلك لضمان موثوقية الطعوم المرسلة إلى المنبع بواسطة العقدة.
الاعداد المعلمات
مهلة
قيمة المهلة الزمنية لمؤقت إعادة نقل الطعم.
وكيل الأجسام
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.]
وكيل ميناء
أعد منفذ مستوى النقل للوكيل. تُستخدم المنافذ لتحديد الوكلاء.
داخل العقدة.
وكيل عنوان dst
إرجاع عنوان العقدة الوجهة التي يتصل بها هذا الوكيل.
وكيل ميناء dst
إرجاع المنفذ إلى العقدة الوجهة التي يتصل بها هذا الوكيل.
وكيل إرفاق المصدر نوع
تثبيت مصدر بيانات من النوع نوع في هذا الوكيل. نوع هو أحد بروتوكولات FTP أو
bursty[???]. راجع طرق الكائن المقابلة للحصول على معلومات حول التكوين
المعلمات. إرجاع مقبض إلى الكائن المصدر.
وكيل إرفاق حركة المرور كائن مروري
تعلق كائن مروري إلى هذا الوكيل كائن مروري هو مثال لـ Traffic/Expoo،
حركة المرور/باريتو أو حركة المرور/التتبع. تُولّد حركة المرور/إكسبو حركة مرور بناءً على
توزيع التشغيل/الإيقاف الأسّي. يُولّد Traffic/Pareto حركة مرور بناءً على
توزيع باريتو تشغيل/إيقاف. يُولّد Traffic/Trace حركة مرور من ملف تتبع.
يمكن العثور على معلمات التكوين ذات الصلة لكل من الكائنات المذكورة أعلاه في
قسم طرق المرور.
وكيل طريقة التنفيذ ADDR ميناء
قم بربط هذا الوكيل بالوكيل الذي تم تحديده بواسطة العنوان ADDR والميناء ميناء. هذه
يتسبب في احتواء الحزم المرسلة من هذا الوكيل على العنوان والمنفذ
تم الإشارة إلى ذلك، بحيث يتم توجيه هذه الحزم إلى الوكيل المقصود. الوكيلان
يجب أن يكون متوافقًا (على سبيل المثال، زوج tcp-source/tcp-sink مقابل زوج cbr/tcp-sink
وإلا فإن نتائج المحاكاة غير متوقعة.
الاعداد المعاملات
التوقيت الصيفي_ عنوان الوجهة الذي يتصل به العميل. حاليًا، 32 بت.
مع وجود 24 بت أعلى من معرف العقدة الوجهة و8 بتات أقل من ذلك
رقم المنفذ.
لا توجد متغيرات حالة خاصة بفئة الوكيل العامة.
اغية الأجسام
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.]
الكائنات هي فئة فرعية من كائنات الوكيل التي تنفذ تصريف حركة المرور. ترث جميع
لوظيفة كائن الوكيل العامة. لا توجد طرق أو معلمات تكوين
أو متغيرات الحالة الخاصة بهذا الكائن.
مراقب الخسائر الأجسام
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.] LossMonitor
الكائنات هي فئة فرعية من كائنات الوكيل التي تنفذ مصرف حركة المرور الذي يحافظ أيضًا على
بعض الإحصائيات حول البيانات المستلمة، مثل عدد البايتات المستلمة وعدد الحزم
ضائع وما إلى ذلك. يرثون جميع وظائف كائن الوكيل العامة.
مراقب الخسارة واضح
إعادة تعيين رقم التسلسل المتوقع إلى -1.
الاعداد المعاملات
لا توجد معلمات تكوين خاصة بهذا الكائن.
الولايه او المحافظه المتغيرات
نلوست_ عدد الحزم المفقودة.
نبكتس_ عدد الحزم المستلمة.
بايت_ عدد البايتات المستلمة.
آخر وقت الحزم_
الوقت الذي تم فيه استلام الحزمة الأخيرة.
متوقع_
رقم التسلسل المتوقع للحزمة التالية.
TCP الأجسام
كائنات TCP هي فئة فرعية من كائنات الوكيل التي تنفذ نقل BSD Tahoe TCP
البروتوكول كما هو موضح في [7]. فهم يرثون جميع وظائف الوكيل العامة.
لتتبع معلمات TCP، قم بتمييز كل معلمة بـ ``$tcp trace window_'' ثم أرسل
الإخراج إلى ملف التتبع باستخدام ``$tcp attach [open trace.tr w]''.
يمكن إرسال مقاطع TCP باستخدام الأمرين advance وadvanaceby. عند إرسال جميع البيانات،
سيتم استدعاء الطريقة المنجزة (والتي يمكن تجاوزها في OTcl).
$tcp تقدم n
إرسال ما يصل إلى n من الحزم.
$tcp تقدم بواسطة n
إرسال n المزيد من الحزم.
$tcp فعل
يتم استدعاؤها وظيفيًا عندما تحتوي جميع الحزم (المحددة بواسطة advance/advanceby/maxpkts_) على
تم إرسالها. يمكن تجاوزها على أساس كل كائن.
الاعداد المعاملات
نافذة_
الحد الأعلى للنافذة المعلن عنها لاتصال TCP (في
الحزم).
ماكسكوند_
الحد الأقصى لنافذة الازدحام لاتصال TCP. اضبط على
صفر لتجاهله. (هذا هو الإعداد الافتراضي.) يتم قياسه بالحزم.
نافذة التهيئة_
الحجم الأولي لنافذة الازدحام عند البدء البطيء. (بالحزم).
خيار wnd_init__
الخوارزمية المستخدمة لتحديد الحجم الأولي للازدحام
النافذة. اضبط على 1 لخوارزمية ثابتة باستخدام القيمة في نافذة التهيئة_.
تم ضبطه على 2 لخوارزمية ديناميكية باستخدام دالة حجم الحزمة_.
اصطناعي_ اضبط على "صحيح" لنمذجة تبادل SYN/ACK الأولي في TCP أحادي الاتجاه. اضبط على
خطأ كإعداد افتراضي.
تأخير النمو_
تم ضبطه على "صحيح" لتأخير نافذة الازدحام الأولية حتى بعد حزمة واحدة
تم إرساله وتم تأكيده. تم ضبطه على "خطأ" افتراضيًا.
خيار النافذة_
الخوارزمية المستخدمة لإدارة نافذة الازدحام في الطور الخطي.
الخوارزمية القياسية هي 1 (القيمة الافتراضية). خوارزميات تجريبية أخرى
تم توثيقها في الكود المصدر.
نافذة العتبة_
ثابت الربح إلى مرشح المتوسط الأسي المستخدم في الحساب عون (انظر
لإجراء تحقيقات حول خوارزميات زيادة النافذة المختلفة.
فوق_
النطاق (بالثواني) لمتغير عشوائي موحد يستخدم لتأخير كل
حزمة الإخراج. الفكرة هي إدخال تأخيرات عشوائية في المصدر من أجل
لتجنب تأثيرات الطور، عند الرغبة [4]. تم تنفيذ هذا فقط
لإصدار Tahoe ("tcp") من tcp، وليس لـ tcp-reno. هذا ليس
المقصود من هذا هو أن يكون نموذجًا واقعيًا لتكلفة معالجة وحدة المعالجة المركزية.
ECN_ اضبط على "صحيح" لاستخدام إشعار الازدحام الصريح بالإضافة إلى الحزمة
يُسهّل هذا إعادة الإرسال السريع بعد إخماد ()
بسبب بت ECN (إشعار الازدحام الصريح).
حجم الحزمة_
الحجم بالبايتات الذي سيتم استخدامه لجميع الحزم من هذا المصدر.
حجم قاعدة بيانات tcpip_hdr_
حجم رأس TCP/IP الأساسي بالبايتات.
tcpTick_
دقة ساعة TCP لقياس أوقات الذهاب والإياب. لاحظ أنه
مُعيَّن افتراضيًا على قيمة غير قياسية تبلغ ١٠٠ مللي ثانية. يقاس بالثواني.
إصلاح الأخطاء_
تم ضبطه على "صحيح" لإزالة خطأ عندما يُسمح بإعادة الإرسال السريع المتعدد
الحزم المسقطة في نافذة واحدة من البيانات.
أقصى انفجار_
اضبط على صفر لتجاهله. وإلا، فسيتم تحديد الحد الأقصى لعدد الحزم التي
يمكن للمصدر الإرسال استجابةً لإقرار وارد واحد.
بدء_بطيء_إعادة_تشغيل_
منطقي؛ مُعيَّن على ١ لبدء التشغيل البطيء بعد خمول الاتصال. مُفعَّل بواسطة
افتراضي.
srtt_init_
القيمة الأولية لتقدير وقت الرحلة ذهابًا وإيابًا المُنسَّق. القيمة الافتراضية هي 0.
ثواني.
t_rttvar_
القيمة الأولية لتباين زمن الرحلة ذهابًا وإيابًا. القيمة الافتراضية هي ٣ ثوانٍ.
rtxcur_init_
القيمة الأولية لإعادة الإرسال. القيمة الافتراضية هي ٦ ثوانٍ.
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_
أو شنومكس.
تعريف ثابت
MWS الحد الأقصى لحجم النافذة بالحزم لاتصال TCP. يحدد MWS
حجم المصفوفة في tcp-sink.cc. الحجم الافتراضي لـ MWS هو 1024 حزمة.
Tahoe TCP، معلمة "النافذة"، تمثل الإعلان الذي يقدمه المستقبل
يجب أن تكون قيمة النافذة أقل من MWS-1. بالنسبة إلى Reno TCP، يجب أن تكون قيمة معلمة "window"
يجب أن يكون أقل من (MWS-1)/2.
الولايه او المحافظه المتغيرات
حزم دوباك_
عدد التكرارات التي تم رؤيتها منذ تأكيد أي بيانات جديدة.
seqno_ أعلى رقم تسلسل للبيانات من مصدر البيانات إلى TCP.
t_seqno_
رقم تسلسل الإرسال الحالي.
ACK_ أعلى تقدير تم رؤيته من المتلقي.
كوند_ القيمة الحالية لنافذة الازدحام (بالحزم).
عون_ القيمة الحالية لنسخة مُفلترة الترددات المنخفضة من نافذة الازدحام.
تحقيقات حول خوارزميات زيادة النافذة المختلفة.
سستريش_
القيمة الحالية لعتبة البداية البطيئة (بالحزم).
RTT_ تقدير وقت الذهاب والإياب. بالثواني (مُعبَّر عنه بمضاعفات tcpTick_).
سرتت_ تقدير زمن الرحلة ذهابًا وإيابًا مُحسَّن. بالثواني (مضاعفات tcpTick_/8).
رتفار_
تقدير متوسط انحراف زمن الرحلة ذهابًا وإيابًا.
t_rtxcur_
قيمة إعادة الإرسال الحالية. بالثواني.
تراجع_
ثابت التراجع الأسّي لزمن الذهاب والإياب.
TCP/RENO الأجسام
كائنات TCP/Reno هي فئة فرعية من كائنات TCP التي تنفذ نقل Reno TCP
البروتوكول كما هو موضح في [7]. لا توجد طرق أو معلمات تكوين أو حالة
المتغيرات الخاصة بهذا الكائن.
TCP/NEWRENO الأجسام
تعتبر كائنات TCP/Newreno فئة فرعية من كائنات TCP التي تنفذ إصدارًا معدلًا من
بروتوكول نقل TCP BSD Reno.
لا توجد طرق أو متغيرات حالة خاصة بهذا الكائن.
الاعداد المعاملات
تغييرات جديدة_
تم ضبطه على الصفر لـ 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=تعطيل)
الانحدار
خوارزمية تنعيم بيانات الانحدار. تُقلل من فترة الازدحام تدريجيًا.
من تقسيمها إلى النصف على الفور. (1=تمكين، 0=تعطيل)
TCP/FULLTCP الأجسام
لم يُضاف هذا القسم إلى صفحة الدليل بعد. التنفيذ و
تم وصف معلمات التكوين في [11].
تي سي بي سي إنك الأجسام
تعتبر كائنات TCPSink فئة فرعية من كائنات الوكيل التي تنفذ جهاز استقبال لحزم TCP.
يقوم المُحاكي بتنفيذ اتصالات TCP "أحادية الاتجاه" فقط، حيث يرسل مصدر TCP البيانات
الحزم ويرسل مغسلة TCP حزم ACK. ترث كائنات TCPSink جميع الحزم العامة
وظيفة الوكيل. لا توجد طرق أو متغيرات حالة خاصة بـ TCPSink
موضوع.
الاعداد المعاملات
حجم الحزمة_
الحجم بالبايتات الذي يجب استخدامه لجميع حزم الإقرار.
أقصى كتل الأكياس_
الحد الأقصى لعدد كتل البيانات التي يمكن الاعتراف بها في SACK
الخيار. بالنسبة لجهاز الاستقبال الذي يستخدم أيضًا خيار الطابع الزمني [RFC 1323]،
يحتوي خيار SACK المحدد في RFC 2018 على مساحة لتضمين ثلاث كتل SACK.
يُستخدم هذا فقط بواسطة الفئة الفرعية TCPSink/Sack1. لا يجوز استخدام هذه القيمة
تم زيادة ذلك داخل أي كائن TCPSink معين بعد أن تم إزالة ذلك الكائن
تم تخصيصها. (بمجرد تخصيص كائن TCPSink، سيتم تغيير قيمة هذا
يمكن تقليل المعلمة ولكن لا يمكن زيادتها).
تي سي بي إس إنك/دي لاك الأجسام
كائنات DelAck هي فئة فرعية من TCPSink التي تنفذ مستقبل ACK المؤجل لـ TCP
الحزم. ترث جميع وظائف كائن TCPSink. لا توجد طرق أو
متغيرات الحالة الخاصة بكائن DelAck.
الاعداد المعاملات
الفاصلة_
مقدار الوقت الذي يجب تأخيره قبل إنشاء إقرار لأمر واحد
الحزمة. إذا وصلت حزمة أخرى قبل انتهاء هذا الوقت، قم بإنشاء
الإقرار على الفور.
TCPSINK/SACK1 الأجسام
كائنات TCPSink/Sack1 هي فئة فرعية من TCPSink التي تنفذ مستقبل SACK لـ TCP
الحزم. ترث جميع وظائف كائن TCPSink. لا توجد طرق،
معلمات التكوين أو متغيرات الحالة الخاصة بهذا الكائن.
TCPSINK/SACK1/DELACK الأجسام
كائنات TCPSink/Sack1/DelAck هي فئة فرعية من TCPSink/Sack1 التي تنفذ SACK المؤجل
مستقبل حزم TCP. يرث جميع وظائف كائن TCPSink/Sack1.
لا توجد طرق أو متغيرات حالة خاصة بهذا الكائن.
الاعداد المعاملات
الفاصلة_
مقدار الوقت الذي يجب تأخيره قبل إنشاء إقرار لأمر واحد
الحزمة. إذا وصلت حزمة أخرى قبل انتهاء هذا الوقت، قم بإنشاء
الإقرار على الفور.
SRM الأجسام
كائنات SRM هي فئة فرعية من كائنات الوكيل التي تنفذ البث المتعدد الموثوق به لـ SRM
بروتوكول النقل. يرثون جميع وظائف الوكيل العامة.
$srm مصدر حركة المرور مصدر
قم بإرفاق مصدر حركة مرور، على سبيل المثال، التطبيق/حركة المرور/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.
الاعداد المعاملات
حجم الحزمة_
حجم حزمة البيانات بالبايتات التي سيتم استخدامها لرسائل الإصلاح.
القيمة الافتراضية هي 1024.
طلب وظيفة_
الخوارزمية المستخدمة لإنتاج طلب إعادة الإرسال، على سبيل المثال، الإعداد
مؤقتات الطلبات. القيمة الافتراضية هي SRM/request. طلبات أخرى محتملة
الوظائف هي SRM/request/Adaptive، والتي يستخدمها كود Adaptive SRM.
وظيفة الإصلاح_
الخوارزمية المستخدمة لإنتاج إصلاح، على سبيل المثال، حساب مؤقتات الإصلاح.
القيمة الافتراضية هي SRM/repair. وظائف الطلب الأخرى المحتملة هي
SRM/repair/Adaptive، يستخدمه كود SRM التكيفي.
وظيفة الجلسة_
الخوارزمية المستخدمة لتوليد رسائل الجلسة. الافتراضي هو SRM/session
تأخير الجلسة_
الفاصل الزمني الأساسي لرسائل الجلسة. يُضاف إليه اختلاف عشوائي طفيف.
هذه الفترة الزمنية لتجنب المزامنة الشاملة لرسائل الجلسة. يمكن للمستخدم
أريد تعديل هذا المتغير وفقًا لمحاكاتهم المحددة.
يتم قياسها بالثواني؛ القيمة الافتراضية هي 1.0 ثانية.
ج1_، C2_
المعلمات التي تتحكم في مؤقت الطلب. راجع [8] للمزيد من التفاصيل.
القيمة الافتراضية هي C1_ = C2_ = 2.0.
د1_, D2_
المعلمات التي تتحكم في مؤقت الإصلاح. راجع [8] للمزيد من التفاصيل.
القيمة الافتراضية هي D1_ = D2_ = 1.0.
طلب التراجع عن الحد الأقصى_
الحد الأقصى لعدد التراجعات الأسيّة. القيمة الافتراضية هي 5.
الولايه او المحافظه المتغيرات
الإحصائيات_ مجموعة تحتوي على إحصائيات متعددة مطلوبة من قبل وكيل SRM التكيفي.
بما في ذلك: الطلبات المكررة والإصلاحات في فترة الطلب/الإصلاح الحالية،
متوسط عدد الطلبات والإصلاحات المكررة، وتأخير الطلب والإصلاح
في فترة الطلب/الإصلاح الحالية، متوسط مدة الطلب والتأخير في الإصلاح.
إدارة المخاطر الاجتماعية/التكيفية الأجسام
تعتبر كائنات SRM/Adaptive فئة فرعية من كائنات SRM التي تنفذ SRM التكيفية
بروتوكول نقل متعدد البث موثوق. يرث جميع وظائف كائن SRM.
الولايه او المحافظه المتغيرات راجع ورقة SRM التي كتبها سالي وآخرون ([11]) لمزيد من التفاصيل.
المسافة_
يتم استخدام هذا المتغير لتمرير تقدير المسافة الذي يوفره الجهاز البعيد
الوكيل في رسالة طلب أو إصلاح.
د1_, D2_
نفس الشيء الموجود في وكلاء SRM، باستثناء أنه يتم تهيئتهم لـ
log10 (حجم المجموعة) عند إنشاء الإصلاح الأول.
مينك1_، ماكس سي 1_، مينك2_، ماكس سي 2_
القيم الدنيا/القصوى لـ C1_ وC2_. القيم الأولية الافتراضية هي
تم تعريفه في [8]. تحدد هذه القيم النطاق الديناميكي لـ C1_ و C2_.
MinD1_, ماكس د1_، MinD2_, ماكس دي 2_
القيم الدنيا/القصوى لـ D1_ وD2_. القيم الأولية الافتراضية هي
تم تعريفه في [8]. تحدد هذه القيم النطاق الديناميكي لـ D1_ و D2_.
أفيدوبس
حد أعلى للتكرارات المتوسطة.
تأخير متوسط
الحد الأعلى لمتوسط التأخير.
العائد على السهم أفيدوبس - نسخ مكررة يحدد الحد الأدنى لعدد التكرارات، عندما
ينبغي علينا ضبط المعلمات لتقليل التأخير.
تطبيق الأجسام
تولد كائنات التطبيق بيانات لكي يقوم وكلاء النقل بإرسالها.
FTP تطبيق الأجسام
تنتج كائنات التطبيق/FTP بيانات مجمعة ليتم إرسالها بواسطة كائن TCP.
ftp بداية
يتسبب في قيام FTP بإنتاج الحزم إلى أجل غير مسمى.
ftp إنتاج n
يتسبب في إنتاج كائن FTP n الحزم على الفور.
ftp توقف
يتسبب في توقف كائن TCP المرفق عن إرسال البيانات.
ftp يرفق وكيل
إرفاق كائن تطبيق/FTP بـ وكيل.
ftp إنتاج المزيد عد
يتسبب في إنتاج كائن التطبيق/FTP عد مزيد من الحزم.
الاعداد المعاملات
أقصى حزم
الحد الأقصى لعدد الحزم المولدة.
TELNET تطبيق الأجسام
تنتج كائنات التطبيق/Telnet حزمًا فردية مع أوقات وصول متبادلة على النحو التالي.
If الفاصلة_ إذا لم يكن صفرًا، فسيتم اختيار أوقات الوصول المتبادل من الأسّي
التوزيع مع المتوسط الفاصلة_. إذا الفاصلة_ إذا كان صفرًا، فإن أوقات الوصول المتبادلة هي
تم اختياره باستخدام توزيع telnet "tcplib".
تيلنت بداية
يتسبب في بدء تشغيل كائن التطبيق/Telnet في إنتاج الحزم.
تيلنت توقف
يتسبب في توقف كائن التطبيق/Telnet عن إنتاج الحزم.
تيلنت يرفق وكيل
إرفاق كائن تطبيق/Telnet بـ وكيل.
الاعداد المعاملات
الفاصلة_
متوسط وقت الوصول المتبادل بالثواني للحزم التي تم إنشاؤها بواسطة
كائن التطبيق/Telnet.
حركة المرور الأجسام
تُنشئ كائنات حركة المرور بياناتٍ لإرسالها عبر بروتوكول النقل. يتم إنشاء كائن حركة المرور
من خلال إنشاء كائن من فئة Application/Traffic/نوع أين نوع هي واحدة من
الأسّي، باريتو، CBR، التتبع.
متسارع حركة المرور الأجسام
تُولّد كائنات التطبيق/حركة المرور/الأسّية حركة مرور نشطة/متوقفة. خلال فترات "التشغيل"،
يتم توليد الحزم بمعدل تدفق ثابت. خلال فترات "التوقف"، لا يتم إرسال أي بيانات
يتم توليدها. يتم أخذ أوقات الانفجار وأوقات الخمول من التوزيعات الأسيّة.
الاعداد المعاملات
حجم الحزمة_
حجم الحزمة بالبايت.
وقت الانفجار_
مدة الانفجار بالثواني.
وقت الخمول_
وقت الخمول بالثواني.
معدل_ معدل الذروة بالبت في الثانية.
PARETO حركة المرور الأجسام
تولد كائنات التطبيق/حركة المرور/باريتو حركة مرور تشغيل/إيقاف مع أوقات الذروة وأوقات الخمول
مأخوذ من توزيعات باريتو.
الاعداد المعاملات
حجم الحزمة_
حجم الحزمة بالبايت.
وقت الانفجار_
متوسط الوقت بالثواني.
وقت الخمول_
متوسط وقت التوقف بالثواني.
معدل_ معدل الذروة بالبت في الثانية.
شكل_ معامل شكل باريتو.
CBR (ثابت BIT معدل) حركة المرور الأجسام
تُولّد كائنات التطبيق/حركة المرور/CBR حزمًا بمعدل ثابت. يمكن إضافة خاصية Dither
إلى أوقات الوصول المتبادلة عن طريق تمكين العلم "العشوائي".
الاعداد المعاملات
معدل_ معدل الذروة بالبت في الثانية.
حجم الحزمة_
حجم الحزمة بالبايت.
عشوائية_
علم يقوم بتشغيل وإيقاف التمويه (الوضع الافتراضي هو إيقاف التشغيل).
أقصى حزم_
الحد الأقصى لعدد الحزم المراد إرسالها.
TRACE حركة المرور الأجسام
يتم استخدام كائنات التطبيق/حركة المرور/التتبع لإنشاء حركة المرور من ملف التتبع.
$trace إرفاق ملف التتبع com.tfile
إرفاق كائن Tracefile com.tfile إلى هذا التتبع. يحدد كائن Tracefile
ملف التتبع الذي سيتم قراءة بيانات المرور منه (انظر كائنات ملف التتبع
يمكن ربط كائنات تطبيق/حركة مرور/تتبع متعددة بنفس القسم.
كائن ملف التتبع. يتم اختيار نقطة بداية عشوائية داخل ملف التتبع لكل
كائن التطبيق/حركة المرور/التتبع.
لا توجد معلمات تكوين لهذا الكائن.
ملف التتبع الأجسام
يتم استخدام كائنات ملف التتبع لتحديد ملف التتبع الذي سيتم استخدامه لإنشاء
حركة المرور (انظر قسم كائنات حركة المرور/التتبع). $tracefile هو مثيل لملف التتبع
موضوع.
ملف التتبع اسم الملف إدخال التتبع
تعيين اسم الملف الذي سيتم قراءة بيانات تتبع حركة المرور منه تتبع الإدخال.
لا توجد معلمات تكوين لهذا الكائن. يتكون ملف التتبع من أي
عدد من السجلات ذات الطول الثابت. يتكون كل سجل من حقلين بطول 2 بت. الأول
يشير إلى الفترة الزمنية حتى يتم إنشاء الحزمة التالية بالمايكروثانية. الثانية
يشير إلى طول الحزمة التالية بالبايتات.
TRACE لأي لبس MONITORING طرق
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.] تتبع
يتم استخدام الكائنات لإنشاء سجلات التقاط مستوى الحدث عادةً في ملف إخراج.
في هذا القسم، يشير $ns إلى كائن Simulator، ويشير $agent إلى Agent
موضوع.
$ns إنشاء-تتبع نوع معرف الملف node1 node2 [اختيار]
إنشاء كائن تتبع من النوع نوع وأرفق مقبض الملف معرف الملف إليها
مراقبة قوائم الانتظار بين العقد node1 و العقدة 2. نوع يمكن أن يكون واحدا من Enque، Deque،
إسقاط. يراقب Enque وصول الحزمة إلى قائمة الانتظار. يراقب Deque مغادرة الحزمة.
في قائمة الانتظار. تقوم ميزة Drop Monitors بمراقبة إسقاط الحزم في قائمة الانتظار. معرف الملف يجب أن يكون مقبض ملف
تم إرجاعه بواسطة Tcl جاكيت الأمر ويجب أن يكون مفتوحًا للكتابة. إذا
خيار إذا لم يتم تحديد ذلك، فسوف يقوم الأمر بإرشاد كائن التتبع الذي تم إنشاؤه إلى
إنشاء مسارات ns. إذا خيار إذا كان """nam""" فإن الكائن الجديد سوف ينتج آثار nam.
إرجاع مقبض إلى كائن التتبع.
$ns تتبع الإسقاط node1 node2 تتبع
إزالة كائن التتبع المرفق بالرابط بين العقد node1 و node2 مع تتبع
كمقبض الكائن.
$ns قائمة التتبع node1 node2 معرف الملف
تمكين تتبع Enque وDeque وDrop على الرابط بين node1 و العقدة 2.
$ns قائمة انتظار namtrace node1 node2 معرف الملف
نفس وظيفة $ns قائمة التتبع، إلا أنه ينتج آثارًا ضارة.
$ns تتبع الكل معرف الملف
تمكين تتبع Enque وDeque وDrop على جميع الروابط في الطوبولوجيا التي تم إنشاؤها بعد
يتم استدعاء هذه الطريقة. كما تُمكّن من تتبع ديناميكيات الشبكة. معرف الملف يجب
يكون مقبض ملف تم إرجاعه بواسطة Tcl جاكيت الأمر ويجب أن يكون مفتوحًا لـ
جاري الكتابة.
$ns namtrace-all معرف الملف
نفس وظيفة $ns تتبع الكل، إلا أنه سينتج جميع الآثار المكافئة في الاسم
التنسيق. بالإضافة إلى ذلك، فإن استدعاء هذا الأمر قبل سيبدأ تشغيل جهاز المحاكاة
إنشاء تكوينات الألوان (إن وجدت) ومعلومات الطوبولوجيا المطلوبة بواسطة الاسم
(العقد، الروابط، قوائم الانتظار). يمكن العثور على مثال على ns-2/tcl/ex/nam-example.tcl.
$ns namtrace-config معرف الملف
تعيين ملف لتخزين معلومات تكوين الاسم، على سبيل المثال، العقدة/الرابط/الوكلاء و
بعض التتبعات المتعلقة بالمحاكي، مثل التعليقات التوضيحية. عندما لا ترغب في التتبع
كل كائن. اتصل بهذه الوظيفة ثم استخدم $ns قائمة انتظار namtrace, نموذج rt تتبع,
إلخ، لإدراج المسارات بشكل فردي. لاحظ أنه يجب عليك استخدام نفس الملف لـ
تتبعات فردية وتكوين الأسماء. يتوفر مثال على ذلك على
ns-2/tcl/ex/nam-separate-trace.tcl.
$ns قائمة انتظار المراقبة node1 node2
ترتيب طول قائمة الانتظار للرابط بين العقد node1 و node2 ليتم تتبعها.
إرجاع كائن QueueMonitor الذي يمكن الاستعلام عنه لمعرفة متوسط حجم قائمة الانتظار وما إلى ذلك.
[انظر قسم كائنات QueueMonitor]
$ns أثر التدفق
قم بتنظيف قنوات الإخراج المرفقة بجميع كائنات التتبع.
$ لينك ديناميكيات التتبع ns معرف الملف [اختيار]
تتبع ديناميكيات هذا الرابط واكتب الناتج إلى معرف الملف مقبض الملف. ns is
مثيل لكائن Simulator أو MultiSim الذي تم إنشاؤه لاستدعاء
محاكاة.
$ns اللون id الاسم
إنشاء فهرس الألوان الذي يربط الرقم id إلى اسم اللون الاسم. جميع الألوان
خلق قبل سيتم كتابة برنامج المحاكاة الذي يبدأ في التشغيل إلى ملف تتبع الاسم، إذا
هل من.
$ns تتبع-تعليق سلسلة
يكتب تعليقًا توضيحيًا في ملفي تتبع ns وnam، إن وُجدا. يجب أن تكون السلسلة
يجب أن يتم وضعها بين علامتي اقتباس مزدوجتين لجعلها وسيطة واحدة.
التتبع_التعليق سلسلة
نسخة أخرى من $ns تتبع-تعليق، وهي دالة عالمية ولا
تتطلب من المتصل أن يعرف ns.
$ns عملية ربط مزدوجة العقدة 1 العقدة 2 $ المرجع $ أرجس
تنفيذ عملية معينة $ المرجع على الرابط المزدوج المعطى (العقدة 1, العقدة 2). ال
يمكن استخدام العمليتين التاليتين:
الاتجاه - حدد اتجاه الاسم للرابط الثنائي. يمكن أن تكون القيم
اليسار، اليمين، الأعلى، الأسفل، مزيجهم متحد بواسطة '-' (على سبيل المثال،
من اليسار إلى الأسفل)، ورقم يحدد الزاوية بين
الرابط والخط الأفقي.
queuePos - إنشاء قائمة انتظار للرابط البسيط (العقدة 1,
العقدة 2) في الاسم، وحدد الزاوية بين
الخط الأفقي والخط الذي تسير على طوله الحزم المدرجة في قائمة الانتظار
سيتم عرض.
$ns إضافة تتبع العميل وكيل الاسم [معرف الملف]
اكتب خط تتبع الاسم، والذي سيعمل على إنشاء عامل تتبع لـ وكيل عندما يتم تفسيرها
بالاسم. اسم وكيل التتبع سيكون الاسم. يتم استخدام عامل التتبع هذا لإظهار
موقف وكيل ويمكن استخدامها لكتابة آثار الأسماء للمتغيرات المرتبطة
مع الوكيل. افتراضيًا، سيتم كتابة التتبعات إلى الملف المُخصص بواسطة
namtrace-all. معرف الملف يمكن استخدامه لكتابة آثار إلى ملف آخر.
وكيل ترايسفار الاسم
متغير تسمية OTcl الاسم of وكيل ليتم تتبعها. ثم كلما كان المتغير الاسم
عند تغيير القيمة، سيتم كتابة سطر تتبع الاسم إلى ملف تتبع الاسم، إذا كان هناك واحد.
نلاحظ أن الاسم يجب أن يكون هو نفسه اسم OTcl الحقيقي للمتغير.
$ns حذف-تتبع-الوكيل وكيل
اكتب سطر تتبع الاسم، والذي سيقوم بحذف تتبع الاسم المرتبط بـ وكيل متى
تم تفسيره بواسطة نام.
وكيل إضافة-var-trace الاسم قيمنا [يكتب]
اكتب سطر تتبع الاسم، والذي ينشئ تتبع متغير بالاسم الاسم والقيمة
قيمنا، عندما يتم تفسيرها بواسطة nam. نوع يشير إلى نوع المتغير، على سبيل المثال، هو
قائمة، مصفوفة، أو متغير عادي. حاليًا، لا يُدعم إلا المتغيرات العادية.
التي نوع = 'v'.
يجب استدعاء الدالتين التاليتين بعد يبدأ تشغيل المُحاكي. يُمكن أن يكون هذا
تم استخدام $ns at.
وكيل حذف-var-trace الاسم
اكتب سطر تتبع الاسم، والذي يحذف المتغير trace الاسم عندما يتم تفسيرها بواسطة
نام.
وكيل تحديث-var-trace الاسم قيمنا [يكتب]
اكتب خط تتبع الاسم، والذي يغير قيمة المتغير المتتبع الاسم متى
ترجمها نام. على عكس وكيل ترايسفار، توفر الوظائف الثلاث المذكورة أعلاه "يدوي"
تتبع المتغيرات، حيث يتم تتبع المتغيرات عن طريق وضع وكيل تحديث-var-
تتبع في كود OTcl، بينما ترايسفار يتم إنشاء تتبعات الاسم تلقائيًا عندما
تغير قيمة المتغير المتتبع.
تنسيق ملف التتبع متوافق مع ملفات الإخراج في إصدار ns 1
مُحاكي بحيث يُمكن الاستمرار في استخدام نصوص المعالجة اللاحقة لـ ns-1. سجلات التتبع لـ
يكون لحركة المرور لكائنات الارتباط باستخدام Enque أو Deque أو Drop Tracing الشكل التالي:
أين
:= [hd+-r] h=hop d=drop +=enque -=deque r=receive
:= وقت المحاكاة بالثواني
:= عنوان العقدة الأولى لرابط القفزة/الطابور
:= عنوان العقدة الثانية لرابط القفزة/الطابور
:=
:= tcp|telnet|cbr|ack وما إلى ذلك.
:= حجم الحزمة بالبايت
:= [CP] C=الازدحام، P=الأولوية
:= حقل معرف التدفق كما هو محدد لـ IPv6
:= عنوان النقل (src=node,sport=agent)
:= عنوان النقل (dst=العقدة، dport=الوكيل)
:= رقم تسلسل الحزمة
:= معرف فريد لكل حزمة جديدة
فقط أولئك الوكلاء المهتمون بتوفير التسلسل سوف يقومون بإنشاء أرقام التسلسل
ومن ثم، قد لا يكون هذا المجال مفيدًا للحزم التي تم إنشاؤها بواسطة بعض الوكلاء.
بالنسبة للروابط التي تستخدم بوابات RED، هناك سجلات تتبع إضافية على النحو التالي:
أين
:= [Qap] Q=queue size, a=average queue size,
p=احتمالية إسقاط الحزمة
:= وقت المحاكاة بالثواني
:= القيمة
سجلات التتبع لديناميكيات الارتباط هي من النموذج:
أين
:= [v]
:= وقت المحاكاة بالثواني
:= [رابط لأعلى | رابط لأسفل]
:= عنوان العقدة الأولى للرابط
:= عنوان العقدة الثانية للرابط
متكامل الأجسام
تدعم كائنات التكامل الحساب التقريبي للتكاملات المستمرة باستخدام
مجموع متقطع. يُحسب المجموع التشغيلي (التكاملي) على النحو التالي: sum_ += [lasty_ * (x - lastx_)]
حيث (x, y) هو العنصر الأخير الذي تم إدخاله و(lastx_, lasty_) كان العنصر السابق لـ
التي تُضاف إلى المجموع. يتم تحديث lastx_ وlasty_ عند إضافة عناصر جديدة.
نقطة العينة الأولى تكون افتراضيًا (0,0) والتي يمكن تغييرها عن طريق تغيير قيم
(الأخير_، الأخير_).
المُتكامل نيوبوينت x y
أضف النقطة (س، ص) إلى المجموع. لاحظ أنه من غير المنطقي أن تكون س أقل من
من الماضيx_.
لا توجد معلمات تكوين خاصة بهذا الكائن.
الولايه او المحافظه المتغيرات
لاستكس_ إحداثي x لنقطة العينة الأخيرة.
الأخير_ إحداثي y لنقطة العينة الأخيرة.
مجموع_ المجموع التشغيلي (أي التكامل) لنقاط العينة.
عينات الأجسام
تدعم كائنات العينات حساب إحصائيات المتوسط والتباين لبيانات معينة
عينة.
العينات تعني
إرجاع متوسط العينة.
العينات فرق
إرجاع تباين العينة.
العينات المركز الوطني للاستشعار
إرجاع عدد نقاط العينة التي تم أخذها في الاعتبار.
العينات إعادة تعيين
قم بإعادة تعيين كائن العينات لمراقبة مجموعة جديدة من العينات.
لا توجد معلمات تكوين أو متغيرات حالة خاصة بهذا الكائن.
البنايات
[ملاحظة: لم يتم التحقق من تحديث هذا القسم مع الإصدار.] لأنه
OTcl هي لغة برمجة كاملة، ومن السهل بناء محاكاة عالية المستوى
بنيات من بدائيات ns. تم بناء العديد من روتينات المكتبة بهذه الطريقة،
ويتم تضمينها في مُفسِّر ns كطرق لفئة المُحاكي.
يمثل هذا القسم $ns كائن محاكاة.
$ns تخلق اتصال نوع المصدر عقدة src نوع الوجهة العقدة dst فئة
إنشاء وكيل مصدر من النوع نوع المصدر في العقدة عقدة src وتوصيله بـ
وكيل الوجهة من النوع نوع الوجهة في العقدة dstNode. قم أيضًا بتوصيل الوجهة
وكيل إلى وكيل المصدر. تم تعيين فئة حركة المرور لكلا الوكيلين على فئة. هذه
تعيد الطريقة وكيل المصدر.
مثال
مجموعة ns [محاكي جديد]
#
# إنشاء عقدتين
#
تعيين n0 [عقدة $ns]
تعيين n1 [عقدة $ns]
#
# إنشاء تتبع وترتيب جميع أحداث التتبع الخاصة بـ
# تم إنشاء الروابط لاحقًا ليتم إرسالها إلى "out.tr"
#
مجموعة f [فتح out.tr w]
$ns تتبع الكل $f
#
# قم بتوصيل العقدتين برابط 1.5 ميجا بايت مع ناقل الحركة
# تأخير 10 مللي ثانية باستخدام قائمة انتظار FIFO drop-tail
#
رابط مزدوج $ns $n0 $n1 1.5 ميجا بايت 10 مللي ثانية DropTail
#
# قم بإعداد اتصالات TCP الخاصة بـ BSD Tahoe في اتجاهات متعاكسة.
#
تعيين tcp_src1 [وكيل/TCP جديد]
تعيين tcp_snk1 [وكيل/TCPSink جديد]
تعيين tcp_src2 [وكيل/TCP جديد]
تعيين tcp_snk2 [وكيل/TCPSink جديد]
$ns إرفاق الوكيل $n0 $tcp_src1
$ns إرفاق الوكيل $n1 $tcp_snk1
$ns إرفاق الوكيل $n1 $tcp_src2
$ns إرفاق الوكيل $n0 $tcp_snk2
$ns الاتصال $tcp_src1 $tcp_snk1
$ns الاتصال $tcp_src2 $tcp_snk2
#
# إنشاء مصادر ftp في كل عقدة
#
تعيين ftp1 [$tcp_src1 إرفاق مصدر FTP]
تعيين ftp2 [$tcp_src2 إرفاق مصدر FTP]
#
# قم بتشغيل أول ftp في الوقت 0 و
# تأخرت عملية نقل الملفات الثانية لمدة ثانية واحدة
#
$ns عند 0.0 "بدء $ftp1"
$ns عند 1.0 "بدء $ftp2"
#
# قم بتشغيل المحاكاة لمدة 10 ثوانٍ محاكاة
#
$ns عند 10.0 "الخروج 0"
تشغيل $ns
تفكيك
لتفعيل تصحيح الأخطاء عند بناء ns من المصدر:
% ./configure --enable-debug
٪ صنع
لمزيد من التفاصيل حول تصحيح أخطاء ns، يرجى الاطلاع علىhttp://www-mash.cs.berkeley.edu/ns/ns-
debugging.html>.
اختلافات من عند NS-1
بشكل عام، تم تقسيم الكائنات الأكثر تعقيدًا في ns-1 إلى مكونات أبسط لـ
مرونة أكبر وقابلية للتكوين. يمكن توضيح الفروقات بين ns-1 وns-2.
يمكن العثور عليها فيhttp://www-mash.cs.berkeley.edu/ns/ns.html>.
التاريخ
بدأ العمل على محاكي شبكة LBL في مايو 1990 مع تعديلات على S. Keshav
([البريد الإلكتروني محمي]) محاكي الشبكة الحقيقي، الذي طوره لعمله في الدكتوراه في
جامعة كاليفورنيا، بيركلي. في صيف عام ١٩٩١، تم تجديد لغة وصف المحاكاة، و
في وقت لاحق، تم استبدال نموذج خيوط NEST بإطار عمل مدفوع بالأحداث وفعال
جدولة. ومن بين المساهمات الأخرى، سوجيه جامين ([البريد الإلكتروني محمي]) ساهم
كود الجدولة المستند إلى قائمة انتظار التقويم لهذا الإصدار من البرنامج، والذي كان يُعرف باسم
tcpsim. في ديسمبر 1994، نقل McCanne برنامج tcpsim إلى C++ واستبدله ببرنامج yacc القائم على
لغة وصف المحاكاة مع واجهة Tcl، وإضافة البث المتعدد الأولي
الدعم. وفي هذا الوقت أيضًا، تغير الاسم من تي سي بي سيم إلى أكثر عمومية نانوثانية.
طوال الوقت، أجرى فلويد تعديلات على كود TCP وأضاف مصادر إضافية
نماذج لتحقيقاتها في بوابات RED، وإدارة الموارد، والطوابير القائمة على الفئات،
إشعارات الازدحام الصريحة، وتأثيرات مرحلة المرور. العديد من الأوراق البحثية
مناقشة هذه القضايا متاحة من خلال الرابط http://www-nrg.ee.lbl.gov/.
استخدم ns عبر الإنترنت باستخدام خدمات onworks.net
