نحوه نمایش نوع بسته در Trace File

بدون ديدگاه

سوالات رایج در Ns2

  • برای نمایش نوع بسته در ردیابی ، اصلاح باید در پرونده های packet.h ، cmu-trace.h و cmu-trace.cc در بسته ns-allinone انجام شود. انواع بسته های از پیش تعریف شده یا انواع بسته های جدید به روش بسته بندی نشده int بسته شده تعریف می شوند و نام متنی از نوع بسته در کلاس p_info در پرونده packet.h تعریف می شود. قالب جدید پرونده نوع بسته به روش format_newpackettype اضافه می شود ، که در پرونده cmu-trace.cc تعریف شده است. روش format_newpackettype در پرونده cmu-trace.h اعلام شده است.

پست توسط Administrator » شنبه آگوست 03, 2019 1:04 pm

کلاس گره
برنامه نویسی OTcl قبل از یادگیریبعدی – ایجاد پیوند در ns2

در ns2 گره کلاس است که روش های بسیاری دارد. این کلاس برای شبیه سازی یک کامپیوتر در یک شبکه استفاده می کرد.
ایجاد گره سیمی
کلاس شبیه ساز دارای یک گره روش است که یک گره را برمی گرداند.

فرمان:

گره [شبیه ساز-نمونه]

؟
1
set ns [new Simulator] set n0 [$ns node]

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

Sytanx:

[گره نمونه] شکل <دایره | شش گوش | کادر>

مثال :

؟
1
2
# Box shape will be shown in network animator(NAM)
$n0 shape box

تنظیم مجدد کلیه عوامل گره
دستور تنظیم مجدد برای تنظیم مجدد کلیه عوامل متصل به گره استفاده می شود.

Sytanx:

[گره نمونه] تنظیم مجدد

مثال :

؟
1
$n0 reset

شناسه گره را بارگیری کنید
شناسه گره را می توان در ns2 گرفت.

Sytanx:

[گره نمونه] شناسه

مثال :

؟
1
2
$n0 id
0 ;# 0 returned by above command.

عامل را به گره در یک پورت خاص وصل کنید
عامل را می توان به شماره گره مشخص شده به گره وصل کرد.

Sytanx:

[گره نمونه] ضمیمه [عامل-نمونه] اختیاری: <Port_no

نمونه:

؟
1
2
$n0 id
0 ;# 0 returned by above command.

برچسب را به گره وصل کنید
برای درک بهتر ، برچسب را می توان به گره در NAM متصل کرد.

Sytanx:

برچسب [گره نمونه]

مثال :

؟
1
$n0 label “first Node”

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

Sytanx:

[گره نمونه] اختصاص_پورت null_agent

مثال :

؟
1
$n0 alloc-port null_agent
گرفتن لیست همسایگان
هر گره لیستی از همسایگان را که به آن گره متصل هستند ، حفظ می کند.

نحو:

[گره نمونه] همسایه

مثال :

$ n0 همسایه

Administrator

Site Admin
پست: 273
تاریخ عضویت: چهار شنبه ژولای 17, 2019 10:01 am
تماس:

تراکم تراکم در ns2

پست توسط Administrator » شنبه آگوست 03, 2019 1:06 pm

اگر ترافیک شبکه از ظرفیت شبکه فراتر رود ، احتقان در شبکه وارد می شود که باعث از بین رفتن بسته ها می شود.
در حالی که اتصال tcp برای انتقال داده استفاده می شود از طریق تنظیم خودکار سرعت انتقال داده کنترل می شود
در حالی که اتصال udp برای انتقال داده ها استفاده می شود ، احتقان را دنبال می کند

Administrator

Site Admin
پست: 273
تاریخ عضویت: چهار شنبه ژولای 17, 2019 10:01 am
تماس:

نحوه نمایش نوع بسته در Trace File

پست توسط Administrator » شنبه آگوست 03, 2019 1:07 pm

برای نمایش نوع بسته در ردیابی ، اصلاح باید در پرونده های packet.h ، cmu-trace.h و cmu-trace.cc در بسته ns-allinone انجام شود. انواع بسته های از پیش تعریف شده یا انواع بسته های جدید به روش بسته بندی نشده int بسته شده تعریف می شوند و نام متنی از نوع بسته در کلاس p_info در پرونده packet.h تعریف می شود. قالب جدید پرونده نوع بسته به روش format_newpackettype اضافه می شود ، که در پرونده cmu-trace.cc تعریف شده است. روش format_newpackettype در پرونده cmu-trace.h اعلام شده است.

void
CMUTrace::format_gpsr(Packet *p, int offset)
{
struct hdr_cmn *ch = HDR_CMN(p);
struct hdr_rtp *rh = HDR_RTP(p);
struct hdr_ip *ih = HDR_IP(p);
Node* thisnode = Node::get_node_by_address(src_);

//hacking, needs to change later,
int dst = Address::instance().get_nodeaddr(ih->daddr());

if (dst == src_){
// I just received a cbr data packet
if (thisnode->energy_model() &&
thisnode->energy_model()->powersavingflag()) {
thisnode->energy_model()->set_node_state(EnergyModel::INROUTE);
}
}

if (pt_->tagged()) {
sprintf(pt_->buffer() + offset,
“-cbr:s %d -cbr:f %d -cbr:o %d “,
rh->seqno_,
ch->num_forwards(),
ch->opt_num_forwards());
} else if (newtrace_) {
sprintf(pt_->buffer() + offset,
“-Pn cbr -Pi %d -Pf %d -Po %d “,
rh->seqno_,
ch->num_forwards(),
ch->opt_num_forwards());
} else {
sprintf(pt_->buffer() + offset,
“[%d] %d %d”,
rh->seqno_,
ch->num_forwards(),
ch->opt_num_forwards());
}
}
Modification of cmu-trace.h
void format_gpsr(Packet *p, int offset);

نوشتن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.

نه − دو =