آموزش ایجاد یک شبکه سیمی ساده با NS2
یک شبکه سیمی در NS2 با چند گره متصل شده با سیم قابل پیاده سازی است. هر جفت از گره ها در شبکه سیمی با یک لینک duplex به هم وصل می شوند. هر یک از لینک ها دارای خاصیت هایی ماننده پهنای باند، تاخیر، و نوع صف هستند.
در این پست از وب سایت نوآوران گرمی با یک مثال آموزشی ساده، یک شبکه سیمی را ایجاد می کنیم و گره ها را با لینک دوپلکس با پهنای باند 2 مگابیت و تاخیر 50 میلی ثانیه و صف DropTail به یکدیگر وصل می کنیم. برای هر یک از گره ها یک برچسب، یک رنگ و یک شکل، در نظر گرفته ایم.
با اجرای این مثال ساده اما بسیار مفید برای دوستانی که در حال یادگیری مقدماتی نرم افزار NS2 هستند، یک شبکه مطابق شکل بالا ایجاد می شود که دارای 3 گره متصل هستند. نتیجه گرافیکی در NAM قابل مشاهده خواهد بود. امیداریم که این مثال آموزشی برای علاقه مندان مبتدی در این زمینه، مفید بوده باشد.
می توانید با اجرای دستور زیر نتیجه را مشاهده فرمائید:
ns test1.tcl
با مراجعه به ادامه مطلب می توایند سورس کد این شبکه را مشاهده کرده و دانلود نمائید.
جهت درخواست شبیه سازی مقالات و پایان نامه های خود با نرم افزار NS2 با ما تماس بگیرد.
# Filename: test1.tcl
#——-Event scheduler object creation——–#
set ns [new Simulator]
#———-creating trace objects—————-#
set nt [open test1.tr w]
$ns trace-all $nt
#———-creating nam objects—————-#
set nf [open test1.nam w]
$ns namtrace-all $nf
#———-Setting color ID—————-#
$ns color 1 darkmagenta
$ns color 2 yellow
$ns color 3 blue
$ns color 4 green
$ns color 5 black
#———- Creating Network—————-#
set totalNodes 3
for {set i 0} {$i < $totalNodes} {incr i} { set node_($i) [$ns node] }
set server 0
set router 1
set client 2
#———- Creating Duplex Link—————-#
$ns duplex-link $node_($server) $node_($router) 2Mb 50ms DropTail
$ns duplex-link $node_($router) $node_($client) 2Mb 50ms DropTail
$ns duplex-link-op $node_($server) $node_($router) orient right
$ns duplex-link-op $node_($router) $node_($client) orient right
#————Labelling—————-#
$ns at 0.0 “$node_($server) label Server”
$ns at 0.0 “$node_($router) label Router”
$ns at 0.0 “$node_($client) label Client”
$ns at 0.0 “$node_($server) color blue”
$ns at 0.0 “$node_($client) color blue”
$node_($server) shape hexagon
$node_($client) shape hexagon
#———finish procedure——–#
proc finish {} {
global ns nf nt
$ns flush-trace
close $nf
close $nt
puts “running nam…”
exec nam test1.nam &
exit 0
}
#Calling finish procedure
$ns at 10.0 “finish”
$ns run
هیچ نظری ثبت نشده است