نصب شبیه‌ساز شبکه ns2 از سورس

نرم‌افزار ns یک شبیه‌ساز برای شبکه‌های کامپیوتری با قابلیت پشتیبانی از انواع شبکه‌های سیمی و بی‌سیم است که در نسخه‌های ns2، ns1 و ns3 توسعه و منتشر شده. نسخه‌ی ۱ این شبیه‌ساز خیلی وقت هست که توسعه و نگهداری نمی‌شه. نسخه ۲ هم دیگه توسعه داده نمی‌شه اما به‌خاطر اینکه کدهای زیادی روی اون هست که روی نسخه ۳ اجرا نمیشه؛ هنوز نگهداری و استفاده می‌شه. توی دانشگاه‌ها هم معمولا از ns2 استفاده می‌شه.

اینجا قصد دارم آموزش نصب این نسخه یعنی ns2 رو بذارم.

ns2-nam

تصویری از محیط nam، یکی از ابزارهای 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

تو خط ۱۳۷، یجا نوشته erase(baseMap که باید تغییرش بدید به this->erase(baseMap و فایل رو ذخیره کنید.

بعدش برید تو مسیر ns-allinone-2.35/otcl-1.14 و فایل Makefile.in را برای ویرایش باز کنید. مثلا با دستور زیر!

nano ns-allinone-2.35/otcl-1.14/Makefile.in

همون اولای فایل [email protected]@ شما جاش بنویسید 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

بعدش خطوط زیر رو به این فایل اضافه کنید (البته جای linuxihaa نام‌کاربری خودتون رو بذارید یا کلا مسیرها آدرس‌هایی باشه که فایل‌های ns رو کمپایل کردید).

# ns start
PATH=$PATH:/home/linuxihaa/ns-allinone-2.35/bin:/home/linuxihaa/ns-allinone-2.35/tcl8.5.10/unix:/home/linuxihaa/ns-allinone-2.35/tk8.5.10/unix
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/linuxihaa/ns-allinone-2.35/otcl-1.14:/home/linuxihaa/ns-allinone-2.35/lib
TCL_LIBRARY=$TCL_LIBRARY:/home/linuxihaa/ns-allinone-2.35/tcl8.5.10/library
export PATH
export LD_LIBRARY_PATH
export TCL_LIBRARY
# ns end

بعد از اضافه کردن خطوط هم دستور زیر رو اجرا کنید.

source ~/.bashrc

تموم شد! می‌تونید با وارد کردن ns، محیط خط فرمان این شبیه‌ساز رو مشاهده کنید.

از اینجا هم می‌تونید کلی آموزش و مثال ns2 رو مطالعه کنید.