آموزش شبیه سازی شبکه بین خودرویی VANET با نرم افزار NS2
با آموزش شبیه سازی شبکه بین خودرویی VANET با نرم افزار NS2 در خدمت شما کاربران عزیز هستیم. این مثال می تواند یک آموزش مفید برای کسانی باشد که علاقمند به بحث شبکه های بی سیم سیار و بخصوص شبکه های وسایل نقلیه هستند، باشد. در ادامه بخشی از کدهای این مثال آموزشی از شبکه بین خودرویی در NS2 قابل مشاهده بوده و برای دانلود نیز قرار داده شده است. همچنین یک فیلم کوتاه برای شبکه vanet به صورت آنلاین قابل مشاهده است.
شبکه ادهاک وسایل نقلیه (VANET):
شبکه ادهاک وسایل نقلیه یا ونت (Vehicular Ad hoc Network – VANET) به عنوان شبکه های حسگر با رفتار مشخص می باشند. همچنین ویژگی های خاص مانند تحرک بالای گره ها و تغییرات سریع توپولوژی آنها، یکی از مطرح ترین شبکه ها در سراسر دنیل می باشد.
گره های شبکه بین خودرویی ونت می توانند انواع داده های موجود در اطراف منطقه خود را حس کرده به ارائه خدمات مختلف از جمله نظارت بر ترافیک، کنترل سرعت، شناسایی محل وسیله نقلیه و همینطور نظارت بر محیط زیست را در یک منطقه جغرافیایی گسترده، به طور دائم پوشش دهند. توضیحات بیشتر در ادامه مطلب.
ارتباطات خودرو به خودرو و ارتباطات خودرو به زیرساخت در VANET:
گره ها در ونت می توانند به دو روش ارتباط برقرار کند: ارتباطات خودرو به خودرو (V2V) و ارتباطات خودرو به زیرساخت (V2I). در مدل ارتباطی V2I، وسایل نقلیه از طریق واحد های کنار جاده ای (RSU) ارتباط برقرار می کنند.
پارامترهای مود استفاده در آموزش شبیه سازی VANET با NS2:
در آموزش شبیه سازی شبکه بین خودرویی VANET ، گره ها با ارتباطات مختلف پیکربندی شده اند. وسایل نقلیه در محدوده مشخصی از شبکه حرکت می کند. انتقال داده بین گره با استفاده از عامل UDP و ترافیک CBR انجام می گیرد.
پروتکل مسیریابی AODV بوده و قرار است 50 بسته در بین 46 گره سیار در 10 ثانیه و فضای شبیه سازی شده 200*200 متر رد و بدل شود. نوع کانال ارتباطی به صورت بیسیم و ارتباط از نوع رادیویی می باشد. در ادامه مطلب با ما همراه باشید تا قسمتی از کدهای این آموزش را مشاهده و کامل آن را در یک فایل txt دانلود نمائید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | قسمتی از کدها در زیر قابل بررسی است. از لینک دانلود موجود در ادامه صفحه می توانید کامل آن را دانلود نمائید #Filename: sample19.tcl # ==========VEHICULAR ADHOC NETWORKS============ # Define options set val(chan) Channel/WirelessChannel ;# channel type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(netif1) Phy/WirelessPhy ;# network interface type set val(netif2) Phy/WirelessPhy ;# network interface type set val(mac) Mac/802_11 ;# MAC type set val(ifq) Queue/DropTail/PriQueue ;# interface queue type set val(ll) LL ;# link layer type set val(ant) Antenna/OmniAntenna ;# antenna model set val(ifqlen) 50 ;# max packet in ifq set val(nn) 46 ;# number of mobilenodes set val(rp) AODV ;# routing protocol set val(x) 200 ;# X dimension of topography set val(y) 200 ;# Y dimension of topography set val(stop) 10.0 ;# time of simulation end # Simulator Instance Creation set ns [new Simulator] # set up topography object set topo [new Topography] $topo load_flatgrid $val(x) $val(y) # general operational descriptor- storing the hop details in the network create-god $val(nn) |
من یه شبکه با sumo درست کردم موقع که ns رو اجرا میکنم ارور زیر رو میده و وقتی دستی nam رو اجرا میکنم اجرا میشه و نود ها با هم ارتباط برقرار میکنه و ظاهرا درسته . میشه منو راهنمایی بکنید. num_nodes is set 257 INITIALIZE THE LIST xListHead Starting Simulation... channel.cc:sendUp - Calc highestAntennaZ_ and distCST_ highestAntennaZ_ = 1.5, distCST_ = 550.0 SORTING LISTS ...DONE! ns: _o1400 setdest 4287.56 5159.23 26.59: (_o1400 cmd line 1) invoked from within "_o1400 cmd setdest 4287.56 5159.23 26.59" invoked from within "catch "$self cmd $args" ret" invoked from within "if [catch "$self cmd $args" ret] { set cls [$self info class] global errorInfo set savedInfo $errorInfo error "error when calling class $cls: $args" $..." (procedure "_o1400" line 2) (SplitObject unknown line 2) invoked from within "_o1400 setdest 4287.56 5159.23 26.59"
دوست عزیز شبیه سازی شما به خوبی اجرا میشه و مشکلی نداره اگه توی پیغام دقت کنید عبارت SORTING LISTS …DONE! رو می بینید که یعنی شبیه سازی به پایان رسید و مشکلی نداره حتی فایل nam رو هم براتون حتما ایجاد کرده بقیه خطا ها ممکنه از پروتکل های دیگه که توی ns2 نصب کردین باشه.
سلام من میخوام تو شبکه ونت از پروتکل AODV استفاده کنم و مقدار پارامترهای این پروتکل رو تغییر بدم و نتیجه ش رو روی نرخ ارسال بسته ها و تاخیر و ...بررسی کنم.مثلا پارامترهایی مثل HELLO_INTERVAL, MAX_RREQ_TIMEOUT, RREQ_RETRIES, TTL_START, TTL_INCREMENT ,... باتوجه به اینکه پروتکل AODV در NS2 پیاده سازی شده و قابل استفاده است چطور میتونم مقدار این پارامترها رو تو شبیه سازی تغییر بدم و نتایجش رو بررسی کنم؟ممنون میشم اگه راهنمایی کنید.