نرمافزار ns یک شبیهساز برای شبکههای کامپیوتری با قابلیت پشتیبانی از انواع شبکههای سیمی و بیسیم است که در نسخههای ns2، ns1 و ns3 توسعه و منتشر شده. نسخهی 1 این شبیهساز خیلی وقت هست که توسعه و نگهداری نمیشه. نسخه 2 هم دیگه توسعه داده نمیشه اما بهخاطر اینکه کدهای زیادی روی اون هست که روی نسخه 3 اجرا نمیشه؛ هنوز نگهداری و استفاده میشه. توی دانشگاهها هم معمولا از ns2 استفاده میشه.
اینجا قصد دارم آموزش نصب این نسخه یعنی ns2 رو بذارم.
اول بگم که این نسخه بهراحتی از طریق دستور زیر در اوبونتو قابل نصب است اما نمونهها و ابزارهای جانبی باید جدا نصب بشن.
sudo apt-get install ns2
یک سری ابزار هم مثل nam که برای نمایش شبیهسازی بهصورت تصویری و xgraph که برای ترسیم نمودار برای خروجیهای شبیه سازی استفاده میشه رو میتونید به همین صورت و با نام خودشون نصب کنید. اما دلیل اصلی نوشتن این پست، آموزش نصب این شبیهساز با سورسکد هست که تمام ابزارها و مثالها هم شامل میشه و فرقی نمیکنه از چه توزیعی استفاده میکنید و آیا این موارد توی مخازن هستن یا نه!
ابتدا سورس کد ns2 رو از اینجا دریافت کنید. آخرین نسخه این شبیهساز ns2.35 هست که میتونید با دستور زیر دریافتش کنید.
wget http://nchc.dl.sourceforge.net/project/nsnam/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz
و بعدش بستهی فشرده شده را باز کنید.
tar -xvzf ns-allinone-2.35.tar.gz
حالا برید تو مسیر ns-allinone-2.35/ns-2.35/linkstate و فایل ls.h رو برای ویرایش باز کنید. مثلا با دستور زیر!
nano ns-allinone-2.35/ns-2.35/linkstate/ls.h
تو خط 137، یجا نوشته erase(baseMap که باید تغییرش بدید به this->erase(baseMap و فایل رو ذخیره کنید.
بعدش برید تو مسیر ns-allinone-2.35/otcl-1.14 و فایل Makefile.in را برای ویرایش باز کنید. مثلا با دستور زیر!
nano ns-allinone-2.35/otcl-1.14/Makefile.in
همون اولای فایل نوشته @CC@ شما جاش بنویسید gcc-4.4 و فایل رو ذخیره کنید.
قبل ادامهی کار و کمپایل کد باید یکسری پیشنیازها رو نصب کنید.
sudo apt-get install build-essential autoconf automake libxmu-dev gcc-4.4
حالا دستور زیر رو بزنید تا شروع به کمپایل کنه. احتمالا یک ربعی طول بکشه.
ns-allinone-2.35/install
بعد از اینکه تموم شد میتونید فایلهای اجرایی مثل خود ns و یا nam و xgraph رو از مسیر ns-allinone-2.35/bin اجرا کنید.
برای استفادهی راحتتر میتونید مسیر فایلهای اجرایی رو به پوستهی بش معرفی کنید تا راحت فقط با وارد کردن ns در ترمینال بتونید اجراش کنید. برای این کار ابتدا فایل bashrc. خودتون رو باز کنید. مثلا با دستور زیر!
nano ~/.bashrc
بعدش خطوط زیر رو به این فایل اضافه کنید (البته جای geekboy نامکاربری خودتون رو بذارید یا کلا مسیرها آدرسهایی باشه که فایلهای ns رو کمپایل کردید).
# ns start
PATH=$PATH:/home/geekboy/ns-allinone-2.35/bin:/home/geekboy/ns-allinone-2.35/tcl8.5.10/unix:/home/geekboy/ns-allinone-2.35/tk8.5.10/unix
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/geekboy/ns-allinone-2.35/otcl-1.14:/home/geekboy/ns-allinone-2.35/lib
TCL_LIBRARY=$TCL_LIBRARY:/home/geekboy/ns-allinone-2.35/tcl8.5.10/library
export PATH
export LD_LIBRARY_PATH
export TCL_LIBRARY
# ns end
بعد از اضافه کردن خطوط هم دستور زیر رو اجرا کنید.
source ~/.bashrc
تموم شد! میتونید با وارد کردن ns، محیط خط فرمان این شبیهساز رو مشاهده کنید. از اینجا هم میتونید کلی آموزش و مثال ns2 رو مطالعه کنید.
منبع: لینوکسی ها